{"version":3,"sources":["shared/components/FreshnessInformation/FreshnessInformation.js","shared/components/Switch/Switch.js","shared/components/SwitchOptions/SwitchOptions.js","shared/components/Button/Button.js","shared/components/Loader/Loader.js","shared/components/no-data.js","shared/components/Table/Table.js","shared/components/achievement/achievement.js","features/widget/containers/article/article-container.js","features/widget/components/article-list-item/article-list-item.js","features/widget/containers/articles-container.js","features/widget/partials/index.js","features/widget/partials/widget-wrapper/widget-wrapper.js","features/widget/partials/widget-header/widget-header.js","features/widget/partials/widget-body/widget-body.js","features/widget/containers/widget-container.js","features/banner/containers/banner/banner.js","features/banner/containers/banner-container.js","shared/components/PageWrapper/PageWrapper.js","lib/env.js","shared/components/StyledSelect/StyledSelect.js","shared/components/Checkmark/Checkmark.js","shared/components/print-modal/print-modal.js","shared/components/AuthWrapper/AuthWrapper.js","shared/components/Card/Card.js","shared/components/sidebar/sidebar.js","lib/storageProvider.js","shared/components/Hideable/Hideable.js","shared/components/PrimaryLink/PrimaryLink.js","shared/components/ImagePreview/ImagePreview.js","shared/components/LanguageSelector/language-selector.js","shared/components/printable-wrapper.js","shared/components/confirmation-dialog/confirmation-dialog.js","shared/components/week-selector/week-selector.js","shared/components/error-boundary/error-boundary.js","shared/components/select.js","lib/media-transform.js","shared/components/dropzone/dropzone.js","shared/components/dropzone/file-dropzone.js","shared/components/PercentageScale/PercentageScale.js","shared/components/StyledDatePicker/components/CustomHeader.js","shared/components/StyledDatePicker/RangeDatePicker.js","shared/components/StyledDatePicker/StyledDatePicker.js","shared/components/report-buttons/report-buttons.js","shared/components/bouncing-arrow/bouncing-arrow.js","shared/hooks/use-pagination.js","shared/components/tan-stack-table/tan-stack-table.js","shared/components/styled-swiper/styled-swiper.js","shared/components/password-field/password-field.js","shared/components/modal/components/modal.js","shared/components/modal/index.js","shared/components/modal/components/modal-subtitle.js","shared/components/modal/components/modal-title.js","shared/components/modal/components/modal-header.js","shared/components/modal/components/modal-body.js","shared/components/modal/components/modal-footer.js","shared/components/heading/heading.js","shared/components/styled-control/styled-control.js","shared/components/styled-joyride/styled-joyride.js","shared/components/checkbox/checkbox.js","shared/components/radio-button/radio-button.js","shared/components/selectors/school-selector.js","shared/components/selectors/classroom-selector.js","shared/components/phone-input/phone-input.js","shared/components/selectors/organization-selector.js","shared/components/index.js","features/widget/components/article-list-item/article-list-item.module.css","features/widget/partials/widget-body/widget-body.module.css","features/banner/containers/banner/banner.module.css","assets/images/bg.png","shared/components/report-buttons/report-buttons.module.css","shared/components/filters/filters.module.css","shared/components/heading/heading.module.css","shared/components/styled-control/styled-control.module.css","shared/components/phone-input/phone-input.module.css","assets/images/certified-low.png","assets/images/certified-in-person.png","features/training/components/certified-modal/certified-modal.module.css","features/training/components/guide/guide.module.css","features/observations/features/selector/observation-selector.module.css","features/reports/components/measure-modal/measure-modal.module.css","features/reports/components/report-filters/report-filters.module.css","features/reports/site/components/filters/filters.module.css","features/reports/objective/components/filters/filters.module.css","assets/images/pattern-green.jpg","features/dashboard/new-components/chart/components/chart.module.css","assets/images/pattern-lightgreen.jpg","assets/images/pattern-lightblue.jpg","assets/images/pattern-orange.jpg","assets/images/pattern-purple.jpg","features/reports/checkpoint/tables/tables.module.css","features/reports/family-engagement/classroom-view/components/engagement-table/engagement-table.module.css","features/reports/family-engagement/components/week-selector/week-selector.module.css","features/reports/monitoring-report/monitoring-report.module.css","features/reports/certification-status/certification-status-container.module.css","features/dashboard/new-components/dashboard-select/dashboard-select.module.css","features/dashboard/charts/assessment-completion/components/filters/filters.module.css","features/curriculum/components/edit-curriculum-modal/edit-curriculum-modal.module.css","assets/images/frog-street-cmyk-logo.svg","features/curriculum/tools/print-tool/print-tool.module.css","features/curriculum/components/theme-select/theme-select.module.css","features/curriculum/components/curriculum-select/curriculum-select.module.css","assets/images/google-logo.png","assets/images/clever-logo.png","assets/images/class-link-logo.png","features/auth/model.js","features/management/organization/components/edit-school-modal/edit-school-modal.module.css","features/support/components/article.module.css","features/reports/bulk/bulk-report.module.css","app.module.css","shared/components/Table/table.module.css","features/training/components/test-modal/test-modal.module.css","lib/api.js","features/profile/components/profile.module.css","features/reports/site/components/domain-report/domain-report.module.css","shared/components/Button/button.module.css","features/reports/components/report-wrapper/report-wrapper.module.css","features/curriculum/tools/print-tool/components/sections/sections.module.css","features/training/features/scenarios-cell/scenarios-cell.module.css","features/observations/features/modal/modal.module.css","features/observations/features/question-based/observation-question-based.module.css","features/reports/site/components/detailed-student-report/containers/detailed-student.module.css","features/reports/report-home/report-home.module.css","shared/components/modal/components/modal-components.module.css","features/management/schedule/components/objectives/objective.module.css","shared/components/PageWrapper/pageWrapper.module.css","features/reports/components/report-dropdown/report-dropdown.module.css","shared/components/StyledDatePicker/styled-date-picker.module.css","features/management/classroom/components/edit-parent-modal/edit-parent-modal.module.css","assets/logo-small.png","features/training/pages/en sync /^/.//.*$","features/training/pages/es sync /^/.//.*$","shared/components/dropzone/dropzone.module.css","features/observations/features/portfolio-based/portfolio-based-observation.module.css","features/auth/pages/setting-up/components/school-year-selection/school-year-selection.module.css","features/reports/monitoring-report/tables/tables.module.css","features/reports/parent/components/parent-report.module.css","features/auth/index.js","features/reports/site/components/detailed-student-report/components/detailed-objective.module.css","features/reports/components/monitoring-report-wrapper/monitoring-report-wrapper.module.css","features/support/components/articles.module.css","features/reports/objective/components/components.module.css","shared/components/SwitchOptions/switch-options.module.css","shared/components/TableSettings/table-settings.module.css","features/dashboard/components/chart/components/Chart.js","features/dashboard/components/chart/components/ChartWrapper.js","features/dashboard/components/chart/index.js","features/dashboard/components/chart/components/ChartFilters.js","features/dashboard/components/chart/components/ChartCheckboxes.js","features/dashboard/components/chart/components/ChartPrintButton.js","features/dashboard/components/chart/components/ChartBody.js","features/dashboard/components/chart/components/ChartLoadMoreButton.js","features/dashboard/components/chart/components/ChartTitle.js","features/dashboard/components/chart/components/ChartDescription.js","features/dashboard/components/chart/components/ChartLoaderOverlay.js","features/reports/site/tables/report-pages.module.css","features/management/organization/tables/tables.module.css","lib/environments-configs.js","lib/api-config.js","lib/amplify.js","shared/components/monitoring-report-wrapper/monitoring-report-wrapper.module.css","features/training/training.module.css","features/reports/monitoring-report/components/notes-modal/notes-modal.module.css","features/management/users/users-management.module.css","features/management/classroom/components/edit-student-modal/components/edit-student-modal-basic/edit-student-modal-basic.module.css","features/dashboard/components/chart-skeleton/chart-skeleton.module.css","shared/components/achievement/achievement.module.css","features/training/components/scenarios/scenarios.module.css","features/reports/objective/components/students-modal/students-modal.module.css","features/dashboard/charts/domains-on-track/components/bar-chart/bar-chart.module.css","features/curriculum/features/curriculum-home/curriculum-home.module.css","features/management/users/components/users-sso-modal/components/requests-table.module.css","features/auth/auth.module.css","features/dashboard/hooks/use-dashboard-context.js","features/reports/kea-report/components/tables/tables.module.css","shared/components/styled-joyride/styled-joyride.module.css","features/reports/family-engagement/classroom-view/components/weekly-message/weekly-message.module.css","features/dashboard/new-components/chart-skeleton/chart-skeleton.module.css","features/management/dump/dump-management.module.css","features/profile/features/certificate/certificate.module.css","features/curriculum/tools/planning-tool/components/assignable.module.css","shared/components/AuthWrapper/authWrapper.module.css","features/observations/observation-cell.module.css","features/reports/certification-status/components/certification/certification.module.css","features/dashboard/charts/domains-on-track/components/pie-charts/pie-charts.module.css","features/management/users/components/users-management-table/users-management-table.module.css","features/management/classroom/components/edit-student-modal/components/edit-student-modal-notes/edit-student-modal-notes.module.css","features/management/organization/components/filters/filters.module.css","features/auth/pages/setting-up/setting-up.module.css","features/management/schedule/schedule.module.css","features/auth/components/auth-container.js","lib/exports.js","features/reports/components/report-select/report-select.module.css","shared/components/week-selector/week-selector.module.css","features/curriculum/tools/planning-tool/planning-toop.module.css","features/auth/pages/setting-up/components/file-sharing/file-sharing.module.css","features/reports/kea-report/kea-report.module.css","features/management/schedule/components/table/schedule-table.module.css","shared/hooks/use-click-outside.js","assets/images/certified-irr.png","features/reports/parent/components/report/report.module.css","assets/images/certified.png","features/dashboard/charts/10th-chart/components/teacher-view/teacher-view.module.css","features/management/schedule/components/modal/modal.module.css","shared/components/Switch/switch.module.css","shared/components/PrimaryLink/primary-link.module.css","shared/components/ImagePreview/image-preview.module.css","shared/components/PercentageScale/percentage-scale.module.css","shared/components/bouncing-arrow/bouncing-arrow.module.css","shared/components/styled-swiper/styled-swiper.module.css","features/reports/site/components/print-modal-children/print-modal-children.module.css","features/reports/parent/components/response/response.module.css","features/reports/family-engagement/classroom-view/classroom-view.module.css","features/dashboard/charts/assessment-completion/components/student-modal/student-modal.module.css","features/curriculum/tools/print-tool/components/detailed-lesson-modal/detailed-lesson-modal.module.css","features/reports/kea-report/components/kea-overall-average-score/kea-overall-average-score.module.css","features/training/features/scenarios-table/scenarios-table.js","features/training/features/scenarios-cell/objective-examples-modal.js","features/training/features/scenarios-cell/scenarios-cell.js","features/training/features/scenarios-modal/scenarios-modal.js","features/training/features/irr-tutorial-modal/irr-tutorial-modal.js","features/training/components/scenarios/scenarios-container.js","lib/accountType.js","features/dashboard/charts/1st-chart/first.module.css","assets/images/frog-street-logo.svg","features/training/components/guide/guide.js","features/training/components/index.js","features/widget/containers/article/article.module.css","features/widget/partials/widget-wrapper/widget-wrapper.module.css","features/widget/partials/widget-header/widget-header.module.css","shared/components/Card/card.module.css","features/training/features/scenarios-modal/scenarios-modal.module.css","assets/images/certified-medium.png","features/reports/family-engagement/components/filters/filters.module.css","features/reports/monitoring-report/components/filters/filters.module.css","features/dashboard/charts/domains-on-track/components/objectives-tabs/objectives-tabs.module.css","features/dashboard/features/quick-links/quick-links.module.css","features/management/users/components/certification-modal/certification-modal.module.css","features/management/organization/components/edit-classroom-modal/edit-classroom-modal.module.css","features/reports/kea-report/components/kea-domains/kea-domains.module.css","features/export/Export.module.css","lib/roles.js","features/reports/site/components/subobjective-items/items.module.css","store/modules/exportModule.js","store/modules/authModule.js","store/configure.js","translations/languages.js","translations/es/index.js","translations/es/auth.js","translations/es/reports/domain-report.js","translations/es/tooltips/site-report-tooltips.js","translations/es/tooltips/objective-report-tooltips.js","translations/es/tooltips/family-engagement-tooltips.js","translations/es/reports/objective-report.js","translations/es/reports/family-engagement-report.js","translations/es/reports/parent-report.js","translations/es/reports/site-report.js","translations/es/reports/bulk-report.js","translations/es/reports/drdp-report.js","translations/es/reports/certification-status-report.js","translations/es/reports/monitoring-report.js","translations/es/reports/checkpoint-report.js","translations/es/chart.js","translations/es/charts.js","translations/es/components/sidebar.js","translations/es/components/table.js","translations/es/components/pageWrapper.js","translations/es/management/organization.js","translations/es/management/user.js","translations/es/management/schedule.js","translations/es/management/dataExport.js","translations/es/reports/report.js","translations/es/profile.js","translations/es/components/basic.js","translations/es/training.js","translations/es/observation.js","translations/es/support.js","translations/es/curriculum.js","translations/es/reports/kea-report.js","translations/en/index.js","translations/en/auth.js","translations/en/reports/domain-report.js","translations/en/tooltips/site-report-tooltips.js","translations/en/tooltips/objective-report-tooltips.js","translations/en/tooltips/family-engagement-tooltips.js","translations/en/reports/objective-report.js","translations/en/reports/family-engagement-report.js","translations/en/reports/parent-report.js","translations/en/reports/site-report.js","translations/en/reports/bulk-report.js","translations/en/reports/drdp-report.js","translations/en/reports/certification-status-report.js","translations/en/reports/monitoring-report.js","translations/en/reports/checkpoint-report.js","translations/en/chart.js","translations/en/charts.js","translations/en/components/sidebar.js","translations/en/components/table.js","translations/en/components/pageWrapper.js","translations/en/management/organization.js","translations/en/management/user.js","translations/en/management/schedule.js","translations/en/management/dataExport.js","translations/en/reports/report.js","translations/en/profile.js","translations/en/components/basic.js","translations/en/training.js","translations/en/observation.js","translations/en/support.js","translations/en/curriculum.js","translations/en/reports/kea-report.js","translations/i18next.js","features/training/utils.js","features/training/components/test-modal/test-modal.js","lib/helpers.js","features/training/components/certified-modal/certified-modal.js","features/training/training.js","features/reports/hooks/use-reports-filters-data.js","features/reports/components/report-select/report-select.js","features/reports/site/tables/schools-table.js","features/reports/site/tables/classrooms-table.js","features/reports/site/tables/students-table.js","features/observations/features/modal/modal.js","features/observations/features/question-based/question-based-form.js","features/observations/features/question-based/question-based-observation.js","features/observations/features/portfolio-based/portfolio-based-form.js","features/observations/features/portfolio-based/portfolio-based-observation.js","features/observations/features/selector/observation-selector.js","features/observations/observation-cell.js","features/reports/components/report-select/standard-select.js","features/reports/components/report-dropdown/report-dropdown.js","features/reports/components/measure-modal/measure-modal.js","features/reports/site/tables/objectives-table.js","features/reports/site/components/subobjective-items/notes.js","features/reports/site/components/subobjective-items/photos.js","features/reports/site/components/subobjective-items/achievements.js","features/reports/site/components/subobjective-items/assessment-info.js","features/reports/site/helpers.js","features/reports/site/components/subobjective-items/aggregations.js","features/reports/site/components/subobjective-items/proposals.js","features/reports/site/components/subobjective-items/vocabulary.js","features/reports/site/components/subobjective-items/videos.js","features/reports/site/components/subobjective-items/subobjective-items.js","features/reports/site/hooks/use-result-item.js","features/reports/site/tables/subobjectives-table.js","features/reports/components/report-select/checkpoint-select.js","features/reports/components/report-filters/report-filters.js","features/reports/site/components/filters/filters.js","features/reports/site/components/domain-report/helpers.js","features/reports/site/components/domain-report/domain-content/domain-areas.js","features/reports/site/components/domain-report/domain-content/domain-content.js","features/reports/site/components/domain-report/domain-report.js","features/reports/site/components/detailed-student-report/helpers.js","features/reports/site/components/detailed-student-report/components/detailed-objective.js","features/reports/site/components/detailed-student-report/containers/detailed-student-container.js","features/reports/site/components/print-modal-children/print-modal-children.js","features/reports/hooks/use-reports-reducer.js","features/reports/components/report-wrapper/report-wrapper.js","features/reports/site/site-report.js","features/reports/drdp/tables/organization-table.js","features/reports/drdp/tables/objectives-table.js","features/reports/drdp/components/filters/filters.js","features/reports/drdp/drdp-report.js","features/reports/objective/hooks/use-objective-report-data.js","features/reports/objective/components/filters/filters.js","features/reports/objective/components/additional.js","features/reports/objective/components/groups.js","features/reports/objective/tables/objectives-table.js","features/reports/objective/components/students-modal/students-modal.js","features/reports/objective/tables/subobjectives-table.js","features/reports/objective/objective-report.js","features/reports/parent/components/student-selector.js","lib/mobileDetector.js","features/reports/parent/components/report/Icons.js","features/reports/parent/components/report/Report.js","features/reports/parent/components/response/Response.js","features/reports/parent/components/report-filters.js","features/reports/parent/parent-report-container.js","features/reports/parent/parent-selector-container.js","features/reports/parent/hooks/useFilters.js","features/reports/parent/model.js","pages/reports/parent.js","features/reports/checkpoint/components/filters/filters.js","features/reports/checkpoint/tables/objectives-table.js","features/reports/checkpoint/tables/organization-table.js","features/reports/checkpoint/checkpoint-report.js","features/reports/family-engagement/classroom-view/components/weekly-message/weekly-message.js","features/reports/family-engagement/classroom-view/components/activity-modal/activity-details.js","features/reports/family-engagement/classroom-view/components/activity-modal/activity-modal.js","lib/ageHelpers.js","features/reports/family-engagement/classroom-view/components/engagement-table/engagement-table.js","features/reports/family-engagement/classroom-view/classroom-view.js","features/reports/family-engagement/tables/classrooms-table.js","features/reports/family-engagement/tables/schools-table.js","features/reports/family-engagement/components/week-selector/week-selector.js","features/reports/family-engagement/components/filters/filters.js","features/reports/family-engagement/hooks/use-week.js","features/reports/family-engagement/family-engagement.js","features/reports/monitoring-report/helper.js","features/reports/monitoring-report/tables/districts-table-eca.js","features/reports/monitoring-report/tables/districts-table-kea.js","features/reports/monitoring-report/tables/classrooms-table-eca.js","features/reports/monitoring-report/tables/classrooms-table-kea.js","features/reports/monitoring-report/tables/students-table-eca.js","features/reports/monitoring-report/tables/students-table-kea.js","features/reports/monitoring-report/components/filters/filters.js","features/reports/monitoring-report/components/notes-modal/notes-modal.js","features/reports/components/monitoring-report-wrapper/monitoring-report-wrapper.js","features/reports/monitoring-report/monitoring-report.js","features/reports/certification-status/components/certification/certification.js","features/reports/certification-status/certification-status-report.js","features/reports/report-home/report-home.js","features/dashboard/hooks/use-chart-data.js","lib/transform-date-to-iso.js","features/dashboard/charts/1st-chart/helpers.js","features/dashboard/charts/1st-chart/components/students-on-track.js","features/dashboard/charts/1st-chart/components/students-assessed.js","features/dashboard/charts/1st-chart/components/classroom-change.js","features/dashboard/charts/1st-chart/components/teacher-students-on-track.js","features/dashboard/charts/1st-chart/components/kea-outcomes.js","features/dashboard/charts/1st-chart/components/assessment-window.js","features/dashboard/charts/1st-chart/1st-chart-container.js","features/dashboard/charts/assessment-completion/hooks/use-assessment-completion-data.js","features/dashboard/charts/assessment-completion/components/student-modal/student-modal.js","features/dashboard/new-components/dashboard-select/dashboard-select.js","features/dashboard/hooks/use-dashboard-filters-data.js","features/dashboard/new-components/chart/components/chart-loader-overlay.js","features/dashboard/new-components/chart-skeleton/chart-skeleton.js","features/dashboard/new-components/chart/components/chart.js","features/dashboard/new-components/chart/index.js","features/dashboard/new-components/chart/components/chart-filters.js","features/dashboard/new-components/chart/components/chart-checkboxes.js","features/dashboard/new-components/chart/components/chart-body.js","features/dashboard/new-components/chart/components/chart-title.js","features/dashboard/new-components/chart/components/chart-description.js","features/dashboard/charts/assessment-completion/components/filters/filters.js","features/dashboard/charts/assessment-completion/tables/classrooms-table.js","features/dashboard/charts/assessment-completion/tables/schools-table.js","features/dashboard/charts/assessment-completion/tables/organizations-table.js","features/dashboard/charts/assessment-completion/tables/students-table.js","features/dashboard/hooks/use-dashboard-reducer.js","features/dashboard/charts/assessment-completion/assessment-completion.js","features/dashboard/charts/3rd-chart/use-3rd-chart-filters.js","features/export/ExportModal.js","shared/hoc/withPrint.js","features/dashboard/charts/3rd-chart/components/ThirdChart.js","features/dashboard/charts/3rd-chart/3rd-chart-container.js","features/dashboard/charts/5th-chart/components/FifthChart.js","features/dashboard/charts/5th-chart/5th-chart-container.js","features/dashboard/charts/6th-chart/components/SixthChart.js","features/dashboard/charts/6th-chart/6th-chart-container.js","features/dashboard/charts/6th-chart/hooks/useFilters.js","features/dashboard/charts/domains-on-track/helpers.js","features/dashboard/charts/domains-on-track/components/filters/filters.js","features/dashboard/charts/domains-on-track/components/pie-charts/pie-charts.js","features/dashboard/charts/domains-on-track/components/objectives-tabs/objectives-tabs.js","features/dashboard/charts/domains-on-track/components/domain-modal/domain-modal.js","features/dashboard/charts/domains-on-track/components/bar-chart/bar-chart.js","features/dashboard/charts/domains-on-track/domains-on-track.js","features/dashboard/charts/10th-chart/helpers.js","features/dashboard/charts/10th-chart/components/teacher-view/teacher-view.js","features/dashboard/charts/10th-chart/10th-chart-container.js","features/dashboard/charts/10th-chart/use-filters.js","features/dashboard/hooks/use-chart-sorting.js","features/dashboard/components/chart-controls/chart-controls.js","features/dashboard/components/chart-skeleton/chart-skeleton.js","features/dashboard/components/chart-skeleton/chart-skeleton-first.js","features/dashboard/features/feedback-survey/feedback-survey.js","features/dashboard/features/quick-links/quick-links.js","features/dashboard/features/walkthrough/walkthrough.js","features/dashboard/dashboard.js","features/error/error.js","features/device/device.js","features/curriculum/components/edit-curriculum-modal/edit-curriculum-modal.js","features/curriculum/curriculum-admin-view.js","features/curriculum/utils.js","features/curriculum/hooks/use-curriculum-filters.js","features/curriculum/hooks/use-curriculum-reducer.js","features/curriculum/hooks/use-curriculum-data.js","features/curriculum/tools/print-tool/components/detailed-lesson-modal/detailed-lesson-modal.js","features/curriculum/tools/print-tool/components/sections/daily-section.js","features/curriculum/tools/print-tool/components/sections/weekly-section.js","features/curriculum/tools/print-tool/print-tool.js","features/curriculum/tools/planning-tool/components/assignable-daily.js","features/curriculum/tools/planning-tool/components/assignable-weekly.js","features/curriculum/components/theme-select/theme-select.js","features/curriculum/tools/planning-tool/planning-tool.js","features/curriculum/features/curriculum-week/curriculum-week.js","features/curriculum/features/curriculum-home/delete-curriculum-modal.js","features/curriculum/components/curriculum-select/curriculum-select.js","features/curriculum/features/curriculum-home/curriculum-home.js","features/curriculum/curriculum.js","features/curriculum/hooks/use-curriculum.js","pages/curriculum-page.js","features/management/components/role-select/role-select.js","features/management/users/components/users-management-modal/users-management-modal.js","features/management/users/components/certification-modal/certification-modal.js","features/management/users/components/multi-user-scopes-modal/multi-user-scopes-modal.js","features/management/users/components/users-management-table/users-management-table.js","features/management/users/hooks/use-user-management-reducer.js","features/management/users/components/users-sso-modal/components/requests-table.js","features/management/users/components/users-sso-modal/users-sso-modal.js","features/management/users/users-management.js","lib/dateHelpers.js","features/management/components/management-select/management-select.js","features/management/classroom/components/edit-student-modal/components/edit-student-modal-basic/edit-student-modal-basic.js","features/management/classroom/components/edit-student-modal/components/edit-student-modal-notes/edit-student-modal-notes.js","features/management/classroom/components/edit-student-modal/edit-student-modal.js","features/management/classroom/components/edit-parent-modal/edit-parent-modal.js","features/management/classroom/tables/classroom-management-table.js","features/management/classroom/classroom-management.js","features/auth/pages/sso-auth.js","features/auth/pages/sso-error-auth.js","features/auth/pages/login.js","features/auth/pages/resend-email.js","features/auth/pages/set-up-password.js","features/auth/pages/reset-password.js","features/auth/pages/set-up-mfa.js","features/auth/pages/confirm-reset-password.js","features/auth/pages/mfa.js","features/auth/pages/multi-user.js","features/auth/pages/check-email.js","features/management/dump/dump-management.js","features/management/organization/hooks/use-organization-management-reducer.js","features/management/organization/components/filters/filters.js","features/management/organization/components/edit-school-modal/edit-school-modal.js","features/management/organization/components/edit-classroom-modal/edit-classroom-modal.js","features/management/organization/components/edit-classroom-modal/use-classroom-filters.js","features/management/organization/components/license-limit-tracker/license-limit-tracker.js","features/management/organization/tables/students-table.js","features/management/organization/tables/school-table.js","features/management/organization/organization-management.js","features/auth/pages/setting-up/components/school-year-selection/school-year-selection.js","features/auth/pages/setting-up/components/file-sharing/file-sharing.js","features/auth/pages/setting-up/hooks/use-setting-up-reducer.js","features/auth/pages/setting-up/setting-up.js","features/reports/kea-report/components/kea-domains/kea-domains.js","features/reports/kea-report/components/kea-overall-average-score/kea-overall-average-score.js","features/reports/kea-report/components/tables/schools-table.js","features/reports/kea-report/components/tables/classrooms-table.js","features/reports/kea-report/components/tables/students-table.js","features/reports/kea-report/components/tables/objectives-tables.js","features/reports/kea-report/kea-report.js","features/auth/components/private-route.js","features/auth/components/auth-route.js","features/management/schedule/hooks/use-settings.js","features/management/schedule/components/year-selector/year-selector.js","features/management/schedule/components/objective-examples/objective-examples.js","features/management/schedule/components/objectives/abridged-objective.js","features/management/schedule/components/objectives/detailed-objective.js","features/management/schedule/components/modal/side-modal.js","features/management/schedule/components/modal/week-modal.js","features/management/schedule/utils.js","features/management/schedule/components/table/schedule-table.js","features/management/schedule/schedule.js","features/management/schedule/hooks/use-filters.js","features/support/components/Article.js","features/support/components/Articles.js","features/support/support-container.js","features/export/Export.js","features/profile/features/certificate/certificate-list.js","features/profile/components/profile-form.js","lib/browserDetector.js","features/profile/components/mfa-modal.js","features/profile/components/profile-mfa.js","features/profile/profile.js","features/reports/bulk/components/report-table/report-table.js","features/reports/bulk/bulk-report.js","app.js","index.js","shared/components/Loader/loader.module.css","shared/components/Checkmark/checkmark.module.css","shared/components/print-modal/print-modal.module.css","shared/components/Hideable/hideable.module.css","shared/components/LanguageSelector/language-selector.module.css","shared/components/password-field/password-field.module.css","shared/components/checkbox/checkbox.module.css","shared/components/radio-button/radio-button.module.css","features/training/features/scenarios-table/scenarios-table.module.css","assets/images/certified-adminTraining.png","features/curriculum/features/curriculum-week/curriculum-week.module.css","features/management/users/components/users-sso-modal/users-sso-modal.module.css","features/management/classroom/tables/classroom-management-table.module.css","features/management/classroom/classroom-management.module.css","features/management/organization/components/license-limit-tracker/license-limit-tracker.module.css","features/management/schedule/components/year-selector/year-selector.module.css","features/management/schedule/components/objective-examples/objective-examples.module.css","features/reports/bulk/components/report-table/report-table.module.css","shared/components/tan-stack-table/tan-stack-table.module.css","shared/hooks/useFilters.js","shared/hooks/useAccountData.js","shared/hooks/useTableOrder.js","shared/hooks/useArticles.js","shared/hooks/index.js","features/auth/utils.js","features/reports/site/components/domain-report/domain-content/domain-content.module.css","features/training/pages/en/Advanced_Reporting.js","lib/links.js","features/training/pages/en/Assessment_Games.js","features/training/pages/en/Cognitive_Toybox_At_Home.js","features/training/pages/en/Getting_Started.js","features/training/pages/en/Introduction.js","features/training/pages/en/Introduction_Lite.js","features/training/pages/en/Introduction_To_Reports.js","features/training/pages/en/Managing_Teacher_Accounts.js","features/training/pages/en/Monitoring_Assessment_Collection.js","features/training/pages/en/Observations.js","features/training/pages/en/Parent_Resources.js","features/training/pages/en/Program_Outcomes_Reporting.js","features/training/pages/en/Student_And_Organization_Management.js","features/training/pages/en/frogst/Advanced_Reporting_FS.js","features/training/pages/en/frogst/Assessment_Games_FS.js","features/training/pages/en/frogst/Cognitive_Toybox_At_Home_FS.js","features/training/pages/en/frogst/Getting_Started_Admins_FS.js","features/training/pages/en/frogst/Getting_Started_FS.js","features/training/pages/en/frogst/Introduction_FS.js","features/training/pages/en/frogst/Introduction_To_Reports_FS.js","features/training/pages/en/frogst/Monitoring_Assessment_Collection_FS.js","features/training/pages/en/frogst/Observations_FS.js","features/training/pages/en/frogst/Program_Outcomes_Reporting_FS.js","features/training/pages/es/Advanced_Reporting.js","features/training/pages/es/Assessment_Games.js","features/training/pages/es/Cognitive_Toybox_At_Home.js","features/training/pages/es/Getting_Started.js","features/training/pages/es/Introduction.js","features/training/pages/es/Introduction_Lite.js","features/training/pages/es/Introduction_To_Reports.js","features/training/pages/es/Managing_Teacher_Accounts.js","features/management/users/components/users-management-modal/users-management-modal.module.css","features/training/pages/es/Monitoring_Assessment_Collection.js","features/training/pages/es/Observations.js","features/training/pages/es/Parent_Resources.js","features/training/pages/es/Program_Outcomes_Reporting.js","features/training/pages/es/Student_And_Organization_Management.js","features/training/pages/es/frogst/Advanced_Reporting_FS.js","features/training/pages/es/frogst/Assessment_Games_FS.js","features/training/pages/es/frogst/Cognitive_Toybox_At_Home_FS.js","features/training/pages/es/frogst/Getting_Started_Admins_FS.js","features/training/pages/es/frogst/Getting_Started_FS.js","features/training/pages/es/frogst/Introduction_FS.js","features/training/pages/es/frogst/Introduction_To_Reports_FS.js","features/training/pages/es/frogst/Monitoring_Assessment_Collection_FS.js","features/training/pages/es/frogst/Observations_FS.js","features/training/pages/es/frogst/Program_Outcomes_Reporting_FS.js","shared/components/sidebar/sidebar.module.css","features/dashboard/components/chart/components/chart.module.css","features/training/features/irr-tutorial-modal/irr-tutorial-modal.module.css","features/reports/family-engagement/classroom-view/components/activity-modal/activity.module.css","features/curriculum/curriculum.module.css"],"names":["FreshnessInformation","_ref","date","isDataAvailable","title","className","React","format","Date","Switch","id","disabled","checked","onChange","styles","switchCheckbox","type","classNames","switchLabel","htmlFor","switchButton","SwitchOptions","leftText","rightText","setState","state","style","flexVersion","switchOptions","bold","data-cy","onClick","pointer","e","target","Button","blue","_classNames","blueOutline","purple","wide","fullWidth","green","greenGrass","big","lightBlue","small","danger","success","error","white","outline","rest","Object","objectWithoutProperties","_excluded","BootstrapButton","assign","button","defineProperty","Loader","isOverlay","_ref$type","loaderOverlay","NoData","text","t","useTranslation","getHeader","headerItem","noSticky","styleModules","bolded","orderArrow","position","key","name","data-tip","data-for","displayedName","Table","_headers$","_classNames2","fixed","headers","subTableHeaders","subTableClass","values","styled","transparent","block","_ref$striped","striped","_ref$stickyFirstColum","stickyFirstColumn","subTable","withBottom","_ref$noDataMessage","noDataMessage","children","i18n","tableRef","useRef","useEffect","ReactTooltip","rebuild","language","hasMultipleHeaders","Array","isArray","hasSubheader","undefined","subheader","tableContainer","length","BootstrapTable","ref","table","transparentTable","coloredTable","tableStriped","fixedTable","bigTable","subheaderTable","hover","size","data","uniqBy","map","item","subheaders","filter","c","tableHeadSticky","tableHeaderWithSubheader","colSpan","s","tableSubheader","borderTh","tableBorder","getSubHeader","headerLine","index","innerValues","innerValue","tableNoPadding","_headers$index","aria-label","tooltip","tableTooltip","bottom","Achievement","known","unknown","items","bottomContent","achievement","achievementTitle","achievementBody","tag","achievementItem","marked","value","achievementBottom","ArticleContainer","articleId","onClose","_useArticles","useArticles","articleType","ARTICLE_TYPE","article","isLoading","wrapper","backButton","dangerouslySetInnerHTML","__html","content","ArticleListItem","FontAwesomeIcon","icon","faBook","ArticlesContainer","location","useLocation","pathname","isFetching","_useState","useState","_useState2","slicedToArray","search","setSearch","_useState3","_useState4","selectedArticle","setSelectedArticle","filteredArticleList","toLowerCase","indexOf","InputGroup","marginBottom","Form","Control","placeholder","Append","faSearch","WidgetComponent","isOpened","setIsOpened","CSSTransition","in","timeout","unmountOnExit","container","cn","faQuestionCircle","closeButton","faTimes","Widget","WidgetContainer","authContext","useContext","AuthContext","loading","keys","Wrapper","Header","Body","Banner","currentDate","show_starting","show_until","isEarlier","isBefore","fromUnixTime","isLater","isAfter","BannerContainer","_data$categories","_data$categories$map","_data$categories$map$","useAuthContext","filteredBanners","categories","category","articles","flat","Boolean","banner","isDev","url","window","href","isLocalOrStaging","gitInfo","tags","commit","shortHash","hash","message","PageWrapperContent","withoutContainer","queryClient","useQueryClient","history","useHistory","_useAuthContext","user","isParent","enable_assessment_purposes","assessmentPurpose","setAssessmentPurpose","partnership","isKea","pageWrapper","Helmet","pageHeaderOuter","pageHeaderInner","Link","to","parentHomeURL","homeURL","pageHeaderLeft","logoWrapper","pageLogo","src","Logo","alt","pageTitle","frog_street","frogStreetLogoWrapper","frogStreetLogo","FrogStreetLogo","frogStreetTitle","LanguageSelector","dropdownsWrapper","includes","Dropdown","dropdownKea","Toggle","Menu","Item","active","dropdown","first_name","push","profileURL","signOut","Sidebar","substr","PageWrapperErrorBoundaries","hasError","_this","createClass","this","props","Component","PageWrapper","withRouter","customStyles","maxWidth","control","defaultStyles","objectSpread2","width","selectProps","minHeight","cursor","borderColor","option","indicatorSeparator","backgroundColor","menuList","default","extrasmall","fontSize","height","singleValue","average","management","gray","boxShadow","&:hover","topMenu","menu","top","zIndex","customComponents","Option","components","SingleValue","StyledSelect","memo","_props$options","StyledSelect_excluded","Textfit","mode","min","max","Select","_customStyles$type","_customStyles$type$me","autofocus","isDisabled","options","_ref2","Checkmark","checkmarkIcon","checkmarkIconChecked","faCheck","PrintModal","opened","handleClose","exportExcel","exportPdf","handleExportExcel","print_modal_excluded","fileName","useMemo","replaceAll","Modal","show","onHide","Title","body","PrintModalButton","setTimeout","print","handleExportExcelFn","document","doc","JSPDF","autoTable","html","useCss","didParseCell","_data$cell$text$","_data$cell$text$$spli","cell","split","save","now","handleExportPdf","printButton","languages","AuthWrapper","inProp","setInProp","authWrapper","backgroundImage","concat","Background","enter","formStyles","enterActive","changeLanguage","authContainer","authLeft","authLogo","authTitle","authForm","Card","_ref$topStyles","topStyles","_ref$bottomStyles","bottomStyles","card","cardHeader","cardBody","isTeacher","isStateAdmin","scope","enable_curriculum","sso_requests","sidebarWrapper","SideNav","sideNav","sideNavToddle","Nav","onSelect","selected","NavItem","eventKey","links","NavIcon","sidebarIcon","faChartSimple","NavText","navitemClassName","navItem","faHome","faCalendarAlt","indicatorWrapper","faCog","indicator","managementIndicator","usersIndicator","classroom_id","faCalendarDay","saveField","fieldName","currentUser","localStorage","getItem","setItem","getField","PrimaryLink","buttonStyle","PrimaryLink_excluded","link","ImagePreview","_ref$alt","overflow","download","useCallback","a","createElement","appendChild","click","removeChild","layer","stopPropagation","preventDefault","buttons","_useTranslation","translations","PrintableWrapper","_React$Component","inherits","_super","createSuper","classCallCheck","apply","arguments","ConfirmationDialog","onOk","onCancel","okText","cancelText","useLayoutEffect","submit","addEventListener","passive","removeEventListener","Footer","WeekSelector","weekFilter","current_week","currentWeek","setCurrentWeek","weekSelector","first_week","faArrowLeft","selectWrapper","last_week","faArrowRight","ErrorBoundary","_createClass","errorContent","set","select_excluded","DefaultSelect","toBase64","file","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","onerror","filterCondition","resizeImage","maxHeight","quality","event","_event$target","_event$target2","img","Image","canvas","getContext","drawImage","resizedImage","toDataURL","filename","resizedImageFile","dataURLtoFile","Error","asyncToGenerator","_regeneratorRuntime","mark","_callee","dataURL","blob","wrap","_context","prev","next","fetch","sent","abrupt","File","stop","_x","_x2","Dropzone","_ref3","onUpload","defaultFiles","files","setFiles","onDrop","_ref4","_callee2","acceptedFiles","previewFiles","newFiles","_context2","alert","all","every","toast","preview","URL","createObjectURL","_x3","_useDropzone","useDropzone","getRootProps","getInputProps","isDragActive","accept","zone","faCameraRetro","FileDropzone","fileTypes","setFile","acceptedFile","fileDropzoneWrapper","multiple","drag","faCloudArrowUp","csvFile","faFileExcel","PERCENT_METRIC","PercentageScale","percent","percentNumber","Number","replace","ProgressBar","scale","bad","normal","good","CustomHeader","decreaseMonth","increaseMonth","prevMonthButtonDisabled","nextMonthButtonDisabled","header","faPlay","leftArrow","rightArrow","RangeDatePicker","setDate","defaultDate","RangeDatePicker_excluded","componentRef","start","startDate","setStartDate","end","endDate","setEndDate","onDateChange","dates","_dates","pickerContainer","faCalendar","pickerIcon","current","setOpen","DatePicker","renderCustomHeader","calendarStartDay","autoComplete","picker","selectsRange","StyledDatePicker","isClearable","StyledDatePicker_excluded","placeholderText","popperClassName","popper","popperPlacement","ReportButtons","goBack","subtitle","printModalChildren","buttonsDisabled","_ref$exportExcel","_ref$exportPdf","printModal","setPrintModal","buttonsContainer","BouncingArrow","containerRef","isScrollTop","setIsScrollTop","isBackground","setIsBackground","_useState5","_useState6","isHide","setIsHide","updateScroll","scrollTop","scrollHeight","clientHeight","_containerRef$current","_containerRef$current2","updateOnResize","offsetHeight","_containerRef$current3","bouncingArrow","scrollTo","behavior","scrollToTop","scrollToBottom","background","arrow","bounce","faArrowUp","faArrowDown","range","from","_","DOTS","usePagination","total","_ref$siblings","siblings","_ref$boundaries","boundaries","page","_ref$initialPage","initialPage","_total","Math","trunc","_useUncontrolled","defaultValue","finalValue","_ref2$onChange","uncontrolledValue","setUncontrolledValue","val","_len","payload","_key","useUncontrolled","_useUncontrolled2","activePage","setActivePage","setPage","pageNumber","leftSiblingIndex","rightSiblingIndex","shouldShowLeftDots","shouldShowRightDots","leftItemCount","toConsumableArray","rightItemCount","previous","first","last","TanStackTable","_table$getFooterGroup","_table$getFooterGroup2","columns","_ref3$sortBy","sortBy","dispatch","filteredBy","withoutFooter","noDataText","pageIndex","pageSize","_ref3$pageCount","pageCount","onPaginationChange","onSortingChange","headerChildren","centered","_ref3$blue","red","_ref3$styled","_ref3$mobile","mobile","_ref3$sticky","sticky","renderSubComponent","getRowCanExpand","getIsRowExpanded","sorting","setSorting","columnFilters","setColumnFilters","columnVisibility","setColumnVisibility","_useState7","_useState8","tableSettings","setTableSettings","roundedPageCount","ceil","getPagination","pagination","preprocessedData","obj","replaceNullWithUndefined","entries","reduce","k","v","useReactTable","debugTable","debugHeaders","debugColumns","getCoreRowModel","manualSorting","getSortedRowModel","getFilteredRowModel","getFacetedUniqueValues","onColumnFiltersChange","getFacetedMinMaxValues","onColumnVisibilityChange","getExpandedRowModel","manualPagination","some","filteredByContainer","filterValue","charAt","toUpperCase","slice","filterValueCrossIcon","tanStackTable","getHeaderGroups","headerGroup","Column","depth","settingTh","settingIcon","faSlidersH","TableSettings","dropdownOpen","setDropdownOpen","getRowModel","rows","row","Fragment","getVisibleCells","backGroundColor","column","columnDef","getValue","flexRender","getIsExpanded","expandedRow","getFooterGroups","isPlaceholder","footer","paginationWrapper","round","Pagination","First","setPageIndex","getCanPreviousPage","Prev","previousPage","Ellipsis","Next","nextPage","getCanNextPage","Last","getPageCount","_header$column$column2","_asc$desc$header$colu","_useState9","_useState10","columnSettings","setColumnSettings","enableColumnFilter","setFilterValue","getIsVisible","parent","headerTitle","columnSelected","_header$column$column","hideSettings","faAngleDown","asc","faLongArrowAltDown","desc","faLongArrowAltUp","getIsSorted","faSort","ColumnSettings","_ref5","_header$column$column3","_header$column$column4","tan_stack_table_excluded","getLeafColumns","useClickOutside","currentSorting","sortingLabel","meta","settingItem","sortingSelected","toggleSorting","Filter","getToggleVisibilityHandler","settingItemIcon","faEyeSlash","_ref6","_column$getFacetedUni","_Array$from$filter","_column$getFacetedUni2","_column$getFacetedMin","_column$getFacetedMin2","_ref7","_column$getFacetedMin3","_columnFilterValue$","_ref8","_column$getFacetedMin4","_column$getFacetedMin5","_column$getFacetedMin6","_ref9","_column$getFacetedMin7","_column$getFacetedMin8","_column$getFacetedMin9","_columnFilterValue$2","_ref10","_column$getFacetedMin10","_column$getFacetedMin11","_column$getFacetedMin12","firstValue","columnFilterValue","getFilterValue","columnFilter","minMaxFilters","DebouncedInput","minMax","old","isError","FilterByData","_ref11","initialValue","_ref11$debounce","debounce","_excluded2","_useState11","_useState12","setValue","clearTimeout","_ref12","_useTranslation4","label","sortedUniqueValues","sort","join","_ref13","_excluded3","Group","controlId","Checkbox","tableCheckRow","getIsAllColumnsVisible","getToggleAllColumnsVisibilityHandler","getAllLeafColumns","StyledSwiper","containerClassName","_ref$arrowSize","arrowSize","isCentered","styled_swiper_excluded","paginationRef","styledSwiperContainer","Swiper","clickable","el","navigation","--swiper-navigation-size","--swiper-navigation-color","--swiper-pagination-color","modules","Navigation","styledSwiper","PasswordField","newPassword","password_field_excluded","truePassword","setTruePassword","hiddenPassword","setHiddenPassword","selection","setSelection","setSelectionRange","field","password","changedPassword","offset","selectionStart","substring","selectionEnd","hiddenInput","confirmationDialog","setConfirmationDialog","contentClassName","modal_excluded","action","BootstrapModal","styledModal","ModalComponent","Subtitle","modal_subtitle_excluded","modal_title_excluded","orange","modal_header_excluded","headerStyled","headerIcon","withoutScroll","modal_body_excluded","scrollableBody","modal_footer_excluded","variant","Heading","heading","StyledControl","_ref$blue","styled_control_excluded","styledControl","Tooltip","backProps","primaryProps","step","tooltipProps","isLastStep","skipProps","styled_joyride_excluded","hideFooter","showSkipButton","leftButton","hideCloseButton","rightButton","StyledJoyride","Joyride","continuous","arrowColor","primaryColor","tooltipComponent","checkbox_excluded","Check","checkbox","RadioButton","radio_button_excluded","radioButton","SchoolSelector","_filterOptions$find","organization","showOrganizationName","withoutDefaultOption","removeOptions","school_selector_excluded","_useQuery","useQuery","useGetSchoolsQuery","organization_ids","filterOptions","processedData","schools","school","parent_scope","initialOption","find","op","ClassroomSelector","showSchoolName","classroom_selector_excluded","useGetClassroomsQuery","school_ids","classrooms","classroom","StyledPhoneInput","PhoneInput","phoneInput","initialValueFormat","defaultCountry","inputComponent","OrganizationSelector","organization_selector_excluded","useGetOrganizationsQuery","organizations","org","__webpack_require__","d","__webpack_exports__","FreshnessInformation_FreshnessInformation","SwitchOptions_SwitchOptions","Button_Button","Loader_Loader","Table_Table","achievement_Achievement","Checkmark_Checkmark","print_modal_PrintModal","AuthWrapper_AuthWrapper","Card_Card","sidebar_Sidebar","PrimaryLink_PrimaryLink","ImagePreview_ImagePreview","language_selector_LanguageSelector","no_data_NoData","printable_wrapper_PrintableWrapper","confirmation_dialog_ConfirmationDialog","chart","week_selector_WeekSelector","error_boundary_ErrorBoundary","select_Select","dropzone_Dropzone","file_dropzone_FileDropzone","PercentageScale_PercentageScale","RangeDatePicker_RangeDatePicker","StyledDatePicker_StyledDatePicker","report_buttons_ReportButtons","bouncing_arrow_BouncingArrow","styled_swiper_StyledSwiper","password_field_PasswordField","components_modal_Modal","heading_Heading","styled_control_StyledControl","styled_joyride_StyledJoyride","checkbox_Checkbox","radio_button_RadioButton","school_selector_SchoolSelector","classroom_selector_ClassroomSelector","phone_input_StyledPhoneInput","organization_selector_OrganizationSelector","module","exports","p","filters","certifiedModalBody","observationSelector","siteToggle","objectiveReportToggle","chartWrapper","fullHeight","wrapperWide","overlayBlock","titleLogo","titleRow","description","checkboxes","generationDate","emptySpace","hideable","dimmed","parentButtons","certifications","dashboardSelect","multiSelect","searchWrapper","buttonsWrapper","signIn","login","Auth","accountLookup","params","accountLookupApiCall","accountResend","accountResendApiCall","resetPasswordSendCode","forgotPassword","resetPassword","code","forgotPasswordSubmit","setUpPassword","completeNewPassword","setUpPhone","_codebuild_output_src1944309005_src_CTB_web_portal_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__","phone_number","newUser","currentAuthenticatedUser","updateUserAttributes","setPreferredMFA","verifyCurrentUserAttribute","t0","verifyPhone","verifyCurrentUserAttributeSubmit","verifySMS","confirmSignIn","ignorePhone","_callee4","_context4","custom:SMSOptOut","clearCache","_callee5","_context5","removeItem","ENVIRONMENT","identityPoolId","getCurrentUserQuery","queryKey","queryFn","currentUserInfo","editSchoolField","support-article","reportList","reportTable","tableEmpty","tableWrapper","reportTableEmpty","testOutModalBody","questionsNumber","question","resultView","questionsCount","verticalAlign","pass","fail","testOutModalFooter","singleButton","testOutModal","getKeaReport","get","fetchAssessmentCompletionChart","fetchMonitoringReport","meta_data","fetchMonitoringReportNotes","getDashboardInfo","_codebuild_output_src1944309005_src_CTB_web_portal_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__","response","retrievalResponse","failureParams","Exception","_codebuild_output_src1944309005_src_CTB_web_portal_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__","cache_retrieval","Retrieval","axios","CallParams","DataPoint","DataPointType","GenerationTimestamp","status","saveObservationMedia","post","parentReportFeedback","parentReportResponse","accountNameChange","getUsers","getDataDump","submitTraining","getTrainingScenariosTutorial","startScenarios","endScenarios","reviewScenarios","searchArticles","getWithoutSignIn","accountLookupSSO","postWithoutSignIn","getStudentScheduleGames","getMultiuserAccounts","getMultiuserAccountCredentials","saveClassroomCurriculum","getReport","updateStudentNote","checkApi","optionsPreprocessing","JSON","parse","stringify","errorHandling","errorMessage","invalidateQueries","fetchKeaReportQuery","getDashboardOverviewQuery","fetchKeaReportMutation","mutationKey","mutationFn","fetchSchoolYearsQuery","fetchSchoolYearSetupQuery","school_year_id","fetchAlertQuery","fetchDashboardFiltersQuery","then","fetchDomainsOnTrackChartQuery","fetchAssessmentCompletionChartQuery","fetchAssessmentCompletionChartExcelMutation","fetchSiteReportQuery","fetchSiteBulkReportQuery","fetchObjectiveReportQuery","fetchObjectiveReport","fetchCheckpointReportQuery","fetchCheckpointReport","fetchExternalUsersQuery","editExternalUserMutation","patch","fetchDrdpReportQuery","fetchDrdpReport","fetchParentReportQuery","fetchParentReport","fetchDomainReportQuery","fetchDomainReport","fetchCertificationStatusReportQuery","fetchCertificationStatusReport","fetchMonitoringReportQuery","fetchMonitoringReportExcelMutation","fetchMonitoringReportNotesQuery","fetchMonitoringReportNotesMutation","fetchReportsFiltersDataQuery","fetchAccountStudentsQuery","fetchAccountStudents","getAccountInfoQuery","getAccountInfo","getDomainInfoQuery","getDomainInfo","getLicenseInfoQuery","getQuestionBasedObservationQuery","setQuestionBasedObservationMutation","getPortfolioBasedObservationQuery","setPortfolioBasedObservationMutation","parentReportActivityQuery","parentReportEngagementQuery","parentReportWeeklyMessageQuery","createParentReportWeeklyMessageMutation","familyEngagementReportAdminQuery","schoolCreateMutation","schoolEditMutation","schoolDeleteMutation","classroomCreateMutation","classroomEditMutation","classroomDeleteMutation","studentCreateMutation","studentEditMutation","studentDeleteMutation","studentMoveMutation","fetchStudentAttributesQuery","parentCreateMutation","parentCopyMutation","parentRemoveFromStudentMutation","parentValidateMutation","getParentInformationQuery","accountCreateMutation","accountDeleteMutation","accountEditMutation","account_id","accountVerifyMutation","accountResendMutation","userAlertsMutation","alertId","_codebuild_output_src1944309005_src_CTB_web_portal_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__","put","userSeenAlert","useGetUsersQuery","useGetUsersAlertsQuery","getUserAlerts","useGetUsersMutation","useGetAccountStandardsQuery","getTrainingsQuery","getTrainingModulesQuery","_excluded4","getTrainingScenariosQuery","getArticlesQuery","_excluded5","getArticles","getClassroomCurriculumQuery","getCurriculumFiltersQuery","getAdminCurriculumQuery","addCurriculumMutation","fetchScheduleQuery","fetchFreshnessScheduleQuery","getProfileCertificatesQuery","getReportListQuery","getStudentSubobjectiveItemsQuery","getStudentSubobjectiveItems","getTestOutQuery","submitTestOutMutation","completeTestOutMutation","profileTitle","profileForm","mfaForm","profileBrowser","profileLoader","formButtons","switch","modalRow","domainStudentWrapper","domainStudentHeader","select","contentWrapper","withoutMargin","signatures","created","headerLogo","headerText","headerInfo","headerCaption","headerAssessment","domains","printable","reportWrapper","tableOverlay","pageHeader","tabList","tabItem","sectionWrapper","sectionTitle","sectionGrid","blankSectionGridSmall","sectionGridSmall","sectionGridColored","sectionCol","objectivesSection","sectionColButtons","sectionSubtitle","dayTitle","dayName","objectives","standards","dailySectionWrapper","hidden","scenarioTitle","leftSide","titles","developmentalIndicators","examples","developmentalIndicatorsArrow","levels","scrollableLevels","observation","observationDescription","observationExample","submitButtons","submitButton","modal","observationModal","observationBody","observationHeader","observationClose","observationExit","observationModalTitle","observationModalButtons","portfolioColor","questionBasedColor","observationHidden","observationQuestionBased","observationBack","observationBackDisabled","observationQuestion","observationAnswers","observationExamples","observationExamplesTitle","observationExamplesNote","observationExamplesList","observationForm","observationInner","swiper","observationStep","observationStepPassed","observationStepNotPassed","observationStepCurrent","observationDropzone","observationDropzoneOverlay","observationSteps","detailedStudentWrapper","detailedStudentHeader","optionsList","domain_title","titleContainer","checkpointName","customCheckpointTable","printableContainer","cardList","information","abridgetTitle","scheduleSubobjective","scheduleSubobjectiveLevel","scheduleSubobjectiveList","scheduleSubobjectiveFlex","scheduleSubobjectiveFlexItem","scheduleSubobjectiveFlexItemTitle","detailedObjectivePrintable","pageLogout","dropdownRadioButtonGroup","dropdownItem","arrowIcon","dropdownItemChild","fieldsRow","editParentModalField","editParentModalFieldError","email","phone","statusConfirmed","./Advanced_Reporting","./Advanced_Reporting.js","./Assessment_Games","./Assessment_Games.js","./Cognitive_Toybox_At_Home","./Cognitive_Toybox_At_Home.js","./Getting_Started","./Getting_Started.js","./Introduction","./Introduction.js","./Introduction_Lite","./Introduction_Lite.js","./Introduction_To_Reports","./Introduction_To_Reports.js","./Managing_Teacher_Accounts","./Managing_Teacher_Accounts.js","./Monitoring_Assessment_Collection","./Monitoring_Assessment_Collection.js","./Observations","./Observations.js","./Parent_Resources","./Parent_Resources.js","./Program_Outcomes_Reporting","./Program_Outcomes_Reporting.js","./Student_And_Organization_Management","./Student_And_Organization_Management.js","./frogst/Advanced_Reporting_FS","./frogst/Advanced_Reporting_FS.js","./frogst/Assessment_Games_FS","./frogst/Assessment_Games_FS.js","./frogst/Cognitive_Toybox_At_Home_FS","./frogst/Cognitive_Toybox_At_Home_FS.js","./frogst/Getting_Started_Admins_FS","./frogst/Getting_Started_Admins_FS.js","./frogst/Getting_Started_FS","./frogst/Getting_Started_FS.js","./frogst/Introduction_FS","./frogst/Introduction_FS.js","./frogst/Introduction_To_Reports_FS","./frogst/Introduction_To_Reports_FS.js","./frogst/Monitoring_Assessment_Collection_FS","./frogst/Monitoring_Assessment_Collection_FS.js","./frogst/Observations_FS","./frogst/Observations_FS.js","./frogst/Program_Outcomes_Reporting_FS","./frogst/Program_Outcomes_Reporting_FS.js","webpackContext","req","webpackContextResolve","o","observationDataSelector","observationButtons","observationStepItem","emerging","info","scheduleNote","skipButton","monitoringTable","studentsTable","selector","studentName","modalBody","modalText","studentItem","checkIcon","_components_auth_container__WEBPACK_IMPORTED_MODULE_0__","detailedObjectiveWrapper","detailedObjectiveHeader","detailedObjectiveTitle","detailedObjectiveMeta","detailedResult","objectiveWrapper","objectiveTitle","objectiveRow","performanceDouble","customCheckpointFirstColumn","customCheckpointNextColumns","articlesWrapper","category_name","searchResult","assessmentCompletion","additionalWrapper","objectiveReportFilters","styledSelect","groupsWrapper","groupsTitle","groupsSubtitle","groupsBody","groupsBodyInner","subobjectiveInnerContainer","subobjectiveInnerCorrect","subobjectiveInnerIncorrect","subobjectiveInnerTitle","tableSettingsContainer","tableSettingsWrapper","tableSettingsButton","tableSettingsTitle","tableSettingsBody","tableSettingsButtons","tableSettingsButtonDone","Chart","_this$props","timeZone","Intl","DateTimeFormat","resolvedOptions","chart_Chart","ChartComponent","Filters","Checkboxes","PrintButton","ChartPrintButton_excluded","withoutArrow","LoadMoreButton","ChartLoadMoreButton_excluded","loadMoreButton","_ref$printActions","printActions","isExpandable","useDashboardContext","isExpanded","setExpanded","overlay","convertToLocalTime","buttonStyles","expanded","titleWrapper","data-id","Description","LoaderOverlay","subobjectiveResultSelector","subobjectiveRow","subobjectiveCheckmark","subobjectiveValue","subobjective","objectiveCheckmark","objectiveObservations","objectiveSchedule","objectiveLastAssessed","objectivesTable","editIcon","managementTable","managementTableHeader","parentItem","addParent","environmentsConfigs","DEVELOPMENT","service","region","userPoolId","webPortalClientId","appClientId","defaultBaseUrl","apiName","domain","MAIN","hostname","dynamicVersining","LYONDEVELOPMENT","RIDE","cognitoGroup","_process$env$ENVIRONM","process","ENVIRONMENT_ID","isApp","Amplify","configure","userPoolWebClientId","mandatorySignIn","API","endpoints","config","endpoint","custom_header","_custom_header","Content-Type","Accept","oauth","redirectSignIn","origin","loginURL","redirectSignOut","responseType","useAdvancedClientId","REACT_APP_POOL_CLIENT_ID_ADVANCED","path","queryStringParameters","contentType","request","catch","Sentry","_callee3","_context3","_x4","_x5","_x6","_x7","use_access_token","schoolID","idToken","accessToken","userEnvironment","signer","concat_ops","header_token","ops","_args4","signInUserSession","jwtToken","aws4","Token","accessKeyId","secretAccessKey","sessionToken","Authorization","t1","t2","t3","_x8","_x9","queryParams","_args5","_x10","_x11","_callee6","_args6","_context6","_x12","_x13","_callee7","_args7","_context7","_x14","_x15","query","queryString","Hub","listen","_ref7$payload","error_description","pageSubTitle","moduleRow","testButton","testLink","rating","passed","expireSoon","titleWithButton","student","studentsContainer","usersManagementHeader","excelButton","addUserButton","blurTable","usersManagementHeaderButtons","indicatorContainer","editStudentModalField","editStudentModalFieldError","datePicker","pickerHeader","arrowIconDisabled","enrollmentDate","skeletonWrapper","titleItems","rightDescription","taken","readyForReview","incorrect","students","columnTitle","subobjectiveName","lastUpdated","domainsOnTrackBarChart","bottomTable","leftTable","reverseTableContainer","reverseTable","chartContainer","diagramGoalLine","curriculumWeeks","week","weekNumber","weekDate","weekName","curriculumBigButton","editButton","NameAndPrint","wideButton","smallButton","note","or","authFooter","authLoading","authLoadingText","authInput","authFields","authColumn","authLoader","authCheckingText","authSSO","authButton","authSSOButton","authButtonIcon","classlink","clever","authButtonBorder","authButtonBorderGray","authGreen","authOrange","authBlue","authLinks","passwordGroup","show-password-button","form-group","caps-lock","authButtons","authSSOButtons","authPasswordIcon","auth-checklist","multiuserCard","multiuserForm","multiuserName","multiuserArrow","multiuserDescription","DashboardContext","react__WEBPACK_IMPORTED_MODULE_0__","createContext","keaTable","weeklyMessage","exclamationIcon","pencilIcon","trashIcon","deleteButton","textArea","chartSkeletonFirst","dataExportContainer","pickerTitle","loader","certificate","day","daySelectors","observationCell","observationButton","siteObservationButton","siteCheckmark","observationButtonText","certificationCard","percentage","percentageScale","centralLabelText","centralLabelValue","charts","subdomainName","domainsOnTrackCharts","logged","certified","role","edit","username","editStudentModalNotes","rowWrapper","notesBar","creatableSelect","ell","buttonIcon","checking","timeline","timeLineItem","filtersPanel","settingPanel","setting","schedule","AuthContainer","react__WEBPACK_IMPORTED_MODULE_0___default","n","shared_hooks__WEBPACK_IMPORTED_MODULE_1__","accountData","useAccountData","Provider","getElementsByTagName","workbook","XLSX","table_to_book","raw","newSheet","Sheets","Sheet1","forEach","_codebuild_output_src1944309005_src_CTB_web_portal_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_3__","prototype","hasOwnProperty","call","isNaN","workbookWithRightTypes","_codebuild_output_src1944309005_src_CTB_web_portal_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__","section","assignableSelector","fileSharing","dropzone","report","selectedObjective","scheduleTable","eventHandler","handleClickOutside","contains","parentReport","parentReportBack","parentReportNotification","parentReportTranslations","parentReportTitle","parentReportButtons","parentReportSubtitle","parentReportBody","parentReportBodyTitle","parentReportRow","parentReportRowItem","recommendationActivity","parentReaction","parentReactionWrapper","dailyActivity","dailyReadActivity","parentReportRowItemSeparator","parentReportRowItemTitle","parentReportRowItemSubtitle","parentReportRowItemBody","parentReportAssessmentDate","parentReportRowItemSide","parentReportRowItemImage","parentReactions","complete","like","loadingWrapper","game","scheduleTableTitle","emptySchedule","sideWrapper","sideClose","scheduleWeekTitle","styledSwiperRow","navigationPrev","navigationNext","navigationDisabled","buttonContainer","border","hide","response__title","response__form","response__loading","classroomViewHeader","classroomViewTitle","activityLinkContainer","activityAndMessage","observationRow","groups","printableModal","keaData","keaInfo","ScenariosTable","scenariosTable","ObjectiveExamplesModal","open","ScenariosCell","scenario","refetch","setOpened","exampleModal","setExampleModal","submitLoading","setSubmitLoading","selectLevel","setSelectedLevel","training_module_scenario_id","enabled","scenarioData","scenario_data","groupBy","_item$map","level","descriptions","b","previousEnteredLevel","previous_entered_level","resp","session","scenario_rating_session_id","finish","color","marginRight","faExchangeAlt","faCheckCircle","dialogClassName","DevelopmentalIndicators","scrollablePanelClassName","_level$examples","_level$examples2","i","example","example_type","ScenariosModal","certificateIRR","correct","STEPS_ARRAY","IrrTutorialModal","moduleId","setStep","changeStep","cancel","circles","circle","0","Step0","1","Step1","2","Step2","3","Step3","4","Step4","close","step0","bottomButtons","step1","step2","run","steps","disableBeacon","placement","spotlightClicks","joyride","setJoyride","feedback","setFeedback","training","_item$subobjectives$m","subobjectives","step3","isCorrect","correct_level","showModal","scrollablePanel","backdropClassName","feedbackModalBackdrop","correctLevel","disableScrolling","callback","STATUS","FINISHED","SKIPPED","step4","statuses","ScenariosContainer","isPassed","reviewLoading","setReviewLoading","isSubmit","setIsSubmit","tutorial","setTutorial","review","scenarios_container_regeneratorRuntime","training_module_id","complete_training_module","Language","TrainingID","TrainingModule","added_certifications","presigned_url","scheduled","scenarios","faExclamation","domain_id","getAccountType","isDistrictAdmin","isSchoolAdmin","cardContainer","cardAdmin","firstLine","secondLine","seeDetails","lightblue","counter","flex","infoIcon","firstLineFlex","firstLineNumber","assessmentWindow","Guide","guide_Guide","controls","completionPercent","monitoringReportFilters","objectivesTabsPercentOfStudents","objectivesTabsObjectives","objectivesTabsObjective","quickLinks","dateEarned","editClassroomField","classroomName","rolesEnum","managementRolesEnum","stateAdminRoles","districtAdminRoles","schoolAdminRoles","DISTRICT_ADMIN","SCHOOL_ADMIN","TEACHER","MULTIUSER","STATE_ADMIN","subObjectiveItems","subObjectiveText","itemsTitle","assessed","notes","notesBody","changeNotes","cross","textarea","images","image","achievementsWrapper","achievementsBody","aggregationsWrapper","aggregationsInner","bordered","aggregationsBottom","proposalsBody","add","createAction","remove","counterReducer","createReducer","_createReducer","updateUser","authReducer","reducers","combineReducers","middlewares","penderMiddleware","composeEnhancers","compose","preloadedState","createStore","applyMiddleware","es","translation","auth","loginButton","back","loginWithSSO","ssoError","CTB_REQUEST_SENT_ERROR","description1","description2","CTB_REQUEST_DENIED_ERROR","checkEmail","ssoAuth","googleButton","cleverButton","classLinkButton","confirmResetPassword","haveCode","resendEmail","confirmPassword","saveAndLogin","setupPassword","caption","agreement","terms","and","privacyPolicy","mfaSetup","skip","sendCode","resendCode","mfaVerification","capital","lowercase","special","minLength","match","settingUp","confirm","redirect","setup","titleWithName","users","shareUserInfo","shareStudentInfo","sharedScheduleInfo","alreadySharedSchedule","skipAndRemind","resubmit","usersStep","downloadTemplate","studentsStep","scheduleStep","domainReport","entryButton","entryDescription","studentReport","overall","ageCategory","assessmentsComplete","teacherSignature","parentSignature","dateSigned","areaOfSuccess","areaForImprovement","noneRecommended","achievedDevelopmentalMilestone","nextDevelopmentalMilestone","recommendedActivity","oneArea","threeAreas","allAreas","siteReportTooltips","schoolLevel","assessmentCompleted","lastAssessed","classroomLevel","averageLevel","studentLevel","onTrack","objectiveLevel","standard","weekScheduled","growth","completed","observations","subobjectiveLevel","objectiveReportTooltips","familyEngagementTooltips","classroomView","activities","games","timeSpent","loggedIn","schoolAdminView","activitiesCompleted","gamesPlayed","familiesLoggedIn","districtAdminView","objectiveReport","notAssessedYet","recommendedSmallGroups","recommendedSmallGroupsDescription","practice","upNext","recommended","additional","leastRecognized","sometimesRecognized","mostRecognized","avLevel","age","studentsModal","notTaken","familyEngagementReport","noMessage","delete","change","addMessage","newWeeklyMessage","saveAndShareWithFamilies","familiesLogged","activity","yearsOld","Mon","Tue","Wed","Thu","Fri","seeActivities","seeReadAlouds","dailyActivities","dailyReadAloud","noActivity","scheduledReadAloudsActivities","weekOf","source","activityType","keyConcepts","noDescription","hideDetails","drdpReport","see","familyEngagement","famLoggedIn","weekly","noData","isWeekend1","isWeekend2","yourTeacher","today","lastAccessed","todayClassActivity","classActivityFor","help","love","played","alignment","readAloud","sendMessage","messageSent","playGames1","playGames2","seeActivities1","seeActivities2","playGameWith","canPlay","playNow","siteReport","printStudent","printCurrentView","unable","noResults","noAge","exportPDF","objective","onlyScheduled","allObjectives","gamesAvailable","noObservation","changeSettings","emotion","accuracy","reactions","understanding","understandingText","observationalNote","saveChanges","editNote","letterNames","letterSounds","detailed","detailedForAll","detailedBelow","showLevels","hideLevels","showPhotos","hidePhotos","showNotes","hideNotes","showNotAssessed","hideNotAssessed","shared","checkpointReports","bulkReport","selectClassrooms","allClassrooms","selectStudents","allStudents","requestReport","checkpointStudent","dateRequested","downloadNow","DRDPReport","ongoing","DRDPReports","printProgressReport","printAllStudentsCheckpoint","selectCheckpoint","certificationStatusReport","monitoringReport","downloadNotes","timeoutError","notesModal","studentsCount","downloadAsExcel","observationsWithNotes","observationsWithoutNotes","collectedBy","noObservations","excel","none","usage","obsWithNotes","totalObsNotes","obs","district","completedKEA","approach","demonstrating","checkpointReport","includeGames","includeObservations","pleaseSelect","setDefaultCheckpoint","printOnePage","printAll","printAllClassrooms","showLowestDomains","studentsAssessed","assessmentsTaken","exportAsExcel","exportAsPDF","collapse","expand","more","less","generated","showMoreOptions","hideOptions","percentScheduled","checkpoint","startObservation","notRequired","noStudentsFound","nothingScheduledThisWeek","keasComplete","classroomChangeTooltip","studentsOnTrackTooltip","fromLastWk","weeklyAssessmentsComplete","approaching","assessmentKeaStarted","assessmentKeaStartedDay","lastDay","firstDay","assessmentEcaStarted","assessmentEcaStartedDay","assessmentKeaCompleted","assessmentEcaCompleted","assessmentKeaEnded","assessmentEcaEnded","assessmentKeaEndedDay","assessmentEcaEndedDay","assessmentKeaNo","assessmentEcaNo","second","third","fifth","sixth","seventh","eighth","subdomains","barChart","exceeding","meeting","below","notAssessed","bottomTitle1","bottomTitle2","progress","studentOnTrack","seeDetailedReport","popupText","studentAssessed","assessments","objectivesSmall","meetingAndExceeding","selectedWeek","setToCurrentWeek","ninth","tenth","keaTitle","startObs","printAllClassroomsShowLowestDomains","walkthrough","menuContent","addStudents","addStudentsContent","trainingContent","scheduleContent","reports","reportsContent","whoIsUsingCTB","whoIsUsingCTBContent","support","supportContent","chat","chatContent","account","accountContent","feedbackSurvey","shareYourFeedback","notATeacher","notATeacherAide","notNow","getStarted","weNeedYourHelp","canYouTellUs","acquisitionNotification","cognitiveToyBoxAnnouncement","OK","addStudent","printReports","addTeacher","addClassroom","chatWithSupport","chatWithSupportPopup","playGames","playGamesPopup","startTraining","seeWalkthrough","numberComplete","titleAssessment","incompleteGames","incompleteObservations","completeGames","completeObservations","domainsOnTrack","belowMeetingExceeding","percentOfStudents","modalPercentInDomain","objectivesAssessed","sidebar","home","orgManagement","studManagement","dataExport","planning","showHideColumns","showHideRows","setToDefault","done","reset","others","CTBWebPortal","profile","logOut","frogStreet","teacherName","parents","ageRange","DOB","lastParentLogin","neverLogged","studentID","enrollment","studentManagement","searchBySchoolClassroomStudent","searchByStudent","selectTag","manyStudents","oneStudent","noStudents","manyFamilyAccounts","oneFamilyAccount","noFamilyAccounts","moreTeachers","modals","addNew","create","dropOut","spanish","other","inPerson","remote","neither","inPersonText","observationsOnly","potentialDelay","lowAttendance","lateStart","agedOut","droppedOut","PCC","ELL","startTyping","changed","deleted","schoolName","addNewSchoolWaitText1","addNewSchoolWaitText2","deleteConfirmation","addNewClassroomWaitText1","addNewClassroomWaitText2","update","wasDeleted","wasDropOut","confirmationDialogDelete","firstName","lastName","dateOfBirth","selectSchool","selectClassroom","studentEnrollment","basicInfo","limitTracker","studentMessage","classroomMessage","contactMessageFs","contactMessage","userManagement","addNewUser","export","sso","ssoModal","approve","deny","denied","pending","notAssigned","noPending","noDenied","cert","singleDistrict","districts","class","lastLoggedIn","singleSchool","singleClassroom","removed","internalOptions","override","successChanged","emailSent","reactivated","districtAccess","schoolAccess","schoolMuted","classroomAccess","classroomMuted","alert1","alert2","reactivate","deleteUser","editEmail","deleteParent","removeParentFromStudent","successfullyChanged","successfullyCreated","successfullyRemoved","successfullyRemovedFromStudent","dontHaveAccess","somethingWentWrong","familyName","phoneNumber","removeFromStudent","accountSetUp","accountNotSetUpYet","allSchoolsAndClassrooms","multiAccess","access","multiAccessDescription","removeAccess","changeClassroom","changeSchool","changeOrganization","addAccess","multiUser","allRoles","duplicatedScopeError","orgDefault","userDefault","certificationModal","currentCertification","expiredCertification","noCertifications","multiUserScopesModal","districtAdmin","schoolAdmin","teacher","scheduleManagement","assessmentSchedule","devProgression","questionView","noStudentData","developmentalProgression","questions","clickLink","doYouWant","continue","dataExportManagement","subtitle2","submitError","requestError","selectStart","selectRange","selectEnd","clear","dataOldestUpdate","family-engagementReport","certification-statusReport","cognitiveToyboxReports","ongoingReporting","ongoingReportingText","seeOngoingReports","checkpointSummaryReports","checkpointSummaryReportsText","seeCheckpointSummaryReports","monitoringReports","monitoringReportsText","seeMonitoringReports","myAccountSettings","enterFirstName","enterLastName","phoneText1","phoneText2","youAreUsing","expired","mfa","recovery","verified","unverified","changePhoneNumber","verify","mfaDescription","enterNumber","enterCode","verifyMfa","verifiedPhone","cancelAndDisable","required","phoneVerify","basicComponents","noDataFound","downloadPhoto","count","paginationCaption","sortAsc","sortDes","hideColumn","alphabeticAsc","alphabeticDesc","numericDesc","numericAsc","datesDesc","datesAsc","drop","filesDropzone","supportedTypes","sure","yes","nevermind","errorPage","tryAgain","device","browser","version","years","months","allSchools","allDomains","allAges","allCheckpoints","noResult","thisWeek","allGroups","allStandards","allSchoolYears","allViews","allTimeRanges","allClassTypes","allOrganizations","completion","performances","selectOrganization","selectRole","noSchools","noClassrooms","noOrganizations","kea","eca","searchSchoolClassroom","searchOrganization","searchSchool","CTBTraining","basicModules","parentModules","advancedModules","adminModules","interraterReliabilityModules","interraterReliability35","watchTraining","testOnly","pleaseComplete","check","testOut","finishButton","questionsCorrect","failTop","failBottom","finishTitle","viewTutorial","scenariosLeveled","changeAnswer","scenariosReadyForReview","submitForReview","submitForReviewDescription","notYet","IRRResults","levelled","closeTheWindow","congratulations","downloadCertificate","ok","tutorialModal","tip","selectTheLevel","checkAnswer","notQuite","tooltipStep1","tooltipStep2","tooltipStep3","tooltipStep4","tryIt","currentStep","observeAgain","startNewObservation","newObservation","whichOne","portfolio","no","form","addNote","possibleExamples","addNoteObserved","cancelDelete","searchByKeywords","nothingFound","contact","withOtherQuestions","curriculum","startPlan","view","collectObs","observe","seeDetailed","with","assignCurriculum","editCurriculumModal","addCurriculum","removeCurriculum","detailedLessonModal","rsgDescription","group","related","addTitle","addDescription","selectObjectives","selectCurriculum","allCurriculums","selectWeek","allWeeks","printBalkPlan","startThisWeekPlan","unit","theme","scheduledAssessments","goBackModal","doYouWantToSave","keaReport","overallScore","score","readiness","studentsComplete","studentsKea","scopeKea","keaComplete","rawScore","averageRawScore","keasCompleted","en","dateExpired","pleaseCompleteExpiring","pleaseCompleteExpired","use","initReactI18next","detector","init","resources","fallbackLng","interpolation","escapeValue","supportedLngs","preload","routesDict","_routesDict","introductionToCognitiveToybox","introductionToCognitiveToyboxLite","gettingStarted","assessmentGames","cognitiveToyboxAtHome","introductionToReports","moduleTranslations","advancedTeacherTraining","managingTeacherAccounts","monitoringAssessmentCollection","programOutcomesReporting","studentAndOrganizationManagement","introductionToCognitiveToyboxFS","assessmentGamesFS","cognitiveToyboxAtHomeFS","gettingStartedFS","gettingStartedAdminsFS","observationsFS","introductionToReportsFS","advancedTeacherTrainingFS","monitoringAssessmentCollectionFS","programOutcomesReportingFS","moduleTypes","basic","advanced","admin","irr","getCurrentTrainingId","trainingRelativePath","startsWith","trainingURL","_i","_Object$entries","_Object$entries$_i","TestModal","testModalData","setTestModal","submitTestOut","useMutation","completeTestOut","testOutModalTitle","ResultStep","totalQuestionsCount","FinishStep","QuestionSteps","fill","answers","setAnswers","metadata","image_path","answer","answer_id","marker","letter","answersCopy","mutateAsync","account_module_id","assessment_id","answer_ids","_useTranslation3","testOutModalHeader","test_out_assessment_result","correct_questions","iconDict","GamesOnlyCertification","certificateLow","BasicTeacherCertification","certificateMedium","BasicTeacherCertificationLite","BasicTeacherCertificationFS","AdvancedTeacherCertification","certificateIcon","AdvancedTeacherCertificationFS","AdministratorCertification","certificateAdminTraining","AdministratorCertificationFS","InterraterReliability3-5","InterraterReliability0-3","InPersonCertification","certificateInPerson","tableIcons","transformAge","yearsText","monthText","floor","hasYears","CertifiedModal","certifiedModal","certification_name","certification_id","enPages","require","esPages","Training","_data$soon_to_expire_","_data$expired_certifi","testModal","setCertifiedModal","pages","_useQueries","useQueries","assessment_purpose","_useQueries2","trainings","handler","trainingModule","added_certification","_asyncToGenerator","training_submission_data","testout","test_out","sortModules","_data$all_trainings","_data$non_completed_t","_data$renewable_train","componentPath","componentId","all_trainings","componentName","lastIndexOf","componentTitle","non_completed_trainings","renewable_trainings","enable_test_out","account_training_module_id","expired_account_training_module_id","renewable_account_training_module_id","component","_data$all_trainings2","completedTrainingIds","completed_trainings","getModule","marginLeft","scenarioTrainings","firstTraining","secondTraining","soon_to_expire_certifications","soon_to_expire_certification","expiration_date","expired_certifications","Route","exact","useReportsFiltersData","queryParameter","refetchInterval","ReportSelect","dispatchType","createCustomLabel","setNotDefault","_useReportsFiltersDat","selectedId","setSelectedId","is_default","defaultOption","selectedValue","SchoolsTable","accessorKey","original","school_id","sortingFn","objective_id","sortUndefined","ClassroomsTable","directionColor","positive","negative","StudentsTable","_student$on_track","on_track","performance","student_id","last_name","_item$name$last_name","accessorFn","_row$on_track$perform","direction","rowA","rowB","columnId","parseInt","_row$student$attribut","attributes","headerClassName","forceClose","exitContent","setExitContent","onExit","ObservationContext","enchantedChildren","cloneElement","onSafeExit","QuestionBasedForm","onSubmit","isMediaLoading","phases","setPhases","setNote","isFinish","currentQuestion","addAnswer","localAnswers","clone","localPhases","_loop","currentPhaseIndex","findIndex","phase","developmental_age","_loop2","initial_question_index","slidesPerView","slidesPerGroup","initialSlide","SwiperSlide","Label","as","data-testid","_loop3","_loop4","PortfolioBasedForm","setTitle","defaultObjectives","currentObjectives","defaultStudent","currentStudent","defaultStudents","currentStudents","setCurrentStep","setEmerging","selectedStudents","setSelectedStudents","selectedObjectives","setSelectedObjectives","studentString","objectiveString","isFirstStep","currentObjective","currentLevels","displayed_level","display_emerging","studentListForModifying","cloneDeep","isInitialFormValid","isStepValid","_student$result","subobjectiveLevels","has","Map","isMulti","_student$result2","currentValue","observationStudent","foundStudentIndex","newStudent","splice","inline","subobj","QuestionBasedObservationContainer","_useContext","onSuccess","setMediaLoading","attachments","setAttachments","setQuestionBasedObservation","question_based_observation_regeneratorRuntime","results","timezoneOffset","subobjective_id","getTimezoneOffset","start_time","addMinutes","end_time","media_attachments","responses","attachment_id","PortfolioBasedObservationContainer","modalTitle","setModalTitle","severalStudents","age_category","agecategory","isDefaultLoading","setPortfolioBasedObservation","portfolio_based_observation_regeneratorRuntime","rawFiles","setNewFiles","studentOptions","_student$name$last_na","objectiveOptions","observable_objectives","ObservationSelector","selectorText","_ref$defaultObservati","defaultObservation","currentObservation","setCurrentObservation","ObservationComponent","react_default","ObservationCell","_ref$centered","isSiteReport","has_observed","faEye","faPlusCircle","backdrop","next_scope","StandardSelect","standardIndex","standard_select_excluded","standard_index","standard_id","ReportDropdown","childrenPatch","childrenField","childrenDispatchType","selectedItem","setSelectedItem","Skeleton","DropdownItem","setDropdown","_useReportsFiltersDat2","dropdownData","dropdownProcessedData","faAngleUp","MeasureModal","measure_name","colors","null","ObjectivesTable","filterData","observationsData","measureModal","setMeasureModal","_filterData$content$s","standard_indices","_row$objective$measur","_row$objective$measur2","_row$objective$measur3","measures","measure_list","measure","standard_names","_row$original$objecti","_row$original$objecti2","filteredStandards","measure_id","directionValue","abs","age_relative_performance","fontWeight","is","can_observe","observable","Notes","isEditingEnabled","resultId","setResultId","Note","isEdit","setIsEdit","setIsLoading","setText","updateNote","notes_regeneratorRuntime","result_set_id","new_result_set_id","readOnly","noteButton","Photos","photos","itemContent","mimetype","arrayBufferToBase64","contents","item_id","buffer","binary","bytes","Uint8Array","len","byteLength","String","fromCharCode","btoa","Achievements","AssessmentInfo","assessmentInfo","performedOn","domainColors","approachesToLearning","cognition","englishLanguageDevelopment","languageLiteracyDevelopment","languageAndLiteracy","perceptualMotorPhysicalDevelopment","perceptualPhysicalMotor","socialEmotionalDevelopment","socialEmotional","socialStudies","domainColorsTranslucent","subObjectiveTypes","subObjectiveCategories","subObjectiveTags","Aggregations","emotions","behaviors","Proposals","proposalsWrapper","Vocabulary","Set","Videos","display","alignItems","justifyContent","flexWrap","Player","fluid","download_url","SubobjectiveItems","includeNotes","includePhotos","item_type","videos","achievementLettersOrVocabulary","useLetters","achievementLetters","vocabulary","achievementNumbers","aggregations","proposals","achievementLetterSounds","achievementLetterNames","acc","marginTop","initialData","results_editing_enabled","useResultItem","onError","SubobjectivesTable","selectedResult","setSelectedResult","resultFilters","result_id","assessment_date","level_display","_useResultItem","CheckpointSelect","checkpoint_select_excluded","school_year","checkpoint_id","ReportFilters","showStudentFilter","hideOrgFilters","transformObjectives","subobjectiveOptions","DomainAreas","_ref$index","filterCheckpoint","beforeHook","setBeforeHook","selectedAreaOfSuccess","setSelectedAreaOfSuccess","selectedAreaForImprovement","setSelectedAreaForImprovement","successSubobjective","setSuccessSubobjective","improvementSubobjective","setImprovementSubobjective","hideImprovement","setHideImprovement","areasOfSuccess","areas_of_success","areasForImprovement","areas_for_improvement","areas","areaItemContent","areaItem","half","printableText","CreatableSelect","selectHidden","areaItemCaption","DomainContent","stateOfAreas","areasMaxLength","isHidden","setIsHidden","selectedRecommendation","setSelectedRecommendation","recommendations","resultArray","r","rInner","activity_id","transformRecommendations","recommendation","recommendationsBlock","numberOfAreas","hideButton","domain_name","domainName","titleCounter","domain_taken_assessments","domain_total_assessments","domain_performance","areaItemTitle","times","areaBorder","subtitleContent","createdDate","DomainReport","_student$attributes","customCheckpointOption","setShow","setFilterCheckpoint","setNumberOfAreas","selectedStudent","selectedCheckpoint","checkpoints","ch","checkpoint_name","checkpoint_start","checkpoint_end","student_info","checkpoint_info","isButtonDisabled","given_name","family_name","ReactToPrint","trigger","logo","school_name","classroom_name","student_checkpoint_age","student_age_category","completion_percentage","taken_assessments","total_assessments","_domain$areas_of_succ","_domain$areas_for_imp","OBJECTIVE_VALUES","getStyle","textTransform","fontStyle","RecursivePerformance","currentLevel","_performance","firstPerformance","secondPerformance","_currentLevel","firstLevel","secondLevel","DetailedObjective","isCustomCheckpoint","objective_name","latestResults","DetailedStudentContainer","setLevels","setPhotos","setNotes","setDetailed","setShowNotAssessed","objectivesByDomains","foundObjectives","domainObjectives","newObjective","checkpointsObjectives","checkpointObjective","is_required","getYearProgress","dataForCurrentCheckpoint","checkpointItem","scheduled_on","getObjectivesForCheckpoint","st","Container","account_scope","_domain$objectives","backgroundColorTranslucent","PrintModalChildren","isDetailed","setIsDetailed","isDomain","setIsDomain","reducer","assessment_type","drdpReportType","checkpointReportIsPercentageView","schoolyear","useReportsReducer","_useReducer","useReducer","_useReducer2","ReportWrapper","_ref$isExportExcel","isExportExcel","_ref$isExportPdf","isExportPdf","isFetched","_useLocation","isDrdp","homeReportURL","objectiveReportURL","siteReportURL","drdpReportURL","checkpointReportURL","familyEngagementReportURL","SiteReport","_account$scope","filterDataIsLoading","keepPreviousData","_useReportsReducer","objective_type","_data$data","student_age","last_updated","OrganizationTable","student_name","displayed_checkpoints","invertSorting","DrdpReport","useObjectiveReportData","Additional","least_recognized","sometimes_recognized","most_recognized","Groups","student_groups","practice_activities","last_assessed","getList","list","StudentsModal","_useObjectiveReportDa","successful","unsuccessful","not_assessed","setStudentsModal","subobjective_name","ObjectiveReport","objective_age_category","additional_data","patternList","PatternGreen","PatternLightgreen","PatternLightblue","PatternOrange","PatternPurple","StudentSelector","isModalOpened","setIsModalOpened","selectedUser","setSelectedUser","isTouch","navigator","maxTouchPoints","msMaxTouchPoints","selectedStudentName","selectedStudentLastName","onClickPlay","student_selector_regeneratorRuntime","currentPattern","randomImage","columnCount","alignment_id","platform","userAgent","Like","isChecked","setIsChecked","faHeart","Complete","Report","showBackButton","area_for_improvement","area_of_success","recommended_activity","isWeekend","prevDate","nextDate","_ref$date","handleChangeDate","daily_activity","daily_read_aloud","weekly_message","earliest_report","sendFeedback","sendResponse","reportRef","findTranslation","areaForImprovementData","areaOfSuccessData","teachers","copy","liked","activityData","isToday","embed","rel","preview_image","activity_type","frameBorder","key_concepts","Response","setMessage","setLoading","isSent","setIsSent","Response_regeneratorRuntime","badDateHack","dateItems","ParentReportContainer","studentsData","report_date","addBusinessDays","parent_report_container_regeneratorRuntime","ParentSelectorContainer","prepared","setPrepared","useDefaultFilters","newPrepared","useFilters","filterStudentList","Parent","_row$checkpoints$ch$c","_row$checkpoints$ch$c2","_row$checkpoints$ch$c3","score_display","_row$original$checkpo","_row$original$checkpo2","_row$original$checkpo3","_row$original$checkpo4","report_data","_row$original$last_na","foundCheckpoint","checkpoint_data","average_score","CheckpointReport","WeeklyMessage","weeklyMessageUpdate","createParentReportWeeklyMessage","newMessage","setNewMessage","changeWeeklyMessage","debounceChangeWeeklyMessage","trim","faTrashCan","faPencil","ActivityDetails","forwardRef","_data$info$key_concep","_data$info$alignment","_data$completed_stude","activityDetails","setData","gridRowStart","rowIndex","gridColumnStart","gridColumnEnd","detailsReadAloud","ACTIVITY_TYPES","activity_name","assignment_date","detailsBody","completion_feedback","completed_students","offlineActivity","ActivityModal","_Object$values$","setActivityDetails","activitiesByAgeAndType","dataByAge","daily","formatedDate","foundDailyActivity","foundReadAloud","addDays","startOfWeek","weekStartsOn","age_band","modalDialog","Tabs","TabList","Tab","TabPanel","gridActivities","DayLabelsAndDetails","ActivityItem","otherActivitySelected","NoActivityItem","isReadAloud","imageLoaded","setImageLoaded","activityItem","details","activityItemText","displayNone","onLoad","assigned","nodeRef","dayLabel","exit","exitActive","transformMinutesToHours","num","hours","rhours","minutes","rminutes","EngagementTable","parent_data","total_time_is_estimate","ClassroomView","activitiesModal","setActivitiesModal","activityLoading","_useQuery2","engagement","engagementLoading","_useQuery3","weeklyMessageLoading","accounts_in_use","total_parent_accounts","hasPrev","hasNext","nextWeek","addWeeks","prevWeek","is_latest_report","is_earliest_report","useWeek","ToggleButtonGroup","ToggleButton","FamilyEngagement","coloring","DistrictsTableEca","setNotesModal","withoutObservationsColumn","districts_table_eca_excluded","noPagination","organization_name","organization_id","game_usage","obs_usage","on_track_all_subdomains","_row$obs_with_notes","obs_with_notes","start_date","end_date","classroom_ids","students_count","obs_notes_total","DistrictsTableKea","districts_table_kea_excluded","_row$kea_completion","kea_completion","_row$students_emergin","students_emerging","_row$students_approac","students_approaching","_row$students_demonst","students_demonstrating","ClassroomsTableEca","isClassroomDisabled","isSchoolDisabled","ClassroomsTableKea","StudentsTableEca","_row$original$attribu","student_ids","_row$attributes","StudentsTableKea","_options$search","_data$completion_perc","handleSearch","fetchUrl","shouldShowDownloadNotesButton","filterDate","getDay","completion_percent","onKeyDown","_data$report_data","_data$report_data$stu","_resp$download_file_l","download_file_locations","xlsx","NotesModal","_data$download_file_l","_data$observations2","_Object$values","_Object$values2","parameters","_useMemo","_data$observations","obsWithoutNotes","_useMemo2","number","StudentObservations","isStudentLevel","_ref6$data","_observation$assessor","scoring","assessors","MonitoringReportWrapper","fileTitle","monitoringReportURL","certificationStatusReportURL","MonitoringReport","_params$search","_options$page","_options$page3","getExcel","order_by","sort_by","full_search","_data$selection","debounceSearch","withoutDebounce","page_size","handleGetExcel","_params$search2","file_format","file_link","updater","_updater","_options$page2","_updater2","_updater$","_updater3","_options$page4","_updater4","_updater$2","Certification","certification","percentageText","download_link","CertificationStatusReport","ReportHome","faFile","keaReportURL","faChartBar","bulkReportURL","faDesktop","useChartData","datapoint","dependencies","setError","fetchData","use_chart_data_regeneratorRuntime","_yield$getDashboardIn","dashboardInfo","dependence","transformDateToISO","dt","valueOf","getIcon","StudentsOnTrack","showDetails","setShowDetails","studentChange","percent_student_on_track_change","secondHasValue","percent_students_on_track","toFixed","faInfoCircle","StudentsAssessed","studentsChange","active_students_change","active_students_count","ClassroomChange","classroomChange","active_classrooms_count_change","active_classroom_count","total_classroom_count","studentsCompletion","TeacherStudentsOnTrack","KeaOutcomes","total_students_completed","info_message","AssessmentWindow","isNoCheckpoints","isCompleted","isStarted","days","last_day","first_day","_1stChartContainer","_keaData$checkpoint_a","_keaData$checkpoint_a2","_keaData$checkpoint_a3","_keaData$checkpoint_a4","_useChartData","ChartSkeletonFirst","this_week_active_classrooms","last_week_active_classrooms","total_classrooms","total_students_scheduled","kea_outcomes","students_assessed_this_week","students_assessed_last_week","checkpoint_assessment_window","end_date_checkpoint","start_date_checkpoint","useAssessmentCompletionData","StudentModal","_data$result$last_nam","_data$result$attribut","_data$result$incomple","_data$result$complete","_data$result$incomple2","_data$result$complete2","timeRange","_useAssessmentComplet","time_range","time_range_display","incomplete_observations","complete_observations","incomplete_games","complete_games","DashboardSelect","hideIfNoOptions","dashboard_select_excluded","_useDashboardFiltersD","useDashboardFiltersData","_get","lodash","ChartLoaderOverlay","ChartSkeleton","isFirst","exportExcelFn","excelLoading","printTitle","_ref$expanded","chart_excluded","chartRef","handlePrint","useReactToPrint","time_range_name","isClassroomsDisabled","_row$original$schedul","_row$original$schedul2","_getValue","assessments_required","_row$scheduled","_row$all","_row$scheduled2","_row$all2","OrganizationsTable","organizations_table_excluded","_row$student$last_nam","class_type","initialState","useDashboardReducer","AssessmentCompletion","_useDashboardReducer","_useMutation","_options$search2","scheduled_objectives_only","assessment","defaultTypes","ExportModal","onClickSingle","onClickAll","onClickAllSecond","checkboxState","setCheckboxState","handleOpen","aria-labelledby","showLowest","defaultChecked","withPrint","WrappedComponent","triggerRef","renderPrintButton","componentProps","onBeforeGetContent","printAllHandler","printAllHandlerSecond","handleClick","printRef","inputValue","TableComponent","_rawValues","toSort","toEnd","_useTableOrder","useTableOrder","reversedArrow","order","handleChange","currentDomains","complete_classrooms","domain_data","foundDomain","abbreviation","rawValues","reverse","coloringValue","expected_domain_data","ThirdChart","ThirdChartComponent","_this2","_3rdChartContainer","defaultAge","selectedType","ageOptions","foundDefaultAgeOption","ages","typeOptions","types","anotherAge","chartData","isAllCompleteNull","FifthChart","toggleExpanded","complete_students","FifthChartComponent","_5thChartContainer","connect","addDataToExport","localCompleteStudents","_student$","_student$2","localData","pdfDisabled","chartRanges","0-3","3-5","TooltipContent","month","specificName","assessed_student_count","assessment_count","hasCommon","commonName","common_average_score","common_assessed_student_count","common_assessment_count","SixthChart","chartPreparedForPrinting","SixthChartComponent","isExported","commonData","totalEnrollment","exportAge","preparedData","ResponsiveContainer","LineChart","margin","right","CartesianGrid","strokeDasharray","XAxis","dataKey","tickFormatter","unixTime","YAxis","Legend","align","layout","Line","isAnimationActive","stroke","dot","Dot","strokeWidth","activeDot","_6thChartContainer","isChartHidden","useDefaultFilter","_data$domains","_data$age_categories","_newPrepared$ages","useFilters_excluded","classroomsRaw","age_categories","ageValues","clonedFilters","assessment_data","otherProps","foundSchool","foundClassroom","prepareData","total_enrollment","graphColors","_item$last_name","PieCharts","legendPayload","formatter","entry","subdomain","subdomain_id","PieChart","Pie","performance_data","innerRadius","outerRadius","SideLabel","labelLine","CentralLabel","labelText","percent_meeting_and_exceeding","assessments_taken","students_assessed","RADIAN","PI","_ref2$viewBox","viewBox","cx","cy","x","y","textAnchor","midAngle","radius","cos","sin","dominantBaseline","ObjectivesTabs","objective_ids","foundObjective","performance_band","DomainModal","BarChart","domainModal","setDomainModal","BarChartWrapper","left","angle","CustomTooltip","Bar","LabelList","Cell","percent_students_accessed","_subdomain$percent_st","DomainsOnTrack","showSubdomains","setShowSubdomains","barChartView","setBarChartView","pieChartData","getStudentData","selectedAge","studentData","assessmentData","Objective","itemObjectiveData","available","assessment_taken","include_observation_button","reason","TeacherView","isStudentLoading","sortedObjectives","objectivesRow","direct","nextObjective","objectivesType","areAllObjectivesAssessed","getRowsForTeacherView","_10thChartContainer","_age$options","setParams","setChartData","setFilterData","_data$filters$age_cat","newFilterData","weeksoffset","_data$filters","objectiveItem","student_assessment_data","any_student_data","getData","weeks","directions","ChartControls","moveUp","moveDown","random","setCounter","interval","setInterval","localCounter","clearInterval","QuickLinks","setModal","can_add_students","managementClassroom","stepIndex","managementOrganization","add_remove_edit_users","managementUsers","add_remove_edit_org_management","Walkthrough","_ref$joyride","sidebarOpen","getElementById","updateMenu","disableOverlayClose","spotlightPadding","handleJoyrideCallback","ACTIONS","START","EVENTS","STEP_AFTER","TARGET_NOT_FOUND","nextStepIndex","PREV","NEXT","disableCloseOnEsc","stateAdminCharts","chartComponentsInitial","teachersCharts","districtAdminsCharts","keaAdminsCharts","keaSchoolAdminsCharts","keaTeachersCharts","Dashboard","chartComponentList","orderedList","setOrderedList","move","indexToSwap","orderedListCopy","temp","chartComponents","_chartComponents","toArray","firstChart","restCharts","useChartSorting","textAlign","padding","Device","parsedData","parser","ua","os","family","architecture","EditCurriculumModal","curriculums","curr","_data$selectedCurricu","curriculum_id","selectedCurriculums","selectedCurr","setSelectedCurriculums","newSelectedCurriculums","curriculum_ids","CurriculumAdminView","_data$organization_cu","setEditCurriculumModal","_row$original$curricu","_row$teachers","_row$teachers$map","_teacher$last_name","showTeachers","setShowTeachers","max_age","_row$curriculums","curriculum_name","_row$original$curricu2","faPencilAlt","organization_curriculum_data","curriculumTable","curriculumTableHeader","DAILY","WEEKLY","getSectionType","isDaily","section_timeframe","isWeekly","transformAssignableToOption","assignable","day_number","assignable_name","assignable_id","transformObjectiveToOption","useCurriculumFilters","theme_week","useCurriculumData","classroomId","DetailedLessonModal","_detailedLessonModal$","_detailedLessonModal$2","_data$assignable_cont","_detailedLessonModal$3","_data$small_groups","_data$small_groups$st","_useCurriculumData","modalRef","assignable_content","category_id","small_groups","_group$students","DailySection","_authContext$domain","setDetailedLessonModal","_useCurriculumContext","useCurriculumContext","actions","dailyValues","week_days","section_id","section_name","_dailyValues","_dailyValues$objectiv","_dailyValues2","_dailyValues3","_dailyValues4","_dailyValues5","_dailyValues5$assigna","_dailyValues5$assigna2","saved","notGameObjectives","is_game","day_name","print_content","has_detailed_view","WeeklySection","PrintTool","_filterData$sections","sections","_getSectionType","section_data","AssignableDaily","theme_week_day_id","assignables","_useCurriculumContext2","defaultAssignable","firstSelected","setFirstSelected","secondSelected","setSecondSelected","textFields","setTextFields","lodashGet","_defaultAssignable$as","foundAssignable","portal_content","firstOptions","custom_assignable","assignable_objectives","secondOptions","creatableSelectStyle","isContent","borderWidth",":hover","multiValue","*","*:hover","_option$assignable_ob","_option$assignable_co","foundFieldIndex","newTextFields","onBlur","AssignableWeekly","setWeekly","assignableWeekly","ThemeSelect","_useCurriculumFilters","curriculum_weeks","themes","theme_week_id","formatted_week_name","theme_unit","PlanningTool","theme_weekdays","_section$assignables","_section$assignables2","savedWeeklyAssignables","CurriculumWeek","curriculumDataLoading","curriculumContainer","setPrintMode","curriculumButtons","DeleteCurriculumModal","_ref$data","existing_theme_week","week_date","deleteCurriculum","delete_entry","_e$response","_e$response$data","CurriculumSelect","curriculum_select_excluded","CurriculumHome","_data$school_year_wee","_data$school_year_wee2","setDeleteCurriculum","school_year_weeks","w","theme_week_name","CurriculumContext","Curriculum","_data$classroom_data$","_Object$keys","_curriculumData$objec2","setGoBackModal","_useCurriculumReducer","useCurriculumReducer","curriculumData","curriculumRefetch","_options$theme_week","setValues","existingWeek","setExistingWeek","_options$theme_week2","newValues","currentSection","sectionAssignable","filteredValue","existingValueIndex","filterValues","customValues","changedValues","savedValues","valuesWithout","customValuesWithout","valuesForSaving","uniqWith","_value$objectives","_value$objectives2","f","customValuesForSaving","_value$objectives3","_value$objectives4","_value$assignable_con","custom_assignables","findLastIndex","useCurriculum","goPrint","media","printIcon","faPrint","headerBorder","curriculumHeader","curriculumHeaderItem","classroom_data","theme_week_info","formatted_name","_curriculumData$objec","_curriculumData$objec3","_curriculumData$objec4","not_completed_students","X","Y","CurriculumPage","curriculumURL","RoleSelect","withMultiUser","role_select_excluded","rolesOptions","validationSchema","Yup","shape","scopes","of","UsersManagementModal","_data$given_name","_data$family_name","_data$email","_data$scopes$map","_data$scopes","accountCreate","accountEdit","activateStatus","setActivateStatus","accountStandards","user_id","can_access_standard_overrides","updateUsers","users_management_modal_regeneratorRuntime","cancelQueries","setQueryData","foundIndex","newUsers","defaultUserStandards","_accountStandards$pri","_accountStandards$sec","primary","is_user_default","secondary","formik","useFormik","validateOnBlur","validateOnChange","enableReinitialize","initialValues","override_standards","scopeLevel","customer","restore","setSubmitting","standard_override_primary","standard_override_secondary","_error$response","_error$response$data","_error$response$data$","finally","account_info","Email","Name","customer_id","standard_primary_override","standard_secondary_override","Success","FurtherActionAllowed","ExistingAccountID","Issue","_error$response2","Account","AccountID","onDelete","_error$response3","_error$response3$data","_error$response3$data2","isSubmitting","faUser","handleSubmit","userManagementFormRow","userManagementField","errors","userManagementFieldError","setFieldValue","UserScope","MultiUserScopes","StandardSelector","last_logged_in","submitForm","users_management_modal_excluded","_useTranslation2","is_org_default","_formik$values$scopes","_formik$values$scopes2","dropdownOpened","_formik$values$family","_scopes","orgScope","_formik$values$scopes3","multiUserScopes","MultiUserScope","addAccessButton","_districtAdminRoles$f","changes","setChanges","setRole","_scopes$find","_scopes$find$organiza","_scopes$find2","selectedOrganization","selectedScope","selectedSchools","selectedClassrooms","selectedOrganizationInScope","scopeBorder","scopeRow","scopeRowTitle","_scopes$find3","foundOrganization","scopeSelector","scopeSettingsButtons","newScopes","scopeButtons","CertificationModal","_data$certifications$","_data$certifications$2","Certificate","training_id","MultiUserScopesModal","districtAdmins","schoolAdmins","_parent_scope$parent_","UsersManagementTable","allowMultiUserEdit","onRoleChange","setMultiUserScopesModal","userModal","setUserModal","setCertificationModal","certificate_count","certifiedImg","_scopes$","_scopes$$organization","_row$original$family_","_scopes$0$school$name","_scopes$2","_scopes$2$school","_scopes$3","_scopes$3$school","_row$original$family_2","_scopes$0$classroom$n","_scopes$4","_scopes$4$classroom","_scopes$5","_scopes$5$classroom","_row$original$family_3","RequestsTable","isPending","refetchAccount","external_id","roster_id","setApprove","editExternalUser","denyLoading","_useMutation2","createAccount","createAccountLoading","denyExternalUser","sso_status","_e$response$data$erro","_e$response$data$erro2","approveExternalUser","external","_e$response$data$erro3","_e$response2","_e$response2$data","_e$response2$data$err","_row$last_name","UsersSsoModal","setIsPending","refetchExternalUsers","orgName","UsersManagement","_options$search3","_useUserManagementRed","useUserManagementReducer","getExcelLoading","setSsoModal","ssoManagementButtonDisplay","setSsoManagementButtonDisplay","external_users_query","useGetUsers","total_users","ssoButton","allow_multi_user_edit","generateDateConsideringTimezone","utcDate","unixToTimezone","unix","parsedUnixDate","ManagementSelect","management_select_excluded","EditStudentModalBasic","showMonthYearPicker","dateFormat","changeYear","getFullYear","toString","birth_date","year","getMonth","afterToday","EditStudentModalNotes","attribute","_formik$errors$attrib","attribute_id","validator_id","display_name","Attribute","Text","_attribute$options","_formik$values$attrib","_attribute$options2","_formik$values$attrib3","_formik$values$attrib4","home_language","setEll","late_start","dateInRightFormat","_options$map","_formik$values$attrib2","_options$map2","_option$value","EditStudentModal","_Object$keys2","studentAttributes","attributesLoading","late_start_date","when","studentCreate","studentEdit","studentDelete","studentMove","validateOnMount","birth_month","_attribute$default_va","default_value","dropout","faGraduationCap","paddingTop","EditParentModal","is_setup","setStatus","setChildren","isEmailChecked","setIsEmailChecked","parentCreate","accountDelete","parentCopy","parentRemoveFromStudent","parentValidate","edit_parent_modal_excluded","parentData","email_address","newEmail","setErrors","user_exists","onRemoveFromStudent","parent_account_id","faPersonBreastfeeding","onKeyPress","blur","submitCount","InputMask","mask","internal","ClassroomManagementTable","organization_flags","editStudentModal","setEditStudentModal","editParentModal","setEditParentModal","hasSpecificProperties","org_specific_properties","moment","_transformAge","_row$parents","_row$parents$map","_parent$last_name","_row$parents2","last_accessed","editStudent","ClassroomManagement","_data$students$","_data$students$$class","classroom_management_excluded","classroomManagementHeader","SSOAuth","providers","sso_auth_regeneratorRuntime","federatedSignIn","provider","googleLogo","cleverLogo","classLinkLogo","SsoErrorAuth","errorCode","parsedError","Login","bindActionCreators","isSSO","capsLock","setCapsLock","_onSubmit","login_regeneratorRuntime","challengeName","setUpPasswordURL","checkPhoneSettings","setUpMFAURL","verificationURL","deprecatedAuth","multiuserURL","errorMessages","_ref2$payload","refreshToken","token","handleDebounceCheckingAccount","debounceCheckingAccount","LoginForm","_query$error_descript","autoCapitalize","onKeyUp","getModifierState","ResendEmail","decodeURIComponent","resend_email_regeneratorRuntime","isAgreementChecked","passwordValidationScheme","SetUpPassword","authModule","set_up_password_regeneratorRuntime","_getPasswordValidatio","getPasswordValidationError","upperCase","lowerCase","specialLetters","longEnough","Row","Col","onPaste","lineHeight","ResetPassword","defaultEmail","decode","reset_password_regeneratorRuntime","SetUpMFA","_props$user$attribute","_props$user","_props$user$attribute2","setPhone","setCode","codeSent","setCodeSent","set_up_mfa_regeneratorRuntime","submitCode","phoneValid","ConfirmResetPassword","confirm_reset_password_regeneratorRuntime","resetPasswordURL","MFA","_props$user$challenge","mfa_regeneratorRuntime","challengeParam","CODE_DELIVERY_DESTINATION","envUserPoolId","MultiUser","accounts","setAccounts","_error$response$data$2","_tokens$getAccessToke","tokens","cognitoGroups","_response$Authenticat","Username","Password","multi_user_regeneratorRuntime","currentSession","getAccessToken","AuthenticationResult","resetQueries","onAccountClick","CheckEmail","executeRecaptcha","useGoogleReCaptcha","check_email_regeneratorRuntime","setFieldError","queryStringURL","encodeURIComponent","show_change_password","confirmResetPasswordURL","show_resend","resendEmailURL","isValid","DumpManagement","freshnessData","freshnessLoading","dump_management_regeneratorRuntime","cache","startdate","enddate","exception","freshness","stalest_schedule_refresh","data_available","_tagOptions$find","fetchDomain","schoolModal","setSchoolModal","classroomModal","setClassroomModal","studentModal","setStudentModal","debounceChangeSearch","newSearch","tagOptions","filter_tag","faBuildingColumns","faUsersRectangle","EditSchoolModal","EditClassroomModal","schoolCreate","schoolEdit","schoolDelete","_useClassroomFilters","tagValues","setTagValues","orgFilterTags","filter_tags","_step","availableTags","available_filters","filter_tag_id","_iterator","createForOfIteratorHelper","filter_group_id","err","filter_group_name","filter_name","useClassroomFilters","classroomCreate","classroomEdit","classroomDelete","LicenseLimitTracker","licenseInfo","limit","progressWrapper","animatet","parentModal","setParentModal","confirmed","SchoolTable","getToggleExpandedHandler","student_count","parent_count","min_age","OrganizationManagement","_domain$data3","_useOrganizationManag","useOrganizationManagementReducer","_domain$data","_domain$data2","schoolMatched","onlySchool","_domain$data$students","_domain$data$students2","classroomMatched","_classroom$students","classroomStudents","SchoolYearSelection","schoolYearsOptions","checkmark","existing_file","FileSharing","stepData","schoolYearName","_schoolYearsOptions$f","_schoolYearsOptions$f2","useUploadFileMutation","formData","goNextStep","completedSteps","template_link","newFile","upload_presigned_link_information","fields","FormData","append","AWSAccessKeyId","policy","signature","SettingUp","_useSettingUpReducer","useSettingUpReducer","schoolYearsList","school_years","schoolYearsLoading","school_year_name","AuthWrapperSubtitle","TimeLine","TimeLineItem","Domains","overallDomains","isStudentView","displayReadinessLevel","scrollToElement","foundElement","scrollIntoView","foundOverall","objectives_completed","questions_correct","total_questions","readiness_level","objectives_scheduled","students_with_kea_completed","total_students","KeaOverallAverageScore","scopeName","overallKeaData","overall_kea_data","_row$domains$","readiness_level_sorting_order","_row$student_notes","student_notes","ObjectivesTables","getColumns","objIndex","KeaReport","overall_domains","display_readiness_level_flag","student_result_objectives_by_domain","PrivateRoute","private_route_excluded","render","Redirect","CaptchaProvider","GoogleReCaptchaProvider","reCaptchaKey","AuthRoute","auth_route_excluded","YearSelector","scheduleGroups","scheduleGroup","ObjectiveExamples","scheduleExamplesList","scheduleExamplesTitle","AbridgedObjective","developmental_progression","SideModal","expandedView","setExpandedView","hasQuestions","WeekModal","closeModal","float","PrintableWeek","ScheduleTable","setAges","classroomAgesFilters","newAges","student_age_categories","weekModal","setWeekModal","setSelectedObjective","columnData","column_index","requiredColumnIndexes","filteredObjectives","requirements","week_of","getWeeksData","localObjectives","flatten","pointerEvents","_week$objectives$c$co","postfix","isObjectiveSelected","Schedule","_filters$checkpoint$o","_queryString$parse","schedule_excluded","setOptions","setYear","yearOptions","setYearOptions","_newOptions$ages","_newOptions$checkpoin","displayed_school_year","default_age_category","current_checkpoint","student_names","newOptions","defaultValues","school_options","so","defaultSchool","classroom_options","co","defaultClassroom","defaultCheckpoint","hasValue","isEqual","currentYearIndex","settings","setSettings","_data$filters$configu","configuration_settings","uncategorized","newSettings","querySettings","setting_id","optionValues","queryWithoutCurrentSetting","q","useSettings","Article","articleKey","PARENT","Articles","_queryString$parse$ro","_foundArticles$articl","_data$other_role_cate3","userRole","selectedRole","foundArticles","setFoundArticles","searchLoading","setSearchLoading","selectedCategory","_data$other_role_cate","_data$other_role_cate2","other_role_categories","handleSearchingResult","Articles_regeneratorRuntime","debounceSearching","supportURL","onFocus","article_name","_category$articles","button_name","SupportContainer","_location$pathname$sp","_data$categories2","pop","_article$assessment_p","_c$articles","foundArticle","_role$categories","assessment_purposes","_category$articles2","_role$categories2","_category$articles3","ExportPage","exportData","exportModule","isDataExist","pdf","containers","querySelectorAll","defaultScreenHeight","getHeight","defaultScreenWidth","getWidth","defaultOffset","customOffset","setFontSize","offsetTop","offsetLeft","lastOffsetTop","svgElements","descriptionElement","fromHTML","svgElement","_svgElement$getBBox","getBBox","addPage","svg2pdf","xOffset","yOffset","callbacks","iterationCallback","saveAsPDF","CertificateList","_data$certifications","_data$expired_certifi2","cert_name","award_date","faDownload","ProfileForm","editAccount","profile_form_regeneratorRuntime","tempNameOffset","tempVersionOffset","tempVersion","navUserAgent","browserName","appName","browserVersion","parseFloat","appVersion","getBrowserName","MfaModal","phone_number_verified","isMultiUser","mfa_enabled","accountVerify","accountVerifyLoading","editAccountLoading","mfa_modal_regeneratorRuntime","_e$response3","_e$response3$data","ProfileMfa","mfaEnabled","setMfaEnabled","mfaModal","setMfaModal","remove_phone_number","formatPhoneNumber","Profile","multi_user_id","statusDict","IN_PROGRESS","ReportTable","report_table_regeneratorRuntime","request_id","reportURL","retrieval","issue","report_name","request_timestamp","BulkReport","isReportListFetching","App","handleStorageEvent","IdleTimer","onIdle","isLogged","src_queryClient","store","QueryClient","defaultOptions","queries","refetchOnWindowFocus","Root","BrowserRouter","QueryClientProvider","client","ToastContainer","createRoot","dsn","integrations","Integrations","BrowserTracing","environment","tracesSampleRate","ellipsis","ellipsis1","ellipsis2","ellipsis3","hideableWrapper","hideableButton","showPasswordIcon","withCursor","css-g1d714-ValueContainer","selectedHeaderIcon","defaultObjective","defaultDomain","defaultResult","defaultWeek","defaultTag","defaultType","defaultStandard","defaultSchoolYear","defaultCheckpointView","selectedSchool","selectedClassroom","selectStudent","selectObjective","selectedDomain","selectDomain","selectAge","_useState13","_useState14","_useState15","_useState16","selectResult","_useState17","_useState18","_useState19","_useState20","selectedTag","_useState21","_useState22","selectType","_useState23","_useState24","selectedSchoolYear","selectSchoolYear","_useState25","_useState26","selectedCheckpointView","selectCheckpointView","selectedStandard","selectStandard","savedStandard","_useState27","_useState28","multipleSelect","orderBy","checkpoint_view","setter","_account$alignment_id","accountType","accountInfo","userInfo","domainInfo","_accountInfo$error$re","_accountInfo$error$re2","_accountInfo$error$re3","_accountInfo$error$re4","credentials","default_assessment_purpose","_account$credentials","_account$credentials$","fcWidget","defaultField","setField","setOrder","newField","useFilters_useFilters","useFilters_defaultValues","useAccountData_useAccountData","useTableOrder_useTableOrder","useArticles_useArticles","UPPERCASE_REGEX","LOWERCASE_REGEX","SPEC_SYMB_REGEX","matches","oneOf","test","_codebuild_output_src1944309005_src_CTB_web_portal_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__","redirectToParam","roles","organizationID","redirectTo","redirectPath","storage","operating_system","settingUpURL","isUsingAlternateDomain","isFromFederatedMultiUser","commonSignOutFlow","User does not exist.","User password cannot be reset in the current state.","Advanced_Reporting","checkEmailURL","parentReportURL","managementOrganizationURL","managementClassroomURL","managementUsersURL","managementScheduleURL","managementDumpURL","query_string__WEBPACK_IMPORTED_MODULE_0__","query_string__WEBPACK_IMPORTED_MODULE_0___default","lodash__WEBPACK_IMPORTED_MODULE_1__","applyParams","pickBy","Assessment_Games","features_training_components__WEBPACK_IMPORTED_MODULE_1__","Cognitive_Toybox_At_Home","Getting_Started","Introduction","Introduction_Lite","Introduction_To_Reports","Managing_Teacher_Accounts","Monitoring_Assessment_Collection","Observations","Parent_Resources","flexDirection","allow","allowFullScreen","Program_Outcomes_Reporting","Student_And_Organization_Management","Advanced_Reporting_FS","Assessment_Games_FS","Cognitive_Toybox_At_Home_FS","Getting_Started_Admins_FS","Getting_Started_FS","Introduction_FS","Introduction_To_Reports_FS","Monitoring_Assessment_Collection_FS","Observations_FS","Program_Outcomes_Reporting_FS","timesIcon"],"mappings":"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","file":"static/js/main.e4b8cbaf.chunk.js","sourcesContent":["import React from 'react'\nimport { format } from 'date-fns'\n\nexport const FreshnessInformation = ({\n date,\n isDataAvailable,\n title,\n className\n}) => (\n
\n {title}\n \n {' '}\n {isDataAvailable && date\n ? format(new Date(date * 1000), 'M/d/yyyy hh:mm a')\n : 'N/A'}\n \n
\n)\n","import React from 'react'\nimport classNames from 'classnames'\nimport styles from './switch.module.css'\n\nexport const Switch = ({ id, disabled, checked, onChange, className }) => (\n
\n \n \n \n \n
\n)\n","import React from 'react'\nimport classNames from 'classnames'\nimport styles from './switch-options.module.css'\nimport { Switch } from '../Switch/Switch'\n\nexport const SwitchOptions = ({\n leftText,\n rightText,\n setState,\n state,\n id,\n disabled,\n className,\n style,\n flexVersion\n}) => (\n \n
\n setState(false)}\n className={styles.pointer}\n >\n {leftText}\n \n
\n
\n setState(e.target.checked)}\n />\n
\n
\n setState(true)}\n className={styles.pointer}\n >\n {rightText}\n \n
\n \n)\n","import React from 'react'\nimport classNames from 'classnames'\nimport { Button as BootstrapButton } from 'react-bootstrap'\n\nimport styles from './button.module.css'\n\nexport const Button = ({\n blue,\n blueOutline,\n purple,\n wide,\n fullWidth,\n green,\n greenGrass,\n big,\n lightBlue,\n small,\n danger,\n success,\n error,\n white,\n outline,\n className,\n ...rest\n}) => (\n \n)\n","import React from 'react'\nimport classNames from 'classnames'\n\nimport styles from './loader.module.css'\n\nexport const Loader = ({ isOverlay, type = 'loader' }) => (\n \n
\n
\n
\n
\n
\n
\n \n)\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nexport const NoData = ({ text }) => {\n const { t } = useTranslation()\n return (\n
{text || t('basicComponents.noDataFound')}
\n )\n}\n","import React, { useRef, useEffect } from 'react'\nimport { uniqBy } from 'lodash'\nimport classNames from 'classnames'\nimport { Table as BootstrapTable } from 'react-bootstrap'\nimport ReactTooltip from 'react-tooltip'\nimport { useTranslation } from 'react-i18next'\n\nimport styleModules from './table.module.css'\nimport { NoData } from '../no-data'\n\nconst getHeader = (headerItem, noSticky) => (\n \n \n {headerItem.displayedName || headerItem.name}{' '}\n \n {headerItem.orderArrow ? (\n {headerItem.orderArrow}\n ) : (\n ''\n )}\n \n)\n\nconst getSubHeader = headers => {\n const data = uniqBy(\n headers.map(item => {\n const subheaders = headers.filter(c => c.name === item.name)\n return {\n name: item.name,\n subheader: subheaders?.map(c => ({\n name: c.subheader,\n id: c.id\n })) || {\n name: item.subheader,\n id: item.id\n },\n id: item.id\n }\n }),\n 'name'\n )\n\n return (\n <>\n \n \n {data.map(headerItem => (\n \n {headerItem.name}\n \n ))}\n \n \n {data.map(headerItem =>\n headerItem.subheader.map(s => (\n \n {s.name || ''}\n \n ))\n )}\n \n \n \n \n {data.map(headerItem => (\n \n
\n \n ))}\n \n
\n \n \n \n \n )\n}\n\nexport const Table = ({\n big,\n fixed,\n headers,\n subTableHeaders,\n subTableClass,\n values,\n styled,\n transparent,\n block,\n striped = true,\n stickyFirstColumn = true,\n subTable,\n className,\n withBottom,\n noDataMessage = 'No data found',\n children\n}) => {\n const { i18n } = useTranslation()\n const tableRef = useRef(null)\n useEffect(() => {\n ReactTooltip.rebuild()\n }, [i18n.language])\n\n const hasMultipleHeaders = Array.isArray(headers[0])\n const hasSubheader = headers[0]?.subheader !== undefined\n\n return (\n
\n {!!values.length && (\n \n {hasSubheader ? (\n getSubHeader(headers)\n ) : (\n \n {hasMultipleHeaders ? (\n headers.map((headerLine, index) => (\n \n {headerLine.map(headerItem =>\n getHeader(headerItem, index > 0)\n )}\n \n ))\n ) : (\n {headers.map(headerItem => getHeader(headerItem))}\n )}\n \n )}\n \n {values.map((innerValues, index) => {\n if (innerValues.length === 1 && headers.length > 1) {\n return (\n \n {innerValues[0]}\n \n )\n } else if (subTableHeaders) {\n return (\n <>\n \n {innerValues.map(\n (innerValue, index) =>\n index !== 0 && {innerValue}\n )}\n \n {!!innerValues[0].length && (\n \n \n \n \n \n )}\n \n )\n }\n return (\n \n {innerValues.map((innerValue, index) => (\n \n {innerValue}\n \n ))}\n \n )\n })}\n \n \n )}\n\n {headers.map(\n headerItem =>\n headerItem.tooltip && (\n \n {headerItem.tooltip}\n \n )\n )}\n {!values.length && }\n {children}\n {withBottom && !!values.length &&
}\n
\n )\n}\n","import React from 'react'\nimport classNames from 'classnames'\n\nimport styles from './achievement.module.css'\nexport const Achievement = ({\n title,\n known,\n unknown,\n items,\n children,\n bottomContent,\n className\n}) => (\n \n
{title}
\n\n
\n {items &&\n items.map(item => (\n \n {item.tag}\n
\n ))}\n {children}\n
\n\n {bottomContent && (\n
{bottomContent}
\n )}\n
\n)\n","import React from 'react'\nimport { useArticles } from 'shared/hooks'\nimport { Button, Loader } from 'shared/components'\n\nimport styles from './article.module.css'\n\nimport { ARTICLE_TYPE } from '../articles-container'\n\nexport const ArticleContainer = ({ articleId, onClose }) => {\n const { data, isLoading } = useArticles({\n articleType: ARTICLE_TYPE,\n article: articleId\n })\n\n return (\n
\n \n {isLoading && }\n {data && (\n
\n

{data.title}

\n
\n
\n )}\n
\n )\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faBook } from '@fortawesome/free-solid-svg-icons'\n\nimport styles from './article-list-item.module.css'\n\nexport const ArticleListItem = ({ article, onClick }) => {\n return (\n
\n {article.title}\n
\n )\n}\n","import React, { useState } from 'react'\nimport { useLocation } from 'react-router'\nimport { Form, InputGroup } from 'react-bootstrap'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faSearch } from '@fortawesome/free-solid-svg-icons'\nimport { Button, Loader, NoData } from 'shared/components'\nimport { useArticles } from 'shared/hooks'\n\nimport { ArticleContainer } from './article/article-container'\nimport { ArticleListItem } from '../components'\n\nexport const ARTICLE_TYPE = 'support'\nexport const ArticlesContainer = () => {\n const location = useLocation()\n const tag = location.pathname !== '/' ? location.pathname : '/dashboard'\n const { data, isLoading, isFetching } = useArticles({\n articleType: ARTICLE_TYPE,\n tag\n })\n\n const [search, setSearch] = useState('')\n const [selectedArticle, setSelectedArticle] = useState(null)\n\n if (isLoading || isFetching) {\n return \n }\n\n const filteredArticleList = data?.filter(\n article => article.title.toLowerCase().indexOf(search.toLowerCase()) !== -1\n )\n\n return (\n
\n {!selectedArticle && (\n <>\n
Got questions?
\n
\n \n setSearch(e.target.value)}\n placeholder=\"Search for help\"\n />\n \n \n \n \n
\n {filteredArticleList?.map(article => (\n setSelectedArticle(article)}\n />\n ))}\n {!filteredArticleList?.length && (\n \n )}\n \n )}\n
\n {selectedArticle && (\n setSelectedArticle(null)}\n />\n )}\n
\n
\n )\n}\n","import { WidgetWrapper } from './widget-wrapper/widget-wrapper'\nimport { WidgetHeader } from './widget-header/widget-header'\nimport { WidgetBody } from './widget-body/widget-body'\n\nconst WidgetComponent = {}\n\nWidgetComponent.Wrapper = WidgetWrapper\nWidgetComponent.Header = WidgetHeader\nWidgetComponent.Body = WidgetBody\n\nexport const Widget = WidgetComponent\n","import React from 'react'\nimport cn from 'classnames'\nimport { CSSTransition } from 'react-transition-group'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faQuestionCircle } from '@fortawesome/free-solid-svg-icons'\n\nimport styles from './widget-wrapper.module.css'\n\nexport const WidgetWrapper = ({ children, isOpened, setIsOpened }) => {\n return (\n
\n \n
{children}
\n \n\n
setIsOpened(!isOpened)}>\n Help \n
\n
\n )\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes } from '@fortawesome/free-solid-svg-icons'\n\nimport styles from './widget-header.module.css'\n\nexport const WidgetHeader = ({ children, onClose }) => {\n return (\n
\n
\n \n
\n
{children}
\n
\n )\n}\n","import React from 'react'\n\nimport styles from './widget-body.module.css'\n\nexport const WidgetBody = ({ children }) => {\n return
{children}
\n}\n","import React, { useContext, useState } from 'react'\nimport { AuthContext } from 'features/auth'\n\nimport { ArticlesContainer } from './articles-container'\n\nimport { Widget } from '../partials'\n\nexport const WidgetContainer = () => {\n const authContext = useContext(AuthContext)\n const [isOpened, setIsOpened] = useState(false)\n\n if (authContext.loading || !Object.keys(authContext).length) {\n return null\n }\n\n return (\n \n setIsOpened(false)}>Support\n \n \n \n \n )\n}\n","import React from 'react'\nimport { isBefore, isAfter, fromUnixTime } from 'date-fns'\nimport { useArticles } from 'shared/hooks'\n\nimport styles from './banner.module.css'\n\nimport { ARTICLE_TYPE } from '../banner-container'\n\nexport const Banner = ({ articleId }) => {\n const currentDate = new Date()\n const { data, isLoading: loading } = useArticles({\n articleType: ARTICLE_TYPE,\n article: articleId\n })\n\n if (loading) {\n return null\n }\n\n const { show_starting, show_until } = data\n const isEarlier =\n show_starting && isBefore(currentDate, fromUnixTime(show_starting))\n const isLater = show_until && isAfter(currentDate, fromUnixTime(show_until))\n\n if (isEarlier || isLater) {\n return null\n }\n\n return (\n
\n
{data.title}
\n
\n
\n )\n}\n","import React from 'react'\nimport { useArticles } from 'shared/hooks'\nimport { useAuthContext } from 'features/auth'\n\nimport { Banner } from './banner/banner'\n\nexport const ARTICLE_TYPE = 'banner'\n\nexport const BannerContainer = () => {\n const authContext = useAuthContext()\n const { data, isLoading } = useArticles({ articleType: ARTICLE_TYPE })\n\n if (authContext.loading || isLoading || !data) {\n return null\n }\n\n const filteredBanners = data.categories\n ?.map(category => category?.articles)\n ?.flat()\n ?.filter(Boolean)\n\n return (\n filteredBanners && (\n
\n {filteredBanners.map(banner => (\n \n ))}\n
\n )\n )\n}\n","import React from 'react'\nimport { useHistory, Link, withRouter } from 'react-router-dom'\nimport { Dropdown } from 'react-bootstrap'\nimport { Helmet } from 'react-helmet'\nimport { format } from 'date-fns'\nimport classNames from 'classnames'\nimport { useQueryClient } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport GitInfo from 'react-git-info/macro'\nimport { useAuthContext } from 'features/auth'\nimport { signOut } from 'features/auth/utils'\nimport { WidgetContainer } from 'features/widget'\nimport { Banner } from 'features/banner'\nimport { Sidebar, LanguageSelector, Loader } from 'shared/components'\nimport { homeURL, profileURL, parentHomeURL } from 'lib/links'\nimport { isLocalOrStaging } from 'lib/env'\nimport Logo from 'assets/logo-small.png'\nimport FrogStreetLogo from 'assets/images/frog-street-logo.svg'\n\nimport styles from './pageWrapper.module.css'\n\nconst isDev = isLocalOrStaging()\nconst gitInfo = GitInfo()\n\nconst PageWrapperContent = ({\n children,\n withoutContainer,\n title,\n className,\n isLoading\n}) => {\n const queryClient = useQueryClient()\n const { t } = useTranslation()\n const history = useHistory()\n const {\n user,\n isParent,\n enable_assessment_purposes,\n assessmentPurpose,\n setAssessmentPurpose,\n partnership,\n isKea\n } = useAuthContext()\n\n return (\n
\n \n {title || 'Cognitive ToyBox'}\n \n
\n
\n
\n \n
\n
\n \"Logo\"\n
\n
\n {t('pageWrapper.CTBWebPortal')}\n
\n
\n {partnership?.frog_street && (\n \n
\n \"FrogStreetLogo\"\n
\n
\n {t('pageWrapper.frogStreet')}\n
\n
\n )}\n \n \n
\n {enable_assessment_purposes?.includes('KEA') &&\n enable_assessment_purposes?.includes('ECA') && (\n \n \n {assessmentPurpose\n ? isKea\n ? 'CTB For KEA'\n : 'CTB For Schools'\n : t('pageWrapper.loading')}\n \n\n \n setAssessmentPurpose('KEA')}\n >\n CTB For KEA\n \n setAssessmentPurpose('ECA')}\n >\n CTB For Schools\n \n \n \n )}\n\n \n \n {user ? user.first_name : t('pageWrapper.loading')}\n \n\n \n history.push(profileURL)}>\n {t('pageWrapper.profile')}\n \n signOut(queryClient, history)}>\n {t('pageWrapper.logOut')}\n \n \n \n
\n
\n
\n
\n \n\n \n \n {isLoading ? : children}\n
\n\n \n {isDev && (\n
\n
{format(new Date(gitInfo.commit.date), 'MM/dd/yyyy hh:mm')}
\n
{gitInfo.commit.hash}
\n
{gitInfo.commit.message.substr(0, 200)}
\n
\n )}\n
\n )\n}\n\nclass PageWrapperErrorBoundaries extends React.Component {\n state = {\n hasError: false\n }\n\n static getDerivedStateFromError() {\n return { hasError: true }\n }\n\n render() {\n if (this.state.hasError) {\n this.props.history.push('/error')\n }\n\n return (\n \n {this.props.children}\n \n )\n }\n}\n\nexport const PageWrapper = withRouter(PageWrapperErrorBoundaries)\n","export const isLocalOrStaging = () => {\n const url = window.location.href\n\n return url.indexOf('localhost') !== -1 || url.indexOf('amplify') !== -1\n}\n","import React from 'react'\nimport Select, { components } from 'react-select'\nimport classNames from 'classnames'\nimport { Textfit } from '@tomplum/react-textfit'\n\nconst customStyles = {\n maxWidth: {\n control: (defaultStyles, state) => ({\n ...defaultStyles,\n width: state.selectProps.width || '100%',\n minHeight: '44px',\n cursor: 'pointer',\n borderColor: '#588ed8'\n }),\n container: (defaultStyles, state) => ({\n ...defaultStyles,\n width: state.selectProps.width || '100%'\n }),\n option: defaultStyles => ({\n ...defaultStyles,\n cursor: 'pointer'\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: '#588ed8'\n }),\n menuList: defaultStyles => ({\n ...defaultStyles\n })\n },\n big: {\n control: (defaultStyles, state) => ({\n ...defaultStyles,\n width: state.selectProps.width || '300px',\n minHeight: '44px',\n cursor: 'pointer',\n borderColor: '#588ed8'\n }),\n container: (defaultStyles, state) => ({\n ...defaultStyles,\n width: state.selectProps.width || '300px'\n }),\n option: defaultStyles => ({\n ...defaultStyles,\n cursor: 'pointer'\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: '#588ed8'\n }),\n menuList: defaultStyles => ({\n ...defaultStyles\n })\n },\n default: {\n control: (defaultStyles, state) => ({\n ...defaultStyles,\n width: state.selectProps.width || '250px',\n minHeight: '44px',\n cursor: 'pointer',\n borderColor: '#588ed8'\n }),\n container: (defaultStyles, state) => ({\n ...defaultStyles,\n width: state.selectProps.width || '250px'\n }),\n option: defaultStyles => ({\n ...defaultStyles,\n cursor: 'pointer'\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: '#588ed8'\n }),\n menuList: defaultStyles => ({\n ...defaultStyles\n })\n },\n extrasmall: {\n control: defaultStyles => ({\n ...defaultStyles,\n fontSize: '12px',\n width: '100px',\n height: '44px',\n cursor: 'pointer',\n borderColor: '#588ed8'\n }),\n container: defaultStyles => ({\n ...defaultStyles,\n fontSize: '12px',\n width: '100px'\n }),\n option: defaultStyles => ({\n ...defaultStyles,\n cursor: 'pointer'\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: '#588ed8'\n }),\n singleValue: defaultStyles => ({\n ...defaultStyles,\n fontSize: '12px'\n })\n },\n small: {\n control: defaultStyles => ({\n ...defaultStyles,\n width: '150px',\n height: '44px',\n cursor: 'pointer',\n borderColor: '#588ed8'\n }),\n container: defaultStyles => ({\n ...defaultStyles,\n width: '150px'\n }),\n option: defaultStyles => ({\n ...defaultStyles,\n cursor: 'pointer'\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: '#588ed8'\n }),\n singleValue: defaultStyles => ({\n ...defaultStyles,\n fontSize: '14px'\n })\n },\n average: {\n control: defaultStyles => ({\n ...defaultStyles,\n width: '200px',\n height: '44px',\n cursor: 'pointer',\n borderColor: '#588ed8'\n }),\n container: defaultStyles => ({\n ...defaultStyles,\n width: '200px'\n }),\n option: defaultStyles => ({\n ...defaultStyles,\n cursor: 'pointer'\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: '#588ed8'\n })\n },\n management: {\n control: defaultStyles => ({\n ...defaultStyles,\n width: '218px',\n height: '44px',\n cursor: 'pointer',\n borderColor: '#588ed8'\n }),\n container: defaultStyles => ({\n ...defaultStyles,\n width: '218px'\n }),\n option: defaultStyles => ({\n ...defaultStyles,\n cursor: 'pointer'\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: '#588ed8'\n })\n },\n gray: {\n control: defaultStyles => ({\n ...defaultStyles,\n width: '218px',\n height: '44px',\n cursor: 'pointer',\n borderColor: 'white',\n boxShadow: '2px 3px 5px 0px rgba(34, 60, 80, 0.2)',\n '&:hover': {\n borderColor: 'white'\n }\n }),\n container: defaultStyles => ({\n ...defaultStyles,\n width: '218px'\n }),\n option: defaultStyles => ({\n ...defaultStyles,\n cursor: 'pointer'\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: '#588ed8'\n })\n },\n topMenu: {\n control: (defaultStyles, state) => ({\n ...defaultStyles,\n width: state.selectProps.width || '250px',\n minHeight: '44px',\n cursor: 'pointer',\n borderColor: '#588ed8'\n }),\n container: (defaultStyles, state) => ({\n ...defaultStyles,\n width: state.selectProps.width || '250px'\n }),\n option: defaultStyles => ({\n ...defaultStyles,\n cursor: 'pointer'\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: '#588ed8'\n }),\n menu: defaultStyles => ({\n ...defaultStyles,\n bottom: '100%',\n top: 'auto',\n zIndex: 1000000\n })\n }\n}\n\nconst SingleValue = props => {\n return (\n \n \n {props.children}\n \n \n )\n}\n\nconst Option = props => {\n return (\n \n {props.children}\n \n )\n}\n\nconst customComponents = {\n Option,\n SingleValue\n}\n\nexport const StyledSelect = React.memo(function select({\n type = 'default',\n className,\n ...props\n}) {\n return (\n
\n \n ({\n ...defaultStyles,\n ...customStyles[type]?.menu?.(),\n zIndex: 2\n }),\n ...customStyles[type],\n zIndex: 100000\n }}\n {...props}\n autofocus={true}\n components={customComponents}\n isDisabled={\n props.isDisabled ||\n props.disabled ||\n !props.options?.filter(({ value }) => value).length\n }\n />\n \n
\n )\n})\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\nimport classNames from 'classnames'\n\nimport styles from './checkmark.module.css'\n\nexport const Checkmark = ({ checked, style, size, className }) => (\n \n \n
\n)\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { format } from 'date-fns'\nimport JSPDF from 'jspdf'\nimport 'jspdf-autotable'\nimport { Button, Modal } from 'shared/components'\nimport { exportExcel as handleExportExcelFn } from 'lib/exports'\nimport styles from './print-modal.module.css'\n\nexport const handleExportPdf = fileName => {\n const doc = new JSPDF()\n\n doc.autoTable({\n html: 'table',\n useCss: true,\n didParseCell: data => {\n data.cell.text[0] = data.cell.text[0]\n ?.split('\\t')[0]\n ?.replaceAll('\\n', '')\n return data\n }\n })\n doc.save(`${fileName + '_' + format(Date.now(), 'MM/dd/yyyy')}.pdf`)\n}\n\nexport const PrintModal = ({\n opened,\n title,\n handleClose,\n children,\n exportExcel,\n exportPdf,\n handleExportExcel,\n ...rest\n}) => {\n const { t } = useTranslation()\n const fileName = useMemo(() => title.toLowerCase().replaceAll(' ', '_'), [\n title\n ])\n\n return (\n \n \n {title}\n \n \n {\n handleClose()\n setTimeout(() => {\n window.print()\n }, 100)\n }}\n >\n {t('report.print')}\n \n {exportExcel && (\n \n handleExportExcel\n ? handleExportExcel()\n : handleExportExcelFn(document, fileName)\n }\n >\n {t('report.exportAsExcel')}\n \n )}\n {exportPdf && (\n handleExportPdf(fileName)}>\n {t('report.exportAsPDF')}\n \n )}\n {children}\n \n \n )\n}\n\nexport const PrintModalButton = props => (\n \n \n \n \n \n )}\n \n )\n}\n","import React from 'react'\nimport cn from 'classnames'\nimport { useTranslation } from 'react-i18next'\n\nimport styles from './language-selector.module.css'\n\nconst languages = ['en', 'es']\n\nexport const LanguageSelector = () => {\n const [, i18n] = useTranslation()\n\n return (\n
\n {languages.map(t => (\n i18n.changeLanguage(t)}\n className={cn({ [styles.selected]: i18n.language === t })}\n >\n {t}\n \n ))}\n
\n )\n}\n","import React from 'react'\n\nexport class PrintableWrapper extends React.Component {\n render() {\n return <>{this.props.children}\n }\n}\n","import React, { useLayoutEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Button, Modal } from 'shared/components'\n\nexport const ConfirmationDialog = ({\n text,\n onOk,\n onCancel,\n okText,\n cancelText\n}) => {\n const { t } = useTranslation()\n useLayoutEffect(() => {\n const submit = e => {\n if (e.key === 'Enter') {\n onOk()\n }\n }\n window.addEventListener('keypress', submit, {\n passive: true\n })\n return () => window.removeEventListener('keypress', submit)\n })\n return (\n \n \n
{text || t('basicComponents.confirmationDialog.sure')}
\n
\n \n \n \n \n
\n )\n}\n","import React from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowLeft, faArrowRight } from '@fortawesome/free-solid-svg-icons'\nimport { Button } from 'shared/components'\nimport styles from './week-selector.module.css'\n\nexport const WeekSelector = ({\n weekFilter,\n current_week,\n currentWeek,\n setCurrentWeek,\n loading\n}) => {\n const { t } = useTranslation()\n return (\n
\n
\n setCurrentWeek(currentWeek - 1)}\n >\n \n \n
\n {t('chart.eighth.selectedWeek')}:{' '}\n {format(new Date(current_week), 'MM/dd/yy')}\n
\n = weekFilter.last_week}\n onClick={() => setCurrentWeek(currentWeek + 1)}\n >\n \n \n
\n setCurrentWeek(0)}\n >\n {t('chart.eighth.setToCurrentWeek')}\n \n
\n )\n}\n","import React from 'react'\n\nexport class ErrorBoundary extends React.Component {\n constructor(props) {\n super(props)\n this.state = { hasError: false }\n }\n\n static getDerivedStateFromError() {\n return { hasError: true }\n }\n\n componentDidCatch() {\n this.setState({ hasError: true })\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.errorContent !== undefined\n ? this.props.errorContent\n : 'Error'\n }\n\n return this.props.children\n }\n}\n","import React from 'react'\nimport DefaultSelect from 'react-select'\n\nexport const Select = ({ selected, set, ...rest }) => {\n return \n}\n","export const toBase64 = file =>\n new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.readAsDataURL(file)\n reader.onload = () => resolve(reader.result.split('base64,')[1])\n reader.onerror = error => reject(error)\n })\n","import React, { useState, useCallback } from 'react'\nimport { useDropzone } from 'react-dropzone'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCameraRetro } from '@fortawesome/free-solid-svg-icons'\nimport { toBase64 } from 'lib/media-transform'\nimport styles from './dropzone.module.css'\n\nconst MAX_IMAGE_SIZE_IN_BYTE = 5000000\n\nconst filterCondition = ({ size }) => size < MAX_IMAGE_SIZE_IN_BYTE\n\nconst resizeImage = (file, maxWidth, maxHeight, quality) =>\n new Promise((resolve, reject) => {\n if (!file) {\n reject(new Error('No file provided.'))\n return\n }\n const reader = new FileReader()\n reader.onload = event => {\n if (!event.target?.result || typeof event.target?.result !== 'string') {\n return\n }\n const img = new Image()\n img.src = event.target.result\n img.onload = () => {\n let width = img.width\n let height = img.height\n if (width > maxWidth) {\n height *= maxWidth / width\n width = maxWidth\n }\n if (height > maxHeight) {\n width *= maxHeight / height\n height = maxHeight\n }\n\n const canvas = document.createElement('canvas')\n canvas.width = width\n canvas.height = height\n const ctx = canvas.getContext('2d')\n ctx.drawImage(img, 0, 0, width, height)\n\n const resizedImage = canvas.toDataURL(file.type, quality)\n const filename = file.name\n const resizedImageFile = dataURLtoFile(resizedImage, filename)\n\n resolve(resizedImageFile)\n }\n }\n reader.onerror = error => {\n reject(error)\n }\n reader.readAsDataURL(file)\n })\n\nconst dataURLtoFile = async (dataURL, filename) => {\n const blob = await (await fetch(dataURL)).blob()\n return new File([blob], filename, { type: blob.type })\n}\n\nexport const Dropzone = ({ onUpload, defaultFiles }) => {\n const { t } = useTranslation()\n const [files, setFiles] = useState(defaultFiles || [])\n\n const onDrop = useCallback(\n async acceptedFiles => {\n if (acceptedFiles.length + files.length > 3) {\n alert(t('basicComponents.dropzone.alert'))\n return\n }\n acceptedFiles = await Promise.all(\n acceptedFiles.map(file => resizeImage(file, 700, 700, 0.9))\n )\n if (!acceptedFiles.every(filterCondition)) {\n toast.error(t('basicComponents.dropzone.error'))\n }\n acceptedFiles = acceptedFiles.filter(filterCondition)\n const previewFiles = acceptedFiles.map(file =>\n Object.assign(file, {\n preview: URL.createObjectURL(file)\n })\n )\n setFiles(\n acceptedFiles.map(file =>\n Object.assign(file, {\n preview: URL.createObjectURL(file)\n })\n )\n )\n const newFiles = await Promise.all(acceptedFiles.map(toBase64))\n onUpload(\n newFiles.map((file, index) => ({\n format: acceptedFiles[index].type,\n data: file\n })),\n previewFiles,\n setFiles\n )\n },\n [files]\n )\n const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop })\n\n return (\n <>\n
\n \n {isDragActive && (\n
\n {t('basicComponents.dropzone.drop')} ...\n
\n )}\n {!isDragActive && !files.length && (\n
\n \n
\n )}\n {!isDragActive && !!files.length && (\n
\n {files.map(file => (\n
\n \n
{file.name}
\n
\n ))}\n
\n )}\n
\n \n )\n}\n","import React, { useState, useCallback } from 'react'\nimport { useDropzone } from 'react-dropzone'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCloudArrowUp, faFileExcel } from '@fortawesome/free-solid-svg-icons'\nimport classNames from 'classnames'\nimport styles from './dropzone.module.css'\n\nconst MAX_IMAGE_SIZE_IN_BYTE = 6000000\n\nexport const FileDropzone = ({\n onUpload,\n defaultFiles,\n className,\n fileTypes\n}) => {\n const { t } = useTranslation()\n const [file, setFile] = useState(defaultFiles)\n\n const onDrop = useCallback(\n acceptedFile => {\n acceptedFile = acceptedFile[0]\n if (!acceptedFile.size > MAX_IMAGE_SIZE_IN_BYTE) {\n toast.error(t('basicComponents.filesDropzone.error'))\n return\n }\n setFile(acceptedFile)\n onUpload(acceptedFile)\n },\n [file]\n )\n const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop })\n\n return (\n \n \n {isDragActive && (\n
\n {t('basicComponents.filesDropzone.drop')} ...\n
\n )}\n {!isDragActive && !file && (\n
\n
\n {t('basicComponents.filesDropzone.drag')}\n
\n \n
{t('basicComponents.filesDropzone.click')}
\n {fileTypes && (\n
\n {t('basicComponents.filesDropzone.supportedTypes', { fileTypes })}\n
\n )}\n
\n )}\n {!isDragActive && !!file && (\n
\n \n
{file.name}
\n
\n )}\n \n )\n}\n","import React from 'react'\nimport { ProgressBar } from 'react-bootstrap'\nimport classNames from 'classnames'\n\nimport styles from './percentage-scale.module.css'\n\nconst PERCENT_METRIC = {\n bad: 30,\n normal: 60\n}\n\nexport const PercentageScale = ({ percent, className }) => {\n const percentNumber = Number(percent.replace('%', ''))\n return (\n \n )\n}\n","import React from 'react'\nimport { format } from 'date-fns'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPlay } from '@fortawesome/free-solid-svg-icons'\n\nimport styles from '../styled-date-picker.module.css'\n\nexport const CustomHeader = ({\n date,\n decreaseMonth,\n increaseMonth,\n prevMonthButtonDisabled,\n nextMonthButtonDisabled\n}) => (\n
\n \n
\n {format(date, 'MMMM yyyy')}\n
\n \n
\n)\n","import React, { useState, useRef, useCallback } from 'react'\nimport classNames from 'classnames'\nimport DatePicker from 'react-datepicker'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCalendar } from '@fortawesome/free-solid-svg-icons'\n\nimport { CustomHeader } from './components/CustomHeader'\nimport styles from './styled-date-picker.module.css'\n\nexport const RangeDatePicker = ({\n setDate,\n className,\n defaultDate,\n ...rest\n}) => {\n const componentRef = useRef()\n const [startDate, setStartDate] = useState(\n defaultDate?.start ? new Date(defaultDate.start) : null\n )\n const [endDate, setEndDate] = useState(\n defaultDate?.end ? new Date(defaultDate.end) : null\n )\n const onDateChange = useCallback(dates => {\n const [start, end] = dates\n setStartDate(start)\n setEndDate(end)\n if (start && end) {\n setDate({ start, end })\n }\n }, [])\n return (\n
\n componentRef.current.setOpen(true)}\n />\n \n
\n )\n}\n","import React, { useRef } from 'react'\nimport classNames from 'classnames'\nimport DatePicker from 'react-datepicker'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCalendar } from '@fortawesome/free-solid-svg-icons'\n\nimport { CustomHeader } from './components/CustomHeader'\nimport styles from './styled-date-picker.module.css'\n\nexport const StyledDatePicker = ({\n className,\n gray,\n disabled,\n isClearable,\n selected,\n ...props\n}) => {\n const componentRef = useRef()\n return (\n \n {!(isClearable && selected) && (\n componentRef.current.setOpen(true)}\n />\n )}\n \n \n )\n}\n","import React, { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Button, PrintModal } from 'shared/components'\n\nimport styles from './report-buttons.module.css'\n\nexport const ReportButtons = ({\n goBack,\n title,\n subtitle,\n printModalChildren,\n buttonsDisabled,\n exportExcel = true,\n exportPdf = true\n}) => {\n const { t } = useTranslation()\n const [printModal, setPrintModal] = useState(false)\n\n return (\n <>\n
\n setPrintModal(true)}\n purple\n disabled={buttonsDisabled}\n >\n {t('report.print')}\n \n
\n setPrintModal(false)}\n >\n {printModalChildren}\n \n \n )\n}\n","import React, { useState, useLayoutEffect } from 'react'\nimport classNames from 'classnames'\nimport { faArrowDown, faArrowUp } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport styles from './bouncing-arrow.module.css'\n\nconst scrollToTop = containerRef =>\n containerRef.current.scrollTo({\n top: 0,\n behavior: 'smooth'\n })\n\nconst scrollToBottom = containerRef =>\n containerRef.current.scrollTo({\n top: containerRef.current.scrollHeight,\n behavior: 'smooth'\n })\n\nexport const BouncingArrow = ({ containerRef, className }) => {\n const [isScrollTop, setIsScrollTop] = useState(false)\n const [isBackground, setIsBackground] = useState(false)\n const [isHide, setIsHide] = useState(false)\n useLayoutEffect(() => {\n if (!containerRef.current) return\n const updateScroll = () => {\n setIsScrollTop(\n containerRef.current.scrollTop + 5 >\n containerRef.current.scrollHeight - containerRef.current.clientHeight\n )\n setIsBackground(\n containerRef.current.scrollTop + 100 <\n containerRef.current.scrollHeight - containerRef.current.clientHeight\n )\n }\n containerRef.current.addEventListener('scroll', updateScroll, {\n passive: true\n })\n return () =>\n containerRef.current?.removeEventListener('scroll', updateScroll)\n })\n\n useLayoutEffect(() => {\n if (!containerRef.current) return\n const updateOnResize = () => {\n if (!containerRef.current) return\n setIsBackground(\n containerRef.current.scrollTop + 100 <\n containerRef.current.scrollHeight - containerRef.current.clientHeight\n )\n if (\n containerRef.current.scrollHeight ===\n containerRef.current.offsetHeight ||\n containerRef.current.scrollHeight < 500 ||\n containerRef.current.scrollHeight + 15 ===\n containerRef.current.offsetHeight\n ) {\n setIsHide(true)\n } else {\n setIsHide(false)\n }\n }\n updateOnResize()\n // eslint-disable-next-line no-unused-expressions\n containerRef?.current?.addEventListener(\n 'DOMSubtreeModified',\n updateOnResize,\n {\n passive: true\n }\n )\n return () =>\n containerRef?.current?.removeEventListener(\n 'DOMSubtreeModified',\n updateOnResize\n )\n })\n return (\n !isHide && (\n \n isScrollTop ? scrollToTop(containerRef) : scrollToBottom(containerRef)\n }\n >\n
\n \n
\n )\n )\n}\n","import { useMemo, useState } from 'react'\n\nfunction range(start, end) {\n const length = end - start + 1\n return Array.from({ length }, (_, index) => index + start)\n}\n\nexport const DOTS = 'dots'\n\nexport function usePagination({\n total,\n siblings = 1,\n boundaries = 1,\n page,\n initialPage = 1,\n onChange\n}) {\n const _total = Math.max(Math.trunc(total), 0)\n const [activePage, setActivePage] = useUncontrolled({\n value: page,\n onChange,\n defaultValue: initialPage,\n finalValue: initialPage\n })\n\n const setPage = pageNumber => {\n if (pageNumber <= 0) {\n setActivePage(1)\n } else if (pageNumber > _total) {\n setActivePage(_total)\n } else {\n setActivePage(pageNumber)\n }\n }\n\n const next = () => setPage(activePage + 1)\n const previous = () => setPage(activePage - 1)\n const first = () => setPage(1)\n const last = () => setPage(_total)\n\n const paginationRange = useMemo(() => {\n const totalPageNumbers = siblings * 2 + 3 + boundaries * 2\n if (totalPageNumbers >= _total) {\n return range(1, _total)\n }\n\n const leftSiblingIndex = Math.max(activePage - siblings, boundaries)\n const rightSiblingIndex = Math.min(\n activePage + siblings,\n _total - boundaries\n )\n\n const shouldShowLeftDots = leftSiblingIndex > boundaries + 2\n const shouldShowRightDots = rightSiblingIndex < _total - (boundaries + 1)\n\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = siblings * 2 + boundaries + 2\n return [\n ...range(1, leftItemCount),\n DOTS,\n ...range(_total - (boundaries - 1), _total)\n ]\n }\n\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = boundaries + 1 + 2 * siblings\n return [\n ...range(1, boundaries),\n DOTS,\n ...range(_total - rightItemCount, _total)\n ]\n }\n\n return [\n ...range(1, boundaries),\n DOTS,\n ...range(leftSiblingIndex, rightSiblingIndex),\n DOTS,\n ...range(_total - boundaries + 1, _total)\n ]\n }, [_total, siblings, activePage])\n\n return {\n range: paginationRange,\n active: activePage,\n setPage,\n next,\n previous,\n first,\n last\n }\n}\n\nfunction useUncontrolled({\n value,\n defaultValue,\n finalValue,\n onChange = () => {}\n}) {\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue !== undefined ? defaultValue : finalValue\n )\n\n const handleUncontrolledChange = (val, ...payload) => {\n setUncontrolledValue(val)\n // eslint-disable-next-line no-unused-expressions\n onChange?.(val, ...payload)\n }\n\n if (value !== undefined) {\n return [value, onChange, true]\n }\n\n return [uncontrolledValue, handleUncontrolledChange, false]\n}\n","import React, { useState, useMemo, useEffect, useRef } from 'react'\nimport classNames from 'classnames'\nimport { Form, Pagination } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport ReactTooltip from 'react-tooltip'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faSlidersH,\n faLongArrowAltUp,\n faLongArrowAltDown,\n faEyeSlash,\n faTimes,\n faSort,\n faAngleDown\n} from '@fortawesome/free-solid-svg-icons'\nimport {\n flexRender,\n getCoreRowModel,\n getSortedRowModel,\n getFilteredRowModel,\n getFacetedMinMaxValues,\n getFacetedUniqueValues,\n useReactTable,\n getExpandedRowModel\n} from '@tanstack/react-table'\nimport { StyledSelect, NoData, Checkbox } from 'shared/components'\nimport { useClickOutside } from 'shared/hooks/use-click-outside'\n\nimport { usePagination } from 'shared/hooks/use-pagination'\nimport styles from './tan-stack-table.module.css'\n\nfunction replaceNullWithUndefined(obj) {\n if (obj === null) {\n return undefined\n }\n if (typeof obj !== 'object' || obj instanceof Array) {\n return obj\n }\n return Object.entries(obj).reduce(\n (a, [k, v]) => (v === null ? a : ((a[k] = replaceNullWithUndefined(v)), a)),\n {}\n )\n}\n\nexport const TanStackTable = React.memo(function table({\n data,\n columns,\n sortBy = [],\n className,\n dispatch,\n filteredBy,\n withoutFooter,\n striped,\n noDataText,\n pageIndex,\n pageSize,\n pageCount = -1,\n onPaginationChange,\n onSortingChange,\n // site - subobjective\n headerChildren,\n children,\n centered,\n blue = true,\n red,\n styled = true,\n mobile = true,\n sticky = true,\n renderSubComponent,\n getRowCanExpand,\n id,\n getIsRowExpanded\n}) {\n const { t } = useTranslation()\n const [sorting, setSorting] = useState(sortBy)\n const [columnFilters, setColumnFilters] = useState([])\n const [columnVisibility, setColumnVisibility] = useState({})\n const [tableSettings, setTableSettings] = useState(false)\n const roundedPageCount = Math.ceil(pageCount)\n const getPagination = usePagination({\n total: roundedPageCount,\n page: pageIndex\n })\n\n const pagination = useMemo(\n () => ({\n pageIndex,\n pageSize\n }),\n [pageIndex, pageSize]\n )\n\n // remove all nullable fields (to sort them to the end)\n const preprocessedData = useMemo(\n () => data?.map(obj => replaceNullWithUndefined(obj)),\n [data]\n )\n\n const table = useReactTable({\n // global\n data: preprocessedData,\n columns,\n state: {\n sorting: onSortingChange ? sortBy : sorting,\n columnFilters,\n columnVisibility,\n pagination\n },\n debugTable: false,\n debugHeaders: false,\n debugColumns: false,\n getCoreRowModel: getCoreRowModel(),\n // sorting\n manualSorting: !!onSortingChange,\n onSortingChange: onSortingChange || setSorting,\n getSortedRowModel: getSortedRowModel(),\n // filtering\n getFilteredRowModel: getFilteredRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n onColumnFiltersChange: setColumnFilters,\n getFacetedMinMaxValues: getFacetedMinMaxValues(),\n // column visibility\n onColumnVisibilityChange: setColumnVisibility,\n // expanding\n getRowCanExpand,\n getExpandedRowModel: getExpandedRowModel(),\n getIsRowExpanded,\n // pagination\n pageCount: roundedPageCount,\n manualPagination: !!onPaginationChange,\n onPaginationChange\n })\n return (\n \n {headerChildren}\n {filteredBy && !!Object.keys(filteredBy).some(k => filteredBy[k]) && (\n
\n
{t('basicComponents.table.filteredBy')}:
\n
\n {Object.keys(filteredBy).map(\n key =>\n filteredBy[key] && (\n \n {filteredBy[key]}\n \n dispatch({\n type: `set${key.charAt(0).toUpperCase() +\n key.slice(1)}`,\n [key]: null\n })\n }\n className={styles.filterValueCrossIcon}\n icon={faTimes}\n />\n
\n )\n )}\n
\n \n )}\n\n {/* TABLE */}\n \n \n {table.getHeaderGroups().map(headerGroup => (\n \n {headerGroup.headers.map(header => (\n \n ))}\n {/* Column visibility */}\n {/* will show column visibility only for first header row */}\n {headerGroup.depth === 0 ? (\n \n setTableSettings(!tableSettings)}\n />\n {tableSettings && (\n \n )}\n \n ) : (\n \n )}\n \n ))}\n \n \n {table.getRowModel().rows.map(row => (\n \n \n {row.getVisibleCells().map(cell => {\n const backGroundColor =\n cell.column.columnDef.backGroundColor &&\n cell.column.columnDef.backGroundColor(cell.getValue())\n return (\n \n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n \n )\n })}\n \n \n {row.getIsExpanded() && (\n \n {/* 2nd row is a custom 1 cell row */}\n \n {renderSubComponent({ row })}\n \n \n )}\n \n ))}\n \n {/* Footer (now we only use the blue bar without any data) */}\n {!withoutFooter && !!table.getRowModel().rows.length && (\n \n \n {table.getFooterGroups()[0]?.headers.map(header => (\n \n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.footer,\n header.getContext()\n )}\n \n ))}\n \n \n \n )}\n {/* Tooltip */}\n {table.getHeaderGroups().map(headerGroup =>\n headerGroup.headers.map(\n header =>\n header.column.columnDef.tooltip && (\n \n {header.column.columnDef.tooltip}\n \n )\n )\n )}\n \n {/* No data message */}\n {!table.getRowModel().rows.length && }\n {!!(onPaginationChange && (roundedPageCount || 1) - 1) && (\n
\n
\n {t('basicComponents.table.paginationCaption', {\n from: Math.round(\n pagination.pageIndex * pagination.pageSize + 1 || 1\n ),\n to: Math.round(\n pagination.pageIndex + 1 !== roundedPageCount\n ? (pagination.pageIndex + 1) * pagination.pageSize || 1\n : pageCount * pagination.pageSize || 1\n ),\n total: Math.round(pageCount * pagination.pageSize || 1)\n })}\n
\n \n table.setPageIndex(0)}\n disabled={!table.getCanPreviousPage()}\n />\n table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n />\n {getPagination.range.map(page =>\n page === 'dots' ? (\n \n ) : (\n table.setPageIndex(page - 1)}\n >\n {page}\n \n )\n )}\n table.nextPage()}\n disabled={!table.getCanNextPage()}\n />\n table.setPageIndex(table.getPageCount() - 1)}\n disabled={!table.getCanNextPage()}\n />\n \n
\n )}\n {children}\n \n )\n})\n\nconst Column = ({ header, table, filteredBy, dispatch }) => {\n const [columnSettings, setColumnSettings] = useState(false)\n useEffect(() => {\n if (\n filteredBy &&\n header.column.id in filteredBy &&\n header.column.columnDef.enableColumnFilter\n ) {\n header.column.setFilterValue(filteredBy[header.column.id])\n }\n }, [filteredBy])\n const colSpan = useMemo(() => {\n // if that is multicolumn with children\n // right now only for the monitoring report\n const children = header.column.columns.filter(c => c.getIsVisible())\n if (children && children.length) {\n return children.length\n }\n return undefined\n }, [header])\n\n return (\n \n {// if no header\n typeof header.column.columnDef.header === 'function' ||\n // if subheader without parent\n (header.depth > 1 && !header.column.parent) ? null : (\n <>\n \n !header.column.columnDef.columns?.length &&\n !header.column.columnDef.hideSettings &&\n setColumnSettings(!columnSettings)\n }\n >\n \n {flexRender(header.column.columnDef.header, header.getContext())}\n \n {/* Setting/Sorting icon */}\n {!header.column.columnDef.columns?.length &&\n !header.column.columnDef.hideSettings &&\n (columnSettings ? (\n \n ) : (\n {\n asc: (\n \n ),\n desc: (\n \n )\n }[header.column.getIsSorted()] ?? (\n \n )\n ))}\n \n\n {/* Column Menu */}\n {columnSettings && (\n \n )}\n \n )}\n \n )\n}\n\nconst ColumnSettings = ({\n header,\n dropdownOpen,\n setDropdownOpen,\n filteredBy,\n dispatch,\n ...rest\n}) => {\n const { t } = useTranslation()\n const columnVisibility = header.column.getLeafColumns()[0]\n const ref = useRef(null)\n useClickOutside(ref, () => {\n if (dropdownOpen) {\n setDropdownOpen(false)\n }\n })\n const currentSorting = header.column.getIsSorted()\n\n const sortingLabel = header.column.columnDef.meta?.sortingLabel ?? 'numeric'\n\n return (\n
\n {\n header.column.toggleSorting(false)\n setDropdownOpen(false)\n }}\n >\n {t(`basicComponents.table.sort.${sortingLabel}Asc`)}\n
\n {\n header.column.toggleSorting(true)\n setDropdownOpen(false)\n }}\n >\n {t(`basicComponents.table.sort.${sortingLabel}Desc`)}\n \n\n setDropdownOpen(false)}\n filteredBy={filteredBy}\n dispatch={dispatch}\n />\n\n {/* Dropdown */}\n {header.column.columnDef.dropdown &&\n header.column.columnDef.dropdown(() => setDropdownOpen(false))}\n\n
\n\n \n \n {t('basicComponents.table.hideColumn')}\n \n \n )\n}\n\n/*\n We have 3 types of filters -\n one that send a query when user select sth (school, classroom, student, domain...)\n and second that simply filter data in the table (age, type) and send it to url\n and last one Min - Max filter\n*/\nconst Filter = ({ column, onClick, filteredBy, dispatch }) => {\n const { t } = useTranslation()\n const firstValue =\n column.getFacetedUniqueValues()?.keys() &&\n Array.from(column.getFacetedUniqueValues()?.keys()).filter(Boolean)?.[0]\n const columnFilterValue = column.getFilterValue()\n\n /* We insert the filter that send the query as component in the column\n Such filters send parameters to the url */\n if (column.columnDef.filter) {\n return (\n
\n {column.columnDef.filter(onClick, column)}\n
\n )\n }\n\n // if all values are null, return null\n if (!firstValue) return null\n\n if (!column.columnDef.enableColumnFilter) return null\n return typeof firstValue === 'number' ? (\n // Min - Max filter\n
\n column.setFilterValue(old => [value, old?.[1]])}\n isError={\n Number(columnFilterValue?.[0]) >\n Number(\n (columnFilterValue?.[1] || column.getFacetedMinMaxValues()?.[1]) ??\n ''\n )\n }\n placeholder={`${t('basicComponents.table.min')} ${\n column.getFacetedMinMaxValues()?.[0]\n ? `(${column.getFacetedMinMaxValues()?.[0]})`\n : ''\n }`}\n />\n \n value > column.setFilterValue(old => [old?.[0], value])\n }\n isError={\n Number(columnFilterValue?.[1]) <\n Number(\n (columnFilterValue?.[0] || column.getFacetedMinMaxValues()?.[0]) ??\n ''\n )\n }\n placeholder={`${t('basicComponents.table.max')} ${\n column.getFacetedMinMaxValues()?.[1]\n ? `(${column.getFacetedMinMaxValues()?.[1]})`\n : ''\n }`}\n />\n
\n ) : (\n /* For filters that simply filter data in a table (without sending a query), we use this component\n Such filters send parameters to the url */\n \n )\n}\n\nconst DebouncedInput = ({\n value: initialValue,\n onChange,\n debounce = 500,\n isError,\n className,\n ...props\n}) => {\n const [value, setValue] = useState(initialValue)\n useEffect(() => {\n setValue(initialValue)\n }, [initialValue])\n useEffect(() => {\n const timeout = setTimeout(() => {\n onChange(value)\n }, debounce)\n\n return () => clearTimeout(timeout)\n }, [value])\n return (\n setValue(e.target.value)}\n />\n )\n}\n\nconst FilterByData = ({ column, onClick, filteredBy, dispatch }) => {\n const { t, i18n } = useTranslation()\n const defaultValue = useMemo(\n () => ({ label: t('basicComponents.filters.all'), value: null }),\n [i18n.language]\n )\n const value = column.getFilterValue()\n const sortedUniqueValues = useMemo(\n () =>\n Array.from(column.getFacetedUniqueValues().keys())\n .sort()\n .filter(Boolean)\n .map(item => ({\n label: Array.isArray(item) ? item.join(' ') : item,\n value: item\n })),\n [column.getFacetedUniqueValues()]\n )\n if (sortedUniqueValues.length < 2) return null\n\n return (\n {\n column.setFilterValue(item.value)\n onClick()\n if (dispatch) {\n dispatch({ type: 'setOptions', options: { [column.id]: item.value } })\n }\n }}\n />\n )\n}\n\nconst TableSettings = ({ table, dropdownOpen, setDropdownOpen, ...rest }) => {\n const { t } = useTranslation()\n const ref = useRef(null)\n useClickOutside(ref, () => {\n if (dropdownOpen) {\n setDropdownOpen(false)\n }\n })\n\n return (\n
\n \n \n \n {table.getAllLeafColumns().map(\n column =>\n typeof column.columnDef.header === 'string' && (\n \n \n \n )\n )}\n
\n )\n}\n","import React, { useRef } from 'react'\nimport { Swiper } from 'swiper/react'\nimport { Pagination, Navigation } from 'swiper'\nimport classNames from 'classnames'\n\nimport styles from './styled-swiper.module.css'\n\nexport const StyledSwiper = ({\n containerClassName,\n className,\n children,\n arrowSize = 45,\n isCentered,\n ...rest\n}) => {\n const paginationRef = useRef(null)\n return (\n \n \n {children}\n \n
\n
\n )\n}\n","import React, { useState, useRef, useLayoutEffect } from 'react'\nimport classNames from 'classnames'\nimport { Form } from 'react-bootstrap'\n\nimport styles from './password-field.module.css'\n\nexport const PasswordField = ({\n className,\n value,\n onChange,\n newPassword,\n ...rest\n}) => {\n const [truePassword, setTruePassword] = useState('')\n const [hiddenPassword, setHiddenPassword] = useState('')\n // Putting the cursor in the right place\n const [selection, setSelection] = useState(null)\n const ref = useRef(null)\n useLayoutEffect(() => {\n if (selection && ref.current) {\n ref.current.setSelectionRange(selection[0], selection[1])\n }\n }, [selection])\n\n return (\n
\n {\n let password = ''\n const changedPassword = e.target.value\n const offset = changedPassword.length - value.length\n // position of the new added symbol(s)\n const index = e.target.selectionStart - offset\n const showLength = 1\n // ctrl A\n if (!changedPassword.includes('•')) {\n onChange(changedPassword)\n password = changedPassword\n } else if (offset > 0) {\n // if we add new characters to any position\n password =\n value.substring(0, index) +\n changedPassword.substring(index, index + offset) +\n value.substring(index, value.length)\n onChange(password)\n } else {\n // if we delete characters from any position\n password =\n value.substring(0, e.target.selectionEnd) +\n value.substring(index, value.length)\n onChange(password)\n }\n // Change the visible string\n setHiddenPassword(\n changedPassword\n .substring(0, changedPassword.length - showLength)\n .replace(/./g, '•') +\n changedPassword.substring(\n changedPassword.length - showLength,\n changedPassword.length\n )\n )\n // place the cursor in the desired position\n setSelection([index + offset, index + offset])\n setTruePassword(password)\n }}\n {...rest}\n />\n {!newPassword && (\n {\n setHiddenPassword(e.target.value.replace(/./g, '•'))\n onChange(e.target.value)\n setTruePassword(e.target.value)\n }}\n />\n )}\n
\n )\n}\n","import React from 'react'\nimport { Modal as BootstrapModal } from 'react-bootstrap'\nimport classNames from 'classnames'\nimport { Loader, ConfirmationDialog } from 'shared/components'\n\nimport styles from './modal-components.module.css'\n\nexport const Modal = ({\n isLoading,\n confirmationDialog,\n setConfirmationDialog,\n children,\n contentClassName,\n ...rest\n}) => {\n if (confirmationDialog) {\n return (\n {\n if (confirmationDialog.action) {\n confirmationDialog.action()\n }\n setConfirmationDialog(null)\n }}\n onCancel={() => {\n if (confirmationDialog.onCancel) {\n confirmationDialog.onCancel()\n }\n setConfirmationDialog(null)\n }}\n />\n )\n }\n return (\n \n {isLoading && }\n {!isLoading && children}\n \n )\n}\n","import { Modal as ModalComponent } from './components/modal'\nimport { ModalHeader } from './components/modal-header'\nimport { ModalBody } from './components/modal-body'\nimport { ModalTitle } from './components/modal-title'\nimport { ModalSubtitle } from './components/modal-subtitle'\nimport { ModalFooter } from './components/modal-footer'\n\nModalComponent.Subtitle = ModalSubtitle\nModalComponent.Title = ModalTitle\nModalComponent.Header = ModalHeader\nModalComponent.Body = ModalBody\nModalComponent.Footer = ModalFooter\n\nexport const Modal = ModalComponent\n","import React from 'react'\n\nexport const ModalSubtitle = ({ children, ...rest }) => (\n
{children}
\n)\n","import React from 'react'\nimport { Modal as BootstrapModal } from 'react-bootstrap'\n\nexport const ModalTitle = ({ children, ...rest }) => (\n {children}\n)\n","import React from 'react'\nimport { Modal as BootstrapModal } from 'react-bootstrap'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nimport styles from './modal-components.module.css'\n\nexport const ModalHeader = ({\n purple,\n blue,\n orange,\n red,\n error,\n styled,\n className,\n children,\n icon,\n ...rest\n}) => (\n \n
\n {icon && }\n {children}\n
\n \n)\n","import React, { useRef } from 'react'\nimport classNames from 'classnames'\nimport { Modal as BootstrapModal } from 'react-bootstrap'\nimport { BouncingArrow, Loader } from 'shared/components'\n\nimport styles from './modal-components.module.css'\n\nexport const ModalBody = ({\n withoutScroll,\n isLoading,\n className,\n children,\n ...rest\n}) => {\n const ref = useRef()\n return (\n <>\n \n {isLoading && }\n {children}\n \n {!withoutScroll && }\n \n )\n}\n","import React from 'react'\nimport { Modal as BootstrapModal } from 'react-bootstrap'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from 'shared/components'\n\nimport styles from './modal-components.module.css'\n\nexport const ModalFooter = ({ children, className, onHide, ...rest }) => {\n const { t } = useTranslation()\n return (\n \n {children}\n {onHide && (\n \n )}\n \n )\n}\n","import React from 'react'\nimport styles from './heading.module.css'\n\nexport const Heading = ({ children }) => {\n return
{children}
\n}\n","import React from 'react'\nimport { Form } from 'react-bootstrap'\nimport classNames from 'classnames'\n\nimport styles from './styled-control.module.css'\n\nexport const StyledControl = ({ className, blue = true, ...rest }) => (\n \n)\n","import React from 'react'\nimport classNames from 'classnames'\nimport Joyride from 'react-joyride'\nimport { useTranslation } from 'react-i18next'\n\nimport { Button } from 'shared/components'\nimport styles from './styled-joyride.module.css'\n\nconst Tooltip = ({\n backProps,\n index,\n primaryProps,\n step,\n size,\n tooltipProps,\n isLastStep,\n skipProps,\n ...rest\n}) => {\n const { t } = useTranslation()\n return (\n
\n \n {step.title && (\n
\n {step.title}\n
\n )}\n {step.content &&
{step.content}
}\n
\n {!step.hideFooter && (\n
\n {index === 0 || step.showSkipButton ? (\n \n ) : (\n \n )}\n\n {!step.hideCloseButton && (\n
\n {t('basicComponents.joyride.count', {\n current: index + 1,\n size: size\n })}\n
\n )}\n {!step.hideCloseButton && (\n \n )}\n
\n )}\n \n )\n}\n\nexport const StyledJoyride = options => (\n \n)\n","import React from 'react'\nimport { Form } from 'react-bootstrap'\nimport classNames from 'classnames'\n\nimport styles from './checkbox.module.css'\n\nexport const Checkbox = ({ className, disabled, ...rest }) => (\n \n)\n","import React from 'react'\nimport { Form } from 'react-bootstrap'\nimport classNames from 'classnames'\n\nimport styles from './radio-button.module.css'\n\nexport const RadioButton = ({ className, disabled, ...rest }) => (\n \n)\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQuery } from 'react-query'\nimport { sortBy } from 'lodash'\n\nimport { StyledSelect } from 'shared/components'\nimport { useGetSchoolsQuery } from 'lib/api'\n\nexport const SchoolSelector = ({\n value,\n onChange,\n organization,\n showOrganizationName,\n withoutDefaultOption,\n removeOptions,\n placeholder,\n ...rest\n}) => {\n const { t, i18n } = useTranslation()\n const { data, isLoading } = useQuery(\n useGetSchoolsQuery({ organization_ids: organization })\n )\n\n const filterOptions = useMemo(() => {\n if (!data) return []\n let processedData = sortBy(\n data.schools.map(school => ({\n organization: school.parent_scope,\n value: school.id,\n label: showOrganizationName\n ? `${school.parent_scope.name}, ${school.name}`\n : school.name\n })),\n 'label'\n )\n if (removeOptions) {\n processedData = processedData.filter(\n ({ value }) => !removeOptions.includes(value)\n )\n }\n const initialOption = {\n label: t('basicComponents.filters.allSchools'),\n value: ''\n }\n return withoutDefaultOption\n ? processedData\n : [initialOption, ...processedData]\n }, [data, i18n.language, withoutDefaultOption, removeOptions])\n\n return (\n op.value === value) ?? null}\n options={filterOptions}\n onChange={onChange}\n isDisabled={!data}\n isLoading={!data}\n placeholder={\n !isLoading && !filterOptions.length\n ? t('basicComponents.filters.noSchools')\n : placeholder || t('basicComponents.filters.selectSchool')\n }\n {...rest}\n />\n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQuery } from 'react-query'\nimport { sortBy } from 'lodash'\n\nimport { StyledSelect } from 'shared/components'\nimport { useGetClassroomsQuery } from 'lib/api'\n\nexport const ClassroomSelector = ({\n value,\n onChange,\n school,\n organization,\n showSchoolName,\n withoutDefaultOption,\n removeOptions,\n placeholder,\n ...rest\n}) => {\n const { t, i18n } = useTranslation()\n const { data, isLoading } = useQuery(\n useGetClassroomsQuery({\n school_ids: school,\n organization_ids: organization\n })\n )\n\n const filterOptions = useMemo(() => {\n if (!data) return []\n let processedData = sortBy(\n data.classrooms.map(classroom => ({\n organization: classroom.parent_scope.parent_scope,\n value: classroom.id,\n label: !showSchoolName\n ? classroom.name\n : `${classroom.parent_scope.name}, ${classroom.name}`\n })),\n 'label'\n )\n if (removeOptions) {\n processedData = processedData.filter(\n ({ value }) => !removeOptions.includes(value)\n )\n }\n const initialOption = {\n label: t('basicComponents.filters.allClassrooms'),\n value: ''\n }\n return withoutDefaultOption\n ? processedData\n : [initialOption, ...processedData]\n }, [data, i18n.language, withoutDefaultOption, removeOptions])\n\n return (\n op.value === value) ?? null}\n options={filterOptions}\n onChange={onChange}\n isDisabled={!data}\n isLoading={!data}\n placeholder={\n !isLoading && !filterOptions.length\n ? t('basicComponents.filters.noClassrooms')\n : placeholder || t('basicComponents.filters.selectClassroom')\n }\n {...rest}\n />\n )\n}\n","import React from 'react'\nimport { Form } from 'react-bootstrap'\nimport 'react-phone-number-input/style.css'\nimport PhoneInput from 'react-phone-number-input'\n\nimport styles from './phone-input.module.css'\n\nexport const StyledPhoneInput = props => {\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQuery } from 'react-query'\nimport { sortBy } from 'lodash'\n\nimport { StyledSelect } from 'shared/components'\nimport { useGetOrganizationsQuery } from 'lib/api'\n\nexport const OrganizationSelector = ({\n value,\n onChange,\n withoutDefaultOption,\n removeOptions,\n organization,\n ...rest\n}) => {\n const { t, i18n } = useTranslation()\n const { data, isLoading } = useQuery(\n useGetOrganizationsQuery({ organization_ids: organization })\n )\n\n const filterOptions = useMemo(() => {\n if (!data) return []\n let processedData = sortBy(\n data.organizations.map(org => ({\n value: org.id,\n label: org.name\n })),\n 'label'\n )\n if (removeOptions) {\n processedData = processedData.filter(\n ({ value }) => !removeOptions.includes(value)\n )\n }\n const initialOption = {\n label: t('basicComponents.filters.allOrganizations'),\n value: ''\n }\n return withoutDefaultOption\n ? processedData\n : [initialOption, ...processedData]\n }, [data, i18n.language, withoutDefaultOption, removeOptions])\n\n return (\n op.value === value) ?? null}\n options={filterOptions}\n onChange={onChange}\n isDisabled={!data}\n isLoading={!data}\n placeholder={\n !isLoading && !filterOptions.length\n ? t('basicComponents.filters.noOrganizations')\n : t('basicComponents.filters.selectOrganization')\n }\n {...rest}\n />\n )\n}\n","export { FreshnessInformation } from './FreshnessInformation/FreshnessInformation'\nexport { Switch } from './Switch/Switch'\nexport { SwitchOptions } from './SwitchOptions/SwitchOptions'\nexport { Button } from './Button/Button'\nexport { Loader } from './Loader/Loader'\nexport { Table } from './Table/Table'\nexport { Achievement } from './achievement/achievement'\nexport { PageWrapper } from './PageWrapper/PageWrapper'\nexport { MonitoringReportWrapper } from './monitoring-report-wrapper/monitoring-report-wrapper'\nexport { StyledSelect } from './StyledSelect/StyledSelect'\nexport { Checkmark } from './Checkmark/Checkmark'\nexport { PrintModal, PrintModalButton } from './print-modal/print-modal'\nexport { AuthWrapper } from './AuthWrapper/AuthWrapper'\nexport { TableSettings } from './TableSettings/TableSettings'\nexport { Card } from './Card/Card'\nexport { Sidebar } from './sidebar/sidebar'\nexport { Hideable } from './Hideable/Hideable'\nexport { PrimaryLink } from './PrimaryLink/PrimaryLink'\nexport { ImagePreview } from './ImagePreview/ImagePreview'\nexport { LanguageSelector } from './LanguageSelector/language-selector'\nexport { NoData } from './no-data'\nexport { PrintableWrapper } from './printable-wrapper'\nexport { ConfirmationDialog } from './confirmation-dialog/confirmation-dialog'\nexport * from '../../features/dashboard/components/chart'\nexport * from './week-selector/week-selector'\nexport { ErrorBoundary } from './error-boundary/error-boundary'\nexport { Select } from './select'\nexport { Dropzone } from './dropzone/dropzone'\nexport { FileDropzone } from './dropzone/file-dropzone'\nexport { PercentageScale } from './PercentageScale/PercentageScale'\nexport { RangeDatePicker } from './StyledDatePicker/RangeDatePicker'\nexport { StyledDatePicker } from './StyledDatePicker/StyledDatePicker'\nexport { ReportButtons } from './report-buttons/report-buttons'\nexport { Filters } from './filters/filters'\nexport { BouncingArrow } from './bouncing-arrow/bouncing-arrow'\nexport { TanStackTable } from './tan-stack-table/tan-stack-table'\nexport { StyledSwiper } from './styled-swiper/styled-swiper'\nexport { PasswordField } from './password-field/password-field'\nexport { Modal } from './modal'\nexport { Heading } from './heading/heading'\nexport { StyledControl } from './styled-control/styled-control'\nexport { StyledJoyride } from './styled-joyride/styled-joyride'\nexport { Checkbox } from './checkbox/checkbox'\nexport { RadioButton } from './radio-button/radio-button'\nexport { SchoolSelector } from './selectors/school-selector'\nexport { ClassroomSelector } from './selectors/classroom-selector'\nexport { StyledPhoneInput } from './phone-input/phone-input'\nexport { OrganizationSelector } from './selectors/organization-selector'\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"article-list-item_wrapper__2rknk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"widget-body_wrapper__3I2lS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"banner_wrapper__1bPJV\"};","module.exports = __webpack_public_path__ + \"static/media/bg.f2574146.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonsContainer\":\"report-buttons_buttonsContainer__3AOGK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filters\":\"filters_filters__3IWl8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"heading_heading__1L38G\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"styledControl\":\"styled-control_styledControl__3RcQ8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"phoneInput\":\"phone-input_phoneInput__3wcVe\"};","module.exports = __webpack_public_path__ + \"static/media/certified-low.5dda508c.png\";","module.exports = \"data:image/png;base64,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\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"certifiedModalBody\":\"certified-modal_certifiedModalBody__3z-b2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"guide_wrapper__2Bc9V\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"observationSelector\":\"observation-selector_observationSelector__inDYC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"body\":\"measure-modal_body__1Ycg3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filters\":\"report-filters_filters__2X_GT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"siteToggle\":\"filters_siteToggle__AVz6R\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"objectiveReportToggle\":\"filters_objectiveReportToggle__2iwjl\"};","module.exports = __webpack_public_path__ + \"static/media/pattern-green.30f1a432.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chartWrapper\":\"chart_chartWrapper__125cN\",\"fullHeight\":\"chart_fullHeight__NNuJO\",\"wrapperWide\":\"chart_wrapperWide__EFQuX\",\"chart\":\"chart_chart__31kEI\",\"overlayBlock\":\"chart_overlayBlock__2Mx68\",\"header\":\"chart_header__36wGv\",\"title\":\"chart_title__120TL\",\"titleLogo\":\"chart_titleLogo__1R4LX\",\"titleRow\":\"chart_titleRow__1lqhQ\",\"description\":\"chart_description__1G2h7\",\"filters\":\"chart_filters___Bjt4\",\"checkboxes\":\"chart_checkboxes__3KGko\",\"body\":\"chart_body__18729\",\"meta\":\"chart_meta__1cGG9\",\"generationDate\":\"chart_generationDate__3K0Kd\",\"loaderOverlay\":\"chart_loaderOverlay__lbesb\",\"backButton\":\"chart_backButton__TYkBS\",\"emptySpace\":\"chart_emptySpace__1YoNP\",\"hideable\":\"chart_hideable__3ahyY\"};","module.exports = __webpack_public_path__ + \"static/media/pattern-lightgreen.e1a9e934.jpg\";","module.exports = __webpack_public_path__ + \"static/media/pattern-lightblue.830a0701.jpg\";","module.exports = __webpack_public_path__ + \"static/media/pattern-orange.12547431.jpg\";","module.exports = __webpack_public_path__ + \"static/media/pattern-purple.af9a526b.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dimmed\":\"tables_dimmed__2A1Jp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"parentButtons\":\"engagement-table_parentButtons__RwmPd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"weekSelector\":\"week-selector_weekSelector__10saU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cell\":\"monitoring-report_cell__1cPQz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"certifications\":\"certification-status-container_certifications__1Rdvy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dashboardSelect\":\"dashboard-select_dashboardSelect__2Yrat\",\"multiSelect\":\"dashboard-select_multiSelect__1GKDc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchWrapper\":\"filters_searchWrapper__2VuBV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"edit-curriculum-modal_checkbox__2vZBr\"};","module.exports = __webpack_public_path__ + \"static/media/frog-street-cmyk-logo.e24c56ff.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"print-tool_wrapper__3J2kA\",\"buttonsWrapper\":\"print-tool_buttonsWrapper__wjC6J\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectWrapper\":\"theme-select_selectWrapper__vRG6-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectWrapper\":\"curriculum-select_selectWrapper__1oP1y\"};","module.exports = __webpack_public_path__ + \"static/media/google-logo.54d92439.png\";","module.exports = __webpack_public_path__ + \"static/media/clever-logo.b450eea6.png\";","module.exports = __webpack_public_path__ + \"static/media/class-link-logo.14f0e840.png\";","import { Auth } from 'aws-amplify'\nimport { ENVIRONMENT } from 'lib/amplify'\nimport {\n accountNameChange,\n accountLookup as accountLookupApiCall,\n accountLookupSSO as accountLookupSSOApiCall,\n accountResend as accountResendApiCall\n} from 'lib/api'\n\nexport function signIn(login, password) {\n return Auth.signIn(login, password)\n}\nexport function accountLookup(params) {\n return accountLookupApiCall(params)\n}\nexport function accountLookupSSO(params) {\n return accountLookupSSOApiCall(params)\n}\nexport function accountResend(params) {\n return accountResendApiCall(params)\n}\nexport const resetPasswordSendCode = login => Auth.forgotPassword(login)\nexport const resetPassword = (login, code, password) =>\n Auth.forgotPasswordSubmit(login, code, password)\nexport const setUpPassword = (user, newPassword) =>\n Auth.completeNewPassword(user, newPassword)\nexport const setUpPhone = async phone_number => {\n try {\n const user = await Auth.currentAuthenticatedUser()\n const response = await Auth.updateUserAttributes(user, { phone_number })\n\n if (response === 'SUCCESS') {\n const newUser = await Auth.currentAuthenticatedUser()\n await Auth.setPreferredMFA(newUser, 'SMS')\n await Auth.verifyCurrentUserAttribute('phone_number')\n }\n return true\n } catch {\n return false\n }\n}\nexport const verifyPhone = async code =>\n Auth.verifyCurrentUserAttributeSubmit('phone_number', code)\nexport const enableSMS = async () => {\n const user = await Auth.currentAuthenticatedUser()\n return Auth.enableSMS(user)\n}\nexport const verifySMS = (user, code) =>\n Auth.confirmSignIn(user, code, 'SMS_MFA')\nexport const ignorePhone = async user =>\n Auth.updateUserAttributes(user, { 'custom:SMSOptOut': '1' })\nexport const getCurrentUserInfo = () => Auth.currentUserInfo()\nexport const clearCache = async () => {\n window.localStorage.removeItem(\n `CognitoIdentityId-${ENVIRONMENT.identityPoolId}`\n )\n}\nexport const updateUserAttributes = async ({\n account_id,\n given_name,\n family_name,\n ...rest\n}) => {\n await accountNameChange({\n account: account_id,\n name: [given_name, family_name]\n })\n const user = await Auth.currentAuthenticatedUser()\n return Auth.updateUserAttributes(user, rest)\n}\n\n/* *** QUERIES AND MUTATIONS *** */\n\nexport const getCurrentUserQuery = () => ({\n queryKey: ['get/current-user-info'],\n queryFn: () => getCurrentUserInfo()\n})\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"editSchoolField\":\"edit-school-modal_editSchoolField__2F8cW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"support-article\":\"article_support-article__3NCcw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"reportList\":\"bulk-report_reportList__2QEl8\",\"reportTable\":\"bulk-report_reportTable__2Kt0N\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"alert\":\"app_alert__1V76E\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tableContainer\":\"table_tableContainer__-KeSW\",\"table\":\"table_table__1SoqI\",\"tableBorder\":\"table_tableBorder__3jJB3\",\"tableHeaderWithSubheader\":\"table_tableHeaderWithSubheader__23WIz\",\"tableSubheader\":\"table_tableSubheader__1Jqev\",\"tableHeadSticky\":\"table_tableHeadSticky__1NDQO\",\"borderTh\":\"table_borderTh__3L9Lt\",\"tableStriped\":\"table_tableStriped__1p_In\",\"tableEmpty\":\"table_tableEmpty__1cBXq\",\"tableWrapper\":\"table_tableWrapper__3Ggim\",\"tableNoPadding\":\"table_tableNoPadding__2tiFW\",\"tableTooltip\":\"table_tableTooltip__3bx4V\",\"bigTable\":\"table_bigTable__17vhX\",\"bolded\":\"table_bolded__32aKr\",\"fixedTable\":\"table_fixedTable__2aqoe\",\"coloredTable\":\"table_coloredTable__2TWeJ\",\"transparentTable\":\"table_transparentTable__1gbrk\",\"reportTableEmpty\":\"table_reportTableEmpty__27_7Q\",\"subheaderTable\":\"table_subheaderTable__1iYkT\",\"subTable\":\"table_subTable__-VZov\",\"bottom\":\"table_bottom__2fQkA\",\"stickyFirstColumn\":\"table_stickyFirstColumn__3Jf9-\",\"block\":\"table_block__L0AT6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"testOutModalBody\":\"test-modal_testOutModalBody__31Mew\",\"questionsNumber\":\"test-modal_questionsNumber__-1UW6\",\"question\":\"test-modal_question__1Uydf\",\"disabled\":\"test-modal_disabled__3JRo9\",\"selected\":\"test-modal_selected__2DZD5\",\"resultView\":\"test-modal_resultView__3UUdd\",\"questionsCount\":\"test-modal_questionsCount__1ycgw\",\"verticalAlign\":\"test-modal_verticalAlign__2IeNe\",\"pass\":\"test-modal_pass__31ehz\",\"fail\":\"test-modal_fail__1b211\",\"testOutModalFooter\":\"test-modal_testOutModalFooter__2QiaV\",\"singleButton\":\"test-modal_singleButton__2No1d\",\"background\":\"test-modal_background__1JQkJ\",\"testOutModal\":\"test-modal_testOutModal__ijONK\"};","import axios from 'axios'\nimport { toast } from 'react-toastify'\n\nimport { queryClient } from 'index'\nimport { Auth } from 'aws-amplify'\nimport {\n get,\n post,\n patch,\n put,\n getWithoutSignIn,\n postWithoutSignIn\n} from './amplify'\n// Refactored section\n\nexport const getKeaReport = params => get('/reports/v2/kea', true, params)\nexport const getDashboardOverview = params =>\n get('/dashboard/v2/overview', true, params)\nexport const getExternalStudents = params =>\n get('/external/users', true, params)\n\nexport const editExternalUser = params =>\n patch(`/external/users/${params.id}`, true, params, null)\n\nexport const fetchAlert = () => getWithoutSignIn('/system/alert', null, 'text')\n\nexport const fetchSchoolYears = () => get('/schoolyearsetups', true)\nexport const fetchSchoolYearSetup = params =>\n get(`/schoolyearsetups/${params.school_year_id}`, true)\n\nexport const fetchDashboardFilters = params =>\n get('/dashboard/v2/filters', true, params)\n\nexport const fetchDomainsOnTrackChart = params =>\n get('/dashboard/v2/datapoint/domainsontrack', true, params)\n\nexport const fetchAssessmentCompletionChart = params =>\n get('/dashboard/v2/datapoint/assessmentcompletion', true, params)\n\nexport const fetchSiteReport = (params, meta_data) =>\n get('/reports/v2/site', true, params, meta_data)\n\nexport const fetchSiteBulkReport = params =>\n get('/reports/v2/site/bulk', true, params)\n\nexport const fetchObjectiveReport = (params, meta_data) =>\n get('/reports/v2/objective', true, params, meta_data)\n\nexport const fetchCheckpointReport = (params, meta_data) =>\n get('/reports/v2/checkpoint', true, params, meta_data)\n\nexport const fetchDrdpReport = (params, meta_data) =>\n get('/reports/v2/drdp', true, params, meta_data)\n\nexport const fetchParentReport = (params, meta_data) =>\n get('/reports/v2/parent', true, params, meta_data)\n\nexport const fetchDomainReport = (params, meta_data) =>\n get('/reports/v2/parentdomain', true, params, meta_data)\n\nexport const fetchCertificationStatusReport = (params, meta_data) =>\n get('/reports/v2/certificationstatus', true, params, meta_data)\n\nexport const fetchMonitoringReport = (params, meta_data) =>\n get('/reports/v2/monitoring', true, params, meta_data)\n\nexport const fetchMonitoringReportNotes = (params, meta_data) =>\n get('/observations', true, params, meta_data)\n\nexport const fetchReportsFiltersData = (params, meta_data) =>\n get('/reports/v2/filters', true, params, meta_data)\n\nexport const fetchAccountStudents = (params, meta_data) =>\n get('/account/students', true, params, meta_data)\n\nexport const getAccountInfo = (params, meta_data) =>\n get('/account', true, params, meta_data)\n\nexport const getDomainInfo = (params, meta_data) =>\n get('/organization/domain', true, params, meta_data)\n\nexport const getLicenseInfo = () => get('/organization/license', true)\n\nexport const getStudentCheckpoints = (params, meta_data) =>\n get('/student/checkpoints', true, params, meta_data)\n\nexport const getDashboardInfo = async (params, meta_data) => {\n try {\n const response = await get('/dashboard', true, params, null, meta_data)\n\n if (response.Exception && response.Exception === 'Cache Miss') {\n return getDashboardInfo({\n ...params,\n cache_retrieval: 'ONLY_IF_FRESH'\n })\n }\n\n if (response.Retrieval) {\n const retrievalResponse = await axios.get(response.Retrieval)\n return {\n CallParams: params,\n DataPoint: Object.keys(retrievalResponse.data).length\n ? retrievalResponse.data\n : null,\n DataPointType: response.DataPointType,\n GenerationTimestamp: response.GenerationTimestamp\n }\n }\n } catch (rejection) {\n const failureParams = {}\n if (rejection.response && rejection.response.status) {\n if (rejection.response.status === 504) {\n failureParams.Exception = 'Timeout'\n }\n }\n\n if (failureParams.Exception) {\n return getDashboardInfo({\n ...params,\n cache_retrieval: 'ONLY_IF_FRESH'\n })\n }\n\n return { CallParams: params, ...failureParams }\n }\n}\n\nexport const getQuestionBasedObservation = params =>\n get('/assessment/observation', true, params)\n\nexport const setQuestionBasedObservation = params =>\n post('/assessment/observation', true, params, 'test')\n\nexport const getPortfolioBasedObservation = params =>\n get('/assessment/observation/portfolio', true, params)\n\nexport const setPortfolioBasedObservation = params =>\n post('/assessment/observation/portfolio', true, params)\n\nexport const saveObservationMedia = params =>\n post('/assessment/observation/media', true, params)\n\nexport const parentReportFeedback = params =>\n post('/reports/v2/parent/feedback/', true, params)\n\nexport const parentReportResponse = params =>\n post('/reports/v2/parent/response', true, params)\n\nexport const parentReportActivity = params =>\n get('/reports/v2/activity', true, params)\n\nexport const parentReportEngagement = params =>\n get('/reports/v2/engagement', true, params)\n\nexport const parentReportWeeklyMessage = params =>\n get('/reports/v2/parent/message', true, params)\n\nexport const createParentReportWeeklyMessage = params =>\n post('/reports/v2/parent/message', true, params)\n\nexport const familyEngagementReportAdmin = params =>\n get('/reports/v2/engagement', true, params)\n\nexport const schoolCreate = params => post('/school/create', true, params)\nexport const schoolEdit = params => post('/school/modify', true, params)\nexport const schoolDelete = params => post('/school/remove', true, params)\n\nexport const classroomCreate = params => post('/classroom/create', true, params)\nexport const classroomEdit = params => post('/classroom/modify', true, params)\nexport const classroomDelete = params => post('/classroom/remove', true, params)\n\nexport const studentCreate = params => post('/student/create', true, params)\nexport const studentEdit = params => post('/student/modify', true, params)\nexport const studentDelete = params => post('/student/remove', true, params)\nexport const studentMove = params => post('/student/move', true, params)\nexport const fetchStudentAttributes = params =>\n get('/studentattributes', true, params)\n\nexport const parentCreate = params => post('/account/parent', true, params)\nexport const parentValidate = params => get('/account/details', true, params)\nexport const parentCopy = params => post('/account/parent/copy', true, params)\nexport const parentInformation = params =>\n get('/account/parent/information', true, params)\n\nexport const accountCreate = params => post('/account', true, params, 'beta4')\nexport const accountEdit = params =>\n patch(`/users/${params.account_id}`, true, params)\nexport const accountDelete = params => post('/account/disable', true, params)\nexport const accountStandards = params =>\n get('/account/standards', true, params)\nexport const accountVerify = params =>\n post('/users/verify', true, null, null, params)\nexport const userSeenAlert = ({ alertId, ...params }) =>\n put(`/users/alerts/${alertId}`, true, params)\n\nexport const parentRemoveFromStudent = params =>\n post('/account/parent/removestudent', true, params)\n\nexport const accountNameChange = params => post('/account/name', true, params)\n\nexport const getUsers = params => get('/users', true, params)\nexport const getUserAlerts = ({ alertId, ...params }) =>\n get(`/users/alerts/${alertId}`, true, params)\nexport const getSchools = params => get('/schools', true, params)\nexport const getClassrooms = params => get('/classrooms', true, params)\nexport const getOrganizations = params => get('/organizations', true, params)\n\nexport const getDataDump = params =>\n get('/organization/datadump/result', true, params)\n\nexport const getTrainings = () => get('/account/training', true)\nexport const getTrainingModules = params =>\n get('/account/training/trainingmodules', true, params)\nexport const submitTraining = params =>\n post('/account/training/submit', true, null, undefined, params)\n\nexport const getTestOut = params =>\n get('/account/training/testout', true, params)\nexport const submitTestOut = params =>\n post('/account/training/testout/submit', true, params)\nexport const completeTestOut = params =>\n post('/account/training/testout/complete', true, params)\n\nexport const getTrainingScenarios = params =>\n get('/account/training/scenarios', true, params)\nexport const getTrainingScenariosTutorial = params =>\n get('/account/training/scenarios/tutorial', true, params)\nexport const startScenarios = params =>\n post('/account/training/scenarios/start', true, null, undefined, params)\nexport const endScenarios = params =>\n post('/account/training/scenarios/end', true, params)\nexport const reviewScenarios = params =>\n post('/account/training/scenarios/review', true, params)\n\nexport const submitCertificate = params =>\n post('/account/training/certificate', true, params)\n\nexport const getArticles = ({ articleType, ...params }) =>\n get(`/articles/${articleType}`, true, params)\nexport const searchArticles = params => get('/articles/search', true, params)\n\nexport const accountLookup = params =>\n getWithoutSignIn('/account/lookup', params)\nexport const accountLookupSSO = async params => {\n await Auth.signOut()\n return await getWithoutSignIn('/account/lookup/sso', params)\n}\nexport const accountResend = params =>\n postWithoutSignIn('/account/resendsetup', params)\n\nexport const getStudentScheduleGames = params =>\n get('/student/schedulegames', true, params)\n\nexport const getMultiuserAccounts = params => get('/multiuser', true, params)\nexport const getMultiuserAccountCredentials = params =>\n get('/multiuser/auth', true, params)\n\nexport const getClassroomCurriculum = params =>\n get('/classroom/curriculum', true, params)\nexport const getCurriculumFilters = params =>\n get('/classroom/curriculum/filters', true, params)\nexport const saveClassroomCurriculum = (body, params) =>\n post('/classroom/curriculum/update', true, body, undefined, params)\nexport const getAdminCurriculum = params =>\n get('/curriculum/admin-view', true, params)\nexport const addCurriculum = params => post('/curriculum/add', true, params)\n\nexport const fetchSchedule = params => get('/schedule', true, params)\n\nexport const fetchFreshnessSchedule = () => get('/schedule/freshness', true)\n\nexport const getProfileCertificates = params =>\n get('/account/training/certificatedownload', true, params)\n\nexport const requestReportGeneration = (body, params) =>\n post('/reports/request', true, body, undefined, params)\n\nexport const getReportList = () => get('/reports/request', true)\n\nexport const getReport = params => get('/reports/request', true, params)\n\nexport const getStudentSubobjectiveItems = (params, meta_data) =>\n get('/student/result/item', true, params, meta_data)\n\nexport const updateStudentNote = params =>\n post('/student/result/portalupdate', true, params)\n\n// OLD section\n\n// TODO: ERROR handling TYPO\nexport const checkApi = params => post('/account/checkin', true, params)\n\n// ... ErrorHandling CLear\n// DID: MODULE dashboard.js\nexport const getOrganizationBeta = () =>\n get('/organization', true, null, null, null, 'beta4')\n\n/* *** QUERIES AND MUTATIONS *** */\n\n// to remove undefined fields\nconst optionsPreprocessing = options =>\n options ? JSON.parse(JSON.stringify(options)) : options\n\nconst errorHandling = data => {\n if (data?.errorMessage !== undefined) {\n if (data?.errorMessage === 'Unauthorized') {\n queryClient.invalidateQueries('get/current-user-info')\n }\n toast.error(data?.errorMessage)\n return null\n }\n return data\n}\n\nexport const fetchKeaReportQuery = options => ({\n queryKey: ['fetch/kea', options],\n queryFn: () => getKeaReport(options)\n})\nexport const getDashboardOverviewQuery = options => ({\n queryKey: ['fetch/dashboard-overview', options],\n queryFn: () => getDashboardOverview(options)\n})\nexport const fetchKeaReportMutation = () => ({\n mutationKey: ['fetch/kea'],\n mutationFn: options => getKeaReport(options)\n})\nexport const fetchSchoolYearsQuery = () => ({\n queryKey: ['fetch/school-years'],\n queryFn: () => fetchSchoolYears()\n})\nexport const fetchSchoolYearSetupQuery = options => ({\n queryKey: ['fetch/school-years', optionsPreprocessing(options)],\n queryFn: () => fetchSchoolYearSetup(optionsPreprocessing(options))\n})\n\nexport const fetchAlertQuery = () => ({\n queryKey: ['fetch/alert'],\n queryFn: () => fetchAlert()\n})\n\nexport const fetchDashboardFiltersQuery = options => ({\n queryKey: ['fetch/dashboard-filters', optionsPreprocessing(options)],\n queryFn: () =>\n fetchDashboardFilters(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const fetchDomainsOnTrackChartQuery = options => ({\n queryKey: ['fetch/domains-on-track-chart', optionsPreprocessing(options)],\n queryFn: () =>\n fetchDomainsOnTrackChart(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const fetchAssessmentCompletionChartQuery = options => ({\n queryKey: ['fetch/assessment-completion', optionsPreprocessing(options)],\n queryFn: () =>\n fetchAssessmentCompletionChart(optionsPreprocessing(options)).then(\n errorHandling\n )\n})\nexport const fetchAssessmentCompletionChartExcelMutation = () => ({\n mutationKey: ['fetch/assessment-completion-excel'],\n mutationFn: options =>\n fetchAssessmentCompletionChart(optionsPreprocessing(options)).then(\n errorHandling\n )\n})\n\nexport const fetchSiteReportQuery = options => ({\n queryKey: ['fetch/site-report', optionsPreprocessing(options)],\n queryFn: () =>\n fetchSiteReport(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const fetchSiteBulkReportQuery = options => ({\n queryKey: ['fetch/site-detailed-report', optionsPreprocessing(options)],\n queryFn: () =>\n fetchSiteBulkReport(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const fetchObjectiveReportQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/objective-report',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n fetchObjectiveReport(optionsPreprocessing(options), meta_data).then(\n errorHandling\n )\n})\n\nexport const fetchCheckpointReportQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/checkpoint-report',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n fetchCheckpointReport(optionsPreprocessing(options), meta_data).then(\n errorHandling\n )\n})\n\nexport const fetchExternalUsersQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/external-users',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () => getExternalStudents(optionsPreprocessing(options), meta_data)\n})\n\nexport const editExternalUserMutation = () => ({\n mutationKey: ['editExternalUser'],\n mutationFn: options => editExternalUser(options)\n})\n\nexport const fetchDrdpReportQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/drdp-report',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n fetchDrdpReport(optionsPreprocessing(options), meta_data).then(\n errorHandling\n )\n})\n\nexport const fetchParentReportQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/parent-report',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n fetchParentReport(optionsPreprocessing(options), meta_data).then(\n errorHandling\n )\n})\n\nexport const fetchDomainReportQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/domain-report',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n fetchDomainReport(optionsPreprocessing(options), meta_data).then(\n errorHandling\n )\n})\n\nexport const fetchCertificationStatusReportQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/certificationstatus-report',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n fetchCertificationStatusReport(\n optionsPreprocessing(options),\n meta_data\n ).then(errorHandling)\n})\n\nexport const fetchMonitoringReportQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/monitoring-report',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n fetchMonitoringReport(optionsPreprocessing(options), meta_data).then(\n errorHandling\n )\n})\nexport const fetchMonitoringReportExcelMutation = () => ({\n mutationKey: ['fetch/monitoring-report-excel'],\n mutationFn: options => fetchMonitoringReport(optionsPreprocessing(options))\n})\n\nexport const fetchMonitoringReportNotesQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/monitoring-report-notes',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n fetchMonitoringReportNotes(optionsPreprocessing(options), meta_data)\n})\nexport const fetchMonitoringReportNotesMutation = () => ({\n mutationKey: ['fetch/monitoring-report-notes'],\n mutationFn: options =>\n fetchMonitoringReportNotes(optionsPreprocessing(options))\n})\n\nexport const fetchReportsFiltersDataQuery = options => ({\n queryKey: ['fetch/filters-data', optionsPreprocessing(options)],\n queryFn: () =>\n fetchReportsFiltersData(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const fetchAccountStudentsQuery = (options, meta_data) => ({\n queryKey: [\n 'fetch/account-students',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n fetchAccountStudents(optionsPreprocessing(options), meta_data).then(\n errorHandling\n )\n})\n\nexport const getAccountInfoQuery = (options, meta_data) => ({\n queryKey: [\n 'get/account-info',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n getAccountInfo(optionsPreprocessing(options), meta_data).then(errorHandling)\n})\n\nexport const getStudentCheckpointsQuery = (options, meta_data) => ({\n queryKey: [\n 'get/student-checkpoints',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n getStudentCheckpoints(optionsPreprocessing(options), meta_data).then(\n errorHandling\n )\n})\n\nexport const getDomainInfoQuery = (options, meta_data) => ({\n queryKey: [\n 'get/domain-info',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n getDomainInfo(optionsPreprocessing(options), meta_data).then(errorHandling)\n})\n\nexport const getLicenseInfoQuery = () => ({\n queryKey: ['get/license-info'],\n queryFn: () => getLicenseInfo().then(errorHandling)\n})\n// export const getDashboardInfoQuery = (options, meta_data) => ({\n// queryKey: ['get/dashboard-info', { ...optionsPreprocessing(options), meta_data }],\n// queryFn: () => getDashboardInfo(optionsPreprocessing(options), meta_data)\n// })\n\nexport const getQuestionBasedObservationQuery = options => ({\n queryKey: ['get/question-based-observation', optionsPreprocessing(options)],\n queryFn: () =>\n getQuestionBasedObservation(optionsPreprocessing(options)).then(\n errorHandling\n )\n})\n\nexport const setQuestionBasedObservationMutation = () => ({\n mutationKey: ['set/question-based-observation'],\n mutationFn: options =>\n setQuestionBasedObservation(optionsPreprocessing(options)).then(\n errorHandling\n )\n})\n\nexport const getPortfolioBasedObservationQuery = options => ({\n queryKey: ['get/portfolio-based-observation', optionsPreprocessing(options)],\n queryFn: () =>\n getPortfolioBasedObservation(optionsPreprocessing(options)).then(\n errorHandling\n )\n})\n\nexport const setPortfolioBasedObservationMutation = () => ({\n mutationKey: ['set/portfolio-based-observation'],\n mutationFn: options =>\n setPortfolioBasedObservation(optionsPreprocessing(options)).then(\n errorHandling\n )\n})\n\n// export const saveObservationMediaMutation = () => ({\n// mutationKey: ['save/observation-media'],\n// mutationFn: saveObservationMedia\n// })\n\n// export const parentReportFeedbackMutation = () => ({\n// mutationKey: ['set/parent-report-feedback'],\n// mutationFn: parentReportFeedback\n// })\n\n// export const parentReportResponseMutation = () => ({\n// mutationKey: ['set/parent-report-response'],\n// mutationFn: parentReportResponse\n// })\n\nexport const parentReportActivityQuery = options => ({\n queryKey: ['get/parent-report-activity', optionsPreprocessing(options)],\n queryFn: () =>\n parentReportActivity(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const parentReportEngagementQuery = options => ({\n queryKey: ['get/parent-report-engagement', optionsPreprocessing(options)],\n queryFn: () =>\n parentReportEngagement(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const parentReportWeeklyMessageQuery = options => ({\n queryKey: ['get/parent-report-message', optionsPreprocessing(options)],\n queryFn: () =>\n parentReportWeeklyMessage(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const createParentReportWeeklyMessageMutation = () => ({\n mutationKey: ['create/parent-report-weekly-message'],\n mutationFn: options =>\n createParentReportWeeklyMessage(optionsPreprocessing(options)).then(\n errorHandling\n )\n})\n\nexport const familyEngagementReportAdminQuery = options => ({\n queryKey: ['get/family-engagement-report', optionsPreprocessing(options)],\n queryFn: () =>\n familyEngagementReportAdmin(optionsPreprocessing(options)).then(\n errorHandling\n )\n})\n\nexport const schoolCreateMutation = () => ({\n mutationKey: ['school/create'],\n mutationFn: options =>\n schoolCreate(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const schoolEditMutation = () => ({\n mutationKey: ['school/edit'],\n mutationFn: options =>\n schoolEdit(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const schoolDeleteMutation = () => ({\n mutationKey: ['school/delete'],\n mutationFn: options =>\n schoolDelete(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const classroomCreateMutation = () => ({\n mutationKey: ['classroom/create'],\n mutationFn: options =>\n classroomCreate(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const classroomEditMutation = () => ({\n mutationKey: ['classroom/edit'],\n mutationFn: options =>\n classroomEdit(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const classroomDeleteMutation = () => ({\n mutationKey: ['classroom/delete'],\n mutationFn: options =>\n classroomDelete(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const studentCreateMutation = () => ({\n mutationKey: ['student/create'],\n mutationFn: options =>\n studentCreate(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const studentEditMutation = () => ({\n mutationKey: ['student/edit'],\n mutationFn: options =>\n studentEdit(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const studentDeleteMutation = () => ({\n mutationKey: ['student/delete'],\n mutationFn: options =>\n studentDelete(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const studentMoveMutation = () => ({\n mutationKey: ['student/move'],\n mutationFn: options =>\n studentMove(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const fetchStudentAttributesQuery = options => ({\n queryKey: ['get/student-attribute', optionsPreprocessing(options)],\n queryFn: () => fetchStudentAttributes(optionsPreprocessing(options))\n})\n\nexport const parentCreateMutation = () => ({\n mutationKey: ['parent/create'],\n mutationFn: options =>\n parentCreate(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const parentCopyMutation = () => ({\n mutationKey: ['parent/copy'],\n mutationFn: options =>\n parentCopy(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const parentRemoveFromStudentMutation = () => ({\n mutationKey: ['parent/remove-from-student'],\n mutationFn: options =>\n parentRemoveFromStudent(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const parentValidateMutation = () => ({\n mutationKey: ['get/parent-validate'],\n mutationFn: options =>\n parentValidate(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const getParentInformationQuery = options => ({\n queryKey: ['get/parent-information', optionsPreprocessing(options)],\n queryFn: () =>\n parentInformation(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const accountCreateMutation = () => ({\n mutationKey: ['account/create'],\n mutationFn: options =>\n accountCreate(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const accountDeleteMutation = () => ({\n mutationKey: ['account/delete'],\n mutationFn: options =>\n accountDelete(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const accountEditMutation = () => ({\n mutationKey: ['account/edit'],\n mutationFn: options => accountEdit(optionsPreprocessing(options))\n})\nexport const accountVerifyMutation = () => ({\n mutationKey: ['account/verify'],\n mutationFn: options => accountVerify(optionsPreprocessing(options))\n})\nexport const accountResendMutation = () => ({\n mutationKey: ['account/resend'],\n mutationFn: options =>\n accountResend(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const userAlertsMutation = () => ({\n mutationKey: ['users/alerts'],\n mutationFn: options =>\n userSeenAlert(optionsPreprocessing(options)).then(errorHandling)\n})\n\n// export const accountNameChange = params => post('/account/name', true, params)\nexport const useGetUsersQuery = options => ({\n queryKey: ['get/users', options],\n queryFn: () => getUsers(options).then(errorHandling)\n})\nexport const useGetUsersAlertsQuery = options => ({\n queryKey: ['get/users/alerts', options],\n queryFn: () => getUserAlerts(options).then(errorHandling)\n})\nexport const useGetUsersMutation = () => ({\n mutationKey: ['get/users-excel'],\n mutationFn: options => getUsers(options).then(errorHandling)\n})\nexport const useGetSchoolsQuery = options => ({\n queryKey: ['get/school', optionsPreprocessing(options)],\n queryFn: () => getSchools(optionsPreprocessing(options))\n})\nexport const useGetClassroomsQuery = options => ({\n queryKey: ['get/classrooms', optionsPreprocessing(options)],\n queryFn: () => getClassrooms(optionsPreprocessing(options))\n})\nexport const useGetAccountStandardsQuery = options => ({\n queryKey: ['get/account/standards', optionsPreprocessing(options)],\n queryFn: () => accountStandards(optionsPreprocessing(options))\n})\nexport const useGetOrganizationsQuery = options => ({\n queryKey: ['get/organizations', optionsPreprocessing(options)],\n queryFn: () => getOrganizations(optionsPreprocessing(options))\n})\n\n// export const getDataDump = params =>\n// get('/organization/datadump/result', true, params)\n\nexport const getTrainingsQuery = options => ({\n queryKey: ['get/account-training', optionsPreprocessing(options)],\n queryFn: () => getTrainings().then(errorHandling)\n})\nexport const getTrainingModulesQuery = ({ pathname, ...options }) => ({\n queryKey: [\n 'get/account-trainingmodules',\n [pathname, optionsPreprocessing(options)]\n ],\n queryFn: () =>\n getTrainingModules(optionsPreprocessing(options)).then(errorHandling)\n})\n// export const submitTraining = params =>\n// post('/account/training/submit', true, null, undefined, params)\n\nexport const getTrainingScenariosQuery = options => ({\n queryKey: ['get/training-scenarios', optionsPreprocessing(options)],\n queryFn: () =>\n getTrainingScenarios(optionsPreprocessing(options)).then(errorHandling)\n})\n// export const startScenarios = params =>\n// post('/account/training/scenarios/start', true, null, undefined, params)\n// export const endScenarios = params =>\n// post('/account/training/scenarios/end', true, params)\n// export const reviewScenarios = params =>\n// post('/account/training/scenarios/review', true, params)\n\n// export const submitCertificate = params =>\n// post('/account/training/certificate', true, params)\n\nexport const getArticlesQuery = ({ articleType, ...options }) => ({\n queryKey: ['get/articles', { articleType, ...optionsPreprocessing(options) }],\n queryFn: () =>\n getArticles({ articleType, ...optionsPreprocessing(options) }).then(\n errorHandling\n )\n})\n// export const searchArticles = params => get('/articles/search', true, params)\n\n// export const accountLookup = params =>\n// axios.get(`${directUrl}/account/lookup`, { params })\n// export const accountLookupSSO = params =>\n// axios.get(`${directUrl}/account/lookup/sso`, { params })\n// export const accountResend = params =>\n// axios.post(`${directUrl}/account/resendsetup`, params)\n\n// export const getStudentScheduleGames = params =>\n// get('/student/schedulegames', true, params)\n\n// export const getMultiuserAccounts = params => get('/multiuser', true, params)\n// export const getMultiuserAccountCredentials = params =>\n// get('/multiuser/auth', true, params)\n\nexport const getClassroomCurriculumQuery = options => ({\n queryKey: ['get/classroom-curriculum', optionsPreprocessing(options)],\n queryFn: () =>\n getClassroomCurriculum(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const getCurriculumFiltersQuery = options => ({\n queryKey: ['get/curriculum-filters', optionsPreprocessing(options)],\n queryFn: () =>\n getCurriculumFilters(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const useSaveClassroomCurriculumMutation = () => ({\n mutationKey: ['save/curriculum'],\n mutationFn: (body, params) =>\n saveClassroomCurriculum(body, params).then(errorHandling)\n})\n// export const saveClassroomCurriculum = (body, params) =>\n// post('/classroom/curriculum/update', true, body, undefined, params)\nexport const getAdminCurriculumQuery = options => ({\n queryKey: ['get/curriculum-admin-view', optionsPreprocessing(options)],\n queryFn: () =>\n getAdminCurriculum(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const addCurriculumMutation = () => ({\n mutationKey: ['add/curriculum'],\n mutationFn: options =>\n addCurriculum(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const fetchScheduleQuery = options => ({\n queryKey: ['fetch/schedule', optionsPreprocessing(options)],\n queryFn: () =>\n fetchSchedule(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const fetchFreshnessScheduleQuery = options => ({\n queryKey: ['fetch/schedule-freshness', optionsPreprocessing(options)],\n queryFn: () =>\n fetchFreshnessSchedule(optionsPreprocessing(options)).then(errorHandling)\n})\n\nexport const getProfileCertificatesQuery = options => ({\n queryKey: ['get/training-certificatedownload', optionsPreprocessing(options)],\n queryFn: () =>\n getProfileCertificates(optionsPreprocessing(options)).then(errorHandling)\n})\n\n// export const requestReportGeneration = (body, params) =>\n// post('/reports/request', true, body, undefined, params)\n\nexport const getReportListQuery = () => ({\n queryKey: ['get/bulk-report'],\n queryFn: () => getReportList().then(errorHandling)\n})\n\n// export const getReport = params => get('/reports/request', true, params)\n\nexport const getStudentSubobjectiveItemsQuery = (options, meta_data) => ({\n queryKey: [\n 'get/student-subobjective-items',\n { ...optionsPreprocessing(options), meta_data }\n ],\n queryFn: () =>\n getStudentSubobjectiveItems(optionsPreprocessing(options), meta_data).then(\n errorHandling\n )\n})\n\nexport const getTestOutQuery = options => ({\n queryKey: ['get/test-out', optionsPreprocessing(options)],\n queryFn: () => getTestOut(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const submitTestOutMutation = () => ({\n mutationKey: ['submit/test-out'],\n mutationFn: options =>\n submitTestOut(optionsPreprocessing(options)).then(errorHandling)\n})\nexport const completeTestOutMutation = () => ({\n mutationKey: ['complete/test-out'],\n mutationFn: options =>\n completeTestOut(optionsPreprocessing(options)).then(errorHandling)\n})\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"profileTitle\":\"profile_profileTitle__1GB5I\",\"profileForm\":\"profile_profileForm__3aaNe\",\"mfaForm\":\"profile_mfaForm__2nmF-\",\"profileBrowser\":\"profile_profileBrowser__2KINd\",\"profileLoader\":\"profile_profileLoader__28DVL\",\"formButtons\":\"profile_formButtons__2BybT\",\"row\":\"profile_row__2CpYm\",\"switch\":\"profile_switch__x_vfU\",\"button\":\"profile_button__1FhCp\",\"modalRow\":\"profile_modalRow__1pAEW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"domainStudentWrapper\":\"domain-report_domainStudentWrapper__2Ph8Y\",\"domainStudentHeader\":\"domain-report_domainStudentHeader__3oG81\",\"select\":\"domain-report_select__3zlmv\",\"switch\":\"domain-report_switch__9Roi5\",\"printButton\":\"domain-report_printButton__1IhK6\",\"wrapper\":\"domain-report_wrapper__6GaJa\",\"contentWrapper\":\"domain-report_contentWrapper__2aygC\",\"withoutMargin\":\"domain-report_withoutMargin__255ed\",\"header\":\"domain-report_header__1l389\",\"signatures\":\"domain-report_signatures__1qBIG\",\"created\":\"domain-report_created__EN36U\",\"body\":\"domain-report_body__2Bk5Z\",\"headerLogo\":\"domain-report_headerLogo__7A8-N\",\"headerText\":\"domain-report_headerText__1DSpC\",\"headerInfo\":\"domain-report_headerInfo__12bFU\",\"headerTitle\":\"domain-report_headerTitle__30Qow\",\"headerCaption\":\"domain-report_headerCaption__oSumm\",\"headerAssessment\":\"domain-report_headerAssessment__3hPsG\",\"hiddenInput\":\"domain-report_hiddenInput__1eAdn\",\"meta\":\"domain-report_meta__15kzO\",\"domains\":\"domain-report_domains__3NL3a\",\"printable\":\"domain-report_printable__2OSVM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"button_button__16oaH\",\"fullWidth\":\"button_fullWidth__u9o8f\",\"big\":\"button_big__3soPO\",\"small\":\"button_small__3OjzN\",\"blueOutline\":\"button_blueOutline__3hkyO\",\"wide\":\"button_wide__3vojL\",\"green\":\"button_green__2yF2n\",\"greenGrass\":\"button_greenGrass__3WDDV\",\"purple\":\"button_purple__1tbRu\",\"outline\":\"button_outline__11VCm\",\"lightBlue\":\"button_lightBlue__paFWe\",\"error\":\"button_error__3AjWT\",\"danger\":\"button_danger__rxTaR\",\"success\":\"button_success__152yP\",\"white\":\"button_white__12Lt3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"reportWrapper\":\"report-wrapper_reportWrapper__2wT8i\",\"tableOverlay\":\"report-wrapper_tableOverlay__2xmG-\",\"pageHeader\":\"report-wrapper_pageHeader__2vseo\",\"pageTitle\":\"report-wrapper_pageTitle__1c3Wb\",\"buttonsContainer\":\"report-wrapper_buttonsContainer__G_AdT\",\"tabList\":\"report-wrapper_tabList__3oOLM\",\"tabItem\":\"report-wrapper_tabItem__2PsA8\",\"selected\":\"report-wrapper_selected__1UR1W\",\"generationDate\":\"report-wrapper_generationDate__dbIJA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonsWrapper\":\"sections_buttonsWrapper__2IHPi\",\"sectionWrapper\":\"sections_sectionWrapper__24lNJ\",\"sectionTitle\":\"sections_sectionTitle__32iiD\",\"sectionGrid\":\"sections_sectionGrid__1qfbA\",\"blankSectionGridSmall\":\"sections_blankSectionGridSmall__1b1GA\",\"sectionGridSmall\":\"sections_sectionGridSmall__3kv9A\",\"sectionGridColored\":\"sections_sectionGridColored__25bFA\",\"sectionCol\":\"sections_sectionCol__P4SLg\",\"objectivesSection\":\"sections_objectivesSection__H6gHw\",\"sectionColButtons\":\"sections_sectionColButtons__3MNBv\",\"sectionSubtitle\":\"sections_sectionSubtitle__1b1wi\",\"dayTitle\":\"sections_dayTitle__2uA2W\",\"dayName\":\"sections_dayName__2E_a8\",\"objectives\":\"sections_objectives__3fzS8\",\"titleRow\":\"sections_titleRow__23qOT\",\"standards\":\"sections_standards__2yifr\",\"dailySectionWrapper\":\"sections_dailySectionWrapper__2Kyvf\",\"hidden\":\"sections_hidden__R5OAg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"scenarios-cell_button__FzCzZ\",\"scenarioTitle\":\"scenarios-cell_scenarioTitle__1g61c\",\"body\":\"scenarios-cell_body__1D-s3\",\"leftSide\":\"scenarios-cell_leftSide__kFhLe\",\"titles\":\"scenarios-cell_titles__UNb1o\",\"developmentalIndicators\":\"scenarios-cell_developmentalIndicators__esVUU\",\"examples\":\"scenarios-cell_examples__btdpE\",\"select\":\"scenarios-cell_select__1yzbT\",\"developmentalIndicatorsArrow\":\"scenarios-cell_developmentalIndicatorsArrow__2dW6_\",\"levels\":\"scenarios-cell_levels__VZ-Xo\",\"scrollableLevels\":\"scenarios-cell_scrollableLevels__UTRK7\",\"observation\":\"scenarios-cell_observation__1B-5K\",\"observationDescription\":\"scenarios-cell_observationDescription__iw-Mi\",\"observationExample\":\"scenarios-cell_observationExample__2KyvH\",\"bottom\":\"scenarios-cell_bottom__1xg7s\",\"submitButtons\":\"scenarios-cell_submitButtons__1oLeP\",\"submitButton\":\"scenarios-cell_submitButton__32joY\",\"modal\":\"scenarios-cell_modal__2eBjm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"observationModal\":\"modal_observationModal__3YKXW\",\"hidden\":\"modal_hidden__3v1TW\",\"observationBody\":\"modal_observationBody__3aqSZ\",\"observationHeader\":\"modal_observationHeader__3TBRB\",\"observationClose\":\"modal_observationClose__218Bs\",\"observationExit\":\"modal_observationExit__3Q67g\",\"observationModalTitle\":\"modal_observationModalTitle__2PLcf\",\"observationModalButtons\":\"modal_observationModalButtons__2gTF1\",\"portfolioColor\":\"modal_portfolioColor__ZPbwX\",\"questionBasedColor\":\"modal_questionBasedColor__1g8-k\",\"observationHidden\":\"modal_observationHidden__QjdPf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"observationQuestionBased\":\"observation-question-based_observationQuestionBased__3Ra57\",\"observationBack\":\"observation-question-based_observationBack__2XiQ_\",\"observationBackDisabled\":\"observation-question-based_observationBackDisabled__2iQXA\",\"observationQuestion\":\"observation-question-based_observationQuestion__1xvrK\",\"observationAnswers\":\"observation-question-based_observationAnswers__1zAVC\",\"observationExamples\":\"observation-question-based_observationExamples__3V9bR\",\"observationExamplesTitle\":\"observation-question-based_observationExamplesTitle__179d-\",\"observationExamplesNote\":\"observation-question-based_observationExamplesNote__1NZx7\",\"observationExamplesList\":\"observation-question-based_observationExamplesList__1RUrv\",\"observationExample\":\"observation-question-based_observationExample__iz5E6\",\"observationForm\":\"observation-question-based_observationForm__3vQoJ\",\"observationInner\":\"observation-question-based_observationInner__kiJcy\",\"swiper\":\"observation-question-based_swiper__aq1sZ\",\"observationStep\":\"observation-question-based_observationStep__2CGSU\",\"observationStepPassed\":\"observation-question-based_observationStepPassed__3CfF8\",\"observationStepNotPassed\":\"observation-question-based_observationStepNotPassed__34PVa\",\"observationStepCurrent\":\"observation-question-based_observationStepCurrent__UcY68\",\"observationDropzone\":\"observation-question-based_observationDropzone__1hZOG\",\"observationDropzoneOverlay\":\"observation-question-based_observationDropzoneOverlay__6pA2F\",\"observationSteps\":\"observation-question-based_observationSteps__3rSIX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"detailedStudentWrapper\":\"detailed-student_detailedStudentWrapper__1z0Pc\",\"detailedStudentHeader\":\"detailed-student_detailedStudentHeader__2vJQw\",\"select\":\"detailed-student_select__11wsa\",\"optionsList\":\"detailed-student_optionsList__34Igy\",\"header\":\"detailed-student_header__14K6n\",\"headerLogo\":\"detailed-student_headerLogo__1ro91\",\"headerText\":\"detailed-student_headerText__EuGXb\",\"headerInfo\":\"detailed-student_headerInfo__1tUCC\",\"headerTitle\":\"detailed-student_headerTitle__3jx3A\",\"domain_title\":\"detailed-student_domain_title__1plvW\",\"titleContainer\":\"detailed-student_titleContainer__nn_EJ\",\"checkpointName\":\"detailed-student_checkpointName__3p4Nz\",\"customCheckpointTable\":\"detailed-student_customCheckpointTable__23zLQ\",\"printableContainer\":\"detailed-student_printableContainer__Zss1X\",\"created\":\"detailed-student_created__2eWvf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardList\":\"report-home_cardList__2Ec1Q\",\"card\":\"report-home_card__3bsEo\",\"header\":\"report-home_header__30MCP\",\"icon\":\"report-home_icon__Pn-pu\",\"title\":\"report-home_title__2y2JC\",\"footer\":\"report-home_footer__1X2Pc\",\"information\":\"report-home_information__3v-fb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"modal-components_header__2oJkn\",\"purple\":\"modal-components_purple__13aC-\",\"blue\":\"modal-components_blue__kqikP\",\"orange\":\"modal-components_orange__3t37s\",\"red\":\"modal-components_red__mwwMQ\",\"error\":\"modal-components_error__3RRFN\",\"scrollableBody\":\"modal-components_scrollableBody__-Q9DV\",\"footer\":\"modal-components_footer__2U6Fq\",\"headerStyled\":\"modal-components_headerStyled__2bjTF\",\"headerIcon\":\"modal-components_headerIcon__2q4KM\",\"styledModal\":\"modal-components_styledModal__3Lskp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"abridgetTitle\":\"objective_abridgetTitle__21lGc\",\"scheduleSubobjective\":\"objective_scheduleSubobjective__1Yfa0\",\"scheduleSubobjectiveLevel\":\"objective_scheduleSubobjectiveLevel__3EVkN\",\"scheduleSubobjectiveList\":\"objective_scheduleSubobjectiveList__2E6ID\",\"scheduleSubobjectiveFlex\":\"objective_scheduleSubobjectiveFlex__e_FiY\",\"scheduleSubobjectiveFlexItem\":\"objective_scheduleSubobjectiveFlexItem__1p_pB\",\"scheduleSubobjectiveFlexItemTitle\":\"objective_scheduleSubobjectiveFlexItemTitle__3JPqF\",\"detailedObjectivePrintable\":\"objective_detailedObjectivePrintable__3gXL_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pageWrapper\":\"pageWrapper_pageWrapper__12_k9\",\"pageLogout\":\"pageWrapper_pageLogout__3vGp0\",\"pageHeaderOuter\":\"pageWrapper_pageHeaderOuter__erHQo\",\"pageHeaderInner\":\"pageWrapper_pageHeaderInner__LhsZ1\",\"logoWrapper\":\"pageWrapper_logoWrapper__38K1T\",\"pageHeaderLeft\":\"pageWrapper_pageHeaderLeft__3xfV5\",\"pageLogo\":\"pageWrapper_pageLogo__ojfJf\",\"frogStreetLogo\":\"pageWrapper_frogStreetLogo__BZf7I\",\"frogStreetTitle\":\"pageWrapper_frogStreetTitle__2LEpx\",\"pageTitle\":\"pageWrapper_pageTitle__2W00i\",\"frogStreetLogoWrapper\":\"pageWrapper_frogStreetLogoWrapper__aKtxC\",\"dropdown\":\"pageWrapper_dropdown__1rQ-N\",\"dropdownKea\":\"pageWrapper_dropdownKea__2jdTI\",\"gitInfo\":\"pageWrapper_gitInfo__1VYbj\",\"dropdownsWrapper\":\"pageWrapper_dropdownsWrapper__3gfbn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"report-dropdown_dropdown__1uHkN\",\"dropdownRadioButtonGroup\":\"report-dropdown_dropdownRadioButtonGroup__3vByY\",\"selected\":\"report-dropdown_selected__2gDX4\",\"dropdownItem\":\"report-dropdown_dropdownItem__13vf6\",\"arrowIcon\":\"report-dropdown_arrowIcon__3ceNf\",\"dropdownItemChild\":\"report-dropdown_dropdownItemChild__3lAl0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pickerContainer\":\"styled-date-picker_pickerContainer__1GOAp\",\"picker\":\"styled-date-picker_picker__1lsjh\",\"pickerIcon\":\"styled-date-picker_pickerIcon__1z-WL\",\"disabled\":\"styled-date-picker_disabled__3x9xr\",\"gray\":\"styled-date-picker_gray__33-gp\",\"popper\":\"styled-date-picker_popper__2gWRq\",\"header\":\"styled-date-picker_header__3tRw7\",\"leftArrow\":\"styled-date-picker_leftArrow__2Z2za\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fieldsRow\":\"edit-parent-modal_fieldsRow__28YBr\",\"editParentModalField\":\"edit-parent-modal_editParentModalField__2mUPp\",\"editParentModalFieldError\":\"edit-parent-modal_editParentModalFieldError__FOCAZ\",\"email\":\"edit-parent-modal_email__3HlOZ\",\"phone\":\"edit-parent-modal_phone__3Ir4Q\",\"status\":\"edit-parent-modal_status__1KWO7\",\"statusConfirmed\":\"edit-parent-modal_statusConfirmed__2rRHG\"};","module.exports = __webpack_public_path__ + \"static/media/logo-small.eb0cf510.png\";","var map = {\n\t\"./Advanced_Reporting\": 799,\n\t\"./Advanced_Reporting.js\": 799,\n\t\"./Assessment_Games\": 800,\n\t\"./Assessment_Games.js\": 800,\n\t\"./Cognitive_Toybox_At_Home\": 801,\n\t\"./Cognitive_Toybox_At_Home.js\": 801,\n\t\"./Getting_Started\": 802,\n\t\"./Getting_Started.js\": 802,\n\t\"./Introduction\": 803,\n\t\"./Introduction.js\": 803,\n\t\"./Introduction_Lite\": 804,\n\t\"./Introduction_Lite.js\": 804,\n\t\"./Introduction_To_Reports\": 805,\n\t\"./Introduction_To_Reports.js\": 805,\n\t\"./Managing_Teacher_Accounts\": 806,\n\t\"./Managing_Teacher_Accounts.js\": 806,\n\t\"./Monitoring_Assessment_Collection\": 807,\n\t\"./Monitoring_Assessment_Collection.js\": 807,\n\t\"./Observations\": 808,\n\t\"./Observations.js\": 808,\n\t\"./Parent_Resources\": 809,\n\t\"./Parent_Resources.js\": 809,\n\t\"./Program_Outcomes_Reporting\": 810,\n\t\"./Program_Outcomes_Reporting.js\": 810,\n\t\"./Student_And_Organization_Management\": 811,\n\t\"./Student_And_Organization_Management.js\": 811,\n\t\"./frogst/Advanced_Reporting_FS\": 812,\n\t\"./frogst/Advanced_Reporting_FS.js\": 812,\n\t\"./frogst/Assessment_Games_FS\": 813,\n\t\"./frogst/Assessment_Games_FS.js\": 813,\n\t\"./frogst/Cognitive_Toybox_At_Home_FS\": 814,\n\t\"./frogst/Cognitive_Toybox_At_Home_FS.js\": 814,\n\t\"./frogst/Getting_Started_Admins_FS\": 815,\n\t\"./frogst/Getting_Started_Admins_FS.js\": 815,\n\t\"./frogst/Getting_Started_FS\": 816,\n\t\"./frogst/Getting_Started_FS.js\": 816,\n\t\"./frogst/Introduction_FS\": 817,\n\t\"./frogst/Introduction_FS.js\": 817,\n\t\"./frogst/Introduction_To_Reports_FS\": 818,\n\t\"./frogst/Introduction_To_Reports_FS.js\": 818,\n\t\"./frogst/Monitoring_Assessment_Collection_FS\": 819,\n\t\"./frogst/Monitoring_Assessment_Collection_FS.js\": 819,\n\t\"./frogst/Observations_FS\": 820,\n\t\"./frogst/Observations_FS.js\": 820,\n\t\"./frogst/Program_Outcomes_Reporting_FS\": 821,\n\t\"./frogst/Program_Outcomes_Reporting_FS.js\": 821\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1688;","var map = {\n\t\"./Advanced_Reporting\": 822,\n\t\"./Advanced_Reporting.js\": 822,\n\t\"./Assessment_Games\": 823,\n\t\"./Assessment_Games.js\": 823,\n\t\"./Cognitive_Toybox_At_Home\": 824,\n\t\"./Cognitive_Toybox_At_Home.js\": 824,\n\t\"./Getting_Started\": 825,\n\t\"./Getting_Started.js\": 825,\n\t\"./Introduction\": 826,\n\t\"./Introduction.js\": 826,\n\t\"./Introduction_Lite\": 827,\n\t\"./Introduction_Lite.js\": 827,\n\t\"./Introduction_To_Reports\": 828,\n\t\"./Introduction_To_Reports.js\": 828,\n\t\"./Managing_Teacher_Accounts\": 829,\n\t\"./Managing_Teacher_Accounts.js\": 829,\n\t\"./Monitoring_Assessment_Collection\": 830,\n\t\"./Monitoring_Assessment_Collection.js\": 830,\n\t\"./Observations\": 831,\n\t\"./Observations.js\": 831,\n\t\"./Parent_Resources\": 832,\n\t\"./Parent_Resources.js\": 832,\n\t\"./Program_Outcomes_Reporting\": 833,\n\t\"./Program_Outcomes_Reporting.js\": 833,\n\t\"./Student_And_Organization_Management\": 834,\n\t\"./Student_And_Organization_Management.js\": 834,\n\t\"./frogst/Advanced_Reporting_FS\": 835,\n\t\"./frogst/Advanced_Reporting_FS.js\": 835,\n\t\"./frogst/Assessment_Games_FS\": 836,\n\t\"./frogst/Assessment_Games_FS.js\": 836,\n\t\"./frogst/Cognitive_Toybox_At_Home_FS\": 837,\n\t\"./frogst/Cognitive_Toybox_At_Home_FS.js\": 837,\n\t\"./frogst/Getting_Started_Admins_FS\": 838,\n\t\"./frogst/Getting_Started_Admins_FS.js\": 838,\n\t\"./frogst/Getting_Started_FS\": 839,\n\t\"./frogst/Getting_Started_FS.js\": 839,\n\t\"./frogst/Introduction_FS\": 840,\n\t\"./frogst/Introduction_FS.js\": 840,\n\t\"./frogst/Introduction_To_Reports_FS\": 841,\n\t\"./frogst/Introduction_To_Reports_FS.js\": 841,\n\t\"./frogst/Monitoring_Assessment_Collection_FS\": 842,\n\t\"./frogst/Monitoring_Assessment_Collection_FS.js\": 842,\n\t\"./frogst/Observations_FS\": 843,\n\t\"./frogst/Observations_FS.js\": 843,\n\t\"./frogst/Program_Outcomes_Reporting_FS\": 844,\n\t\"./frogst/Program_Outcomes_Reporting_FS.js\": 844\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1689;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"dropzone_wrapper__DR3bb\",\"fileDropzoneWrapper\":\"dropzone_fileDropzoneWrapper__tUPVO\",\"zone\":\"dropzone_zone__1vbs9\",\"text\":\"dropzone_text__3DP-G\",\"file\":\"dropzone_file__ad-0u\",\"filename\":\"dropzone_filename__neAV7\",\"preview\":\"dropzone_preview__2rEnF\",\"drag\":\"dropzone_drag__AdcQu\",\"csvFile\":\"dropzone_csvFile__NMcUP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"observationForm\":\"portfolio-based-observation_observationForm__3eAIf\",\"observationDataSelector\":\"portfolio-based-observation_observationDataSelector__2HgkN\",\"observationDropzone\":\"portfolio-based-observation_observationDropzone__HdLVU\",\"observationDropzoneOverlay\":\"portfolio-based-observation_observationDropzoneOverlay__3Og_L\",\"observationButtons\":\"portfolio-based-observation_observationButtons__3wCZ5\",\"observationStep\":\"portfolio-based-observation_observationStep__1fNUA\",\"observationStepItem\":\"portfolio-based-observation_observationStepItem__22bmx\",\"observationExamples\":\"portfolio-based-observation_observationExamples__1U9GI\",\"observationExamplesTitle\":\"portfolio-based-observation_observationExamplesTitle__2np9M\",\"observationExample\":\"portfolio-based-observation_observationExample__3F6Wz\",\"emerging\":\"portfolio-based-observation_emerging__2rh-s\",\"select\":\"portfolio-based-observation_select__1jm5g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"school-year-selection_title__2oOIu\",\"select\":\"school-year-selection_select__2mZFP\",\"info\":\"school-year-selection_info__2H1Hr\",\"row\":\"school-year-selection_row__3g7BQ\",\"scheduleNote\":\"school-year-selection_scheduleNote__pevMA\",\"skipButton\":\"school-year-selection_skipButton__2ztvs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"monitoringTable\":\"tables_monitoringTable__3CBP9\",\"studentsTable\":\"tables_studentsTable__3AQVA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selector\":\"parent-report_selector__1_FFO\",\"filters\":\"parent-report_filters__2N_R2\",\"filter\":\"parent-report_filter__lk3eG\",\"item\":\"parent-report_item__1X_B1\",\"studentName\":\"parent-report_studentName__1JwbH\",\"buttons\":\"parent-report_buttons__3KpZc\",\"modalBody\":\"parent-report_modalBody__3Jttv\",\"modalText\":\"parent-report_modalText__11uwD\",\"studentItem\":\"parent-report_studentItem__VBRo0\",\"checkIcon\":\"parent-report_checkIcon__28PUF\"};","export {\n AuthContainer,\n AuthContext,\n useAuthContext\n} from './components/auth-container'\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"detailedObjectiveWrapper\":\"detailed-objective_detailedObjectiveWrapper__pC0lt\",\"detailedObjectiveHeader\":\"detailed-objective_detailedObjectiveHeader__ZKFLT\",\"detailedObjectiveTitle\":\"detailed-objective_detailedObjectiveTitle__3DKSN\",\"detailedObjectiveMeta\":\"detailed-objective_detailedObjectiveMeta__3iCz5\",\"detailedResult\":\"detailed-objective_detailedResult__2jzVA\",\"objectiveWrapper\":\"detailed-objective_objectiveWrapper__3jDZe\",\"objectiveTitle\":\"detailed-objective_objectiveTitle__3GtGv\",\"objectiveRow\":\"detailed-objective_objectiveRow__2I9N_\",\"performanceDouble\":\"detailed-objective_performanceDouble__1KWvz\",\"customCheckpointFirstColumn\":\"detailed-objective_customCheckpointFirstColumn__2kZcf\",\"customCheckpointNextColumns\":\"detailed-objective_customCheckpointNextColumns__2XWxo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"reportWrapper\":\"monitoring-report-wrapper_reportWrapper__2kduC\",\"tableOverlay\":\"monitoring-report-wrapper_tableOverlay__2SaRT\",\"pageHeader\":\"monitoring-report-wrapper_pageHeader__YvOHm\",\"pageTitle\":\"monitoring-report-wrapper_pageTitle__335-g\",\"buttonsContainer\":\"monitoring-report-wrapper_buttonsContainer__FCxHE\",\"tabList\":\"monitoring-report-wrapper_tabList__3D8mU\",\"tabItem\":\"monitoring-report-wrapper_tabItem__B_Im0\",\"selected\":\"monitoring-report-wrapper_selected__1V6lp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"article\":\"articles_article__1QPbQ\",\"articlesWrapper\":\"articles_articlesWrapper__2hrBn\",\"category\":\"articles_category__1pr40\",\"category_name\":\"articles_category_name__1vQrC\",\"articles\":\"articles_articles__3BKkq\",\"buttons\":\"articles_buttons__1jFP1\",\"backButton\":\"articles_backButton__22VHo\",\"searchResult\":\"articles_searchResult__25qTx\",\"assessmentCompletion\":\"articles_assessmentCompletion__2G4Nh\",\"button\":\"articles_button__2aJ7A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"additionalWrapper\":\"components_additionalWrapper__6fZmD\",\"objectiveReportFilters\":\"components_objectiveReportFilters__1uqk9\",\"styledSelect\":\"components_styledSelect__2LpjE\",\"groupsWrapper\":\"components_groupsWrapper__hu-8r\",\"groupsTitle\":\"components_groupsTitle__1ba4c\",\"groupsSubtitle\":\"components_groupsSubtitle__262Cf\",\"groupsBody\":\"components_groupsBody__10Edp\",\"achievement\":\"components_achievement__1mg92\",\"groupsBodyInner\":\"components_groupsBodyInner__Szl3Y\",\"subobjectiveInnerContainer\":\"components_subobjectiveInnerContainer__JzZ9Q\",\"subobjectiveInnerCorrect\":\"components_subobjectiveInnerCorrect__OduVC\",\"subobjectiveInnerIncorrect\":\"components_subobjectiveInnerIncorrect__3llyB\",\"subobjectiveInnerTitle\":\"components_subobjectiveInnerTitle__29HLB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switchOptions\":\"switch-options_switchOptions__1GiGb\",\"leftText\":\"switch-options_leftText__31sht\",\"rightText\":\"switch-options_rightText__1rZWv\",\"disabled\":\"switch-options_disabled__3vgZM\",\"bold\":\"switch-options_bold__1Ht0d\",\"pointer\":\"switch-options_pointer__1yQjO\",\"flexVersion\":\"switch-options_flexVersion__3RpOS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tableSettingsContainer\":\"table-settings_tableSettingsContainer__2llHe\",\"tableCheckRow\":\"table-settings_tableCheckRow__XgxUK\",\"tableSettingsWrapper\":\"table-settings_tableSettingsWrapper__3_NJd\",\"tableSettingsButton\":\"table-settings_tableSettingsButton__xcqJr\",\"tableSettingsTitle\":\"table-settings_tableSettingsTitle__1_VGN\",\"tableSettingsBody\":\"table-settings_tableSettingsBody__3FPOV\",\"tableSettingsButtons\":\"table-settings_tableSettingsButtons__2x__P\",\"tableSettingsButtonDone\":\"table-settings_tableSettingsButtonDone__3gwRF\",\"styledSelect\":\"table-settings_styledSelect__36K_2\"};","import React from 'react'\nimport cn from 'classnames'\n\nimport styles from './chart.module.css'\n\nexport class Chart extends React.Component {\n render() {\n const { children, className, ...props } = this.props\n return (\n
\n {children}\n
\n )\n }\n}\n","import React, { useState } from 'react'\nimport cn from 'classnames'\nimport { Dropdown } from 'react-bootstrap'\nimport { convertToLocalTime } from 'date-fns-timezone'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\n\nimport { Button } from 'shared/components'\nimport buttonStyles from 'shared/components/Button/button.module.css'\nimport { useDashboardContext } from 'features/dashboard/hooks/use-dashboard-context'\nimport styles from './chart.module.css'\n\nconst timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone\nexport const ChartWrapper = ({\n children,\n printActions = [],\n generationDate,\n className\n}) => {\n const { t } = useTranslation()\n const { isExpandable } = useDashboardContext()\n const [isExpanded, setExpanded] = useState(false)\n return (\n \n {children}\n
\n
\n {generationDate && (\n
\n {t('chart.lastUpdated')}\n
{' '}\n {format(\n convertToLocalTime(generationDate, {\n timeZone\n }),\n 'M/d/yy h:mm a'\n )}\n
\n )}\n {printActions.length > 1 && (\n \n \n {t('chart.print')}\n \n \n {printActions.map(({ label, action }) => (\n \n {label}\n \n ))}\n \n \n )}\n {printActions.length <= 1 &&\n printActions.map(({ label, action }) => (\n \n ))}\n {isExpandable && (\n setExpanded(!isExpanded)}\n className={styles.expanded}\n >\n {isExpanded ? t('chart.collapse') : t('chart.expand')}\n \n )}\n
\n
\n \n )\n}\n","import { Chart as ChartComponent } from './components/Chart'\nimport { ChartFilters } from './components/ChartFilters'\nimport { ChartCheckboxes } from './components/ChartCheckboxes'\nimport { ChartPrintButton } from './components/ChartPrintButton'\nimport { ChartBody } from './components/ChartBody'\nimport { ChartWrapper } from './components/ChartWrapper'\nimport { ChartLoadMoreButton } from './components/ChartLoadMoreButton'\nimport { ChartTitle } from './components/ChartTitle'\nimport { ChartDescription } from './components/ChartDescription'\nimport { ChartLoaderOverlay } from './components/ChartLoaderOverlay'\n\nChartComponent.Filters = ChartFilters\nChartComponent.Checkboxes = ChartCheckboxes\nChartComponent.PrintButton = ChartPrintButton\nChartComponent.Body = ChartBody\nChartComponent.LoadMoreButton = ChartLoadMoreButton\nChartComponent.Wrapper = ChartWrapper\nChartComponent.Title = ChartTitle\nChartComponent.Description = ChartDescription\nChartComponent.LoaderOverlay = ChartLoaderOverlay\n\nexport const Chart = ChartComponent\n","import React from 'react'\nimport cn from 'classnames'\n\nimport styles from './chart.module.css'\n\nexport const ChartFilters = ({ children, hideable }) => {\n return (\n
\n {children}\n
\n )\n}\n","import React from 'react'\nimport cn from 'classnames'\n\nimport styles from './chart.module.css'\n\nexport const ChartCheckboxes = ({ children, hideable }) => {\n return (\n
\n {children}\n
\n )\n}\n","import React from 'react'\nimport cn from 'classnames'\nimport { Button } from 'shared/components'\n\nimport styles from './chart.module.css'\n\nexport const ChartPrintButton = ({ children, className, ...props }) => {\n return (\n \n )\n}\n","import React, { useRef } from 'react'\nimport classNames from 'classnames'\nimport { BouncingArrow } from 'shared/components'\n\nimport styles from './chart.module.css'\n\nexport const ChartBody = ({ children, withoutArrow }) => {\n const ref = useRef()\n return (\n <>\n \n {children}\n \n {!withoutArrow && }\n \n )\n}\n","import React from 'react'\n\nimport styles from './chart.module.css'\n\nexport const ChartLoadMoreButton = ({ children, ...props }) => {\n return (\n \n {children}\n \n )\n}\n","import React from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport Logo from 'assets/logo-small.png'\n\nimport styles from './chart.module.css'\n\nexport const ChartTitle = ({ children }) => {\n const { t } = useTranslation()\n return (\n <>\n \n
\n
\n {children}\n
\n
\n
\n {t('chart.generated')}: {format(Date.now(), 'MM/dd/yyyy')}\n
\n \n )\n}\n","import React from 'react'\n\nimport styles from './chart.module.css'\n\nexport const ChartDescription = ({ children }) => {\n return (\n
\n {children}\n
\n )\n}\n","import React from 'react'\nimport { Loader } from 'shared/components'\nimport styles from './chart.module.css'\n\nexport const ChartLoaderOverlay = () => {\n return (\n
\n \n
\n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subobjectiveResultSelector\":\"report-pages_subobjectiveResultSelector__1Gn-_\",\"subobjectiveRow\":\"report-pages_subobjectiveRow__1v0Zr\",\"subobjectiveCheckmark\":\"report-pages_subobjectiveCheckmark__1jwC2\",\"subobjectiveValue\":\"report-pages_subobjectiveValue__RlywX\",\"subobjective\":\"report-pages_subobjective__3smi7\",\"tableWrapper\":\"report-pages_tableWrapper__NyWPQ\",\"link\":\"report-pages_link__3l7tE\",\"tableSettings\":\"report-pages_tableSettings__2SUB-\",\"tableSettingsTitle\":\"report-pages_tableSettingsTitle__1oGuz\",\"tableSettingsBody\":\"report-pages_tableSettingsBody__YiEeh\",\"objectiveCheckmark\":\"report-pages_objectiveCheckmark__2miBM\",\"objectiveObservations\":\"report-pages_objectiveObservations__2wR1G\",\"objectiveSchedule\":\"report-pages_objectiveSchedule__3APYj\",\"objectiveLastAssessed\":\"report-pages_objectiveLastAssessed__up1D8\",\"objectivesTable\":\"report-pages_objectivesTable__3dLCu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"editIcon\":\"tables_editIcon__3AbMQ\",\"managementTable\":\"tables_managementTable__3waVj\",\"managementTableHeader\":\"tables_managementTableHeader__1lmQY\",\"studentsTable\":\"tables_studentsTable__1GmZ-\",\"parentItem\":\"tables_parentItem__300CD\",\"addParent\":\"tables_addParent__1h0_2\"};","import { configureDirectUrl } from './api-config'\n\nexport const environmentsConfigs = {\n DEVELOPMENT: {\n service: 'execute-api',\n region: 'us-east-1',\n userPoolId: 'us-east-1_KtUdSOcop',\n identityPoolId: 'us-east-1:9b03aa68-74f2-4937-82a6-ff64212c6247',\n webPortalClientId: '12br6gluipps6o9012al07u3qt',\n appClientId: '13uptnf63q7efa2k87cq189v2',\n defaultBaseUrl:\n 'https://l52brascf5.execute-api.us-east-1.amazonaws.com/dev',\n apiName: 'DEVELOPMENT',\n domain: 'ctb-auth-developers.developers.cognitivetoybox.com'\n },\n MAIN: {\n service: 'execute-api',\n region: 'us-east-1',\n userPoolId: 'us-east-1_xDRUmu8Qd',\n identityPoolId: 'us-east-1:c0fc205c-5309-4915-b730-e4d4d83f45ed',\n webPortalClientId: '212u7qa5r4of797jttatvupg8s',\n appClientId: '582h7sd40j8etniblbo4rc594',\n defaultBaseUrl: configureDirectUrl(),\n domain: 'ctb-auth.cognitivetoybox.com',\n apiName: 'MAIN'\n },\n LYONDEVELOPMENT: {\n service: 'execute-api',\n region: 'us-east-1',\n userPoolId: 'us-east-1_nG6nxStW6',\n identityPoolId: 'us-east-1:f3d74c9a-c06c-4e88-95b4-9d34e0d0243c',\n webPortalClientId: '3j3icdr99vlcaeoosccltv686f',\n appClientId: '5tm905gbt58usnk8auuguumrqv',\n defaultBaseUrl:\n 'https://q8jx1a39qc.execute-api.us-east-1.amazonaws.com/dev',\n apiName: 'LYONDEVELOPMENT'\n },\n RIDE: {\n service: 'execute-api',\n region: 'us-east-1',\n userPoolId: 'us-east-1_xDRUmu8Qd',\n identityPoolId: 'us-east-1:c0fc205c-5309-4915-b730-e4d4d83f45ed',\n webPortalClientId: '212u7qa5r4of797jttatvupg8s',\n appClientId: '582h7sd40j8etniblbo4rc594',\n defaultBaseUrl:\n 'https://dtw06779l4.execute-api.us-east-1.amazonaws.com/prod',\n apiName: 'RIDE',\n domain: 'ctb-auth.cognitivetoybox.com',\n cognitoGroup: 'ride_users'\n }\n}\n","export const dynamicVersining = () => {\n let backendVersion\n\n const hostname = window && window.location && window.location.hostname\n\n if (hostname === 'localhost') {\n // backendVersion = 'test' 'web_implementation'\n backendVersion = 'web_implementation'\n } else if (hostname === 'staging.dqrqx6mnwwqze.amplifyapp.com') {\n backendVersion = 'web_prerelease'\n } else {\n backendVersion = 'web'\n }\n\n return backendVersion\n}\n\nexport const configureDirectUrl = () => {\n return `https://uzos1f0z70.execute-api.us-east-1.amazonaws.com/${dynamicVersining()}`\n}\n","import Amplify, { API, Auth, Hub } from 'aws-amplify'\nimport * as aws4 from 'aws4'\nimport * as Sentry from '@sentry/react'\nimport { loginURL } from 'lib/links'\nimport { signOut } from 'features/auth/utils'\nimport queryString from 'query-string'\nimport { environmentsConfigs } from './environments-configs'\n\nexport const ENVIRONMENT =\n environmentsConfigs[process.env.ENVIRONMENT_ID ?? 'MAIN'] ||\n environmentsConfigs.MAIN\n\nconst isApp = localStorage.getItem('target')\n\nAmplify.configure({\n Auth: {\n region: ENVIRONMENT.region,\n userPoolId: ENVIRONMENT.userPoolId,\n // OPTIONAL - Amazon Cognito Web Client ID\n userPoolWebClientId: isApp\n ? ENVIRONMENT.appClientId\n : ENVIRONMENT.webPortalClientId,\n identityPoolId: ENVIRONMENT.identityPoolId,\n mandatorySignIn: false\n },\n\n API: {\n endpoints: Object.values(environmentsConfigs).map(config => ({\n name: config.apiName,\n endpoint: config.defaultBaseUrl,\n custom_header: async () => ({\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n })\n }))\n },\n oauth: {\n domain: ENVIRONMENT.domain,\n redirectSignIn: window.location.origin + loginURL,\n redirectSignOut: window.location.origin + loginURL,\n responseType: 'code',\n scope: ['email', 'aws.cognito.signin.user.admin', 'profile', 'openid']\n }\n})\n\nexport const useAdvancedClientId = () => {\n Amplify.configure({\n Auth: {\n userPoolWebClientId:\n process.env.REACT_APP_POOL_CLIENT_ID_ADVANCED ||\n '582h7sd40j8etniblbo4rc594'\n }\n })\n}\n\nif (isApp) {\n useAdvancedClientId()\n}\n\nexport const getWithoutSignIn = async (\n path,\n queryStringParameters,\n contentType\n) => {\n const request = API.get(ENVIRONMENT.apiName, path, {\n queryStringParameters,\n responseType: contentType\n }).catch(error => {\n Sentry.captureException(error)\n throw error\n })\n return request\n}\n\nexport const postWithoutSignIn = async (\n path,\n body,\n queryStringParameters,\n contentType\n) => {\n const request = API.post(ENVIRONMENT.apiName, path, {\n queryStringParameters,\n body,\n responseType: contentType\n }).catch(error => {\n Sentry.captureException(error)\n throw error\n })\n return request\n}\n\nexport const get = async (\n path,\n use_access_token,\n options = null,\n schoolID,\n meta_data,\n version,\n contentType\n) => {\n const user = await Auth.currentAuthenticatedUser()\n const idToken = user.signInUserSession.idToken.jwtToken\n const accessToken = user.signInUserSession.accessToken.jwtToken\n\n const cognitoGroup = user.signInUserSession.idToken.payload['cognito:groups']\n const userEnvironment = cognitoGroup?.length\n ? Object.values(environmentsConfigs).find(config =>\n cognitoGroup.includes(config.cognitoGroup)\n ) || ENVIRONMENT\n : ENVIRONMENT\n\n const signer = aws4.sign(\n {\n service: userEnvironment.service,\n region: userEnvironment.region,\n hostname: userEnvironment.defaultBaseUrl,\n path: path,\n headers: {\n 'Content-Type': 'application/json',\n Token: idToken,\n Accept: 'application/json'\n }\n },\n {\n accessKeyId: 'AKIAJ2E4VI5URQQVOOJA',\n secretAccessKey: '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',\n sessionToken: null\n }\n )\n\n const concat_ops = { ...options }\n let header_token = idToken\n if (use_access_token) {\n header_token = accessToken\n }\n const ops = {\n headers: {\n Token: header_token,\n Authorization: 'Authorization:' + signer.headers.Authorization\n },\n responseType: contentType,\n queryStringParameters: concat_ops\n }\n\n const request = API.get(userEnvironment.apiName, path, ops).catch(error => {\n Sentry.captureException(error)\n throw error\n })\n\n if (schoolID) {\n return { schoolID, data: await request }\n }\n if (meta_data) {\n return { meta_data, data: await request }\n }\n return request\n}\n\nexport const post = async (\n path,\n use_access_token,\n body = {},\n version,\n queryParams = {}\n) => {\n const user = await Auth.currentAuthenticatedUser()\n const idToken = user.signInUserSession.idToken.jwtToken\n const accessToken = user.signInUserSession.accessToken.jwtToken\n\n const cognitoGroup = user.signInUserSession.idToken.payload['cognito:groups']\n const userEnvironment = cognitoGroup?.length\n ? Object.values(environmentsConfigs).find(config =>\n cognitoGroup.includes(config.cognitoGroup)\n ) || ENVIRONMENT\n : ENVIRONMENT\n const signer = aws4.sign(\n {\n service: userEnvironment.service,\n region: userEnvironment.region,\n hostname: userEnvironment.defaultBaseUrl,\n path: path,\n headers: {\n 'Content-Type': 'application/json',\n Token: idToken,\n Accept: 'application/json'\n }\n },\n {\n accessKeyId: 'AKIAJ2E4VI5URQQVOOJA',\n secretAccessKey: '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',\n sessionToken: null\n }\n )\n const concat_ops = {\n Token: user.signInUserSession.accessToken.jwtToken,\n ...queryParams\n }\n let header_token = idToken\n if (use_access_token) {\n header_token = accessToken\n }\n const ops = {\n headers: {\n Token: header_token,\n Authorization: 'Authorization:' + signer.headers.Authorization\n },\n queryStringParameters: concat_ops,\n body: body\n }\n return API.post(userEnvironment.apiName, path, ops).catch(error => {\n Sentry.captureException(error)\n throw error\n })\n}\nexport const put = async (\n path,\n use_access_token,\n body = {},\n version,\n queryParams = {}\n) => {\n const user = await Auth.currentAuthenticatedUser()\n const idToken = user.signInUserSession.idToken.jwtToken\n const accessToken = user.signInUserSession.accessToken.jwtToken\n\n const cognitoGroup = user.signInUserSession.idToken.payload['cognito:groups']\n const userEnvironment = cognitoGroup?.length\n ? Object.values(environmentsConfigs).find(config =>\n cognitoGroup.includes(config.cognitoGroup)\n ) || ENVIRONMENT\n : ENVIRONMENT\n const signer = aws4.sign(\n {\n service: userEnvironment.service,\n region: userEnvironment.region,\n hostname: userEnvironment.defaultBaseUrl,\n path: path,\n headers: {\n 'Content-Type': 'application/json',\n Token: idToken,\n Accept: 'application/json'\n }\n },\n {\n accessKeyId: 'AKIAJ2E4VI5URQQVOOJA',\n secretAccessKey: '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',\n sessionToken: null\n }\n )\n const concat_ops = {\n Token: user.signInUserSession.accessToken.jwtToken,\n ...queryParams\n }\n let header_token = idToken\n if (use_access_token) {\n header_token = accessToken\n }\n const ops = {\n headers: {\n Token: header_token,\n Authorization: 'Authorization:' + signer.headers.Authorization\n },\n queryStringParameters: concat_ops,\n body: body\n }\n return API.put(userEnvironment.apiName, path, ops).catch(error => {\n Sentry.captureException(error)\n throw error\n })\n}\nexport const patch = async (\n path,\n use_access_token,\n body = {},\n version,\n queryParams = {}\n) => {\n const user = await Auth.currentAuthenticatedUser()\n const idToken = user.signInUserSession.idToken.jwtToken\n const accessToken = user.signInUserSession.accessToken.jwtToken\n\n const cognitoGroup = user.signInUserSession.idToken.payload['cognito:groups']\n const userEnvironment = cognitoGroup?.length\n ? Object.values(environmentsConfigs).find(config =>\n cognitoGroup.includes(config.cognitoGroup)\n ) || ENVIRONMENT\n : ENVIRONMENT\n const signer = aws4.sign(\n {\n service: userEnvironment.service,\n region: userEnvironment.region,\n hostname: userEnvironment.defaultBaseUrl,\n path: path,\n headers: {\n 'Content-Type': 'application/json',\n Token: idToken,\n Accept: 'application/json'\n }\n },\n {\n accessKeyId: 'AKIAJ2E4VI5URQQVOOJA',\n secretAccessKey: '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',\n sessionToken: null\n }\n )\n const concat_ops = {\n Token: user.signInUserSession.accessToken.jwtToken,\n ...queryParams\n }\n let header_token = idToken\n if (use_access_token) {\n header_token = accessToken\n }\n const ops = {\n headers: {\n Token: header_token,\n Authorization: 'Authorization:' + signer.headers.Authorization\n },\n queryStringParameters: concat_ops,\n body: body\n }\n return API.patch(userEnvironment.apiName, path, ops).catch(error => {\n Sentry.captureException(error)\n throw error\n })\n}\nconst query = queryString.parse(location.search)\n\nHub.listen('auth', ({ payload: { event, data } }) => {\n if (event === 'signIn_failure') {\n /* Do not redirect on the following cases:\n - Incorrect Username and Password\n - User Not Found or User Disabled\n - Error Descriptions on the URL (SSO Failure pages)\n */\n if (\n !query.error_description &&\n ((data.code === 'NotAuthorizedException' &&\n !data.message.includes('Incorrect username or password') &&\n !data.message.includes('User is disabled')) ||\n !data.code)\n ) {\n Auth.currentAuthenticatedUser()\n .then(() => signOut())\n .catch(window.location.replace('/login'))\n }\n }\n})\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"reportWrapper\":\"monitoring-report-wrapper_reportWrapper__BHo9q\",\"pageHeader\":\"monitoring-report-wrapper_pageHeader__3hW_q\",\"pageTitle\":\"monitoring-report-wrapper_pageTitle__XHCg2\",\"buttons\":\"monitoring-report-wrapper_buttons__uRllk\",\"tabList\":\"monitoring-report-wrapper_tabList__3OLBk\",\"tabItem\":\"monitoring-report-wrapper_tabItem__1Vu3y\",\"selected\":\"monitoring-report-wrapper_selected__1ldKF\",\"pageSubTitle\":\"monitoring-report-wrapper_pageSubTitle__5Mya9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"training_link__2sjb1\",\"moduleRow\":\"training_moduleRow__2-dag\",\"testButton\":\"training_testButton__3gmDH\",\"testLink\":\"training_testLink__1ZJue\",\"rating\":\"training_rating__1sXrO\",\"passed\":\"training_passed__2QEVX\",\"green\":\"training_green__1MvOA\",\"purple\":\"training_purple__1T8HM\",\"expireSoon\":\"training_expireSoon__1aXfG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"notes-modal_header__21aYA\",\"scrollableBody\":\"notes-modal_scrollableBody__3mFtI\",\"titleWithButton\":\"notes-modal_titleWithButton__3_17Y\",\"student\":\"notes-modal_student__15U8Y\",\"observation\":\"notes-modal_observation__2xYda\",\"title\":\"notes-modal_title__41nc2\",\"body\":\"notes-modal_body__1546Z\",\"studentsContainer\":\"notes-modal_studentsContainer__1NJQR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"usersManagementHeader\":\"users-management_usersManagementHeader__2C6qJ\",\"excelButton\":\"users-management_excelButton__2jNdo\",\"addUserButton\":\"users-management_addUserButton__2T49x\",\"searchWrapper\":\"users-management_searchWrapper__BbVpO\",\"blurTable\":\"users-management_blurTable__1Y7BT\",\"usersManagementHeaderButtons\":\"users-management_usersManagementHeaderButtons__22R4H\",\"indicator\":\"users-management_indicator__3jERh\",\"indicatorContainer\":\"users-management_indicatorContainer__KhEXx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fieldsRow\":\"edit-student-modal-basic_fieldsRow__11xB8\",\"editStudentModalField\":\"edit-student-modal-basic_editStudentModalField__BucQJ\",\"editStudentModalFieldError\":\"edit-student-modal-basic_editStudentModalFieldError__1cPi0\",\"datePicker\":\"edit-student-modal-basic_datePicker__4xU2N\",\"pickerHeader\":\"edit-student-modal-basic_pickerHeader__3Z0wr\",\"arrowIconDisabled\":\"edit-student-modal-basic_arrowIconDisabled__3dlJw\",\"enrollmentDate\":\"edit-student-modal-basic_enrollmentDate__1vJUu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"body\":\"chart-skeleton_body__2tV-h\",\"filter\":\"chart-skeleton_filter__3dBws\",\"button\":\"chart-skeleton_button__2WYNp\",\"small\":\"chart-skeleton_small__2ZfiS\",\"skeletonWrapper\":\"chart-skeleton_skeletonWrapper__1peCe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"achievement\":\"achievement_achievement__2Ema7\",\"achievementTitle\":\"achievement_achievementTitle__3G4IH\",\"achievementBody\":\"achievement_achievementBody__1e4Xf\",\"achievementItem\":\"achievement_achievementItem__KpWJY\",\"achievementBottom\":\"achievement_achievementBottom__XSq6-\",\"known\":\"achievement_known__3zFUk\",\"marked\":\"achievement_marked__39bmd\",\"unknown\":\"achievement_unknown__31Qqo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"scenarios_title__3Z1Uq\",\"description\":\"scenarios_description__16mRI\",\"titleItems\":\"scenarios_titleItems__8a4Gn\",\"rightDescription\":\"scenarios_rightDescription__2NISY\",\"taken\":\"scenarios_taken__1xoAQ\",\"readyForReview\":\"scenarios_readyForReview__vk7wp\",\"incorrect\":\"scenarios_incorrect__hQhwA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"students-modal_title__3-ae4\",\"students\":\"students-modal_students__29jNF\",\"column\":\"students-modal_column__HMePw\",\"columnTitle\":\"students-modal_columnTitle__GScVL\",\"subobjectiveName\":\"students-modal_subobjectiveName__jKPVP\",\"footer\":\"students-modal_footer__3tSDW\",\"lastUpdated\":\"students-modal_lastUpdated__1DBFy\",\"scrollableBody\":\"students-modal_scrollableBody__2Qier\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"domainsOnTrackBarChart\":\"bar-chart_domainsOnTrackBarChart__2t04q\",\"tooltip\":\"bar-chart_tooltip__29pW-\",\"bottomTable\":\"bar-chart_bottomTable__2FEWb\",\"leftTable\":\"bar-chart_leftTable__15dgl\",\"reverseTableContainer\":\"bar-chart_reverseTableContainer__3W3C-\",\"reverseTable\":\"bar-chart_reverseTable__2jP76\",\"chartContainer\":\"bar-chart_chartContainer__1bV00\",\"diagramGoalLine\":\"bar-chart_diagramGoalLine__Rk1Ro\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"curriculumWeeks\":\"curriculum-home_curriculumWeeks__2V9zg\",\"week\":\"curriculum-home_week__P4f6q\",\"weekNumber\":\"curriculum-home_weekNumber__2cXFK\",\"weekDate\":\"curriculum-home_weekDate__-TSec\",\"weekName\":\"curriculum-home_weekName__Ag3CO\",\"curriculumBigButton\":\"curriculum-home_curriculumBigButton__3P-V_\",\"printButton\":\"curriculum-home_printButton__2c88x\",\"editButton\":\"curriculum-home_editButton__itUCe\",\"NameAndPrint\":\"curriculum-home_NameAndPrint__3mi5b\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"table\":\"requests-table_table__3bCRU\",\"buttons\":\"requests-table_buttons__2Jait\",\"wideButton\":\"requests-table_wideButton__2qi26\",\"smallButton\":\"requests-table_smallButton__2isFu\",\"note\":\"requests-table_note__2VnMI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"alert\":\"auth_alert__16Pje\",\"authForm\":\"auth_authForm__1ucd-\",\"or\":\"auth_or__2gy4h\",\"error\":\"auth_error__XFICH\",\"authFooter\":\"auth_authFooter__1Da7Z\",\"authLoading\":\"auth_authLoading__FzGK7\",\"authLoadingText\":\"auth_authLoadingText__23wi7\",\"authInput\":\"auth_authInput__1JDDI\",\"authFields\":\"auth_authFields__3Iya-\",\"authColumn\":\"auth_authColumn__3Dyme\",\"authLoader\":\"auth_authLoader__1YGo5\",\"authCheckingText\":\"auth_authCheckingText__Hfy0i\",\"authSSO\":\"auth_authSSO__mUxlF\",\"authButton\":\"auth_authButton__1Tm9Y\",\"authSSOButton\":\"auth_authSSOButton__FeO_g\",\"authButtonIcon\":\"auth_authButtonIcon__u1f1y\",\"classlink\":\"auth_classlink__-tyK1\",\"clever\":\"auth_clever__3rPWY\",\"authButtonBorder\":\"auth_authButtonBorder__30D_B\",\"authButtonBorderGray\":\"auth_authButtonBorderGray__3Lgmr\",\"authGreen\":\"auth_authGreen__1x7Gn\",\"authOrange\":\"auth_authOrange__1HWGa\",\"authBlue\":\"auth_authBlue__1kkmH\",\"authLinks\":\"auth_authLinks__fcM3J\",\"passwordGroup\":\"auth_passwordGroup__YeSQv\",\"show-password-button\":\"auth_show-password-button__CUhtp\",\"form-group\":\"auth_form-group__2DQgn\",\"caps-lock\":\"auth_caps-lock__2VBOU\",\"authButtons\":\"auth_authButtons__zs_Gp\",\"authSSOButtons\":\"auth_authSSOButtons__2w3q5\",\"authPasswordIcon\":\"auth_authPasswordIcon__bnIfn\",\"auth-checklist\":\"auth_auth-checklist__12RhD\",\"multiuserCard\":\"auth_multiuserCard__1dfqr\",\"multiuserForm\":\"auth_multiuserForm__2--DO\",\"multiuserName\":\"auth_multiuserName__13DBL\",\"multiuserArrow\":\"auth_multiuserArrow__gFciP\",\"multiuserDescription\":\"auth_multiuserDescription__1e46Y\"};","import { createContext, useContext } from 'react'\n\nexport const DashboardContext = createContext()\nexport const useDashboardContext = () => {\n return useContext(DashboardContext)\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"keaTable\":\"tables_keaTable__2pjG4\",\"domain\":\"tables_domain__PcM8o\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"styled-joyride_tooltip__25u2l\",\"content\":\"styled-joyride_content__1EUx_\",\"hideFooter\":\"styled-joyride_hideFooter__1NXgc\",\"buttons\":\"styled-joyride_buttons__1TzbL\",\"leftButton\":\"styled-joyride_leftButton__3IwXT\",\"rightButton\":\"styled-joyride_rightButton__1cFqL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"weeklyMessage\":\"weekly-message_weeklyMessage__3LtjG\",\"body\":\"weekly-message_body__3GHnO\",\"buttons\":\"weekly-message_buttons__eWHeC\",\"checkIcon\":\"weekly-message_checkIcon__3bjgk\",\"exclamationIcon\":\"weekly-message_exclamationIcon__1vepF\",\"pencilIcon\":\"weekly-message_pencilIcon__2y2RO\",\"trashIcon\":\"weekly-message_trashIcon__2kRV2\",\"message\":\"weekly-message_message__2xcCB\",\"deleteButton\":\"weekly-message_deleteButton__3Wy5_\",\"textArea\":\"weekly-message_textArea__31MXC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"body\":\"chart-skeleton_body__3g9le\",\"filter\":\"chart-skeleton_filter__2iNtJ\",\"button\":\"chart-skeleton_button__3EeLd\",\"small\":\"chart-skeleton_small__2yXGM\",\"chartSkeletonFirst\":\"chart-skeleton_chartSkeletonFirst__3gGcn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dataExportContainer\":\"dump-management_dataExportContainer__2VNkE\",\"description\":\"dump-management_description__3x4xb\",\"pickerContainer\":\"dump-management_pickerContainer__1olfw\",\"picker\":\"dump-management_picker__TjX_N\",\"pickerTitle\":\"dump-management_pickerTitle__2WTC7\",\"buttons\":\"dump-management_buttons__1qkKW\",\"loader\":\"dump-management_loader__F4LEu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"certificate_wrapper__2Mw7O\",\"certificate\":\"certificate_certificate__2NCii\",\"icon\":\"certificate_icon__eJ-dz\",\"title\":\"certificate_title__3iqez\",\"date\":\"certificate_date__AU97V\",\"button\":\"certificate_button__2ECy6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"day\":\"assignable_day__1AgHW\",\"daySelectors\":\"assignable_daySelectors__2r0Tq\",\"selector\":\"assignable_selector__W1Ne9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"authWrapper\":\"authWrapper_authWrapper__IVjCf\",\"authContainer\":\"authWrapper_authContainer__2h27J\",\"authLeft\":\"authWrapper_authLeft__2rDuq\",\"authTitle\":\"authWrapper_authTitle__2QLET\",\"authForm\":\"authWrapper_authForm__1aVgY\",\"authLogo\":\"authWrapper_authLogo__1kMFm\",\"message\":\"authWrapper_message__3y3OS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"observationCell\":\"observation-cell_observationCell__3a2vx\",\"observationButton\":\"observation-cell_observationButton__NVYwZ\",\"siteObservationButton\":\"observation-cell_siteObservationButton__3uL5L\",\"siteCheckmark\":\"observation-cell_siteCheckmark__pqZr1\",\"icon\":\"observation-cell_icon__IKZJ_\",\"observationButtonText\":\"observation-cell_observationButtonText__17CEP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"certificationCard\":\"certification_certificationCard__1uh8O\",\"percentage\":\"certification_percentage__3L-tQ\",\"download\":\"certification_download__10d71\",\"percentageScale\":\"certification_percentageScale__jh4mF\",\"description\":\"certification_description__fBppQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"centralLabelText\":\"pie-charts_centralLabelText__3sDGD\",\"centralLabelValue\":\"pie-charts_centralLabelValue__AjDI7\",\"charts\":\"pie-charts_charts__3TgSu\",\"chart\":\"pie-charts_chart__2bedt\",\"subdomainName\":\"pie-charts_subdomainName__2QOw5\",\"domainsOnTrackCharts\":\"pie-charts_domainsOnTrackCharts__Oyqxd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"name\":\"users-management-table_name__2S5IM\",\"logged\":\"users-management-table_logged__34mXd\",\"certified\":\"users-management-table_certified__lZeCu\",\"role\":\"users-management-table_role__3YVAQ\",\"edit\":\"users-management-table_edit__23A9w\",\"username\":\"users-management-table_username__3xZmN\",\"classrooms\":\"users-management-table_classrooms__1undJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"editStudentModalNotes\":\"edit-student-modal-notes_editStudentModalNotes__beJ_r\",\"checkbox\":\"edit-student-modal-notes_checkbox__1sW7k\",\"tooltip\":\"edit-student-modal-notes_tooltip__3Te52\",\"rowWrapper\":\"edit-student-modal-notes_rowWrapper__2xzZT\",\"notesBar\":\"edit-student-modal-notes_notesBar__2v5s-\",\"creatableSelect\":\"edit-student-modal-notes_creatableSelect__1Nf7U\",\"ell\":\"edit-student-modal-notes_ell__3amqY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filters\":\"filters_filters__1OYY4\",\"search\":\"filters_search__3Ys0Y\",\"buttons\":\"filters_buttons__3gyWh\",\"buttonIcon\":\"filters_buttonIcon__rUsIw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checking\":\"setting-up_checking__2d0K2\",\"timeline\":\"setting-up_timeline__wk5v4\",\"timeLineItem\":\"setting-up_timeLineItem__TVCaN\",\"active\":\"setting-up_active__3Y26R\",\"disabled\":\"setting-up_disabled__1CtW2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"schedule_title__2ianQ\",\"filtersPanel\":\"schedule_filtersPanel__Y4ohG\",\"settingPanel\":\"schedule_settingPanel__YMF3K\",\"setting\":\"schedule_setting__1H45i\",\"schedule\":\"schedule_schedule__3N2FG\"};","import React, { createContext } from 'react'\nimport { useAccountData } from 'shared/hooks'\n\nexport const AuthContext = createContext({ loading: true })\nexport const AuthContainer = ({ children }) => {\n const accountData = useAccountData()\n\n return (\n {children}\n )\n}\n\nexport const useAuthContext = () => {\n return React.useContext(AuthContext)\n}\n","import zipcelx from 'zipcelx-es5-cjs'\nimport * as JSPDF from 'jspdf'\nimport { format } from 'date-fns'\nimport * as XLSX from 'xlsx'\nimport 'jspdf-autotable'\n\nexport const exportExcel = (componentRef, fileName) => {\n const table = componentRef.getElementsByTagName('table')[0]\n if (table) {\n const workbook = XLSX.utils.table_to_book(table, { raw: true })\n const newSheet = {}\n Object.entries(workbook.Sheets.Sheet1).forEach(([key, value]) => {\n if (\n Object.prototype.hasOwnProperty.call(value, 'v') &&\n value.v !== '' &&\n !isNaN(Number(value.v))\n ) {\n // Regular number\n newSheet[key] = { t: 'n', v: Number(value.v) }\n } else if (\n Object.prototype.hasOwnProperty.call(value, 'v') &&\n value.v.includes('%') &&\n value.v.split('%')[0] !== '' &&\n !isNaN(Number(value.v.split('%')[0]))\n ) {\n // Percent\n newSheet[key] = { t: 'n', v: Number(value.v.split('%')[0]) }\n } else {\n // String\n newSheet[key] = value\n }\n })\n const workbookWithRightTypes = { ...workbook, Sheets: { Sheet1: newSheet } }\n XLSX.writeFile(\n workbookWithRightTypes,\n `${fileName}_${format(Date.now(), 'MM/dd/yyyy')}.xlsx`\n )\n }\n}\n\nconst exportPdf = async (title, tableId, objSelected) => {\n const doc = new JSPDF('p', 'pt')\n const tableHtml = tableId\n let cellWidth = 'wrap'\n\n // if (objSelected === true) {\n // const table = document.getElementsByTagName('table')[0]\n // const clonedTable = table.cloneNode(true)\n //\n // for (const row of clonedTable.rows) {\n // const c = row.firstChild\n // if (c.tagName === 'TD') {\n // const removed = row.removeChild(row.firstChild)\n // const successCell = document.createElement('td')\n // successCell.innerHTML = removed.firstChild.className\n // row.prepend(successCell)\n // }\n // }\n // tableHtml = clonedTable\n // }\n\n if (objSelected === true) {\n cellWidth = 300\n }\n\n doc.autoTable({\n html: tableHtml,\n styles: {\n overflow: 'linebreak',\n cellWidth: 'wrap',\n fontSize: 8,\n cellPadding: 5\n },\n columnStyles: {\n 0: {\n cellWidth: cellWidth\n }\n },\n margin: { top: 80 },\n DidDrawPage: function(data) {\n doc.text(title, 40, 60)\n },\n tableWidth: 'wrap'\n })\n doc.save(`${title}.pdf`)\n}\n\nexport const handleExportExcel = (school, classname, obj, domain, student) => {\n let today = new Date()\n const dd = String(today.getDate()).padStart(2, '0')\n const mm = String(today.getMonth() + 1).padStart(2, '0')\n const yyyy = String(today.getFullYear()).substring(2)\n\n today = mm + '-' + dd + '-' + yyyy\n\n let studentName\n if (student != null && student.length > 0) {\n studentName = ` - ${student}`\n } else {\n studentName = ''\n }\n\n const organizationID = localStorage.getItem('organizationID')\n\n let name\n let objSelected = false\n if (school === 'All Schools') {\n if (classname === 'All Classrooms') {\n if (obj === 'All Objectives') {\n if (domain === 'All Domains') {\n // All Objectives / All Domains\n name = `${organizationID}${studentName} - ${today}`\n } else {\n // All Objectives / One Domain\n name = `${organizationID}${studentName} - ${domain} - ${today}`\n }\n } else {\n if (domain === 'All Domains') {\n // ONE Objective / All Domains\n name = `${organizationID}${studentName} - ${obj} - ${today}`\n objSelected = true\n } else {\n // ONE Objective / One Domain\n name = `${organizationID}${studentName} - ${domain} - ${obj} - ${today}`\n objSelected = true\n }\n }\n } else {\n if (obj === 'All Objectives') {\n if (domain === 'All Domains') {\n // All Objectives / All Domains\n name = `${organizationID}${studentName} - ${today}`\n } else {\n // All Objectives / One Domain\n name = `${organizationID}${studentName} - ${domain} - ${today}`\n }\n } else {\n if (domain === 'All Domains') {\n // ONE Objective / All Domains\n name = `${organizationID}${studentName} - ${obj} - ${today}`\n objSelected = true\n } else {\n // ONE Objective / One Domain\n name = `${organizationID}${studentName} - ${domain} - ${obj} - ${today}`\n objSelected = true\n }\n }\n }\n } else {\n // ONE SCHOOL\n if (classname === 'All Classrooms') {\n if (obj === 'All Objectives') {\n if (domain === 'All Domains') {\n // All Objectives / All Domains\n name = `${school}${studentName} - ${today}`\n } else {\n // All Objectives / One Domain\n name = `${school}${studentName} - ${domain} - ${today}`\n }\n } else {\n if (domain === 'All Domains') {\n // ONE Objective / All Domains\n name = `${school} - ${obj} - ${today}`\n objSelected = true\n } else {\n // ONE Objective / One Domain\n name = `${school}${studentName} - ${domain} - ${obj} - ${today}`\n objSelected = true\n }\n }\n }\n\n // ONE CLASSROOM\n else {\n if (obj === 'All Objectives') {\n if (domain === 'All Domains') {\n // All Objectives / All Domains\n name = `${school} - ${classname}${studentName} - ${today}`\n } else {\n // All Objectives / One Domain\n name = `${school} - ${classname}${studentName} - ${domain} - ${today}`\n }\n } else {\n if (domain === 'All Domains') {\n // ONE Objective / All Domains\n name = `${school} - ${classname}${studentName} - ${obj} - ${today}`\n objSelected = true\n } else {\n // ONE Objective / One Domain\n name = `${school} - ${classname}${studentName} - ${domain} - ${obj} - ${today}`\n objSelected = true\n }\n }\n }\n }\n\n if (!name) {\n name = 'Export Excel'\n }\n\n const title = name\n const data = []\n let tableData = ''\n if (objSelected === true) {\n const table = document.getElementsByTagName('table')[0]\n\n const headers = Array.prototype.slice.call(table.getElementsByTagName('th'))\n let parsedHeaders = []\n headers.forEach(header => {\n if (header.dataset.exportValues) {\n const exportValues = header.dataset.exportValues.split(',')\n parsedHeaders = parsedHeaders.concat(\n exportValues.map(v => {\n return { value: v === '-' ? '' : v, type: 'string' }\n })\n )\n } else {\n parsedHeaders.push({ value: header.innerText, type: 'string' })\n }\n })\n data.push(parsedHeaders)\n\n // let table = Array.prototype.slice.call(document.getElementsByTagName(\"table\")[0].tBodies[0].children)\n\n if (obj && student) {\n const clonedTable = table.cloneNode(true)\n\n for (const row of clonedTable.rows) {\n const c = row.firstChild\n if (c.tagName === 'TD') {\n const removed = row.removeChild(row.firstChild)\n const successCell = document.createElement('td')\n successCell.innerHTML = removed.firstChild.className\n row.prepend(successCell)\n }\n }\n tableData = clonedTable\n } else {\n tableData = table\n }\n\n for (const row of tableData.rows) {\n if (row.firstChild.tagName === 'TH') continue\n\n if (obj && student) {\n data.push([\n { value: row.firstChild.innerHTML, type: 'string' },\n { value: row.lastChild.innerHTML, type: 'string' }\n ])\n } else {\n let rowData = []\n Array.prototype.slice.call(row.children).forEach(element => {\n if (element.dataset.exportValues) {\n const exportValues = element.dataset.exportValues.split(',')\n rowData = rowData.concat(\n exportValues.map(v => {\n return { value: v === '-' ? '' : v, type: 'string' }\n })\n )\n } else {\n rowData.push({\n value: element.innerText === '-' ? '' : element.innerText,\n type: 'string'\n })\n }\n })\n data.push(rowData)\n\n //data.push(Array.prototype.slice.call( row.children ).map(element => {return {value: element.innerText === '-' ? '': element.innerText, type: 'string'}}))\n }\n\n // // data.push([])\n // // let arr = [{value:row.firstChild, type:'string'}]row.lastChild}]\n // // data.push(row.map(element => {return {value: element.innerText === '-' ? '': element.innerText, type: 'string'}}))\n // // data.push(arr)\n\n // arr = []\n }\n } else {\n const headers = Array.prototype.slice.call(\n document.body.getElementsByTagName('th')\n )\n let parsedHeaders = []\n headers.forEach(header => {\n if (header.dataset.exportValues) {\n const exportValues = header.dataset.exportValues.split(',')\n parsedHeaders = parsedHeaders.concat(\n exportValues.map(v => {\n return { value: v === '-' ? '' : v, type: 'string' }\n })\n )\n } else {\n parsedHeaders.push({ value: header.innerText, type: 'string' })\n }\n })\n data.push(parsedHeaders)\n tableData = Array.prototype.slice.call(\n document.getElementsByTagName('table')[0].tBodies[0].children\n )\n tableData.forEach(dataRow => {\n let rowData = []\n Array.prototype.slice.call(dataRow.children).forEach(element => {\n if (element.dataset.exportValues) {\n const exportValues = element.dataset.exportValues.split(',')\n rowData = rowData.concat(\n exportValues.map(v => {\n return { value: v === '-' ? '' : v, type: 'string' }\n })\n )\n } else {\n rowData.push({\n value: element.innerText === '-' ? '' : element.innerText,\n type: 'string'\n })\n }\n })\n data.push(rowData)\n })\n }\n\n // const cnt = 0\n\n // tableData.map(dataRow => data.push(Array.prototype.slice.call(dataRow.children)))\n\n const config = {\n filename: title,\n sheet: {\n data: data\n }\n }\n zipcelx(config)\n}\n\nexport const handleExportTitledExcel = title => {\n let today = new Date()\n const dd = String(today.getDate()).padStart(2, '0')\n const mm = String(today.getMonth() + 1).padStart(2, '0') //January is 0!\n const yyyy = String(today.getFullYear()).substring(2)\n\n today = mm + '-' + dd + '-' + yyyy\n\n const fullTitle = title + '-' + today\n\n const data = []\n const table = document.getElementsByTagName('table')[0]\n\n const headers = Array.prototype.slice.call(table.getElementsByTagName('th'))\n let parsedHeaders = []\n headers.forEach(header => {\n if (header.dataset.exportValues) {\n const exportValues = header.dataset.exportValues.split(',')\n parsedHeaders = parsedHeaders.concat(\n exportValues.map(v => {\n return { value: v === '-' ? '' : v, type: 'string' }\n })\n )\n } else {\n parsedHeaders.push({ value: header.innerText, type: 'string' })\n }\n })\n data.push(parsedHeaders)\n\n const tableData = Array.prototype.slice.call(table.tBodies[0].children)\n tableData.forEach(dataRow => {\n let rowData = []\n Array.prototype.slice.call(dataRow.children).forEach(element => {\n if (element.dataset.exportValues) {\n const exportValues = element.dataset.exportValues.split(',')\n rowData = rowData.concat(\n exportValues.map(v => {\n return { value: v === '-' ? '' : v, type: 'string' }\n })\n )\n } else {\n rowData.push({\n value: element.innerText === '-' ? '' : element.innerText,\n type: 'string'\n })\n }\n })\n data.push(rowData)\n })\n\n const config = {\n filename: fullTitle,\n sheet: {\n data: data\n }\n }\n zipcelx(config)\n}\n\nexport const handleExportPdf = (school, classname, obj, domain, student) => {\n let today = new Date()\n const dd = String(today.getDate()).padStart(2, '0')\n const mm = String(today.getMonth() + 1).padStart(2, '0') //January is 0!\n const yyyy = String(today.getFullYear()).substring(2)\n\n today = mm + '-' + dd + '-' + yyyy\n\n let studentName\n if (student != null && student.length > 0) {\n studentName = ` - ${student}`\n } else {\n studentName = ''\n }\n\n // TODAY\n\n // All Schools -- school\n // All Classrooms -- classname\n // All Objectives -- obj\n // All Domains -- domain\n\n const organizationID = localStorage.getItem('organizationID')\n\n let name\n let objSelected = false\n if (school === 'All Schools') {\n if (classname === 'All Classrooms') {\n if (obj === 'All Objectives') {\n if (domain === 'All Domains') {\n // All Objectives / All Domains\n name = `${organizationID}${studentName} - ${today}`\n } else {\n // All Objectives / One Domain\n name = `${organizationID}${studentName} - ${domain} - ${today}`\n }\n } else {\n if (domain === 'All Domains') {\n // ONE Objective / All Domains\n name = `${organizationID}${studentName} - ${obj} - ${today}`\n objSelected = true\n } else {\n // ONE Objective / One Domain\n name = `${organizationID}${studentName} - ${domain} - ${obj} - ${today}`\n objSelected = true\n }\n }\n } else {\n if (obj === 'All Objectives') {\n if (domain === 'All Domains') {\n // All Objectives / All Domains\n name = `${organizationID}${studentName} - ${today}`\n } else {\n // All Objectives / One Domain\n name = `${organizationID}${studentName} - ${domain} - ${today}`\n }\n } else {\n if (domain === 'All Domains') {\n // ONE Objective / All Domains\n name = `${organizationID}${studentName} - ${obj} - ${today}`\n objSelected = true\n } else {\n // ONE Objective / One Domain\n name = `${organizationID}${studentName} - ${domain} - ${obj} - ${today}`\n objSelected = true\n }\n }\n }\n } else {\n // ONE SCHOOL\n if (classname === 'All Classrooms') {\n if (obj === 'All Objectives') {\n if (domain === 'All Domains') {\n // All Objectives / All Domains\n name = `${school}${studentName} - ${today}`\n } else {\n // All Objectives / One Domain\n name = `${school}${studentName} - ${domain} - ${today}`\n }\n } else {\n if (domain === 'All Domains') {\n // ONE Objective / All Domains\n name = `${school}${studentName} - ${obj} - ${today}`\n objSelected = true\n } else {\n // ONE Objective / One Domain\n name = `${school}${studentName} - ${domain} - ${obj} - ${today}`\n objSelected = true\n }\n }\n }\n // ONE CLASSROOM\n else {\n if (obj === 'All Objectives') {\n if (domain === 'All Domains') {\n // All Objectives / All Domains\n name = `${school} - ${classname}${studentName} - ${today}`\n } else {\n // All Objectives / One Domain\n name = `${school} - ${classname}${studentName} - ${domain} - ${today}`\n }\n } else {\n if (domain === 'All Domains') {\n // ONE Objective / All Domains\n name = `${school} - ${classname}${studentName} - ${obj} - ${today}`\n objSelected = true\n } else {\n // ONE Objective / One Domain\n name = `${school} - ${classname}${studentName} - ${domain} - ${obj} - ${today}`\n objSelected = true\n }\n }\n }\n }\n\n const tableId = 'table'\n //above code is used for generating the title, needs to be rewritten using redux eventually\n const title = name\n exportPdf(title, tableId, objSelected)\n}\n\nexport const handleExportTitledPdf = title => {\n let today = new Date()\n const dd = String(today.getDate()).padStart(2, '0')\n const mm = String(today.getMonth() + 1).padStart(2, '0') //January is 0!\n const yyyy = String(today.getFullYear()).substring(2)\n\n today = mm + '-' + dd + '-' + yyyy\n\n const tableId = 'table'\n //above code is used for generating the title, needs to be rewritten using redux eventually\n const fullTitle = `${title} - ${today}`\n exportPdf(fullTitle, tableId, false)\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"report-select_select__3_QzB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"weekSelector\":\"week-selector_weekSelector__39wWr\",\"wrapper\":\"week-selector_wrapper__ps0fW\",\"selectWrapper\":\"week-selector_selectWrapper__2JY00\",\"button\":\"week-selector_button__3qGSD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sectionWrapper\":\"planning-toop_sectionWrapper__1jHbK\",\"section\":\"planning-toop_section__Uzg3a\",\"buttonsWrapper\":\"planning-toop_buttonsWrapper__2nP99\",\"assignableSelector\":\"planning-toop_assignableSelector__1IWZY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fileSharing\":\"file-sharing_fileSharing__1bE45\",\"header\":\"file-sharing_header__3h9Qg\",\"dropzone\":\"file-sharing_dropzone__hjv1b\",\"buttons\":\"file-sharing_buttons__21I1W\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"kea-report_title__3KLv0\",\"header\":\"kea-report_header__12S5y\",\"lastUpdated\":\"kea-report_lastUpdated__2CcxF\",\"report\":\"kea-report_report__1NZiY\",\"tableOverlay\":\"kea-report_tableOverlay__1z9uZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectedObjective\":\"schedule-table_selectedObjective__1UiIf\",\"tableWrapper\":\"schedule-table_tableWrapper__2rRWB\",\"checkpointName\":\"schedule-table_checkpointName__iF-A7\",\"scheduleTable\":\"schedule-table_scheduleTable__1qvrS\"};","import { useEffect } from 'react'\n\nexport const useClickOutside = (ref, eventHandler) => {\n useEffect(() => {\n /**\n * Alert if clicked on outside of element\n */\n function handleClickOutside(event) {\n if (ref.current && !ref.current.contains(event.target)) {\n setTimeout(() => {\n eventHandler()\n }, 100)\n }\n }\n // Bind the event listener\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [ref, eventHandler])\n}\n","module.exports = __webpack_public_path__ + \"static/media/certified-irr.4dbdc235.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"parentReport\":\"report_parentReport__2_QTF\",\"parentReportBack\":\"report_parentReportBack__3mg3X\",\"parentReportNotification\":\"report_parentReportNotification__3dhI5\",\"parentReportTranslations\":\"report_parentReportTranslations__27hAs\",\"parentReportTitle\":\"report_parentReportTitle__1sfPs\",\"parentReportButtons\":\"report_parentReportButtons__p_Cn5\",\"parentReportSubtitle\":\"report_parentReportSubtitle__1tcZC\",\"parentReportBody\":\"report_parentReportBody__1ElF5\",\"parentReportBodyTitle\":\"report_parentReportBodyTitle__1kpuv\",\"parentReportRow\":\"report_parentReportRow__BNvcO\",\"parentReportRowItem\":\"report_parentReportRowItem__8t_Bf\",\"card\":\"report_card__3dfPS\",\"fullWidth\":\"report_fullWidth__2y3AW\",\"recommendationActivity\":\"report_recommendationActivity__1yY-B\",\"parentReaction\":\"report_parentReaction__20Rbn\",\"parentReactionWrapper\":\"report_parentReactionWrapper__2OW7D\",\"dailyActivity\":\"report_dailyActivity__1JaQw\",\"dailyReadActivity\":\"report_dailyReadActivity__3Yde5\",\"parentReportRowItemSeparator\":\"report_parentReportRowItemSeparator__3tfk9\",\"parentReportRowItemTitle\":\"report_parentReportRowItemTitle__1u7nj\",\"parentReportRowItemSubtitle\":\"report_parentReportRowItemSubtitle__2qBEv\",\"parentReportRowItemBody\":\"report_parentReportRowItemBody__5WM7S\",\"parentReportAssessmentDate\":\"report_parentReportAssessmentDate__3IfeH\",\"parentReportRowItemSide\":\"report_parentReportRowItemSide__2R_IT\",\"parentReportRowItemImage\":\"report_parentReportRowItemImage__1xIBs\",\"parentReactions\":\"report_parentReactions__FqdHq\",\"complete\":\"report_complete__SID21\",\"checked\":\"report_checked__2cu8S\",\"like\":\"report_like__HUV4T\"};","module.exports = __webpack_public_path__ + \"static/media/certified.0649940d.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"teacher-view_wrapper__378F6\",\"loadingWrapper\":\"teacher-view_loadingWrapper__28-JW\",\"game\":\"teacher-view_game__2gxMM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"table\":\"modal_table__HVn7u\",\"scheduleTable\":\"modal_scheduleTable__o8ugb\",\"scheduleTableTitle\":\"modal_scheduleTableTitle__3Nk8b\",\"emptySchedule\":\"modal_emptySchedule__3xudB\",\"sideWrapper\":\"modal_sideWrapper__3sG_l\",\"sideClose\":\"modal_sideClose__2mxIQ\",\"scheduleWeekTitle\":\"modal_scheduleWeekTitle__1_G5Z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switchCheckbox\":\"switch_switchCheckbox__3kzzP\",\"disabled\":\"switch_disabled__1LvqI\",\"switchLabel\":\"switch_switchLabel__2GGrA\",\"switchButton\":\"switch_switchButton__o7IBW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"primary-link_link__2iRgj\",\"buttonStyle\":\"primary-link_buttonStyle__GY29H\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"image-preview_wrapper__2r-cB\",\"layer\":\"image-preview_layer__eYHh6\",\"content\":\"image-preview_content__s6-ET\",\"buttons\":\"image-preview_buttons__37igu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"scale\":\"percentage-scale_scale__M8S9W\",\"bad\":\"percentage-scale_bad__3HcXm\",\"normal\":\"percentage-scale_normal__1DigC\",\"good\":\"percentage-scale_good__3LRBe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bouncingArrow\":\"bouncing-arrow_bouncingArrow__3bXFw\",\"arrow\":\"bouncing-arrow_arrow__kUwGJ\",\"bounce\":\"bouncing-arrow_bounce__2sjGm\",\"background\":\"bouncing-arrow_background__3OVYq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"styledSwiperContainer\":\"styled-swiper_styledSwiperContainer__tXtgL\",\"pagination\":\"styled-swiper_pagination__zvYCx\",\"styledSwiperRow\":\"styled-swiper_styledSwiperRow__36K36\",\"styledSwiper\":\"styled-swiper_styledSwiper__22HVp\",\"centered\":\"styled-swiper_centered__2NyLA\",\"navigationPrev\":\"styled-swiper_navigationPrev__nz2pM\",\"navigationNext\":\"styled-swiper_navigationNext__2Geak\",\"navigationDisabled\":\"styled-swiper_navigationDisabled__3biBo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonContainer\":\"print-modal-children_buttonContainer__39iPo\",\"border\":\"print-modal-children_border__THIpf\",\"hide\":\"print-modal-children_hide__RZhYz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"response\":\"response_response__3VNEz\",\"response__title\":\"response_response__title__OMs1s\",\"response__form\":\"response_response__form__1dLTz\",\"response__loading\":\"response_response__loading__1aj_v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"classroomViewHeader\":\"classroom-view_classroomViewHeader__nEuV8\",\"classroomViewTitle\":\"classroom-view_classroomViewTitle__Creeb\",\"activityLinkContainer\":\"classroom-view_activityLinkContainer__1GLee\",\"activityAndMessage\":\"classroom-view_activityAndMessage__1elkt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"observationRow\":\"student-modal_observationRow__WWd9J\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"groups\":\"detailed-lesson-modal_groups__2azXy\",\"header\":\"detailed-lesson-modal_header__28tH8\",\"content\":\"detailed-lesson-modal_content__2JsR3\",\"printableModal\":\"detailed-lesson-modal_printableModal__2Bmuy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"keaData\":\"kea-overall-average-score_keaData__2Xg7z\",\"keaInfo\":\"kea-overall-average-score_keaInfo__1YzVy\"};","import React from 'react'\nimport classNames from 'classnames'\nimport { Table } from 'react-bootstrap'\nimport styles from './scenarios-table.module.css'\n\nexport const ScenariosTable = ({ headers, values }) => {\n return (\n \n \n {headers.map((header, index) => (\n \n {header}\n \n ))}\n \n \n {values.map((innerValues, index) => (\n \n {innerValues.map((innerValue, index) =>\n index === 0 ? (\n \n {innerValue.name}\n \n ) : (\n {innerValue}\n )\n )}\n \n ))}\n \n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Button, Modal } from 'shared/components'\n\nexport const ObjectiveExamplesModal = ({ modal, onHide }) => {\n const { t } = useTranslation()\n\n return (\n \n {t('training.scenarios.modal.doYouWant')}\n \n {\n window.open(modal)\n onHide()\n }}\n >\n {t('training.scenarios.modal.continue')}\n \n \n \n \n )\n}\n","import React, { useState, useMemo, useEffect, useRef } from 'react'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { toast } from 'react-toastify'\nimport { groupBy } from 'lodash'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faExchangeAlt, faCheckCircle } from '@fortawesome/free-solid-svg-icons'\nimport {\n Button,\n BouncingArrow,\n StyledSelect as Select,\n PrimaryLink,\n Modal\n} from 'shared/components'\nimport { startScenarios, endScenarios } from 'lib/api'\n\nimport { ObjectiveExamplesModal } from './objective-examples-modal'\nimport styles from './scenarios-cell.module.css'\n\nexport const ScenariosCell = ({\n scenario,\n readyForReview,\n complete,\n incorrect,\n refetch\n}) => {\n const { t, i18n } = useTranslation()\n const [opened, setOpened] = useState(false)\n const [exampleModal, setExampleModal] = useState(false)\n const [submitLoading, setSubmitLoading] = useState(false)\n const [selectLevel, setSelectedLevel] = useState({\n label: t('training.scenarios.modal.selectLevel'),\n value: null\n })\n const { data, isLoading } = useQuery(\n [scenario.training_module_scenario_id, i18n.language],\n () =>\n startScenarios({\n scenario: scenario.training_module_scenario_id,\n language: i18n.language\n }),\n { enabled: opened }\n )\n const scenarioData = useMemo(\n () =>\n data && {\n ...data.scenario_data,\n levels: [\n ...Object.values(groupBy(data.scenario_data.levels, 'level'))\n .map(item => ({\n label: item[0].name,\n value: item[0].level,\n descriptions: item.map(({ description }) => description),\n examples: item.map(({ examples }) => examples)?.flat()\n }))\n .sort((a, b) => b.value - a.value),\n { label: t('training.scenarios.modal.notYet'), value: 0 }\n ],\n previousEnteredLevel: [\n ...data.scenario_data.levels,\n { name: t('training.scenarios.modal.notYet'), level: 0 }\n ].find(\n ({ level }) => level === data.scenario_data.previous_entered_level\n )\n },\n [data]\n )\n useEffect(\n () =>\n scenarioData?.previousEnteredLevel &&\n setSelectedLevel({\n label: scenarioData.previousEnteredLevel.name,\n value: scenarioData.previousEnteredLevel.level\n }),\n [scenarioData]\n )\n\n const end = async () => {\n try {\n setSubmitLoading(true)\n const resp = await endScenarios({\n session: data.scenario_rating_session_id,\n level: selectLevel.value\n })\n if (resp.errorMessage) {\n toast.error(resp.errorMessage)\n }\n } catch (e) {\n toast.error(e.message)\n } finally {\n setSubmitLoading(false)\n setOpened(false)\n refetch()\n }\n }\n\n return (\n <>\n setOpened(true)}\n >\n {readyForReview || incorrect ? (\n <>\n \n {t('training.scenarios.changeAnswer')}\n \n ) : complete ? (\n <>\n \n {t('training.scenarios.complete')}\n \n ) : (\n t('training.scenarios.start')\n )}\n \n setOpened(false)}\n size=\"lg\"\n dialogClassName={styles.modal}\n isLoading={isLoading}\n >\n \n {scenario.name}\n \n \n {scenarioData && (\n <>\n
\n {t('training.scenarios.modal.description')}\n
\n
\n
\n
{scenarioData.description}
\n {\n setSelectedLevel(level)\n }}\n />\n
\n setOpened(false)}\n disabled={submitLoading}\n >\n {t('training.scenarios.modal.cancel')}\n \n {!complete && (\n end()}\n disabled={submitLoading || selectLevel.value === null}\n >\n {t('training.scenarios.modal.save')}\n \n )}\n
\n
\n \n
\n \n )}\n
\n \n setExampleModal(false)}\n />\n \n )\n}\nexport const DevelopmentalIndicators = ({\n scenarioData,\n setExampleModal,\n className,\n scrollablePanelClassName\n}) => {\n const { t } = useTranslation()\n const ref = useRef()\n return (\n \n \n
\n
\n {t('training.scenarios.modal.developmentalIndicators')}\n
\n {scenarioData.levels.some(level => level.examples?.length) && (\n
\n {t('training.scenarios.modal.examples')}\n
\n )}\n
\n\n {scenarioData.levels.map(\n level =>\n level.value !== 0 && (\n
\n
\n
    \n {level.label}\n {level.descriptions.map((description, index) => (\n
  • {description}
  • \n ))}\n
\n
\n {!!level.examples?.length && (\n
\n
    \n {level.label}\n {level.examples.map(({ example, example_type }, i) =>\n example_type === 'link' ? (\n setExampleModal(example)}\n >\n
  • {t('training.scenarios.modal.clickLink')}
  • \n \n ) : (\n
  • {example}
  • \n )\n )}\n
\n
\n )}\n
\n )\n )}\n \n \n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Button, Modal } from 'shared/components'\nimport certificateIRR from 'assets/images/certified-irr.png'\n\nimport styles from './scenarios-modal.module.css'\nexport const ScenariosModal = ({ opened, setOpened }) => {\n const { t } = useTranslation()\n return (\n setOpened(false)}>\n \n {t('training.scenarios.modal.IRRResults')}\n \n \n {opened.url ? (\n <>\n

{t('training.scenarios.modal.congratulations')}

\n \n {\n window.open(opened.url)\n }}\n >\n {t('training.scenarios.modal.downloadCertificate')}\n \n \n \n ) : (\n <>\n

\n {t('training.scenarios.modal.levelled', {\n correct: opened.correct,\n total: opened.total\n })}\n

\n
{t('training.scenarios.modal.closeTheWindow')}
\n {t('training.scenarios.modal.note')}\n \n \n )}\n
\n
\n )\n}\n","import React, { useState, useMemo, useCallback } from 'react'\nimport classNames from 'classnames'\nimport { useQuery } from 'react-query'\nimport { STATUS } from 'react-joyride'\nimport { useTranslation } from 'react-i18next'\nimport {\n Button,\n Loader,\n StyledSelect as Select,\n Modal,\n StyledJoyride\n} from 'shared/components'\nimport { getTrainingScenariosTutorial } from 'lib/api'\n\nimport styles from './irr-tutorial-modal.module.css'\nimport { ObjectiveExamplesModal } from '../scenarios-cell/objective-examples-modal'\nimport { DevelopmentalIndicators } from '../scenarios-cell/scenarios-cell'\n\nconst STEPS_ARRAY = [1, 2, 3, 4]\n\nexport const IrrTutorialModal = ({ moduleId, opened, setOpened }) => {\n localStorage.setItem('isIRRTutorialPassed', true)\n const { t, i18n } = useTranslation()\n const [step, setStep] = useState(0)\n const changeStep = useCallback(\n action => (action === 'forward' ? setStep(step + 1) : setStep(step - 1)),\n [step]\n )\n const cancel = () => {\n setOpened(false)\n setStep(0)\n }\n\n return (\n \n \n \n {t('training.scenarios.tutorialModal.title')}\n \n \n \n {step !== 0 && (\n
\n {STEPS_ARRAY.map(i => (\n \n ))}\n
\n )}\n {\n {\n 0: ,\n 1: ,\n 2: ,\n 3: (\n \n ),\n 4: \n }[step]\n }\n
\n \n )\n}\n\nconst Step0 = ({ t, changeStep, cancel }) => (\n
\n
\n
\n {t('training.scenarios.tutorialModal.description1')}\n
\n
\n {' '}\n {t('training.scenarios.tutorialModal.description2')}\n
\n
\n
\n \n \n
\n
\n)\n\nconst Step1 = ({ t, changeStep }) => (\n
\n
\n {t('training.scenarios.tutorialModal.tip')}:{' '}\n {t('training.scenarios.tutorialModal.step1')}\n
\n
\n \n \n
\n
\n)\n\nconst Step2 = ({ t, changeStep }) => (\n
\n
\n {t('training.scenarios.tutorialModal.step2')}\n
\n
\n \n \n
\n
\n)\n\nconst Step3 = ({ t, i18n, moduleId, changeStep, cancel }) => {\n const [joyride, setJoyride] = useState(() => ({\n run: true,\n steps: [\n {\n title: t('training.scenarios.tutorialModal.tooltipStep1'),\n target: '#irr-tutorial-description',\n disableBeacon: true\n },\n {\n title: t('training.scenarios.tutorialModal.tooltipStep2'),\n target: '#developmental-indicators'\n },\n {\n title: t('training.scenarios.tutorialModal.tooltipStep3'),\n target: '#irr-tutorial-select',\n placement: 'right',\n spotlightClicks: true\n },\n {\n title: t('training.scenarios.tutorialModal.tooltipStep4'),\n target: '#irr-tutorial-button'\n }\n ]\n }))\n const [exampleModal, setExampleModal] = useState(false)\n const [feedback, setFeedback] = useState(null)\n const [selectLevel, setSelectedLevel] = useState({\n label: t('training.scenarios.tutorialModal.selectTheLevel'),\n value: null,\n feedback: null\n })\n const { data, isLoading } = useQuery([i18n.language], () =>\n getTrainingScenariosTutorial({\n training: moduleId,\n language: i18n.language\n })\n )\n const scenarioData = useMemo(\n () =>\n data && {\n ...data[0],\n levels: data[0].levels\n .map(item => ({\n label: item.name,\n value: item.level,\n descriptions: item.subobjectives.map(\n ({ description }) => description\n ),\n examples: item.subobjectives\n .map(({ examples }) => examples)\n ?.flat(),\n feedback: item.feedback\n }))\n .sort((a, b) => b.value - a.value)\n },\n [data]\n )\n\n if (isLoading) return \n return (\n scenarioData && (\n <>\n
\n

{t('training.scenarios.tutorialModal.step3')}

\n
\n {t('training.scenarios.modal.description')}\n
\n
\n
\n
\n {scenarioData.description}\n
\n
\n {\n setSelectedLevel(level)\n setFeedback(null)\n }}\n />\n
\n
\n \n \n feedback?.isCorrect\n ? changeStep('forward')\n : setFeedback({\n text: selectLevel.feedback,\n level: selectLevel.value,\n isCorrect:\n selectLevel.value === scenarioData.correct_level,\n showModal: true\n })\n }\n >\n {feedback?.isCorrect\n ? t('training.scenarios.tutorialModal.next')\n : t('training.scenarios.tutorialModal.checkAnswer')}\n \n
\n
\n \n
\n
\n {feedback && (\n \n setFeedback({\n ...feedback,\n showModal: false\n })\n }\n centered\n style={{ zIndex: 10000000 }}\n backdropClassName={styles.feedbackModalBackdrop}\n >\n \n \n {feedback.isCorrect\n ? t('training.scenarios.tutorialModal.success')\n : t('training.scenarios.tutorialModal.notQuite')}\n \n \n \n \n {feedback.text}\n \n \n \n )}\n {exampleModal && (\n setExampleModal(false)}\n />\n )}\n {\n const { status } = data\n if ([STATUS.FINISHED, STATUS.SKIPPED].includes(status)) {\n setJoyride(state => ({ ...state, run: false }))\n }\n }}\n />\n \n )\n )\n}\n\nconst Step4 = ({ t, close, changeStep }) => (\n
\n
\n {t('training.scenarios.tutorialModal.step4')}\n
\n
\n \n \n
\n
\n)\n","import React, { useState } from 'react'\nimport classNames from 'classnames'\nimport { useQuery } from 'react-query'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheckCircle, faExclamation } from '@fortawesome/free-solid-svg-icons'\nimport { Loader, Button } from 'shared/components'\nimport {\n getTrainingScenariosQuery,\n reviewScenarios,\n submitTraining\n} from 'lib/api'\n\nimport styles from './scenarios.module.css'\nimport {\n ScenariosTable,\n ScenariosCell,\n ScenariosModal,\n IrrTutorialModal\n} from '../../features'\n\nexport const statuses = {\n readyForReview: 'Ready for Review',\n complete: 'Complete',\n incorrect: 'Incorrect'\n}\n\nexport const ScenariosContainer = ({ moduleId, title, isPassed }) => {\n const { t, i18n } = useTranslation()\n const [submitLoading, setSubmitLoading] = useState(false)\n const [reviewLoading, setReviewLoading] = useState(false)\n const [isSubmit, setIsSubmit] = useState(isPassed)\n const [opened, setOpened] = useState(false)\n const { data, isLoading, refetch } = useQuery(\n getTrainingScenariosQuery({ training: moduleId, language: i18n.language })\n )\n const [tutorial, setTutorial] = useState(\n !localStorage.getItem('isIRRTutorialPassed')\n )\n\n const review = async () => {\n try {\n setReviewLoading(true)\n const resp = await reviewScenarios({\n training_module_id: moduleId\n })\n if (resp.errorMessage) {\n throw new Error(resp.errorMessage)\n }\n if (resp.complete_training_module) {\n submit()\n setIsSubmit(true)\n } else {\n setOpened({\n correct: resp.correct,\n total: resp.total\n })\n }\n } catch (e) {\n toast.error(e.message)\n } finally {\n setReviewLoading(false)\n refetch()\n }\n }\n\n const submit = async () => {\n try {\n setSubmitLoading(true)\n const resp = await submitTraining({\n Language: i18n.language,\n TrainingID: 'Rise1.0',\n TrainingModule: moduleId\n })\n if (resp.errorMessage) {\n throw new Error(resp.errorMessage)\n }\n setOpened({ url: resp.added_certifications[0].presigned_url })\n } catch (e) {\n toast.error(e.message)\n } finally {\n setSubmitLoading(false)\n refetch()\n }\n }\n\n if (!isLoading && !data?.domains) return null\n\n return (\n
\n
\n

{title}

\n \n
\n
\n {t('training.scenarios.description1')}\n
\n
\n {t('training.scenarios.description2')}\n
\n {(isLoading || submitLoading) && }\n\n {data && !submitLoading && (\n <>\n
\n

\n {data.taken +\n '/' +\n data.scheduled +\n ' ' +\n t('training.scenarios.scenariosReadyForReview')}\n

\n {!isSubmit && (\n review()}\n >\n {t('training.scenarios.submitForReview')}\n \n )}\n
\n
\n {isSubmit || isPassed\n ? t('training.scenarios.passed')\n : t('training.scenarios.submitForReviewDescription')}\n
\n\n {data.domains.map(domain => {\n const headers = [\n domain.name,\n domain.taken +\n '/' +\n domain.scheduled +\n ' ' +\n t('training.scenarios.scenariosLeveled')\n ]\n const values = domain.scenarios.map(scenario => {\n const readyForReview = scenario.status === statuses.readyForReview\n const complete = scenario.status === statuses.complete\n const incorrect = scenario.status === statuses.incorrect\n return [\n {\n name: (\n \n {scenario.name}\n {readyForReview && (\n
\n \n \n {t('training.scenarios.readyForReview')}\n \n
\n )}\n {incorrect && (\n
\n \n \n {t('training.scenarios.incorrect')}\n \n
\n )}\n
\n ),\n taken: readyForReview || complete\n },\n \n ]\n })\n return (\n \n )\n })}\n \n )}\n \n \n \n )\n}\n","export const getAccountType = () => {\n const role = localStorage.getItem('role')\n\n return {\n isStateAdmin: role === 'STATE_ADMIN',\n isDistrictAdmin: role === 'DISTRICT_ADMIN',\n isSchoolAdmin: role === 'SCHOOL_ADMIN',\n isTeacher: role === 'TEACHER',\n isParent: role === 'PARENT'\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"first_wrapper__3QlHv\",\"cardContainer\":\"first_cardContainer__12pGd\",\"card\":\"first_card__kq3cd\",\"cardAdmin\":\"first_cardAdmin__13Ro1\",\"firstLine\":\"first_firstLine__t8P5j\",\"secondLine\":\"first_secondLine__qTahS\",\"seeDetails\":\"first_seeDetails__2qM1I\",\"blue\":\"first_blue__2-ZqH\",\"orange\":\"first_orange__n-Nxg\",\"green\":\"first_green__3eZ1o\",\"lightblue\":\"first_lightblue__3N3kx\",\"counter\":\"first_counter__3t6v2\",\"description\":\"first_description__1XtWD\",\"flex\":\"first_flex__1mEZM\",\"percent\":\"first_percent__1l4tg\",\"modalBody\":\"first_modalBody__21I2k\",\"infoIcon\":\"first_infoIcon__kVmPO\",\"firstLineFlex\":\"first_firstLineFlex__SPSHH\",\"firstLineNumber\":\"first_firstLineNumber__ihYl8\",\"assessmentWindow\":\"first_assessmentWindow__2Ce2N\"};","module.exports = __webpack_public_path__ + \"static/media/frog-street-logo.15caeba0.svg\";","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport styles from './guide.module.css'\n\nexport const Guide = ({ url, text }) => {\n const { t } = useTranslation()\n const { partnership } = useAuthContext()\n\n if (partnership?.frog_street) return <>\n\n return (\n
\n \n {text}\n \n \n
\n )\n}\n","export { Guide } from './guide/guide'\nexport { ScenariosContainer } from './scenarios/scenarios-container'\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"article_wrapper__1-vpS\",\"backButton\":\"article_backButton__wmIZ6\",\"article\":\"article_article__22Pru\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"widget-wrapper_wrapper__ZT-om\",\"button\":\"widget-wrapper_button__D-cmU\",\"container\":\"widget-wrapper_container__30Nm2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"widget-header_wrapper__3JAI4\",\"title\":\"widget-header_title__1O_Ni\",\"closeButton\":\"widget-header_closeButton__2oZOl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"card_card__3_eon\",\"cardHeader\":\"card_cardHeader__31xWB\",\"cardBody\":\"card_cardBody__1Mp6Q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"body\":\"scenarios-modal_body__3COEb\",\"certificateIRR\":\"scenarios-modal_certificateIRR__3ZZDq\",\"button\":\"scenarios-modal_button__3-XYc\"};","module.exports = __webpack_public_path__ + \"static/media/certified-medium.d1b582b0.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"controls\":\"filters_controls__fF8uS\",\"button\":\"filters_button__3rt5E\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"completionPercent\":\"filters_completionPercent__154eC\",\"monitoringReportFilters\":\"filters_monitoringReportFilters__WOs6U\",\"searchWrapper\":\"filters_searchWrapper__1_b5y\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"objectivesTabsPercentOfStudents\":\"objectives-tabs_objectivesTabsPercentOfStudents__1a6BA\",\"objectivesTabsObjectives\":\"objectives-tabs_objectivesTabsObjectives__EnvPh\",\"objectivesTabsObjective\":\"objectives-tabs_objectivesTabsObjective__1jtYK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"quickLinks\":\"quick-links_quickLinks__2szPt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"certificate\":\"certification-modal_certificate__NL7Wz\",\"dateEarned\":\"certification-modal_dateEarned__3IVuX\",\"body\":\"certification-modal_body__1q_0A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"editClassroomField\":\"edit-classroom-modal_editClassroomField__13bMf\",\"row\":\"edit-classroom-modal_row__2eO8E\",\"classroomName\":\"edit-classroom-modal_classroomName__2VXs2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"domains\":\"kea-domains_domains__2NBMo\",\"domain\":\"kea-domains_domain__2HBMM\",\"button\":\"kea-domains_button__12QYe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"Export_wrapper__2qqB9\",\"container\":\"Export_container__2vhVu\",\"buttonsWrapper\":\"Export_buttonsWrapper__2wUpp\"};","export const rolesEnum = {\n DISTRICT_ADMIN: 'DISTRICT_ADMIN',\n SCHOOL_ADMIN: 'SCHOOL_ADMIN',\n TEACHER: 'TEACHER',\n MULTIUSER: 'MULTIUSER'\n}\n\nexport const managementRolesEnum = {\n STATE_ADMIN: 'State Admin',\n DISTRICT_ADMIN: 'District Admin',\n SCHOOL_ADMIN: 'School Admin',\n TEACHER: 'Teacher',\n MULTIUSER: 'Multi-Account'\n}\n\nexport const stateAdminRoles = [\n {\n label: 'State Admin',\n value: managementRolesEnum.STATE_ADMIN\n },\n {\n label: 'District Admin',\n value: managementRolesEnum.DISTRICT_ADMIN\n },\n {\n label: 'School Admin',\n value: managementRolesEnum.SCHOOL_ADMIN\n },\n {\n label: 'Teacher',\n value: managementRolesEnum.TEACHER\n }\n]\nexport const districtAdminRoles = [\n {\n label: 'District Admin',\n value: managementRolesEnum.DISTRICT_ADMIN\n },\n {\n label: 'School Admin',\n value: managementRolesEnum.SCHOOL_ADMIN\n },\n {\n label: 'Teacher',\n value: managementRolesEnum.TEACHER\n }\n]\nexport const schoolAdminRoles = [\n {\n label: 'School Admin',\n value: managementRolesEnum.SCHOOL_ADMIN\n },\n {\n label: 'Teacher',\n value: managementRolesEnum.TEACHER\n }\n]\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subObjectiveItems\":\"items_subObjectiveItems__GwRNL\",\"subObjectiveText\":\"items_subObjectiveText__1nZVz\",\"itemsTitle\":\"items_itemsTitle__1BJi0\",\"assessed\":\"items_assessed__3TLVh\",\"notes\":\"items_notes__16XgV\",\"notesBody\":\"items_notesBody__2AJea\",\"changeNotes\":\"items_changeNotes__232xE\",\"cross\":\"items_cross__CO568\",\"textarea\":\"items_textarea__2yr14\",\"note\":\"items_note__3fHXn\",\"images\":\"items_images__21KjP\",\"image\":\"items_image__1Ku1Z\",\"achievementsWrapper\":\"items_achievementsWrapper__1KoW0\",\"achievementsBody\":\"items_achievementsBody__3nIoR\",\"aggregationsWrapper\":\"items_aggregationsWrapper__1DA6b\",\"aggregationsInner\":\"items_aggregationsInner__2Ey-B\",\"bordered\":\"items_bordered__1M1t6\",\"aggregationsBottom\":\"items_aggregationsBottom__1las0\",\"proposalsBody\":\"items_proposalsBody__1myUg\"};","import { createAction, createReducer } from 'redux-act'\n\nexport const add = createAction('EXPORT_MODULE/ADD')\nexport const remove = createAction('EXPORT_MODULE/REMOVE')\n\nconst counterReducer = createReducer(\n {\n [add]: (state, payload) => (state = payload),\n [remove]: state => (state = null)\n },\n null\n)\n\nexport default counterReducer\n","import { createAction, createReducer } from 'redux-act'\n\nexport const updateUser = createAction('AUTH_MODULE/UPDATE')\n\nconst authReducer = createReducer(\n {\n [updateUser]: (state, payload) => {\n state.user = payload\n return state\n }\n },\n { user: null }\n)\n\nexport default authReducer\n","import { createStore, applyMiddleware, compose, combineReducers } from 'redux'\nimport penderMiddleware from 'redux-pender'\n\nimport * as modules from './modules'\n\nconst reducers = combineReducers(modules)\nconst middlewares = [penderMiddleware()]\n\n// Redux Devtools ONLY for Dev Mode\nconst isDev = process.env.NODE_ENV === 'development'\nconst devtools = isDev && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\nconst composeEnhancers = devtools || compose\n\nconst configure = preloadedState =>\n createStore(\n reducers,\n preloadedState,\n composeEnhancers(applyMiddleware(...middlewares))\n )\n\nexport default configure\n","import es from './es'\nimport en from './en'\n\nexport const languages = {\n es,\n en\n}\n","import { auth } from './auth'\nimport { report } from './reports/report'\nimport { domainReport } from './reports/domain-report'\nimport { objectiveReport } from './reports/objective-report'\nimport { familyEngagementReport } from './reports/family-engagement-report'\nimport { parentReport } from './reports/parent-report'\nimport { siteReport } from './reports/site-report'\nimport { bulkReport } from './reports/bulk-report'\nimport { DRDPReport } from './reports/drdp-report'\nimport { certificationStatusReport } from './reports/certification-status-report'\nimport { monitoringReport } from './reports/monitoring-report'\nimport { checkpointReport } from './reports/checkpoint-report'\nimport { chart } from './chart'\nimport { charts } from './charts'\nimport { sidebar } from './components/sidebar'\nimport { table } from './components/table'\nimport { pageWrapper } from './components/pageWrapper'\nimport { orgManagement } from './management/organization'\nimport { userManagement } from './management/user'\nimport { scheduleManagement } from './management/schedule'\nimport { dataExportManagement } from './management/dataExport'\nimport { profile } from './profile'\nimport { basicComponents } from './components/basic'\nimport { training } from './training'\nimport { observation } from './observation'\nimport { support } from './support'\nimport { curriculum } from './curriculum'\nimport { siteReportTooltips } from './tooltips/site-report-tooltips'\nimport { objectiveReportTooltips } from './tooltips/objective-report-tooltips'\nimport { familyEngagementTooltips } from './tooltips/family-engagement-tooltips'\nimport { keaReport } from './reports/kea-report'\n\nexport default {\n translation: {\n auth,\n domainReport,\n siteReportTooltips,\n objectiveReportTooltips,\n familyEngagementTooltips,\n objectiveReport,\n familyEngagementReport,\n parentReport,\n siteReport,\n bulkReport,\n DRDPReport,\n certificationStatusReport,\n monitoringReport,\n checkpointReport,\n chart,\n charts,\n sidebar,\n table,\n pageWrapper,\n orgManagement,\n userManagement,\n scheduleManagement,\n dataExportManagement,\n report,\n profile,\n basicComponents,\n training,\n observation,\n support,\n curriculum,\n keaReport\n }\n}\n","export const auth = {\n login: {\n title: '¡Bienvenido!',\n subtitle:\n 'Inicie sesión usando su Nombre de usuario / Correo Electrónico y Contraseña',\n email: 'Correo electrónico / Nombre de Usuario',\n password: 'Contraseña',\n checking: 'Cuenta de cheques...',\n loginButton: 'Iniciar sesión',\n forgotPassword: 'Olvidé mi Contraseña',\n back: 'Atrás',\n loginWithSSO: 'Inicio de sesión con SSO',\n or: 'o'\n },\n ssoError: {\n back: 'Volver a Iniciar Sesión',\n CTB_REQUEST_SENT_ERROR: {\n title: 'Su Solicitud ha sido Enviada',\n description1:\n 'Se ha enviado una solicitud a su administrador para conceder acceso a Cognitive ToyBox.',\n description2:\n 'Recibirá un correo electrónico cuando pueda iniciar sesión.'\n },\n CTB_REQUEST_DENIED_ERROR: {\n title: 'Solicitud de Acceso a Cognitive ToyBox Denegada',\n description1: 'No tiene permiso para iniciar sesión en Cognitive ToyBox.',\n description2:\n 'Por favor, hable con su administrador del programa si cree que esto es un error.'\n },\n error: {\n title: 'Error de Inicio de Sesión en Cognitive ToyBox',\n description1:\n 'Lo sentimos, pero estamos teniendo problemas para iniciar su sesión.',\n description2:\n 'Por favor, inténtelo de nuevo y si aún no puede iniciar sesión, póngase en contacto con'\n }\n },\n checkEmail: {\n title: '¡No hay problema!',\n subtitle:\n 'Ingrese su correo electrónico y elija Verificar mi cuenta para que podamos ayudarlo.',\n email: 'Email',\n back: 'Atrás',\n submitButton: 'Verificar mi cuenta'\n },\n ssoAuth: {\n googleButton: 'Iniciar sesión con Google',\n cleverButton: 'Iniciar sesión con Clever',\n classLinkButton: 'Iniciar sesión con ClassLink',\n back: 'Atrás'\n },\n confirmResetPassword: {\n title: '¿Quieres restablecer tu contraseña?',\n subtitle:\n 'Tu cuenta ya está configurada. Si desea restablecer su contraseña, elija \"Restablecer mi contraseña\" y revise su correo electrónico para ver el código de verificación que necesitará.',\n back: 'No',\n haveCode: 'I have my code',\n submitButton: 'Restablecer mi contraseña'\n },\n resendEmail: {\n title: '¡No hay problema!',\n subtitle:\n 'Ingrese su Correo Electrónico / Nombre de Usuario y revise su correo electrónico para obtener un código de verificación temporal',\n email: 'Correo electrónico / Nombre de Usuario',\n submit: 'Envíe el Código de Verificación',\n back: 'Atrás'\n },\n resetPassword: {\n title: '¡Casi termino!',\n subtitle: 'Ingrese su código de verificación y cree la nueva contraseña',\n code: 'Código de verificación',\n email: 'Nombre de Usuario',\n password: 'Nueva Contraseña',\n confirmPassword: 'Confirmar Contraseña',\n cancel: 'Cancelar',\n saveAndLogin: 'Guardar e iniciar sesión'\n },\n setupPassword: {\n title: '¡Bienvenido!',\n subtitle:\n 'Para comenzar, cree una Contraseña nueva y segura para iniciar sesión en Cognitive Toybox',\n password: 'Nueva Contraseña',\n confirmPassword: 'Confirmar Contraseña',\n caption:\n 'Asegúrese de que su nueva contraseña tenga al menos 8 caracteres y contenga una letra mayúscula, una letra minúscula y un número',\n agreement: 'Al iniciar sesión, acepto los',\n terms: 'Términos de Servicio',\n and: 'y la',\n privacyPolicy: 'Política de Privacidad',\n cancel: 'Cancelar',\n saveAndLogin: 'Guardar e iniciar sesión'\n },\n mfaSetup: {\n title: 'Autenticación multifactor',\n subtitle:\n 'Para habilitar MFA, debe ingresar su número de teléfono y el código de verificación que reciba en un mensaje de texto',\n phone: 'Número de teléfono',\n skip: 'Omitir',\n sendCode: 'Enviar Código',\n resendCode: 'Reenviar código'\n },\n mfaVerification: {\n title: 'Autenticación multifactor',\n subtitle:\n 'Para asegurarnos de que es usted, le enviamos un código de autenticación de 6 dígitos a su número de teléfono registrado que termina en {{phone}}.',\n code: 'Código de autenticación:',\n submit: 'Enviar',\n cancel: 'Cancelar'\n },\n checkboxes: {\n capital: 'Letra mayúscula',\n lowercase: 'Letra minúscula',\n special: 'Número',\n minLength: 'Al menos 8 carácteres',\n match: 'Las contraseñas son las mismas'\n },\n settingUp: {\n back: 'Atrás',\n confirm: 'Confirmar e ir al portal',\n checking: 'Comprobando la configuración del año escolar...',\n redirect: 'Todo está preparado. Redirección...',\n setup: 'Configuración para {{date}}',\n title: 'Preparativos para el curso escolar',\n titleWithName: 'Configuración para {{name}}',\n users: 'Usuarios',\n students: 'Estudiantes',\n schedule: 'Horario',\n shareUserInfo: 'Compartir información del usuario',\n shareStudentInfo: 'Compartir información sobre los estudiantes',\n sharedScheduleInfo: 'Información sobre el calendario de acciones',\n alreadySharedSchedule: `Ya has compartido la información de tu horario con Cognitive ToyBox. \n Si desea hacer cambios, por favor envíe un correo electrónico a `,\n skipAndRemind: 'Saltar y Recordármelo más tarde',\n skip: 'Saltar',\n submit: 'Enviar',\n resubmit: 'Vuelva a enviar',\n success: '¡Subido con éxito!',\n download: 'Descargar {{file}}',\n usersStep: {\n downloadTemplate: 'Descargar plantilla de usuario',\n info: `Por favor, comparta información sobre cualquier profesor, \n administrador o miembro del personal que necesitará acceso a Cognitive ToyBox en el curso {{date}}`,\n note:\n 'Nota: puedes seguir añadiendo usuarios manualmente, pero compartir ahora nos permitirá configurarlos por ti.'\n },\n studentsStep: {\n downloadTemplate: 'Descargar plantilla de estudiante',\n info:\n 'Por favor, comparta información sobre todos los estudiantes en el año escolar {{date}}',\n note:\n 'Nota: puede seguir añadiendo alumnos manualmente, pero compartir ahora nos permitirá configurarlos por usted.'\n },\n scheduleStep: {\n downloadTemplate: 'Descargar plantilla de horario',\n info:\n 'Por favor, comparta información sobre el calendario del año escolar {{date}}',\n note:\n 'Nota: puedes seguir añadiendo horarios manualmente, pero ahora compartir nos permitirá configurarlos por ti.'\n }\n }\n}\n","export const domainReport = {\n entryButton: 'Imprimir el informe de progreso del niño',\n entryDescription:\n 'Este informe se puede compartir con los padres e incluye áreas de éxito y mejora para cada dominio junto con las actividades recomendadas.',\n studentReport: 'Informe del Estudiante',\n overall: 'General',\n ageCategory: 'Categoría de edad',\n assessmentsComplete: 'Evaluaciones completadas',\n notes: 'Notas',\n teacherSignature: 'Firma del maestro',\n parentSignature: 'Firma del Padree',\n dateSigned: 'Fecha de Firma',\n created: 'Creado',\n assessed: 'Examinado',\n areaOfSuccess: 'Área de Exito',\n areaForImprovement: 'Área Para Mejorar',\n noneRecommended: 'Ninguno Recomendado',\n achievedDevelopmentalMilestone: 'Hito de desarrollo logrado:',\n nextDevelopmentalMilestone: 'Siguiente hito del desarrollo:',\n recommendedActivity: 'Actividad Recomendada',\n show: 'Mostrar',\n hide: 'Ocultar',\n oneArea: 'Incluya un área de éxito y mejora para cada dominio',\n threeAreas: 'Incluya hasta tres áreas de éxito y mejora para cada dominio',\n allAreas: 'Incluir todas las áreas de éxito y mejora para cada dominio'\n}\n","export const siteReportTooltips = {\n schoolLevel: {\n schools: '',\n assessmentCompleted: 'Number of assessments complete',\n lastAssessed: 'Date of most recent assessment taken'\n },\n classroomLevel: {\n classrooms: '',\n averageLevel: 'Average outcome of all assessments completed to-date',\n assessmentCompleted: 'Number of assessments complete',\n lastAssessed: 'Date of most recent assessment taken',\n notes: ''\n },\n studentLevel: {\n students: '',\n averageLevel: 'Average outcome of all assessments completed to-date',\n onTrack:\n 'On Track shows how many months ahead or behind age level students are overall. Note that if the number is orange, they are below age level. If the number is green, they are above age level. If the number is black, they are on track.',\n assessmentCompleted: 'Number of assessments complete',\n lastAssessed: 'Date of most recent assessment taken',\n notes:\n 'Any notes that have been assigned to this student will appear here. e.g.: ELL, Late Start'\n },\n objectiveLevel: {\n objectives: '',\n standard: 'State or Federal Alignment Standards',\n weekScheduled:\n 'Week the objective (game or observation) is scheduled. If this is blank, the objective is not scheduled this checkpoint.',\n type:\n 'Obs is an observation that was collected by a teacher. Game is a completed game-based assessment.',\n growth:\n 'Growth in the most recent assessment. Gray dot means they achieved the same level as when they were assessed earlier. Green up arrow(s) show that they got a higher level in their most recent assessment. Orange down arrow(s) show that their level has gone down in their most recent assessment.',\n level: 'Age-level achieved',\n completed: 'Number of assessments complete',\n lastAssessed:\n 'Date of most recent assessment taken. If there is a green checkmark, you have completed this observation or game this checkpoint already!',\n observations:\n 'Click the button to start a new observation. If the button is green, you have already collected this observation this checkpoint. If it is purple, you have not yet collected an observation in this checkpoint.'\n },\n subobjectiveLevel: {\n subobjective:\n 'Subobjectives are individual skills assessed through observation or game',\n level: 'Age-level achieved'\n }\n}\n","export const objectiveReportTooltips = {\n objectiveLevel: {\n objectives: '',\n averageLevel: 'Average outcome of all assessments completed to-date',\n type:\n 'Obs is an observation that was collected by a teacher. Game is a completed game-based assessment.',\n standard: 'State or Federal Alignment Standards',\n complete: 'Number of assessments complete',\n lastAssessed: 'Date of most recent assessment'\n },\n subobjectiveLevel: {\n subobjective:\n 'Subobjectives are individual skills assessed through observation or game',\n level: 'Age-level expectations for subobjective',\n correct:\n 'Number of students who achieved a subobjective (on their most recent assessment)',\n complete:\n 'Number of students assessed on a subobjective (on their most recent assessment)'\n }\n}\n","export const familyEngagementTooltips = {\n classroomView: {\n student: '',\n activities:\n 'Offline and online activities shared with families that were completed this week',\n games: 'Game-based assessments played at home this week',\n timeSpent: 'Approximate time spent on activities and games this week',\n loggedIn: 'When family last logged in',\n report:\n \"Preview what the family sees by tapping the blue Preview Family Report button. Tap on the Preview Student Report button to see the child's assessment results.\"\n },\n schoolAdminView: {\n classroom: '',\n activitiesCompleted:\n 'Offline and online activities shared with families that were completed this week',\n gamesPlayed: 'Game-based assessments played at home this week',\n familiesLoggedIn: 'Percent of families logged in'\n },\n districtAdminView: {\n school: '',\n activitiesCompleted:\n 'Offline and online activities shared with families that were completed this week',\n gamesPlayed: 'Game-based assessments played at home this week',\n timeSpent: 'Approximate time spent on activities and games this week',\n familiesLoggedIn: 'Percent of families logged in'\n }\n}\n","export const objectiveReport = {\n title: '{{organization}} {{objective}} Informe objetivo',\n subtitle: '{{school}} {{classroom}} {{checkpoint}}',\n lastAssessed: 'Ultimo Evaluación',\n student: 'estudiante',\n notAssessedYet: 'aún no evaluado',\n recommendedSmallGroups: 'Grupos pequeños recomendados',\n recommendedSmallGroupsDescription: '',\n practice: 'Practica',\n upNext: 'Siguiente',\n recommended: 'Recomendado',\n additional: {\n leastRecognized: 'El menos reconocido',\n sometimesRecognized: 'A veces se reconoce',\n mostRecognized: 'Los más reconocidos'\n },\n table: {\n objectives: 'Objetivos',\n avLevel: 'Nivel Promedio',\n type: 'Typo',\n standard: 'Estándar',\n complete: 'Completo',\n lastAssessed: 'Ultimo Evaluación',\n subobjective: 'Subobjetivo',\n level: 'Nivel',\n correct: 'Correcto',\n age: 'Edad'\n },\n studentsModal: {\n subobjective: 'Subobjetivo',\n correct: 'Correcto',\n incorrect: 'Incorrecto',\n notTaken: 'No se ha tomado',\n lastUpdated: 'Última actualización',\n close: 'Cerrar'\n }\n}\n","export const familyEngagementReport = {\n weeklyMessage: {\n title: 'Mensajes Semanales a las Familias',\n noMessage: `No hay mensajes para esta semana. \n¡Escriba para añadir uno ahora!`,\n delete: 'Borrar',\n change: 'Cambiar',\n addMessage: 'Agregar mensaje nuevo',\n newWeeklyMessage: 'Nuevo mensaje semanal',\n cancel: 'Cancelar',\n saveAndShareWithFamilies: 'Guardar'\n },\n table: {\n classroom: 'Clase',\n activitiesCompleted: 'Actividades realizadas',\n gamesPlayed: 'Juegos jugados',\n familiesLogged: '% Familias conectadas',\n school: 'Escuela',\n timeSpent: 'Tiempo usado',\n student: 'Estudiante',\n activities: 'Actividades',\n games: 'Juegos',\n loggedIn: 'Conectado',\n report: 'Reporte'\n },\n activity: {\n yearsOld: 'años',\n Mon: 'Lunes',\n Tue: 'Martes',\n Wed: 'Miércoles',\n Thu: 'Jueves',\n Fri: 'Viernes',\n seeActivities: 'Ver Actividades',\n seeReadAlouds: 'Ver los Cuentos',\n dailyActivities: 'Actividades diarias',\n dailyReadAloud: 'Lecturas diarias en voz alta',\n noActivity: 'Sin actividad',\n scheduledReadAloudsActivities:\n 'Lecturas en voz alta programadas y actividades diarias',\n weekOf: 'Semana del {{week}}',\n source: 'Fuente:',\n activityType: 'Tipo de actividad:',\n keyConcepts: 'Conceptos clave:',\n standards: 'Normas:',\n scheduled: 'Programado:',\n students: '{{completed}}/{{assigned}} estudiantes',\n noDescription: 'Sin descripción',\n seeDetails: 'Ver detalles',\n hideDetails: 'Ocultar detalles'\n },\n seeActivities: 'Ver actividades programadas y lecturas en voz alta',\n preview: 'Mira el',\n parentReport: 'Vista previa del informe de los padres',\n studentReport: 'Vista previa del informe del alumno',\n drdpReport: 'Vista previa del informe DRDP',\n see: 'Mira el',\n familyEngagement: 'Participación del familia',\n famLoggedIn: 'Familias conectadas en total: ',\n weekOf: 'Semana de:',\n overall: 'En general',\n weekly: 'Semanal'\n}\n","export const parentReport = {\n noData: 'No se han encontrado datos para la selección actual',\n back: 'De Regreso a Estudiantes',\n title: '¡Bienvenido a la familia de {{ student }}',\n subtitle: 'Recomendaciones solo para ti!',\n isWeekend1: 'Vuelva a consultar el {{date}} para ver las nuevas actividades.',\n isWeekend2:\n 'Haga clic en el botón anterior para revisar las actividades de esta semana.',\n prev: 'Anterior ({{date}})',\n next: 'Siguiente ({{date}})',\n weeklyMessage: 'Mensaje semanal del ',\n yourTeacher: 'profesor',\n today: 'Hoy',\n lastAccessed: 'Última evaluación: ',\n recommendedActivity: 'Actividad recomendada para ',\n todayClassActivity: 'Actividad de la clase de hoy',\n classActivityFor: 'Actividad de clase para ',\n help: 'Ayuda',\n source: 'Fuente: ',\n love: '¡Nos encantó!',\n played: '¡Lo jugamos!',\n keyConcepts: 'Conceptos Clave: ',\n alignment: 'Alineamiento: ',\n type: 'Tipo: ',\n readAloud: 'Lectura De Hoy En Voz Alta',\n sendMessage: 'Enviar un mensaje a tu maestro(a)',\n messageSent: 'Mensaje enviado',\n submit: 'Enviar',\n playGames1: 'Juega el juego',\n playGames2: 'de esta semana',\n seeActivities1: 'Ver actividades',\n seeActivities2: 'diarias',\n playGameWith: 'Juega a un juego con ',\n canPlay: 'Esta semana {{selectedStudentName}} puede jugar:',\n playNow: 'Jugar ahora'\n}\n","export const siteReport = {\n report: 'Reporte de salón {{name}}',\n printStudent: 'Imprimir el informe del estudiante',\n printCurrentView: 'Imprimir la vista actual',\n unable: 'No se pueden cargar los datos detallados',\n noData: 'No se han encontrado datos',\n noResults: 'No hay resultados',\n noAge: 'Sin edad',\n recommended: ' (Recomendado)',\n back: 'Volver a',\n exportExcel: 'Exportar como Excel',\n exportPDF: 'Exportar como PDF',\n noDataMessage:\n '{{student}} aún no ha realizado ninguna valoración de {{objective}}',\n school: 'Escuela',\n classroom: 'Clase',\n student: 'Estudiante',\n objective: 'Objetivo',\n subobjective: 'Subobjetivo',\n table: {\n students: 'Estudiantes',\n averageLevel: 'Nivel promedio',\n onTrack: 'La trayectoria',\n assessmentCompleted: 'Evaluaciones completadas',\n lastAssessed: 'Ultimo evaluación',\n notes: 'Notas',\n observations: 'Observaciones',\n objectives: 'Objetivos',\n standard: 'Estándar',\n weekScheduled: 'Semana programada',\n type: 'Tipo',\n growth: 'Crecimiento',\n onlyScheduled: 'Sólo objetivos programados',\n allObjectives: 'Todos los objetivos',\n level: 'Nivel',\n completed: 'Completado',\n classrooms: 'Clase',\n school: 'Escuela',\n schools: 'Escuelas',\n gamesAvailable: `Juegos sólo\n disponibles en la aplicación`,\n noObservation:\n 'Debe estar en el punto de control actual para recopilar observaciones',\n changeSettings:\n 'No hay objetivos programados. Cambiar la configuración para ver los objetivos no programados'\n },\n items: {\n unknown: 'Desconocido',\n known: 'Conocido',\n emotion: 'Emoción',\n accuracy: 'Precisión',\n behavior: 'Comportamiento',\n reactions: 'Reacciones',\n understanding: 'Entender este informe:',\n understandingText:\n 'Los estudiantes son marcados como correctos si reaccionan emocionalmente seleccionando \"enojado\" o \"triste\" porque eso indica que están entendiendo la situación del desafío.',\n assessed: 'Evaluado por:',\n languages: 'Lenguas:',\n observationalNote: 'Nota de observación',\n saveChanges: 'Guardar cambios',\n editNote: 'Nota de edición',\n unable: 'No se puede actualizar la nota',\n letterNames: 'Nombres de las letras',\n letterSounds: 'Sonidos de las letras'\n },\n detailed: {\n print: 'Imprimir el informe detallado del estudiante',\n detailed: 'Informe detallado del estudiante',\n detailedForAll: 'Detalles para todos los objetivos',\n detailedBelow:\n 'Datos detallados de los objetivos con puntuación inferior al nivel de edad',\n showLevels: 'Mostrar niveles',\n hideLevels: 'Ocultar niveles',\n showPhotos: 'Mostrar fotos',\n hidePhotos: 'Ocultar fotos',\n showNotes: 'Mostrar notas',\n hideNotes: 'Ocultar notas',\n showNotAssessed: 'Espectáculo no evaluado',\n hideNotAssessed: 'No se ha evaluado la piel',\n report: 'Informe de {{label}}',\n shared:\n 'Este informe puede ser compartido con los padres o al final de un control para la individualización',\n checkpointReports: 'Informes de control',\n created: 'Creado',\n objective: 'Objetivo'\n }\n}\n","export const bulkReport = {\n success: 'El informe ha sido solicitado con éxito',\n download: 'Descargar',\n selectClassrooms: 'Seleccione un clase(s)',\n allClassrooms: 'Todas las clases',\n selectStudents: 'Seleccione un estudiante(s)',\n allStudents: 'Todos los estudiantes',\n requestReport: 'Solicitar informe',\n checkpointStudent: 'Punto de control/estudiante',\n dateRequested: 'Fecha solicitada',\n status: 'Estado',\n downloadNow: 'Descargar ahora'\n}\n","export const DRDPReport = {\n ongoing: 'En curso',\n title: '{{organization}} {{student}} {{checkpoint}} Reporte del DRDP',\n table: {\n classrooms: 'Clase',\n objective: 'Objetivo',\n alignment: 'Alineación',\n level: 'Nivel',\n lastAssessed: 'Ultimo evaluación',\n schools: 'Escuelas',\n students: 'Estudiantes'\n },\n printModal: {\n DRDPReport: 'Reporte del {{label}}',\n DRDPReports: 'Reportes del DRDP',\n printProgressReport: 'Imprimir el informe de situación',\n printAllStudentsCheckpoint:\n 'Imprimir Todos los estudiantes {{name}} Checkpoint',\n selectCheckpoint: 'Seleccione el punto de control'\n }\n}\n","export const certificationStatusReport = {\n percentage: 'de los profesores tiene una {{certification}}',\n download: 'Descargar la lista de profesores',\n noData: 'No se han creado cuentas de maestros',\n description:\n 'Este informe muestra el porcentaje de maestros que han completado los módulos de formación.'\n}\n","export const monitoringReport = {\n search: 'Buscar...',\n assessmentsComplete: 'de las evaluaciones completadas',\n downloadNotes: 'Descargar Notas',\n timeoutError:\n 'Vuelve a intentarlo más tarde o ponte en contacto con el servicio de asistencia. Estamos trabajando en ello.',\n notesModal: {\n notes: 'Notas: {{notes}}',\n studentsCount: '{{number}} estudiantes',\n downloadAsExcel: 'Descargar como Excel',\n observationsWithNotes: 'Observaciones con notas',\n observationsWithoutNotes: 'Observaciones sin notas',\n collectedBy: 'Recopilado por',\n noObservations:\n 'No se han recogido observaciones entre el {{start}} y el {{end}}'\n },\n error: {\n excel:\n 'No hemos podido obtener xlsx, por favor inténtelo de nuevo más tarde o póngase en contacto con soporte'\n },\n table: {\n none: 'Ninguno',\n student: 'Estudiante',\n assessed: 'Evaluado en el último mes',\n usage: 'Uso de CTB (al menos el 80%)',\n onTrack: 'Dev. on track in all domains',\n observations: 'Observations',\n obsWithNotes: '% con notas',\n totalObsNotes: 'Total # Notas',\n games: 'Juegos',\n obs: 'Obs',\n classroom: 'Aula',\n allStudents: 'Todos los estudiantes evaluados en el último mes',\n notes: 'Notas',\n school: 'Escuela',\n district: 'Distrito',\n completedKEA: '% Completado del KEA',\n emerging: '% Emergente',\n approach: '% Acercándose',\n demonstrating: '% Demostrando'\n }\n}\n","export const checkpointReport = {\n title: 'Checkpoint Report',\n table: {\n school: 'Escuela',\n classroom: 'Clase',\n objective: 'Objetivo',\n type: 'Typo',\n level: 'Nivel',\n student: 'Estudiante',\n includeGames: 'Incluya los juegos',\n includeObservations: 'Incluir observaciones',\n assessmentsComplete: 'Evaluaciones completas'\n },\n pleaseSelect: 'Seleccione un aula',\n setDefaultCheckpoint: 'Establecer punto de control por defecto'\n}\n","export const chart = {\n lastUpdated: 'Última actualización',\n print: 'Imprimir',\n printCurrentView: 'Imprimir la vista actual',\n printOnePage: 'Imprima una página para cada clase',\n printAll: 'Imprimir todas las',\n printAllClassrooms: 'Imprimir todas las clases',\n showLowestDomains: '(mostrar los dominios más bajos)',\n students: 'Estudiantes',\n classrooms: 'Clase',\n close: 'Cerrar',\n studentsAssessed: 'Estudiantes evaluados',\n assessmentsTaken: 'Evaluaciones realizadas',\n exportAsExcel: 'Exportar como Excel',\n exportAsPDF: 'Exportar como PDF',\n collapse: 'Colapso',\n expand: 'Ampliar',\n back: 'Atrás',\n show: 'Muestra',\n more: 'mas',\n less: 'menos',\n generated: 'Generado',\n showMoreOptions: 'Mostrar más opciones...',\n hideOptions: 'Ocultar opciones',\n seeDetails: 'Ver detalles',\n table: {\n percentScheduled: '% de evaluaciones programadas completadas',\n taken: '# Tomado',\n lastAssessed: 'Ultimo evaluación',\n student: 'Estudiante',\n school: 'Escuela',\n classroom: 'Clase',\n age: 'Edad',\n complete: 'Completa',\n checkpoint: 'Punto de control',\n observations: 'Observaciones',\n startObservation: 'Inicio de la Observación',\n notRequired: 'No es necesario',\n games: 'Juegos',\n noStudentsFound: 'No se han encontrado estudiantes',\n nothingScheduledThisWeek: 'No hay nada programado esta semana',\n keasComplete: '{{percent}}% KEAs completas'\n },\n first: {\n classroomChangeTooltip:\n 'Se considera que un aula está activa si se ha recogido alguna evaluación esta semana.',\n studentsOnTrackTooltip:\n 'Se considera que un alumno está \"en el buen camino\" si su puntuación está dentro de los 9 meses de su edad cronológica.',\n assessmentsComplete: '{{percent}}% de evaluaciones completadas',\n fromLastWk: 'de la semana pasada',\n active: 'Aulas',\n classrooms: 'activas',\n studentsAssessed: 'Estudiantes evaluados',\n students: 'Estudiantes',\n onTrack: 'a tiempo',\n weeklyAssessmentsComplete: 'Evaluaciones semanales completas',\n emerging: 'Emergente',\n approaching: 'Acercándose',\n demonstrating: 'Demostrando',\n assessmentKeaStarted:\n '{{days}} días restantes en el periodo de evaluación de KEA',\n assessmentKeaStartedDay:\n '{{days}} día restantes en el periodo de evaluación de KEA',\n lastDay: 'Último día: {{last_day}}',\n firstDay: 'Primer día: {{first_day}}',\n assessmentEcaStarted: '{{days}} días restantes en el punto de control',\n assessmentEcaStartedDay: '{{days}} día restantes en el punto de control',\n assessmentKeaCompleted: 'Periodo de evaluación de KEA completado',\n assessmentEcaCompleted: 'Todos los puntos de control completados',\n assessmentKeaEnded:\n 'El periodo de evaluación de KEA comienza en {{days}} días',\n assessmentEcaEnded: 'Nuevo punto de control comienza en {{days}} días',\n assessmentKeaEndedDay:\n 'El periodo de evaluación de KEA comienza en {{days}} día',\n assessmentEcaEndedDay: 'Nuevo punto de control comienza en {{days}} día',\n assessmentKeaNo: 'Ningún periodo de evaluación KEA',\n assessmentEcaNo: 'Ningún punto de control'\n },\n second: {\n title: 'Uso del punto de control',\n subtitle: 'Qué dominios van por buen camino',\n scheduled: 'Programado',\n recommended: 'Recomendado',\n all: 'Todo'\n },\n third: {\n title: 'Finalización del dominio',\n subtitle: 'Qué dominios van por buen camino'\n },\n fifth: {\n title:\n 'A qué estudiantes no han examinado o actualizado en las últimas dos semanas',\n subtitle:\n 'Este informe se enfoca en los estudiantes individuales que tienen datos de evaluación quien no se han actualizado en más de dos semanas'\n },\n sixth: {\n title: 'Quien esta lista para la escuela',\n subtitle: 'Matriculación total',\n averageLevel: 'Nivel promedio',\n average: 'Promedio',\n print: 'Imprima la carta de preparación para la escuela'\n },\n seventh: {\n title: '¿Quién está obteniendo puntajes a nivel de edad o cercano a él? '\n },\n eighth: {\n title: '¿Quién va por buen camino en el desarrollo?',\n subtitle:\n 'El desarrollo \"por buen camino\" se determina comparando la edad de desarrollo evaluada por los profesores y la edad cronológica de los alumnos. Un alumno está marcado como \"en camino\" si obtiene una puntuación dentro de. 75 años de su edad cronológica.',\n subdomains: 'Mostrar subdominios',\n barChart: 'Vista de gráfico de barras',\n exceeding: 'Superando',\n meeting: 'Reunión',\n below: 'Abajo',\n notAssessed: 'No evaluado',\n bottomTitle1:\n 'Porcentaje de estudiantes que cumplen o superan las expectativas en los',\n bottomTitle2: 'objetivos',\n objectives: 'OBJETIVOS',\n progress: 'PROGRESO',\n studentOnTrack: 'ESTUDIANTES EN CAMINO',\n seeDetailedReport: 'Ver informe detallado',\n popupText:\n 'de los alumnos cumplen o superan las expectativas del nivel de edad en',\n studentAssessed: 'de los estudiantes evaluados',\n assessments: 'Evaluaciones',\n complete: 'Completa',\n assessed: 'Evaluado',\n objectivesSmall: 'Objetivos',\n students: 'Estudiantes',\n meetingAndExceeding: '% de cumplimiento y superación de',\n selectedWeek: 'Semana seleccionada',\n setToCurrentWeek: 'Fijar en la semana actual'\n },\n ninth: {\n title: 'Qué dominios van por buen camino',\n averageLevel: 'Nivel promedio'\n },\n tenth: {\n keaTitle: 'Programa KEA',\n title: 'Programa semanal',\n pleaseSelect: 'Seleccione un aula',\n noStudentsFound: 'No se han encontrado estudiantes',\n nothingScheduledThisWeek: 'No hay nada programado esta semana',\n startObs: 'Inicio de la Obs'\n }\n}\n","export const charts = {\n lastUpdated: 'Última actualización',\n studentsAssessed: 'Estudiantes evaluados',\n assessmentsTaken: 'Evaluaciones realizadas',\n all: 'Todo',\n generated: 'Generado',\n collapse: 'Colapso',\n expand: 'Ampliar',\n print: 'Imprimir',\n printCurrentView: 'Imprimir la vista actual',\n printAllClassroomsShowLowestDomains:\n 'Imprimir todas las clases (mostrar los dominios más bajos)',\n back: 'Atrás',\n showMoreOptions: 'Mostrar más opciones...',\n exportAsExcel: 'Exportar como Excel',\n hideOptions: 'Ocultar opciones',\n walkthrough: {\n menu: 'Menu',\n menuContent: 'Click here to open a menu',\n addStudents: 'Add Students and Teachers',\n addStudentsContent: `Click Management to see all of\n your admin tools to help you\n manage student rosters and\n teacher access`,\n training: 'Start Self-Paced Training',\n trainingContent: `Click Training to access CTB\n Training whenever you want`,\n schedule: 'See assessment Schedule',\n scheduleContent: `Click here to see your schedule\n at any time!`,\n reports: 'Reports',\n reportsContent: `Click here to see all of you\n realtime reports and end of\n checkpoint reports`,\n whoIsUsingCTB: 'See who is using CTB',\n whoIsUsingCTBContent: '',\n support: 'Support Resources',\n supportContent: `Click here to read through our\n step-by-step instructions for our\n most frequently asked questions`,\n chat: 'Chat with Support Agent',\n chatContent: `Click here to start a chat with our\n live support agents`,\n account: 'Manage your Account',\n accountContent: `Click here to manage your\n account and download your\n training certifications`\n },\n feedbackSurvey: {\n shareYourFeedback: '¡Comparta su opinión!',\n notATeacher: 'No soy profesor',\n notATeacherAide: 'Soy profesor o ayudante de profesor',\n notNow: 'Ahora no',\n getStarted: '¡Sí, empecemos!',\n weNeedYourHelp: `¡Necesitamos su ayuda! \n ¿Puede responder a una encuesta rápida de solo 3 minutos para compartir su experiencia con el uso de Cognitive ToyBox?`,\n canYouTellUs:\n '¿Puede decirnos cuál es su función en su centro/escuela para que sepamos qué encuesta compartir con usted?'\n },\n acquisitionNotification: {\n cognitiveToyBoxAnnouncement: '¡Anuncio de Cognitive ToyBox!',\n OK: 'OK',\n description:\n 'Estamos emocionados de compartir que Cognitive ToyBox ha sido adquirida por Teaching Strategies, LLC. Por favor consulte las preguntas frecuentes aquí.'\n },\n quickLinks: {\n quickLinks: 'Enlaces rápidos:',\n addStudent: 'Agregar estudiante',\n printReports: 'Imprimir informes',\n addTeacher: 'Agregar profesor',\n addClassroom: 'Agregar aula',\n chatWithSupport: 'Chatear con el servicio de asistencia',\n chatWithSupportPopup:\n 'Favor de regresar durante nuestro horario de trabajo habitual: lunes-viernes 9 a.m. ET - 5 p.m ET',\n playGames: 'Juegos',\n playGamesPopup: `Los juegos sólo pueden jugarse en la aplicación, no en el portal web de CTB. \n Para jugar, abra la aplicación en una tableta táctil e inicie sesión.`,\n startTraining: 'Iniciar la formación',\n seeWalkthrough: 'Ver recorrido'\n },\n table: {\n district: 'Distrito',\n school: 'Escuela',\n classroom: 'Clase',\n student: 'Estudiante',\n notes: 'Notas',\n taken: '# Tomado',\n lastAssessed: 'Ultimo evaluación',\n percentScheduled: '% de evaluaciones programadas completadas',\n numberComplete: '# de evaluaciones completadas',\n completedKEA: '% KEA completado',\n emerging: '% Emergente',\n approach: '% Acercándose',\n demonstrating: '% Demostrando'\n },\n assessmentCompletion: {\n notes: 'Notas:',\n title: 'Uso del punto de control',\n titleAssessment: 'Uso del punto de control del {{assessment}}',\n subtitle: 'Qué dominios van por buen camino',\n recommended: 'Recomendado',\n incompleteGames: 'Juegos incompletos',\n incompleteObservations: 'Observaciones incompletas',\n completeGames: 'Juegos completos',\n completeObservations: 'Observaciones completas',\n search: 'Busca...',\n error: {\n excel:\n 'No hemos podido obtener un archivo xlsx, por favor inténtelo más tarde'\n }\n },\n domainsOnTrack: {\n title: '¿Quién va por buen camino en el desarrollo?',\n subtitle: `El desarrollo \"por buen camino\" se determina comparando la edad de desarrollo\n evaluada por los profesores y la edad cronológica de los alumnos.\n Un alumno está marcado como \"en camino\" si obtiene una puntuación dentro de.\n 75 años de su edad cronológica.`,\n subdomains: 'Mostrar subdominios',\n barChart: 'Vista de gráfico de barras',\n exceeding: 'Superando',\n meeting: 'Reunión',\n below: 'Abajo',\n notAssessed: 'No evaluado',\n none: 'Ninguno',\n belowMeetingExceeding:\n 'Por debajo de las expectativas en los objetivos de {{name}}',\n percentOfStudents:\n 'Porcentaje de estudiantes que cumplen o superan las expectativas en los objetivos de {{name}}',\n modalPercentInDomain:\n 'El {{percent}}% de los alumnos cumplen o superan las expectativas del nivel de edad en {{domain}}',\n studentAssessed: '< 50% de los estudiantes evaluados',\n assessmentsComplete: `Evaluaciones\n Completar`,\n studentsAssessed: `Estudiantes\n evaluados`,\n objectivesAssessed: `Objetivos\n evaluados`,\n meetingAndExceeding: '% de cumplimiento y superación de',\n objectives: 'OBJETIVOS',\n progress: 'PROGRESO',\n studentOnTrack: 'ESTUDIANTES EN CAMINO'\n }\n}\n","export const sidebar = {\n home: 'Inicio',\n report: 'Informe',\n reports: 'Informe',\n management: 'Administración',\n training: 'Entrenamiento',\n support: 'Ayuda',\n users: 'Usuarios',\n orgManagement: 'Administración de la Organización ',\n studManagement: 'Administración de Estudiantes',\n schedule: 'Calendario',\n dataExport: 'Exportacion de datos',\n planning: 'Planificación'\n}\n","export const table = {\n showHideColumns: 'Mostrar/Ocultar columnas',\n showHideRows: 'Mostrar/Ocultar filas',\n setToDefault: 'Ajustar por defecto',\n done: 'Hecho',\n reset: 'Reajustar',\n save: 'Guardar cambios',\n others: 'Mostrar/Ocultar Otros'\n}\n","export const pageWrapper = {\n CTBWebPortal: 'CTB Web Portal',\n loading: 'cargando...',\n profile: 'Perfil',\n logOut: 'Cerrar la sesión',\n frogStreet: 'Frog Street Edition'\n}\n","export const orgManagement = {\n buttons: {\n school: 'Agregar Escuela',\n classroom: 'Agregar Clase',\n student: 'Agregar Estudiante',\n parent: 'Agregar Padres',\n back: 'Atrás'\n },\n table: {\n className: 'Nombre de Clase',\n teacherName: 'Nombre de Profesor',\n studentName: 'Nombre del estudiante',\n students: '#Estudiantes',\n parents: 'Padres',\n ageRange: 'Rango de Edad',\n edit: 'Editar',\n name: 'Nombre',\n DOB: 'DOB',\n age: 'Edad',\n notes: 'Notas',\n parent: 'Padre',\n lastParentLogin: 'Último acceso de los padres',\n neverLogged: 'Nunca se ha conectado',\n studentID: 'Identificación del estudiante ',\n enrollment: 'Inscripción:',\n more: 'más',\n studentManagement: 'Administración de estudiantes',\n searchBySchoolClassroomStudent: 'Buscar...',\n searchByStudent: 'Buscar por estudiante...',\n selectTag: 'Seleccionar etiqueta...',\n manyStudents: 'Estudiantes',\n oneStudent: '1 Estudiante',\n noStudents: 'No hay Estudiantes',\n noStudentsFound: 'No se han encontrado estudiantes',\n manyFamilyAccounts: 'Cuentas Familiares',\n oneFamilyAccount: '1 Cuenta Familiar',\n noFamilyAccounts: 'No hay Cuentas Familiares',\n moreTeachers: '+ {{length}} más'\n },\n modals: {\n addNew: 'Agregar Nuevo',\n edit: 'Editar',\n delete: 'Borrar',\n save: 'Guardar',\n create: 'Crear',\n dropOut: 'Abandono',\n submit: 'Enviar',\n notes: {\n ell: 'ELL',\n spanish: 'Español',\n other: 'Otro',\n inPerson: 'En Persona',\n remote: 'Remoto',\n neither: 'Ninguno',\n inPersonText:\n 'Establecer a un estudiante como \"En persona\" restringirá el acceso de sus padres al portal. Si un estudiante está marcado como \"Remoto\" o \"Ninguno\", sus padres tendrán acceso a la aplicación para jugar evaluaciones basadas en juegos y el portal.',\n observationsOnly:\n 'Establecer a un niño solo como observación eliminará los juegos de su horario y agregará contrapartes de observación para cubrir las medidas que habrían sido evaluadas por un juego.',\n potentialDelay:\n 'Use esto para marcar a un niño que tiene un IEP / IFSP o un niño que cree que puede tener un retraso potencial.',\n lowAttendance:\n 'Marca a un niño como de baja asistencia si no ha podido evaluar al niño por completo debido a las ausencias frecuentes o prolongadas',\n lateStart:\n 'Marca a un niño con un inicio tardío si comenzó el año escolar después de la primera semana de clases.',\n agedOut:\n 'Marca a un niño como \"Aged Out\" si ha abandonado su aula y el programa como resultado de su abandono de la clase o del programa, pero aún desea mantener sus datos como referencia.',\n droppedOut:\n 'Marca a un niño como Abandonado si ha abandonado su aula y el programa pero desea mantener sus datos como referencia.',\n PCC:\n 'Marca a un estudiante como PCC si es miembro de un aula colaborativa de preescolar y que puede tener requisitos de información diferentes a los de su aula.',\n ELL:\n 'Marca a un estudiante como ELL(Aprendiendo Inglès si es un estudiante del idioma inglés o un estudiante de dos idiomas, luego seleccione el idioma que habla en casa. Esto puede programar observaciones específicamente para estudiantes ELL (Aprendiendo Inglès) / DLL',\n startTyping: 'Empieza a escribir'\n },\n school: {\n created: '{{name}} se ha creado correctamente',\n changed: '{{name}} ha cambiado con éxito',\n deleted: '{{name}} se ha eliminado correctamente',\n school: 'escuela',\n schoolName: 'Nombre de Escuela',\n addNewSchoolWaitText1:\n 'Espere unos minutos hasta que aparezca su nueva escuela en la aplicación',\n addNewSchoolWaitText2:\n 'Cierre sesión e inicie sesión nuevamente para ver su nueva escuela',\n deleteConfirmation:\n '¿Estás seguro de que quieres eliminar esta escuela? Los profesores perderán el acceso a la caja de juguetes cognitive toybox.'\n },\n classroom: {\n created: '{{name}} se ha creado correctamente',\n changed: '{{name}} ha cambiado con éxito',\n deleted: '{{name}} se ha eliminado correctamente',\n classroom: 'clase',\n deleteConfirmation:\n '¿Estás seguro de que quieres eliminar esta clase? Los profesores perderán el acceso a la caja de juguetes cognitive toybox.',\n school: 'Escuela',\n classroomName: 'Nombre de Clase',\n addNewClassroomWaitText1:\n 'Espere unos minutos hasta que aparezca su nueva clase en la aplicación',\n addNewClassroomWaitText2:\n 'Cierre sesión e inicie sesión nuevamente para ver su nueva clase'\n },\n student: {\n update: 'Debe actualizar todas las notas requeridas',\n student: 'estudiante',\n wasDeleted: '{{name}} ha sido eliminado con éxito',\n wasDropOut: '{{name}} fue marcado con éxito como abandonado',\n confirmationDialog:\n '¿Estás seguro de que quieres que {{name}} se marque como abandonado? Esto los eliminará de su lista y ya no aparecerán en el portal o la aplicación',\n confirmationDialogDelete: '¿Estás seguro de que quieres borrar {{name}}?',\n firstName: 'Primer Nombre',\n lastName: 'Apellido',\n dateOfBirth: 'Dia de Nacimiento',\n selectSchool: 'Seleccionar Clase',\n selectClassroom: 'Seleccionar Escuela',\n studentID: 'Identificación del estudiante',\n studentEnrollment: 'Fecha de matriculación del estudiante',\n basicInfo: 'Información básica',\n notes: 'Notas'\n }\n },\n limitTracker: {\n studentMessage: '{{count}} de {{limit}} licencias de estudiante utilizadas',\n classroomMessage: '{{count}} de {{limit}} licencias de aula utilizadas',\n contactMessageFs:\n 'Actualmente está por encima del límite de sus licencias. Póngase en contacto con support@frogstreet.com para obtener ayuda',\n contactMessage:\n 'Actualmente está por encima del límite de sus licencias. Póngase en contacto con support@cognitivetoybox.com para obtener ayuda'\n }\n}\n","export const userManagement = {\n userManagement: 'Administración de Usuario',\n addNewUser: 'Agregar un nuevo usuario',\n search: 'Buscar por Usuario, Distrito, Escuela, o Aula...',\n export: 'Exportar como Excel',\n error: {\n excel:\n 'No se ha podido crear xlsx, inténtelo más tarde o póngase en contacto con el servicio de asistencia.'\n },\n sso: 'Solicitudes de cuentas SSO',\n ssoModal: {\n title: 'Solicitudes de Acceso (Clever SSO)',\n description:\n 'Los siguientes usuarios se han autenticado usando el Clever Single Sign-on (SSO) de {{orgName}}. Por favor, revise para aprobar su acceso a Cognitive ToyBox y asígneles el rol y sitio apropiados.',\n name: 'Nombre',\n status: 'Estado',\n role: 'Rol',\n school: 'Escuela/Aula',\n approve: 'Aprobar Solicitud',\n deny: 'Denegar',\n denied: 'Ver Solicitudes Denegadas',\n pending: 'Ver Solicitudes Pendientes',\n notAssigned: 'Aún No Asignado',\n close: 'Cerrar',\n noPending: 'No hay Solicitudes Pendientes',\n noDenied: 'No hay Solicitudes Denegadas',\n save: 'Guardar',\n cancel: 'Cancelar',\n note:\n 'Nota: Al hacer clic en Guardar se enviará una notificación por correo electrónico a {{name}} informando que el acceso ha sido concedido.',\n error:\n 'No pudimos procesar la solicitud, por favor intente de nuevo más tarde o contacte al soporte'\n },\n table: {\n cert: 'Cert',\n name: 'Nombre',\n username: 'Nombre de usuario',\n role: 'Papel',\n district: 'Distrito',\n singleDistrict: '1 distrito',\n districts: '{{number}} distritos',\n school: 'Escuela',\n class: 'Clase',\n lastLoggedIn: 'Última conexión',\n edit: 'Editar',\n multiple: 'Múltiples',\n schools: '{{number}} escuelas',\n classrooms: '{{number}} clases',\n singleSchool: '1 escuela',\n singleClassroom: '1 clase',\n removed: '(eliminado)'\n },\n modal: {\n internalOptions: 'Opciones internas',\n override: 'Anulación de las normas de estado del usuario',\n standard: 'Norma {{number}}',\n success: 'Usuario creado correctamente',\n successChanged: 'Usuaario cambiado correctamente',\n emailSent: 'Correo electrónico enviado',\n removed: 'Cuenta eliminada correctamente',\n reactivated: 'Cuenta reactivada con correctamente',\n edit: 'Editar',\n create: 'Crear un nuevo',\n account: 'cuenta',\n firstName: 'Nombre',\n lastName: 'Apellido',\n email: 'Correo electrónico',\n role: 'Papel',\n school: 'Escuela',\n organization: 'Distrito',\n districtAccess: 'Acceso a los distritos',\n schoolAccess: 'Acceso a la escuela',\n schoolMuted:\n 'Si estás configurando el rol del usuario como Administrador de la Escuela o Profesor, debes seleccionar la escuela asociada.',\n classroom: 'Escuela/Clase',\n classroomAccess: 'Escuela/Clase Acceso',\n classroomMuted:\n 'Si estás configurando el rol del usuario como Profesor, debes seleccionar el clase asociada.',\n alert1: 'Ya existe una cuenta desactivada con el nombre de usuario',\n alert2: 'Haga clic en el botón Reactivar para restaurar esta cuenta.',\n delete: 'Borrar',\n resendEmail: 'Reenviar correo electrónico',\n reactivate: 'Reactivar',\n deleteUser: '¿Estás seguro de que quieres borrar {{name}}?',\n save: 'Guardar',\n editEmail:\n '¿Estás seguro de que quieres cambiar la dirección de correo electrónico de {{email}} por {{newEmail}}? Al hacerlo, también se restablecerá su contraseña.',\n deleteParent: '¿Seguro que quieres borrar {{name}}?',\n removeParentFromStudent:\n '¿Estás seguro de que quieres eliminar {{nombre}} de estudiante?',\n successfullyChanged:\n 'Las credenciales de los padres han sido cambiadas con éxito',\n successfullyCreated: 'Cuenta de padres creada correctamente',\n successfullyRemoved: 'Cuenta paterna eliminada con correctamente',\n successfullyRemovedFromStudent:\n 'La cuenta de los padres ha sido eliminada correctamente del estudiante',\n dontHaveAccess: 'No tienes acceso para usar este correo electrónico',\n somethingWentWrong: 'Algo salió mal',\n addNew: 'Agregar nuevo',\n parent: 'padre',\n familyName: 'Nombre de la familia',\n status: 'Estado',\n phoneNumber: 'Número de teléfono',\n removeFromStudent: 'Retirar del estudiante',\n accountSetUp: 'Configuración de la cuenta',\n accountNotSetUpYet: 'Cuenta no configurada todavía',\n children: 'Niños',\n allSchoolsAndClassrooms: 'Todas las escuelas y clases',\n multiAccess: 'Acceso multicuenta',\n access: 'Acceso {{number}}',\n multiAccessDescription:\n 'Cada rol que aparece a continuación muestra a qué escuela(s) y/o aula(s) tiene acceso {{name}}. Sólo puede asignar un nuevo rol de acceso dentro del mismo distrito/organización. Para cambiar la organización de un usuario, póngase en contacto con',\n removeAccess: 'Eliminar acceso',\n changeClassroom: 'Cambiar de Aula',\n changeSchool: 'Cambiar de Escuela',\n changeOrganization: 'Cambiar de Distrito',\n addAccess: 'Añadir función de acceso',\n cancel: 'Cancelar',\n saveChanges: 'Guardar cambios',\n multiUser: 'Multiusuario',\n allRoles: 'Todas las funciones',\n duplicatedScopeError: 'Ya ha elegido {{item}}',\n orgDefault: '(Org por defecto)',\n userDefault: '(Usuario por defecto)'\n },\n certificationModal: {\n certifications: 'Certificados de {{name}}',\n dateEarned: 'Fecha de obtención',\n close: 'Cerrar',\n currentCertification: 'Certificaciones actuales',\n expiredCertification: 'Certificaciones caducadas',\n noCertifications: 'Sin certificaciones'\n },\n multiUserScopesModal: {\n title: 'Escuela(s) y clase(s) de {{name}}',\n districtAdmin: 'Administración del distrito',\n schoolAdmin: 'Administrador(es) escolar(es)',\n teacher: 'Profesor(es)'\n }\n}\n","export const scheduleManagement = {\n assessmentSchedule: 'Programa de evaluación',\n modal: {\n devProgression: 'Progresión del desarrollo',\n close: 'Cerrar',\n questionView: 'Vista de la pregunta',\n domain: 'Dominio',\n alignment: 'Alineación',\n subobjective: 'Subobjetivo (habilidad)',\n question: 'Pregunta(s)',\n print: 'Imprimir',\n week: 'Semana'\n },\n table: {\n week: 'Semana',\n weekScheduled: 'Semana programada',\n games: 'Juegos',\n observations: 'Observaciónes',\n noStudentData:\n 'El alumno no dispone de datos de evaluación para este punto de control'\n },\n objectives: {\n developmentalProgression: 'Progresión del desarrollo',\n domain: 'Dominio',\n subobjective: 'Subobjetivo (habilidad)',\n questions: 'Pregunta(s)',\n examples: 'Ejemplo(s)',\n clickLink: 'Haga clic en el enlace para ver el ejemplo',\n doYouWant: 'Esto te llevará a un sitio web externo, ¿quieres continuar?',\n continue: 'Continuar',\n cancel: 'Cancelar'\n }\n}\n","export const dataExportManagement = {\n dataExport: 'Exportacion de datos',\n subtitle:\n 'Por estándar se puede exportar todos los resultados que has colectado en su organización.',\n subtitle2:\n 'Si seleccionas una fecha de inicio y finalización, puedes descargar los resultados que se generaron durante ese rango de fechas',\n alert:\n 'Seleccione una fecha de finalización que sea posterior a la fecha de inicio',\n submitError: 'Debes seleccionar las fechas',\n requestError: 'Error en la creación de informes',\n selectStart: 'Seleccione una fecha de inicio',\n selectRange: 'Seleccione un rango de fechas',\n selectEnd: 'Seleccione una fecha de finalización',\n download: 'Descarga CSV',\n clear: 'Borrar todo',\n dataOldestUpdate: 'Última actualización:'\n}\n","export const report = {\n lastUpdated: 'Última actualización',\n back: 'Atrás',\n print: 'Imprimir',\n clear: 'Borrar filtros',\n exportAsExcel: 'Exportar como Excel',\n exportAsPDF: 'Exportar como PDF',\n objectiveReport: 'Reporte de Objetivos',\n siteReport: 'Reporte del Sitio',\n studentReport: 'Reporte del estudiante',\n parentReport: 'Reporte de los padres',\n drdpReport: 'Reporte del DRDP',\n checkpointReport: 'Informe de control',\n 'family-engagementReport': 'Reporte de participación del familia',\n 'certification-statusReport': 'Informe sobre el estado de la certificación',\n monitoringReport: 'Informe de seguimiento del uso',\n home: {\n cognitiveToyboxReports: 'Informe de Cognitive ToyBox',\n ongoingReporting: 'Informes Continuos',\n ongoingReportingText:\n 'Los informes continuos pueden utilizarse para controlar el progreso de los alumnos en tiempo real, las observaciones y los juegos individuales, y el compromiso de las familias.',\n seeOngoingReports: 'Ver los informes en curso...',\n checkpointSummaryReports: 'Informes de Resumen de Puntos de Control',\n checkpointSummaryReportsText:\n 'Estos informes pueden ofrecerle una visión acumulativa del rendimiento de los estudiantes en un punto de control completo. Sólo pueden generarse después de que se haya completado un punto de control.',\n seeCheckpointSummaryReports:\n 'Ver informes de resumen de puntos de control...',\n monitoringReports: 'Informes de seguimiento (sólo para administradores)',\n monitoringReportsText:\n 'Los informes de seguimiento están disponibles para los administradores de las escuelas y los distritos y pueden utilizarse para supervisar el uso de los profesores y los resultados de alto nivel de los niños.',\n seeMonitoringReports: 'Ver informes de seguimiento...'\n }\n}\n","export const profile = {\n certifications: 'Certificaciones',\n myAccountSettings: 'Configuración de mi cuenta',\n firstName: 'Nombre',\n enterFirstName: 'Ingrese el nombre',\n lastName: 'Apellido',\n enterLastName: 'Ingrese el apellido',\n phone: 'Número de teléfono',\n phoneText1:\n 'La adición de un número de teléfono es sólo para fines de seguridad.',\n phoneText2:\n 'Nos ayuda a mantener la seguridad de su cuenta y puedes utilizarla si tienes problemas para iniciar la sesión.',\n youAreUsing: 'Estás usando:',\n saveChanges: 'Save Changes',\n dateEarned: 'Fecha de obtención:',\n expired: 'Expirado:',\n mfa: 'Autenticación multifactorial (MFA)',\n enabled: 'Activada',\n disabled: 'Desactivada',\n recovery: 'Teléfono de recuperación',\n verified: 'Verificado',\n unverified: 'Sin verificar',\n changePhoneNumber: 'Cambiar el Número de Teléfono',\n verify: 'Verifique',\n code: 'Código',\n sendCode: 'Enviar código',\n mfaDescription:\n 'Obtén códigos de autenticación por SMS en tu teléfono móvil al registrarte en Cognitive ToyBox',\n enterNumber: '1. Introduzca su número de teléfono',\n enterCode: '2. Introduce el código para verificar tu número de teléfono',\n verifyMfa: 'Verifique su número de teléfono MFA',\n cancel: 'Cancelar',\n save: 'Guardar',\n verifiedPhone: 'Teléfono verificado:',\n cancelAndDisable: 'Cancelar y desactivar MFA',\n success: {\n edit: 'Perfil editado correctamente',\n verified: 'Número de teléfono verificado correctamente',\n code: 'Se ha enviado un código a su número de teléfono'\n },\n error: {\n edit: 'No hemos podido editar la cuenta, algo ha ido mal',\n verified: 'No pudimos verificar el número de teléfono, algo salió mal',\n code: 'No hemos podido enviar un código, algo ha ido mal'\n },\n required: 'Este campo es obligatorio',\n phoneVerify: 'Necesitas verificar tu teléfono para MFA'\n}\n","export const basicComponents = {\n noDataFound: 'No se han encontrado datos',\n print: 'Imprimir',\n close: 'Cerrar',\n downloadPhoto: 'Descargar foto',\n joyride: {\n skip: 'Saltar',\n back: 'Volver',\n next: 'Siguiente',\n close: 'Cerrar',\n count: '{{current}} de {{size}}'\n },\n table: {\n paginationCaption: 'Mostrando {{from}} a {{to}} de {{total}} entradas',\n none: 'Ninguno',\n filteredBy: 'Filtrado por',\n sortAsc: 'Ordenación ascendente',\n sortDes: 'Ordenación descendente',\n search: 'Buscar en',\n hideColumn: 'Ocultar columna',\n min: 'Min',\n max: 'Max',\n sort: {\n alphabeticAsc: 'A → Z',\n alphabeticDesc: 'Z → A',\n numericDesc: 'Alto → Bajo',\n numericAsc: 'Bajo → Alto',\n datesDesc: 'Más reciente',\n datesAsc: 'Más antiguo'\n }\n },\n dropzone: {\n alert: 'Tienes que seleccionar menos de 3 archivos',\n error: 'Imagen de gran tamaño (más de 5Mb)',\n drop: 'Suelte los archivos aquí'\n },\n filesDropzone: {\n alert: 'Sólo puede añadir 1 archivo',\n error: 'Archivo de gran tamaño (más de 6Mb)',\n drop: 'Suelte el archivo aquí',\n drag: 'Arrastre el archivo para cargarlo',\n click: 'o haga clic para examinar y cargar el archivo',\n supportedTypes: 'Tipos de archivo compatibles: .XLS, .XLSX, .CSV'\n },\n confirmationDialog: {\n sure: '¿Estás seguro?',\n yes: 'Sí',\n nevermind: 'No, no importa'\n },\n errorPage: {\n somethingWentWrong: 'Algo salió mal',\n tryAgain: 'Intente iniciar la sesión de nuevo'\n },\n device: {\n description: 'Descripción:',\n name: 'Nombre:',\n browser: 'Navegador:',\n version: 'Versión:'\n },\n age: {\n years: 'a',\n months: 'm'\n },\n filters: {\n clear: 'Borrar filtros',\n current: 'Actual',\n allSchools: 'Todas las Escuelas',\n allClassrooms: 'Todas las Aulas',\n allStudents: 'Todos los Estudiantes',\n allObjectives: 'Todos los Objetivos',\n allDomains: 'Todos los Dominios',\n allAges: 'Todas las Edades',\n allCheckpoints: 'Todos los puntos de control',\n noResult: 'Sin resultado',\n thisWeek: 'Esta Semana',\n allGroups: 'Todos los Groupos',\n allStandards: 'Todas las Normas',\n allSchoolYears: 'Todos los años escolares',\n allViews: 'Incluir juegos y observaciones',\n allTimeRanges: 'Todas las franjas horarias',\n allClassTypes: 'Todos los programas',\n allOrganizations: 'Todos los distritos',\n scheduled: 'Programado',\n all: 'Todo',\n completion: 'Finalización',\n performances: 'Actuaciones',\n selectOrganization: 'Seleccionar Distrito...',\n selectSchool: 'Seleccione Escuela...',\n selectClassroom: 'Seleccione Clase...',\n selectRole: 'Seleccionar Rol...',\n noSchools: 'No hay escuelas disponibles',\n noClassrooms: 'No hay aulas disponibles',\n noOrganizations: 'No hay distrito disponible',\n kea: 'KEA',\n eca: 'ECA',\n searchSchoolClassroom: 'Buscar una Escuela o Aula...',\n searchOrganization: 'Buscar un Distrito...',\n searchSchool: 'Buscar una Escuela ...'\n }\n}\n","export const training = {\n kea:\n 'Para ver los módulos de entrenamiento específicos de CTB For KEA, utilice el conmutador situado en la parte superior derecha.',\n eca:\n 'Para ver los módulos de entrenamiento específicos de CTB For Schools, utilice el conmutador situado en la parte superior derecha.',\n CTBTraining: 'Entrenamiento Cognitive ToyBox',\n basicModules: 'Módulos básicos:',\n parentModules: 'Módulos para padres:',\n advancedModules: 'Módulos avanzados:',\n adminModules: 'Módulos de administración:',\n interraterReliabilityModules: 'Interrater Reliability modules:',\n title: {\n interraterReliability35: 'Interrater Reliability (3-5 year olds)'\n },\n open: 'Abrir',\n back: 'Atrás',\n watchTraining: 'Reloj de entrenamiento + prueba',\n testOnly: 'Sólo para pruebas',\n expireSoon: 'Los próximos entrenamientos expirarán pronto:',\n pleaseComplete:\n 'Por favor, vuelva a completar los módulos de formación, o puede completar sólo el test',\n certified: {\n title: '¡Has sido certificado!',\n check: 'Puede comprobar todos los certificados en su Perfil',\n download: 'Descargar certificado',\n close: 'Cerrar'\n },\n testOut: {\n title: 'Cuestionario {{name}}',\n question: 'Pregunta {{current}} de {{total}}',\n next: 'Siguiente',\n back: 'Volver',\n finishButton: 'Acabado',\n questionsCorrect: 'Preguntas correctas',\n success: `Enhorabuena. Has pasado la prueba del {{title}}. \n Termine el resto de los módulos de formación para renovar su certificación de formación básica.`,\n failTop:\n 'Gran esfuerzo, pero había que acertar al menos el 90% de las preguntas para aprobar',\n failBottom:\n 'Para completar esta formación, deberá leer y ver el módulo de formación {{title}}.',\n close: 'Cerrar',\n startTraining: 'Iniciar la formación',\n finishTitle: 'Presentar las respuestas finales',\n finish: `¿Estás seguro de que quieres enviar tu cuestionario? \n Después de hacer clic en enviar, ya no podrá cambiar sus respuestas.`,\n goBack: 'Volver',\n submit: 'Enviar'\n },\n scenarios: {\n viewTutorial: 'View Tutorial',\n description1:\n 'Welcome to the CTB Inter-rater reliability certification assessment. You will be given a sample scenario and using the CTB developmental indicators you will be asked to level the children in the scenario.',\n description2:\n 'Your answers must match the correct level for at least 90% of the objectives in order to receive your inter-rater reliability certificate.',\n scenariosLeveled: 'scenarios leveled',\n start: 'Start',\n changeAnswer: 'Change Answer',\n scenariosReadyForReview: 'scenarios ready for review',\n submitForReview: 'Submit for Review',\n submitForReviewDescription:\n 'You must level all of the scenarios in order to submit your assessment',\n passed:\n 'You have already passed this module and can find the certificate in your Profile',\n readyForReview: 'Ready for Review',\n complete: 'Complete',\n incorrect: 'Incorrect',\n modal: {\n description:\n 'Read the scenario below and use the Developmental Indicators to the level the student in the scenario',\n developmentalIndicators: 'Developmental Indicators',\n selectLevel: 'Select a Level',\n notYet: 'Not Yet',\n save: 'Save',\n IRRResults: 'IRR Results',\n levelled:\n 'Nice work, you levelled {{correct}}/{{total}} scenarios correctly',\n closeTheWindow:\n 'Close this window and review and re-level the incorrectly levelled scenarios marked with an exclamation point, and submit again!',\n note:\n 'Note: You will be able to re-level scenarios as many times as you need',\n congratulations: 'Congratulations! You earned your CTB IRR Certificate!',\n downloadCertificate: 'Download Certificate',\n ok: 'Ok',\n close: 'Close',\n examples: 'Ejemplo(s)',\n clickLink: 'Haga clic en el enlace para ver el ejemplo',\n doYouWant: 'Esto te llevará a un sitio web externo, ¿quieres continuar?',\n continue: 'Continuar',\n cancel: 'Cancelar'\n },\n tutorialModal: {\n next: 'Next',\n cancel: 'Skip',\n back: 'Back',\n title: 'IRR Tutorial',\n description1: `When creating student observations, calibrating your Inter-Rater \n Reliability is an important key to understanding your students’ current \n developmental levels. Ensuring your understanding is aligned with the \n CTB developmental indicators will help you to understand the needs of \n your students and how to deliver more targeted instruction.`,\n description2: `Practice leveling the students based on each scenario provided, along \n with the developmental indicators. After each objective set, reflect on \n your ratings. Were you aligned? If not, can you find the discrepancy? \n Use these scenarios to help you grow in your understanding of the CTB \n developmental indicators.`,\n tip: 'Tip',\n step1: `When you are leveling a student, the student should demonstrate all subobjectives \n at a given level to achieve that level. \n If they have achieved some but not all of the skills consistently, \n then they should be placed in the level below.`,\n step2:\n 'We will give you a practice scenario with feedback so that you can get the hang of how this will work!',\n step3: 'Tutorial Scenario 1',\n selectTheLevel: 'Select the level',\n checkAnswer: 'Check Answer',\n notQuite: 'Not quite!',\n success: 'Success!',\n tooltipStep1: 'First, read the scenario',\n tooltipStep2:\n 'Next, read the developmental indicators and determine the level to place the student at',\n tooltipStep3: 'Then, select the level you would give the student',\n tooltipStep4: 'Check your answer!',\n tryIt: 'Try it',\n step4: 'You have successfully completed the tutorial! Good luck!',\n close: 'Close',\n currentStep: 'Step {{current}} of {{counts}}'\n }\n }\n}\n","export const observation = {\n observeAgain: 'Observe de nuevo',\n startNewObservation: `Iniciar una nueva \n observación`,\n observation: 'observación',\n newObservation: 'Nueva observación',\n whichOne: '¿Qué herramienta de observación quieres utilizar?',\n portfolio: 'Estilo de cartera',\n question: 'Basado en preguntas',\n modal: {\n delete:\n '¿Estás seguro de que quieres cancelar y eliminar esta observación? Su observación no se guardará.',\n yes: 'Sí, cancela y borra',\n no: 'No importa'\n },\n form: {\n more: 'más',\n addNote: 'Agregar nota (obligatorio)',\n student: 'Estudiante',\n objective: 'Objetivo',\n selectLevel:\n 'Usando {{label}}, seleccione un nivel apropiado para el(los) estudiante(s) de abajo:',\n cancel: 'Cancelar',\n back: 'Volver',\n submit: 'Enviar',\n next: 'Siguiente',\n developmentalIndicators: 'Indicadores de desarrollo',\n no: 'No',\n yes: 'Sí',\n possibleExamples: 'Posibles ejemplos',\n note:\n 'Nota: Los ejemplos descritos a continuación no son la única forma en que un niño puede demostrar el dominio de un nivel de desarrollo',\n addNoteObserved:\n 'Añade una nota que describa lo que has observado que te ha ayudado a responder a estas preguntas sobre',\n required: '(obligatorio)',\n cancelDelete: 'Cancelar y eliminar',\n emerging: 'Emergentes'\n }\n}\n","export const support = {\n title: 'Cognitive ToyBox Soporte',\n searchByKeywords: 'Buscar por palabra clave',\n nothingFound: 'No se ha encontrado nada',\n back: 'Atrás',\n contact: 'Póngase en contacto con',\n withOtherQuestions: 'si tiene alguna otra pregunta',\n kea:\n 'Para ver los recursos específicos de CTB for Schools, utilice el conmutador de la parte superior derecha.',\n eca:\n 'Para ver los recursos específicos de CTB for KEA, utilice el conmutador de la parte superior derecha.'\n}\n","export const curriculum = {\n back: 'Back',\n classroom: 'Classroom',\n teacher: 'Teacher(s)',\n startPlan: 'Create',\n view: 'View',\n edit: 'Edit',\n title: 'Curriculum and Lesson Planning',\n collectObs: 'Collect Observation',\n observe: 'Observe',\n seeDetailed: 'See Detailed Lesson',\n complete: '{{X}}/{{Y}} complete',\n header: 'Cognitive ToyBox Weekly Lesson Planning',\n with: 'with',\n delete: {\n text:\n 'Are you sure you want to delete the lesson plan from this week? Once deleted, it cannot be restored.',\n cancel: 'Cancel',\n yes: 'Yes, delete this lesson plan',\n success: 'Lesson Plan was successfully deleted!'\n },\n table: {\n className: 'Class Name',\n teacherName: 'Teacher Name',\n students: 'Students',\n studentsCount: 'Students',\n curriculum: 'Curriculum',\n ageRange: 'Age Range',\n edit: 'Edit',\n assignCurriculum: 'Assign Curriculum'\n },\n editCurriculumModal: {\n title: 'Edit Curriculum',\n close: 'Close',\n save: 'Save',\n addCurriculum: 'Add Curriculum',\n removeCurriculum: 'Remove Curriculum'\n },\n detailedLessonModal: {\n recommendedSmallGroups: 'Recommended Small Groups (Beta)',\n rsgDescription:\n 'Children in the Exploring group would benefit from additional support while those in the Integrating group would benefit from extension activities.',\n group: '',\n related: 'Related CTB Objectives',\n close: 'Close',\n print: 'Print'\n },\n filters: {\n addTitle: 'Add Title...',\n addDescription: 'Add Description...',\n selectObjectives: 'Select Objectives...',\n selectCurriculum: 'Select a curriculum',\n allCurriculums: 'All Curriculums',\n selectWeek: 'Select A Week',\n allWeeks: 'All Weeks',\n selectedWeek: 'Selected Week',\n setToCurrentWeek: 'Set To Current Week',\n startTyping: 'Start typing to create custom activity'\n },\n printBalkPlan: 'Print Blank Lesson Plan',\n startThisWeekPlan: 'Start This Week Lesson Plan',\n related: 'Related CTB Objectives',\n unit: 'Unit',\n theme: 'Theme',\n week: 'Week',\n curriculum: 'Curriculum',\n scheduledAssessments: 'Scheduled Cognitive ToyBox Assessments',\n print: 'Print',\n save: 'Save',\n goBackModal: {\n doYouWantToSave: 'Do you want to save changes?',\n yes: 'Yes',\n no: 'No',\n cancel: 'Cancel'\n }\n}\n","export const keaReport = {\n title: 'Informe de KEA de {{scope}}',\n back: 'Atrás',\n print: 'Imprimir',\n lastUpdated: 'Última actualización',\n demonstrating: 'Demostrando',\n approaching: 'Proximidad',\n emerging: 'Emergiendo',\n completed: 'Completado',\n overall: 'Puntaje Promedio General',\n overallScore: 'Puntaje Total',\n score: 'Puntaje',\n readiness: 'Preparación',\n studentsComplete: 'Estudiantes Completedos',\n complete: 'Completado',\n studentsKea: 'KEA de {{name}}',\n scopeKea: 'KEA de {{name}}',\n keaComplete: 'KEA Completado',\n table: {\n organization: 'Organización',\n school: 'Escuela',\n classroom: 'Aula',\n student: 'Estudiante',\n readiness: 'Preparación',\n rawScore: 'Puntaje Bruto',\n averageRawScore: 'Puntaje Promedio General',\n lastAssessed: 'Última Evaluación',\n notes: 'Notas',\n keasCompleted: 'KEAs Completados',\n type: 'Tipo',\n observationalNote: 'Nota Observacional',\n noData: 'Aún no se han completado todas las evaluaciones'\n },\n tooltip: {\n averageRawScore:\n 'Sólo los KEAs completados en totalidad contribuyen al puntaje promedio general.'\n },\n error: {\n excel: 'No pudimos crear el archivo de Excel, algo salió mal'\n }\n}\n","import { auth } from './auth'\nimport { report } from './reports/report'\nimport { domainReport } from './reports/domain-report'\nimport { objectiveReport } from './reports/objective-report'\nimport { familyEngagementReport } from './reports/family-engagement-report'\nimport { parentReport } from './reports/parent-report'\nimport { siteReport } from './reports/site-report'\nimport { bulkReport } from './reports/bulk-report'\nimport { DRDPReport } from './reports/drdp-report'\nimport { certificationStatusReport } from './reports/certification-status-report'\nimport { monitoringReport } from './reports/monitoring-report'\nimport { checkpointReport } from './reports/checkpoint-report'\nimport { chart } from './chart'\nimport { charts } from './charts'\nimport { sidebar } from './components/sidebar'\nimport { table } from './components/table'\nimport { pageWrapper } from './components/pageWrapper'\nimport { orgManagement } from './management/organization'\nimport { userManagement } from './management/user'\nimport { scheduleManagement } from './management/schedule'\nimport { dataExportManagement } from './management/dataExport'\nimport { profile } from './profile'\nimport { basicComponents } from './components/basic'\nimport { training } from './training'\nimport { observation } from './observation'\nimport { support } from './support'\nimport { curriculum } from './curriculum'\nimport { siteReportTooltips } from './tooltips/site-report-tooltips'\nimport { objectiveReportTooltips } from './tooltips/objective-report-tooltips'\nimport { familyEngagementTooltips } from './tooltips/family-engagement-tooltips'\nimport { keaReport } from './reports/kea-report'\n\nexport default {\n translation: {\n auth,\n domainReport,\n siteReportTooltips,\n objectiveReportTooltips,\n familyEngagementTooltips,\n objectiveReport,\n familyEngagementReport,\n parentReport,\n siteReport,\n bulkReport,\n DRDPReport,\n certificationStatusReport,\n monitoringReport,\n checkpointReport,\n chart,\n charts,\n sidebar,\n table,\n pageWrapper,\n orgManagement,\n userManagement,\n scheduleManagement,\n dataExportManagement,\n report,\n profile,\n basicComponents,\n training,\n observation,\n support,\n curriculum,\n keaReport\n }\n}\n","export const auth = {\n login: {\n title: 'Welcome',\n subtitle: 'Log in using your Username/Email and Password',\n email: 'Email/Username',\n password: 'Password',\n checking: 'Checking account...',\n loginButton: 'Log in',\n forgotPassword: 'I need help signing in',\n back: 'Back',\n loginWithSSO: 'Log in with SSO',\n or: 'or'\n },\n ssoError: {\n back: 'Back to Log in',\n CTB_REQUEST_SENT_ERROR: {\n title: 'Your Request has been Sent',\n description1:\n 'A request has been sent to your administrator to grant access to Cognitive ToyBox.',\n description2: 'You will receive an email when you are able to log in.'\n },\n CTB_REQUEST_DENIED_ERROR: {\n title: 'Cognitive ToyBox Access Request Denied',\n description1: 'You do not have permission to log into Cognitive ToyBox.',\n description2:\n 'Please speak with your program administrator if you think this is an error.'\n },\n error: {\n title: 'Cognitive ToyBox Access Login Error',\n description1: \"Sorry, but we're having trouble logging you in.\",\n description2:\n 'Please try again and if you are still unable to log in, please contact'\n }\n },\n checkEmail: {\n title: 'No problem!',\n subtitle:\n 'Enter your email address then click the \"Check My Account\" button so that we can help you out!',\n email: 'Email',\n back: 'Back',\n submitButton: 'Check My Account'\n },\n ssoAuth: {\n googleButton: 'Log in with Google',\n cleverButton: 'Log in with Clever',\n classLinkButton: 'Log in with ClassLink',\n back: 'Back'\n },\n confirmResetPassword: {\n title: 'Do you want to reset your password?',\n subtitle:\n 'It looks like your account has already been set up, great job! \\n If you want to reset your password, click the \"Email me a verification code\" button and check your email for a verification code you will need to reset your password.',\n back: 'No',\n haveCode: 'I have my code',\n submitButton: 'Email me a verification code'\n },\n resendEmail: {\n title: 'Setting Up Your Account',\n subtitle:\n // 'Enter your Email/Username and check your email for a temporary verification code',\n 'It looks like your account has not been set up yet. Check your email inbox for an email from support@cognitivetoybox.com to find your temporary password or click the \"Resend Welcome Email\" button below to send yourself a new welcome email.',\n email: 'Email/Username',\n submit: 'Resend Welcome Email',\n back: 'Back'\n },\n resetPassword: {\n title: 'Almost done!',\n subtitle:\n 'Enter the verification code that was just emailed to you and set up your new password',\n code: 'Verification code',\n email: 'Email/Username',\n password: 'New Password',\n confirmPassword: 'Confirm Password',\n cancel: 'Cancel',\n saveAndLogin: 'Save and login'\n },\n setupPassword: {\n title: 'Welcome',\n subtitle:\n 'To get started create a new, secure password to log into Cognitive ToyBox. You will use this same username and password to log into the portal here, and the app!',\n password: 'New Password',\n confirmPassword: 'Confirm Password',\n caption:\n 'Make sure your new password is at least 8 characters long, and contains an uppercase letter, lowercase letter, and a number',\n agreement: 'By logging in, I agree to our',\n terms: 'Terms of Service',\n and: 'and',\n privacyPolicy: 'Privacy Policy',\n cancel: 'Cancel',\n saveAndLogin: 'Save and login'\n },\n mfaSetup: {\n title: 'Multi-Factor Authentication',\n subtitle:\n 'To enable MFA you need to enter your phone number and the verification code you receive in a text',\n phone: 'Phone number',\n skip: 'Skip',\n sendCode: 'Send Code',\n resendCode: 'Resend Code'\n },\n mfaVerification: {\n title: 'Multi-Factor Authentication',\n subtitle:\n 'To make sure that this is you, we sent a 6-digit authentication code to your phone number on record ending in {{phone}}.',\n code: 'Authentication code:',\n submit: 'Submit',\n cancel: 'Cancel'\n },\n checkboxes: {\n capital: 'Capital Letter',\n lowercase: 'Lowercase Letter',\n special: 'Number',\n minLength: 'At least 8 characters',\n match: 'Passwords match'\n },\n settingUp: {\n back: 'Back',\n confirm: 'Confirm and go to the portal',\n checking: 'Checking the school year settings...',\n redirect: 'Everything is set up. Redirection...',\n setup: 'Setup for {{date}}',\n title: 'Setting Up for a School Year',\n titleWithName: 'Setting Up for {{name}}',\n users: 'Users',\n students: 'Students',\n schedule: 'Schedule',\n shareUserInfo: 'Share User Info',\n shareStudentInfo: 'Share Student Info',\n sharedScheduleInfo: 'Share Schedule Info',\n alreadySharedSchedule: `You have already shared your schedule\n information with Cognitive ToyBox. If you\n would like to make changes, please email `,\n skipAndRemind: 'Skip and Remind me later',\n skip: 'Skip',\n submit: 'Submit',\n resubmit: 'Resubmit',\n success: 'Successfully uploaded!',\n download: 'Download {{file}}',\n usersStep: {\n downloadTemplate: 'Download User Template',\n info: `Please share information on any teacher, administrator\n or staff member who will need access to Cognitive\n ToyBox in the {{date}} school year`,\n note:\n 'Note: you can still add users manually, but sharing now will allow us to set them up for you.'\n },\n studentsStep: {\n downloadTemplate: 'Download Student Template',\n info:\n 'Please share information on all students in the {{date}} school year',\n note:\n 'Note: you can still add students manually, but sharing now will allow us to set them up for you.'\n },\n scheduleStep: {\n downloadTemplate: 'Download Schedule Template',\n info: 'Please share information on schedule in the {{date}} school year',\n note:\n 'Note: you can still add schedule manually, but sharing now will allow us to set them up for you.'\n }\n }\n}\n","export const domainReport = {\n entryButton: 'Print Child Progress Report',\n entryDescription:\n 'This report can be shared with parents and includes areas of success and for improvement for each domain along with recommended activities',\n studentReport: 'Student Report',\n overall: 'Overall',\n ageCategory: 'Age Category',\n assessmentsComplete: 'Assessments Complete',\n notes: 'Notes',\n teacherSignature: 'Teacher Signature',\n parentSignature: 'Parent Signature',\n dateSigned: 'Date Signed',\n created: 'Created',\n assessed: 'Assessed',\n areaOfSuccess: 'Area of Success',\n areaForImprovement: 'Area for Improvement',\n noneRecommended: 'None Recommended',\n achievedDevelopmentalMilestone: 'Achieved Developmental Milestone',\n nextDevelopmentalMilestone: 'Next Developmental Milestone:',\n recommendedActivity: 'Recommended Activity',\n show: 'Show',\n hide: 'Hide',\n oneArea: 'Include one area of success and improvement for each domain',\n threeAreas:\n 'Include up to three areas of success and improvement for each domain',\n allAreas: 'Include all areas of success and improvement for each domain'\n}\n","export const siteReportTooltips = {\n schoolLevel: {\n schools: '',\n assessmentCompleted: 'Number of assessments complete',\n lastAssessed: 'Date of most recent assessment'\n },\n classroomLevel: {\n classrooms: '',\n averageLevel: 'Average outcome of all assessments completed to-date',\n assessmentCompleted: 'Number of assessments complete',\n lastAssessed: 'Date of most recent assessment',\n notes: ''\n },\n studentLevel: {\n students: '',\n averageLevel: 'Average outcome of all assessments completed to-date',\n onTrack:\n 'On Track shows how many months ahead or behind age level students are overall. Note that if the number is orange, they are below age level. If the number is green, they are above age level. If the number is black, they are on track.',\n assessmentCompleted: 'Number of assessments complete',\n lastAssessed: 'Date of most recent assessment',\n notes:\n 'Any notes that have been assigned to this student will appear here. e.g.: ELL, Late Start'\n },\n objectiveLevel: {\n objectives: '',\n standard: 'State or Federal Alignment Standards',\n weekScheduled:\n 'Week the objective (game or observation) is scheduled. If this is blank, the objective is not scheduled this checkpoint.',\n type:\n 'Obs is an observation that was collected by a teacher. Game is a completed game-based assessment.',\n growth:\n 'Growth in the most recent assessment. Gray dot means they achieved the same level as when they were assessed earlier. Green up arrow(s) show that they got a higher level in their most recent assessment. Orange down arrow(s) show that their level has gone down in their most recent assessment.',\n level: 'Age-level achieved',\n completed: 'Number of assessments complete',\n lastAssessed:\n 'Date of most recent assessment taken. If there is a green checkmark, you have completed this observation or game this checkpoint already!',\n observations:\n 'Click the button to start a new observation. If the button is green, you have already collected this observation this checkpoint. If it is purple, you have not yet collected an observation in this checkpoint.'\n },\n subobjectiveLevel: {\n subobjective:\n 'Subobjectives are individual skills assessed through observation or game',\n level: 'Age-level achieved'\n }\n}\n","export const objectiveReportTooltips = {\n objectiveLevel: {\n objectives: '',\n averageLevel: 'Average outcome of all assessments completed to-date',\n type:\n 'Obs is an observation that was collected by a teacher. Game is a completed game-based assessment.',\n standard: 'State or Federal Alignment Standards',\n complete: 'Number of assessments complete',\n lastAssessed: 'Date of most recent assessment'\n },\n subobjectiveLevel: {\n subobjective:\n 'Subobjectives are individual skills assessed through observation or game',\n level: 'Age-level expectations for subobjective',\n correct:\n 'Number of students who achieved a subobjective (on their most recent assessment)',\n complete:\n 'Number of students assessed on a subobjective (on their most recent assessment)'\n }\n}\n","export const familyEngagementTooltips = {\n classroomView: {\n student: '',\n activities:\n 'Offline and online activities shared with families that were completed this week',\n games: 'Game-based assessments played at home this week',\n timeSpent: 'Approximate time spent on activities and games this week',\n loggedIn: 'When family last logged in',\n report:\n \"Preview what the family sees by tapping the blue Preview Family Report button. Tap on the Preview Student Report button to see the child's assessment results.\"\n },\n schoolAdminView: {\n classroom: '',\n activitiesCompleted:\n 'Offline and online activities shared with families that were completed this week',\n gamesPlayed: 'Game-based assessments played at home this week',\n familiesLoggedIn: 'Percent of families logged in'\n },\n districtAdminView: {\n school: '',\n activitiesCompleted:\n 'Offline and online activities shared with families that were completed this week',\n gamesPlayed: 'Game-based assessments played at home this week',\n timeSpent: 'Approximate time spent on activities and games this week',\n familiesLoggedIn: 'Percent of families logged in'\n }\n}\n","export const objectiveReport = {\n title: '{{organization}} {{objective}} Objective Report',\n subtitle: '{{school}} {{classroom}} {{checkpoint}}',\n lastAssessed: 'Last Assessed',\n student: 'student',\n notAssessedYet: 'not assessed yet',\n recommendedSmallGroups: 'Recommendations for Small Groups',\n recommendedSmallGroupsDescription:\n 'Cognitive ToyBox provides this information to help create small groups and provide differentiated learning opportunities in small group settings.',\n practice: 'Practice',\n upNext: 'Up Next',\n recommended: 'Recommended',\n additional: {\n leastRecognized: 'Least recognized',\n sometimesRecognized: 'Sometimes recognized',\n mostRecognized: 'Most recognized'\n },\n table: {\n objectives: 'Objectives',\n avLevel: 'Level',\n type: 'Type',\n standard: 'Standard',\n complete: 'Complete',\n lastAssessed: 'Last Assessed',\n subobjective: 'Subobjective',\n correct: 'Correct',\n level: 'Level',\n age: 'Age'\n },\n studentsModal: {\n subobjective: 'Subobjective',\n correct: 'Correct',\n incorrect: 'Incorrect',\n notTaken: 'Not Taken',\n lastUpdated: 'Last Updated',\n close: 'Close'\n }\n}\n","export const familyEngagementReport = {\n weeklyMessage: {\n title: 'Weekly Message to Families',\n noMessage: `No Message for this week. \nType to add one now!`,\n delete: 'Delete',\n change: 'Change',\n addMessage: 'Add new message',\n newWeeklyMessage: 'New weekly message',\n cancel: 'Cancel',\n saveAndShareWithFamilies: 'Save'\n },\n table: {\n classroom: 'Classroom',\n activitiesCompleted: 'Activities completed',\n gamesPlayed: 'Games played',\n familiesLogged: '% Families logged in',\n school: 'School',\n timeSpent: 'Time spent',\n student: 'Student',\n activities: 'Activities',\n games: 'Games',\n loggedIn: 'Logged in',\n report: 'Report'\n },\n activity: {\n yearsOld: 'years old',\n Mon: 'Monday',\n Tue: 'Tuesday',\n Wed: 'Wednesday',\n Thu: 'Thursday',\n Fri: 'Friday',\n seeActivities: 'See Activities',\n seeReadAlouds: 'See Read Alouds',\n dailyActivities: 'Daily Activities',\n dailyReadAloud: 'Daily Read Alouds',\n noActivity: 'No Activity',\n scheduledReadAloudsActivities: 'Scheduled Read Alouds and Daily Activities',\n weekOf: 'Week of {{week}}',\n source: 'Source:',\n activityType: 'Activity Type:',\n keyConcepts: 'Key Concepts:',\n standards: 'Standards:',\n scheduled: 'Scheduled:',\n students: '{{completed}}/{{assigned}} students',\n noDescription: 'No Description',\n seeDetails: 'See Details',\n hideDetails: 'Hide Details'\n },\n seeActivities: 'See Scheduled Activities and Read Alouds',\n preview: 'Preview',\n parentReport: 'Preview Family Report',\n studentReport: 'Preview Student Report',\n drdpReport: 'Preview DRDP Report',\n see: 'See',\n familyEngagement: 'Family Engagement',\n famLoggedIn: 'Families Logged In:',\n weekOf: 'Week of:',\n overall: 'Overall',\n weekly: 'Weekly'\n}\n","export const parentReport = {\n noData: 'No data found for current selection',\n back: 'Back to Students',\n title: \"Welcome {{ student }}'s Family!\",\n subtitle: 'Recommendations just for you!',\n isWeekend1: 'Check back on {{date}} for new activities!',\n isWeekend2:\n 'Click previous button to review activities from earlier this week.',\n prev: 'Prev ({{date}})',\n next: 'Next ({{date}})',\n weeklyMessage: 'Weekly message from ',\n yourTeacher: 'your teacher',\n today: 'Today',\n lastAccessed: 'Last Assessed: ',\n recommendedActivity: 'Recommended Activity for ',\n todayClassActivity: \"Today's Class Activity\",\n classActivityFor: 'Class Activity for ',\n help: 'Help',\n source: 'Source: ',\n love: 'We loved it!',\n played: 'We played!',\n keyConcepts: 'Key Concepts: ',\n alignment: 'Alignment: ',\n type: 'Type: ',\n readAloud: \"Today's Read-Aloud\",\n sendMessage: 'Send a message to your teacher',\n messageSent: 'Message sent',\n submit: 'Submit',\n playGames1: 'Play this',\n playGames2: \"week's game\",\n seeActivities1: 'See daily',\n seeActivities2: 'activities',\n playGameWith: 'Play a game with ',\n canPlay: 'This week {{selectedStudentName}} can play:',\n playNow: 'Play now'\n}\n","export const siteReport = {\n report: '{{name}} Report',\n printStudent: 'Print student report',\n printCurrentView: 'Print current view',\n unable: 'Unable to load detailed data',\n noData: 'No data found',\n noResults: 'No results',\n noAge: 'No age',\n recommended: ' (Recommended)',\n back: 'Back to',\n exportExcel: 'Export as Excel',\n exportPDF: 'Export as PDF',\n noDataMessage:\n '{{student}} has not completed any {{objective}} assessments yet',\n school: 'School',\n classroom: 'Classroom',\n student: 'Student',\n objective: 'Objective',\n subobjective: 'Subobjective',\n table: {\n students: 'Students',\n averageLevel: 'Average Level',\n onTrack: 'On Track',\n assessmentCompleted: 'Assessment Completed',\n lastAssessed: 'Last Assessed',\n notes: 'Notes',\n observations: 'Observations',\n objectives: 'Objectives',\n standard: 'Standard',\n weekScheduled: 'Week scheduled',\n type: 'Type',\n growth: 'Growth',\n onlyScheduled: 'Scheduled Objectives Only',\n allObjectives: 'All Objectives',\n level: 'Level',\n completed: 'Completed',\n classrooms: 'Classrooms',\n school: 'School',\n schools: 'Schools',\n gamesAvailable: `Games only \n available in app`,\n noObservation: 'Must be in current checkpoint to collect observations',\n changeSettings:\n 'No scheduled objectives. Change settings to see unscheduled objectives'\n },\n items: {\n unknown: 'Unknown',\n known: 'Known',\n emotion: 'Emotion',\n accuracy: 'Accuracy',\n behavior: 'Behavior',\n reactions: 'Reactions',\n understanding: 'Understanding this report:',\n understandingText:\n 'Students are marked as correct if they react emotionally by selecting \"angry\" or \"sad\" because that indicates that they are understanding the challenge situation.',\n assessed: 'Assessed by:',\n languages: 'Languages:',\n observationalNote: 'Observational Note',\n saveChanges: 'Save Changes',\n editNote: 'Edit Note',\n unable: 'Unable to update note',\n letterNames: 'Letter Names',\n letterSounds: 'Letter Sounds'\n },\n detailed: {\n print: 'Print Detailed Student Report',\n detailed: 'Detailed Student Report',\n detailedForAll: 'Details for all objectives',\n detailedBelow: 'Detailed only for objectives scoring below',\n showLevels: 'Show levels',\n hideLevels: 'Hide levels',\n showPhotos: 'Photos',\n hidePhotos: 'Hide photos',\n showNotes: 'Show notes',\n hideNotes: 'Hide notes',\n showNotAssessed: 'Show not assessed',\n hideNotAssessed: 'Hide not assessed',\n report: \"{{label}}'s report\",\n shared:\n 'This report can be shared with parents or at the end of a checkpoint for individualization',\n checkpointReports: 'Checkpoint Reports',\n created: 'Created',\n objective: 'Objective'\n }\n}\n","export const bulkReport = {\n success: 'Report has successfully requested',\n download: 'Download',\n selectClassrooms: 'Select a classroom(s)',\n allClassrooms: 'All classrooms',\n selectStudents: 'Select a student(s)',\n allStudents: 'All students',\n requestReport: 'Request Report',\n checkpointStudent: 'Checkpoint/Student',\n dateRequested: 'Date Requested',\n status: 'Status',\n downloadNow: 'Download now'\n}\n","export const DRDPReport = {\n ongoing: 'Ongoing',\n title: '{{organization}} {{student}} {{checkpoint}} DRDP Report',\n table: {\n classrooms: 'Classrooms',\n objective: 'Objective',\n alignment: 'Alignment',\n level: 'Level',\n lastAssessed: 'Last Assessed',\n schools: 'Schools',\n students: 'Students'\n },\n printModal: {\n DRDPReport: \"{{label}}'s DRDP Report\",\n DRDPReports: 'DRDP Reports',\n printProgressReport: 'Print Progress Report',\n printAllStudentsCheckpoint: ' Print All Students {{name}} Checkpoint',\n selectCheckpoint: 'Select Checkpoint'\n }\n}\n","export const certificationStatusReport = {\n percentage: 'of teachers have {{certification}}',\n download: 'Download list of teachers',\n noData: 'No teacher accounts created',\n description:\n 'This report displays the percentage of teachers who have completed training modules.'\n}\n","export const monitoringReport = {\n search: 'Search...',\n assessmentsComplete: 'of assessments complete',\n downloadNotes: 'Download Notes',\n timeoutError:\n 'Please try again later or contact support. We are working on supporting this!',\n notesModal: {\n notes: 'Notes: {{notes}}',\n studentsCount: '{{number}} students',\n downloadAsExcel: 'Download As Excel',\n observationsWithNotes: 'Observations With Notes',\n observationsWithoutNotes: 'Observations Without Notes',\n collectedBy: 'Collected By:',\n noObservations: 'No observations collected between {{start}} - {{end}}'\n },\n error: {\n excel:\n 'We were unable to get xlsx, please try again later or contact support'\n },\n table: {\n none: 'None',\n student: 'Student',\n assessed: 'Assessed in past month',\n usage: 'CTB Usage (at least 80%)',\n onTrack: 'On track in all domains',\n observations: 'Observations',\n obsWithNotes: '% with notes',\n totalObsNotes: '# of notes',\n games: 'Games',\n obs: 'Obs',\n classroom: 'Classroom',\n allStudents: 'All students assessed in past month',\n notes: 'Notes',\n school: 'School',\n district: 'District',\n completedKEA: '% Completed KEA',\n emerging: '% Emerging',\n approach: '% Approaching',\n demonstrating: '% Demonstrating'\n }\n}\n","export const checkpointReport = {\n title: 'Checkpoint Report',\n table: {\n school: 'School',\n classroom: 'Classroom',\n objective: 'Objective',\n type: 'Type',\n level: 'Level',\n student: 'Student',\n includeGames: 'Games Only',\n includeObservations: 'Observations Only',\n assessmentsComplete: 'Assessments Complete'\n },\n pleaseSelect: 'Please select a classroom',\n setDefaultCheckpoint: 'Set Default Checkpoint'\n}\n","export const chart = {\n lastUpdated: 'Last updated',\n print: 'Print',\n printCurrentView: 'Print Current View',\n printOnePage: 'Print one page for each classroom',\n printAll: 'Print All',\n printAllClassrooms: 'Print All Classrooms',\n showLowestDomains: '(show lowest domains)',\n students: 'Students',\n classrooms: 'Classrooms',\n close: 'Close',\n studentsAssessed: 'Students assessed',\n assessmentsTaken: 'Assessments taken',\n exportAsExcel: 'Export as Excel',\n exportAsPDF: 'Export as PDF',\n collapse: 'Collapse',\n expand: 'Expand',\n back: 'Back',\n show: 'Show',\n more: 'more',\n less: 'less',\n generated: 'Generated',\n seeDetails: 'See Details',\n table: {\n percentScheduled: '% of Scheduled assessments complete',\n taken: '# Taken',\n lastAssessed: 'Last Assessed',\n student: 'Student',\n school: 'School',\n classroom: 'Classroom',\n age: 'Age',\n complete: 'Complete',\n checkpoint: 'Checkpoint',\n observations: 'Observations',\n startObservation: 'Start Observation',\n notRequired: 'Not Required',\n games: 'Games',\n noStudentsFound: 'No students found',\n nothingScheduledThisWeek: 'Nothing scheduled this week'\n },\n first: {\n classroomChangeTooltip:\n 'A classroom is considered active if any assessments have been collected this week.',\n studentsOnTrackTooltip:\n 'A student is marked as \"on track\" if they score within 9 months of their chronological age.',\n assessmentsComplete: '{{percent}}% of assessments complete',\n fromLastWk: 'from last wk',\n active: 'Active',\n classrooms: 'classrooms',\n studentsAssessed: 'Students assessed',\n students: 'Students',\n onTrack: 'on-track',\n weeklyAssessmentsComplete: 'Weekly assessments complete',\n keasComplete: '{{percent}}% KEAs complete',\n emerging: 'Emerging',\n approaching: 'Approaching',\n demonstrating: 'Demonstrating',\n assessmentKeaStarted: '{{days}} days left in KEA assessment window',\n assessmentKeaStartedDay: '{{days}} day left in KEA assessment window',\n lastDay: 'Last day: {{last_day}}',\n firstDay: 'First day: {{first_day}}',\n assessmentEcaStarted: '{{days}} days left in checkpoint',\n assessmentEcaStartedDay: '{{days}} day left in checkpoint',\n assessmentKeaCompleted: 'KEA assessment window complete',\n assessmentEcaCompleted: 'All checkpoints complete',\n assessmentKeaEnded: 'KEA assessment window starts in {{days}} days',\n assessmentEcaEnded: 'New checkpoint starts in {{days}} days',\n assessmentKeaEndedDay: 'KEA assessment window starts in {{days}} day',\n assessmentEcaEndedDay: 'New checkpoint starts in {{days}} day',\n assessmentKeaNo: 'No KEA assessment window',\n assessmentEcaNo: 'No checkpoint'\n },\n second: {\n title: 'Checkpoint Usage',\n subtitle: 'Who is using Cognitive ToyBox?',\n scheduled: 'Scheduled',\n recommended: 'Recommended',\n all: 'All'\n },\n third: {\n title: 'Domain Completion',\n subtitle: 'Who is using Cognitive ToyBox?'\n },\n fifth: {\n title: \"Which students haven't been assessed or updated in over two weeks?\",\n subtitle:\n \"This report highlights individual students whose assessment data hasn't been updated in more than two weeks\"\n },\n sixth: {\n title: 'Who is school ready?',\n subtitle: 'Total enrollment',\n averageLevel: 'Average Level',\n average: 'Average',\n print: 'Print school ready chart'\n },\n seventh: {\n title: 'Who is scoring at or near age level?'\n },\n eighth: {\n title: 'Who is developmentally on track?',\n subtitle:\n 'Developmentally \"on track\" is determined by comparing the developmental age as assessed by teachers and the chronological age of the students. A student is marked as \"on track\" if they score within 9 months of their chronological age.',\n subdomains: 'Show Subdomains',\n barChart: 'Bar Chart View',\n exceeding: 'Exceeding',\n meeting: 'Meeting',\n below: 'Below',\n notAssessed: 'Not Assessed',\n bottomTitle1: 'Percent of students meeting or exceeding expectations in',\n bottomTitle2: 'objectives',\n objectives: 'OBJECTIVES',\n progress: 'PROGRESS',\n studentOnTrack: 'STUDENTS ON TRACK',\n seeDetailedReport: 'See Detailed Report',\n popupText: 'of students are meeting or exceeding age-level expectations in',\n studentAssessed: 'of student assessed',\n assessments: 'Assessments',\n complete: 'Complete',\n assessed: 'Assessed',\n objectivesSmall: 'Objectives',\n students: 'Students',\n meetingAndExceeding: '% meeting and exceeding',\n selectedWeek: 'Selected Week',\n setToCurrentWeek: 'Set to current week'\n },\n ninth: {\n title: 'Which domains are on track?',\n averageLevel: 'Average Level'\n },\n tenth: {\n title: 'Weekly Schedule',\n keaTitle: 'KEA Schedule',\n pleaseSelect: 'Please select a classroom',\n noStudentsFound: 'No students found',\n nothingScheduledThisWeek: 'Nothing scheduled this week',\n startObs: 'Start Obs'\n }\n}\n","export const charts = {\n lastUpdated: 'Last Updated',\n studentsAssessed: 'Students assessed',\n assessmentsTaken: 'Assessments taken',\n all: 'All',\n generated: 'Generated',\n collapse: 'Collapse',\n expand: 'Expand',\n print: 'Print',\n printCurrentView: 'Print Current View',\n printAllClassroomsShowLowestDomains:\n 'Print All Classrooms (show lowest domains)',\n back: 'Back',\n showMoreOptions: 'Show More Options...',\n exportAsExcel: 'Export as Excel',\n hideOptions: 'Hide Options',\n feedbackSurvey: {\n shareYourFeedback: 'Share your feedback!',\n notATeacher: \"I'm not a teacher\",\n notATeacherAide: \"I'm a teacher or teacher aide\",\n notNow: 'Not now',\n getStarted: \"Yes, let's get started!\",\n weNeedYourHelp: `We need your help! \n Can you answer a quick, 3 minute survey to share your experience using Cognitive ToyBox?`,\n canYouTellUs:\n 'Can you tell us what you do at your center/school so we know which survey to share with you?'\n },\n acquisitionNotification: {\n cognitiveToyBoxAnnouncement: 'Cognitive ToyBox Announcement!',\n OK: 'OK',\n description:\n 'We’re excited to share that Cognitive ToyBox has been acquired by Teaching Strategies, LLC. Please see the FAQ here.'\n },\n quickLinks: {\n quickLinks: 'Quick Links:',\n addStudent: 'Add Student',\n printReports: 'Print Reports',\n addTeacher: 'Add Teacher',\n addClassroom: 'Add Classroom',\n chatWithSupport: 'Chat with Support',\n chatWithSupportPopup: `Chat is not available right now. \n Please check back later during our regular business hours: Monday-Friday 9am ET - 5pm ET`,\n playGames: 'Play Games',\n playGamesPopup: `Games can only be played on the app, not on the CTB Web Portal. \n To play games, open the app on a touchscreen tablet and log in!`,\n startTraining: 'Start Training',\n seeWalkthrough: 'See Walkthrough'\n },\n walkthrough: {\n menu: 'Menu',\n menuContent: 'Click here to open a menu',\n addStudents: 'Add Students and Teachers',\n addStudentsContent: `Click Management to see all of\n your admin tools to help you\n manage student rosters and\n teacher access`,\n training: 'Start Self-Paced Training',\n trainingContent: `Click Training to access CTB\n Training whenever you want`,\n schedule: 'See Assessment Schedule',\n scheduleContent: `Click here to see your schedule\n at any time!`,\n reports: 'Reports',\n reportsContent: `Click here to see all of you\n realtime reports and end of\n checkpoint reports`,\n whoIsUsingCTB: 'See who is using CTB',\n whoIsUsingCTBContent: '',\n support: 'Support Resources',\n supportContent: `Click here to read through our\n step-by-step instructions for our\n most frequently asked questions`,\n chat: 'Chat with Support Agent',\n chatContent: `Click here to start a chat with our\n live support agents`,\n account: 'Manage your Account',\n accountContent: `Click here to manage your\n account and download your\n training certifications`\n },\n table: {\n district: 'District',\n school: 'School',\n classroom: 'Classroom',\n student: 'Student',\n notes: 'Notes',\n taken: '# Taken',\n lastAssessed: 'Last Assessed',\n percentScheduled: '% Complete',\n numberComplete: '# Complete',\n completedKEA: '% Completed KEA',\n emerging: '% Emerging',\n approach: '% Approaching',\n demonstrating: '% Demonstrating'\n },\n assessmentCompletion: {\n notes: 'Notes:',\n title: 'Checkpoint Usage',\n titleAssessment: '{{assessment}} Checkpoint Usage',\n subtitle: 'Who is using Cognitive ToyBox?',\n recommended: 'Recommended',\n incompleteGames: 'Incomplete Games',\n incompleteObservations: 'Incomplete Observations',\n completeGames: 'Complete Games',\n completeObservations: 'Complete Observations',\n search: 'Search...',\n error: {\n excel: 'We were unable to get a xlsx file, please try again later'\n }\n },\n domainsOnTrack: {\n title: 'Who is developmentally on track?',\n subtitle: `Developmentally \"on track\" is determined by comparing \n the developmental age as assessed by teachers and\n the chronological age of the students.\n A student is marked as \"on track\" if they score within 9 months of their chronological age.`,\n subdomains: 'Show Subdomains',\n barChart: 'Bar Chart View',\n exceeding: 'Exceeding',\n meeting: 'Meeting',\n below: 'Below',\n notAssessed: 'Not Assessed',\n none: 'None',\n belowMeetingExceeding:\n 'Below/Meeting/Exceeding expectations in {{name}} objectives',\n percentOfStudents:\n 'Percent of students meeting or exceeding expectations in {{name}} objectives',\n modalPercentInDomain:\n '{{percent}}% of students are meeting or exceeding age-level expectations in {{domain}}',\n studentAssessed: '< 50% of students assessed',\n assessmentsComplete: `Assessments\n Complete`,\n studentsAssessed: `Students\n Assessed`,\n objectivesAssessed: `Objectives\n Assessed`,\n meetingAndExceeding: '% meeting and exceeding',\n objectives: 'OBJECTIVES',\n progress: 'PROGRESS',\n studentOnTrack: 'STUDENTS ON TRACK'\n }\n}\n","export const sidebar = {\n home: 'Home',\n report: 'Report',\n reports: 'Reports',\n management: 'Management',\n training: 'Training',\n support: 'Support',\n users: 'Users',\n orgManagement: 'Organization Management',\n studManagement: 'Student Management',\n schedule: 'Schedule',\n dataExport: 'Data Export',\n planning: 'Planning'\n}\n","export const table = {\n showHideColumns: 'Show/Hide Columns',\n showHideRows: 'Show/Hide Rows',\n setToDefault: 'Set to default',\n done: 'Done',\n reset: 'Reset',\n save: 'Save Changes',\n others: 'Show/Hide Others'\n}\n","export const pageWrapper = {\n CTBWebPortal: 'CTB Web Portal',\n loading: 'loading...',\n profile: 'Profile',\n logOut: 'Log out',\n frogStreet: 'Frog Street Edition'\n}\n","export const orgManagement = {\n buttons: {\n school: 'Add School',\n classroom: 'Add Classroom',\n student: 'Add Student',\n parent: 'Add Parent',\n back: 'Back'\n },\n table: {\n className: 'Class Name',\n teacherName: 'Teacher Name',\n studentName: 'Student Name',\n students: 'Students',\n parents: 'Families',\n ageRange: 'Age Range',\n edit: 'Edit',\n name: 'Name',\n DOB: 'DOB',\n age: 'Age',\n notes: 'Notes',\n parent: 'Parent',\n lastParentLogin: 'Last parent login',\n neverLogged: 'Never logged in',\n studentID: 'Student ID ',\n enrollment: 'Enrollment:',\n more: 'more',\n studentManagement: 'Student Management',\n searchBySchoolClassroomStudent: 'Search...',\n searchByStudent: 'Search for student...',\n selectTag: 'Select tag...',\n manyStudents: 'Students',\n oneStudent: '1 Student',\n noStudents: 'No students',\n noStudentsFound: 'No Students Found',\n manyFamilyAccounts: 'Family Accounts',\n oneFamilyAccount: '1 Family Account',\n noFamilyAccounts: 'No Family Accounts',\n moreTeachers: '+ {{length}} more'\n },\n modals: {\n addNew: 'Add new',\n edit: 'Edit',\n delete: 'Delete',\n save: 'Save',\n create: 'Create',\n dropOut: 'Drop out',\n submit: 'Submit',\n notes: {\n ell: 'ELL',\n spanish: 'Spanish',\n other: 'Other',\n inPerson: 'In Person',\n remote: 'Remote',\n neither: 'Neither',\n inPersonText:\n 'Setting a student as \"In Person\" will restrict their parent\\'s access to the portal. If a student is marked as \"Remote\" or \"Neither\", their parents will have access to the app to play game-based assessments and the portal.',\n observationsOnly:\n 'Setting a child as observation only will remove games from their schedule and\\n' +\n 'add observational counterparts to cover measures that would have been\\n' +\n 'assessed by a game.',\n potentialDelay:\n 'Use this to mark a child that has an IEP/IFSP or a child who you think may have\\n' +\n 'a potential delay.',\n lowAttendance:\n 'Mark a child as Low Attendance if you have not been able to assess the child\\n' +\n 'fully because of frequent or extended absences',\n lateStart:\n 'Mark a child as having a Late Start if they began the school year after the first\\n' +\n 'week of school.',\n agedOut:\n 'Mark a child as Aged Out if they have left your classroom and the program as a\\n' +\n 'result of aging out of the class or program but you would still like to maintain\\n' +\n 'their data for reference.',\n droppedOut:\n 'Mark a child as Dropped Out if they have left your classroom and the program\\n' +\n 'but you would still like to maintain their data for reference.',\n PCC:\n 'Mark a student as PCC if they are a member of a preschool collaborative\\n' +\n 'classroom and that may have different reporting requirements than their\\n' +\n 'classrooms.',\n ELL:\n 'Mark a student as ELL if they are an English Language Learner or a Dual\\n' +\n 'Language Learner, then select the language that they speak at home. This may\\n' +\n 'schedule observations specifically for ELL/DLL Students',\n startTyping: 'Start Typing'\n },\n school: {\n created: '{{name}} was successfully created!',\n changed: '{{name}} was successfully changed!',\n deleted: '{{name}} was successfully deleted!',\n school: 'school',\n schoolName: 'School Name',\n addNewSchoolWaitText1:\n 'Please wait a few minutes for your new school to appear in the app',\n addNewSchoolWaitText2: 'Log out and log in again to see your new school',\n deleteConfirmation:\n 'Are you sure you want to remove this school? Teachers and School Administrators assigned to this school will immediately lose access to Cognitive ToyBox and you will have to contact support@cognitivetoybox.com to restore their access.'\n },\n classroom: {\n created: '{{name}} was successfully created!',\n changed: '{{name}} was successfully changed!',\n deleted: '{{name}} was successfully deleted!',\n classroom: 'classroom',\n deleteConfirmation:\n 'Are you sure you want to remove this classroom? Teachers assigned to this classroom will immediately lose access to Cognitive ToyBox and you will have to contact support@cognitivetoybox.com to restore their access.',\n school: 'School',\n classroomName: 'Classroom Name',\n addNewClassroomWaitText1:\n 'Please wait a few minutes for your new classroom to appear in the app',\n addNewClassroomWaitText2:\n 'Log out and log in again to see your new classroom'\n },\n student: {\n update: 'You must update all required notes',\n student: 'student',\n wasDeleted: '{{name}} was successfully deleted',\n wasDropOut: '{{name}} was successfully marked as dropped out',\n confirmationDialog:\n 'Are you sure you want to mark {{name}} as dropped out? This will remove them from your roster and they will no longer appear in the portal or app',\n confirmationDialogDelete: 'Are you sure you want to delete {{name}}?',\n firstName: 'First Name',\n lastName: 'Last Name',\n dateOfBirth: 'Date of Birth',\n selectSchool: 'Select school',\n selectClassroom: 'Select Classroom',\n studentID: 'Student ID',\n studentEnrollment: 'Student enrollment date',\n basicInfo: 'Basic Info',\n notes: 'Notes'\n }\n },\n limitTracker: {\n studentMessage: '{{count}} of {{limit}} Student Licenses Used',\n classroomMessage: '{{count}} of {{limit}} Classroom Licenses Used',\n contactMessageFs:\n 'You are currently over your license limit. Contact support@frogstreet.com for help.',\n contactMessage:\n 'You are currently over your license limit. Contact support@cognitivetoybox.com for help.'\n }\n}\n","export const userManagement = {\n userManagement: 'User Management',\n addNewUser: 'Add new user',\n search: 'Search by User, District, School, or Class...',\n export: 'Export as Excel',\n\n error: {\n excel:\n 'We were unable to create xlsx, please try again later or contact support'\n },\n sso: 'SSO Account Requests',\n ssoModal: {\n title: 'Access Requests (Clever SSO)',\n description:\n \"The following users have authenticated using {{orgName}}'s Clever Single Sign-on (SSO). Please review to approve their access to Cognitive ToyBox and assign them to the appropriate role and site.\",\n name: 'Name',\n status: 'Status',\n role: 'Role',\n school: 'School/Classroom',\n approve: 'Approve Request',\n deny: 'Deny',\n denied: 'See Denied Requests',\n pending: 'See Pending Requests',\n notAssigned: 'Not Assigned Yet',\n close: 'Close',\n noPending: 'No Pending Requests',\n noDenied: 'No Denied Requests',\n save: 'Save',\n cancel: 'Cancel',\n note:\n 'Note: Clicking Save will send {{name}} an email notification that access has been granted.',\n error:\n 'We were unable to process request, please try again later or contact support'\n },\n table: {\n cert: 'Cert',\n name: 'Name',\n username: 'Username',\n role: 'Role',\n district: 'District',\n singleDistrict: '1 district',\n districts: '{{number}} districts',\n school: 'School',\n class: 'Classroom',\n lastLoggedIn: 'Last logged in',\n edit: 'Edit',\n multiple: 'Multiple',\n schools: '{{number}} schools',\n classrooms: '{{number}} classrooms',\n singleSchool: '1 school',\n singleClassroom: '1 classroom',\n removed: '(removed)'\n },\n modal: {\n internalOptions: 'Internal-Only Options',\n override: 'Override User State Standards',\n standard: 'Standard {{number}}',\n success: 'User successfully created',\n successChanged: 'User successfully changed',\n emailSent: 'Email sent',\n removed: 'Account successfully removed',\n reactivated: 'Account successfully reactivated',\n edit: 'Edit',\n create: 'Create new',\n account: 'account',\n firstName: 'First Name',\n lastName: 'Last Name',\n email: 'Email',\n role: 'Role',\n school: 'School',\n organization: 'District',\n districtAccess: 'District Access',\n schoolAccess: 'School Access',\n schoolMuted:\n \"If you are setting the user's role to a School Admin or a Teacher, you must select the associated school.\",\n classroom: 'School/Classroom',\n classroomAccess: 'School/Classroom Access',\n classroomMuted:\n \"If you are setting the user's role to a Teacher, you must select the associated classroom.\",\n alert1: 'A deactivated account already exists with username',\n alert2: 'Click the Reactivate button below to restore this account!',\n delete: 'Delete',\n resendEmail: 'Resend email',\n reactivate: 'Reactivate',\n deleteUser: 'Are you sure you want to delete {{name}}?',\n save: 'Save',\n editEmail:\n \"Are you sure you want to change {{email}}'s email address to {{newEmail}}? Doing so will also reset their password.\",\n deleteParent: 'Are you sure you want to delete {{name}}?',\n removeParentFromStudent:\n 'Are you sure you want to remove {{name}} from student?',\n successfullyChanged: 'Parent credentials successfully changed',\n successfullyCreated: 'Parent account successfully created',\n successfullyRemoved: 'Parent account successfully removed',\n successfullyRemovedFromStudent:\n 'Parent account successfully removed from student',\n dontHaveAccess: \"You don't have access to use this email\",\n somethingWentWrong: 'Something went wrong',\n addNew: 'Add new',\n parent: 'parent',\n familyName: 'Family Name',\n status: 'Status',\n phoneNumber: 'Phone Number',\n removeFromStudent: 'Remove from student',\n accountSetUp: 'Account Set Up',\n accountNotSetUpYet: 'Account Not Set Up Yet',\n children: 'Children',\n allSchoolsAndClassrooms: 'All Schools and Classrooms',\n multiAccess: 'Multi-Account Access',\n access: 'Access {{number}}',\n multiAccessDescription:\n 'Each role listed below shows which school(s) and or classroom(s) {{name}} should have access to. You may only assign a new access role within the same district/organization. To change a user’s organization, contact',\n removeAccess: 'Remove Access',\n changeClassroom: 'Change Classroom',\n changeSchool: 'Change School',\n changeOrganization: 'Change District',\n addAccess: 'Add Access Role',\n cancel: 'Cancel',\n saveChanges: 'Save Changes',\n multiUser: 'Multi-User',\n allRoles: 'All Roles',\n duplicatedScopeError: \"You've already chosen {{item}}\",\n orgDefault: '(Org Default)',\n userDefault: '(User Default)'\n },\n certificationModal: {\n certifications: \"{{name}}'s Certifications\",\n dateEarned: 'Date Earned',\n close: 'Close',\n currentCertification: 'Current Certifications',\n expiredCertification: 'Expired Certifications',\n noCertifications: 'No Certifications'\n },\n multiUserScopesModal: {\n title: \"{{name}}'s school(s) and classroom(s)\",\n districtAdmin: 'District Admin',\n schoolAdmin: 'School Admin(s)',\n teacher: 'Teacher(s)'\n }\n}\n","export const scheduleManagement = {\n assessmentSchedule: 'Assessment Schedule',\n modal: {\n devProgression: 'Developmental Progression',\n close: 'Close',\n questionView: 'Question View',\n domain: 'Domain',\n alignment: 'Alignment',\n subobjective: 'Subobjective (skill)',\n question: 'Question(s)',\n print: 'Print',\n week: 'Week'\n },\n table: {\n week: 'Week',\n weekScheduled: 'Week Scheduled',\n games: 'Games',\n observations: 'Observations',\n noStudentData: 'Student does not have assessment data for this checkpoint'\n },\n objectives: {\n developmentalProgression: 'Developmental Progression',\n domain: 'Domain',\n subobjective: 'Subobjective (skill)',\n questions: 'Question(s)',\n examples: 'Example(s)',\n clickLink: 'Click link to see example',\n doYouWant:\n 'This will take you to an outside website, do you want to continue?',\n continue: 'Continue',\n cancel: 'Cancel'\n }\n}\n","export const dataExportManagement = {\n dataExport: 'Data Export',\n subtitle:\n 'By default you can export all of the results that you have collected in your organization.',\n subtitle2:\n 'If you select a start and end date, you can download the results that were generated during that date range',\n alert: 'Please select an end date that is after the start date',\n submitError: 'You need to select dates',\n requestError: 'Error in report creation',\n selectRange: 'Select a date range',\n selectStart: 'Select a Start date',\n selectEnd: 'Select a End date',\n download: 'Download CSV',\n clear: 'Clear All',\n dataOldestUpdate: 'Last updated:'\n}\n","export const report = {\n lastUpdated: 'Last Updated',\n back: 'Back',\n print: 'Print',\n clear: 'Clear filters',\n exportAsExcel: 'Export as Excel',\n exportAsPDF: 'Export as PDF',\n objectiveReport: 'Objective Report',\n siteReport: 'Site Report',\n studentReport: 'Student Report',\n parentReport: 'Family Report',\n drdpReport: 'DRDP Report',\n checkpointReport: 'Checkpoint Report',\n 'family-engagementReport': 'Family Engagement Report',\n 'certification-statusReport': 'Certification Status Report',\n monitoringReport: 'Usage Monitoring Report',\n home: {\n cognitiveToyboxReports: 'Cognitive ToyBox Reports',\n ongoingReporting: 'Real-Time Data',\n ongoingReportingText:\n 'Ongoing reports can be used to monitor real-time student data, individual observations and games, and family engagement.',\n seeOngoingReports: 'See ongoing reports...',\n checkpointSummaryReports: 'Checkpoint Summary Reports',\n checkpointSummaryReportsText:\n 'These reports can give you cumulative looks at how students performed in an entire checkpoint. They can only be generated after a checkpoint has been completed.',\n seeCheckpointSummaryReports: 'See checkpoint summary reports...',\n monitoringReports: 'Monitoring (Admin-only) Reports',\n monitoringReportsText:\n 'Monitoring reports are available for school and district admins and can be used to monitor teacher usage and high-level child outcomes.',\n seeMonitoringReports: 'See monitoring reports...'\n }\n}\n","export const profile = {\n certifications: 'Certifications',\n myAccountSettings: 'My account settings',\n firstName: 'First Name',\n enterFirstName: 'Enter first name',\n lastName: 'Last Name',\n enterLastName: 'Enter last name',\n phone: 'Phone',\n phoneText1: 'Adding a phone number is for security purposes only.',\n phoneText2:\n 'It helps us keep your account secure and you can use it if you are having trouble logging in!',\n youAreUsing: 'You are using:',\n saveChanges: 'Save Changes',\n dateEarned: 'Certification Date:',\n dateExpired: 'Expiration Date:',\n expired: 'Expired:',\n mfa: 'Multi-Factor Authentication (MFA)',\n enabled: 'Enabled',\n disabled: 'Disabled',\n recovery: 'Recovery Phone',\n verified: 'Verified',\n unverified: 'Unverified',\n changePhoneNumber: 'Change Phone Number',\n verify: 'Verify',\n code: 'Code',\n sendCode: 'Send Code',\n mfaDescription:\n 'Get authentication codes by SMS on your mobile phone when signing into Cognitive ToyBox',\n enterNumber: '1. Enter your Phone Number',\n enterCode: '2. Enter code to verify your phone number',\n verifyMfa: 'Verify your MFA Phone Number',\n cancel: 'Cancel',\n cancelAndDisable: 'Cancel and disable MFA',\n save: 'Save',\n verifiedPhone: 'Verified Phone:',\n success: {\n edit: 'Profile successfully edited',\n verified: 'Phone number successfully verified',\n code: 'A code has been sent to your phone number'\n },\n error: {\n edit: 'We were unable to edit account, something went wrong',\n verified: 'We were unable to verify phone number, something went wrong',\n code: 'We were unable to send a code, something went wrong'\n },\n required: 'This field is required',\n phoneVerify: 'You need to verify your phone for MFA'\n}\n","export const basicComponents = {\n noDataFound: 'No data found',\n print: 'Print',\n close: 'Close',\n downloadPhoto: 'Download Photo',\n joyride: {\n skip: 'Skip',\n back: 'Back',\n next: 'Next',\n close: 'Close',\n count: '{{current}} of {{size}}'\n },\n table: {\n paginationCaption: 'Showing {{from}} to {{to}} of {{total}} entries',\n none: 'None',\n filteredBy: 'Filtered By',\n sortAsc: 'Sort Ascending',\n sortDes: 'Sort Descending',\n search: 'Search',\n hideColumn: 'Hide Column',\n min: 'Min',\n max: 'Max',\n sort: {\n alphabeticAsc: 'A → Z',\n alphabeticDesc: 'Z → A',\n numericDesc: 'High → Low',\n numericAsc: 'Low → High',\n datesDesc: 'Newest',\n datesAsc: 'Oldest'\n }\n },\n dropzone: {\n alert: 'You can only add a maximum of 3 photos',\n error: 'Oversize image (over 5Mb)',\n drop: 'Drop photos here'\n },\n filesDropzone: {\n alert: 'You can only add 1 file',\n error: 'Oversize file (over 6Mb)',\n drop: 'Drop file here',\n drag: 'Drag file to upload',\n click: 'or click to browse and upload file',\n supportedTypes: 'Supported file types: {{fileTypes}}'\n },\n confirmationDialog: {\n sure: 'Are you sure?',\n yes: 'Yes',\n nevermind: 'No, nevermind'\n },\n errorPage: {\n somethingWentWrong: 'Something went wrong',\n tryAgain: 'Try to log in again'\n },\n device: {\n description: 'Description:',\n name: 'Name:',\n browser: 'Browser:',\n version: 'Version:'\n },\n age: {\n years: 'y',\n months: 'mo'\n },\n filters: {\n clear: 'Clear filters',\n current: '(Current)',\n allSchools: 'All Schools',\n allClassrooms: 'All Classrooms',\n allStudents: 'All Students',\n allObjectives: 'All Objectives',\n allDomains: 'All Domains',\n allAges: 'All Ages',\n allCheckpoints: 'All Checkpoints',\n noResult: 'No result',\n thisWeek: 'This Week',\n allGroups: 'All Student Groups',\n allStandards: 'All Standards',\n allSchoolYears: 'All School Years',\n allViews: 'Include Games and Observations',\n allTimeRanges: 'All Time Ranges',\n allClassTypes: 'All Programs',\n allOrganizations: 'All Districts...',\n scheduled: 'Scheduled',\n all: 'All',\n completion: 'Usage',\n performances: 'Outcomes',\n selectOrganization: 'Select District...',\n selectSchool: 'Select School...',\n selectClassroom: 'Select Classroom...',\n selectRole: 'Select Role...',\n noSchools: 'No Schools Available',\n noClassrooms: 'No Classrooms Available',\n noOrganizations: 'No District Available',\n kea: 'KEA',\n eca: 'ECA',\n searchSchoolClassroom: 'Search for a School or Classroom...',\n searchOrganization: 'Search for a District...',\n searchSchool: 'Search for a School...'\n }\n}\n","export const training = {\n kea:\n 'To view training modules specific to CTB for Schools, use the toggle at the top right.',\n eca:\n 'To view training modules specific to CTB for KEA, use the toggle at the top right.',\n CTBTraining: 'Cognitive ToyBox Training',\n basicModules: 'Basic Certification:',\n parentModules: 'Parent Resources:',\n advancedModules: 'Advanced Teacher Certification:',\n adminModules: 'Administrator Certification:',\n interraterReliabilityModules: 'Inter-rater Reliability Certifications:',\n title: {\n interraterReliability35: 'Inter-rater Reliability (3-5 year olds)'\n },\n open: 'Open',\n back: 'Back',\n watchTraining: 'Watch Training + Quiz',\n testOnly: 'Quiz Only',\n expireSoon: 'Certificate(s) that are expiring soon:',\n expired: 'Certificate(s) that have expired:',\n pleaseCompleteExpiring:\n 'You have one or more certificates that are expiring soon. To renew your certification you can watch the training modules again, or you can try to complete the quiz only. ',\n pleaseCompleteExpired:\n 'You have one or more certificates that have expired. To renew your certification you can watch the training modules again, or you can try to complete the quiz only. ',\n certified: {\n title: 'You have been certified!',\n check: 'See all my certificates',\n download: 'Download Certificate Now',\n close: 'Close'\n },\n testOut: {\n title: '{{name}} Quiz',\n question: 'Question {{current}} of {{total}}',\n next: 'Next',\n back: 'Back',\n finishButton: 'Finish',\n questionsCorrect: 'Questions Correct',\n success: `Congratulations! You passed the {{title}} quiz. \n Finish the rest of the training modules to renew your Basic Training Certification.`,\n failTop:\n 'Great effort, but you needed to get at least 90% of the questions correct in order to pass',\n failBottom: `In order to complete this training, you will now need to read \n and watch the {{title}} training module.`,\n close: 'Close',\n startTraining: 'Start Training',\n finishTitle: 'Submit Final Answers',\n finish: `Are you sure you want to submit your quiz? \n After you click submit you will no longer be able to change your answers.`,\n goBack: 'Go Back',\n submit: 'Submit'\n },\n scenarios: {\n viewTutorial: 'View Tutorial',\n description1:\n 'Welcome to the CTB Inter-rater reliability certification assessment. You will be given a sample scenario and using the CTB developmental indicators you will be asked to level the children in the scenario.',\n description2:\n 'Your answers must match the correct level for at least 90% of the objectives in order to receive your inter-rater reliability certificate.',\n scenariosLeveled: 'scenarios leveled',\n start: 'Start',\n changeAnswer: 'Change Answer',\n scenariosReadyForReview: 'scenarios ready for review',\n submitForReview: 'Submit for Review',\n submitForReviewDescription:\n 'You must level all of the scenarios in order to submit your assessment',\n passed:\n 'You have already passed this module and can find the certificate in your Profile',\n readyForReview: 'Ready for Review',\n complete: 'Complete',\n incorrect: 'Incorrect',\n modal: {\n description:\n 'Read the scenario below and use the Developmental Indicators to the level the student in the scenario',\n developmentalIndicators: 'Developmental Indicators',\n selectLevel: 'Select a Level',\n notYet: 'Not Yet',\n cancel: 'Cancel',\n save: 'Save',\n IRRResults: 'IRR Results',\n levelled:\n 'Nice work, you levelled {{correct}}/{{total}} scenarios correctly',\n closeTheWindow:\n 'Close this window and review and re-level the incorrectly levelled scenarios marked with an exclamation point, and submit again!',\n note:\n 'Note: You will be able to re-level scenarios as many times as you need',\n congratulations: 'Congratulations! You earned your CTB IRR Certificate!',\n downloadCertificate: 'Download Certificate',\n ok: 'Ok',\n close: 'Close',\n examples: 'Example(s)',\n clickLink: 'Click link to see example',\n doYouWant:\n 'This will take you to an outside website, do you want to continue?',\n continue: 'Continue'\n },\n tutorialModal: {\n next: 'Next',\n cancel: 'Skip',\n back: 'Back',\n title: 'IRR Tutorial',\n description1: `When creating student observations, calibrating your Inter-Rater \n Reliability is an important key to understanding your students’ current \n developmental levels. Ensuring your understanding is aligned with the \n CTB developmental indicators will help you to understand the needs of \n your students and how to deliver more targeted instruction.`,\n description2: `Practice leveling the students based on each scenario provided, along \n with the developmental indicators. After each objective set, reflect on \n your ratings. Were you aligned? If not, can you find the discrepancy? \n Use these scenarios to help you grow in your understanding of the CTB \n developmental indicators.`,\n tip: 'Tip',\n step1: `When you are leveling a student, the student should demonstrate all subobjectives \n at a given level to achieve that level. \n If they have achieved some but not all of the skills consistently, \n then they should be placed in the level below.`,\n step2:\n 'We will give you a practice scenario with feedback so that you can get the hang of how this will work!',\n step3: 'Tutorial Scenario 1',\n selectTheLevel: 'Select the level',\n checkAnswer: 'Check Answer',\n notQuite: 'Not quite!',\n success: 'Success!',\n tooltipStep1: 'First, read the scenario',\n tooltipStep2:\n 'Next, read the developmental indicators and determine the level to place the student at',\n tooltipStep3: 'Then, select the level you would give the student',\n tooltipStep4: 'Check your answer!',\n tryIt: 'Try it',\n step4: 'You have successfully completed the tutorial! Good luck!',\n close: 'Close',\n currentStep: 'Step {{current}} of {{counts}}'\n }\n }\n}\n","export const observation = {\n observeAgain: 'Observe again',\n startNewObservation: `Start new \n Observation`,\n observation: 'observation',\n newObservation: 'New Observation',\n whichOne: 'Which observational tool do you want to use?',\n portfolio: 'Portfolio-style',\n question: 'Question-based',\n modal: {\n delete:\n 'Are you sure you want to cancel and delete this observations? You observation will not be saved!',\n yes: 'Yes, cancel and delete',\n no: 'Nevermind'\n },\n form: {\n more: 'more',\n addNote: 'Add Note (required)',\n student: 'Student',\n objective: 'Objective',\n selectLevel:\n 'Using {{label}}, select an appropriate level for the student{{s}} below:',\n cancel: 'Cancel',\n back: 'Back',\n submit: 'Submit',\n next: 'Next',\n developmentalIndicators: 'Developmental Indicators',\n no: 'No',\n yes: 'Yes',\n possibleExamples: 'Possible examples',\n note:\n 'Note: The example(s) described below are not the only way a child can demonstrate mastery of a development level',\n addNoteObserved:\n 'Add note that describes what you have observed that helped you answer these questions about',\n required: '(required)',\n cancelDelete: 'Cancel and Delete',\n emerging: 'Emerging'\n }\n}\n","export const support = {\n title: 'Cognitive ToyBox Support',\n searchByKeywords: 'Search by keywords',\n nothingFound: 'Nothing found',\n back: 'Back',\n contact: 'Contact',\n withOtherQuestions: 'with any other questions you have!',\n kea:\n 'To view resources specific to CTB for Schools, use the toggle at the top right.',\n eca:\n 'To view resources specific to CTB for KEA, use the toggle at the top right.'\n}\n","export const curriculum = {\n back: 'Back',\n classroom: 'Classroom',\n teacher: 'Teacher(s)',\n startPlan: 'Create',\n view: 'View',\n edit: 'Edit',\n title: 'Curriculum and Lesson Planning',\n collectObs: 'Collect Observation',\n observe: 'Observe',\n seeDetailed: 'See Detailed Lesson',\n complete: '{{X}}/{{Y}} complete',\n header: 'Cognitive ToyBox Weekly Lesson Planning',\n with: 'with',\n delete: {\n text:\n 'Are you sure you want to delete the lesson plan from this week? Once deleted, it cannot be restored.',\n cancel: 'Cancel',\n yes: 'Yes, delete this lesson plan',\n success: 'Lesson Plan was successfully deleted!'\n },\n table: {\n className: 'Class Name',\n teacherName: 'Teacher Name',\n students: 'Students',\n studentsCount: 'Students',\n curriculum: 'Curriculum',\n ageRange: 'Age Range',\n edit: 'Edit',\n assignCurriculum: 'Assign Curriculum'\n },\n editCurriculumModal: {\n title: 'Edit Curriculum',\n close: 'Close',\n save: 'Save',\n addCurriculum: 'Add Curriculum',\n removeCurriculum: 'Remove Curriculum'\n },\n detailedLessonModal: {\n recommendedSmallGroups: 'Recommended Small Groups (Beta)',\n rsgDescription:\n 'Children in the Exploring group would benefit from additional support while those in the Integrating group would benefit from extension activities.',\n group: '',\n related: 'Related CTB Objectives',\n close: 'Close',\n print: 'Print'\n },\n filters: {\n addTitle: 'Add Title...',\n addDescription: 'Add Description...',\n selectObjectives: 'Select Objectives...',\n selectCurriculum: 'Select a curriculum',\n allCurriculums: 'All Curriculums',\n selectWeek: 'Select A Week',\n allWeeks: 'All Weeks',\n selectedWeek: 'Selected Week',\n setToCurrentWeek: 'Set To Current Week',\n startTyping: 'Start typing to create custom activity'\n },\n printBalkPlan: 'Print Blank Lesson Plan',\n startThisWeekPlan: 'Start This Week Lesson Plan',\n related: 'Related CTB Objectives',\n unit: 'Unit',\n theme: 'Theme',\n week: 'Week',\n curriculum: 'Curriculum',\n scheduledAssessments: 'Scheduled Cognitive ToyBox Assessments',\n print: 'Print',\n save: 'Save',\n goBackModal: {\n doYouWantToSave: 'Do you want to save changes?',\n yes: 'Yes',\n no: 'No',\n cancel: 'Cancel'\n }\n}\n","export const keaReport = {\n title: '{{scope}} KEA Report',\n back: 'Back',\n print: 'Print',\n lastUpdated: 'Last Updated',\n demonstrating: 'Demonstrating',\n approaching: 'Approaching',\n emerging: 'Emerging',\n completed: 'Completed',\n overall: 'Overall Average Score',\n overallScore: 'Overall Score',\n score: 'Score',\n readiness: 'Readiness',\n studentsComplete: 'Students Complete',\n complete: 'Complete',\n studentsKea: \"{{name}}'s KEA\",\n scopeKea: '{{name}} KEA',\n keaComplete: 'KEA Complete',\n table: {\n organization: 'Organization',\n school: 'School',\n classroom: 'Classroom',\n student: 'Student',\n readiness: 'Readiness',\n rawScore: 'Raw Score',\n averageRawScore: 'Overall Average Score',\n lastAssessed: 'Last Assessed',\n notes: 'Notes',\n keasCompleted: 'KEAs Completed',\n type: 'Type',\n observationalNote: 'Observational Note',\n noData: 'All assessments not yet complete'\n },\n tooltip: {\n averageRawScore:\n 'Only fully completed KEAs contribute to the overall average score.'\n },\n error: {\n excel: 'We were unable to create excel-file, something went wrong'\n }\n}\n","import i18n from 'i18next'\nimport detector from 'i18next-browser-languagedetector'\nimport { initReactI18next } from 'react-i18next'\nimport { languages } from './languages'\n\ni18n\n .use(initReactI18next)\n .use(detector)\n .init({\n resources: languages,\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false\n },\n supportedLngs: ['en', 'es'],\n preload: ['en', 'es']\n })\n","import { trainingURL } from 'lib/links'\n\nexport const PARENT_MODULE_ID = 'parent'\nexport const routesDict = {\n introductionToCognitiveToybox: '/Introduction',\n introductionToCognitiveToyboxLite: '/Introduction_Lite',\n gettingStarted: '/Getting_Started',\n assessmentGames: '/Assessment_Games',\n observations: '/Observations',\n cognitiveToyboxAtHome: '/Cognitive_Toybox_At_Home',\n introductionToReports: '/Introduction_To_Reports',\n [PARENT_MODULE_ID]: '/Parent_Resources',\n advancedTeacherTraining: '/Advanced_Reporting',\n managingTeacherAccounts: '/Managing_Teacher_Accounts',\n monitoringAssessmentCollection: '/Monitoring_Assessment_Collection',\n programOutcomesReporting: '/Program_Outcomes_Reporting',\n studentAndOrganizationManagement: '/Student_And_Organization_Management',\n\n gettingStartedFS: '/frogst/Getting_Started_FS',\n gettingStartedAdminsFS: '/frogst/Getting_Started_Admins_FS',\n programOutcomesReportingFS: '/frogst/Program_Outcomes_Reporting_FS',\n monitoringAssessmentCollectionFS:\n '/frogst/Monitoring_Assessment_Collection_FS',\n advancedTeacherTrainingFS: '/frogst/Advanced_Reporting_FS',\n observationsFS: '/frogst/Observations_FS',\n cognitiveToyboxAtHomeFS: '/frogst/Cognitive_Toybox_At_Home_FS',\n assessmentGamesFS: '/frogst/Assessment_Games_FS',\n introductionToCognitiveToyboxFS: '/frogst/Introduction_FS',\n introductionToReportsFS: '/frogst/Introduction_To_Reports_FS'\n}\nexport const moduleTranslations = {\n introductionToCognitiveToybox: 'Introduccion a Cognitive Toybox',\n introductionToCognitiveToyboxLite: 'Introduccion a Cognitive Toybox',\n assessmentGames: 'Juegos de Evaluacion',\n cognitiveToyboxAtHome: 'Cognitive ToyBox en Casa',\n gettingStarted: 'Empezando',\n observations: 'Observaciones',\n introductionToReports: 'Introduccion a los Informes Portal',\n advancedTeacherTraining: 'Informes Avanzado',\n managingTeacherAccounts: 'Gestión de las cuentas de los profesores',\n monitoringAssessmentCollection: 'Seguimiento de la evaluación Recogida',\n programOutcomesReporting: 'Informes sobre los resultados del programa',\n studentAndOrganizationManagement: 'Gestión de estudiantes y organizaciones',\n introductionToCognitiveToyboxFS: 'Introduccion a Cognitive Toybox',\n assessmentGamesFS: 'Juegos de Evaluacion',\n cognitiveToyboxAtHomeFS: 'Cognitive ToyBox en Casa',\n gettingStartedFS: 'Empezando',\n gettingStartedAdminsFS: 'Empezando',\n observationsFS: 'Observaciones',\n introductionToReportsFS: 'Introduccion a los Informes Portal',\n advancedTeacherTrainingFS: 'Informes Avanzado',\n monitoringAssessmentCollectionFS: 'Seguimiento de la evaluación Recogida',\n programOutcomesReportingFS: 'Informes sobre los resultados del programa'\n}\nexport const moduleTypes = {\n basic: [\n 'introductionToCognitiveToybox',\n 'introductionToCognitiveToyboxLite',\n 'gettingStarted',\n 'assessmentGames',\n 'observations',\n 'cognitiveToyboxAtHome',\n 'introductionToReports',\n 'introductionToCognitiveToyboxFS',\n 'gettingStartedFS',\n 'assessmentGamesFS',\n 'observationsFS',\n 'cognitiveToyboxAtHomeFS',\n 'introductionToReportsFS'\n ],\n advanced: ['advancedTeacherTraining', 'advancedTeacherTrainingFS'],\n admin: [\n 'managingTeacherAccounts',\n 'monitoringAssessmentCollection',\n 'programOutcomesReporting',\n 'studentAndOrganizationManagement',\n 'gettingStartedAdminsFS',\n 'monitoringAssessmentCollectionFS',\n 'programOutcomesReportingFS'\n ],\n parent: [PARENT_MODULE_ID],\n irr: ['irr35']\n}\n\nexport const SCENARIO_TYPE = 'scenario'\nexport const FIXED_TYPE = 'fixed'\n\nexport function getCurrentTrainingId(path = '') {\n const trainingRelativePath = path.startsWith(trainingURL)\n ? path.substring(trainingURL.length)\n : path\n for (const [key, value] of Object.entries(routesDict)) {\n if (value === trainingRelativePath) {\n return key\n }\n }\n return null\n}\n\nexport function sortModules(modules) {\n const moduleIds = Object.keys(routesDict)\n\n return moduleIds.map(moduleId =>\n modules.find(module => module.id === moduleId)\n )\n}\n","import React, { useState } from 'react'\nimport classNames from 'classnames'\nimport { useQuery, useMutation } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { toast } from 'react-toastify'\n\nimport {\n getTestOutQuery,\n submitTestOutMutation,\n completeTestOutMutation\n} from 'lib/api'\nimport { Loader, Button, PrimaryLink, Modal } from 'shared/components'\n\nimport styles from './test-modal.module.css'\n\nexport const TestModal = ({ testModalData, setTestModal }) => {\n const [step, setStep] = useState(0)\n const { t, i18n } = useTranslation()\n const { data, isLoading } = useQuery(\n getTestOutQuery({\n module: testModalData.id,\n language: i18n.language\n })\n )\n const submitTestOut = useMutation(submitTestOutMutation())\n const completeTestOut = useMutation(completeTestOutMutation())\n\n return (\n \n setTestModal({\n ...testModalData,\n show: false,\n ...(completeTestOut.data && completeTestOut.data)\n })\n }\n dialogClassName={styles.testOutModal}\n >\n \n \n {t('training.testOut.title', { name: testModalData.name })}\n \n \n {data?.length ? (\n completeTestOut.data ? (\n \n ) : step === data?.length ? (\n <>\n \n \n \n ) : (\n \n )\n ) : (\n \n )}\n \n )\n}\n\nconst QuestionSteps = ({\n data,\n step,\n setStep,\n submitTestOut,\n testModalData\n}) => {\n const [answers, setAnswers] = useState(Array(data.length).fill([]))\n const { t } = useTranslation()\n return (\n <>\n \n
\n {t('training.testOut.question', {\n current: step + 1,\n total: data.length\n })}\n
\n
\n
{data[step].question}
\n \n {data[step].metadata === 'picture' && (\n \n )}\n
    \n {data[step].answers.map(answer => (\n {\n if (submitTestOut.isLoading) return\n // change answer\n const answersCopy = [...answers]\n // We have three types of answers: multi-answer, normal, and picture\n if (data[step].metadata === 'multi-select') {\n if (answers[step].includes(answer.answer_id)) {\n answersCopy[step] = answersCopy[step].filter(\n a => a !== answer.answer_id\n )\n } else {\n answersCopy[step].push(answer.answer_id)\n }\n } else {\n answersCopy[step] = [answer.answer_id]\n }\n setAnswers(answersCopy)\n }}\n >\n {answer.answer}\n \n ))}\n
\n
\n \n
\n \n setStep(step - 1)}\n >\n {t('training.testOut.back')}\n \n \n submitTestOut\n .mutateAsync({\n account_module_id: testModalData.id,\n assessment_id: data[step].assessment_id,\n answer_ids: answers[step]\n })\n .then(resp => {\n if (resp.errorMessage) {\n throw new Error(resp.errorMessage)\n } else {\n setStep(step + 1)\n }\n })\n .catch(e => toast.error(e))\n }\n >\n {t('training.testOut.next')}\n \n \n \n )\n}\n\nconst FinishStep = ({ step, setStep, completeTestOut, testModalData }) => {\n const { t, i18n } = useTranslation()\n return (\n setStep(step - 1)}\n size=\"lg\"\n backdropClassName={styles.background}\n >\n \n \n {t('training.testOut.finishTitle')}\n \n \n \n
\n
\n {t('training.testOut.finish')}\n
\n
\n
\n \n setStep(step - 1)}\n >\n {t('training.testOut.goBack')}\n \n \n completeTestOut\n .mutateAsync({\n account_module_id: testModalData.id,\n language: i18n.language\n })\n .then(resp => {\n if (resp.errorMessage) {\n throw new Error(resp.errorMessage)\n }\n })\n .catch(e => toast.error(e))\n }\n >\n {t('training.testOut.submit')}\n \n \n \n )\n}\n\nconst ResultStep = ({\n data,\n testModalData,\n totalQuestionsCount,\n setTestModal\n}) => {\n const { t } = useTranslation()\n return (\n <>\n \n
\n {data.test_out_assessment_result.success\n ? t('training.testOut.success', {\n title: testModalData.name\n })\n : t('training.testOut.failTop')}\n
\n \n
\n {data.test_out_assessment_result.correct_questions}/\n {totalQuestionsCount}\n
\n
{t('training.testOut.questionsCorrect')}
\n \n {!data.test_out_assessment_result.success && (\n
\n {t('training.testOut.failBottom', { title: testModalData.name })}\n
\n )}\n \n \n \n setTestModal({ ...testModalData, show: false, ...data })\n }\n className={classNames(\n data.test_out_assessment_result.success && styles.singleButton\n )}\n >\n {t('training.testOut.close')}\n \n {!data.test_out_assessment_result.success && (\n \n setTestModal({ ...testModalData, show: false, ...data })\n }\n buttonStyle\n >\n {t('training.testOut.startTraining')}\n \n )}\n \n \n )\n}\n","import certificateIcon from 'assets/images/certified.png'\nimport certificateLow from 'assets/images/certified-low.png'\nimport certificateMedium from 'assets/images/certified-medium.png'\nimport certificateAdminTraining from 'assets/images/certified-adminTraining.png'\nimport certificateIRR from 'assets/images/certified-irr.png'\nimport certificateInPerson from 'assets/images/certified-in-person.png'\n\nexport const prepareFilters = (data, labelField, valueField) => {\n if (!data) return []\n return data.map(item => ({\n label: item[labelField],\n value: item[valueField]\n }))\n}\n\nexport const isValidHttpUrl = string => {\n let url\n try {\n url = new URL(string)\n } catch (_) {\n return false\n }\n return url.protocol === 'http:' || url.protocol === 'https:'\n}\n\nexport const iconDict = {\n GamesOnlyCertification: certificateLow,\n BasicTeacherCertification: certificateMedium,\n BasicTeacherCertificationLite: certificateMedium,\n BasicTeacherCertificationFS: certificateMedium,\n AdvancedTeacherCertification: certificateIcon,\n AdvancedTeacherCertificationFS: certificateIcon,\n AdministratorCertification: certificateAdminTraining,\n AdministratorCertificationFS: certificateAdminTraining,\n 'InterraterReliability3-5': certificateIRR,\n 'InterraterReliability0-3': certificateIRR,\n InPersonCertification: certificateInPerson\n}\n\nexport const tableIcons = {\n twoArrows: '⬍',\n arrowUp: '↑',\n arrowDown: '↓',\n triangleUp: '▲',\n circle: '●',\n triangleDown: '▼',\n times: '×',\n check: '✓'\n}\n\n// 28.5 = 2 years 3 months\nexport const transformAge = (age, t) => {\n let result = ''\n const yearsText = t ? t('basicComponents.age.years') : 'y'\n const monthText = t ? t('basicComponents.age.months') : 'mo'\n\n if (age === 0) return '0' + monthText\n if (!age) {\n return ''\n }\n\n const years = Math.floor(age / 12)\n const months = Math.floor(age % 12)\n const hasYears = years >= 1\n\n if (hasYears) {\n result += years + yearsText\n }\n if (months) {\n if (hasYears) {\n result += ' '\n }\n result += months + monthText\n }\n return result\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PrimaryLink, Modal } from 'shared/components'\nimport { iconDict } from 'lib/helpers'\nimport { profileURL } from 'lib/links'\n\nimport styles from './certified-modal.module.css'\n\nexport const CertifiedModal = ({ certifiedModal, onHide }) => {\n const { t } = useTranslation()\n return (\n \n \n {t('training.certified.title')}\n \n \n

{certifiedModal.certification_name}

\n \n window.open(certifiedModal.presigned_url)}>\n {t('training.certified.download')}\n \n \n {t('training.certified.check')}\n \n
\n \n
\n )\n}\n","import React, { useState, useEffect, useMemo } from 'react'\nimport cn from 'classnames'\nimport { useQueries } from 'react-query'\nimport { Switch, Route, Link, useHistory, useLocation } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons'\nimport { useAuthContext } from 'features/auth'\nimport { Button, Loader, PageWrapper, Heading } from 'shared/components'\nimport { trainingURL } from 'lib/links'\nimport {\n getTrainingsQuery,\n submitTraining,\n getTrainingModulesQuery\n} from 'lib/api'\nimport { toast } from 'react-toastify'\nimport {\n routesDict,\n sortModules,\n moduleTypes,\n moduleTranslations,\n getCurrentTrainingId,\n PARENT_MODULE_ID,\n SCENARIO_TYPE\n} from './utils'\nimport styles from './training.module.css'\nimport { ScenariosContainer } from './components/scenarios/scenarios-container'\nimport { TestModal } from './components/test-modal/test-modal'\nimport { CertifiedModal } from './components/certified-modal/certified-modal'\n\nconst enPages = require.context('./pages/en', true)\nconst esPages = require.context('./pages/es', true)\n\nexport const Training = () => {\n const [testModal, setTestModal] = useState({ show: false })\n // When passing the training block we will see a pop-up that says \"you are certified\"\n const [certifiedModal, setCertifiedModal] = useState(false)\n const {\n isParent,\n isTeacher,\n assessmentPurpose,\n enable_assessment_purposes,\n isKea\n } = useAuthContext()\n const { t, i18n } = useTranslation()\n const history = useHistory()\n const location = useLocation()\n const back = () => history.push(trainingURL)\n const pages = i18n.language === 'en' ? enPages : esPages\n\n const [trainings, meta] = useQueries([\n getTrainingsQuery({ pathname: location.pathname }),\n getTrainingModulesQuery({\n pathname: location.pathname,\n assessment_purpose: assessmentPurpose\n })\n ])\n const data = useMemo(\n () => trainings.data && meta.data && { ...trainings.data, ...meta.data },\n [trainings, meta]\n )\n\n useEffect(() => {\n const handler = function(e) {\n if (e.data === 'onCourseFinish') {\n const trainingModule = getCurrentTrainingId(location.pathname)\n\n if (trainingModule) {\n submitTraining({\n Language: i18n.language === 'en' ? 'english' : 'spanish',\n TrainingID: 'Rise1.0',\n TrainingModule: trainingModule\n }).then(data => {\n setCertifiedModal(data.added_certification)\n back()\n })\n }\n }\n }\n window.addEventListener('message', handler)\n\n return () => {\n window.removeEventListener('message', handler)\n }\n }, [location.pathname, testModal])\n\n useEffect(() => {\n ;(async function() {\n // If the training block is passed with a test-out, we should send a request\n // and also see a Certified pop-up if Certified\n if (testModal.training_submission_data) {\n try {\n const resp = await submitTraining({\n Language: i18n.language === 'en' ? 'english' : 'spanish',\n TrainingID: 'Rise1.0',\n success: testModal.training_submission_data.success,\n testout: testModal.training_submission_data.test_out,\n TrainingModule: getCurrentTrainingId(testModal.path)\n })\n meta.refetch()\n if (resp.errorMessage) throw new Error(resp.errorMessage)\n setCertifiedModal(resp.added_certification)\n } catch (e) {\n toast.error(e)\n }\n }\n })()\n }, [testModal])\n\n if (!data || trainings.isLoading || meta.isLoading) {\n return (\n \n \n \n )\n }\n\n const modules = sortModules(\n pages\n .keys()\n .filter(path => path.indexOf('.js') === -1)\n .map(path => {\n const componentPath = path.replace('.', '')\n const componentId = Object.keys(routesDict).find(\n key => routesDict[key] === componentPath\n )\n const training = data.all_trainings?.find(\n ({ training_module_id }) => training_module_id === componentId\n )\n const componentName = path.substr(path.lastIndexOf('/') + 1)\n const componentTitle =\n training?.description || componentName.replace(/_/g, ' ')\n const testOut =\n data.non_completed_trainings?.find(\n ({ training_module_id }) => training_module_id === componentId\n ) ||\n data.renewable_trainings?.find(\n ({ training_module_id }) => training_module_id === componentId\n )\n return {\n id: componentId,\n path: componentPath,\n enable_test_out: testOut?.enable_test_out,\n account_training_module_id:\n testOut?.expired_account_training_module_id ||\n testOut?.renewable_account_training_module_id,\n component: pages(path)[componentName],\n type: training?.type,\n title:\n i18n.language === 'en'\n ? componentTitle\n : moduleTranslations[componentId] || componentTitle\n }\n })\n )\n .filter(module => {\n if (module === undefined) {\n return false\n }\n if (data.all_trainings?.length) {\n return data.all_trainings.find(({ training_module_id }) =>\n module.id === PARENT_MODULE_ID\n ? true\n : training_module_id === module.id\n )\n } else if (module.id === PARENT_MODULE_ID) return true\n })\n .filter(module =>\n isParent\n ? module.id === PARENT_MODULE_ID\n : isTeacher\n ? true\n : module.id !== PARENT_MODULE_ID\n )\n const completedTrainingIds = data.completed_trainings.map(\n ({ training_module_id }) => training_module_id\n )\n\n const getModule = (module, className) => {\n const isPassed = completedTrainingIds.includes(module.id)\n return (\n
\n \n {module.title}\n {isPassed && (\n \n )}\n \n {module.enable_test_out && (\n <>\n \n {t('training.watchTraining')}\n \n \n setTestModal({\n show: true,\n id: module.account_training_module_id,\n name: module.title,\n trainingURL,\n path: module.path\n })\n }\n >\n {t('training.testOnly')}\n \n \n )}\n
\n )\n }\n\n const scenarioTrainings = data.all_trainings\n .filter(({ type }) => type === SCENARIO_TYPE)\n .map(module => ({\n id: module.training_module_id,\n path: '/' + module.training_module_id,\n title: module.description\n }))\n\n const basicModules = modules\n .filter(module => moduleTypes.basic.includes(module.id))\n .sort(\n (firstTraining, secondTraining) =>\n moduleTypes.basic.indexOf(firstTraining.id) -\n moduleTypes.basic.indexOf(secondTraining.id)\n )\n\n const parentModules = modules.filter(module =>\n moduleTypes.parent.includes(module.id)\n )\n const advancedModules = modules.filter(module =>\n moduleTypes.advanced.includes(module.id)\n )\n\n const adminModules = modules\n .filter(module => moduleTypes.admin.includes(module.id))\n .sort(\n (firstTraining, secondTraining) =>\n moduleTypes.admin.indexOf(firstTraining.id) -\n moduleTypes.admin.indexOf(secondTraining.id)\n )\n\n return (\n <>\n \n {t('training.CTBTraining')}\n {enable_assessment_purposes?.includes('KEA') &&\n enable_assessment_purposes?.includes('ECA') && (\n
{isKea ? t('training.kea') : t('training.eca')}
\n )}\n {data.soon_to_expire_certifications?.length > 0 && (\n
\n
{t('training.pleaseCompleteExpiring')}
\n
{data.soon_to_expire_certification}
\n
{t('training.expireSoon')}
\n
    \n {data.soon_to_expire_certifications.map(cert => (\n
  • \n {cert.certification_name}{' '}\n \n (Expiring: {cert.expiration_date})\n \n
  • \n ))}\n
\n
\n )}\n {data.expired_certifications?.length > 0 && (\n
\n
{t('training.pleaseCompleteExpired')}
\n
{data.soon_to_expire_certification}
\n
\n {t('training.expired')}\n
\n
    \n {data.expired_certifications.map(cert => (\n
  • \n {cert.certification_name}{' '}\n \n (Expired: {cert.expiration_date})\n \n
  • \n ))}\n
\n
\n )}\n \n \n {!!basicModules.length && (\n <>\n

{t('training.basicModules')}

\n {basicModules.map(getModule)}\n \n )}\n {!!advancedModules.length && (\n <>\n

{t('training.advancedModules')}

\n {advancedModules.map(getModule)}\n \n )}\n {!!adminModules.length && (\n <>\n

{t('training.adminModules')}

\n {adminModules.map(getModule)}\n \n )}\n {!!scenarioTrainings.length && (\n <>\n

{t('training.interraterReliabilityModules')}

\n {scenarioTrainings.map(module =>\n getModule(module, styles.purple)\n )}\n \n )}\n {!!parentModules.length && (\n <>\n

{t('training.parentModules')}

\n {parentModules.map(module => getModule(module, styles.green))}\n \n )}\n
\n {modules.map(module => {\n return (\n \n \n {module.component()}\n \n )\n })}\n {scenarioTrainings.map(module => {\n const isPassed = completedTrainingIds.includes(module.id)\n return (\n \n \n \n \n )\n })}\n
\n
\n {testModal.show && (\n \n )}\n {certifiedModal && (\n setCertifiedModal(false)}\n />\n )}\n \n )\n}\n","import { useQuery } from 'react-query'\nimport { fetchReportsFiltersDataQuery } from 'lib/api'\n\nexport const useReportsFiltersData = (queryParameter, enabled = true) => {\n const reportsFiltersData = useQuery({\n ...fetchReportsFiltersDataQuery(queryParameter),\n refetchInterval: 600000,\n enabled\n })\n return reportsFiltersData\n}\n","import React, { useState, useMemo } from 'react'\nimport { get } from 'lodash'\nimport { StyledSelect } from 'shared/components'\n\nimport styles from './report-select.module.css'\nimport { useReportsFiltersData } from '../../hooks/use-reports-filters-data'\n\nexport const ReportSelect = ({\n // for the school, classroom, checkpoint (because data not always has these fields)\n queryParameter,\n options,\n dispatch,\n field,\n dispatchType,\n path,\n title,\n // that's for fields that has unusual label (student, checkpoint)\n // It comes in the form of a function\n createCustomLabel,\n // If a filter has an is_default field, but we still want to set \"All...\" option\n // Currently used for checkpoints in the site report and objective report\n setNotDefault,\n onClick,\n isDisabled,\n ...rest\n}) => {\n const { data, isLoading } = useReportsFiltersData(queryParameter)\n const [selectedId, setSelectedId] = useState(null)\n const filterOptions = useMemo(() => {\n const processedData = (get(data, path, []) || []).map(item => ({\n value: item[`${field}_id`],\n label: createCustomLabel ? createCustomLabel(item) : item.name,\n is_default: item.is_default || item.current\n }))\n // for some filters (like the school_year) you should show options\n // without the \"All ...\" option\n // data for these filters should has is_default (current) field\n // we ignore that if \"setNotDefault\" is true\n const defaultOption =\n !setNotDefault && processedData.find(({ is_default }) => is_default)\n // \"All ...\" option\n const initialOption = {\n label: title,\n value: null\n }\n // This is used to select the correct filter\n // if a user did not make a selection through the selector\n // but through a link in a table, for example\n const selectedValue =\n options[field] &&\n processedData.find(({ value }) => value === options[field])\n setSelectedId(selectedValue || defaultOption || initialOption)\n return defaultOption ? processedData : [initialOption, ...processedData]\n }, [data, options[field], title])\n\n return (\n {\n setSelectedId(item)\n dispatch({\n type: dispatchType,\n [field]: item.value\n })\n onClick && onClick()\n }}\n isDisabled={isLoading || isDisabled}\n isLoading={isLoading}\n {...rest}\n />\n )\n}\n","import React, { useMemo } from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { transformAge } from 'lib/helpers'\nimport { PrimaryLink, TanStackTable } from 'shared/components'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\n\nexport const SchoolsTable = ({ data, options, dispatch, filteredBy }) => {\n const { t, i18n } = useTranslation()\n const columns = useMemo(\n () =>\n [\n {\n accessorKey: 'school.name',\n header: t('siteReport.table.schools'),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return (\n \n dispatch({\n type: 'setSchool',\n school: row.original.school.school_id\n })\n }\n >\n {value}\n \n )\n },\n sortingFn: 'alphanumeric',\n tooltip: t('siteReportTooltips.schoolLevel.schools'),\n filter: onClick => (\n \n ),\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n data.selection.objective_id && {\n accessorKey: 'classroom.name',\n header: t('siteReport.table.classrooms'),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return (\n \n dispatch({\n type: 'setClassroom',\n classroom: row.original.classroom.classroom_id\n })\n }\n >\n {value}\n \n )\n },\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n data.selection.objective_id && {\n accessorKey: 'developmental_age',\n header: t('siteReport.table.averageLevel'),\n cell: ({ getValue }) => transformAge(getValue(), t) || '-',\n tooltip: t('siteReportTooltips.studentLevel.averageLevel'),\n sortUndefined: 1\n },\n {\n accessorKey: 'total_results',\n header: t('siteReport.table.assessmentCompleted'),\n tooltip: t('siteReportTooltips.schoolLevel.assessmentCompleted'),\n enableColumnFilter: true\n },\n {\n accessorKey: 'last_assessed',\n header: t('siteReport.table.lastAssessed'),\n tooltip: t('siteReportTooltips.schoolLevel.lastAssessed'),\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? format(new Date(value), 'M/d/yyyy') : '-'\n },\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n }\n ].filter(Boolean),\n [data, i18n.language, options]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { PrimaryLink, TanStackTable } from 'shared/components'\nimport { transformAge } from 'lib/helpers'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\n\nexport const ClassroomsTable = ({ data, options, dispatch, filteredBy }) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'classroom.name',\n header: t('siteReport.table.classrooms'),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return (\n \n dispatch({\n type: 'setClassroom',\n classroom: row.original.classroom.classroom_id\n })\n }\n >\n {value}\n \n )\n },\n sortingFn: 'alphanumeric',\n tooltip: t('siteReportTooltips.classroomLevel.classrooms'),\n filter: onClick => (\n \n ),\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n accessorKey: 'developmental_age',\n header: t('siteReport.table.averageLevel'),\n cell: ({ getValue }) => transformAge(getValue(), t) || '-',\n tooltip: t('siteReportTooltips.classroomLevel.averageLevel'),\n sortUndefined: 1\n },\n {\n accessorKey: 'total_results',\n header: t('siteReport.table.assessmentCompleted'),\n tooltip: t('siteReportTooltips.classroomLevel.assessmentCompleted'),\n enableColumnFilter: true\n },\n {\n accessorKey: 'last_assessed',\n header: t('siteReport.table.lastAssessed'),\n tooltip: t('siteReportTooltips.classroomLevel.lastAssessed'),\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? format(new Date(value), 'M/d/yyyy') : '-'\n },\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n }\n ],\n [i18n.language, options]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { PrimaryLink, TanStackTable } from 'shared/components'\nimport { transformAge } from 'lib/helpers'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\n\nconst directionColor = {\n positive: '#04a714',\n negative: '#ee7c1d'\n}\n\nexport const StudentsTable = ({ data, dispatch, options, filteredBy }) => {\n const { t, i18n } = useTranslation()\n\n const preprocessedData = useMemo(\n () =>\n data.map(student =>\n !student.on_track?.performance ? { ...student, on_track: {} } : student\n ),\n [data]\n )\n const columns = useMemo(\n () => [\n {\n accessorKey: 'student.name.first_name',\n header: t('siteReport.table.students'),\n cell: ({ row }) => (\n \n dispatch({\n type: 'setStudent',\n student: row.original.student.student_id\n })\n }\n >\n {row.original.student.name.first_name}{' '}\n {row.original.student.name.last_name || ''}\n \n ),\n tooltip: t('siteReportTooltips.studentLevel.students'),\n filter: onClick => (\n \n `${item.name.first_name} ${item.name.last_name ?? ''}`\n }\n onClick={onClick}\n />\n ),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n accessorKey: 'developmental_age',\n header: t('siteReport.table.averageLevel'),\n cell: ({ getValue }) => transformAge(getValue(), t) || '-',\n tooltip: t('siteReportTooltips.studentLevel.averageLevel'),\n sortUndefined: 1\n },\n {\n id: 'on_track',\n accessorFn: row => row.on_track.performance ?? undefined,\n header: t('siteReport.table.onTrack'),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return (\n \n {value}\n \n )\n },\n tooltip: t('siteReportTooltips.studentLevel.onTrack'),\n sortingFn: (rowA, rowB, columnId) => {\n const a = rowA.getValue(columnId)\n const b = rowB.getValue(columnId)\n return parseInt(a) < parseInt(b) ? 1 : -1\n },\n sortUndefined: 1\n },\n {\n accessorKey: 'total_results',\n header: t('siteReport.table.assessmentCompleted'),\n tooltip: t('siteReportTooltips.studentLevel.assessmentCompleted'),\n enableColumnFilter: true\n },\n {\n accessorKey: 'last_assessed',\n header: t('siteReport.table.lastAssessed'),\n tooltip: t('siteReportTooltips.classroomLevel.lastAssessed'),\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? format(new Date(value), 'M/d/yyyy') : '-'\n },\n sortUndefined: 1,\n meta: {\n sortingLabel: 'dates'\n }\n },\n {\n accessorFn: row =>\n row.student.attributes?.length\n ? row.student.attributes.join(', ')\n : undefined,\n cell: ({ getValue }) => getValue() || '-',\n header: t('siteReport.table.notes'),\n tooltip: t('siteReportTooltips.classroomLevel.notes'),\n sortingFn: 'alphanumeric',\n sortUndefined: 1,\n meta: {\n sortingLabel: 'alphabetic'\n }\n }\n ],\n [i18n.language, options]\n )\n\n return (\n \n )\n}\n","import React, { useState, useContext } from 'react'\nimport cn from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes } from '@fortawesome/free-solid-svg-icons'\nimport { Button } from 'shared/components'\nimport { ObservationContext } from 'features/observations'\n\nimport styles from './modal.module.css'\n\nexport const Modal = ({ children, header, headerClassName, forceClose }) => {\n const { t } = useTranslation()\n const [exitContent, setExitContent] = useState(false)\n const { onExit } = useContext(ObservationContext)\n const enchantedChildren =\n typeof children.type === 'function'\n ? React.cloneElement(children, {\n onSafeExit: () => setExitContent(true)\n })\n : children\n\n return (\n <>\n \n
\n {header}\n
\n (forceClose ? onExit() : setExitContent(true))}\n data-cy=\"observation-close\"\n />\n
\n
\n
{enchantedChildren}
\n \n \n
\n {t('observation.modal.delete')}\n
\n
\n \n setExitContent(false)}\n data-cy=\"observation-continue\"\n >\n {t('observation.modal.no')}\n \n
\n \n \n )\n}\n","import React, { useState, useEffect } from 'react'\nimport classNames from 'classnames'\nimport { clone, uniqBy } from 'lodash'\nimport { Form } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport { SwiperSlide } from 'swiper/react'\nimport { useAuthContext } from 'features/auth'\nimport { Button, StyledSwiper } from 'shared/components'\nimport styles from './observation-question-based.module.css'\n\nexport const QuestionBasedForm = ({\n data,\n onSubmit,\n isLoading,\n onSafeExit,\n isMediaLoading,\n onUpload\n}) => {\n const { t } = useTranslation()\n const [phases, setPhases] = useState([])\n const { isKea } = useAuthContext()\n const [step, setStep] = useState(0)\n const [answers, setAnswers] = useState([])\n const [note, setNote] = useState('')\n const isFinish =\n answers.filter(v => v !== undefined).length === data.questions.length\n const currentQuestion = isFinish ? {} : data.questions[step]\n const addAnswer = (answer, index) => {\n const localAnswers = clone(answers)\n const localPhases = clone(phases)\n\n localAnswers[index] = answer\n if (answer === true) {\n if (index > 0) {\n for (let i = 0; i <= index; i++) {\n if (localAnswers[i] === undefined) {\n localAnswers[i] = true\n }\n const currentPhaseIndex = localPhases.findIndex(\n phase => phase.name === data.questions[i].developmental_age\n )\n localPhases[currentPhaseIndex] = {\n ...localPhases[currentPhaseIndex],\n passed: true\n }\n }\n }\n setStep(step + 1)\n } else {\n if (index <= data.questions.length - 1) {\n for (let i = index; i < data.questions.length; i++) {\n if (localAnswers[i] === undefined) {\n localAnswers[i] = false\n }\n const currentPhaseIndex = localPhases.findIndex(\n phase => phase.name === data.questions[i].developmental_age\n )\n localPhases[currentPhaseIndex] = {\n ...localPhases[currentPhaseIndex],\n passed: false\n }\n }\n }\n setStep(step - 1)\n }\n setAnswers(localAnswers)\n setPhases(localPhases)\n }\n const goBack = () => {\n const localAnswers = clone(answers)\n const localPhases = clone(phases)\n if (answers.some(answer => answer === true)) {\n for (\n let i = step - 1 === data.initial_question_index ? 0 : step - 1;\n i <= step;\n i++\n ) {\n if (localAnswers[i] === true) {\n localAnswers[i] = undefined\n }\n const currentPhaseIndex = localPhases.findIndex(\n phase => phase.name === data.questions[i].developmental_age\n )\n localPhases[currentPhaseIndex] = {\n ...localPhases[currentPhaseIndex],\n passed: undefined\n }\n }\n setStep(step - 1)\n } else {\n for (\n let i = step;\n i <\n (step + 1 === data.initial_question_index\n ? data.questions.length\n : step + 1);\n i++\n ) {\n if (localAnswers[i] === false) {\n localAnswers[i] = undefined\n }\n const currentPhaseIndex = localPhases.findIndex(\n phase => phase.name === data.questions[i].developmental_age\n )\n localPhases[currentPhaseIndex] = {\n ...localPhases[currentPhaseIndex],\n passed: undefined\n }\n }\n setStep(step + 1)\n }\n setAnswers(localAnswers)\n setPhases(localPhases)\n }\n\n useEffect(() => {\n setStep(data.initial_question_index)\n setPhases(\n uniqBy(data.questions, 'developmental_age').map(question => ({\n name: question.developmental_age\n }))\n )\n }, [])\n return (\n
\n {!isKea && !!phases.length && (\n phase.name === currentQuestion.developmental_age\n )}\n className={styles.swiper}\n >\n {phases.map((phase, index) => (\n \n {phase.name}\n \n ))}\n \n )}\n
\n {!isFinish ? (\n <>\n
\n {currentQuestion.question}\n
\n
\n addAnswer(false, step)}\n data-cy=\"observation-no\"\n >\n {t('observation.form.no')}\n \n addAnswer(true, step)}\n data-cy=\"observation-yes\"\n >\n {t('observation.form.yes')}\n \n {answers.some(answer => answer !== undefined) && (\n \n )}\n
\n {!!currentQuestion.examples.length && (\n
\n
\n {t('observation.form.possibleExamples')}\n
\n
\n {t('observation.form.note')}\n
\n
\n {currentQuestion.examples.map((example, index) => (\n
\n {example}\n
\n ))}\n
\n
\n )}\n \n ) : (\n {\n e.preventDefault()\n onSubmit(answers, note)\n }}\n >\n \n \n {t('observation.form.addNoteObserved')} {data.student}'s{' '}\n {data.objective} {t('observation.form.required')}\n \n setNote(e.target.value)}\n data-cy=\"observation-note\"\n data-testid=\"observation-note\"\n />\n \n {/*
*/}\n {/* {isMediaLoading && (*/}\n {/*
*/}\n {/* */}\n {/*
*/}\n {/* )}*/}\n {/* */}\n {/*
*/}\n
\n \n {t('observation.form.cancelDelete')}\n \n \n {t('observation.form.submit')}\n \n
\n \n )}\n
\n
\n )\n}\n","import React, { useState, useContext } from 'react'\nimport { useQuery, useMutation } from 'react-query'\nimport { format, addMinutes } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { Loader } from 'shared/components'\nimport { toast } from 'react-toastify'\nimport {\n getQuestionBasedObservationQuery,\n saveObservationMedia,\n setQuestionBasedObservationMutation\n} from 'lib/api'\nimport { ObservationContext } from 'features/observations'\n\nimport { QuestionBasedForm } from './question-based-form'\nimport { Modal } from '../modal'\nimport { questionBasedColor } from '../modal/modal.module.css'\n\nexport const QuestionBasedObservation = () => {\n const { student, objective, onExit, onSuccess } = useContext(\n ObservationContext\n )\n const { i18n } = useTranslation()\n const [startDate] = useState(new Date())\n const [isMediaLoading, setMediaLoading] = useState(false)\n const [attachments, setAttachments] = useState([])\n const setQuestionBasedObservation = useMutation(\n setQuestionBasedObservationMutation()\n )\n const { data, isLoading: loading } = useQuery(\n getQuestionBasedObservationQuery({\n student,\n objective,\n language: i18n.language\n })\n )\n\n const onSubmit = async (answers, note) => {\n const results = data.questions.map((question, index) => ({\n subobjective_id: question.subobjective_id,\n success: answers[index]\n }))\n const timezoneOffset = startDate.getTimezoneOffset()\n const params = {\n note,\n results,\n student_id: student,\n objective_id: objective,\n start_time: format(\n addMinutes(startDate, timezoneOffset),\n \"yyyy-MM-dd'T'HH:mm:ss\"\n ),\n end_time: format(\n addMinutes(new Date(), timezoneOffset),\n \"yyyy-MM-dd'T'HH:mm:ss\"\n ),\n media_attachments: attachments\n }\n setQuestionBasedObservation\n .mutateAsync(params)\n .then(resp => {\n if (resp.errorMessage) {\n toast.error(resp.errorMessage)\n } else {\n onExit()\n onSuccess()\n }\n onExit()\n onSuccess()\n })\n .catch(e => toast.error(e))\n }\n\n const onUpload = async files => {\n setMediaLoading(true)\n\n try {\n const responses = await Promise.all(files.map(saveObservationMedia))\n responses.forEach(response => {\n if (response.errorMessage) {\n toast.error(response.errorMessage)\n }\n })\n\n if (responses.every(response => !response.errorMessage)) {\n setAttachments(responses.map(({ attachment_id }) => attachment_id))\n } else {\n setAttachments([])\n }\n } catch (e) {\n toast.error(e.message)\n }\n\n setMediaLoading(false)\n }\n\n if (loading) return \n\n return (\n data && (\n \n {data.objective}\n
\n {data.student}\n \n }\n >\n \n \n )\n )\n}\n","import React, { useState, useEffect } from 'react'\nimport { get, cloneDeep } from 'lodash'\nimport { Form } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport {\n Button,\n StyledSelect as Select,\n Dropzone,\n Loader,\n Checkbox\n} from 'shared/components'\n\nimport styles from './portfolio-based-observation.module.css'\n\nexport const PortfolioBasedForm = ({\n students,\n files,\n objectives,\n onSafeExit,\n onSubmit,\n onUpload,\n setTitle,\n isLoading,\n isMediaLoading,\n currentObjectives: defaultObjectives,\n currentStudent: defaultStudent,\n currentStudents: defaultStudents\n}) => {\n const { t } = useTranslation()\n const [currentStep, setCurrentStep] = useState(-1)\n const [note, setNote] = useState('')\n const [emerging, setEmerging] = useState(null)\n const [selectedStudents, setSelectedStudents] = useState(\n defaultStudents?.length ? defaultStudents : [defaultStudent]\n )\n const [selectedObjectives, setSelectedObjectives] = useState(\n defaultObjectives\n )\n\n useEffect(() => {\n if (selectedStudents.length && selectedObjectives.length) {\n let studentString = selectedStudents[0].label\n let objectiveString = selectedObjectives[0].label\n\n if (selectedStudents.length > 1) {\n studentString += ` +${selectedStudents.length - 1} ${t(\n 'observation.form.more'\n )}`\n }\n if (selectedObjectives.length > 1) {\n objectiveString += ` +${selectedObjectives.length - 1} ${t(\n 'observation.form.more'\n )}`\n }\n\n setTitle([studentString, objectiveString])\n }\n }, [selectedStudents, selectedObjectives])\n\n const isFirstStep = currentStep === -1\n const isLastStep = currentStep === selectedObjectives.length - 1\n const currentObjective = selectedObjectives[currentStep]\n const currentLevels = get(currentObjective, 'levels', []).map(level => ({\n label: level.displayed_level,\n value: level.level,\n display_emerging: level.display_emerging\n }))\n\n const studentListForModifying = cloneDeep(selectedStudents)\n\n const isInitialFormValid =\n currentStep === -1\n ? [note, selectedStudents, selectedObjectives].every(el => el.length > 0)\n : true\n const isStepValid =\n currentStep !== -1\n ? selectedStudents.every(\n student => !!student.result?.[currentObjective.value]\n )\n : true\n\n const subobjectiveLevels = get(\n currentObjective,\n 'subobjective_content',\n []\n ).reduce((result, item) => {\n const level = item.displayed_level\n if (result.has(level)) {\n result.set(level, [...result.get(level), item.subobjective])\n } else {\n result.set(level, [item.subobjective])\n }\n\n return result\n }, new Map())\n\n return (\n {\n e.preventDefault()\n if (!isLastStep) {\n setCurrentStep(currentStep + 1)\n } else {\n const observations = []\n\n selectedStudents.forEach(student => {\n Object.keys(student.result).forEach(key => {\n observations.push({\n student_id: student.value,\n objective_id: key,\n level: student.result[key].value\n })\n })\n })\n\n onSubmit(observations, note, emerging)\n }\n }}\n >\n {currentStep === -1 ? (\n <>\n
\n \n {t('observation.form.addNote')}\n setNote(e.target.value)}\n value={note}\n data-cy=\"observation-note\"\n data-testid=\"observation-note\"\n />\n \n
\n \n \n {t('observation.form.student')}\n {selectedStudents.length > 1 ? 's' : ''}:\n \n setSelectedStudents(options || [])}\n value={selectedStudents}\n className={styles.select}\n />\n \n \n \n {t('observation.form.objective')}\n {selectedObjectives.length > 1 ? 's' : ''}:\n \n setSelectedObjectives(options || [])}\n value={selectedObjectives}\n className={styles.select}\n />\n \n
\n
\n
\n {isMediaLoading && (\n
\n \n
\n )}\n \n
\n \n ) : (\n
\n
\n {t('observation.form.selectLevel', {\n label: currentObjective.label,\n s: selectedStudents.length > 1 ? 's' : ''\n })}\n
\n\n {selectedStudents.map(student => {\n const currentValue = student.result?.[currentObjective.value]\n return (\n
\n
\n {student.label}:\n
\n {\n const foundStudentIndex = studentListForModifying.findIndex(\n s => s.value === student.value\n )\n const newStudent = {\n ...studentListForModifying[foundStudentIndex],\n result: {\n ...studentListForModifying[foundStudentIndex].result,\n [currentObjective.value]: option\n }\n }\n studentListForModifying.splice(\n foundStudentIndex,\n 1,\n newStudent\n )\n setSelectedStudents(studentListForModifying)\n }}\n />\n {currentValue?.display_emerging && (\n \n setEmerging(e.target.checked)}\n label={t('observation.form.emerging')}\n />\n \n )}\n
\n )\n })}\n
\n )}\n\n
\n \n isFirstStep ? onSafeExit() : setCurrentStep(currentStep - 1)\n }\n >\n {isFirstStep\n ? t('observation.form.cancel')\n : t('observation.form.back')}\n \n \n {isLastStep\n ? t('observation.form.submit')\n : t('observation.form.next')}\n \n
\n\n {!isFirstStep && (\n
\n
\n {t('observation.form.developmentalIndicators')}\n
\n {Array.from(subobjectiveLevels).map(([level, subobjectives]) => (\n
\n

{level}

\n
    \n {subobjectives.map(subobj => (\n
  • {subobj}
  • \n ))}\n
\n
\n ))}\n
\n )}\n \n )\n}\n","import React, { useContext, useMemo, useState } from 'react'\nimport { useQuery, useMutation } from 'react-query'\nimport {\n getPortfolioBasedObservationQuery,\n setPortfolioBasedObservationMutation,\n saveObservationMedia\n} from 'lib/api'\nimport { addMinutes, format } from 'date-fns'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { Loader } from 'shared/components'\nimport { ObservationContext } from 'features/observations'\n\nimport { PortfolioBasedForm } from './portfolio-based-form'\nimport { Modal } from '../modal'\nimport { portfolioColor } from '../modal/modal.module.css'\n\nexport const PortfolioBasedObservation = () => {\n const { i18n } = useTranslation()\n const [isMediaLoading, setMediaLoading] = useState(false)\n const [modalTitle, setModalTitle] = useState(null)\n const [files, setFiles] = useState([])\n const [attachments, setAttachments] = useState([])\n const [startDate] = useState(new Date())\n const {\n students,\n student,\n severalStudents,\n objectives,\n objective,\n age_category,\n classroom,\n onExit,\n onSuccess\n } = useContext(ObservationContext)\n const { data, isLoading: isDefaultLoading } = useQuery(\n getPortfolioBasedObservationQuery({\n agecategory: age_category,\n language: i18n.language,\n objective: objective\n })\n )\n const setPortfolioBasedObservation = useMutation(\n setPortfolioBasedObservationMutation()\n )\n\n const onSubmit = async (observations, note, emerging) => {\n const timezoneOffset = startDate.getTimezoneOffset()\n const params = {\n note,\n observations,\n start_time: format(\n addMinutes(startDate, timezoneOffset),\n \"yyyy-MM-dd'T'HH:mm:ss\"\n ),\n end_time: format(\n addMinutes(new Date(), timezoneOffset),\n \"yyyy-MM-dd'T'HH:mm:ss\"\n ),\n media_attachments: attachments,\n emerging: emerging || undefined\n }\n setPortfolioBasedObservation\n .mutateAsync(params)\n .then(resp => {\n if (resp.errorMessage) {\n toast.error(resp.errorMessage)\n } else {\n onExit()\n onSuccess()\n }\n })\n .catch(e => toast.error(e))\n }\n\n const onUpload = async (files, rawFiles, setNewFiles) => {\n setMediaLoading(true)\n setFiles(rawFiles)\n\n try {\n const responses = await Promise.all(files.map(saveObservationMedia))\n responses.forEach(response => {\n if (response.errorMessage) {\n toast.error(response.errorMessage)\n setFiles([])\n setNewFiles([])\n }\n })\n\n if (responses.every(response => !response.errorMessage)) {\n setAttachments(responses.map(({ attachment_id }) => attachment_id))\n } else {\n setAttachments([])\n }\n } catch (e) {\n toast.error(e.message)\n }\n\n setMediaLoading(false)\n }\n\n const studentOptions = useMemo(\n () =>\n students?.map(student => ({\n label: `${student.name.first_name} ${student.name.last_name ?? ''}`,\n value: student.student_id\n })),\n [classroom]\n )\n const objectiveOptions = useMemo(\n () =>\n data\n ? data.observable_objectives.map(objective => ({\n label: objective.objective,\n value: objective.objective_id,\n ...objective\n }))\n : [],\n [data]\n )\n\n const currentStudent =\n studentOptions?.find(option => option.value === student) ||\n studentOptions?.[0]\n const currentStudents =\n severalStudents &&\n studentOptions?.filter(option => severalStudents?.includes(option.value))\n const currentObjectives = objectiveOptions.filter(\n ({ value }) => objectives?.includes(value) || value === objective\n )\n\n if (isDefaultLoading) return \n\n return (\n \n {modalTitle\n ? modalTitle.map(item => (\n
\n {item}\n
\n
\n ))\n : currentStudent?.label}\n \n }\n >\n \n \n )\n}\n","import React, { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from 'shared/components'\n\nimport styles from './observation-selector.module.css'\n\nimport { Modal } from '../modal'\nimport { QuestionBasedObservation } from '../question-based'\nimport { PortfolioBasedObservation } from '../portfolio-based'\nimport { portfolioColor, questionBasedColor } from '../modal/modal.module.css'\n\nconst observations = {\n QuestionBasedObservationContainer: QuestionBasedObservation,\n PortfolioBasedObservationContainer: PortfolioBasedObservation\n}\n\nexport const ObservationSelector = ({\n selectorText,\n defaultObservation = null\n}) => {\n const { t } = useTranslation()\n const [currentObservation, setCurrentObservation] = useState(\n defaultObservation\n )\n\n if (!currentObservation) {\n return (\n \n {selectorText\n ? Array.isArray(selectorText)\n ? selectorText.join('\\n')\n : selectorText\n : ''}\n
\n \n setCurrentObservation('PortfolioBasedObservationContainer')\n }\n >\n {t('observation.portfolio')}\n \n \n setCurrentObservation('QuestionBasedObservationContainer')\n }\n >\n {t('observation.question')}\n \n
\n
\n )\n }\n\n const ObservationComponent = observations[currentObservation]\n return || null\n}\n","import React, { createContext, useState } from 'react'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPlusCircle, faEye } from '@fortawesome/free-solid-svg-icons'\nimport { Button, Checkmark, Modal } from 'shared/components'\n\nimport { ObservationSelector } from './features/selector/observation-selector'\nimport styles from './observation-cell.module.css'\nimport { useReportsFiltersData } from '../reports/hooks/use-reports-filters-data'\n\nexport const ObservationContext = createContext(null)\nexport const ObservationCell = ({\n centered = true,\n isSiteReport,\n has_observed,\n selectorText,\n age_category,\n objectives,\n objective,\n classroom,\n student,\n students,\n fetch,\n text,\n defaultObservation\n}) => {\n const { t } = useTranslation()\n const [opened, setOpened] = useState(false)\n const { data, isLoading } = useReportsFiltersData(classroom && { classroom })\n\n return (\n
\n {has_observed && (\n setOpened(true)}\n data-cy=\"observation-again\"\n >\n \n {isSiteReport ? (\n \n ) : (\n \n )}\n
{t('observation.observeAgain')}
\n
\n \n )}\n {!has_observed && (\n setOpened(true)}\n data-cy=\"observation-start\"\n >\n \n \n
{text || t('observation.startNewObservation')}
\n \n \n )}\n setOpened(false)}\n size=\"lg\"\n backdrop=\"static\"\n isLoading={isLoading}\n >\n {data && (\n setOpened(false),\n onSuccess: fetch\n }}\n >\n \n \n )}\n \n \n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { get } from 'lodash'\nimport { StyledSelect } from 'shared/components'\n\nimport styles from './report-select.module.css'\nimport { useReportsFiltersData } from '../../hooks/use-reports-filters-data'\n\nexport const StandardSelect = ({\n standardIndex,\n options,\n dispatch,\n title,\n onClick,\n ...rest\n}) => {\n const { data, isLoading } = useReportsFiltersData({\n standard_index: standardIndex\n })\n const [selectedId, setSelectedId] = useState(null)\n const filterOptions = useMemo(() => {\n const processedData = (get(data, 'content.standards', []) || []).map(\n item => ({\n value: item.standard_id,\n label: item.name,\n is_default: item.is_default || item.current\n })\n )\n const defaultOption = processedData.find(({ is_default }) => is_default)\n const selectedValue =\n options[`standard${standardIndex}`] &&\n processedData.find(\n ({ value }) => value === options[`standard${standardIndex}`]\n )\n setSelectedId(selectedValue || defaultOption)\n return processedData\n }, [data, options[`standard${standardIndex}`], title])\n\n return (\n {\n setSelectedId(item)\n dispatch({\n type: 'setStandard',\n standards: { [`standard${standardIndex}`]: item.value }\n })\n onClick && onClick()\n }}\n isDisabled={isLoading}\n isLoading={isLoading}\n {...rest}\n />\n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { Form } from 'react-bootstrap'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { get } from 'lodash'\nimport Skeleton from 'react-loading-skeleton'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAngleUp, faAngleDown } from '@fortawesome/free-solid-svg-icons'\nimport { PrimaryLink, RadioButton } from 'shared/components'\n\nimport styles from './report-dropdown.module.css'\nimport { useReportsFiltersData } from '../../hooks/use-reports-filters-data'\n\nexport const ReportDropdown = ({\n className,\n style,\n options,\n dispatch,\n field,\n dispatchType,\n path,\n childrenPatch,\n childrenField,\n childrenDispatchType,\n onClick\n}) => {\n const { t } = useTranslation()\n const [selectedItem, setSelectedItem] = useState(options[field])\n const { data, isLoading } = useReportsFiltersData({\n scheduled: options.scheduled\n })\n\n const processedData = useMemo(() => get(data, path, []), [data])\n\n return (\n
\n {\n setSelectedItem(null)\n dispatch({ type: dispatchType, [field]: null })\n onClick && onClick()\n }}\n >\n {\n setSelectedItem(null)\n dispatch({ type: dispatchType, [field]: null })\n onClick && onClick()\n }}\n label={t('basicComponents.filters.all')}\n />\n \n {isLoading && (\n
\n \n \n \n
\n )}\n {processedData.map(item => (\n {\n setSelectedItem(item)\n dispatch({ type: dispatchType, [field]: item })\n onClick && onClick()\n }}\n childrenField={childrenField}\n childrenDispatchType={childrenDispatchType}\n dispatch={dispatch}\n options={options}\n />\n ))}\n
\n )\n}\n\nconst DropdownItem = ({\n item,\n field,\n childrenPatch,\n selectedItem,\n setSelectedItem,\n childrenField,\n childrenDispatchType,\n options,\n dispatch\n}) => {\n const [dropdown, setDropdown] = useState(null)\n const { data: dropdownData, isLoading } = useReportsFiltersData(\n { scheduled: options.scheduled || false, ...(dropdown && dropdown) },\n !!dropdown\n )\n const dropdownProcessedData = useMemo(\n () => get(dropdownData, childrenPatch, null),\n [dropdownData]\n )\n return (\n
\n \n \n setSelectedItem(item[`${field}_id`])}\n label={item.name}\n />\n \n \n dropdown\n ? setDropdown(null)\n : setDropdown({ [field]: item[`${field}_id`] })\n }\n />\n
\n {dropdown && isLoading && (\n
\n \n \n \n
\n )}\n {dropdown &&\n dropdownProcessedData &&\n dropdownProcessedData.map(dropdownItem => (\n \n \n dispatch({\n type: childrenDispatchType,\n [childrenField]: dropdownItem[`${childrenField}_id`]\n })\n }\n >\n {dropdownItem.name}\n \n \n ))}\n \n )\n}\n","import React from 'react'\nimport { Modal } from 'shared/components'\n\nimport styles from './measure-modal.module.css'\n\nexport const MeasureModal = ({ data, onHide }) => (\n \n \n \n {data.name}: {data.measure_name}\n \n \n {data.description}\n \n)\n","import React, { useState, useMemo } from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { PrimaryLink, Checkmark, TanStackTable } from 'shared/components'\nimport { ObservationCell } from 'features/observations'\nimport { tableIcons } from 'lib/helpers'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\nimport { StandardSelect } from 'features/reports/components/report-select/standard-select'\nimport { ReportDropdown } from 'features/reports/components/report-dropdown/report-dropdown'\n\nimport styles from './report-pages.module.css'\nimport { MeasureModal } from '../../components/measure-modal/measure-modal'\n\nconst colors = {\n below: '#F8BA00',\n meeting: '#000',\n null: '#000',\n exceeding: '#B3C95E'\n}\n\nexport const ObjectivesTable = ({\n age,\n data,\n filterData,\n observationsData,\n options,\n dispatch,\n refetch,\n filteredBy\n}) => {\n const [measureModal, setMeasureModal] = useState(false)\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'objective.name',\n header: t('siteReport.table.objectives'),\n tooltip: t('siteReportTooltips.objectiveLevel.objectives'),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return (\n \n dispatch({\n type: 'setObjective',\n objective: row.original.objective.objective_id\n })\n }\n >\n {value}\n \n )\n },\n sortingFn: 'alphanumeric',\n filter: onClick => (\n \n ),\n dropdown: onClick => (\n \n ),\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n ...filterData.content.standard_indices?.map(standardIndex => ({\n id: `standard-${standardIndex}`,\n accessorFn: row =>\n row.objective.measures\n ?.find(({ standard_index }) => standard_index === standardIndex)\n ?.measure_list?.map(measure => measure.measure_name)\n .join(', '),\n header:\n data.selection.standard_names[standardIndex] ||\n t('siteReport.table.standard'),\n cell: ({ row }) => {\n const filteredStandards = row.original.objective.measures?.find(\n ({ standard_index }) => standard_index === standardIndex\n )?.measure_list\n return filteredStandards\n ? filteredStandards.map((measure, i) => (\n \n setMeasureModal({\n ...measure,\n name: data.selection.standard_names[standardIndex]\n })\n }\n >\n {measure.measure_name}\n {i !== filteredStandards.length - 1 && ', '}\n \n ))\n : '-'\n },\n filter: onClick => (\n \n ),\n tooltip: t('siteReportTooltips.objectiveLevel.standard'),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortUndefined: 1\n })),\n {\n accessorKey: 'scheduled',\n header: t('siteReport.table.weekScheduled'),\n tooltip: t('siteReportTooltips.objectiveLevel.weekScheduled'),\n cell: ({ getValue }) => {\n const value = getValue()\n return (\n
\n {value\n ? value.map(v => format(new Date(v), 'M/d/yy')).join(',\\n')\n : '-'}\n
\n )\n },\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n },\n {\n accessorKey: 'objective.type',\n header: t('siteReport.table.type'),\n tooltip: t('siteReportTooltips.objectiveLevel.type'),\n enableColumnFilter: true,\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n accessorKey: 'trajectory.direction',\n header: t('siteReport.table.growth'),\n tooltip: t('siteReportTooltips.objectiveLevel.growth'),\n cell: ({ getValue }) => {\n const value = getValue()\n let directionValue = 'N/A'\n let color = '#78797a'\n\n if (value !== null) {\n if (value > 0) {\n directionValue = tableIcons.arrowUp\n color = '#bdcd61'\n } else if (value === 0) {\n directionValue = tableIcons.circle\n } else {\n directionValue = tableIcons.arrowDown\n color = '#fbaf38'\n }\n\n if (Math.abs(value) > 1) {\n directionValue += directionValue\n }\n }\n return
{directionValue}
\n },\n sortUndefined: 1\n },\n {\n accessorKey: 'total_results',\n header: t('siteReport.table.completed'),\n tooltip: t('siteReportTooltips.objectiveLevel.completed'),\n enableColumnFilter: true\n },\n {\n id: 'level',\n accessorFn: row => (row.displayed_level ? row.level || 0 : undefined),\n header: t('siteReport.table.level'),\n tooltip: t('siteReportTooltips.objectiveLevel.level'),\n cell: ({ row }) => (\n \n {row.original.displayed_level || '-'}\n \n ),\n\n sortUndefined: 1\n },\n {\n accessorKey: 'last_assessed',\n header: t('siteReport.table.lastAssessed'),\n tooltip: t('siteReportTooltips.objectiveLevel.lastAssessed'),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return (\n
\n {row.original.assessed && (\n \n )}\n \n {value ? format(new Date(value), 'M/d/yyyy') : '-'}\n
\n \n )\n },\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n },\n {\n is: 'observation',\n accessorFn: row => {\n if (\n row.observation.can_observe &&\n row.observation.observable &&\n row.observation.has_observed\n ) {\n return 1\n }\n if (row.observation.can_observe && row.observation.observable) {\n return 2\n }\n if (!row.observation.observable) return 3\n return 4\n },\n header: t('siteReport.table.observations'),\n tooltip: t('siteReportTooltips.objectiveLevel.observations'),\n cell: ({ row }) => {\n if (\n row.original.observation.can_observe &&\n row.original.observation.observable\n ) {\n return (\n \n )\n }\n if (!row.original.observation.observable) {\n return (\n \n {t('siteReport.table.gamesAvailable')}\n \n )\n }\n return (\n \n {t('siteReport.table.noObservation')}\n \n )\n }\n }\n ],\n [i18n.language, options, data, filterData]\n )\n return (\n <>\n \n setMeasureModal(false)} />\n \n )\n}\n","import React, { useState } from 'react'\nimport { Form } from 'react-bootstrap'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { faTimes } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { Button } from 'shared/components'\nimport { updateStudentNote } from 'lib/api'\n\nimport styles from './items.module.css'\n\nexport const Notes = ({ notes, result, isEditingEnabled }) => {\n const { t } = useTranslation()\n const [resultId, setResultId] = useState(result)\n\n if (!notes.length && !isEditingEnabled) {\n return null\n }\n\n return (\n
\n
\n {t('siteReport.items.observationalNote')}\n
\n {notes.length ? (\n notes.map(item => (\n \n ))\n ) : (\n \n )}\n
\n )\n}\n\nconst Note = ({ note, result, isEditingEnabled, setResultId }) => {\n const { t } = useTranslation()\n const [isEdit, setIsEdit] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n const [text, setText] = useState(note.value)\n\n const updateNote = async (result_set_id, note) => {\n try {\n setIsLoading(true)\n const resp = await updateStudentNote({\n result_set_id,\n note\n })\n if (resp.errorMessage) {\n throw new Error(resp.errorMessage)\n } else if (resp.new_result_set_id) {\n setResultId(resp.new_result_set_id)\n }\n } catch (e) {\n toast.error(t('siteReport.items.unable'))\n } finally {\n setIsEdit(false)\n setIsLoading(false)\n }\n }\n\n return (\n
\n \n {isEdit && (\n setText('')}\n />\n )}\n setText(e.target.value)}\n />\n \n {result && isEditingEnabled && (\n {\n if (isEdit) {\n updateNote(result, text)\n } else {\n setIsEdit(true)\n }\n }}\n >\n {isEdit\n ? t('siteReport.items.saveChanges')\n : t('siteReport.items.editNote')}\n \n )}\n
\n )\n}\n","import React from 'react'\nimport { ImagePreview } from 'shared/components'\n\nimport styles from './items.module.css'\n\nexport const Photos = ({ photos }) =>\n !!photos.length && (\n
\n {photos.map(item => {\n const itemContent =\n `data:${item.value.mimetype};base64,` +\n arrayBufferToBase64(item.value.contents)\n return (\n
\n \n
\n )\n })}\n
\n )\n\nconst arrayBufferToBase64 = buffer => {\n let binary = ''\n const bytes = new Uint8Array(buffer)\n const len = bytes.byteLength\n for (let i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i])\n }\n return window.btoa(binary)\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Achievement } from 'shared/components'\n\nimport styles from './items.module.css'\n\nexport const Achievements = ({ items, title }) => {\n const { t } = useTranslation()\n if (!items.length) return null\n\n return (\n
\n {title &&
{title}
}\n
\n \n \n
\n
\n )\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\n\nimport styles from './items.module.css'\n\nexport const AssessmentInfo = ({ assessmentInfo, performedOn, languages }) => {\n const { t } = useTranslation()\n return (\n !!assessmentInfo.length &&\n assessmentInfo.map(item => (\n \n \n {t('siteReport.items.assessed')} {item.value[0]}\n {performedOn ? `, ${performedOn.tag}` : ''}\n \n {languages.length ? (\n \n {t('siteReport.items.languages')} {languages.join(', ')}\n \n ) : (\n ''\n )}\n \n ))\n )\n}\n","export const CUSTOM_CHECKPOINT_VALUE = 'CUSTOM_CHECKPOINT_VALUE'\n\nexport const domainColors = {\n approachesToLearning: '#F99B81',\n cognition: '#F9B063',\n englishLanguageDevelopment: '#d0a6de',\n languageLiteracyDevelopment: '#86A3E9',\n languageAndLiteracy: '#86A3E9',\n perceptualMotorPhysicalDevelopment: '#AD86C0',\n perceptualPhysicalMotor: '#AD86C0',\n socialEmotionalDevelopment: '#A2D7CE',\n socialEmotional: '#A2D7CE',\n socialStudies: '#d0a6de'\n}\n\nexport const domainColorsTranslucent = {\n approachesToLearning: '#fccdc0',\n cognition: '#fcd8b1',\n englishLanguageDevelopment: '#e8d3ef',\n languageLiteracyDevelopment: '#c3d1f4',\n languageAndLiteracy: '#c3d1f4',\n perceptualMotorPhysicalDevelopment: '#d6c3e0',\n perceptualPhysicalMotor: '#d6c3e0',\n socialEmotionalDevelopment: '#d1ebe7',\n socialEmotional: '#d1ebe7',\n socialStudies: '#e8d3ef'\n}\n\nexport const subObjectiveTypes = {\n photo: 'photo',\n video: 'video',\n note: 'note',\n achievement: 'achievement',\n list: 'list',\n metadata: 'metadata',\n aggregate: 'aggregate'\n}\n\nexport const subObjectiveCategories = {\n assessmentInfo: 'Assessment Info',\n scenarioResponses: 'Scenario Responses',\n letterSounds: 'Letter Sounds',\n teacherLed: 'Teacher-Led',\n emotions: 'Emotions',\n behaviors: 'Behaviors'\n}\n\nexport const subObjectiveTags = {\n administratingUsers: 'Administrating Users',\n performedOnWebportal: 'Performed on Webportal',\n languages: 'Languages',\n teacherLed: 'Teacher-Led'\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Achievement } from 'shared/components'\nimport styles from './items.module.css'\nimport { subObjectiveCategories } from '../../helpers'\n\nexport const Aggregations = ({ items }) => {\n const { t } = useTranslation()\n if (!items.length) return null\n const emotions = items.filter(\n ({ category }) => category === subObjectiveCategories.emotions\n )\n const behaviors = items.filter(\n ({ category }) => category === subObjectiveCategories.behaviors\n )\n\n return (\n
\n
\n {!!emotions.length && (\n
\n \n
\n
\n \n {t('siteReport.items.emotion')}\n {' '}\n \n {t('siteReport.items.accuracy')}\n \n
\n {emotions.map(emotion => (\n
\n {emotion.tag} {emotion.value}\n
\n ))}\n
\n
\n
\n )}\n {!!behaviors.length && (\n
\n \n
\n
\n \n {t('siteReport.items.behavior')}\n \n \n {t('siteReport.items.reactions')}\n \n
\n {behaviors.map(emotion => (\n
\n {emotion.tag} {emotion.value}\n
\n ))}\n
\n
\n
\n )}\n
\n {!!behaviors.length && (\n
\n {t('siteReport.items.understanding')}{' '}\n {t('siteReport.items.understandingText')}\n
\n )}\n
\n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Achievement } from 'shared/components'\n\nimport styles from './items.module.css'\n\nexport const Proposals = ({ items }) => {\n const { t } = useTranslation()\n if (!items.length) return null\n\n return (\n
\n
\n {items.map(item => (\n \n
\n
\n \n {t('siteReport.items.emotion')}:\n {' '}\n {item.value.emotion}\n
\n
\n \n {t('siteReport.items.behavior')}:\n {' '}\n {item.value.behavior}\n
\n
\n
\n ))}\n
\n
\n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Achievement } from 'shared/components'\n\nimport styles from './items.module.css'\n\nexport const Vocabulary = ({ items }) => {\n const { t } = useTranslation()\n if (!items.length) return null\n\n const categories = new Set()\n items.map(item => categories.add(item.category))\n const known = items.filter(item => item.value)\n const unknown = items.filter(item => !item.value)\n\n return (\n
\n {categories.size > 1 ? (\n Array.from(categories).map(category => (\n
\n
{category}
\n
\n \n
\n {unknown\n .filter(item => item.category === category)\n .map(item => (\n
{item.tag}
\n ))}\n
\n
\n \n
\n {known\n .filter(item => item.category === category)\n .map(item => (\n
{item.tag}
\n ))}\n
\n
\n
\n
\n ))\n ) : (\n
\n \n
\n {unknown.map(item => (\n
{item.tag}
\n ))}\n
\n
\n \n
\n {known.map(item => (\n
{item.tag}
\n ))}\n
\n
\n
\n )}\n
\n )\n}\n","import React from 'react'\nimport { Player } from 'video-react'\n\nexport const Videos = ({ items }) => (\n \n {items.map(item => (\n
\n \n
\n ))}\n \n)\n","import React from 'react'\nimport { sortBy } from 'lodash'\nimport { useTranslation } from 'react-i18next'\n\nimport styles from './items.module.css'\nimport {\n subObjectiveTypes,\n subObjectiveCategories,\n subObjectiveTags\n} from '../../helpers'\nimport {\n Notes,\n Photos,\n Achievements,\n AssessmentInfo,\n Aggregations,\n Proposals,\n Vocabulary,\n Videos\n} from './index'\n\nexport const SubobjectiveItems = ({\n items,\n detailed,\n includeNotes,\n includePhotos,\n result,\n isEditingEnabled\n}) => {\n const { t } = useTranslation()\n if (!items) return null\n\n const photos = items.filter(\n item => item.item_type === subObjectiveTypes.photo\n )\n const videos = items.filter(\n item => item.item_type === subObjectiveTypes.video\n )\n const notes = items.filter(item => item.item_type === subObjectiveTypes.note)\n\n const achievementLettersOrVocabulary = sortBy(\n items.filter(\n item =>\n item.item_type === subObjectiveTypes.achievement &&\n Number.isNaN(parseInt(item.tag)) &&\n item.category !== subObjectiveCategories.assessmentInfo\n ),\n ['tag']\n )\n\n const useLetters = achievementLettersOrVocabulary.every(\n a => a.tag.length === 1\n )\n\n const achievementLetters = useLetters ? achievementLettersOrVocabulary : []\n const vocabulary = useLetters ? [] : achievementLettersOrVocabulary\n\n const achievementNumbers = sortBy(\n items.filter(\n item =>\n item.item_type === subObjectiveTypes.achievement &&\n !Number.isNaN(parseInt(item.tag))\n ),\n ['tag']\n )\n const assessmentInfo = items.filter(\n item =>\n item.item_type === subObjectiveTypes.list &&\n item.category === subObjectiveCategories.assessmentInfo &&\n item.tag === subObjectiveTags.administratingUsers\n )\n const performedOn = items.find(\n item =>\n item.item_type === subObjectiveTypes.achievement &&\n item.category === subObjectiveCategories.assessmentInfo &&\n item.tag === subObjectiveTags.performedOnWebportal\n )\n const aggregations = items.filter(\n item => item.item_type === subObjectiveTypes.aggregate\n )\n const proposals = items.filter(\n item =>\n item.item_type === subObjectiveTypes.metadata &&\n item.category === subObjectiveCategories.scenarioResponses\n )\n\n const achievementLetterSounds = achievementLetters.filter(\n i => i.category === subObjectiveCategories.letterSounds\n )\n const achievementLetterNames = achievementLetters.filter(\n i => i.category === subObjectiveCategories.teacherLed\n )\n const languages = items\n .filter(\n item =>\n item.item_type === subObjectiveTypes.list &&\n item.tag === subObjectiveTags.languages\n )\n .reduce((acc, item) => [...acc, ...(item.value || [])], [])\n\n if (!items.length) {\n return null\n }\n if (detailed) {\n return (\n
\n {includeNotes && }\n {includePhotos && }\n {achievementLetterSounds.length && achievementLetterNames.length ? (\n <>\n \n \n \n ) : (\n \n )}\n\n \n \n \n \n
\n )\n }\n return (\n
\n \n \n \n {achievementLetterSounds.length && achievementLetterNames.length ? (\n <>\n \n \n \n ) : (\n \n )}\n\n \n \n \n \n \n
\n )\n}\n","import { useTranslation } from 'react-i18next'\nimport { useQuery } from 'react-query'\nimport { getStudentSubobjectiveItemsQuery } from 'lib/api'\nimport { toast } from 'react-toastify'\n\nconst initialData = {\n items: null,\n results_editing_enabled: false\n}\n\nexport const useResultItem = result => {\n const { t } = useTranslation()\n const { data, isLoading } = useQuery({\n ...getStudentSubobjectiveItemsQuery({ result }),\n enabled: !!result,\n initialData,\n onError: () => toast.error(t('siteReport.unable'))\n })\n\n return { ...data, isLoading }\n}\n","import React, { useMemo, useState, useEffect } from 'react'\nimport { get } from 'lodash'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport {\n Checkmark,\n Loader,\n StyledSelect,\n TanStackTable\n} from 'shared/components'\n\nimport styles from './report-pages.module.css'\nimport { SubobjectiveItems } from '../components/subobjective-items'\nimport { useResultItem } from '../hooks/use-result-item'\n\nexport const SubobjectivesTable = ({ data, filteredBy, dispatch }) => {\n const { t, i18n } = useTranslation()\n const [selectedResult, setSelectedResult] = useState(null)\n const resultFilters = useMemo(\n () =>\n data.map(result => ({\n value: result.result_id,\n label: `${format(new Date(result.assessment_date), 'M/d/yy')} (${\n result.displayed_level\n })`\n })),\n [data]\n )\n const columns = useMemo(\n () => [\n {\n accessorKey: 'success',\n cell: ({ getValue }) => (\n \n )\n },\n {\n accessorKey: 'subobjective',\n header: t('siteReport.subobjective'),\n tooltip: t('siteReportTooltips.subobjectiveLevel.subobjective'),\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n accessorKey: 'level',\n header: t('siteReport.table.level'),\n tooltip: t('siteReportTooltips.subobjectiveLevel.level'),\n cell: ({ row }) => row.original.level_display\n }\n ],\n [i18n.language]\n )\n\n useEffect(() => {\n if (!selectedResult && resultFilters?.length) {\n setSelectedResult(resultFilters[0])\n }\n }, [resultFilters])\n\n const { items, results_editing_enabled, isLoading } = useResultItem(\n selectedResult?.value\n )\n\n return (\n <>\n {isLoading && }\n\n item.result_id === selectedResult?.value),\n 'subobjective_results',\n []\n )}\n headerChildren={\n setSelectedResult(result)}\n />\n }\n />\n\n {items && (\n \n )}\n \n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { get } from 'lodash'\nimport { StyledSelect } from 'shared/components'\n\nimport styles from './report-select.module.css'\nimport { useReportsFiltersData } from '../../hooks/use-reports-filters-data'\n\n// use in the student report because it has different logic\n// the logic is as follows:\n// By default, data for the current checkpoint is returned\n// to get data for all checkpoints, we must send the school year\nexport const CheckpointSelect = ({\n options,\n dispatch,\n title,\n createCustomLabel,\n ...rest\n}) => {\n const { data, isLoading } = useReportsFiltersData({\n scheduled: options.scheduled || false,\n student: options.student,\n school_year: options.school_year\n })\n const [selectedId, setSelectedId] = useState(null)\n const filterOptions = useMemo(() => {\n const processedData = (\n get(data, 'next_calendar.checkpoints', []) || []\n ).map(item => ({\n value: item.checkpoint_id,\n school_year: item.school_year_id,\n label: createCustomLabel ? createCustomLabel(item) : item.name,\n is_default: item.is_default || item.current\n }))\n const defaultOption = processedData.find(({ is_default }) => is_default)\n const initialOption = {\n label: title,\n value: null,\n school_year: defaultOption?.school_year\n }\n const selectedValue = options.checkpoint\n ? processedData.find(({ value }) => value === options.checkpoint)\n : options.school_year && initialOption\n setSelectedId(selectedValue || defaultOption)\n return [initialOption, ...processedData]\n }, [data, options.checkpoint, options.school_year, title])\n\n return (\n {\n setSelectedId(item)\n dispatch({\n type: 'setOptions',\n options: {\n checkpoint: item.value,\n school_year: item.school_year\n }\n })\n }}\n isDisabled={isLoading}\n {...rest}\n />\n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport { useAuthContext } from 'features/auth'\nimport { Button } from 'shared/components'\n\nimport styles from './report-filters.module.css'\nimport { ReportSelect } from '../report-select/report-select'\n\nexport const ReportFilters = ({\n options,\n dispatch,\n children,\n showStudentFilter,\n className,\n // if we want to hide school - classroom - student filters (we use that in the student report)\n hideOrgFilters\n}) => {\n const { t } = useTranslation()\n const { isDistrictAdmin, isSchoolAdmin, isTeacher } = useAuthContext()\n return (\n
\n {!hideOrgFilters && (\n
\n {isDistrictAdmin && (\n \n )}\n {(isDistrictAdmin || isSchoolAdmin) && (\n \n )}\n {showStudentFilter && (\n \n `${item.name.first_name} ${item.name.last_name ?? ''}`\n }\n />\n )}\n {!isTeacher && (\n \n )}\n
\n )}\n {children}\n
\n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { format } from 'date-fns'\n\nimport { SwitchOptions } from 'shared/components'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\nimport { CheckpointSelect } from 'features/reports/components/report-select/checkpoint-select'\nimport { ReportFilters } from 'features/reports/components/report-filters/report-filters'\nimport styles from './filters.module.css'\n\nexport const Filters = ({ options, dispatch }) => {\n const { t } = useTranslation()\n return (\n \n
\n \n {options.student ? (\n \n `${item.name} (${format(\n new Date(item.start),\n 'M/d/yy'\n )} - ${format(new Date(item.end), 'M/d/yy')}) ${\n item.is_default ? t('basicComponents.filters.current') : ''\n }`\n }\n />\n ) : (\n \n `${item.name} ${\n item.is_default ? t('basicComponents.filters.current') : ''\n }`\n }\n setNotDefault\n />\n )}\n
\n
\n {!options.objective && (\n \n )}\n {!(options.objective && options.student) && (\n \n dispatch({ type: 'setScheduled', scheduled: String(state) })\n }\n />\n )}\n
\n \n )\n}\n","export function transformObjectives(objectives) {\n if (!objectives) return []\n\n return objectives.map(o => {\n const subobjectiveOptions = o.subobjectives.map(s => ({\n label: s.subobjective,\n value: s.subobjective_id\n }))\n\n return {\n label: o.objective,\n value: o.objective_id,\n subobjectiveOptions\n }\n })\n}\n\nexport function transformRecommendations(recommendations) {\n if (!recommendations) return []\n const resultArray = []\n\n recommendations.forEach(r => {\n if (r.recommendations && r.recommendations.length) {\n r.recommendations.forEach(rInner => {\n resultArray.push({\n label: r.objective + ': ' + rInner.activity,\n value: rInner.activity_id\n })\n })\n }\n })\n\n return resultArray\n}\n","import React, { useState, useEffect } from 'react'\nimport { get } from 'lodash'\nimport cn from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport CreatableSelect from 'react-select/creatable'\nimport styles from './domain-content.module.css'\nimport { transformObjectives } from '../helpers'\n\nexport const DomainAreas = ({\n domain,\n index = 0,\n className,\n filterCheckpoint,\n style\n}) => {\n const { t } = useTranslation()\n const [beforeHook, setBeforeHook] = useState(true)\n const [selectedAreaOfSuccess, setSelectedAreaOfSuccess] = useState(null)\n const [selectedAreaForImprovement, setSelectedAreaForImprovement] = useState(\n null\n )\n const [successSubobjective, setSuccessSubobjective] = useState(null)\n const [improvementSubobjective, setImprovementSubobjective] = useState(null)\n const [hideImprovement, setHideImprovement] = useState(false)\n\n const areasOfSuccess = transformObjectives(domain.areas_of_success)\n const areasForImprovement = transformObjectives(domain.areas_for_improvement)\n\n useEffect(() => {\n if (areasOfSuccess.length) {\n setSelectedAreaOfSuccess(areasOfSuccess[index])\n }\n\n if (areasForImprovement.length && areasForImprovement[index]) {\n setSelectedAreaForImprovement(areasForImprovement[index])\n if (areasForImprovement[index].subobjectiveOptions.length) {\n setImprovementSubobjective(\n areasForImprovement[index].subobjectiveOptions[0]\n )\n }\n } else if (areasForImprovement.length) {\n setHideImprovement(true)\n }\n\n if (!areasOfSuccess?.length) {\n setSelectedAreaOfSuccess(null)\n setSuccessSubobjective(null)\n }\n if (!areasForImprovement?.length) {\n setSelectedAreaForImprovement(null)\n setImprovementSubobjective(null)\n }\n }, [filterCheckpoint?.value])\n\n useEffect(() => {\n if (\n selectedAreaOfSuccess &&\n (!successSubobjective ||\n !selectedAreaOfSuccess.subobjectiveOptions.find(\n s => s.value === successSubobjective.value\n ))\n ) {\n if (Array.isArray(selectedAreaOfSuccess.subobjectiveOptions)) {\n setSuccessSubobjective(selectedAreaOfSuccess.subobjectiveOptions[0])\n }\n }\n if (\n selectedAreaForImprovement &&\n (!improvementSubobjective ||\n !selectedAreaForImprovement.subobjectiveOptions.find(\n s => s.value === improvementSubobjective.value\n ))\n ) {\n if (Array.isArray(selectedAreaForImprovement.subobjectiveOptions)) {\n setImprovementSubobjective(\n selectedAreaForImprovement.subobjectiveOptions[0]\n )\n }\n }\n setBeforeHook(false)\n }, [selectedAreaOfSuccess, selectedAreaForImprovement])\n\n if (beforeHook) {\n return null\n }\n\n return (\n
\n \n
\n {(selectedAreaOfSuccess || {}).label}\n
\n \n \n {t('domainReport.achievedDevelopmentalMilestone')}:\n
\n
\n {(successSubobjective || {}).label}\n
\n \n \n {!hideImprovement && (\n
\n
\n {(selectedAreaForImprovement || {}).label}\n
\n \n \n {t('domainReport.nextDevelopmentalMilestone')}\n
\n
\n {(improvementSubobjective || {}).label}\n
\n \n \n )}\n \n )\n}\n","import React, { useState, useEffect } from 'react'\nimport cn from 'classnames'\nimport { times } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport CreatableSelect from 'react-select/creatable'\nimport { Button } from 'shared/components'\nimport { domainColors } from 'features/reports/site/helpers'\nimport styles from './domain-content.module.css'\nimport { DomainAreas } from './domain-areas'\nimport { transformRecommendations } from '../helpers'\n\nexport const DomainContent = ({\n domain,\n stateOfAreas,\n areasMaxLength,\n filterCheckpoint\n}) => {\n const { t } = useTranslation()\n const [isHidden, setIsHidden] = useState(false)\n const [selectedRecommendation, setSelectedRecommendation] = useState(null)\n const recommendations = transformRecommendations(domain.recommendations)\n const threeAreas = stateOfAreas === 'three' && areasMaxLength > 1\n const allAreas = stateOfAreas === 'all' && areasMaxLength > 1\n\n useEffect(() => {\n if (threeAreas && recommendations.length) {\n setSelectedRecommendation(\n recommendations.filter((recommendation, index) => {\n if (index < 3) return recommendation\n })\n )\n } else if (allAreas && recommendations.length) {\n setSelectedRecommendation(recommendations)\n } else if (recommendations.length) {\n setSelectedRecommendation(recommendations[0])\n }\n }, [threeAreas, allAreas, domain])\n\n const backgroundColor = domainColors[domain.domain_id]\n const recommendationsBlock = (Array.isArray(selectedRecommendation)\n ? selectedRecommendation\n : selectedRecommendation === null\n ? []\n : [selectedRecommendation]\n ).map(r =>
{r.label}
)\n\n let numberOfAreas = 1\n\n if (threeAreas) {\n numberOfAreas = areasMaxLength < 3 ? areasMaxLength : 3\n } else if (allAreas) {\n numberOfAreas = areasMaxLength\n }\n\n return (\n <>\n
\n \n
\n {!isHidden && (\n
\n
\n
{domain.domain_name}
\n
\n {domain.domain_taken_assessments}/\n {domain.domain_total_assessments}\n
{t('domainReport.assessed')}
\n
\n
\n {domain.domain_performance}\n
\n
\n
\n \n {t('domainReport.areaOfSuccess')}\n
\n \n {t('domainReport.areaForImprovement')}\n
\n \n {times(numberOfAreas, index => (\n \n ))}\n {domain.recommendations && (\n <>\n
\n {t('domainReport.recommendedActivity')}\n
\n \n
\n {recommendationsBlock}\n
\n \n \n \n )}\n \n )}\n \n )\n}\n","import React, { useState, useRef } from 'react'\nimport { useQuery } from 'react-query'\nimport { format } from 'date-fns'\nimport Select from 'react-select'\nimport ReactToPrint from 'react-to-print'\nimport { max } from 'lodash'\nimport { useTranslation } from 'react-i18next'\n\nimport { CUSTOM_CHECKPOINT_VALUE } from 'features/reports/site/helpers'\nimport {\n Loader,\n Button,\n PrintableWrapper,\n Modal,\n RadioButton\n} from 'shared/components'\nimport { fetchDomainReportQuery } from 'lib/api'\nimport logo from 'assets/logo-small.png'\nimport { DomainContent } from './domain-content/domain-content'\nimport styles from './domain-report.module.css'\n\nconst createdDate = format(Date.now(), 'MM/dd/yyyy')\n\nexport const DomainReport = ({\n customCheckpointOption,\n filterOptions,\n show,\n setShow\n}) => {\n const [filterCheckpoint, setFilterCheckpoint] = useState(null)\n const { t, i18n } = useTranslation()\n const componentRef = useRef()\n const [numberOfAreas, setNumberOfAreas] = useState('one')\n const selectedStudent = filterOptions.student\n const selectedCheckpoint = filterCheckpoint?.value\n const { isLoading, data } = useQuery(\n fetchDomainReportQuery({\n student: selectedStudent,\n language: i18n.language\n })\n )\n if (!data) {\n return \n }\n const checkpoints = data.filters.checkpoints.map(ch => ({\n label: `${ch.checkpoint_name} (${ch.checkpoint_start} - ${ch.checkpoint_end})`,\n value: ch.checkpoint_id\n }))\n const options = customCheckpointOption\n ? [customCheckpointOption, ...checkpoints]\n : checkpoints\n const student = data.student_info\n const notes = student.attributes?.length\n ? student.attributes.join(', ')\n : 'None'\n const checkpoint = data.checkpoint_info.find(\n ch => ch.checkpoint_id === selectedCheckpoint\n )\n const isButtonDisabled =\n !selectedCheckpoint || selectedCheckpoint === CUSTOM_CHECKPOINT_VALUE\n\n return (\n <>\n {\n setShow(true)\n if (\n !options.find(option => option.value === filterOptions.checkpoint)\n ) {\n setFilterCheckpoint(options[0])\n }\n }}\n >\n {t('domainReport.entryButton')}\n \n
\n {t('domainReport.entryDescription')}\n
\n\n setShow(false)} size=\"lg\">\n \n {t('domainReport.entryButton')}\n \n {data.selection.given_name} {data.selection.family_name || ''}\n \n (\n \n {t('basicComponents.print')}\n \n )}\n content={() => componentRef.current}\n />\n \n \n
\n setFilterCheckpoint(ch)}\n options={options}\n />\n
\n setNumberOfAreas('one')}\n />\n setNumberOfAreas('three')}\n />\n setNumberOfAreas('all')}\n />\n
\n
\n\n \n {!checkpoint || !checkpoint.domains.length ? (\n
{t('siteReport.noData')}
\n ) : (\n
\n
\n
\n \"CTB\n
\n Cognitive
Toybox\n
\n
\n
\n
\n {student.first_name} {student.last_name}{' '}\n {t('domainReport.studentReport')}\n
\n
\n {student.school_name}, {student.classroom_name} (\n {checkpoint.checkpoint_name})\n
\n
\n {checkpoint.student_checkpoint_age}\n
\n
\n
\n {t('domainReport.overall')}: {checkpoint.performance}\n
\n
\n
\n
\n
\n {t('domainReport.ageCategory')}:{' '}\n {checkpoint.student_age_category}\n
\n
\n {t('domainReport.assessmentsComplete')}:{' '}\n {checkpoint.completion_percentage}% (\n {checkpoint.taken_assessments}/\n {checkpoint.total_assessments})\n
\n
\n {t('domainReport.notes')}: {notes}\n
\n
\n
\n
\n {checkpoint.domains.map(domain => (\n \n ))}\n
\n
\n
\n {t('domainReport.teacherSignature')}:{' '}\n ___________________\n
\n
\n {t('domainReport.parentSignature')}:{' '}\n ___________________\n
\n
\n {t('domainReport.dateSigned')}: ___________________\n
\n
\n {t('domainReport.dateSigned')}: ___________________\n
\n
\n
\n {t('domainReport.created')}: {createdDate}\n
\n
\n )}\n
\n
\n
\n \n )\n}\n","import { get } from 'lodash'\n\nexport const OBJECTIVE_VALUES = {\n NOT_ASSESSED: 'not assessed'\n}\n\nexport function getObjectivesForCheckpoint(data, checkpoint) {\n if (!checkpoint || !data) return null\n const dataForCurrentCheckpoint = get(data, 'data', []).find(\n checkpointItem => checkpointItem.checkpoint_id === checkpoint\n )\n const objectivesByDomains = data.filters.domains.map(option => {\n const foundObjectives = get(dataForCurrentCheckpoint, 'data', []).filter(\n objective =>\n objective.domain_id === option.domain_id && objective.scheduled_on\n )\n if (foundObjectives.length) {\n return {\n domain_name: option.name,\n domain_id: option.domain_id,\n objectives: foundObjectives\n }\n }\n\n return null\n })\n\n return objectivesByDomains.filter(Boolean)\n}\n\nexport function getYearProgress(data) {\n if (!data) return null\n const allObjectivesByDomains = data.filters.domains\n .map(option => {\n const foundObjectives = get(data, 'filters.objectives', []).filter(\n objective => objective.domain_id === option.domain_id\n )\n if (foundObjectives.length) {\n return {\n domain_name: option.name,\n domain_id: option.domain_id,\n objectives: foundObjectives\n }\n }\n return null\n })\n .filter(Boolean)\n\n const objectivesByDomains = allObjectivesByDomains.map(domain => {\n const domainObjectives = domain.objectives\n .map(objective => {\n const newObjective = { ...objective }\n const checkpointsObjectives = get(data, 'data', []).map(checkpoint => {\n const foundObjectives = checkpoint.data.find(\n checkpointObjective =>\n checkpointObjective.objective_id === objective.objective_id &&\n checkpointObjective.is_required\n )\n return {\n checkpoint_id: checkpoint.checkpoint_id,\n checkpoint_name: checkpoint.name,\n age_relative_performance: foundObjectives\n ? foundObjectives.age_relative_performance\n : '-',\n displayed_level: foundObjectives\n ? foundObjectives.displayed_level\n : null\n }\n })\n newObjective.checkpoints = checkpointsObjectives\n return newObjective\n })\n .filter(({ checkpoints }) =>\n checkpoints.some(\n ({ age_relative_performance }) => age_relative_performance !== '-'\n )\n )\n\n if (domainObjectives.length) {\n return {\n ...domain,\n objectives: domainObjectives,\n checkpoints: domainObjectives[0].checkpoints.map(checkpoint => ({\n checkpoint_id: checkpoint.checkpoint_id,\n checkpoint_name: checkpoint.checkpoint_name\n }))\n }\n }\n return null\n })\n return objectivesByDomains.filter(Boolean)\n}\n","import React from 'react'\nimport { get } from 'lodash'\nimport { Checkmark } from 'shared/components'\nimport { useResultItem } from 'features/reports/site/hooks/use-result-item'\nimport { SubobjectiveItems } from 'features/reports/site/components/subobjective-items'\nimport styles from './detailed-objective.module.css'\nimport { OBJECTIVE_VALUES } from '../helpers'\n\nconst colors = {\n below: '#F8BA00',\n exceeding: '#B3C95E',\n meeting: '#000'\n}\n\nconst getStyle = performance => {\n if (!performance || performance === 'Not assessed') {\n return {\n color: '#343434',\n fontWeight: 800,\n fontSize: '18px',\n textTransform: 'capitalize',\n fontStyle: 'italic'\n }\n }\n\n return {\n color: colors[performance],\n fontWeight: 800,\n fontSize: '18px',\n textTransform: 'capitalize'\n }\n}\n\nconst RecursivePerformance = ({ performance, currentLevel, showLevels }) => {\n if (Array.isArray(performance)) {\n const [firstPerformance, secondPerformance] = performance\n const [firstLevel, secondLevel] = currentLevel\n return (\n
\n \n →\n \n
\n )\n }\n\n return (\n <>\n \n {performance}\n \n {showLevels && currentLevel && (\n ({currentLevel})\n )}\n \n )\n}\n\nexport const DetailedObjective = ({\n objective,\n options,\n isCustomCheckpoint\n}) => {\n if (isCustomCheckpoint) {\n return (\n \n \n {objective.objective_name || objective.name}\n \n {objective.checkpoints.map(checkpoint => (\n \n {checkpoint.age_relative_performance ||\n OBJECTIVE_VALUES.NOT_ASSESSED}\n {options.levels && checkpoint.displayed_level && (\n
\n ({checkpoint.displayed_level})\n
\n )}\n \n ))}\n \n )\n }\n const performance =\n objective.age_relative_performance || OBJECTIVE_VALUES.NOT_ASSESSED\n const latestResults = get(objective, 'latest_result.subobjective_results', [])\n const currentLevel = objective.displayed_level || ''\n const { items } = useResultItem(\n get(objective, 'latest_result.result_id', null)\n )\n\n if (options.detailed || (!options.detailed && performance === 'below')) {\n return (\n
\n
\n \n {objective.objective_name || objective.name}\n \n \n {performance}\n {options.levels && currentLevel && (\n ({currentLevel})\n )}\n \n
\n {latestResults.map(result => (\n
\n {result.subobjective}\n
\n ))}\n \n
\n )\n }\n\n return (\n
\n
\n \n {objective.objective_name || objective.name}\n \n \n
\n \n
\n )\n}\n","import React, { useState, useRef } from 'react'\nimport { useQuery } from 'react-query'\nimport classNames from 'classnames'\nimport { Container } from 'react-bootstrap'\nimport { format } from 'date-fns'\nimport ReactToPrint from 'react-to-print'\nimport { useTranslation } from 'react-i18next'\nimport Select from 'react-select'\nimport {\n CUSTOM_CHECKPOINT_VALUE,\n domainColors,\n domainColorsTranslucent\n} from 'features/reports/site/helpers'\nimport { Loader, Button, SwitchOptions, Modal } from 'shared/components'\nimport { fetchSiteBulkReportQuery } from 'lib/api'\nimport logo from 'assets/logo-small.png'\n\nimport styles from './detailed-student.module.css'\nimport { useReportsFiltersData } from '../../../../hooks/use-reports-filters-data'\nimport {\n getYearProgress,\n getObjectivesForCheckpoint,\n OBJECTIVE_VALUES\n} from '../helpers'\n\nimport { DetailedObjective } from '../components/detailed-objective'\n\nconst createdDate = format(Date.now(), 'MM/dd/yyyy')\n\nexport const DetailedStudentContainer = ({\n customCheckpointOption,\n filterOptions,\n show,\n setShow\n}) => {\n const [filterCheckpoint, setFilterCheckpoint] = useState(null)\n const { data: filters } = useReportsFiltersData()\n const { t, i18n } = useTranslation()\n const [levels, setLevels] = useState(false)\n const [photos, setPhotos] = useState(false)\n const [notes, setNotes] = useState(false)\n const [detailed, setDetailed] = useState(false)\n const [showNotAssessed, setShowNotAssessed] = useState(true)\n const componentRef = useRef()\n const { data, isLoading } = useQuery(\n fetchSiteBulkReportQuery({\n student: filterOptions.student,\n language: i18n.language\n })\n )\n if (!filters || !data) {\n return \n }\n const checkpoint = filterCheckpoint?.value\n const isCustomCheckpoint = CUSTOM_CHECKPOINT_VALUE === checkpoint\n const objectivesByDomains = isCustomCheckpoint\n ? getYearProgress(data)\n : getObjectivesForCheckpoint(data, checkpoint)\n const checkpoints = data.filters.checkpoints.map(ch => ({\n label: `${ch.name} (${ch.start} / ${ch.end})`,\n value: ch.checkpoint_id\n }))\n const selectedStudent = data.filters.students.find(\n st => st.student_id === filterOptions.student\n )\n const options = customCheckpointOption\n ? [customCheckpointOption, ...checkpoints]\n : checkpoints\n\n const isButtonDisabled = !checkpoint\n\n return (\n <>\n {\n setShow(true)\n if (\n !options.find(option => option.value === filterOptions.checkpoint)\n ) {\n setFilterCheckpoint(options[0])\n }\n }}\n >\n {t('siteReport.detailed.print')}\n \n
\n {t('siteReport.detailed.shared')}\n
\n\n setShow(false)}>\n \n {t('siteReport.detailed.detailed')}\n \n {selectedStudent && (\n <>\n {selectedStudent.name.first_name}{' '}\n {selectedStudent.name.last_name}\n \n )}\n \n \n \n
\n setFilterCheckpoint(ch)}\n options={options}\n />\n
\n \n \n \n \n \n
\n (\n \n {t('siteReport.detailed.print')}\n \n )}\n content={() => componentRef.current}\n />\n
\n\n \n
\n
\n \"CTB\n
\n Cognitive
ToyBox\n
\n
\n
\n

{t('siteReport.detailed.detailed')}

\n {selectedStudent && (\n
\n {selectedStudent.name.first_name}{' '}\n {selectedStudent.name.last_name}\n
\n )}\n
\n {data.account_scope.name} ({filterCheckpoint?.label})\n
\n
\n
\n\n {!objectivesByDomains?.length && (\n
{t('siteReport.noData')}
\n )}\n {objectivesByDomains?.map(domain => {\n const objectives = isCustomCheckpoint\n ? domain.objectives\n : domain.objectives?.filter(objective =>\n showNotAssessed\n ? true\n : objective.age_relative_performance\n ? objective.age_relative_performance !==\n OBJECTIVE_VALUES.NOT_ASSESSED\n : false\n )\n if (!objectives.length) return null\n const backgroundColor = domainColors[domain.domain_id]\n const backgroundColorTranslucent =\n domainColorsTranslucent[domain.domain_id]\n return (\n
\n \n {domain.domain_name}\n
\n\n {isCustomCheckpoint ? (\n \n \n \n \n {t('siteReport.detailed.objective')}\n \n {domain.checkpoints.map(checkpoint => (\n \n {checkpoint.checkpoint_name}\n \n ))}\n \n \n \n {objectives.map(objective => (\n \n ))}\n \n \n ) : (\n objectives.map(objective => {\n if (objective.is_required) {\n return (\n \n )\n }\n })\n )}\n \n )\n })}\n
\n {t('siteReport.detailed.created')}: {createdDate}\n
\n
\n
\n
\n \n )\n}\n","import React, { useState } from 'react'\nimport { CUSTOM_CHECKPOINT_VALUE } from 'features/reports/site/helpers'\nimport styles from './print-modal-children.module.css'\nimport { DomainReport } from '../domain-report'\nimport { DetailedStudentContainer } from '../detailed-student-report'\n\nconst customCheckpointOption = {\n value: CUSTOM_CHECKPOINT_VALUE,\n label: 'This school year to today'\n}\n\nexport const PrintModalChildren = ({ options }) => {\n const [isDetailed, setIsDetailed] = useState(false)\n const [isDomain, setIsDomain] = useState(false)\n\n return (\n <>\n
\n
\n \n
\n
\n
\n \n
\n \n )\n}\n","import { useReducer, useEffect } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { format } from 'date-fns'\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'setOrganization':\n return {\n ...state,\n page: 0,\n organization: action.organization,\n school: undefined,\n classroom: undefined,\n student: undefined,\n search: undefined\n }\n case 'setSchool':\n return {\n ...state,\n school: action.school,\n classroom: undefined,\n student: undefined,\n search: undefined\n }\n case 'setClassroom':\n return {\n ...state,\n classroom: action.classroom,\n student: undefined,\n search: undefined\n }\n case 'setStudent':\n return {\n ...state,\n student: action.student,\n checkpoint: undefined,\n search: undefined\n }\n\n case 'setAgeCategory':\n return {\n ...state,\n age_category: action.age_category,\n objective: undefined,\n domain: undefined\n }\n case 'setSchoolYear':\n return {\n ...state,\n school_year: action.school_year,\n checkpoint: undefined\n }\n case 'setCheckpoint':\n return { ...state, checkpoint: action.checkpoint }\n\n case 'setDomain':\n return { ...state, domain: action.domain, objective: null }\n case 'setObjective':\n return { ...state, objective: action.objective }\n case 'setStandard':\n return { ...state, ...action.standards }\n case 'setAssessmentType':\n return { ...state, assessment_type: action.assessment_type }\n case 'setScheduled':\n return { ...state, scheduled: action.scheduled }\n case 'setDrdpReportType':\n return { ...state, drdpReportType: action.drdpReportType }\n case 'setCheckpointReportIsPercentageView':\n return {\n ...state,\n checkpointReportIsPercentageView:\n action.checkpointReportIsPercentageView\n }\n\n case 'setDates':\n return {\n ...state,\n start: format(action.start, 'MM/dd/yyyy'),\n end: format(action.end, 'MM/dd/yyyy')\n }\n case 'setResult':\n return { ...state, result: action.result }\n case 'setWeek':\n return { ...state, week: action.week }\n case 'setSchoolyear':\n return { ...state, schoolyear: action.schoolyear }\n\n case 'setBack': {\n if (state.objective) {\n return { ...state, objective: undefined }\n }\n if (state.domain) {\n return { ...state, domain: undefined, objective: undefined }\n }\n if (state.student) {\n return {\n ...state,\n student: undefined\n }\n }\n if (state.classroom) {\n return {\n ...state,\n classroom: undefined,\n student: undefined\n }\n }\n if (state.school) {\n return {\n ...state,\n school: undefined,\n classroom: undefined,\n student: undefined\n }\n }\n return {}\n }\n case 'clear': {\n return {}\n }\n case 'setOptions': {\n return {\n ...state,\n ...action.options\n }\n }\n case 'setFromOptions': {\n const actionOptions = JSON.stringify(action.options)\n const stateOptions = JSON.stringify(state)\n if (actionOptions === stateOptions) return state\n else return action.options\n }\n default:\n return {\n ...state,\n ...action,\n type: undefined\n }\n }\n}\n\nexport const useReportsReducer = (query, url, selection) => {\n const history = useHistory()\n const [options, dispatch] = useReducer(reducer, query)\n // If we get a url with for example student_id\n // we want to choose the right classroom and school\n useEffect(() => {\n if (selection) {\n if (selection.school_id && !query.school && selection.classroom_id) {\n dispatch({\n type: 'setOptions',\n options: {\n school: selection.school_id,\n classroom: selection.classroom_id\n }\n })\n }\n }\n }, [selection])\n\n // cycle safe\n useEffect(() => {\n dispatch({ type: 'setFromOptions', options: query })\n }, [query])\n // update query on state change\n useEffect(() => {\n if (options) {\n history.push(url(options))\n }\n }, [options])\n return { options, dispatch }\n}\n","import React, { useEffect, useState } from 'react'\nimport { useLocation, useHistory } from 'react-router-dom'\nimport queryString from 'query-string'\nimport classNames from 'classnames'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport {\n siteReportURL,\n drdpReportURL,\n objectiveReportURL,\n familyEngagementReportURL,\n checkpointReportURL,\n homeReportURL,\n homeURL\n} from 'lib/links'\nimport { useAuthContext } from 'features/auth'\nimport { PrintModal, Button, Loader, PrimaryLink } from 'shared/components'\n\nimport styles from './report-wrapper.module.css'\n\nexport const ReportWrapper = ({\n children,\n title,\n subtitle,\n // If nothing is passed, it will take you back to the home page of the reports\n goBack,\n // for the student report\n printModalChildren,\n // if you want to disable excel or pdf export\n isExportExcel = true,\n isExportPdf = true,\n // for the loader\n isFetching,\n isFetched,\n isLoading,\n generationDate\n}) => {\n const [printModal, setPrintModal] = useState(false)\n const { t } = useTranslation()\n const { pathname, search } = useLocation()\n const history = useHistory()\n const { isTeacher, isDrdp, isKea } = useAuthContext()\n const query = queryString.parse(search)\n const params = '?' + queryString.stringify(query)\n\n useEffect(() => {\n if (isKea) {\n history.push(homeURL)\n }\n }, [isKea])\n\n return (\n <>\n \n
\n
\n (goBack ? goBack() : history.push(homeReportURL))}\n >\n {t('report.back')}\n \n setPrintModal(true)}\n purple\n disabled={isLoading}\n >\n {t('report.print')}\n \n
\n
\n {title || t(`report.${pathname.slice(9)}Report`)}\n
\n {subtitle &&
{subtitle}
}\n {generationDate && (\n
\n {t('report.lastUpdated')}:{' '}\n {format(new Date(generationDate), 'M/d/yy hh:mm a')}\n
\n )}\n
\n
\n \n {t('report.objectiveReport')}\n \n \n {isTeacher ? t('report.studentReport') : t('report.siteReport')}\n \n {isDrdp && (\n \n {t('report.drdpReport')}\n \n )}\n \n {t('report.checkpointReport')}\n \n \n {t('report.family-engagementReport')}\n \n
\n {children}\n {isLoading && }\n \n setPrintModal(false)}\n >\n {printModalChildren}\n \n \n )\n}\n","import React, { useMemo, useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport queryString from 'query-string'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { fetchSiteReportQuery } from 'lib/api'\nimport { siteReport } from 'lib/links'\nimport { useAuthContext } from 'features/auth'\nimport { PageWrapper } from 'shared/components'\n\nimport {\n SchoolsTable,\n ClassroomsTable,\n StudentsTable,\n ObjectivesTable,\n SubobjectivesTable\n} from './tables'\nimport { Filters } from './components/filters/filters'\nimport { PrintModalChildren } from './components/print-modal-children'\nimport { useReportsReducer } from '../hooks/use-reports-reducer'\nimport { useReportsFiltersData } from '../hooks/use-reports-filters-data'\nimport { ReportWrapper } from '../components/report-wrapper/report-wrapper'\n\nexport const SiteReport = () => {\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n const { t, i18n } = useTranslation()\n const account = useAuthContext()\n const {\n data: filterData,\n isLoading: filterDataIsLoading\n } = useReportsFiltersData()\n const { data, isLoading, refetch, isFetching, isFetched } = useQuery({\n ...fetchSiteReportQuery({\n objective: params.objective,\n domain: params.domain,\n school: params.school,\n classroom: params.classroom,\n student: params.student,\n scheduled: params.scheduled,\n checkpoint: params.checkpoint,\n school_year: params.school_year,\n age_category: params.age_category,\n standard: filterData?.content.standard_indices?.map(\n standardIndex => params[`standard${standardIndex}`]\n ),\n language: i18n.language\n }),\n keepPreviousData: true,\n enabled: !!filterData\n })\n const { options, dispatch } = useReportsReducer(\n params,\n siteReport,\n data?.selection\n )\n\n // for Filter By\n const filteredBy = useMemo(\n () => ({\n objective: data?.selection.objective_name,\n domain: data?.selection.domain_name,\n school: data?.selection.school_name,\n classroom: data?.selection.classroom_name,\n student:\n data?.selection.given_name &&\n `${data?.selection.given_name} ${data?.selection.family_name || ''}`,\n objective_type: params.objective_type\n }),\n [data, params]\n )\n\n // if no scheduled data, should switch to \"all\"\n useEffect(() => {\n if (data && data.data?.length === 0 && options.scheduled === undefined) {\n dispatch({ type: 'setScheduled', scheduled: 'false' })\n }\n }, [data])\n\n return (\n \n dispatch({ type: 'setBack' }))\n }\n // on the student report additional buttons for detailed and child progress reports\n printModalChildren={\n data?.selection.student_id && \n }\n title={`${account.scope?.name || ''} ${t('report.siteReport')}`}\n subtitle={\n <>\n
\n {`${data?.selection.given_name || ''} ${data?.selection\n .family_name || ''} ${data?.selection.objective_name || ''}`}\n
\n
\n {data?.selection.student_age || ''}\n
\n \n }\n generationDate={data?.last_updated}\n >\n \n {data &&\n (data.selection.objective_id && data.selection.student_id ? (\n \n ) : data.selection.student_id ? (\n \n ) : data.selection.classroom_id || account.isTeacher ? (\n \n ) : data.selection.school_id || account.isSchoolAdmin ? (\n \n ) : (\n \n ))}\n \n
\n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\n// The same table for schools, classrooms, and students levels\nexport const OrganizationTable = ({\n data,\n options,\n dispatch,\n filteredBy,\n // 'school' or 'classroom' or 'student'\n level\n}) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey:\n level === 'student' ? 'student_name.first_name' : `${level}_name`,\n header: t(`DRDPReport.table.${level}s`),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type:\n level === 'school'\n ? 'setSchool'\n : level === 'classroom'\n ? 'setClassroom'\n : 'setStudent',\n [level]: row.original[`${level}_id`]\n })\n }\n >\n {level !== 'student'\n ? getValue()\n : `${getValue()} ${row.original.student_name.last_name || ''}`}\n \n ),\n filter: onClick => (\n `${item.name.first_name} ${item.name.last_name ?? ''}`)\n }\n onClick={onClick}\n />\n ),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n ...data.displayed_checkpoints.map(ch => ({\n accessorKey: `checkpoint_data.${ch.checkpoint_id}.completion`,\n cell: ({ getValue }) =>\n getValue() !== undefined ? `${getValue()}%` : '-',\n header: ch.name,\n invertSorting: true\n }))\n ],\n [data, level, i18n.language]\n )\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { TanStackTable } from 'shared/components'\n\nexport const ObjectivesTable = ({ data, filteredBy, dispatch }) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'measure_name',\n header: t('DRDPReport.table.objective'),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n accessorKey: 'measure_label',\n header: t('DRDPReport.table.alignment'),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n id: 'displayed_level',\n accessorFn: row =>\n row.displayed_level ? row.developmental_age || 0 : undefined,\n header: t('DRDPReport.table.level'),\n cell: ({ row }) => row.original.displayed_level,\n sortUndefined: 1,\n invertSorting: true\n },\n {\n accessorKey: 'last_assessed',\n header: t('DRDPReport.table.lastAssessed'),\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? format(new Date(value), 'M/d/yyyy') : '-'\n },\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n }\n ],\n [i18n.language]\n )\n\n return (\n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { SwitchOptions } from 'shared/components'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\nimport { ReportFilters } from 'features/reports/components/report-filters/report-filters'\n\nexport const Filters = ({ options, dispatch }) => {\n const { t } = useTranslation()\n return (\n \n
\n \n {options.student && (\n \n `${item.name} (${item.start} / ${item.end})`\n }\n />\n )}\n {options.student && (\n \n dispatch({\n type: 'setDrdpReportType',\n drdpReportType: state ? 'completion' : 'performances'\n })\n }\n />\n )}\n
\n
\n )\n}\n","import React, { useMemo } from 'react'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { useLocation } from 'react-router-dom'\nimport queryString from 'query-string'\nimport { useAuthContext } from 'features/auth'\nimport { fetchDrdpReportQuery } from 'lib/api'\nimport { drdpReport } from 'lib/links'\nimport { PageWrapper } from 'shared/components'\n\nimport { OrganizationTable } from './tables/organization-table'\nimport { ObjectivesTable } from './tables/objectives-table'\nimport { Filters } from './components/filters/filters'\nimport { ReportWrapper } from '../components/report-wrapper/report-wrapper'\nimport { useReportsReducer } from '../hooks/use-reports-reducer'\n\nexport const DrdpReport = () => {\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n const { i18n } = useTranslation()\n const { isTeacher, isSchoolAdmin } = useAuthContext()\n const { data, isLoading, isFetching, isFetched } = useQuery({\n ...fetchDrdpReportQuery({\n school: params.school,\n classroom: params.classroom,\n student: params.student,\n school_year: params.school_year,\n checkpoint: params.checkpoint,\n language: i18n.language,\n report: params.student && (params.drdpReportType || 'performances')\n }),\n keepPreviousData: true\n })\n const { options, dispatch } = useReportsReducer(\n params,\n drdpReport,\n data?.selection\n )\n // for Filter By\n const filteredBy = useMemo(\n () => ({\n school: data?.selection.school_name,\n classroom: data?.selection.classroom_name,\n student:\n data?.selection.given_name &&\n `${data?.selection.given_name} ${data?.selection.family_name || ''}`\n }),\n [data, params]\n )\n const level = useMemo(() => {\n if (\n data?.selection.classroom_id ||\n isTeacher ||\n params.drdpReportType === 'completion'\n ) {\n return 'student'\n }\n if (data?.selection.school_id || isSchoolAdmin) {\n return 'classroom'\n }\n return 'school'\n }, [data, isTeacher, isSchoolAdmin, params.drdpReportType])\n\n return (\n \n dispatch({ type: 'setBack' }))\n }\n generationDate={data?.last_updated}\n >\n \n {data &&\n (data.selection.student_id &&\n data.selection.report === 'performances' ? (\n \n ) : (\n \n ))}\n \n \n )\n}\n","import { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { fetchObjectiveReportQuery } from 'lib/api'\n\nexport const useObjectiveReportData = (params, enabled = true) => {\n const { i18n } = useTranslation()\n const objectiveReportData = useQuery({\n ...fetchObjectiveReportQuery({\n ...params,\n language: i18n.language\n }),\n keepPreviousData: true,\n enabled: enabled\n })\n return objectiveReportData\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { SwitchOptions } from 'shared/components'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\nimport { ReportFilters } from 'features/reports/components/report-filters/report-filters'\n\nimport styles from './filters.module.css'\n\nexport const Filters = ({ options, dispatch }) => {\n const { t } = useTranslation()\n return (\n \n
\n \n \n \n dispatch({ type: 'setScheduled', scheduled: String(state) })\n }\n />\n
\n
\n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport styles from './components.module.css'\n\nexport const Additional = ({ data: { data } }) => {\n const { t } = useTranslation()\n if (!data.length) return null\n return data.map(item => (\n \n
{item.category}
\n
\n
\n
\n {t('objectiveReport.additional.leastRecognized')}\n
\n {item.least_recognized.map(i => (\n {i}\n ))}\n
\n
\n
\n {t('objectiveReport.additional.sometimesRecognized')}\n
\n {item.sometimes_recognized.map(i => (\n {i}\n ))}\n
\n
\n
\n {t('objectiveReport.additional.mostRecognized')}\n
\n {item.most_recognized.map(i => (\n {i}\n ))}\n
\n
\n \n ))\n}\n","import React from 'react'\nimport { Achievement } from 'shared/components'\nimport { useTranslation } from 'react-i18next'\n\nimport styles from './components.module.css'\n\nexport const Groups = ({ groups }) => {\n const { t } = useTranslation()\n if (!groups.student_groups.length) return null\n return (\n
\n
\n {t('objectiveReport.recommendedSmallGroups')}\n
\n
\n {t('objectiveReport.recommendedSmallGroupsDescription')}\n
\n
\n {groups.student_groups.map((group, index) => (\n \n
\n {t('objectiveReport.upNext')}:\n
\n {group.practice_activities.length > 1 ? (\n
    \n {group.practice_activities.map(i => (\n
  • {i}
  • \n ))}\n
\n ) : (\n
{group.practice_activities}
\n )}\n
\n )\n }\n >\n {!!group.students.length && (\n
\n {group.students.map((student, index) => (\n \n {student.student_name.first_name}\n {(student.student_name.last_name\n ? ' ' + student.student_name.last_name\n : '') + (index !== group.students.length - 1 ? ', ' : '')}\n \n ))}\n
\n )}\n \n ))}\n
\n \n )\n}\n","import React, { useMemo, useState } from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { PrimaryLink, TanStackTable } from 'shared/components'\nimport { transformAge } from 'lib/helpers'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\nimport { StandardSelect } from 'features/reports/components/report-select/standard-select'\nimport { ReportDropdown } from 'features/reports/components/report-dropdown/report-dropdown'\n\nimport { MeasureModal } from '../../components/measure-modal/measure-modal'\n\nexport const ObjectivesTable = ({\n data,\n filterData,\n options,\n dispatch,\n filteredBy\n}) => {\n const { t, i18n } = useTranslation()\n const [measureModal, setMeasureModal] = useState(false)\n const columns = useMemo(\n () => [\n {\n accessorKey: 'objective.name',\n header: t('objectiveReport.table.objectives'),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return (\n \n dispatch({\n type: 'setObjective',\n objective: row.original.objective.objective_id\n })\n }\n >\n {value}\n \n )\n },\n sortingFn: 'alphanumeric',\n filter: onClick => (\n \n ),\n dropdown: onClick => (\n \n ),\n tooltip: t('objectiveReportTooltips.objectiveLevel.objectives'),\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n accessorKey: 'developmental_age',\n header: t('objectiveReport.table.avLevel'),\n cell: ({ getValue }) => transformAge(getValue(), t) || '-',\n tooltip: t('objectiveReportTooltips.objectiveLevel.averageLevel'),\n sortUndefined: 1\n },\n {\n accessorKey: 'objective.type',\n header: t('objectiveReport.table.type'),\n enableColumnFilter: true,\n tooltip: t('objectiveReportTooltips.objectiveLevel.type'),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n ...filterData.content.standard_indices?.map(standardIndex => ({\n accessorFn: row =>\n row.objective.measures\n ?.find(({ standard_index }) => standard_index === standardIndex)\n ?.measure_list?.map(measure => measure.measure_name)\n .join(', '),\n header:\n data.selection.standard_names[standardIndex] ||\n t('objectiveReport.table.standard'),\n cell: ({ row }) => {\n const filteredStandards = row.original.objective.measures?.find(\n ({ standard_index }) => standard_index === standardIndex\n )?.measure_list\n return filteredStandards\n ? filteredStandards.map((measure, i) => (\n \n setMeasureModal({\n ...measure,\n name: data.selection.standard_names[standardIndex]\n })\n }\n >\n {measure.measure_name}\n {i !== filteredStandards.length - 1 && ', '}\n \n ))\n : '-'\n },\n filter: onClick => (\n \n ),\n tooltip: t('objectiveReportTooltips.objectiveLevel.standard'),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortUndefined: 1\n })),\n {\n accessorKey: 'total_results',\n header: t('objectiveReport.table.complete'),\n tooltip: t('objectiveReportTooltips.objectiveLevel.complete'),\n enableColumnFilter: true\n },\n {\n id: 'last_assessed',\n accessorFn: row =>\n row.last_assessed ? new Date(row.last_assessed) : undefined,\n header: t('objectiveReport.table.lastAssessed'),\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? format(value, 'M/d/yyyy') : '-'\n },\n tooltip: t('objectiveReportTooltips.objectiveLevel.lastAssessed'),\n sortingFn: 'datetime',\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n },\n {\n accessorKey: 'objective.age_category',\n header: t('objectiveReport.table.age'),\n enableColumnFilter: true\n }\n ],\n [filterData, data, i18n.language, options]\n )\n\n return (\n <>\n \n setMeasureModal(false)} />\n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { format } from 'date-fns'\nimport { Modal } from 'shared/components'\n\nimport styles from './students-modal.module.css'\nimport { useObjectiveReportData } from '../../hooks/use-objective-report-data'\n\nconst getList = list =>\n list.map(student => (\n
\n {student.name.first_name} {student.name.last_name || ''}\n
\n ))\n\nexport const StudentsModal = ({ options, subobjectiveName, onHide }) => {\n const { t } = useTranslation()\n const { data, isLoading } = useObjectiveReportData(options)\n return (\n \n \n \n {t('objectiveReport.studentsModal.subobjective')}\n \n {subobjectiveName}\n \n \n {data && (\n
\n
\n
\n {t('objectiveReport.studentsModal.correct')}\n
\n
{getList(data.data.successful)}
\n
\n
\n
\n {t('objectiveReport.studentsModal.incorrect')}\n
\n
{getList(data.data.unsuccessful)}
\n
\n
\n
\n {t('objectiveReport.studentsModal.notTaken')}\n
\n
{getList(data.data.not_assessed)}
\n
\n
\n )}\n
\n \n
\n {t('objectiveReport.studentsModal.lastUpdated')}:{' '}\n {data && format(new Date(data.last_updated), 'M/d/yy')}\n
\n
\n \n )\n}\n","import React, { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\n\nimport { StudentsModal } from '../components/students-modal/students-modal'\n\nexport const SubobjectivesTable = ({ data, options, dispatch, filteredBy }) => {\n const { t, i18n } = useTranslation()\n const [studentsModal, setStudentsModal] = useState(null)\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'subobjective.subobjective',\n header: t('objectiveReport.table.subobjective'),\n tooltip: t('objectiveReportTooltips.subobjectiveLevel.subobjective'),\n filter: onClick => (\n \n ),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return data.student_groups ? (\n \n setStudentsModal({\n options: {\n ...options,\n subobjective: row.original.subobjective.subobjective_id\n },\n subobjective_name: row.original.subobjective.subobjective\n })\n }\n >\n {value}\n \n ) : (\n value\n )\n },\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n accessorKey: 'subobjective.level',\n header: t('objectiveReport.table.level'),\n tooltip: t('objectiveReportTooltips.subobjectiveLevel.level'),\n cell: ({ row }) => row.original.subobjective.displayed_level\n },\n {\n accessorKey: 'total_correct',\n header: t('objectiveReport.table.correct'),\n tooltip: t('objectiveReportTooltips.subobjectiveLevel.correct'),\n enableColumnFilter: true\n },\n {\n accessorKey: 'total_assessments',\n header: t('objectiveReport.table.complete'),\n tooltip: t('objectiveReportTooltips.subobjectiveLevel.complete'),\n enableColumnFilter: true\n }\n ],\n [i18n.language, options, data]\n )\n\n return (\n <>\n \n {studentsModal && (\n setStudentsModal(null)}\n />\n )}\n \n )\n}\n","import React, { useMemo, useEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useLocation } from 'react-router-dom'\nimport queryString from 'query-string'\nimport { objectiveReport } from 'lib/links'\nimport { useAuthContext } from 'features/auth'\nimport { PageWrapper } from 'shared/components'\n\nimport { useObjectiveReportData } from './hooks/use-objective-report-data'\nimport { Filters } from './components/filters/filters'\nimport { Additional, Groups } from './components'\nimport { ObjectivesTable } from './tables/objectives-table'\nimport { SubobjectivesTable } from './tables/subobjectives-table'\nimport { ReportWrapper } from '../components/report-wrapper/report-wrapper'\nimport { useReportsReducer } from '../hooks/use-reports-reducer'\nimport { useReportsFiltersData } from '../hooks/use-reports-filters-data'\n\nexport const ObjectiveReport = () => {\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n const account = useAuthContext()\n const { t, i18n } = useTranslation()\n const {\n data: filterData,\n isLoading: filterDataIsLoading\n } = useReportsFiltersData()\n const { data, isLoading, isFetching, isFetched } = useObjectiveReportData(\n {\n objective: params.objective,\n domain: params.domain,\n school: params.school,\n classroom: params.classroom,\n scheduled: params.scheduled,\n checkpoint: params.checkpoint,\n school_year: params.school_year,\n standard: filterData?.content.standard_indices?.map(\n standardIndex => params[`standard${standardIndex}`]\n ),\n language: i18n.language\n },\n !!filterData\n )\n const { options, dispatch } = useReportsReducer(\n params,\n objectiveReport,\n data?.selection\n )\n // for Filter By\n const filteredBy = useMemo(\n () => ({\n objective: data?.selection.objective_name,\n domain: data?.selection.domain_name,\n school: data?.selection.school_name,\n classroom: data?.selection.classroom_name,\n objective_type: params.objective_type,\n objective_age_category: params.objective_age_category\n }),\n [data, params]\n )\n // if no scheduled data, should switch to \"all\"\n useEffect(() => {\n if (data && data.data?.length === 0 && options.scheduled === undefined) {\n dispatch({ type: 'setScheduled', scheduled: 'false' })\n }\n }, [data])\n\n return (\n \n dispatch({ type: 'setBack' }))\n }\n title={`${account.scope?.name || ''} ${t('report.objectiveReport')}`}\n generationDate={data?.last_updated}\n >\n \n {data &&\n filterData &&\n (data.selection.objective_id ? (\n <>\n {data.data && (\n \n )}\n {data.additional_data && (\n \n )}\n {data.student_groups && }\n \n ) : (\n \n ))}\n \n \n )\n}\n","import React, { useState } from 'react'\nimport { get } from 'lodash'\nimport { useHistory } from 'react-router'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { Button, Modal } from 'shared/components'\nimport { parentReport } from 'lib/links'\nimport { getStudentScheduleGames } from 'lib/api'\nimport { iOS, isTouchDevice } from 'lib/mobileDetector'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons'\n\nimport PatternGreen from 'assets/images/pattern-green.jpg'\nimport PatternLightgreen from 'assets/images/pattern-lightgreen.jpg'\nimport PatternLightblue from 'assets/images/pattern-lightblue.jpg'\nimport PatternOrange from 'assets/images/pattern-orange.jpg'\nimport PatternPurple from 'assets/images/pattern-purple.jpg'\nimport styles from './parent-report.module.css'\n\nconst androidAppLink = process.env.REACT_APP_ANDROID_MOBILE_APP_LINK\nconst iosAppLink = process.env.REACT_APP_IOS_MOBILE_APP_LINK\nconst patternList = [\n PatternGreen,\n PatternLightgreen,\n PatternLightblue,\n PatternOrange,\n PatternPurple\n]\n\nexport const StudentSelector = ({ students }) => {\n const { t } = useTranslation()\n const [isModalOpened, setIsModalOpened] = useState(false)\n const [selectedUser, setSelectedUser] = useState({})\n const history = useHistory()\n const isTouch = isTouchDevice()\n\n const selectedStudentName = get(selectedUser, 'name.given_name', '')\n const selectedStudentLastName = get(selectedUser, 'name.family_name', '')\n\n const onClickPlay = async student => {\n try {\n const response = await getStudentScheduleGames({\n student: student.student_id\n })\n if (response.length && response[0] && typeof response[0] === 'object') {\n setIsModalOpened(true)\n setSelectedUser({ ...student, ...response[0] })\n } else {\n toast.info('There is no game scheduled this week')\n }\n } catch (error) {\n toast.error(error.message)\n }\n }\n\n const redirectToApp = () => {\n if (!selectedUser.student_id) return\n const alignment = selectedUser.alignment_id.split(' ').join('')\n window.location.replace(\n `cognitivetoybox://?q=${alignment}:${selectedUser.objective_id}:${selectedUser.student_id}`\n )\n\n setTimeout(function() {\n window.location.replace(iOS() ? iosAppLink : androidAppLink)\n }, 2000)\n }\n\n let currentPattern = 0\n\n return (\n <>\n
\n {students.map(student => {\n const link = parentReport({ student: student.student_id })\n const randomImage = patternList[currentPattern]\n if (currentPattern === 4) {\n currentPattern = 0\n } else {\n currentPattern++\n }\n return (\n
\n \n {student.name.given_name}\n
\n
\n onClickPlay(student)}\n >\n {t('parentReport.playGames1')}\n
\n {t('parentReport.playGames2')}\n \n \n
\n
\n )\n })}\n \n setIsModalOpened(false)}>\n \n \n {t('parentReport.playGameWith')} {selectedStudentName}\n {selectedStudentLastName}\n \n \n\n \n
\n
{t('parentReport.canPlay', { selectedStudentName })}
\n
\n {selectedUser.completed && (\n \n )}\n {selectedUser.description}\n
\n \n
\n
\n
\n \n )\n}\n","export function isTouchDevice() {\n return (\n 'ontouchstart' in window ||\n navigator.maxTouchPoints > 0 ||\n navigator.msMaxTouchPoints > 0\n )\n}\n\nexport function iOS() {\n return (\n [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod'\n ].includes(navigator.platform) ||\n // iPad on iOS 13 detection\n (navigator.userAgent.includes('Mac') && 'ontouchend' in document)\n )\n}\n","import React, { useState, useEffect } from 'react'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faHeart, faCheck } from '@fortawesome/free-solid-svg-icons'\n\nimport styles from './report.module.css'\n\nexport const Like = ({ checked, onClick, text }) => {\n const [isChecked, setIsChecked] = useState(checked)\n useEffect(() => setIsChecked(checked), [checked])\n return (\n {\n onClick()\n setIsChecked(!isChecked)\n }}\n >\n \n \n \n {text || 'We loved it!'}\n \n )\n}\n\nexport const Complete = ({ checked, onClick, text }) => {\n const [isChecked, setIsChecked] = useState(checked)\n useEffect(() => setIsChecked(checked), [checked])\n return (\n {\n onClick()\n setIsChecked(!isChecked)\n }}\n >\n \n \n \n {text || 'We played!'}\n \n )\n}\n","import React, { useMemo, useRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport classNames from 'classnames'\nimport { format, isAfter, isToday } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { Card, Button } from 'shared/components'\nimport { parentHomeURL } from 'lib/links'\n\nimport { Like, Complete } from './Icons'\nimport styles from './report.module.css'\n\nimport { Response } from '..'\n\nexport const Report = ({\n showBackButton,\n student,\n area_for_improvement,\n area_of_success,\n recommended_activity,\n isWeekend,\n prevDate,\n nextDate,\n date = new Date(),\n handleChangeDate,\n daily_activity,\n daily_read_aloud,\n weekly_message,\n earliest_report,\n sendFeedback,\n sendResponse\n}) => {\n const { t } = useTranslation()\n const reportRef = useRef(null)\n const { i18n: current } = useTranslation('home')\n\n const findTranslation = data => {\n return data?.translations.find(e => e.language === current.language)\n }\n\n const areaForImprovementData = useMemo(\n () => findTranslation(area_for_improvement),\n [area_for_improvement, current.language]\n )\n const areaOfSuccessData = useMemo(() => findTranslation(area_of_success), [\n area_of_success,\n current.language\n ])\n const recommendedActivity = useMemo(\n () => findTranslation(recommended_activity),\n [recommended_activity, current.language]\n )\n\n return (\n
\n
\n {showBackButton ? (\n \n \n \n ) : (\n
\n )}\n \n \n
\n
\n
\n {t('parentReport.title', { student: student.name })}\n
\n
\n {t('parentReport.subtitle')}\n
\n {isWeekend && (\n
\n {t('parentReport.isWeekend1', { date: format(prevDate, 'iiii') })}\n
\n {t('parentReport.isWeekend2')}\n
\n )}\n\n
\n
\n {!earliest_report && (\n handleChangeDate(format(prevDate, 'yyyy-MM-dd'))}\n >\n {t('parentReport.prev', {\n date: format(prevDate, 'iiii, MMMM d')\n })}\n \n )}\n
\n
\n {!isAfter(nextDate, new Date()) && (\n \n )}\n
\n
\n {!isAfter(nextDate, new Date()) && (\n handleChangeDate(format(nextDate, 'yyyy-MM-dd'))}\n >\n {t('parentReport.next', {\n date: format(nextDate, 'iiii, MMMM d')\n })}\n \n )}\n
\n
\n
\n
\n {format(date, 'iiii, MMMM d')}\n
\n {!!weekly_message && (\n
\n \n \n
{weekly_message.message}
\n \n
\n
\n )}\n\n
\n {areaOfSuccessData && (\n
\n \n
\n {areaOfSuccessData.objective}\n
\n
\n {areaOfSuccessData.copy}\n
\n
\n {t('parentReport.lastAccessed')}\n {format(new Date(area_of_success.assessment_date), 'M/d/yy')}\n
\n \n
\n )}\n {areaForImprovementData && (\n
\n \n
\n {areaForImprovementData.objective}\n
\n
\n {areaForImprovementData.copy}\n
\n
\n {t('parentReport.lastAccessed')}\n {format(\n new Date(area_for_improvement.assessment_date),\n 'M/d/yy'\n )}\n
\n \n
\n )}\n
\n {recommendedActivity && (\n
\n \n \n
\n {recommendedActivity.title}\n
\n {recommended_activity.source && (\n
\n {t('parentReport.source')}{' '}\n {recommended_activity.source}\n
\n )}\n
\n {recommendedActivity.description}\n
\n
\n
\n \n sendFeedback({\n activity_id: recommended_activity.activity_id,\n liked: !recommended_activity.feedback.liked\n })\n }\n />\n \n sendFeedback({\n activity_id: recommended_activity.activity_id,\n completed: !recommended_activity.feedback.completed\n })\n }\n />\n
\n \n
\n
\n )}\n\n {daily_activity &&\n daily_activity.length > 0 &&\n daily_activity.map((activity, index) => {\n const activityData = findTranslation(activity)\n const { feedback } = activity\n\n return (\n
\n \n \n
\n {!activity.embed && (\n
\n \n \n \n\n {activity.activity_type && (\n
\n {t('parentReport.type')}{' '}\n {activity.activity_type}\n
\n )}\n
\n )}\n\n
\n {activityData?.title}\n
\n {activity.source && (\n
\n {t('parentReport.source')}\n \n {activity.source}\n \n
\n )}\n
\n {activityData?.description}\n
\n
\n\n {activity.embed && (\n \n )}\n\n
\n\n
\n {activity.key_concepts.length > 0 && (\n \n {t('parentReport.keyConcepts')}\n {activity.key_concepts.join(', ')}\n \n )}\n {activity.alignment.length > 0 && (\n \n {' '}\n {t('parentReport.alignment')}{' '}\n {activity.alignment.join(', ')}\n \n )}\n
\n\n
\n \n sendFeedback({\n activity_id: activity.activity_id,\n liked: !feedback.liked\n })\n }\n />\n \n sendFeedback({\n activity_id: activity.activity_id,\n completed: !feedback.completed\n })\n }\n />\n
\n \n
\n
\n )\n })}\n\n {daily_read_aloud &&\n daily_read_aloud.length > 0 &&\n daily_read_aloud.map((activity, index) => {\n const activityData = findTranslation(activity)\n const { feedback } = activity\n\n return (\n
\n \n \n
\n {!activity.embed && (\n
\n \n \n \n
\n )}\n\n
\n {activityData?.title}\n
\n {activity.source && (\n
\n {t('parentReport.source')}\n \n {activity.source}\n \n
\n )}\n
\n {activityData?.description}\n
\n
\n\n {activity.embed && (\n \n )}\n\n
\n
\n \n sendFeedback({\n activity_id: activity.activity_id,\n liked: !feedback.liked\n })\n }\n />\n \n sendFeedback({\n activity_id: activity.activity_id,\n completed: !feedback.completed\n })\n }\n />\n
\n \n
\n
\n )\n })}\n
\n \n \n )\n}\n","import React, { useState, useCallback } from 'react'\nimport { Form } from 'react-bootstrap'\nimport { Button, Loader } from 'shared/components'\n\nimport styles from './response.module.css'\n\nexport const Response = ({ sendResponse, t }) => {\n const [message, setMessage] = useState('')\n const [loading, setLoading] = useState(false)\n const [isSent, setIsSent] = useState(false)\n\n const submit = useCallback(async message => {\n try {\n setLoading(true)\n await sendResponse(message)\n setIsSent(true)\n } finally {\n setLoading(false)\n }\n }, [])\n\n return (\n {\n e.preventDefault()\n submit(message)\n }}\n >\n
\n {isSent ? t('parentReport.messageSent') : t('parentReport.sendMessage')}\n
\n {!isSent && (\n
\n \n setMessage(e.target.value)}\n as=\"textarea\"\n rows=\"3\"\n />\n \n \n
\n )}\n {loading && (\n
\n \n
\n )}\n \n )\n}\n","import React from 'react'\nimport { StyledSelect } from 'shared/components'\n\nimport styles from './parent-report.module.css'\n\nexport const ReportFilters = ({\n school,\n classroom,\n isSchoolAdmin,\n isDistrictAdmin\n}) => {\n return (\n
\n {(isSchoolAdmin || isDistrictAdmin) && (\n
\n \n
\n )}\n {(isSchoolAdmin || isDistrictAdmin) && (\n
\n \n
\n )}\n
\n )\n}\n","import React, { useEffect, useCallback } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { useQuery } from 'react-query'\nimport { isWeekend, addBusinessDays, format } from 'date-fns'\nimport {\n fetchAccountStudentsQuery,\n fetchParentReportQuery,\n parentReportFeedback,\n parentReportResponse\n} from 'lib/api'\nimport { Loader } from 'shared/components'\nimport { parentReport, parentHomeURL } from 'lib/links'\n\nimport { Report } from './components'\n\n// TODO: remove it when figure out how to fix local timezone\nconst badDateHack = date => {\n const dateItems = date.split('-')\n dateItems[1] -= 1\n\n if (dateItems[1] < 0) dateItems[1] = 11\n return new Date(dateItems[0], dateItems[1], dateItems[2])\n}\n\nexport const ParentReportContainer = props => {\n const history = useHistory()\n const { data, isLoading, error, refetch } = useQuery(\n fetchParentReportQuery(props)\n )\n const { data: studentsData } = useQuery(fetchAccountStudentsQuery())\n\n const currentDate = props.date\n ? badDateHack(props.date)\n : data && data.report_date\n ? badDateHack(data.report_date)\n : new Date()\n const prevDate = addBusinessDays(currentDate, -1)\n const nextDate = addBusinessDays(currentDate, 1)\n\n useEffect(() => {\n if (!props.student) {\n history.push(parentHomeURL)\n }\n }, [error])\n\n useEffect(() => {\n if (data && Object.keys(data).length === 0) {\n history.goBack()\n }\n }, [data])\n\n const handleChangeDate = useCallback(date => {\n history.push(parentReport({ student: props.student, date }))\n }, [])\n\n const sendFeedback = useCallback(\n async ({ activity_id, liked, completed }) => {\n const student_id = data.student.student_id\n const date = props.date || format(currentDate, 'yyyy-MM-dd')\n await parentReportFeedback({\n student_id,\n date,\n activity_id,\n liked,\n completed\n })\n refetch()\n },\n [data]\n )\n\n const sendResponse = useCallback(\n async message => {\n const date = props.date || format(currentDate, 'yyyy-MM-dd')\n const student_id = data.student.student_id\n\n await parentReportResponse({\n student_id,\n date,\n message\n })\n },\n [data]\n )\n\n if (!data || Object.keys(data).length === 0 || isLoading) return \n\n return (\n <>\n \n \n )\n}\n","import React, { useEffect } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { PageWrapper, Loader, NoData } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { fetchAccountStudentsQuery } from 'lib/api'\nimport { parentReport } from 'lib/links'\n\nimport { useFilters } from './hooks/useFilters'\nimport { StudentSelector, ReportFilters } from './components'\nimport { filterStudentList } from './model'\n\nexport const ParentSelectorContainer = props => {\n const { t } = useTranslation()\n const history = useHistory()\n const { isSchoolAdmin, isDistrictAdmin } = useAuthContext()\n const { data, isLoading } = useQuery(fetchAccountStudentsQuery())\n const filters = useFilters(data)\n\n useEffect(() => {\n if (data && data.students && data.students.length === 1) {\n history.push(parentReport({ student: data.students[0].student_id }))\n }\n }, [data])\n\n if (isLoading) {\n return (\n \n \n \n )\n }\n\n const students = filterStudentList(data?.students || [], {\n isSchoolAdmin,\n isDistrictAdmin,\n school: filters.school.selected.value,\n classroom: filters.classroom.selected.value\n })\n\n return (\n \n \n \n {!students.length && }\n \n )\n}\n","import { useState, useEffect } from 'react'\nimport { useFilters as useDefaultFilters } from 'shared/hooks'\n\nexport const useFilters = data => {\n const [prepared, setPrepared] = useState({})\n const filters = useDefaultFilters(prepared)\n\n useEffect(() => {\n if (data) {\n const newPrepared = {}\n\n if (data.schools) {\n newPrepared.schools = data.schools.map(s => ({\n label: s.name,\n value: s.school_id\n }))\n }\n if (data.classrooms) {\n newPrepared.classrooms = data.classrooms\n .filter(c =>\n filters.school.selected.value\n ? c.school_id === filters.school.selected.value\n : false\n )\n .map(c => ({\n label: c.name,\n value: c.classroom_id\n }))\n }\n\n setPrepared(newPrepared)\n }\n }, [data, filters.school.selected.value])\n\n return {\n ...filters,\n school: {\n ...filters.school,\n set: option => {\n filters.school.set(option)\n filters.classroom.set(filters.classroom.options[0])\n }\n }\n }\n}\n","export function filterStudentList(students, options) {\n const { classroom, school, isDistrictAdmin, isSchoolAdmin } = options\n if (\n !Array.isArray(students) ||\n ((isDistrictAdmin || isSchoolAdmin) && !classroom)\n ) {\n return []\n }\n\n return students\n .filter(student => (school ? school === student.school_id : true))\n .filter(student => (classroom ? classroom === student.classroom_id : true))\n}\n","import React from 'react'\nimport { useLocation } from 'react-router-dom'\nimport queryString from 'query-string'\nimport { ParentReportContainer } from 'features/reports/parent'\nimport { PageWrapper } from 'shared/components'\n\nexport const Parent = () => {\n const location = useLocation()\n const query = queryString.parse(location.search)\n\n return (\n \n \n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { SwitchOptions } from 'shared/components'\nimport { ReportFilters } from 'features/reports/components/report-filters/report-filters'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\n\nexport const Filters = ({ options, dispatch }) => {\n const { t } = useTranslation()\n\n return (\n \n
\n \n \n {!options.student && (\n \n dispatch({\n type: 'setCheckpointReportIsPercentageView',\n checkpointReportIsPercentageView: state\n })\n }\n />\n )}\n
\n
\n )\n}\n","import classNames from 'classnames'\nimport React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { TanStackTable } from 'shared/components'\n\nimport styles from './tables.module.css'\n\nexport const ObjectivesTable = ({ data, filteredBy, options, dispatch }) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'name',\n header: t('checkpointReport.table.objective'),\n enableColumnFilter: true,\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n accessorKey: 'objective_type',\n header: t('checkpointReport.table.type'),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n ...data.displayed_checkpoints.map(ch => ({\n accessorFn: row =>\n row.checkpoints[ch.checkpoint_id]?.score_display\n ? row.checkpoints[ch.checkpoint_id]?.score ||\n (row.checkpoints[ch.checkpoint_id]?.assessed ? 0.01 : undefined)\n : 0,\n header: ch.name,\n cell: ({ row }) =>\n row.original.checkpoints[ch.checkpoint_id]?.score_display ? (\n \n {row.original.checkpoints[ch.checkpoint_id]?.score_display}\n \n ) : (\n '-'\n ),\n sortUndefined: 1,\n invertSorting: true\n }))\n ],\n [data, i18n.language]\n )\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport ReactTooltip from 'react-tooltip'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\n\n// The same table for schools, classrooms, and students levels\nexport const OrganizationTable = ({\n data,\n options,\n dispatch,\n // 'school' or 'classroom' or 'student'\n level,\n filteredBy\n}) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: level === 'student' ? 'first_name' : `${level}_name`,\n header: t(`checkpointReport.table.${level}`),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type:\n level === 'school'\n ? 'setSchool'\n : level === 'classroom'\n ? 'setClassroom'\n : 'setStudent',\n [level]: row.original[`${level}_id`]\n })\n }\n >\n {level === 'student'\n ? `${getValue()} ${row.original.last_name ?? ''}`\n : getValue()}\n \n ),\n filter: onClick => (\n `${item.name.first_name} ${item.name.last_name ?? ''}`)\n }\n onClick={onClick}\n />\n ),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n ...data.displayed_checkpoints.map(ch => ({\n accessorKey: options.checkpointReportIsPercentageView\n ? `checkpoint_data.${ch.checkpoint_id}.percentage`\n : `checkpoint_data.${ch.checkpoint_id}.average_score`,\n header: ch.name,\n\n cell: ({ getValue, row }) => {\n const value = getValue()\n const foundCheckpoint = row.original.checkpoint_data[ch.checkpoint_id]\n if (!foundCheckpoint) return 'N/A'\n return (\n \n {options.checkpointReportIsPercentageView\n ? value === undefined\n ? foundCheckpoint.average_score || 0\n : `${value || 0}%`\n : value || '-'}\n {options.checkpointReportIsPercentageView && (\n \n {foundCheckpoint.taken || 0} / {foundCheckpoint.required || 0}{' '}\n {t('checkpointReport.table.assessmentsComplete')}\n \n )}\n \n )\n },\n sortUndefined: 1\n }))\n ],\n [data, level, i18n.language, options.checkpointReportIsPercentageView]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useQuery } from 'react-query'\nimport { useLocation } from 'react-router-dom'\nimport queryString from 'query-string'\nimport { useTranslation } from 'react-i18next'\nimport { fetchCheckpointReportQuery } from 'lib/api'\nimport { checkpointReport } from 'lib/links'\nimport { useAuthContext } from 'features/auth'\nimport { PageWrapper } from 'shared/components'\n\nimport { Filters } from './components/filters/filters'\nimport { ObjectivesTable } from './tables/objectives-table'\nimport { OrganizationTable } from './tables/organization-table'\nimport { useReportsReducer } from '../hooks/use-reports-reducer'\nimport { ReportWrapper } from '../components/report-wrapper/report-wrapper'\n\nexport const CheckpointReport = () => {\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n const { i18n } = useTranslation()\n const { isTeacher, isSchoolAdmin } = useAuthContext()\n const { data, isLoading, isFetching, isFetched } = useQuery({\n ...fetchCheckpointReportQuery({\n school: params.school,\n classroom: params.classroom,\n student: params.student,\n school_year: params.school_year,\n checkpoint: params.checkpoint,\n language: i18n.language,\n filter: params.assessment_type\n }),\n keepPreviousData: true\n })\n const { options, dispatch } = useReportsReducer(\n params,\n checkpointReport,\n data?.selection\n )\n // for Filter By\n const filteredBy = useMemo(\n () => ({\n school: data?.selection.school_name,\n classroom: data?.selection.classroom_name,\n student:\n data?.selection.given_name &&\n `${data?.selection.given_name} ${data?.selection.family_name || ''}`,\n objective_type: params.objective_type\n }),\n [data, params]\n )\n const level = useMemo(() => {\n if (data?.selection.classroom_id || isTeacher) {\n return 'student'\n }\n if (data?.selection.school_id || isSchoolAdmin) {\n return 'classroom'\n }\n return 'school'\n }, [data, isTeacher, isSchoolAdmin])\n\n return (\n \n dispatch({ type: 'setBack' }))\n }\n generationDate={data?.last_updated}\n >\n \n {data &&\n (data.selection.student_id ? (\n \n ) : (\n \n ))}\n \n \n )\n}\n","import React, { useState, useCallback } from 'react'\nimport { toast } from 'react-toastify'\nimport { Form } from 'react-bootstrap'\nimport { useMutation } from 'react-query'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faExclamation,\n faCheck,\n faPencil,\n faTrashCan\n} from '@fortawesome/free-solid-svg-icons'\nimport { debounce } from 'lodash'\n\nimport { Loader } from 'shared/components'\nimport { createParentReportWeeklyMessageMutation } from 'lib/api'\n\nimport styles from './weekly-message.module.css'\n\nexport const WeeklyMessage = ({\n weeklyMessage,\n currentDate,\n weeklyMessageUpdate\n}) => {\n const createParentReportWeeklyMessage = useMutation(\n createParentReportWeeklyMessageMutation()\n )\n const { t } = useTranslation()\n const [newMessage, setNewMessage] = useState(weeklyMessage.message || '')\n const changeWeeklyMessage = useCallback(\n message =>\n createParentReportWeeklyMessage\n .mutateAsync({\n message,\n classroom_id: weeklyMessage.classroom_id,\n week: format(currentDate, 'yyyy-MM-dd')\n })\n .then(() => weeklyMessageUpdate('message', message))\n .catch(e => toast.error(e)),\n [currentDate, weeklyMessage]\n )\n const debounceChangeWeeklyMessage = useCallback(\n debounce(newMessage => changeWeeklyMessage(newMessage?.trim()), 1000),\n []\n )\n return (\n
\n {createParentReportWeeklyMessage.isLoading ? (\n \n ) : (\n \n )}\n\n
\n
{t('familyEngagementReport.weeklyMessage.title')}
\n {\n setNewMessage(e.target.value)\n debounceChangeWeeklyMessage(e.target.value)\n }}\n />\n
\n\n {\n if (newMessage) {\n setNewMessage(null)\n changeWeeklyMessage(null)\n }\n }}\n />\n
\n )\n}\n","import React, { forwardRef, useState, useEffect } from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport { PrimaryLink } from 'shared/components'\n\nimport { ACTIVITY_TYPES } from './activity-modal'\nimport styles from './activity.module.css'\n\nexport const ActivityDetails = forwardRef(({ activityDetails }, ref) => {\n // store data to show exit animation\n const [data, setData] = useState(activityDetails)\n useEffect(() => {\n if (activityDetails) {\n setData(activityDetails)\n }\n }, [activityDetails])\n const { t } = useTranslation()\n if (!data) return\n return (\n <>\n \n \n
\n {data.activity_name}, {t('familyEngagementReport.activity.scheduled')}{' '}\n {data.assignment_date &&\n format(new Date(data.assignment_date), 'MM/dd/yyyy')}\n
\n
\n
\n \n {t('familyEngagementReport.activity.source')}{' '}\n {data.info.source}\n \n\n
\n

\n {data.description ||\n t('familyEngagementReport.activity.noDescription')}\n

\n
\n
\n
\n {t('familyEngagementReport.activity.activityType')}{' '}\n {data.activity_type}\n
\n {data.info.key_concepts?.length > 0 && (\n
\n {t('familyEngagementReport.activity.keyConcepts')}{' '}\n {data.info.key_concepts.join(', ')}\n
\n )}\n {data.info.alignment?.length > 0 && (\n
\n {t('familyEngagementReport.activity.standards')}{' '}\n {data.info.alignment.join(', ')}\n
\n )}\n
\n {data.completion_feedback}\n {!!data.completed_students?.length && (\n
\n {data.completed_students\n .map(\n student =>\n `${student.name.first_name} ${student.name.last_name ||\n ''}`\n )\n .join(', ')}\n
\n )}\n
\n
\n
\n \n \n )\n})\n","import React, { useMemo, useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport { startOfWeek, format, addDays } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { Tabs, TabList, TabPanel, Tab } from 'react-tabs'\nimport { CSSTransition } from 'react-transition-group'\nimport { Modal, Loader } from 'shared/components'\n\nimport styles from './activity.module.css'\nimport { ActivityDetails } from './activity-details'\n\nexport const ACTIVITY_TYPES = {\n readAloud: 'Read Aloud',\n offlineActivity: 'Offline Activity'\n}\n\nexport const ActivityModal = ({ data, currentDate, onHide }) => {\n const { t } = useTranslation()\n const [activityDetails, setActivityDetails] = useState(null)\n\n const activitiesByAgeAndType = useMemo(() => {\n const dataByAge = {}\n data.data.forEach(age => {\n const values = {\n readAloud: [],\n daily: []\n }\n Array.apply(null, new Array(5)).reduce(date => {\n const formatedDate = format(date, 'yyyy-MM-dd')\n const foundDailyActivity = age.data.find(\n item =>\n item.assignment_date === formatedDate &&\n item.activity_type !== ACTIVITY_TYPES.readAloud\n )\n const foundReadAloud = age.data.find(\n item =>\n item.assignment_date === formatedDate &&\n item.activity_type === ACTIVITY_TYPES.readAloud\n )\n values.daily.push(foundDailyActivity)\n values.readAloud.push(foundReadAloud)\n return addDays(date, 1)\n }, startOfWeek(currentDate, { weekStartsOn: 1 }))\n dataByAge[age.age_band] = values\n })\n return dataByAge\n }, [data])\n\n return (\n \n \n \n {t('familyEngagementReport.activity.scheduledReadAloudsActivities')}\n \n \n {t('familyEngagementReport.activity.weekOf', {\n week: format(\n startOfWeek(currentDate, { weekStartsOn: 1 }),\n 'dd/MM/yyyy'\n )\n })}\n \n \n \n \n setActivityDetails(null)}>\n {t('familyEngagementReport.activity.dailyReadAloud')}\n \n setActivityDetails(null)}>\n {t('familyEngagementReport.activity.dailyActivities')}\n \n \n \n \n \n
\n {Object.values(activitiesByAgeAndType)[0]?.readAloud.map(activity =>\n activity ? (\n \n ) : (\n \n )\n )}\n \n \n \n \n \n {Object.entries(activitiesByAgeAndType).map(\n ([age, activities], index) => (\n \n
{age}
\n {activities.daily.map(activity =>\n activity ? (\n \n ) : (\n \n )\n )}\n
\n )\n )}\n
\n
\n \n \n )\n}\n\nconst ActivityItem = ({\n activity,\n otherActivitySelected,\n setActivityDetails\n}) => {\n const { t } = useTranslation()\n const [imageLoaded, setImageLoaded] = useState(false)\n\n return (\n \n setActivityDetails(details =>\n details?.activity_id === activity.activity_id ? undefined : activity\n )\n }\n >\n
{activity.activity_name}
\n
\n {activity.info.preview_image && (\n <>\n {!imageLoaded && }\n setImageLoaded(true)}\n />\n \n )}\n {!activity.info.preview_image && activity.info.link && (\n
\n {t('familyEngagementReport.activity.source')} {activity.info.source}\n
\n )}\n
\n {t('familyEngagementReport.activity.students', {\n completed: activity.completed,\n assigned: activity.assigned\n })}\n
\n
\n
\n )\n}\n\nconst NoActivityItem = ({ otherActivitySelected, isReadAloud }) => {\n const { t } = useTranslation()\n return (\n \n
\n {t('familyEngagementReport.activity.noActivity')}\n
\n \n )\n}\n\nconst DayLabelsAndDetails = ({ activityDetails }) => {\n const { t } = useTranslation()\n const nodeRef = useRef()\n return (\n <>\n
\n {t('familyEngagementReport.activity.Mon')}\n
\n
\n {t('familyEngagementReport.activity.Tue')}\n
\n
\n {t('familyEngagementReport.activity.Wed')}\n
\n
\n {t('familyEngagementReport.activity.Thu')}\n
\n
\n {t('familyEngagementReport.activity.Fri')}\n
\n \n \n \n \n )\n}\n","export const transformAge = (age, t) => {\n let result = ''\n const yearsText =\n window.innerWidth < 768\n ? 'y'\n : ' ' + (t ? t('basicComponents.age.years') : 'years')\n const monthText =\n window.innerWidth < 768\n ? 'm'\n : ' ' + (t ? t('basicComponents.age.months') : 'months')\n\n if (age === 0) {\n return '0' + yearsText\n }\n if (Boolean(age) !== false) {\n const years = Math.floor(age / 12)\n const months = Math.floor(age % 12)\n const hasYears = years >= 1\n\n if (hasYears) {\n result += years + yearsText\n }\n if (months) {\n if (hasYears) {\n result += ' '\n }\n result += months + monthText\n }\n\n return result\n }\n\n return result\n}\n\nexport const transformMinutesToHours = num => {\n if (num === 0) return 0\n const hours = num / 60\n const rhours = Math.floor(hours)\n const minutes = (hours - rhours) * 60\n const rminutes = Math.round(minutes)\n return (rhours ? `${rhours}h` : '') + (rminutes ? `${rminutes}m` : '')\n}\n","import React, { useMemo } from 'react'\nimport { format } from 'date-fns'\nimport { useHistory } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\n\nimport { TanStackTable, Button } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { parentReport, siteReport, drdpReport } from 'lib/links'\nimport { transformMinutesToHours } from 'lib/ageHelpers'\n\nimport styles from './engagement-table.module.css'\n\nexport const EngagementTable = ({ data, options, parent_data }) => {\n const { t, i18n } = useTranslation()\n const history = useHistory()\n const { isDrdp } = useAuthContext()\n const columns = useMemo(\n () => [\n {\n header: t('familyEngagementReport.table.student'),\n accessorKey: 'student_name',\n tooltip: t('familyEngagementTooltips.classroomView.student'),\n sortingFn: 'alphanumeric',\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n header: t('familyEngagementReport.table.activities'),\n tooltip: t('familyEngagementTooltips.classroomView.activities'),\n accessorKey: 'activities_completed',\n enableColumnFilter: true\n },\n {\n header: t('familyEngagementReport.table.games'),\n tooltip: t('familyEngagementTooltips.classroomView.games'),\n accessorKey: 'games_completed',\n enableColumnFilter: true\n },\n {\n header: t('familyEngagementReport.table.timeSpent'),\n tooltip: t('familyEngagementTooltips.classroomView.timeSpent'),\n accessorKey: 'total_time',\n cell: ({ getValue, row }) =>\n (row.original.total_time_is_estimate ? '~' : '') +\n (transformMinutesToHours(getValue()) || '-')\n },\n {\n header: t('familyEngagementReport.table.loggedIn'),\n tooltip: t('familyEngagementTooltips.classroomView.loggedIn'),\n accessorKey: 'last_logged_in',\n cell: ({ getValue }) =>\n getValue() ? format(new Date(getValue()), 'MM/dd/yy') : '-',\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n },\n {\n header: t('familyEngagementReport.table.report'),\n tooltip: t('familyEngagementTooltips.classroomView.report'),\n accessorKey: 'student_id',\n hideSettings: true,\n\n cell: ({ getValue }) => (\n
\n \n history.push(parentReport({ student: getValue() }))\n }\n >\n {t('familyEngagementReport.parentReport')}\n \n \n history.push(\n siteReport({\n student: getValue(),\n classroom: options.classroom,\n school: options.school\n })\n )\n }\n >\n {t('familyEngagementReport.studentReport')}\n \n {isDrdp && (\n \n history.push(\n drdpReport({\n student: getValue(),\n classroom: options.classroom,\n school: options.school\n })\n )\n }\n >\n {t('familyEngagementReport.drdpReport')}\n \n )}\n
\n )\n }\n ],\n [i18n.language]\n )\n return (\n \n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { startOfWeek, addMinutes } from 'date-fns'\nimport { Loader, PrimaryLink } from 'shared/components'\nimport {\n parentReportActivityQuery,\n parentReportEngagementQuery,\n parentReportWeeklyMessageQuery\n} from 'lib/api'\n\nimport styles from './classroom-view.module.css'\nimport { WeeklyMessage } from './components/weekly-message/weekly-message'\nimport { ActivityModal } from './components/activity-modal/activity-modal'\nimport { EngagementTable } from './components/engagement-table/engagement-table'\n\nexport const ClassroomView = ({ options }) => {\n const { i18n, t } = useTranslation()\n const [activitiesModal, setActivitiesModal] = useState(false)\n const { data: activity, isLoading: activityLoading } = useQuery(\n parentReportActivityQuery({\n classroom: options.classroom,\n school: options.school,\n schoolyear: options.schoolyear,\n week: options.week,\n language: i18n.language\n })\n )\n const { data: engagement, isLoading: engagementLoading } = useQuery(\n parentReportEngagementQuery({\n classroom: options.classroom,\n school: options.school,\n schoolyear: options.schoolyear,\n week: options.week,\n language: i18n.language\n })\n )\n const {\n data: weeklyMessage,\n isLoading: weeklyMessageLoading,\n refetch: weeklyMessageUpdate\n } = useQuery(\n parentReportWeeklyMessageQuery({\n classroom: options.classroom,\n school: options.school,\n schoolyear: options.schoolyear,\n week: options.week,\n language: i18n.language\n })\n )\n\n const currentDate = useMemo(\n () =>\n startOfWeek(\n options.week\n ? addMinutes(new Date(options.week), new Date().getTimezoneOffset())\n : new Date(),\n {\n weekStartsOn: 1\n }\n ),\n [options.week]\n )\n\n if (activityLoading || engagementLoading || weeklyMessageLoading) {\n return \n }\n\n return (\n
\n
\n
\n
{t('familyEngagementReport.familyEngagement')}
\n {engagement && (\n

\n {t('familyEngagementReport.famLoggedIn')}{' '}\n {engagement.parent_data.accounts_in_use}/\n {engagement.parent_data.total_parent_accounts}\n

\n )}\n
\n
\n {activity && (\n
\n setActivitiesModal(true)}>\n {t('familyEngagementReport.seeActivities')}\n \n
\n )}\n {weeklyMessage && (\n \n )}\n
\n
\n {engagement && (\n \n )}\n {activitiesModal && (\n setActivitiesModal(false)}\n />\n )}\n
\n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PrimaryLink, TanStackTable } from 'shared/components'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\n\nexport const ClassroomsTable = ({ data, options, dispatch, filteredBy }) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'classroom_name',\n header: t('familyEngagementReport.table.classroom'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setClassroom',\n classroom: row.original.classroom_id\n })\n }\n >\n {getValue()}\n \n ),\n sortingFn: 'alphanumeric',\n tooltip: t('familyEngagementTooltips.schoolAdminView.classroom'),\n filter: onClick => (\n \n ),\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n accessorKey: 'activities_completed',\n header: t('familyEngagementReport.table.activitiesCompleted'),\n tooltip: t(\n 'familyEngagementTooltips.districtAdminView.activitiesCompleted'\n ),\n enableColumnFilter: true\n },\n {\n accessorKey: 'games_completed',\n header: t('familyEngagementReport.table.gamesPlayed'),\n tooltip: t('familyEngagementTooltips.districtAdminView.gamesPlayed'),\n enableColumnFilter: true\n },\n {\n accessorKey: 'families_logged_in_percentage',\n header: t('familyEngagementReport.table.familiesLogged'),\n tooltip: t(\n 'familyEngagementTooltips.districtAdminView.familiesLoggedIn'\n ),\n enableColumnFilter: true,\n cell: ({ getValue }) => `${getValue()}%`\n }\n ],\n [i18n.language, options]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { transformMinutesToHours } from 'lib/ageHelpers'\nimport { PrimaryLink, TanStackTable } from 'shared/components'\nimport { ReportSelect } from 'features/reports/components/report-select/report-select'\n\nexport const SchoolsTable = ({ data, options, dispatch, filteredBy }) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'school_name',\n header: t('familyEngagementReport.table.school'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setSchool',\n school: row.original.school_id\n })\n }\n >\n {getValue()}\n \n ),\n sortingFn: 'alphanumeric',\n tooltip: t('familyEngagementTooltips.districtAdminView.school'),\n filter: onClick => (\n \n ),\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n accessorKey: 'activities_completed',\n header: t('familyEngagementReport.table.activitiesCompleted'),\n tooltip: t(\n 'familyEngagementTooltips.districtAdminView.activitiesCompleted'\n ),\n enableColumnFilter: true\n },\n {\n accessorKey: 'games_completed',\n header: t('familyEngagementReport.table.gamesPlayed'),\n tooltip: t('familyEngagementTooltips.districtAdminView.gamesPlayed'),\n enableColumnFilter: true\n },\n {\n accessorKey: 'total_time',\n header: t('familyEngagementReport.table.timeSpent'),\n tooltip: t('familyEngagementTooltips.districtAdminView.timeSpent'),\n cell: ({ getValue }) => transformMinutesToHours(getValue())\n },\n {\n accessorKey: 'families_logged_in_percentage',\n header: t('familyEngagementReport.table.familiesLogged'),\n tooltip: t(\n 'familyEngagementTooltips.districtAdminView.familiesLoggedIn'\n ),\n enableColumnFilter: true,\n cell: ({ getValue }) => `${getValue()}%`\n }\n ],\n [i18n.language]\n )\n return (\n \n )\n}\n","import React from 'react'\nimport { format } from 'date-fns'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowLeft, faArrowRight } from '@fortawesome/free-solid-svg-icons'\nimport { useTranslation } from 'react-i18next'\nimport styles from './week-selector.module.css'\n\nexport const WeekSelector = ({ week }) => {\n const { t } = useTranslation()\n return (\n
\n {week.hasPrev && (\n week.change('prev')}\n />\n )}\n
\n
{t('familyEngagementReport.weekOf')}
\n
{format(week.current, 'MM/dd/yyyy')}
\n
\n {week.hasNext && (\n week.change('next')}\n />\n )}\n
\n )\n}\n","import React from 'react'\nimport { ToggleButtonGroup, ToggleButton } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport { useHistory } from 'react-router'\n\nimport { familyEngagementReport } from 'lib/links'\nimport { ReportFilters } from 'features/reports/components/report-filters/report-filters'\nimport { useAuthContext } from 'features/auth'\n\nimport styles from './filters.module.css'\nimport { WeekSelector } from '../week-selector/week-selector'\nimport { useWeek } from '../../hooks/use-week'\n\nexport const Filters = ({ options, dispatch, data }) => {\n const { t } = useTranslation()\n const weekSelector = useWeek(options, data)\n const history = useHistory()\n const { isTeacher } = useAuthContext()\n\n return (\n <>\n
\n {!options.schoolyear && }\n {!options.classroom && !isTeacher && (\n \n history.push(\n familyEngagementReport({\n school: options.school,\n schoolyear: !options.schoolyear\n })\n )\n }\n >\n \n {t('familyEngagementReport.overall')}\n \n \n {t('familyEngagementReport.weekly')}\n \n \n )}\n
\n {options.classroom && (\n \n )}\n \n )\n}\n","import { useCallback } from 'react'\nimport { useHistory } from 'react-router'\nimport { addMinutes, addWeeks, format, startOfWeek } from 'date-fns'\nimport { familyEngagementReport } from 'lib/links'\n\nexport const useWeek = (params, data) => {\n const history = useHistory()\n const current = startOfWeek(\n params.week\n ? addMinutes(new Date(params.week), new Date().getTimezoneOffset())\n : new Date(),\n {\n weekStartsOn: 1\n }\n )\n const nextWeek = addWeeks(current, 1)\n const prevWeek = addWeeks(current, -1)\n\n const change = useCallback(\n direction => {\n history.push(\n familyEngagementReport({\n ...params,\n week: format(direction === 'next' ? nextWeek : prevWeek, 'yyyy-MM-dd')\n })\n )\n },\n [current]\n )\n\n return {\n current,\n change,\n hasNext: !!data && !data.is_latest_report,\n hasPrev: !!data && !data.is_earliest_report\n }\n}\n","import React, { useMemo } from 'react'\nimport queryString from 'query-string'\nimport { useQuery } from 'react-query'\nimport { useLocation } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\n\nimport { PageWrapper } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { familyEngagementReport } from 'lib/links'\nimport { familyEngagementReportAdminQuery } from 'lib/api'\n\nimport { ClassroomView } from './classroom-view/classroom-view'\nimport { ClassroomsTable } from './tables/classrooms-table'\nimport { SchoolsTable } from './tables/schools-table'\nimport { Filters } from './components/filters/filters'\n\nimport { useReportsReducer } from '../hooks/use-reports-reducer'\nimport { ReportWrapper } from '../components/report-wrapper/report-wrapper'\n\nexport const FamilyEngagement = () => {\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n const { t } = useTranslation()\n const { isTeacher, isSchoolAdmin } = useAuthContext()\n const { options, dispatch } = useReportsReducer(\n params,\n familyEngagementReport\n )\n const { data, isLoading, isFetching, isFetched } = useQuery({\n ...familyEngagementReportAdminQuery({\n school: params.school,\n schoolyear: params.schoolyear,\n week: params.week\n }),\n keepPreviousData: true\n })\n\n // for Filter By\n const filteredBy = useMemo(\n () => ({\n school: data?.selection.school_name\n }),\n [data, params]\n )\n\n return (\n \n dispatch({ type: 'setBack' }))\n }\n >\n \n {data && (\n <>\n {options.classroom || isTeacher ? (\n \n ) : data.selection.school_id || isSchoolAdmin ? (\n \n ) : (\n \n )}\n \n )}\n \n \n )\n}\n","import { tableIcons } from 'lib/helpers'\nimport React from 'react'\nimport styles from './monitoring-report.module.css'\n\nexport const coloring = value => {\n if (typeof value === 'number') {\n return value === 100\n ? 'var(--green-grass)'\n : value < 20\n ? 'var(--orange-light)'\n : null\n }\n if (typeof value === 'boolean') {\n return value ? 'var(--green-grass)' : 'var(--orange-light)'\n }\n return null\n}\n\nexport const icon = ({ getValue }) => (\n \n {getValue()\n ? tableIcons.check\n : getValue() === false\n ? tableIcons.times\n : '-'}\n \n)\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nimport styles from './tables.module.css'\nimport { coloring, icon } from '../helper'\n\nexport const DistrictsTableEca = ({\n data,\n dispatch,\n filteredBy,\n setNotesModal,\n withoutObservationsColumn,\n onSortingChange,\n ...rest\n}) => {\n const { t, i18n } = useTranslation()\n const noPagination = rest.pageCount < 1 || rest.pageCount === 1\n const columns = useMemo(\n () => [\n {\n id: 'organization',\n accessorFn: row => row.organization_name,\n header: t('monitoringReport.table.district'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setOrganization',\n organization: row.original.organization_id\n })\n }\n >\n {getValue()}\n \n ),\n enableColumnFilter: noPagination,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n id: 'assessed',\n accessorFn: row => row.assessed,\n header: t('monitoringReport.table.allStudents'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n },\n {\n header: t('monitoringReport.table.usage'),\n columns: [\n {\n id: 'game_usage',\n accessorFn: row => row.game_usage,\n header: t('monitoringReport.table.games'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n },\n {\n id: 'obs_usage',\n accessorFn: row => row.obs_usage,\n header: t('monitoringReport.table.obs'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n }\n ]\n },\n {\n id: 'on_track_all_subdomains',\n accessorFn: row => row.on_track_all_subdomains,\n header: t('monitoringReport.table.onTrack'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n },\n ...(withoutObservationsColumn\n ? []\n : [\n {\n id: 'obs_with_notes',\n accessorFn: row => row.obs_with_notes ?? undefined,\n header: t('monitoringReport.table.observations'),\n cell: ({ row, getValue }) => (\n \n setNotesModal({\n name: row.original.classroom_name,\n start_date: data.selection.start_date,\n end_date: data.selection.end_date,\n classroom_ids: row.original.classroom_id,\n students_count: row.original.students_count\n })\n }\n >\n {getValue() !== undefined\n ? `${getValue() || 0}% (${row.original.obs_notes_total ||\n 0})`\n : t('monitoringReport.table.none')}\n \n ),\n sortUndefined: 1\n }\n ])\n ],\n [i18n.language, data, noPagination]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nimport styles from './tables.module.css'\n\nexport const DistrictsTableKea = ({\n data,\n dispatch,\n filteredBy,\n onSortingChange,\n ...rest\n}) => {\n const { t, i18n } = useTranslation()\n const noPagination = rest.pageCount < 1 || rest.pageCount === 1\n const columns = useMemo(\n () => [\n {\n id: 'organization',\n accessorFn: row => row.organization_name,\n header: t('monitoringReport.table.district'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setOrganization',\n organization: row.original.organization_id,\n page: 0\n })\n }\n >\n {getValue()}\n \n ),\n enableColumnFilter: noPagination,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n id: 'completed',\n accessorFn: row => row.kea_completion ?? undefined,\n header: t('monitoringReport.table.completedKEA'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n },\n {\n id: 'emerging',\n accessorFn: row => row.students_emerging ?? undefined,\n header: t('monitoringReport.table.emerging'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n },\n {\n id: 'approaching',\n accessorFn: row => row.students_approaching ?? undefined,\n header: t('monitoringReport.table.approach'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n },\n {\n id: 'demonstrating',\n accessorFn: row => row.students_demonstrating ?? undefined,\n header: t('monitoringReport.table.demonstrating'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n }\n ],\n [i18n.language, noPagination]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nimport styles from './tables.module.css'\nimport { coloring, icon } from '../helper'\n\nexport const ClassroomsTableEca = ({\n data,\n isClassroomDisabled,\n isSchoolDisabled,\n dispatch,\n setNotesModal,\n filteredBy,\n withoutObservationsColumn\n}) => {\n const { t, i18n } = useTranslation()\n const columns = useMemo(\n () => [\n {\n id: 'school_name',\n accessorFn: row => row.school_name,\n header: t('monitoringReport.table.school'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setSchool',\n school: row.original.school_id\n })\n }\n >\n {getValue()}\n \n ),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n id: 'classroom_name',\n accessorFn: row => row.classroom_name,\n header: t('monitoringReport.table.classroom'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setClassroom',\n classroom: row.original.classroom_id\n })\n }\n >\n {getValue()}\n \n ),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n accessorKey: 'assessed',\n header: t('monitoringReport.table.allStudents'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n },\n {\n header: t('monitoringReport.table.usage'),\n columns: [\n {\n accessorKey: 'game_usage',\n header: t('monitoringReport.table.games'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n },\n {\n accessorKey: 'obs_usage',\n header: t('monitoringReport.table.obs'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n }\n ]\n },\n {\n accessorKey: 'on_track_all_subdomains',\n header: t('monitoringReport.table.onTrack'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n },\n ...(withoutObservationsColumn\n ? []\n : [\n {\n id: 'obs_with_notes',\n accessorFn: row => row.obs_with_notes ?? undefined,\n header: t('monitoringReport.table.observations'),\n cell: ({ row, getValue }) => (\n \n setNotesModal({\n name: row.original.classroom_name,\n start_date: data.selection.start_date,\n end_date: data.selection.end_date,\n classroom_ids: row.original.classroom_id,\n students_count: row.original.students_count\n })\n }\n >\n {getValue() !== undefined\n ? `${getValue() || 0}% (${row.original.obs_notes_total ||\n 0})`\n : t('monitoringReport.table.none')}\n \n ),\n sortUndefined: 1\n }\n ])\n ],\n [\n i18n.language,\n data,\n isSchoolDisabled,\n isClassroomDisabled,\n withoutObservationsColumn\n ]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nimport styles from './tables.module.css'\n\nexport const ClassroomsTableKea = ({\n data,\n isClassroomDisabled,\n isSchoolDisabled,\n dispatch,\n filteredBy\n}) => {\n const { t, i18n } = useTranslation()\n const columns = useMemo(\n () => [\n {\n id: 'school_name',\n accessorFn: row => row.school_name,\n header: t('monitoringReport.table.school'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setSchool',\n school: row.original.school_id\n })\n }\n >\n {getValue()}\n \n ),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n id: 'classroom_name',\n accessorFn: row => row.classroom_name,\n header: t('monitoringReport.table.classroom'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setClassroom',\n classroom: row.original.classroom_id\n })\n }\n >\n {getValue()}\n \n ),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n id: 'completed',\n accessorFn: row => row.kea_completion ?? undefined,\n header: t('monitoringReport.table.completedKEA'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n },\n {\n id: 'emerging',\n accessorFn: row => row.students_emerging ?? undefined,\n header: t('monitoringReport.table.emerging'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n },\n {\n id: 'approach',\n accessorFn: row => row.students_approaching ?? undefined,\n header: t('monitoringReport.table.approach'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n },\n {\n id: 'demonstrating',\n accessorFn: row => row.students_demonstrating ?? undefined,\n header: t('monitoringReport.table.demonstrating'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n }\n ],\n [i18n.language, isClassroomDisabled, isSchoolDisabled]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nimport styles from './tables.module.css'\nimport { coloring, icon } from '../helper'\n\nexport const StudentsTableEca = ({\n data,\n dispatch,\n setNotesModal,\n filteredBy\n}) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'student_name',\n header: t('monitoringReport.table.student'),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n accessorKey: 'assessed',\n header: t('monitoringReport.table.assessed'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n },\n {\n header: t('monitoringReport.table.usage'),\n columns: [\n {\n accessorKey: 'game_usage',\n header: t('monitoringReport.table.games'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n },\n {\n accessorKey: 'obs_usage',\n header: t('monitoringReport.table.obs'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n }\n ]\n },\n {\n accessorKey: 'on_track_all_subdomains',\n header: t('monitoringReport.table.onTrack'),\n backGroundColor: value => coloring(value),\n cell: icon,\n sortUndefined: 1\n },\n {\n id: 'obs_with_notes',\n accessorFn: row => row.obs_with_notes ?? undefined,\n header: t('monitoringReport.table.observations'),\n cell: ({ row, getValue }) => (\n \n setNotesModal({\n name: `${row.original.first_name} ${row.original.last_name ||\n ''}`,\n start_date: data.selection.start_date,\n end_date: data.selection.end_date,\n classroom_ids: data.selection.classroom_id,\n student_ids: row.original.student_id,\n notes: row.original.attributes?.join(', ')\n })\n }\n >\n {getValue() !== undefined\n ? `${getValue()}% (${row.original.obs_notes_total || 0})`\n : t('monitoringReport.table.none')}\n \n ),\n sortUndefined: 1\n },\n {\n accessorFn: row =>\n row.attributes?.length ? row.attributes.join(', ') : '-',\n header: t('monitoringReport.table.notes'),\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n }\n ],\n [i18n.language, data]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { TanStackTable } from 'shared/components'\n\nimport styles from './tables.module.css'\n\nexport const StudentsTableKea = ({ data, dispatch, filteredBy }) => {\n const { t, i18n } = useTranslation()\n const columns = useMemo(\n () => [\n {\n id: 'student_name',\n accessorFn: row => row.student_name,\n header: t('monitoringReport.table.student'),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n id: 'completed',\n accessorFn: row => row.kea_completion ?? undefined,\n header: t('monitoringReport.table.completedKEA'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n },\n {\n id: 'emerging',\n accessorFn: row => row.students_emerging ?? undefined,\n header: t('monitoringReport.table.emerging'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n },\n {\n id: 'approach',\n accessorFn: row => row.students_approaching ?? undefined,\n header: t('monitoringReport.table.approach'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n },\n {\n id: 'demonstrating',\n accessorFn: row => row.students_demonstrating ?? undefined,\n header: t('monitoringReport.table.demonstrating'),\n cell: ({ getValue }) =>\n getValue() !== undefined ? getValue() + '%' : '-',\n\n sortUndefined: 1\n }\n ],\n [i18n.language]\n )\n\n return (\n \n )\n}\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { getDay } from 'date-fns'\nimport { useMutation } from 'react-query'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { faTimes } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nimport { RangeDatePicker, Button, StyledControl } from 'shared/components'\nimport { ReportFilters } from 'features/reports/components/report-filters/report-filters'\nimport { fetchMonitoringReportNotesMutation } from 'lib/api'\n\nimport styles from './filters.module.css'\n\nexport const Filters = ({ dispatch, options, data, handleSearch }) => {\n const [search, setSearch] = useState(options.search ?? '')\n const { t } = useTranslation()\n const fetchUrl = useMutation(fetchMonitoringReportNotesMutation())\n const shouldShowDownloadNotesButton = useMemo(\n () =>\n data &&\n (data.selection.classroom_id\n ? data.report_data.students\n : data.report_data\n )?.some(({ obs_with_notes }) => obs_with_notes !== null),\n [data]\n )\n useEffect(() => {\n if (options.search !== search) {\n setSearch(options.search)\n }\n }, [options.search])\n\n return (\n \n
\n {data && (\n \n dispatch({ type: 'setDates', start, end })\n }\n defaultDate={{\n start: data.selection.start_date,\n end: data.selection.end_date\n }}\n filterDate={date => getDay(date) === 1}\n />\n )}\n {data?.selection.classroom_id && (\n
\n {`${data.completion_percent ?? 0}% \n ${t('monitoringReport.assessmentsComplete')}`}\n
\n )}\n
\n {\n setSearch(e.target.value)\n handleSearch(e.target.value)\n }}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault()\n setSearch(search)\n handleSearch(search, true)\n }\n }}\n />\n {\n setSearch('')\n handleSearch('', true)\n }}\n />\n
\n
\n\n {shouldShowDownloadNotesButton && data?.selection.classroom_id && (\n \n fetchUrl\n .mutateAsync({\n start_date: data.selection.start_date,\n end_date: data.selection.end_date,\n classroom_ids: !data.selection.classroom_id\n ? data.report_data?.map(({ classroom_id }) => classroom_id)\n : data.selection.classroom_id,\n student_ids: data.selection.classroom_id\n ? data.report_data.students?.map(\n ({ student_id }) => student_id\n )\n : null\n })\n .then(resp => {\n if (resp.download_file_locations?.xlsx) {\n window.location.href = resp.download_file_locations.xlsx\n } else {\n toast.error(t('basicComponents.noDataFound'))\n }\n })\n .catch(e =>\n e.status === 504\n ? toast.error(t('monitoringReport.timeoutError'))\n : toast.error(e.response.data.error.message)\n )\n }\n >\n {t('monitoringReport.downloadNotes')}\n \n )}\n
\n )\n}\n","/* eslint-disable no-unused-expressions */\nimport React, { useMemo, useState, useRef } from 'react'\nimport { Modal } from 'react-bootstrap'\nimport { useQuery } from 'react-query'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { Tabs, TabList, TabPanel, Tab } from 'react-tabs'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAngleDown } from '@fortawesome/free-solid-svg-icons'\n\nimport {\n Loader,\n NoData,\n PrimaryLink,\n BouncingArrow,\n Button\n} from 'shared/components'\nimport { fetchMonitoringReportNotesQuery } from 'lib/api'\nimport styles from './notes-modal.module.css'\n\nexport const NotesModal = ({ parameters, onHide }) => {\n const { t } = useTranslation()\n const ref = useRef(null)\n const { isLoading, data } = useQuery(\n fetchMonitoringReportNotesQuery({\n start_date: format(new Date(parameters.start_date), 'yyyy-MM-dd'),\n end_date: format(new Date(parameters.end_date), 'yyyy-MM-dd'),\n classroom_ids: parameters.classroom_ids || null,\n student_ids: parameters.student_ids || null\n })\n )\n const [observationsWithNotes, observationsWithoutNotes] = useMemo(() => {\n const obsWithNotes = {}\n const obsWithoutNotes = {}\n data?.observations?.forEach(obs => {\n if (obs.observation) {\n obsWithNotes[obs.student] = [...(obsWithNotes[obs.student] || []), obs]\n } else {\n obsWithoutNotes[obs.student] = [\n ...(obsWithoutNotes[obs.student] || []),\n obs\n ]\n }\n })\n return [obsWithNotes, obsWithoutNotes]\n }, [data])\n\n return (\n \n \n
\n
\n {parameters.name} \n \n (window.location.href = data.download_file_locations.xlsx)\n }\n >\n {t('monitoringReport.notesModal.downloadAsExcel')}\n \n
\n
\n {format(new Date(parameters.start_date), 'M/d/yy')} -{' '}\n {format(new Date(parameters.end_date), 'M/d/yy')}\n
\n
\n {!parameters.student_ids\n ? t('monitoringReport.notesModal.studentsCount', {\n number: parameters.students_count\n })\n : t('monitoringReport.notesModal.notes', {\n notes: parameters.notes\n })}\n
\n
\n
\n \n {isLoading && }\n {data &&\n (data.observations?.length ? (\n \n \n \n {t('monitoringReport.notesModal.observationsWithNotes')} (\n {Object.values(observationsWithNotes)?.flat().length})\n \n \n {t('monitoringReport.notesModal.observationsWithoutNotes')} (\n {Object.values(observationsWithoutNotes)?.flat().length})\n \n \n \n
\n {Object.keys(observationsWithNotes).length ? (\n Object.entries(\n observationsWithNotes\n ).map(([key, value]) => (\n \n ))\n ) : (\n \n )}\n
\n
\n \n
\n {Object.keys(observationsWithoutNotes).length ? (\n Object.entries(\n observationsWithoutNotes\n ).map(([key, value]) => (\n \n ))\n ) : (\n \n )}\n
\n
\n
\n ) : (\n \n ))}\n
\n\n \n
\n )\n}\n\nconst StudentObservations = ({ data: [key, value], isStudentLevel }) => {\n const [expanded, setExpanded] = useState(isStudentLevel)\n const { t } = useTranslation()\n return (\n
\n setExpanded(!expanded)}>\n {key}\n \n {expanded &&\n value.map((observation, index) => (\n
\n {observation.objectives.map(objective => (\n
\n
{objective || '-'}
\n
{observation.scoring}
\n
\n ))}\n\n {observation.observation && (\n
{observation.observation}
\n )}\n
\n {t('monitoringReport.notesModal.collectedBy')}{' '}\n {observation.assessors?.join(', ')},{' '}\n {format(new Date(observation.assessment_date), 'MM/dd/yyyy')}\n
\n
\n ))}\n
\n )\n}\n","import React, { useState } from 'react'\nimport { useLocation, useHistory } from 'react-router-dom'\nimport queryString from 'query-string'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport {\n monitoringReportURL,\n certificationStatusReportURL,\n homeReportURL\n} from 'lib/links'\nimport { useAuthContext } from 'features/auth'\nimport { Button, PrimaryLink, Loader, PrintModal } from 'shared/components'\n\nimport styles from './monitoring-report-wrapper.module.css'\n\nexport const MonitoringReportWrapper = ({\n children,\n subtitle,\n // If nothing is passed, it will take you back to the home page of the reports\n goBack,\n // if you want to disable excel or pdf export\n isExportExcel = true,\n isExportPdf = true,\n // for the loader\n isFetching,\n isFetched,\n isLoading,\n handleExportExcel,\n fileTitle\n}) => {\n const [printModal, setPrintModal] = useState(false)\n const { t } = useTranslation()\n const history = useHistory()\n const { pathname, search } = useLocation()\n const { isDistrictAdmin, isSchoolAdmin, isStateAdmin } = useAuthContext()\n\n const query = queryString.parse(search)\n const params = '?' + queryString.stringify(query)\n\n if (!isDistrictAdmin && !isSchoolAdmin && !isStateAdmin) return null\n\n return (\n <>\n \n
\n {!subtitle ? null : (\n
{subtitle}
\n )}\n
\n {t(`report.${pathname.slice(9)}Report`)}\n
\n\n
\n (goBack ? goBack() : history.push(homeReportURL))}\n >\n {t('report.back')}\n \n setPrintModal(true)}\n purple\n disabled={isLoading}\n >\n {t('report.print')}\n \n
\n
\n\n
\n \n {t('report.monitoringReport')}\n \n \n {t('report.certification-statusReport')}\n \n
\n\n {children}\n {isLoading && }\n \n setPrintModal(false)}\n handleExportExcel={handleExportExcel}\n />\n \n )\n}\n","import React, { useCallback, useMemo, useState } from 'react'\nimport { useMutation, useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { useLocation } from 'react-router-dom'\nimport queryString from 'query-string'\nimport { debounce } from 'lodash'\nimport {\n fetchMonitoringReportExcelMutation,\n fetchMonitoringReportQuery\n} from 'lib/api'\nimport { monitoringReport } from 'lib/links'\nimport { PageWrapper } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\n\nimport { toast } from 'react-toastify'\nimport {\n DistrictsTableEca,\n DistrictsTableKea,\n ClassroomsTableEca,\n ClassroomsTableKea,\n StudentsTableKea,\n StudentsTableEca\n} from './tables'\nimport { Filters } from './components/filters/filters'\nimport { NotesModal } from './components/notes-modal/notes-modal'\nimport { useReportsReducer } from '../hooks/use-reports-reducer'\nimport { MonitoringReportWrapper } from '../components/monitoring-report-wrapper/monitoring-report-wrapper'\n\nexport const MonitoringReport = () => {\n const [notesModal, setNotesModal] = useState(null)\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n\n const { t, i18n } = useTranslation()\n const {\n isStateAdmin,\n isDistrictAdmin,\n isSchoolAdmin,\n assessmentPurpose,\n isKea\n } = useAuthContext()\n\n const { mutateAsync: getExcel } = useMutation(\n fetchMonitoringReportExcelMutation()\n )\n const { isLoading, data, isFetching, isFetched } = useQuery({\n ...fetchMonitoringReportQuery({\n organization: params.organization,\n school: params.school,\n classroom: params.classroom,\n end: params.end,\n start: params.start,\n language: i18n.language,\n assessment_purpose: assessmentPurpose || 'ECA',\n page: params.page,\n role: params.role,\n order_by: params.order_by,\n sort_by: params.sort_by,\n full_search: params.search?.trim() || undefined\n }),\n keepPreviousData: true\n })\n const { options, dispatch } = useReportsReducer(\n params,\n monitoringReport,\n data?.selection\n )\n // for Filter By\n const filteredBy = useMemo(\n () => ({\n organization: data?.selection?.organization_name,\n school: data?.selection.school_name,\n classroom: data?.selection.classroom_name\n }),\n [data]\n )\n\n const debounceSearch = useCallback(\n debounce(\n value =>\n dispatch({\n type: 'setOptions',\n options: {\n search: value,\n page: 0\n }\n }),\n 1000\n ),\n []\n )\n const handleSearch = useCallback(\n (value, withoutDebounce) => {\n if (withoutDebounce) {\n dispatch({\n type: 'setOptions',\n options: {\n search: value,\n page: 0\n }\n })\n return\n }\n debounceSearch(value)\n },\n [debounceSearch]\n )\n\n const noPagination =\n data?.total / (data?.pagination.page_size || 1) < 1 ||\n data?.total / (data?.pagination.page_size || 1) === 1\n\n const handleGetExcel = useCallback(\n params =>\n getExcel({\n organization: params.organization,\n school: params.school,\n classroom: params.classroom,\n end: params.end,\n start: params.start,\n language: i18n.language,\n assessment_purpose: assessmentPurpose || 'ECA',\n page: params.page,\n role: params.role,\n order_by: params.order_by,\n sort_by: params.sort_by,\n full_search: params.search?.trim() || undefined,\n file_format: 'xlsx'\n })\n .then(resp => {\n if (!resp?.file_link) {\n throw new Error()\n }\n window.open(resp.file_link, '_blank')\n })\n .catch(() => toast.error(t('monitoringReport.error.excel'))),\n [i18n.language, assessmentPurpose]\n )\n\n return (\n \n dispatch({ type: 'setBack' }))\n }\n generationDate={data?.last_updated}\n handleExportExcel={!noPagination && (() => handleGetExcel(params))}\n fileTitle={isKea ? 'KEA Monitoring Report' : 'Monitoring Report'}\n >\n \n\n {data &&\n isKea &&\n (data.selection.classroom_id ? (\n \n ) : data.selection.organization_id ||\n isDistrictAdmin ||\n isSchoolAdmin ? (\n \n ) : (\n {\n const pageIndex = updater({\n pageIndex: Number(options.page ?? 0),\n pageSize: data.pagination.page_size\n })?.pageIndex\n dispatch({\n type: 'setOptions',\n options: {\n page: String(pageIndex)\n }\n })\n }}\n onSortingChange={updater => {\n const { id, desc } = updater()?.[0]\n dispatch({\n type: 'setOptions',\n options: {\n order_by: desc ? 'desc' : 'asc',\n sort_by: id\n }\n })\n }}\n sortBy={[\n {\n id: data.sorting.sort_by,\n desc: data.sorting.order_by === 'desc'\n }\n ]}\n />\n ))}\n\n {data &&\n !isKea &&\n (data.selection.classroom_id ? (\n \n ) : data.selection.organization_id ||\n isDistrictAdmin ||\n isSchoolAdmin ? (\n \n ) : (\n {\n const pageIndex = updater({\n pageIndex: Number(options.page ?? 0),\n pageSize: data.pagination.page_size\n })?.pageIndex\n dispatch({\n type: 'setOptions',\n options: {\n page: String(pageIndex)\n }\n })\n }}\n onSortingChange={updater => {\n const { id, desc } = updater()?.[0]\n dispatch({\n type: 'setOptions',\n options: {\n order_by: desc ? 'desc' : 'asc',\n sort_by: id\n }\n })\n }}\n sortBy={[\n {\n id: data.sorting.sort_by,\n desc: data.sorting.order_by === 'desc'\n }\n ]}\n />\n ))}\n\n {notesModal && (\n setNotesModal(null)}\n />\n )}\n \n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PercentageScale, PrimaryLink } from 'shared/components'\n\nimport styles from './certification.module.css'\n\nexport const Certification = ({ certification }) => {\n const { t } = useTranslation()\n return (\n
\n
{certification.percentage}
\n
\n {t('certificationStatusReport.percentage', {\n certification: certification.name\n })}\n
\n \n
\n {certification.name}: {certification.description}\n
\n
\n window.open(certification.download_link)}>\n {t('certificationStatusReport.download')}\n \n
\n
\n )\n}\n","import React from 'react'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { fetchCertificationStatusReportQuery } from 'lib/api'\nimport { NoData, PageWrapper } from 'shared/components'\n\nimport { Certification } from './components/certification/certification'\nimport styles from './certification-status-container.module.css'\nimport { MonitoringReportWrapper } from '../components/monitoring-report-wrapper/monitoring-report-wrapper'\n\nexport const CertificationStatusReport = () => {\n const { t, i18n } = useTranslation()\n const { isLoading, data } = useQuery(\n fetchCertificationStatusReportQuery({ language: i18n.language })\n )\n\n return (\n \n \n
\n {data &&\n data.map(certification => (\n \n ))}\n
\n {!isLoading && !data?.length && (\n \n )}\n \n
\n )\n}\n","import React from 'react'\nimport { Link } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faFile,\n faChartBar,\n faDesktop\n} from '@fortawesome/free-solid-svg-icons'\n\nimport { PageWrapper, PrimaryLink, Heading } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport {\n objectiveReportURL,\n bulkReportURL,\n monitoringReportURL,\n keaReportURL\n} from 'lib/links'\nimport styles from './report-home.module.css'\n\nexport const ReportHome = () => {\n const { t } = useTranslation()\n const {\n isSchoolAdmin,\n isDistrictAdmin,\n isStateAdmin,\n isKea\n } = useAuthContext()\n return (\n \n {t('report.home.cognitiveToyboxReports')}\n
\n {!isStateAdmin && (\n
\n \n
\n
\n {t('report.home.ongoingReporting')}\n
\n
{t('report.home.ongoingReportingText')}
\n
\n \n {t('report.home.seeOngoingReports')}\n \n
\n
\n
\n )}\n {!isStateAdmin && !isKea && (\n
\n \n
\n
\n {t('report.home.checkpointSummaryReports')}\n
\n
{t('report.home.checkpointSummaryReportsText')}
\n
\n \n {t('report.home.seeCheckpointSummaryReports')}\n \n
\n
\n
\n )}\n {(isSchoolAdmin || isDistrictAdmin || isStateAdmin) && (\n
\n \n
\n
\n {t('report.home.monitoringReports')}\n
\n
{t('report.home.monitoringReportsText')}
\n
\n \n {t('report.home.seeMonitoringReports')}\n \n
\n
\n
\n )}\n
\n
\n )\n}\n","import { useState, useEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { getDashboardInfo } from 'lib/api'\n\nexport const useChartData = (datapoint, params, dependencies) => {\n const { i18n } = useTranslation()\n const [data, setData] = useState(null)\n const [loading, setLoading] = useState(true)\n const [error, setError] = useState(false)\n\n const fetchData = async () => {\n setLoading(true)\n try {\n const { DataPoint, GenerationTimestamp } = await getDashboardInfo({\n datapoint,\n ...params,\n language: i18n.language\n })\n\n if (DataPoint && DataPoint.hidden) {\n setData(null)\n } else {\n setData({ ...DataPoint, GenerationTimestamp })\n }\n } catch (e) {\n setError(e)\n } finally {\n setLoading(false)\n\n const dashboardInfo = await getDashboardInfo({\n ...params,\n datapoint,\n language: i18n.language\n })\n setData({\n ...dashboardInfo?.DataPoint,\n GenerationTimestamp: dashboardInfo?.GenerationTimestamp\n })\n }\n }\n\n const dependence = dependencies?.length\n ? [...dependencies, i18n.language]\n : [i18n.language]\n\n useEffect(() => {\n if (datapoint) {\n fetchData()\n }\n }, dependence)\n\n return { data, loading, error, setData, fetchData }\n}\n","// https://stackoverflow.com/questions/48172772/time-zone-issue-involving-date-fns-format\nexport const transformDateToISO = date => {\n const dt = new Date(date)\n return new Date(dt.valueOf() + dt.getTimezoneOffset() * 60 * 1000)\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nexport const getIcon = icon => (\n \n)\n","import React, { useState } from 'react'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport ReactTooltip from 'react-tooltip'\nimport { Modal } from 'react-bootstrap'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faArrowDown,\n faArrowUp,\n faInfoCircle\n} from '@fortawesome/free-solid-svg-icons'\nimport { PrimaryLink } from 'shared/components'\nimport { getIcon } from '../helpers'\nimport styles from '../first.module.css'\n\nexport const StudentsOnTrack = ({ data }) => {\n const [showDetails, setShowDetails] = useState(false)\n const { t } = useTranslation()\n const studentChange = data.percent_student_on_track_change\n const secondHasValue = typeof data.percent_students_on_track === 'number'\n return (\n
\n
\n
\n {secondHasValue\n ? `${(data.percent_students_on_track * 100).toFixed(0)}%`\n : data.percent_students_on_track}{' '}\n {t('chart.first.students')} {t('chart.first.onTrack')}\n
\n \n
\n
\n setShowDetails(true)}>\n {t('chart.seeDetails')}\n \n
\n \n {t('chart.first.studentsOnTrackTooltip')}\n \n {showDetails && (\n setShowDetails(false)}>\n \n {studentChange > 0 && getIcon(faArrowUp)}\n {studentChange < 0 && getIcon(faArrowDown)}\n {studentChange}\n {secondHasValue && '%'} {t('chart.first.fromLastWk')}\n \n \n )}\n
\n )\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { faArrowDown, faArrowUp } from '@fortawesome/free-solid-svg-icons'\nimport styles from '../first.module.css'\nimport { getIcon } from '../helpers'\n\nexport const StudentsAssessed = ({ data }) => {\n const { t } = useTranslation()\n const studentsChange = data.active_students_change\n return (\n
\n
\n
{data.active_students_count}
\n
\n
\n {studentsChange > 0 && getIcon(faArrowUp)}\n {studentsChange < 0 && getIcon(faArrowDown)}\n {studentsChange}\n
\n
{t('chart.first.fromLastWk')}
\n
\n
\n
\n {t('chart.first.studentsAssessed')}\n
\n
\n )\n}\n","import React, { useState } from 'react'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { Modal } from 'react-bootstrap'\nimport ReactTooltip from 'react-tooltip'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faArrowDown,\n faArrowUp,\n faInfoCircle\n} from '@fortawesome/free-solid-svg-icons'\nimport { PrimaryLink } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { getIcon } from '../helpers'\nimport styles from '../first.module.css'\n\nexport const ClassroomChange = ({ data }) => {\n const [showDetails, setShowDetails] = useState(false)\n const { isKea } = useAuthContext()\n const { t } = useTranslation()\n const classroomChange = data.active_classrooms_count_change\n return (\n
\n
\n
\n {data.active_classroom_count}/{data.total_classroom_count}{' '}\n {t('chart.first.active')} {t('chart.first.classrooms')}\n
\n
\n {isKea\n ? t('chart.first.keasComplete', {\n percent: data.studentsCompletion || 0\n })\n : t('chart.first.assessmentsComplete', {\n percent: Math.round(\n (data.active_classroom_count * 100) /\n data.total_classroom_count\n )\n })}\n
\n \n
\n
\n setShowDetails(true)}>\n {t('chart.seeDetails')}\n \n
\n \n {t('chart.first.classroomChangeTooltip')}\n \n {showDetails && (\n setShowDetails(false)}>\n \n {classroomChange > 0 && getIcon(faArrowUp)}\n {classroomChange < 0 && getIcon(faArrowDown)}\n {classroomChange} {t('chart.first.fromLastWk')}\n \n \n )}\n
\n )\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { faArrowDown, faArrowUp } from '@fortawesome/free-solid-svg-icons'\nimport { getIcon } from '../helpers'\nimport styles from '../first.module.css'\n\nexport const TeacherStudentsOnTrack = ({ data }) => {\n const { t } = useTranslation()\n const studentChange = data.percent_student_on_track_change\n const secondHasValue = typeof data.percent_students_on_track === 'number'\n return (\n \n
\n
\n {secondHasValue\n ? `${(data.percent_students_on_track * 100).toFixed(0)}%`\n : data.percent_students_on_track}\n
\n
\n
\n {studentChange > 0 && getIcon(faArrowUp)}\n {studentChange < 0 && getIcon(faArrowDown)}\n {studentChange}\n {secondHasValue && '%'}\n
\n
{t('chart.first.fromLastWk')}
\n
\n
\n
\n {t('chart.first.students')} {t('chart.first.onTrack')}\n
\n \n )\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons'\nimport ReactTooltip from 'react-tooltip'\nimport styles from '../first.module.css'\n\nexport const KeaOutcomes = ({ data }) => {\n const { t } = useTranslation()\n return (\n <>\n
\n
\n
\n
\n
\n {Math.round(\n (data.students_emerging /\n (data.total_students_completed || 1)) *\n 100\n )}\n %\n
\n
{t('chart.first.emerging')}
\n
\n
\n
\n {Math.round(\n (data.students_approaching /\n (data.total_students_completed || 1)) *\n 100\n )}\n %\n
\n
{t('chart.first.approaching')}
\n
\n
\n
\n {Math.round(\n (data.students_demonstrating /\n (data.total_students_completed || 1)) *\n 100\n )}\n %\n
\n
{t('chart.first.demonstrating')}
\n
\n
\n \n
\n
\n \n {data.info_message}\n \n \n )\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { format } from 'date-fns'\nimport styles from '../first.module.css'\n\nconst today = new Date()\nconst hours = 1000 * 60 * 60 * 24\n\nexport const AssessmentWindow = ({ data, isKea }) => {\n const { t } = useTranslation()\n const isNoCheckpoints = !data.start || !data.end\n const isCompleted = !data.end ? false : data.end < today\n const isStarted = data.start < today\n return (\n
\n
\n
\n {isKea &&\n (isNoCheckpoints ? (\n
{t('chart.first.assessmentKeaNo')}
\n ) : isCompleted ? (\n
\n {t('chart.first.assessmentKeaCompleted')}\n
\n ) : isStarted ? (\n <>\n
\n {Math.round((data.end - today) / hours) === 1\n ? t('chart.first.assessmentKeaStartedDay', {\n days: 1\n })\n : t('chart.first.assessmentKeaStarted', {\n days: Math.round((data.end - today) / hours)\n })}\n
\n
\n {t('chart.first.lastDay', {\n last_day: format(data.end, 'MM/dd/yyyy')\n })}\n
\n \n ) : (\n <>\n
\n {Math.round((data.start - today) / hours) === 1\n ? t('chart.first.assessmentKeaEndedDay', {\n days: 1\n })\n : t('chart.first.assessmentKeaEnded', {\n days: Math.round((data.start - today) / hours)\n })}\n
\n
\n {t('chart.first.firstDay', {\n first_day: format(data.start, 'MM/dd/yyyy')\n })}\n
\n \n ))}\n\n {!isKea &&\n (isNoCheckpoints ? (\n
\n {t('chart.first.assessmentEcaNo')}\n
\n ) : isCompleted ? (\n
\n {t('chart.first.assessmentEcaCompleted')}{' '}\n
\n ) : isStarted ? (\n <>\n
\n {Math.round((data.end - today) / hours) + 1 === 1\n ? t('chart.first.assessmentEcaStartedDay', {\n days: 1\n })\n : t('chart.first.assessmentEcaStarted', {\n days: Math.round((data.end - today) / hours) + 1\n })}\n
\n
\n {t('chart.first.lastDay', {\n last_day: format(data.end, 'MM/dd/yyyy')\n })}\n
\n \n ) : (\n <>\n
\n {Math.round((data.start - today) / hours) === 1\n ? t('chart.first.assessmentEcaEndedDay', {\n days: 1\n })\n : t('chart.first.assessmentEcaEnded', {\n days: Math.round((data.start - today) / hours)\n })}\n
\n
\n {t('chart.first.firstDay', {\n first_day: format(data.start, 'MM/dd/yyyy')\n })}\n
\n \n ))}\n
\n
\n
\n )\n}\n","import React from 'react'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\n\nimport { getDashboardOverviewQuery } from 'lib/api'\nimport { useAuthContext } from 'features/auth'\nimport { useChartData } from 'features/dashboard/hooks'\nimport { ChartSkeletonFirst } from 'features/dashboard'\nimport { transformDateToISO } from 'lib/transform-date-to-iso'\nimport { StudentsOnTrack } from './components/students-on-track'\nimport { StudentsAssessed } from './components/students-assessed'\nimport { ClassroomChange } from './components/classroom-change'\nimport { TeacherStudentsOnTrack } from './components/teacher-students-on-track'\nimport { KeaOutcomes } from './components/kea-outcomes'\nimport { AssessmentWindow } from './components/assessment-window'\n\nimport styles from './first.module.css'\n\nexport const _1stChartContainer = () => {\n const { i18n } = useTranslation()\n const { isTeacher, isKea, assessmentPurpose } = useAuthContext()\n const { data, loading } = useChartData('ActiveData')\n const { data: keaData, isLoading } = useQuery({\n ...getDashboardOverviewQuery({\n language: i18n.language,\n assessment_purpose: assessmentPurpose\n })\n })\n\n if (loading || isLoading || !data || !keaData) {\n return (\n
\n \n \n \n
\n )\n }\n\n if ((!loading && !data) || data.hidden) {\n return null\n }\n\n return (\n
\n {!isTeacher && (\n <>\n \n {isKea ? (\n \n ) : (\n \n )}\n \n )}\n\n {isTeacher && (\n <>\n \n {isKea ? (\n \n ) : (\n \n )}\n \n )}\n\n {keaData && (\n \n )}\n
\n )\n}\n","import { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { fetchAssessmentCompletionChartQuery } from 'lib/api'\n\nexport const useAssessmentCompletionData = options => {\n const { i18n } = useTranslation()\n const { data, isLoading, isFetching, isFetched, refetch } = useQuery({\n ...fetchAssessmentCompletionChartQuery({\n ...options,\n language: i18n.language\n }),\n keepPreviousData: true\n })\n return { data, isLoading, isFetching, isFetched, refetch }\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { NoData, Modal } from 'shared/components'\nimport { Tabs, TabList, TabPanel, Tab } from 'react-tabs'\nimport { ObservationCell } from 'features/observations'\nimport { useAuthContext } from 'features/auth'\n\nimport styles from './student-modal.module.css'\nimport { useAssessmentCompletionData } from '../../hooks/use-assessment-completion-data'\n\nexport const StudentModal = ({ selectedStudent, timeRange, onHide }) => {\n const { t } = useTranslation()\n const { assessmentPurpose, isKea } = useAuthContext()\n const { data, isLoading, refetch } = useAssessmentCompletionData({\n student: selectedStudent,\n time_range: timeRange,\n assessment_purpose: assessmentPurpose\n })\n\n return (\n \n {data && (\n <>\n \n \n {data.result.first_name} {data.result.last_name ?? ''}\n \n {data.result.time_range_display}\n \n {t('charts.assessmentCompletion.notes')}{' '}\n {data.result.attributes?.length\n ? data.result.attributes.join(', ')\n : '-'}\n \n \n \n \n \n \n {t('charts.assessmentCompletion.incompleteObservations')}\n \n \n {t('charts.assessmentCompletion.completeObservations')}\n \n \n \n {data.result.incomplete_observations?.length ? (\n data.result.incomplete_observations.map(observation => (\n \n
{observation.objective}
\n {!isKea && (\n \n )}\n \n ))\n ) : (\n \n )}\n
\n \n {data.result.complete_observations?.length ? (\n data.result.complete_observations.map(observation => (\n \n
{observation.objective}
\n {!isKea && (\n \n )}\n \n ))\n ) : (\n \n )}\n
\n
\n \n \n {t('charts.assessmentCompletion.incompleteGames')}\n {t('charts.assessmentCompletion.completeGames')}\n \n \n {data.result.incomplete_games?.length ? (\n data.result.incomplete_games.map(game => (\n \n {game.objective}\n \n ))\n ) : (\n \n )}\n \n \n {data.result.complete_games?.length ? (\n data.result.complete_games.map(game => (\n \n {game.objective}\n \n ))\n ) : (\n \n )}\n \n \n
\n \n )}\n
\n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { get } from 'lodash'\nimport { StyledSelect } from 'shared/components'\n\nimport styles from './dashboard-select.module.css'\nimport { useDashboardFiltersData } from '../../hooks/use-dashboard-filters-data'\n\nexport const DashboardSelect = ({\n // for school and classroom (because data not always has these fields)\n queryParameter,\n options,\n dispatch,\n field,\n dispatchType,\n path,\n title,\n // that's for fields that has unusual label (student, time_range)\n // It comes in the form of a function\n createCustomLabel,\n // use that in assessment completion \"All Programs\"\n hideIfNoOptions,\n onClick,\n ...rest\n}) => {\n const [selectedId, setSelectedId] = useState(null)\n const { data, isLoading } = useDashboardFiltersData(queryParameter)\n\n const filterOptions = useMemo(() => {\n const processedData =\n get(data, path, [])?.map(item => ({\n value: item[`${field}_id`],\n label: createCustomLabel ? createCustomLabel(item) : item.name,\n is_default: item.is_default\n })) || []\n const defaultValue = processedData.find(({ is_default }) => is_default)\n // for some filters (like the checkpoint) you should show options\n // without the \"All ...\" option\n // data for these filters should has is_default field\n const initialOption = defaultValue || { label: title, value: null }\n // This is used to select the correct filter\n // if the user did not make a selection through the selector\n // but through a link in a table, for example\n const selectedValue =\n options[field] &&\n processedData.find(({ value }) => value === options[field])\n setSelectedId(selectedValue || initialOption)\n return defaultValue ? processedData : [initialOption, ...processedData]\n }, [data, options[field], title])\n\n if (hideIfNoOptions && filterOptions.length < 2) {\n return null\n }\n\n return (\n {\n setSelectedId(item)\n dispatch({\n type: dispatchType,\n [field]: item.value\n })\n if (onClick) onClick()\n }}\n isDisabled={isLoading}\n {...rest}\n />\n )\n}\n","import { useQuery } from 'react-query'\nimport { fetchDashboardFiltersQuery } from 'lib/api'\n\nexport const useDashboardFiltersData = options => {\n const { data, isLoading } = useQuery({\n ...fetchDashboardFiltersQuery(options),\n keepPreviousData: true\n })\n return { data, isLoading }\n}\n","import React from 'react'\nimport { Loader } from 'shared/components'\n\nimport styles from './chart.module.css'\n\nexport const ChartLoaderOverlay = () => (\n
\n \n
\n)\n","import React from 'react'\nimport Skeleton from 'react-loading-skeleton'\n\nimport styles from './chart-skeleton.module.css'\n\nimport { Chart } from '../chart'\n\nexport const ChartSkeleton = ({ isFirst }) =>\n isFirst ? (\n
\n \n \n \n
\n ) : (\n <>\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n \n )\n","import React, { useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport { format } from 'date-fns'\nimport { useReactToPrint } from 'react-to-print'\nimport { useTranslation } from 'react-i18next'\n\nimport { exportExcel as handleExportExcel } from 'lib/exports'\nimport { Button } from 'shared/components'\nimport { useDashboardContext } from 'features/dashboard/hooks/use-dashboard-context'\nimport styles from './chart.module.css'\nimport { ChartLoaderOverlay } from './chart-loader-overlay'\nimport { ChartSkeleton } from '../../chart-skeleton/chart-skeleton'\n\nexport const Chart = ({\n children,\n className,\n isLoading,\n isFetching,\n exportExcel,\n exportExcelFn,\n excelLoading,\n printTitle,\n generationDate,\n expanded = false,\n fullHeight,\n ...props\n}) => {\n const { isExpandable } = useDashboardContext()\n const [isExpanded, setExpanded] = useState(expanded)\n const { t } = useTranslation()\n const chartRef = useRef()\n const handlePrint = useReactToPrint({\n content: () => chartRef.current\n })\n return (\n \n
\n {isLoading ? : children}\n {isFetching && }\n
\n\n
\n {generationDate && (\n
\n {t('charts.lastUpdated')}\n
{format(new Date(generationDate), 'M/d/yy h:mm a')}\n
\n )}\n \n {exportExcel && (\n \n exportExcelFn\n ? exportExcelFn()\n : handleExportExcel(\n chartRef.current,\n printTitle || 'CTB_Dashboard'\n )\n }\n disabled={!chartRef.current || excelLoading}\n >\n {t('charts.exportAsExcel')}\n \n )}\n {isExpandable && (\n \n )}\n
\n \n )\n}\n","import { Chart as ChartComponent } from './components/chart'\nimport { ChartFilters } from './components/chart-filters'\nimport { ChartCheckboxes } from './components/chart-checkboxes'\nimport { ChartBody } from './components/chart-body'\nimport { ChartTitle } from './components/chart-title'\nimport { ChartDescription } from './components/chart-description'\nimport { ChartLoaderOverlay } from './components/chart-loader-overlay'\n\nChartComponent.Filters = ChartFilters\nChartComponent.Checkboxes = ChartCheckboxes\nChartComponent.Body = ChartBody\nChartComponent.Title = ChartTitle\nChartComponent.Description = ChartDescription\nChartComponent.LoaderOverlay = ChartLoaderOverlay\n\nexport const Chart = ChartComponent\n","import React from 'react'\nimport classNames from 'classnames'\n\nimport styles from './chart.module.css'\n\nexport const ChartFilters = ({ children, className }) => (\n
{children}
\n)\n","import React from 'react'\n\nimport styles from './chart.module.css'\n\nexport const ChartCheckboxes = ({ children }) => (\n
{children}
\n)\n","import React, { useRef } from 'react'\nimport classNames from 'classnames'\nimport { BouncingArrow } from 'shared/components'\n\nimport styles from './chart.module.css'\n\nexport const ChartBody = ({\n children,\n fullHeight,\n withoutArrow,\n className\n}) => {\n const ref = useRef()\n return (\n <>\n \n {children}\n \n {!withoutArrow && }\n \n )\n}\n","import React from 'react'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport Logo from 'assets/logo-small.png'\nimport { Button } from 'shared/components'\n\nimport styles from './chart.module.css'\n\nexport const ChartTitle = ({ children, goBack }) => {\n const { t } = useTranslation()\n return (\n
\n \n {goBack && (\n \n {t('charts.back')}\n \n )}\n
\n {children}\n
\n
\n {t('charts.generated')}: {format(Date.now(), 'MM/dd/yyyy')}\n
\n
\n )\n}\n","import React from 'react'\n\nimport styles from './chart.module.css'\n\nexport const ChartDescription = ({ children }) => (\n
{children}
\n)\n","import React, { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { format } from 'date-fns'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes } from '@fortawesome/free-solid-svg-icons'\n\nimport { useAuthContext } from 'features/auth'\nimport { StyledControl, SwitchOptions } from 'shared/components'\nimport { DashboardSelect } from 'features/dashboard/new-components/dashboard-select/dashboard-select'\nimport styles from './filters.module.css'\nimport { Chart } from '../../../../new-components/chart'\n\nexport const Filters = ({ options, handleSearch, dispatch }) => {\n const { t } = useTranslation()\n const { isTeacher, isKea } = useAuthContext()\n const [search, setSearch] = useState(options.search ?? '')\n\n useEffect(() => {\n if (options.search !== search) {\n setSearch(options.search)\n }\n }, [options.search])\n\n return (\n \n
\n {!isKea && (\n \n item.time_range_name +\n (item.start_date && item.end_date\n ? ` (${format(new Date(item.start_date), 'MM/dd')} - ${format(\n new Date(item.end_date),\n 'MM/dd'\n )})`\n : '')\n }\n />\n )}\n {!isTeacher && (\n \n )}\n
\n {\n setSearch(e.target.value)\n handleSearch(e.target.value)\n }}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault()\n setSearch(search)\n handleSearch(search, true)\n }\n }}\n />\n {\n setSearch('')\n handleSearch('', true)\n }}\n />\n
\n
\n
\n \n dispatch({ type: 'setScheduled', scheduled: state })\n }\n />\n
\n
\n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { format } from 'date-fns'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nexport const ClassroomsTable = ({\n data,\n dispatch,\n options,\n filteredBy,\n isClassroomsDisabled\n}) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'classroom.name',\n header: t('charts.table.classroom'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setClassroom',\n classroom: row.original.classroom.classroom_id\n })\n }\n >\n {getValue()}\n \n ),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n accessorKey: options.scheduled\n ? 'scheduled.completion'\n : 'all.total_assessments',\n header: options.scheduled\n ? t('charts.table.percentScheduled')\n : t('charts.table.taken'),\n cell: ({ getValue, row }) =>\n options.scheduled ? (\n \n {row.original.scheduled?.total_assessments || 0} /{' '}\n {row.original.scheduled?.assessments_required || 0} (\n {getValue() || 0}%)\n \n ) : (\n getValue() ?? '-'\n ),\n sortUndefined: 1\n },\n {\n id: 'last_assessed',\n accessorFn: row =>\n options.scheduled\n ? row.scheduled?.last_assessed\n : row.all?.last_assessed,\n header: t('charts.table.lastAssessed'),\n cell: ({ getValue }) =>\n getValue() ? format(new Date(getValue()), 'M/d/yy') : '-',\n meta: {\n sortingLabel: 'dates'\n },\n\n sortUndefined: 1\n }\n ],\n [i18n.language, options.scheduled]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { format } from 'date-fns'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nexport const SchoolsTable = ({\n data,\n dispatch,\n options,\n filteredBy,\n isClassroomsDisabled\n}) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'school.name',\n header: t('charts.table.school'),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return (\n \n dispatch({\n type: 'setSchool',\n school: row.original.school.school_id\n })\n }\n >\n {value}\n \n )\n },\n enableColumnFilter: true,\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n accessorKey: 'classroom.name',\n header: t('charts.table.classroom'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setClassroom',\n classroom: row.original.classroom.classroom_id\n })\n }\n >\n {getValue()}\n \n ),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n id: 'completion',\n accessorFn: row =>\n options.scheduled\n ? row.scheduled?.completion\n : row.all?.total_assessments,\n header: options.scheduled\n ? t('charts.table.percentScheduled')\n : t('charts.table.taken'),\n cell: ({ getValue, row }) =>\n options.scheduled ? (\n \n {row.original.scheduled?.total_assessments || 0} /{' '}\n {row.original.scheduled?.assessments_required || 0} (\n {getValue() || 0}%)\n \n ) : (\n getValue() ?? '-'\n ),\n sortUndefined: 1\n },\n {\n id: 'last_assessed',\n accessorFn: row =>\n options.scheduled\n ? row.scheduled?.last_assessed\n : row.all?.last_assessed,\n header: t('charts.table.lastAssessed'),\n cell: ({ getValue }) =>\n getValue() ? format(new Date(getValue()), 'M/d/yy') : '-',\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n }\n ],\n [i18n.language, options.scheduled]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { format } from 'date-fns'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nexport const OrganizationsTable = ({\n data,\n dispatch,\n options,\n filteredBy,\n onSortingChange,\n ...rest\n}) => {\n const { t, i18n } = useTranslation()\n const noPagination = rest.pageCount < 1 || rest.pageCount === 1\n\n const columns = useMemo(\n () => [\n {\n id: 'organization',\n accessorFn: row => row.organization.name,\n header: t('charts.table.district'),\n cell: ({ getValue, row }) => {\n const value = getValue()\n return (\n \n dispatch({\n type: 'setOrganization',\n organization: row.original.organization.organization_id\n })\n }\n >\n {value}\n \n )\n },\n enableColumnFilter: noPagination,\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n id: options.scheduled ? 'completion' : 'total_assessments',\n accessorFn: row =>\n options.scheduled\n ? row.scheduled?.completion\n : row.all?.total_assessments,\n header: options.scheduled\n ? t('charts.table.percentScheduled')\n : t('charts.table.taken'),\n cell: ({ getValue, row }) =>\n options.scheduled ? (\n \n {row.original.scheduled?.total_assessments || 0} /{' '}\n {row.original.scheduled?.assessments_required || 0} (\n {getValue() || 0}%)\n \n ) : (\n getValue() ?? '-'\n ),\n sortUndefined: 1\n },\n {\n id: options.scheduled ? 'scheduled_last_assessed' : 'all_last_assessed',\n accessorFn: row =>\n options.scheduled\n ? row.scheduled?.last_assessed\n : row.all?.last_assessed,\n header: t('charts.table.lastAssessed'),\n cell: ({ getValue }) =>\n getValue() ? format(new Date(getValue()), 'M/d/yy') : '-',\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n }\n ],\n [i18n.language, options.scheduled]\n )\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { format } from 'date-fns'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nexport const StudentsTable = ({ data, dispatch, options, filteredBy }) => {\n const { t, i18n } = useTranslation()\n\n const columns = useMemo(\n () => [\n {\n id: 'student',\n accessorFn: row =>\n `${row.student.first_name} ${row.student.last_name ?? ''}`,\n header: t('charts.table.student'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setStudent',\n student: row.original.student.student_id\n })\n }\n >\n {getValue()}\n \n ),\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n accessorKey: options.scheduled\n ? 'scheduled.completion'\n : 'all.total_assessments',\n header: options.scheduled\n ? t('charts.table.percentScheduled')\n : t('charts.table.numberComplete'),\n cell: ({ getValue, row }) =>\n options.scheduled ? (\n \n {row.original.scheduled.total_assessments || 0} /{' '}\n {row.original.scheduled.assessments_required || 0} (\n {getValue() || 0}%)\n \n ) : (\n getValue() ?? '-'\n ),\n enableColumnFilter: true,\n sortUndefined: 1\n },\n {\n id: 'attributes',\n accessorFn: row =>\n row.student.attributes?.length\n ? row.student.attributes.join(', ')\n : undefined,\n header: t('charts.table.notes'),\n cell: ({ getValue }) => getValue() || '-',\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric',\n sortUndefined: 1\n },\n {\n id: 'last_assessed',\n accessorFn: row =>\n options.scheduled\n ? row.scheduled.last_assessed\n : row.all.last_assessed,\n header: t('charts.table.lastAssessed'),\n cell: ({ getValue }) =>\n getValue() ? format(new Date(getValue()), 'M/d/yy') : '-',\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n }\n ],\n [options.scheduled, i18n.language]\n )\n return (\n \n )\n}\n","import { useReducer } from 'react'\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'setOrganization':\n return {\n ...state,\n page: 0,\n organization: action.organization,\n school: undefined,\n classroom: undefined,\n student: undefined,\n search: undefined,\n time_range: action.organization !== null ? state.time_range : undefined\n }\n case 'setSchool':\n return {\n ...state,\n school: action.school,\n classroom: undefined,\n student: undefined,\n search: undefined\n }\n case 'setClassroom':\n return {\n ...state,\n classroom: action.classroom,\n student: undefined,\n search: undefined\n }\n case 'setStudent':\n return { ...state, student: action.student }\n case 'setCheckpoint':\n return { ...state, checkpoint: action.checkpoint }\n case 'setGroup':\n return { ...state, group: action.group }\n case 'setTimeRange':\n return { ...state, time_range: action.time_range }\n case 'setScheduled':\n return { ...state, scheduled: action.scheduled }\n case 'setClassType':\n return { ...state, class_type: action.class_type }\n case 'setBack': {\n if (state.student) {\n return {\n ...state,\n student: undefined\n }\n }\n if (state.classroom) {\n return {\n ...state,\n classroom: undefined,\n student: undefined\n }\n }\n if (state.school) {\n return {\n ...state,\n school: undefined,\n classroom: undefined,\n student: undefined\n }\n }\n return initialState()\n }\n case 'setOptions':\n return {\n ...state,\n ...action.options,\n type: undefined\n }\n\n default:\n return {\n ...state,\n ...action,\n type: undefined\n }\n }\n}\n\nconst initialState = {\n school: undefined,\n classroom: undefined,\n student: undefined,\n checkpoint: undefined,\n group: undefined,\n time_range: undefined,\n scheduled: true\n}\n\nexport const useDashboardReducer = () => {\n const [options, dispatch] = useReducer(reducer, initialState)\n return { options, dispatch }\n}\n","import React, { useCallback, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useAuthContext } from 'features/auth'\nimport { debounce } from 'lodash'\n\nimport { fetchAssessmentCompletionChartExcelMutation } from 'lib/api'\nimport { toast } from 'react-toastify'\nimport { useMutation } from 'react-query'\nimport { StudentModal } from './components/student-modal/student-modal'\nimport { Filters } from './components/filters/filters'\nimport { useAssessmentCompletionData } from './hooks/use-assessment-completion-data'\nimport {\n ClassroomsTable,\n OrganizationsTable,\n SchoolsTable,\n StudentsTable\n} from './tables'\nimport { useDashboardReducer } from '../../hooks/use-dashboard-reducer'\nimport { Chart } from '../../new-components/chart'\n\nexport const AssessmentCompletion = () => {\n const { t, i18n } = useTranslation()\n const { options, dispatch } = useDashboardReducer()\n const {\n isSchoolAdmin,\n isTeacher,\n isDistrictAdmin,\n isStateAdmin,\n assessmentPurpose,\n isKea\n } = useAuthContext()\n const {\n data,\n isLoading,\n isFetching,\n isFetched\n } = useAssessmentCompletionData({\n organization: options.organization,\n school: options.school,\n classroom: options.classroom,\n time_range: options.time_range,\n class_type: options.class_type,\n assessment_purpose: assessmentPurpose,\n page: options.page,\n role: options.role,\n order_by: options.order_by,\n sort_by: options.sort_by,\n full_search: options.search?.trim() || undefined\n })\n const { mutateAsync: getExcel, isLoading: excelLoading } = useMutation(\n fetchAssessmentCompletionChartExcelMutation()\n )\n\n // for Filter By\n const filteredBy = useMemo(\n () => ({\n organization: data?.selection.organization_name,\n school: data?.selection.school_name,\n classroom: data?.selection.classroom_name\n }),\n [data]\n )\n\n const debounceSearch = useCallback(\n debounce(\n value =>\n dispatch({\n type: 'setOptions',\n options: {\n search: value,\n page: 0\n }\n }),\n 1000\n ),\n []\n )\n const handleSearch = useCallback(\n (value, withoutDebounce) => {\n if (withoutDebounce) {\n dispatch({\n type: 'setOptions',\n options: {\n search: value,\n page: 0\n }\n })\n return\n }\n debounceSearch(value)\n },\n [debounceSearch]\n )\n\n const noPagination =\n data?.total / (data?.pagination.page_size || 1) < 1 ||\n data?.total / (data?.pagination.page_size || 1) === 1\n\n const handleGetExcel = useCallback(\n options =>\n getExcel({\n organization: options.organization,\n school: options.school,\n classroom: options.classroom,\n time_range: options.time_range,\n class_type: options.class_type,\n assessment_purpose: assessmentPurpose,\n file_format: 'xlsx',\n order_by: options.order_by,\n sort_by: options.sort_by,\n full_search: options.search?.trim() || undefined,\n scheduled_objectives_only: options.scheduled\n })\n .then(resp => {\n if (!resp?.file_link) {\n throw new Error()\n }\n window.open(resp.file_link, '_blank')\n })\n .catch(() => toast.error(t('charts.assessmentCompletion.error.excel'))),\n [i18n.language, assessmentPurpose]\n )\n\n return (\n <>\n handleGetExcel(options)}\n excelLoading={excelLoading}\n >\n dispatch({ type: 'setBack' }))\n }\n >\n {isKea\n ? t('charts.assessmentCompletion.titleAssessment', {\n assessment: assessmentPurpose\n })\n : t('charts.assessmentCompletion.title')}\n \n \n {t('charts.assessmentCompletion.subtitle')}\n \n \n \n {data &&\n (data.selection.classroom_id || isTeacher ? (\n \n ) : data.selection.school_id || isSchoolAdmin ? (\n \n ) : data.selection.organization_id || isDistrictAdmin ? (\n \n ) : (\n {\n const pageIndex = updater({\n pageIndex: Number(options.page ?? 0),\n pageSize: data.pagination.page_size\n })?.pageIndex\n dispatch({\n type: 'setOptions',\n options: {\n page: String(pageIndex)\n }\n })\n }}\n onSortingChange={updater => {\n const { id, desc } = updater()?.[0]\n dispatch({\n type: 'setOptions',\n options: {\n order_by: desc ? 'desc' : 'asc',\n sort_by: id\n }\n })\n }}\n sortBy={[\n {\n id: data.sorting.sort_by,\n desc: data.sorting.order_by === 'desc'\n }\n ]}\n />\n ))}\n \n \n {options.student && (\n dispatch({ type: 'setStudent', student: null })}\n />\n )}\n \n )\n}\n","import { useState, useEffect } from 'react'\nimport { useFilters as useDefaultFilters } from 'shared/hooks'\nimport { get } from 'lodash'\nimport { useAuthContext } from 'features/auth'\n\nconst defaultTypes = [\n { label: 'Recommended', value: 'recommended' },\n { label: 'Scheduled', value: 'scheduled' }\n]\n\nexport const useFilters = data => {\n const { defaultAge } = useAuthContext()\n const [prepared, setPrepared] = useState({})\n const filters = useDefaultFilters(prepared)\n const selectedType = filters.type.selected.value\n\n useEffect(() => {\n if (data && selectedType) {\n const ageOptionsRaw = Object.keys(get(data, selectedType, {}))\n const ageOptions = ageOptionsRaw.map(age => ({\n label: age,\n value: age\n }))\n const foundDefaultAgeOption = ageOptions.find(\n option => option.value === defaultAge\n )\n if (foundDefaultAgeOption) {\n filters.age.set(foundDefaultAgeOption)\n } else if (ageOptions.length) {\n filters.age.set(ageOptions[0])\n }\n setPrepared({ ...prepared, ages: ageOptions })\n }\n }, [data, selectedType])\n\n useEffect(() => {\n if (data) {\n const typeOptions = defaultTypes.filter(type => type.value in data)\n if (\n typeOptions.length &&\n typeOptions.find(({ value }) => value !== selectedType)\n ) {\n filters.type.set(typeOptions[0])\n }\n\n setPrepared({ ...prepared, types: typeOptions })\n }\n }, [data])\n\n return {\n ...filters,\n type: {\n ...filters.type,\n set: option => {\n if (!(filters.age.selected.value in data[option.value])) {\n const anotherAge = filters.age.options.find(\n age => age.value in data[option.value]\n )\n if (anotherAge) {\n filters.age.set(anotherAge)\n }\n }\n filters.type.set(option)\n }\n }\n }\n}\n","import React, { useState } from 'react'\nimport { Modal, Form } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport { Button, Checkbox } from 'shared/components'\nimport { getAccountType } from 'lib/accountType'\n\nexport function ExportModal({\n children,\n title,\n onClickSingle,\n onClickAll,\n onClickAllSecond,\n checkbox\n}) {\n const { t } = useTranslation()\n const [show, setShow] = useState(false)\n const [checkboxState, setCheckboxState] = useState(false)\n const { isTeacher } = getAccountType()\n\n const handleClose = () => setShow(false)\n const handleOpen = () => setShow(true)\n\n return (\n <>\n {children({ handleOpen })}\n \n \n {title}\n \n \n
\n {t('chart.printCurrentView')}\n {\n handleClose()\n onClickSingle()\n }}\n block\n purple\n >\n {t('chart.printCurrentView')}\n \n
\n
\n {t('chart.printOnePage')}\n {\n handleClose()\n onClickAll({ showLowest: checkboxState })\n }}\n block\n purple\n >\n {t('chart.printAll')}{' '}\n {isTeacher ? t('chart.students') : t('chart.classrooms')}\n \n {checkbox && (\n \n setCheckboxState(!checkboxState)}\n defaultChecked={checkboxState}\n label=\"Highlight three lowest domains\"\n />\n \n )}\n {!isTeacher && onClickAllSecond && (\n {\n handleClose()\n onClickAllSecond()\n }}\n block\n purple\n >\n {t('chart.printAll')} {t('chart.students')}\n \n )}\n
\n
\n \n \n \n \n \n )\n}\n","import React, { useRef } from 'react'\nimport { get } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport { Chart } from 'shared/components'\nimport ReactToPrint from 'react-to-print'\nimport { ExportModal } from 'features/export/ExportModal'\n\nexport const withPrint = WrappedComponent => props => {\n const componentRef = useRef()\n const triggerRef = useRef()\n const { t } = useTranslation()\n\n return (\n {\n const onBeforeGetContent = get(\n componentProps,\n 'onBeforeGetContent',\n () => {}\n )\n\n if (get(componentProps, 'printAllHandler')) {\n return (\n <>\n \n componentProps.printAllHandler(checkbox)\n }\n onClickAllSecond={componentProps.printAllHandlerSecond}\n checkbox={componentProps.checkbox}\n onClickSingle={() => triggerRef.current.handleClick()}\n printRef={componentRef}\n >\n {({ handleOpen }) => (\n \n {t('chart.print')}\n \n )}\n \n
}\n content={() => componentRef.current}\n />\n \n )\n }\n\n return (\n (\n {t('chart.print')}\n )}\n content={() => componentRef.current}\n />\n )\n }}\n />\n )\n}\n","import React from 'react'\nimport { sortBy } from 'lodash'\nimport Select from 'react-select'\nimport { useTranslation } from 'react-i18next'\nimport { withPrint } from 'shared/hoc/withPrint'\nimport { Chart } from 'features/dashboard'\nimport { Table, NoData } from 'shared/components'\nimport { useTableOrder } from 'shared/hooks'\n\nconst coloring = inputValue => {\n const inputVal = inputValue\n switch (true) {\n default:\n case inputVal < 1:\n return 'black'\n case inputVal >= 1 && inputVal < 30:\n return '#daa520'\n case inputVal >= 30 && inputVal < 60:\n return '#bad3a2'\n case inputVal >= 60 && inputVal < 80:\n return '#6cb186'\n case inputVal >= 80:\n return '#509d73'\n }\n}\n\nconst TableComponent = ({ data, domains, isExpanded }) => {\n const { t } = useTranslation()\n const { field, arrow, reversedArrow, order, handleChange } = useTableOrder(\n 'name'\n )\n const currentDomains = Object.keys(data.complete_classrooms[0].domain_data)\n\n const headers = [\n {\n name: t('chart.table.classroom'),\n orderArrow: field === 'name' && arrow,\n onClick: () => handleChange('name')\n },\n ...currentDomains.map(domain => {\n const foundDomain = domains.find(d => d.domain_id === domain)\n return {\n name: foundDomain.abbreviation,\n onClick: () => handleChange(foundDomain.domain_id),\n orderArrow: field === foundDomain.domain_id && reversedArrow\n }\n })\n ]\n let rawValues = data.complete_classrooms\n\n if (field) {\n let toSort\n let toEnd\n if (field === 'name') {\n toSort = rawValues.filter(v => v[field] !== null)\n toEnd = rawValues.filter(v => v[field] === null)\n } else {\n toSort = rawValues.filter(v => v.domain_data[field] !== null)\n toEnd = rawValues.filter(v => v.domain_data[field] === null)\n }\n rawValues = sortBy(toSort, [\n o => {\n if (field === 'name') {\n return o[field]\n }\n return o.domain_data[field]\n }\n ])\n\n if (!order) {\n rawValues = rawValues.reverse()\n }\n rawValues.push(...toEnd)\n }\n\n const values = rawValues.map(row => {\n return [\n
{row.name}
,\n ...Object.keys(row.domain_data).map(key => {\n const value =\n row.domain_data[key] !== null\n ? (row.domain_data[key] * 100).toFixed(0) + '%'\n : 'N/A'\n const coloringValue = row.expected_domain_data\n ? (row.domain_data[key] / row.expected_domain_data[key]) * 100\n : 0\n return (\n
\n {value}\n
\n )\n })\n ]\n })\n\n return \n}\n\nclass ThirdChartComponent extends React.Component {\n state = {\n isExpanded: false\n }\n\n render() {\n const { isExpanded } = this.state\n const { age, data, domains, type, controls, t } = this.props\n\n return (\n \n {t('chart.third.title')}\n {t('chart.third.subtitle')}\n {this.props.renderPrintButton({\n onBeforeGetContent: () => this.setState({ isExpanded: true })\n })}\n \n {age.options.length > 1 && (\n \n )}\n {type.options.length > 1 && (\n \n )}\n \n \n {data ? (\n \n ) : (\n \n )}\n \n {controls || null}\n \n )\n }\n}\n\nexport const ThirdChart = withPrint(ThirdChartComponent)\n","import React from 'react'\nimport { get } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport { Chart, ChartSkeleton } from 'features/dashboard'\nimport { useChartData } from 'features/dashboard/hooks/use-chart-data'\nimport { useFilters } from './use-3rd-chart-filters'\n\nimport { ThirdChart } from './components/ThirdChart'\n\nconst datapoint = 'DomainCompletionData'\n\nexport const _3rdChartContainer = ({ controls }) => {\n const { t } = useTranslation()\n const { data, loading } = useChartData(datapoint)\n const filters = useFilters(data)\n\n const chartData = get(\n data,\n `${filters.type.selected.value}.${filters.age.selected.value}`\n )\n\n if (loading) {\n return \n }\n\n if (!data || data.hidden) {\n return null\n }\n\n return (\n \n \n \n )\n}\n","import React, { useContext } from 'react'\nimport { sortBy } from 'lodash'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { AuthContext } from 'features/auth'\nimport { Table } from 'shared/components'\nimport { Chart } from 'features/dashboard'\nimport { useTableOrder } from 'shared/hooks'\nimport { withPrint } from 'shared/hoc/withPrint'\n\nconst TableComponent = ({ students }) => {\n const { t } = useTranslation()\n const { isSchoolAdmin, isDistrictAdmin } = useContext(AuthContext)\n const { field, arrow, reversedArrow, order, handleChange } = useTableOrder(\n 'name'\n )\n let rawValues = students ?? []\n const isAllCompleteNull = rawValues.every(\n student => student.complete === null\n )\n\n const headers = [\n {\n name: t('chart.table.student'),\n orderArrow: field === 'name' && arrow,\n onClick: () => handleChange('name')\n },\n !isAllCompleteNull && {\n name: t('chart.table.complete'),\n orderArrow: field === 'complete' && reversedArrow,\n onClick: () => handleChange('complete')\n },\n {\n name: t('chart.table.lastAssessed'),\n orderArrow: field === 'last_assessed' && reversedArrow,\n onClick: () => handleChange('last_assessed')\n },\n isDistrictAdmin && {\n name: t('chart.table.school'),\n orderArrow: field === 'school' && arrow,\n onClick: () => handleChange('school')\n },\n (isDistrictAdmin || isSchoolAdmin) && {\n name: t('chart.table.classroom'),\n orderArrow: field === 'classroom' && arrow,\n onClick: () => handleChange('classroom')\n }\n ].filter(Boolean)\n\n if (field) {\n const toSort = rawValues.filter(v => v[field] !== null)\n const toEnd = rawValues.filter(v => v[field] === null)\n\n rawValues = sortBy(toSort, [\n o => {\n if (field === 'name') {\n return o.first_name + o.last_name\n }\n\n return o[field]\n }\n ])\n\n if (!order) {\n rawValues = rawValues.reverse()\n }\n rawValues.push(...toEnd)\n }\n\n const values = rawValues.map(student => {\n if (isAllCompleteNull) {\n return [\n `${student.first_name} ${student.last_name || ''}`,\n student.last_assessed\n ? format(new Date(student.last_assessed), 'M/d/yy')\n : '-',\n student.school,\n student.classroom\n ]\n }\n return [\n `${student.first_name} ${student.last_name || ''}`,\n student.complete == null ? 'N/A' : student.complete + '%',\n student.last_assessed\n ? format(new Date(student.last_assessed), 'M/d/yy')\n : '-',\n student.school,\n student.classroom\n ]\n })\n\n return
\n}\n\nclass FifthChartComponent extends React.Component {\n state = {\n isExpanded: false\n }\n\n toggleExpanded = () =>\n this.setState(state => ({ isExpanded: !state.isExpanded }))\n\n render() {\n const students = this.props.data.complete_students\n const values = students\n const printAllHandler = this.props.printAllHandler\n const isSchoolAdmin = this.props.isSchoolAdmin\n const isDistrictAdmin = this.props.isDistrictAdmin\n const t = this.props.t\n\n return (\n \n {t('chart.fifth.title')}\n {t('chart.fifth.subtitle')}\n\n {this.props.renderPrintButton({\n printAllHandler:\n (isDistrictAdmin || isSchoolAdmin) && printAllHandler,\n onBeforeGetContent: () => this.setState({ isExpanded: true })\n })}\n \n {this.props.schoolName && (\n
\n {t('chart.table.school')}: {this.props.schoolName}\n
\n )}\n {this.props.classroomName && (\n
\n {t('chart.table.classroom')}: {this.props.classroomName}\n
\n )}\n \n
\n {this.props.controls}\n
\n )\n }\n}\n\nexport const FifthChart = withPrint(FifthChartComponent)\n","import React, { useCallback, useContext } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport { useTranslation } from 'react-i18next'\nimport { AuthContext } from 'features/auth'\nimport { ChartSkeleton, Chart } from 'features/dashboard'\nimport { useChartData } from 'features/dashboard/hooks'\nimport { add as addDataToExport } from 'store/modules/exportModule'\n\nimport { FifthChart } from './components/FifthChart'\nconst datapoint = 'NotRecentlyAssessedStudentsData'\n\nexport const _5thChartContainer = connect(null, { addDataToExport })(p => {\n const { t } = useTranslation()\n const history = useHistory()\n const { data, loading } = useChartData(datapoint)\n const { isSchoolAdmin, isDistrictAdmin } = useContext(AuthContext)\n\n const printAllHandler = useCallback(() => {\n if (data) {\n const result = []\n const localCompleteStudents = data.complete_students.reduce(\n (student, value) => {\n const key = value.school + ' ' + value.classroom\n if (!student[key]) {\n student[key] = []\n }\n student[key].push(value)\n return student\n },\n {}\n )\n Object.values(localCompleteStudents).forEach(student => {\n const localData = {\n GenerationTimestamp: data.GenerationTimestamp,\n complete_students: student,\n hidden: data.hidden\n }\n result.push({\n data: localData,\n schoolName: student[0]?.school,\n classroomName: student[0]?.classroom\n })\n })\n p.addDataToExport({\n component: FifthChart,\n pdfDisabled: true,\n data: result\n })\n history.push('/export')\n }\n }, [data])\n\n if (loading || !data) {\n return \n }\n\n if (data.hidden) {\n return null\n }\n\n return (\n \n printAllHandler()}\n isSchoolAdmin={isSchoolAdmin}\n isDistrictAdmin={isDistrictAdmin}\n t={t}\n />\n \n )\n})\n","import React from 'react'\nimport Select from 'react-select'\nimport classNames from 'classnames'\nimport {\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n LineChart,\n Dot,\n Line\n} from 'recharts'\nimport { format, parse } from 'date-fns'\nimport { Chart } from 'features/dashboard'\nimport { NoData } from 'shared/components'\nimport { withPrint } from 'shared/hoc/withPrint'\nimport { transformAge } from 'lib/helpers'\n\nconst chartRanges = {\n '0-3': [0, 4],\n '3-5': [2, 6]\n}\n\nconst TooltipContent = props => {\n if (!props.payload || !props.payload.length) return null\n const data = props.payload[0].payload\n return (\n
\n
\n {format(parse(data.month, 'yyyy-MM-dd', new Date()), 'MMM yy')}\n
\n
\n {data.specificName}-Wide:{' '}\n {transformAge(data.average_score * 12, props.t)}\n
\n
\n {props.t('chart.studentsAssessed')}:{' '}\n {data.assessed_student_count}\n
\n
\n {props.t('chart.assessmentsTaken')}: {data.assessment_count}\n
\n {data.hasCommon && (\n <>\n
\n {data.commonName}-Wide:{' '}\n {transformAge(data.common_average_score * 12, props.t)}\n
\n
\n {props.t('chart.studentsAssessed')}:{' '}\n {data.common_assessed_student_count}\n
\n
\n {props.t('chart.assessmentsTaken')}:{' '}\n {data.common_assessment_count}\n
\n \n )}\n
\n )\n}\n\nclass SixthChartComponent extends React.Component {\n state = { chartPreparedForPrinting: false }\n\n render() {\n const {\n isSchoolAdmin,\n isExported,\n isTeacher,\n filters,\n data,\n commonData,\n totalEnrollment,\n age: exportAge,\n printAllHandler,\n t\n } = this.props\n const { chartPreparedForPrinting } = this.state\n const { school, classroom, domain, age } = filters\n const hasCommon =\n isExported || school.selected.value || classroom.selected.value\n const commonName = isSchoolAdmin\n ? 'School'\n : isTeacher\n ? 'Classroom'\n : 'District'\n let specificName = commonName\n\n if (school.selected.value) {\n specificName = school.selected.label\n }\n if (classroom.selected.value) {\n specificName = classroom.selected.label\n }\n\n const preparedData = data.map((item, index) => ({\n ...item,\n hasCommon,\n specificName,\n commonName,\n common_assessed_student_count: commonData[index].assessed_student_count,\n common_assessment_count: commonData[index].assessment_count,\n common_average_score: commonData[index].average_score / 12 || null,\n average_score: item.average_score / 12 || null\n }))\n\n if (isExported && preparedData.length === 0) return null\n\n return (\n (this.componentRef = el)} data-id=\"chart\">\n {t('chart.sixth.title')}\n {!!totalEnrollment && (\n \n {t('chart.sixth.subtitle')}: {totalEnrollment}\n \n )}\n {this.props.renderPrintButton({\n printAllHandler: !isTeacher && printAllHandler,\n onBeforeGetContent: () => {\n this.setState({ chartPreparedForPrinting: true })\n\n setTimeout(() => {\n this.setState({ chartPreparedForPrinting: false })\n }, 1000)\n }\n })}\n {!isExported && (\n \n {!(isSchoolAdmin || isTeacher) && (\n \n )}\n {!isTeacher && (\n \n )}\n \n \n \n )}\n \n {isExported && (\n
\n {t('chart.table.classroom')}: {this.props.classroomName}\n
\n {t('chart.table.age')}: {this.props.age}\n
\n )}\n\n {!preparedData.length && }\n\n {!!preparedData.length && (\n <>\n
{t('chart.sixth.averageLevel')}
\n
\n \n \n \n \n format(\n parse(unixTime, 'yyyy-MM-dd', new Date()),\n 'MMM yy'\n )\n }\n />\n Math.round(value)}\n />\n\n \n \n }\n strokeWidth={4}\n activeDot={{ r: 8 }}\n name={`${specificName}-wide ${t('chart.sixth.average')}`}\n />\n {hasCommon && (\n }\n strokeWidth={4}\n activeDot={{ r: 8 }}\n name={`${commonName}-wide ${t('chart.sixth.average')}`}\n />\n )}\n \n \n
\n \n )}\n
\n {this.props.controls}\n
\n )\n }\n}\n\nexport const SixthChart = withPrint(SixthChartComponent)\n","import React, { useCallback } from 'react'\nimport { connect } from 'react-redux'\nimport { cloneDeep } from 'lodash'\nimport { useHistory } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { add as addDataToExport } from 'store/modules/exportModule'\nimport { useAuthContext } from 'features/auth'\nimport { ChartSkeleton, Chart } from 'features/dashboard'\nimport { useChartData } from 'features/dashboard/hooks'\n\nimport { useFilters } from './hooks/useFilters'\nimport { SixthChart } from './components/SixthChart'\n\nconst datapoint = 'SchoolReadinessData'\n\nexport const _6thChartContainer = connect(null, { addDataToExport })(props => {\n const history = useHistory()\n const { t } = useTranslation()\n const { data, loading } = useChartData(datapoint)\n const isChartHidden = data && !!data.hidden\n const filters = useFilters(isChartHidden ? null : data, props)\n const account = useAuthContext()\n\n const printAllHandler = useCallback(() => {\n if (data) {\n const result = []\n const ageValues = filters.age.options.map(({ value }) => value)\n const clonedFilters = cloneDeep(filters)\n let classrooms = []\n if (data.schools) {\n data.schools.map(school => {\n classrooms = [...classrooms, ...school.classrooms]\n })\n }\n if (data.classrooms) {\n classrooms = [...classrooms, ...data.classrooms]\n }\n\n classrooms.forEach(classroom => {\n ageValues.forEach(age => {\n const localData = classroom.assessment_data.filter(\n ({ age_category, domain_id }) =>\n age_category === age && domain_id === null\n )\n\n clonedFilters.classroom.selected.label = classroom.classroom_name\n clonedFilters.classroom.selected.value = classroom.classroom_id\n\n if (localData.length) {\n result.push({\n ...account,\n age,\n data: localData,\n isExported: true,\n filters: clonedFilters,\n classroomName: classroom.classroom_name,\n commonData: data.assessment_data.filter(\n ({ age_category, domain_id }) =>\n age_category === age && domain_id === null\n )\n })\n }\n })\n })\n\n props.addDataToExport({\n component: SixthChart,\n data: result,\n otherProps: {\n t\n }\n })\n history.push('/export')\n }\n }, [data, filters])\n\n if ((loading && !data) || !filters.age.selected.value) {\n return \n }\n\n if (isChartHidden) {\n return null\n }\n\n let result = data\n\n if (filters.school.selected.value && result.schools) {\n const foundSchool = result.schools.find(\n ({ school_id }) => school_id === filters.school.selected.value\n )\n if (foundSchool) {\n result = foundSchool\n }\n }\n if (filters.classroom.selected.value && result.classrooms) {\n const foundClassroom = result.classrooms.find(\n ({ classroom_id }) => classroom_id === filters.classroom.selected.value\n )\n if (foundClassroom) {\n result = foundClassroom\n }\n }\n\n return (\n \n printAllHandler()}\n controls={props.controls}\n t={t}\n filters={filters}\n />\n \n )\n})\n\nconst prepareData = (data, filters) =>\n data.assessment_data.filter(\n ({ domain_id, age_category }) =>\n (filters.domain.selected.value\n ? filters.domain.selected.value === domain_id\n : domain_id === null) &&\n (filters.age.selected.value\n ? filters.age.selected.value === age_category\n : true)\n )\n","import { useState, useEffect } from 'react'\nimport { useAuthContext } from 'features/auth'\nimport { useFilters as useDefaultFilter } from 'shared/hooks'\n\nexport const useFilters = data => {\n const { defaultAge } = useAuthContext()\n const [prepared, setPrepared] = useState({})\n const filters = useDefaultFilter(prepared)\n\n useEffect(() => {\n if (data && defaultAge) {\n const newPrepared = {}\n\n if (data.schools) {\n newPrepared.schools = data.schools.map(\n ({ school_id, school_name, ...rest }) => ({\n label: school_name,\n value: school_id,\n ...rest\n })\n )\n }\n\n if (newPrepared.schools || data.classrooms) {\n const classroomsRaw = filters.school.selected.value\n ? filters.school.selected.classrooms\n : data.classrooms\n\n if (classroomsRaw) {\n newPrepared.classrooms = classroomsRaw.map(\n ({ classroom_id, classroom_name }) => ({\n label: classroom_name,\n value: classroom_id\n })\n )\n }\n }\n\n newPrepared.domains = data.domains?.map(({ domain_id, domain_name }) => ({\n label: domain_name,\n value: domain_id\n }))\n\n newPrepared.ages = data.age_categories?.map(age => ({\n value: age,\n label: age\n }))\n\n if (!filters.age.selected.value && newPrepared.ages?.length) {\n filters.age.set(newPrepared.ages.find(age => age.value === defaultAge))\n }\n\n setPrepared(newPrepared)\n }\n }, [data, filters.school.selected, filters.classroom.selected, defaultAge])\n\n return {\n ...filters,\n school: {\n ...filters.school,\n set: option => {\n filters.school.set(option)\n filters.classroom.set(filters.classroom.options[0])\n }\n }\n }\n}\n","export const graphColors = {\n below: '#F8BA00',\n meeting: '#8BD5D3',\n exceeding: '#B3C95E',\n notassessed: '#A6A6A6'\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useAuthContext } from 'features/auth'\n\nimport { Chart } from '../../../../new-components/chart'\nimport { DashboardSelect } from '../../../../new-components/dashboard-select/dashboard-select'\n\nexport const Filters = ({ options, dispatch }) => {\n const { t } = useTranslation()\n const { isDistrictAdmin, isSchoolAdmin } = useAuthContext()\n\n return (\n \n
\n {isDistrictAdmin && (\n \n )}\n {(isDistrictAdmin || isSchoolAdmin) && (\n \n )}\n \n `${item.first_name} ${item.last_name ?? ''}`\n }\n />\n
\n
\n \n \n
\n
\n )\n}\n","import React, { useMemo } from 'react'\nimport { PieChart, Pie, Legend, Label } from 'recharts'\nimport { useTranslation } from 'react-i18next'\n\nimport styles from './pie-charts.module.css'\nimport { graphColors } from '../../helpers'\n\nexport const PieCharts = ({ data, isStudentLevel }) => {\n const { t, i18n } = useTranslation()\n const legendPayload = useMemo(\n () => [\n {\n value: t('charts.domainsOnTrack.exceeding'),\n type: 'circle',\n id: 'exceeding',\n color: graphColors.exceeding\n },\n {\n value: t('charts.domainsOnTrack.meeting'),\n type: 'circle',\n id: 'meeting',\n color: graphColors.meeting\n },\n {\n value: t('charts.domainsOnTrack.below'),\n type: 'circle',\n id: 'below',\n color: graphColors.below\n },\n {\n value: t('charts.domainsOnTrack.notAssessed'),\n type: 'circle',\n id: 'notassessed',\n color: graphColors.notassessed\n }\n ],\n [i18n.language]\n )\n\n return (\n
\n (\n {value}\n )}\n />\n
\n {data.map(chart => (\n
\n \n \n \n }\n position=\"center\"\n />\n \n \n
\n {chart.subdomain.name}\n
\n
\n {t('charts.assessmentsTaken')}: {chart.assessments_taken}\n
\n {!isStudentLevel && (\n
\n {t('charts.studentsAssessed')}: {chart.students_assessed}\n
\n )}\n
\n ))}\n
\n
\n )\n}\n\nconst RADIAN = Math.PI / 180\n\nconst CentralLabel = ({ viewBox: { cx, cy }, labelText, value }) => (\n \n \n {labelText}\n \n \n {value && value + '%'}\n \n \n)\n\nconst SideLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent }) => {\n if (percent === 0) return\n const radius = 15 + innerRadius + (outerRadius - innerRadius) * 0.5\n const x = cx + radius * Math.cos(-midAngle * RADIAN)\n const y = cy + radius * Math.sin(-midAngle * RADIAN)\n\n return (\n cx ? 'start' : 'end'}\n dominantBaseline=\"central\"\n >\n {`${(percent * 100).toFixed(0)}%`}\n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Tabs, TabList, TabPanel, Tab } from 'react-tabs'\nimport { objectiveReport, siteReport } from 'lib/links'\nimport { PrimaryLink } from 'shared/components'\n\nimport styles from './objectives-tabs.module.css'\n\nexport const ObjectivesTabs = ({ data, options }) => {\n const { t } = useTranslation()\n return (\n \n \n {data.subdomains.map(subdomain => (\n \n {subdomain.subdomain.name}\n \n ))}\n \n {data.subdomains.map(subdomain => (\n \n
\n {t(\n options.student\n ? 'charts.domainsOnTrack.belowMeetingExceeding'\n : 'charts.domainsOnTrack.percentOfStudents',\n {\n name: subdomain.subdomain.name\n }\n )}\n
\n
\n {subdomain.objective_ids.map(objective_id => {\n const foundObjective = data.objectives.find(\n objective => objective.objective.objective_id === objective_id\n )\n return (\n \n \n {foundObjective.objective.name}\n \n
\n {options.student\n ? foundObjective.performance_band == null\n ? 'N/A'\n : foundObjective.performance_band\n : foundObjective.percent_meeting_and_exceeding == null\n ? 'N/A'\n : foundObjective.percent_meeting_and_exceeding + '%'}\n
\n
\n )\n })}\n \n
\n ))}\n
\n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { objectiveReport, siteReport } from 'lib/links'\nimport { Table, PrimaryLink, Modal } from 'shared/components'\n\nexport const DomainModal = ({ data, onHide, options }) => {\n const { t, i18n } = useTranslation()\n const headers = useMemo(\n () => [\n { name: t('charts.domainsOnTrack.objectives') },\n {\n name: options.student\n ? t('charts.domainsOnTrack.progress')\n : t('charts.domainsOnTrack.studentOnTrack')\n }\n ],\n [i18n.language]\n )\n const values = useMemo(\n () =>\n data.objectives.map(objective => [\n \n {objective.objective.name}\n ,\n `${objective.percent_meeting_and_exceeding || '0'}%`\n ]),\n [data.objectives, i18n.language]\n )\n\n return (\n \n \n {data.subdomain.name}\n \n {t('charts.domainsOnTrack.modalPercentInDomain', {\n percent: data.percent_meeting_and_exceeding,\n domain: data.subdomain.name\n })}\n \n \n \n
\n \n \n )\n}\n","import React, { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport {\n ResponsiveContainer,\n BarChart as BarChartWrapper,\n Bar,\n Cell,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n LabelList,\n Legend\n} from 'recharts'\n\nimport styles from './bar-chart.module.css'\nimport { DomainModal } from '../domain-modal/domain-modal'\nimport { graphColors } from '../../helpers'\n\nexport const BarChart = ({ data, options }) => {\n const { t, i18n } = useTranslation()\n const [domainModal, setDomainModal] = useState(null)\n const legendPayload = useMemo(\n () => [\n {\n value: t('charts.domainsOnTrack.exceeding'),\n type: 'circle',\n id: 'exceeding',\n color: graphColors.exceeding\n },\n {\n value: t('charts.domainsOnTrack.meeting'),\n type: 'circle',\n id: 'meeting',\n color: graphColors.meeting\n },\n {\n value: t('charts.domainsOnTrack.below'),\n type: 'circle',\n id: 'below',\n color: graphColors.below\n },\n {\n value: t('charts.domainsOnTrack.studentAssessed'),\n type: 'circle',\n id: 'notassessed',\n color: graphColors.notassessed\n }\n ],\n [i18n.language]\n )\n return (\n <>\n
\n (\n {value}\n )}\n />\n
\n
\n \n \n \n \n \n } />\n \n value + '%'}\n />\n {data.subdomains.map(subdomain => (\n {\n const objectives = data.objectives.filter(objective =>\n subdomain.objective_ids.includes(\n objective.objective.objective_id\n )\n )\n setDomainModal({ ...subdomain, objectives })\n }}\n key={subdomain.subdomain.subdomain_id}\n cursor=\"pointer\"\n fill={\n subdomain.percent_students_accessed < 50\n ? graphColors.notassessed\n : subdomain.percent_meeting_and_exceeding > 80\n ? graphColors.exceeding\n : subdomain.percent_meeting_and_exceeding > 50\n ? graphColors.meeting\n : graphColors.below\n }\n />\n ))}\n \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n
{t('charts.domainsOnTrack.assessmentsComplete')}
\n {options.student\n ? t('charts.domainsOnTrack.objectivesAssessed')\n : t('charts.domainsOnTrack.studentsAssessed')}\n
\n
\n \n \n {data.subdomains.map(subdomain => (\n \n \n \n \n ))}\n \n
{subdomain.assessments_taken}{subdomain.percent_students_accessed ?? '0'}%
\n
\n
\n \n {domainModal && (\n setDomainModal(null)}\n options={options}\n />\n )}\n \n )\n}\n\nconst CustomTooltip = ({ active, payload }) => {\n const { t } = useTranslation()\n if (active && payload && payload.length) {\n return (\n
\n
\n {payload[0].payload.subdomain.name}:{' '}\n {payload[0].payload.percent_meeting_and_exceeding || '0'}%\n
\n
\n {t('charts.domainsOnTrack.assessmentsComplete')}:{' '}\n {payload[0].payload.assessments_taken}\n
\n
\n {t('charts.domainsOnTrack.studentsAssessed')}:{' '}\n {payload[0].payload.students_assessed}\n
\n
\n )\n }\n return null\n}\n","import React, { useState, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQuery } from 'react-query'\nimport { Form } from 'react-bootstrap'\nimport { fetchDomainsOnTrackChartQuery } from 'lib/api'\nimport { Checkbox } from 'shared/components'\n\nimport { graphColors } from './helpers'\nimport { Filters } from './components/filters/filters'\nimport { PieCharts } from './components/pie-charts/pie-charts'\nimport { ObjectivesTabs } from './components/objectives-tabs/objectives-tabs'\nimport { BarChart } from './components/bar-chart/bar-chart'\nimport { Chart } from '../../new-components/chart'\nimport { useDashboardReducer } from '../../hooks/use-dashboard-reducer'\n\nexport const DomainsOnTrack = () => {\n const [showSubdomains, setShowSubdomains] = useState(false)\n const [barChartView, setBarChartView] = useState(false)\n const { t, i18n } = useTranslation()\n const { options, dispatch } = useDashboardReducer()\n const { data, isLoading, isFetching, isFetched } = useQuery({\n ...fetchDomainsOnTrackChartQuery({\n ...options,\n language: i18n.language,\n subdomains: showSubdomains\n }),\n keepPreviousData: true\n })\n\n const pieChartData = useMemo(\n () =>\n data &&\n data.result.subdomains.map(chartData => ({\n ...chartData,\n performance_data:\n chartData.performance_data.below !== 0 ||\n chartData.performance_data.meeting !== 0 ||\n chartData.performance_data.exceeding !== 0\n ? [\n {\n name: t('charts.domainsOnTrack.below'),\n value: chartData.performance_data.below,\n fill: graphColors.below\n },\n {\n name: t('charts.domainsOnTrack.meeting'),\n value: chartData.performance_data.meeting,\n fill: graphColors.meeting\n },\n {\n name: t('charts.domainsOnTrack.exceeding'),\n value: chartData.performance_data.exceeding,\n fill: graphColors.exceeding\n }\n ]\n : [\n {\n name: t('charts.domainsOnTrack.none'),\n value: 1,\n fill: graphColors.notassessed\n }\n ]\n })),\n [data, i18n.language]\n )\n\n return (\n \n {t('charts.domainsOnTrack.title')}\n \n {t('charts.domainsOnTrack.subtitle')}\n \n \n \n \n setShowSubdomains(e.target.checked)}\n label={t('charts.domainsOnTrack.subdomains')}\n />\n \n \n setBarChartView(e.target.checked)}\n label={t('charts.domainsOnTrack.barChart')}\n />\n \n \n\n {data && (\n \n {barChartView ? (\n \n ) : (\n <>\n \n \n \n )}\n \n )}\n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\n//import { OverlayTrigger, Popover } from 'react-bootstrap'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons'\nimport { ObservationCell } from 'features/observations'\nimport { useAuthContext } from 'features/auth'\nimport styles from './components/teacher-view/teacher-view.module.css'\n\nexport const getData = (data, filters, isTeacher) => {\n const isStudentLevel = filters.classroom.selected.value || isTeacher\n if (isStudentLevel) {\n const objectives = data.filters?.objectives.filter(\n objectiveItem => objectiveItem.age_category === filters.age.selected.value\n )\n const resultData = getStudentData(\n data.student_assessment_data,\n objectives,\n filters.age.selected\n )\n return {\n data: resultData,\n objectives,\n isStudentLevel,\n noStudentData: !data.any_student_data\n }\n }\n return {\n isStudentLevel\n }\n}\n\nconst getStudentData = (data, objectives, selectedAge) =>\n data\n .filter(studentData => studentData.age_category === selectedAge.value)\n .map(studentData => ({\n ...studentData,\n studentLevel: true,\n assessmentData: studentData.assessment_data.filter(assessment =>\n objectives.find(\n objective => objective.objective_id === assessment.objective_id\n )\n )\n }))\n .filter(studentData => studentData.assessmentData.length > 0)\n\nexport const getRowsForTeacherView = (\n students,\n objectives,\n classroom,\n fetchData\n) => {\n return students.map(item => {\n const areAllObjectivesAssessed = objectives.every(objective => {\n const itemObjectiveData = item.assessment_data.find(\n ({ objective_id }) => objective_id === objective.objective_id\n )\n if (!itemObjectiveData) return null\n return itemObjectiveData.available\n ? itemObjectiveData.assessment_taken\n : true\n })\n return [\n \n {areAllObjectivesAssessed && (\n \n )}\n {item.name}\n ,\n ...objectives.map((objective, index) => {\n const nextObjective = objectives[index + 1]\n return (\n \n \n \n )\n })\n ]\n })\n}\n\nconst Objective = ({ objective, item, classroom, fetchData }) => {\n const { t } = useTranslation()\n const { isKea } = useAuthContext()\n const itemObjectiveData = item.assessment_data.find(\n ({ objective_id }) => objective_id === objective.objective_id\n )\n if (!itemObjectiveData) return null\n if (!itemObjectiveData.available) {\n return (\n
{t('chart.table.notRequired')}
\n )\n }\n const currentStudent = {\n ...item,\n classroom_id: classroom\n }\n if (\n !itemObjectiveData.assessment_taken &&\n itemObjectiveData.include_observation_button\n ) {\n if (isKea) return <>\n return (\n \n )\n }\n return (\n
\n \n
\n )\n}\n","import React from 'react'\nimport { sortBy } from 'lodash'\nimport { Table, Loader } from 'shared/components'\nimport { useTableOrder } from 'shared/hooks'\nimport styles from './teacher-view.module.css'\nimport { getRowsForTeacherView } from '../../helpers'\n\nexport const TeacherView = ({\n loading,\n chartData,\n classroom,\n fetchData,\n isStudentLoading,\n t\n}) => {\n const { field, arrow, order, handleChange } = useTableOrder('name')\n const { data, objectives, noStudentData } = chartData\n const sortedObjectives = sortBy(objectives, 'direct').reverse()\n const objectivesRow = [\n {\n name: t('chart.table.student'),\n orderArrow: field === 'name' && arrow,\n onClick: () => handleChange('name')\n },\n ...sortedObjectives.map((objective, index) => {\n if (objective.direct) {\n const nextObjective = sortedObjectives[index + 1]\n if (nextObjective && !nextObjective.direct) {\n return {\n name: objective.name\n }\n }\n }\n return { name: objective.name }\n })\n ]\n const objectivesType = [\n { name: '' },\n ...sortedObjectives.map(objective => ({\n name: objective.direct ? 'Game' : 'Obs',\n id: objective.objective_id\n }))\n ]\n let rawValues = data ?? []\n\n if (field) {\n const toSort = rawValues.filter(v => v[field] !== null)\n const toEnd = rawValues.filter(v => v[field] === null)\n\n rawValues = sortBy(toSort, [\n o => {\n return o[field]\n }\n ])\n\n if (!order) {\n rawValues = rawValues.reverse()\n }\n rawValues.push(...toEnd)\n }\n\n const values = getRowsForTeacherView(\n rawValues,\n sortedObjectives,\n classroom,\n fetchData\n )\n\n if (isStudentLoading) return null\n\n return (\n
\n \n {loading && (\n
\n \n
\n )}\n
\n )\n}\n","import React, { useRef, useState, useEffect } from 'react'\nimport { Chart, ChartSkeleton } from 'features/dashboard'\nimport { useAuthContext } from 'features/auth'\nimport { useChartData } from 'features/dashboard/hooks'\nimport { PrintableWrapper, WeekSelector, NoData } from 'shared/components'\nimport Select from 'react-select'\nimport { useReactToPrint } from 'react-to-print'\nimport { useTranslation } from 'react-i18next'\nimport { TeacherView } from './components/teacher-view/teacher-view'\nimport { useFilters } from './use-filters'\nimport { getData } from './helpers'\n\nexport const _10thChartContainer = () => {\n const { t } = useTranslation()\n const printRef = useRef()\n const [currentWeek, setCurrentWeek] = useState(0)\n const [params, setParams] = useState(null)\n const [chartData, setChartData] = useState(null)\n const {\n isTeacher,\n isSchoolAdmin,\n scope,\n isKea,\n assessmentPurpose\n } = useAuthContext()\n\n const { data, loading, fetchData } = useChartData(\n 'ObjectivesOnScheduleData',\n {\n cache_retrieval: isTeacher ? 'NEVER' : 'IF_FRESH',\n assessment_purpose: assessmentPurpose,\n ...params\n },\n [params]\n )\n const filters = useFilters(data)\n const { school, classroom, age } = filters\n\n useEffect(\n () =>\n setParams({\n classroom: filters.classroom.selected.value,\n weeksoffset: currentWeek\n }),\n [filters.classroom.selected.value, currentWeek]\n )\n\n const isChartHidden = data === null || (data && data.hidden)\n const handlePrint = useReactToPrint({\n content: () => printRef.current\n })\n\n useEffect(() => {\n if (data) {\n setChartData(getData(data, filters, isTeacher))\n }\n }, [data, filters.age.selected])\n\n if (!loading && isChartHidden) return null\n if ((loading && !data) || !age.selected || !chartData) {\n return \n }\n\n return (\n \n \n \n \n {isKea ? t('chart.tenth.keaTitle') : t('chart.tenth.title')}\n \n \n {!isTeacher && !isSchoolAdmin && (\n {\n school.set(value)\n classroom.set(classroom.options[0])\n }}\n />\n )}\n {!isTeacher && (\n \n )}\n {chartData.isStudentLevel && !!age.options?.length && (\n \n )}\n \n \n {!isKea && chartData.isStudentLevel && (\n \n )}\n \n \n {chartData.isStudentLevel ? (\n \n ) : (\n \n )}\n \n \n \n \n )\n}\n","import { useState, useEffect } from 'react'\nimport { useAuthContext } from 'features/auth'\nimport { useFilters as useDefaultFilters } from 'shared/hooks'\n\nexport const useFilters = data => {\n const { defaultAge } = useAuthContext()\n const [filterData, setFilterData] = useState({})\n const filters = useDefaultFilters(filterData)\n\n useEffect(() => {\n if (data && data.filters && defaultAge) {\n const newFilterData = {}\n\n if (data.filters.schools) {\n newFilterData.schools = data.filters.schools.map(school => ({\n label: school.name,\n value: school.school_id\n }))\n } else if (filterData.schools) {\n newFilterData.schools = filterData.schools.map(school => ({\n label: school.label,\n value: school.value\n }))\n }\n\n if (data.filters.classrooms) {\n newFilterData.classrooms = data.filters.classrooms\n .filter(classroom =>\n filters.school.selected.value\n ? classroom.school_id === filters.school.selected.value\n : true\n )\n .map(classroom => ({\n label: classroom.name,\n value: classroom.classroom_id,\n school_id: classroom.school_id\n }))\n } else if (filterData.classrooms) {\n newFilterData.classrooms = filterData.classrooms\n .filter(classroom =>\n filters.school.selected.value\n ? classroom.school_id === filters.school.selected.value\n : true\n )\n .map(classroom => ({\n label: classroom.label,\n value: classroom.value,\n school_id: classroom.school_id\n }))\n }\n\n if (data.filters.age_categories?.length) {\n newFilterData.ages = data.filters.age_categories.map(age => ({\n value: age,\n label: age\n }))\n }\n\n if (newFilterData.ages && !filters.age.selected.value) {\n filters.age.set(\n newFilterData.ages.find(age => age.value === defaultAge) ||\n newFilterData.ages[0]\n )\n }\n\n setFilterData(newFilterData)\n }\n }, [\n data,\n filters.school.selected.value,\n filters.classroom.selected.value,\n defaultAge\n ])\n\n return filters\n}\n","import React, { useState, useEffect, useCallback } from 'react'\nimport { ChartControls } from 'features/dashboard'\nimport { ErrorBoundary } from 'shared/components'\n\nconst directions = {\n down: 'down',\n up: 'up'\n}\n\nexport const useChartSorting = (chartComponentList, role, isTeacher) => {\n const [orderedList, setOrderedList] = useState([])\n\n const move = useCallback(\n (id, direction = directions.down) => {\n const index = orderedList.findIndex(el => el === id)\n const indexToSwap = index + (direction === directions.down ? 1 : -1)\n if (indexToSwap < 0 || indexToSwap >= orderedList.length) return\n const orderedListCopy = [].concat(orderedList)\n\n const temp = orderedListCopy[indexToSwap]\n orderedListCopy[indexToSwap] = orderedListCopy[index]\n orderedListCopy[index] = temp\n\n setOrderedList(orderedListCopy)\n localStorage.setItem(\n `${role}-home-order`,\n JSON.stringify(orderedListCopy)\n )\n },\n [orderedList]\n )\n const charts = Object.keys(chartComponentList).map((componentName, index) => {\n const Component = chartComponentList[componentName]\n return {\n id: index,\n component: (\n \n move(index, directions.up)}\n moveDown={() => move(index, directions.down)}\n />\n }\n />\n \n )\n }\n })\n\n useEffect(() => {\n if (role) {\n setOrderedList(\n JSON.parse(localStorage.getItem(`${role}-home-order`)) ||\n charts.map(({ id }) => id)\n )\n }\n }, [role])\n\n const chartComponents = charts.map(({ component }) => component)\n\n if (isTeacher) {\n const [firstChart, ...restCharts] = chartComponents\n return { charts: [firstChart, ...restCharts.reverse()] }\n }\n\n return { charts: chartComponents }\n}\n","// import React from 'react'\n\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n// import {\n// faArrowCircleDown,\n// faArrowCircleUp\n// } from '@fortawesome/free-solid-svg-icons'\n\nexport const ChartControls = ({ moveUp, moveDown }) => {\n return null\n\n // TODO: return back when understand how to use it on the dashboard page\n // return (\n //
\n // \n // \n //
\n // )\n}\n","import React, { useState, useEffect } from 'react'\nimport Skeleton from 'react-loading-skeleton'\n\nimport styles from './chart-skeleton.module.css'\n\nimport { Chart } from '../chart'\n\nexport const ChartSkeleton = () => {\n const step = 3 + Math.floor(Math.random() * Math.floor(7))\n const [counter, setCounter] = useState(step)\n\n useEffect(() => {\n const interval = setInterval(() => {\n setCounter(localCounter => (localCounter > 10 ? 1 : localCounter + 1))\n }, step * 100)\n return () => {\n clearInterval(interval)\n }\n }, [])\n\n return (\n \n \n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n
\n
\n )\n}\n","import React from 'react'\nimport Skeleton from 'react-loading-skeleton'\n\nimport styles from './chart-skeleton.module.css'\n\nexport const ChartSkeletonFirst = () => {\n return (\n
\n \n\n \n \n
\n )\n}\n","import React, { useState, useEffect } from 'react'\nimport Cookie from 'js-cookie'\nimport { Auth } from 'aws-amplify'\nimport { useTranslation } from 'react-i18next'\nimport { Button, Modal } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\n\nconst cookieName = 'feedback-survey'\n\nconst getTeacherLink = ({ firstName, lastName, email, role, org, en }) =>\n en\n ? `https://docs.google.com/forms/d/e/1FAIpQLSf91tzk-JWZczsH7mIKdjYhPK9L_Li6DTFzOIu52Fb070yUYg/viewform?usp=sf_link/viewform?usp=pp_url&entry.472618636=${firstName}+${lastName}&entry.1316893447=${email}&entry.518700738=${org}&entry.1952440059=${role}`\n : `https://docs.google.com/forms/d/16u5x0WUnP-CvJlaWtjXIW8380OxnFzZ8UFfhmSmbQ2k/viewform?usp=pp_url&entry.472618636=${firstName}+${lastName}&entry.1316893447=${email}&entry.518700738=${org}&entry.1952440059=${role}`\n\nconst getAdminLink = ({ firstName, lastName, email, role, org, en }) =>\n en\n ? `https://docs.google.com/forms/d/e/1FAIpQLScTvSQJpJ520_c3IX8HzRQqRyAaplrAKrTByJzggqC21yWz4g/viewform?usp=sf_link/viewform?usp=pp_url&entry.472618636=${firstName}+${lastName}&entry.1316893447=${email}&entry.518700738=${org}&entry.1952440059=${role}`\n : `https://docs.google.com/forms/d/e/1FAIpQLSeWTuk4mteSshWbXWKLpCliaP8G64f1h8vMGO4CDLf3nYN1xw/viewform?usp=pp_url&entry.472618636=${firstName}+${lastName}&entry.1316893447=${email}&entry.518700738=${org}&entry.1952440059=${role}`\n\nexport const FeedbackSurvey = () => {\n const { t, i18n } = useTranslation()\n const { user } = useAuthContext()\n const [visible, setVisible] = useState(false)\n const [secondScreen, setSecondScreen] = useState(false)\n\n useEffect(() => {\n const cookieValue = Cookie.get(cookieName + user.account_id)\n if (cookieValue === undefined) {\n setVisible(true)\n }\n }, [])\n\n const hide = () => {\n Cookie.set(cookieName + user.account_id, true, { expires: 1 })\n setVisible(false)\n }\n\n const prepareDataForRedirect = async () => {\n const user = await Auth.currentAuthenticatedUser()\n const org = user.attributes['custom:organizationID']\n const role = user.attributes['custom:role']\n\n return {\n org,\n role,\n email: user.attributes.email,\n firstName: encodeURIComponent(user.attributes.given_name),\n lastName: encodeURIComponent(user.attributes.family_name || ''),\n en: i18n.language === 'en'\n }\n }\n\n const redirect = isTeacher => async () => {\n const data = await prepareDataForRedirect()\n const link = isTeacher ? getTeacherLink(data) : getAdminLink(data)\n\n window.open(link, '_blank')\n Cookie.set(cookieName + user.account_id, true, { expires: 180 })\n setVisible(false)\n }\n\n return (\n setVisible(false)}>\n \n \n {t('charts.feedbackSurvey.shareYourFeedback')}\n \n \n \n {secondScreen\n ? t('charts.feedbackSurvey.canYouTellUs')\n : t('charts.feedbackSurvey.weNeedYourHelp')}\n \n \n {secondScreen ? (\n <>\n \n \n \n ) : (\n <>\n \n \n \n )}\n \n \n )\n}\n","import React, { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Modal } from 'react-bootstrap'\nimport { PrimaryLink } from 'shared/components'\nimport {\n managementOrganization,\n bulkReportURL,\n managementUsers,\n trainingURL,\n managementClassroom\n} from 'lib/links'\nimport { useAuthContext } from 'features/auth'\n\nimport styles from './quick-links.module.css'\n\nexport const QuickLinks = ({ setJoyride }) => {\n const [modal, setModal] = useState(null)\n const { t } = useTranslation()\n const { isTeacher, isStateAdmin, isKea, user } = useAuthContext()\n\n if (isTeacher) {\n return (\n
\n

{t('charts.quickLinks.quickLinks')}

\n {user?.can_add_students && (\n \n {t('charts.quickLinks.addStudent')}\n \n )}\n \n {t('charts.quickLinks.startTraining')}\n \n setModal(t('charts.quickLinks.playGamesPopup'))}\n >\n {t('charts.quickLinks.playGames')}\n \n \n setJoyride(state => ({ ...state, run: true, stepIndex: 0 }))\n }\n >\n {t('charts.quickLinks.seeWalkthrough')}\n \n {modal && (\n setModal(null)}>\n {modal}\n \n )}\n
\n )\n }\n\n if (isStateAdmin) {\n return (\n
\n
{t('charts.quickLinks.quickLinks')}
\n \n setJoyride(state => ({ ...state, run: true, stepIndex: 0 }))\n }\n >\n {t('charts.quickLinks.seeWalkthrough')}\n \n {modal && (\n setModal(null)}>\n {modal}\n \n )}\n
\n )\n }\n\n return (\n
\n
{t('charts.quickLinks.quickLinks')}
\n {user?.can_add_students && (\n \n {t('charts.quickLinks.addStudent')}\n \n )}\n {user?.add_remove_edit_users && (\n \n {t('charts.quickLinks.addTeacher')}\n \n )}\n {user?.add_remove_edit_org_management && (\n \n {t('charts.quickLinks.addClassroom')}\n \n )}\n {!isKea && (\n \n {t('charts.quickLinks.printReports')}\n \n )}\n setModal(t('charts.quickLinks.playGamesPopup'))}\n >\n {t('charts.quickLinks.playGames')}\n \n \n setJoyride(state => ({ ...state, run: true, stepIndex: 0 }))\n }\n >\n {t('charts.quickLinks.seeWalkthrough')}\n \n {modal && (\n setModal(null)}>\n {modal}\n \n )}\n
\n )\n}\n","import React, { useLayoutEffect, useEffect, useCallback } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { STATUS, ACTIONS, EVENTS } from 'react-joyride'\n\nimport { StyledJoyride } from 'shared/components'\n\nexport const Walkthrough = ({\n joyride: { run, sidebarOpen, steps, stepIndex },\n setJoyride,\n loading\n}) => {\n const { t, i18n } = useTranslation()\n const menu = document.getElementById('sidenav-toggle')\n useLayoutEffect(() => {\n if (!menu) return\n const updateMenu = () => {\n setJoyride(state => ({\n ...state,\n run: state.stepIndex === 0 ? false : state.run,\n sidebarOpen: !state.sidebarOpen,\n stepIndex: state.stepIndex === 0 ? 1 : state.stepIndex\n }))\n }\n menu.addEventListener('click', updateMenu, {\n passive: true\n })\n return () => menu?.removeEventListener('click', updateMenu)\n })\n useEffect(() => {\n setJoyride(state => ({\n ...state,\n steps: [\n {\n title: t('charts.walkthrough.menu'),\n content: t('charts.walkthrough.menuContent'),\n target: '#sidenav-toggle',\n disableBeacon: true,\n disableOverlayClose: true,\n spotlightClicks: true,\n spotlightPadding: 0,\n showSkipButton: true,\n hideCloseButton: true\n },\n {\n title: t('charts.walkthrough.addStudents'),\n content: t('charts.walkthrough.addStudentsContent'),\n target: '#sidenav-management',\n showSkipButton: true,\n disableBeacon: true,\n spotlightPadding: 0,\n placement: 'right'\n },\n {\n title: t('charts.walkthrough.training'),\n content: t('charts.walkthrough.trainingContent'),\n target: '#sidenav-training',\n spotlightPadding: 0,\n placement: 'right'\n },\n {\n title: t('charts.walkthrough.schedule'),\n content: t('charts.walkthrough.scheduleContent'),\n target: '#sidenav-schedule',\n spotlightPadding: 0,\n placement: 'right'\n },\n {\n title: t('charts.walkthrough.reports'),\n content: t('charts.walkthrough.reportsContent'),\n target: '#sidenav-reports',\n spotlightPadding: 0,\n placement: 'right'\n },\n {\n title: t('charts.walkthrough.support'),\n content: t('charts.walkthrough.supportContent'),\n target: '#sidenav-support',\n spotlightPadding: 0,\n placement: 'right'\n },\n {\n title: t('charts.walkthrough.whoIsUsingCTB'),\n content: t('charts.walkthrough.whoIsUsingCTBContent'),\n target: '#assessment-completion'\n },\n {\n title: t('charts.walkthrough.chat'),\n content: t('charts.walkthrough.chatContent'),\n target: '#chat-with-support'\n },\n {\n title: t('charts.walkthrough.account'),\n content: t('charts.walkthrough.accountContent'),\n target: '#account-dropdown'\n }\n ]\n }))\n }, [i18n.language])\n useEffect(() => {\n if (!loading && !window.localStorage.getItem('isWalkthroughPassed')) {\n setJoyride(state => ({\n ...state,\n run: true\n }))\n }\n }, [loading])\n\n const handleJoyrideCallback = useCallback(\n data => {\n const { status, index, action, type } = data\n if ([STATUS.FINISHED, STATUS.SKIPPED].includes(status)) {\n // Need to set our running state to false, so we can restart if we click start again.\n setJoyride(state => ({ ...state, run: false, stepIndex: 0 }))\n if (sidebarOpen) {\n menu.click()\n }\n window.localStorage.setItem('isWalkthroughPassed', true)\n } else if (action === ACTIONS.START) {\n if (index === 0 && sidebarOpen) {\n menu.click()\n setTimeout(() => {\n setJoyride(state => ({ ...state, run: true, stepIndex: 0 }))\n }, 400)\n }\n } else if ([EVENTS.STEP_AFTER, EVENTS.TARGET_NOT_FOUND].includes(type)) {\n const nextStepIndex = index + (action === ACTIONS.PREV ? -1 : 1)\n if (index === 0) {\n setTimeout(() => {\n setJoyride(state => ({ ...state, run: true }))\n }, 400)\n } else if (sidebarOpen && index === 1) {\n setJoyride(state => ({\n ...state,\n run: false,\n stepIndex: nextStepIndex\n }))\n\n setTimeout(() => {\n setJoyride(state => ({ ...state, run: true }))\n }, 400)\n } else if (index === 6 && action === ACTIONS.PREV) {\n menu.click()\n setJoyride(state => ({\n ...state,\n run: false,\n stepIndex: nextStepIndex\n }))\n\n setTimeout(() => {\n setJoyride(state => ({ ...state, run: true }))\n }, 400)\n } else if (index === 5 && action === ACTIONS.NEXT) {\n menu.click()\n setJoyride(state => ({\n ...state,\n stepIndex: nextStepIndex\n }))\n } else {\n // Update state to advance the tour\n setJoyride(state => ({\n ...state,\n stepIndex: nextStepIndex\n }))\n }\n }\n },\n [menu, sidebarOpen]\n )\n return (\n \n )\n}\n","import React, { useContext, useEffect, useState } from 'react'\nimport { get } from 'lodash'\nimport { useHistory } from 'react-router'\n\nimport { PageWrapper, Loader } from 'shared/components'\nimport { AuthContext } from 'features/auth'\nimport { useChartSorting } from 'features/dashboard/index'\nimport * as chartComponentsInitial from 'features/dashboard/charts'\nimport { parentHomeURL } from 'lib/links'\nimport { DashboardContext } from './hooks/use-dashboard-context'\nimport { FeedbackSurvey } from './features/feedback-survey'\nimport { AcquisitionNotification } from './features/acquisition-notification'\nimport { QuickLinks } from './features/quick-links/quick-links'\nimport { Walkthrough } from './features/walkthrough/walkthrough'\n\nconst stateAdminCharts = [chartComponentsInitial.AssessmentCompletion]\n\nconst teachersCharts = [\n chartComponentsInitial._1stChartContainer,\n chartComponentsInitial.DomainsOnTrack,\n chartComponentsInitial.AssessmentCompletion,\n chartComponentsInitial._10thChartContainer\n]\n\nconst districtAdminsCharts = [\n chartComponentsInitial._1stChartContainer,\n chartComponentsInitial.AssessmentCompletion,\n chartComponentsInitial._3rdChartContainer,\n chartComponentsInitial._5thChartContainer,\n chartComponentsInitial._6thChartContainer,\n chartComponentsInitial.DomainsOnTrack\n]\n\nconst keaAdminsCharts = [\n chartComponentsInitial._1stChartContainer,\n chartComponentsInitial.AssessmentCompletion\n]\n\nconst keaSchoolAdminsCharts = [\n chartComponentsInitial._1stChartContainer,\n chartComponentsInitial.AssessmentCompletion,\n chartComponentsInitial._10thChartContainer\n]\n\nconst keaTeachersCharts = [\n chartComponentsInitial._1stChartContainer,\n chartComponentsInitial.AssessmentCompletion,\n chartComponentsInitial._10thChartContainer\n]\n\nexport const Dashboard = () => {\n const [joyride, setJoyride] = useState(() => ({\n run: false,\n stepIndex: 0,\n sidebarOpen: false,\n steps: []\n }))\n\n const history = useHistory()\n const {\n loading,\n isTeacher,\n isParent,\n isDistrictAdmin,\n isStateAdmin,\n isKea,\n user\n } = useContext(AuthContext)\n const role = get(user, 'role', null)\n\n useEffect(() => {\n if (isParent) {\n history.push(parentHomeURL)\n }\n }, [isParent])\n\n const { charts } = useChartSorting(\n isStateAdmin\n ? stateAdminCharts\n : isTeacher\n ? isKea\n ? keaTeachersCharts\n : teachersCharts\n : isKea\n ? isDistrictAdmin\n ? keaAdminsCharts\n : keaSchoolAdminsCharts\n : isDistrictAdmin\n ? districtAdminsCharts\n : chartComponentsInitial,\n role,\n isTeacher\n )\n\n if (loading || isParent) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n \n \n
{charts}
\n {/* Uncomment next line to turn on the pop up */}\n {/* */}\n {/* */}\n \n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PageWrapper, Button } from 'shared/components'\n\nexport const Error = () => {\n const { t } = useTranslation()\n return (\n \n \n {t('basicComponents.errorPage.somethingWentWrong')}\n \n \n \n )\n}\n","import React from 'react'\nimport platform from 'platform'\nimport parser from 'ua-parser-js'\nimport { useTranslation } from 'react-i18next'\nimport { PageWrapper } from 'shared/components'\n\nexport const Device = () => {\n const { t } = useTranslation()\n const parsedData = parser(window.navigator.userAgent)\n return (\n \n

\n {t('basicComponents.device.description')} {platform.description}\n

\n

\n {t('basicComponents.device.name')} {platform.name}\n

\n

\n {t('basicComponents.device.browser')} {platform.ua}\n

\n

\n {t('basicComponents.device.version')} {platform.version}\n

\n

\n OS: {platform.os.family}/x{platform.os.architecture}/version:{' '}\n {platform.os.version}\n

\n

{JSON.stringify(parsedData)}

\n
\n )\n}\n","import React, { useState } from 'react'\nimport { Form } from 'react-bootstrap'\nimport { useMutation } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { toast } from 'react-toastify'\nimport { Button, Modal, Checkbox } from 'shared/components'\nimport { addCurriculumMutation } from 'lib/api'\n\nimport styles from './edit-curriculum-modal.module.css'\n\nexport const EditCurriculumModal = ({ data, onHide, refetch }) => {\n const { t } = useTranslation()\n const addCurriculum = useMutation(addCurriculumMutation())\n const [selectedCurriculums, setSelectedCurriculums] = useState(\n data.curriculums.map(curr => ({\n id: curr.curriculum_id,\n selected: !!data.selectedCurriculums?.find(\n selectedCurr => selectedCurr.curriculum_id === curr.curriculum_id\n ),\n name: curr.name\n }))\n )\n return (\n \n \n {t('curriculum.editCurriculumModal.title')}\n \n \n {selectedCurriculums.map((curriculum, index) => (\n \n {\n const newSelectedCurriculums = [...selectedCurriculums]\n newSelectedCurriculums[index] = {\n ...newSelectedCurriculums[index],\n selected: e.target.checked\n }\n setSelectedCurriculums(newSelectedCurriculums)\n }}\n label={curriculum.name}\n />\n \n ))}\n \n \n {\n addCurriculum\n .mutateAsync({\n classroom_id: data.classroom,\n curriculum_ids: selectedCurriculums\n .filter(({ selected }) => selected)\n .map(({ id }) => id)\n })\n .then(() => {\n onHide()\n refetch()\n })\n .catch(e => toast.error(e))\n }}\n >\n {t('curriculum.editCurriculumModal.save')}\n \n \n \n )\n}\n","import React, { useState, useMemo, useEffect } from 'react'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { useHistory } from 'react-router-dom'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPencilAlt } from '@fortawesome/free-solid-svg-icons'\n\nimport { transformAge } from 'lib/helpers'\nimport {\n TanStackTable,\n PrimaryLink,\n Loader,\n Button,\n Heading\n} from 'shared/components'\nimport { getAdminCurriculumQuery } from 'lib/api'\nimport { curriculum, homeURL } from 'lib/links'\nimport { useAuthContext } from 'features/auth'\n\nimport { EditCurriculumModal } from './components/edit-curriculum-modal/edit-curriculum-modal'\nimport styles from './curriculum.module.css'\n\nexport const CurriculumAdminView = () => {\n const { t, i18n } = useTranslation()\n const history = useHistory()\n const [editCurriculumModal, setEditCurriculumModal] = useState(null)\n const { data, isLoading, refetch } = useQuery(getAdminCurriculumQuery())\n const { isKea } = useAuthContext()\n\n useEffect(() => {\n if (isKea) {\n history.push(homeURL)\n }\n }, [isKea])\n\n const columns = useMemo(\n () => [\n {\n accessorKey: 'classroom_name',\n header: t('curriculum.table.className'),\n sortingFn: 'alphanumeric',\n enableColumnFilter: true,\n cell: ({ getValue, row }) =>\n row.original.curriculums?.length ? (\n \n history.push(\n curriculum({ classroom: row.original.classroom_id })\n )\n }\n >\n {getValue()}\n \n ) : (\n getValue()\n ),\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n id: 'teachers',\n accessorFn: row =>\n row.teachers\n ?.map(teacher => `${teacher.first_name} ${teacher.last_name ?? ''}`)\n ?.join(', ') || undefined,\n sortUndefined: 1,\n header: t('curriculum.table.teacherName'),\n cell: ({ row }) => {\n const teachers = row.original.teachers\n const [showTeachers, setShowTeachers] = useState(false)\n if (!teachers?.length) return '-'\n return (\n
\n \n {teachers[0].first_name} {teachers[0].last_name || ''}\n \n \n {teachers.length > 1 &&\n (showTeachers ? (\n ', ' +\n teachers\n .map(\n teacher =>\n `${teacher.first_name} ${teacher.last_name || ''}`\n )\n .join(', ')\n ) : (\n setShowTeachers(true)}>\n {' '}\n +{teachers.length - 1} more...\n \n ))}\n \n
\n )\n },\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n accessorKey: 'student_count',\n header: t('curriculum.table.studentsCount'),\n cell: ({ getValue }) =>\n getValue() ? `${getValue()} ${t('curriculum.table.students')}` : '-',\n enableColumnFilter: true,\n\n sortUndefined: 1\n },\n {\n accessorKey: 'min_age',\n header: t('curriculum.table.ageRange'),\n cell: ({ getValue, row }) =>\n `${transformAge(getValue(), t)} - ${transformAge(\n row.original.max_age,\n t\n )}`\n },\n {\n accessorFn: row =>\n row.curriculums?.length\n ? row.curriculums\n .map(curriculum => curriculum.curriculum_name)\n .join(', ')\n : undefined,\n header: t('curriculum.table.curriculum'),\n cell: ({ row, getValue }) =>\n getValue() || (\n \n setEditCurriculumModal({\n classroom: row.original.classroom_id,\n curriculums: data.curriculums\n })\n }\n >\n {t('curriculum.table.assignCurriculum')}\n \n ),\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric',\n sortUndefined: 1\n },\n {\n accessorKey: 'edit',\n header: t('curriculum.table.edit'),\n cell: ({ row }) =>\n !!row.original.curriculums?.length && (\n \n setEditCurriculumModal({\n classroom: row.original.classroom_id,\n curriculums: data.curriculums,\n selectedCurriculums: row.original.curriculums\n })\n }\n />\n ),\n hideSettings: true\n }\n ],\n [i18n.language, data]\n )\n\n return (\n <>\n {t('curriculum.title')}\n {isLoading && }\n {data &&\n data.organization_curriculum_data?.map((school, index) => (\n
\n
\n {school.school_name}\n
\n \n
\n ))}\n {editCurriculumModal && (\n setEditCurriculumModal(null)}\n />\n )}\n \n )\n}\n","const DAILY = 'Daily'\nconst WEEKLY = 'Weekly'\n\nexport function getSectionType(section) {\n return {\n isDaily: section.section_timeframe === DAILY,\n isWeekly: section.section_timeframe === WEEKLY,\n isHidden: section.section_timeframe === null\n }\n}\n\nexport function transformAssignableToOption(assignable, day_number) {\n return {\n day_number,\n ...assignable,\n label: assignable.assignable_name,\n value: assignable.assignable_id || assignable.assignable_name\n }\n}\n\nexport function transformObjectiveToOption(objective) {\n return {\n ...objective,\n label: objective.objective_name || objective.name,\n value: objective.objective_id\n }\n}\n\nexport const sectionsColors = [\n '#F99B81',\n '#10C2F2',\n '#1ACA98',\n '#F9B063',\n '#86A3E9',\n '#845BC8'\n]\n","import { useQuery } from 'react-query'\n\nimport { getCurriculumFiltersQuery } from 'lib/api'\nexport const useCurriculumFilters = (params, enabled) => {\n const curriculumFilters = useQuery({\n ...getCurriculumFiltersQuery(params),\n enabled\n })\n return curriculumFilters\n}\n","import { useReducer, useEffect } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { curriculum } from 'lib/links'\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'setCurriculum':\n return {\n ...state,\n curriculum: action.curriculum,\n theme_week: null\n }\n case 'setWeek':\n return {\n ...state,\n week: action.week,\n theme_week: null\n }\n case 'setPage':\n return {\n ...state,\n print: action.print,\n planning: action.planning\n }\n case 'setChanged':\n return {\n ...state,\n changed: action.changed\n }\n case 'setOptions':\n return {\n ...state,\n ...action.options\n }\n case 'setFromOptions': {\n const actionOptions = JSON.stringify(action.options)\n const stateOptions = JSON.stringify(state)\n if (actionOptions === stateOptions) return state\n else return action.options\n }\n\n default:\n return state\n }\n}\n\nexport const useCurriculumReducer = query => {\n const history = useHistory()\n const [options, dispatch] = useReducer(reducer, query)\n // cycle safe\n useEffect(() => {\n dispatch({ type: 'setFromOptions', options: query })\n }, [query])\n // update query on state change\n useEffect(() => {\n if (options) {\n history.push(curriculum(options))\n }\n }, [options])\n return { options, dispatch }\n}\n","import { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\n\nimport { getClassroomCurriculumQuery } from 'lib/api'\nexport const useCurriculumData = (\n { classroomId, assignable, objective },\n options\n) => {\n const { i18n } = useTranslation()\n const curriculumData = useQuery({\n ...getClassroomCurriculumQuery({\n classroom: classroomId,\n theme_week: options.theme_week,\n week: options.week,\n language: i18n.language,\n assignable,\n objective\n }),\n enabled: !!options.theme_week && !!classroomId && !!options.week\n })\n return curriculumData\n}\n","import React, { useRef } from 'react'\nimport ReactToPrint from 'react-to-print'\nimport { useTranslation } from 'react-i18next'\nimport { Button, Modal } from 'shared/components'\nimport { useCurriculumData } from 'features/curriculum/hooks/use-curriculum-data'\n\nimport styles from './detailed-lesson-modal.module.css'\n\nexport const DetailedLessonModal = ({ detailedLessonModal, onHide }) => {\n const { t } = useTranslation()\n const { data, isLoading } = useCurriculumData(\n {\n classroomId: detailedLessonModal.classroomId,\n assignable: detailedLessonModal.assignable_id,\n objective:\n detailedLessonModal.objectives?.length &&\n detailedLessonModal.objectives?.map(o => o.objective_id)\n },\n detailedLessonModal.options\n )\n const modalRef = useRef()\n return (\n \n \n \n {detailedLessonModal.label}\n \n \n {data && (\n <>\n {data.assignable_content?.map(content => (\n
\n
\n {content.title}\n
\n {typeof content.body === 'object' ? (\n
    \n {content.body.map((item, i) => (\n
  • {item}
  • \n ))}\n
\n ) : (\n
{content.body}
\n )}\n
\n ))}\n
\n
\n {t('curriculum.detailedLessonModal.related')}\n
\n
\n {detailedLessonModal.objectives?.map(o => o.label).join(', ') ||\n '-'}\n
\n
\n
\n \n {t('curriculum.detailedLessonModal.recommendedSmallGroups')}\n \n
\n
\n {t('curriculum.detailedLessonModal.rsgDescription')}\n
\n
\n
\n {data.small_groups?.student_groups?.map(group => (\n
\n
\n \n {t('curriculum.detailedLessonModal.group')} {group.name}\n \n
\n {group.students?.length\n ? group.students.map(student => (\n
\n {student.student_name.first_name}{' '}\n {student.student_name.last_name || ''}\n
\n ))\n : '-'}\n
\n )) || '-'}\n
\n \n )}\n
\n \n (\n \n )}\n content={() => modalRef.current}\n />\n \n \n
\n )\n}\n","import React, { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from 'shared/components'\nimport { ObservationCell } from 'features/observations'\nimport { useAuthContext } from 'features/auth'\nimport classNames from 'classnames'\nimport ReactTooltip from 'react-tooltip'\nimport styles from './sections.module.css'\nimport { useCurriculumContext } from '../../../../curriculum'\nimport { DetailedLessonModal } from '../../components/detailed-lesson-modal/detailed-lesson-modal'\n\nexport const DailySection = ({ section, standards }) => {\n const { t } = useTranslation()\n const [detailedLessonModal, setDetailedLessonModal] = useState(null)\n const authContext = useAuthContext()\n const {\n actions: { get },\n classroomId,\n options\n } = useCurriculumContext()\n\n const dailyValues = section.week_days.map(day =>\n get(section.section_id, {\n day_number: day.day_number\n })\n )\n\n if (!authContext.domain?.data.students) return\n\n return (\n <>\n \n
\n
{section.section_name}
\n {!!standards?.length && (\n
\n (\n {standards?.map((standard, index) => (\n \n
\n {Object.keys(standard)[0]}\n {index !== standards.length - 1 && ','}\n
\n \n {Object.values(standard)[0]}\n \n
\n ))}\n )\n
\n )}\n
\n \n {section.week_days.map(day => {\n const objectives = dailyValues[day.day_number - 1]?.saved\n ? dailyValues[day.day_number - 1].objectives?.filter(o => o.saved)\n : dailyValues[day.day_number - 1]?.objectives\n const notGameObjectives = objectives?.filter(\n ({ is_game }) => !is_game\n )\n return (\n \n \n {day.day_name}\n \n
\n {dailyValues[day.day_number - 1]?.label}\n
\n {dailyValues[\n day.day_number - 1\n ]?.assignable_content?.print_content?.map(content => (\n
\n {content.title}: \n\n {typeof content.body === 'object' ? (\n
    \n {content.body.map((item, i) => (\n
  • {item}
  • \n ))}\n
\n ) : (\n {content.body}\n )}\n
\n ))}\n
\n {!!objectives?.length && (\n
\n
\n {t('curriculum.related')}\n
\n
{objectives?.map(o => o.label).join(', ')}
\n
\n )}\n {!!notGameObjectives?.length && (\n value)}\n defaultObservation=\"PortfolioBasedObservationContainer\"\n text={t('curriculum.collectObs')}\n />\n )}\n {section.has_detailed_view &&\n dailyValues[day.day_number - 1] && (\n \n setDetailedLessonModal({\n ...dailyValues[day.day_number - 1],\n objectives,\n color: section.color,\n options,\n classroomId\n })\n }\n >\n {t('curriculum.seeDetailed')}\n \n )}\n
\n \n )\n })}\n \n \n {detailedLessonModal && (\n setDetailedLessonModal(null)}\n />\n )}\n \n )\n}\n","import React from 'react'\nimport cn from 'classnames'\nimport ReactTooltip from 'react-tooltip'\nimport styles from './sections.module.css'\nimport { useCurriculumContext } from '../../../../curriculum'\n\nexport const WeeklySection = ({ section, standards }) => {\n const {\n actions: { get }\n } = useCurriculumContext()\n if (!section) return null\n return (\n
\n
\n
{section.section_name}
\n {!!standards?.length && (\n
\n (\n {standards?.map((standard, index) => (\n \n
\n {Object.keys(standard)[0]}\n {index !== standards.length - 1 && ','}\n
\n \n {Object.values(standard)[0]}\n \n
\n ))}\n )\n
\n )}\n
\n \n {get(section.section_id)?.assignable_name}\n
\n \n )\n}\n","import React from 'react'\n\nimport { DailySection } from './components/sections/daily-section'\nimport { WeeklySection } from './components/sections/weekly-section'\nimport styles from './print-tool.module.css'\nimport { getSectionType } from '../../utils'\nimport { useCurriculumContext } from '../../curriculum'\n\nexport const PrintTool = () => {\n const { filterData, data } = useCurriculumContext()\n\n return (\n
\n {filterData.sections?.map(section => {\n const { isDaily, isWeekly } = getSectionType(section)\n const standards = data?.assignable_content.section_data.find(\n s => s.section_id === section.section_id\n )?.standards\n if (isDaily) {\n return (\n \n )\n }\n if (isWeekly) {\n return (\n \n )\n }\n return null\n })}\n
\n )\n}\n","import React, { useState, useEffect } from 'react'\nimport { get as lodashGet } from 'lodash'\nimport { Form } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport CreatableSelect from 'react-select/creatable'\nimport { Select } from 'shared/components'\nimport styles from './assignable.module.css'\nimport {\n transformObjectiveToOption,\n transformAssignableToOption\n} from '../../../utils'\nimport { useCurriculumContext } from '../../../curriculum'\n\nexport const AssignableDaily = ({ assignable, section }) => {\n const { t } = useTranslation()\n const { theme_week_day_id, day_name, assignables } = assignable\n const {\n actions: { set, get },\n data\n } = useCurriculumContext()\n const defaultAssignable = get(section.section_id, {\n theme_week_day_id,\n day_number: assignable.day_number\n })\n const [firstSelected, setFirstSelected] = useState(null)\n const [secondSelected, setSecondSelected] = useState(null)\n const [textFields, setTextFields] = useState(null)\n\n useEffect(() => {\n setFirstSelected(defaultAssignable || null)\n const objectives = lodashGet(defaultAssignable, 'objectives', null)\n setSecondSelected(\n defaultAssignable?.saved ? objectives?.filter(o => o.saved) : objectives\n )\n setTextFields(\n section?.content.map(content => {\n const foundAssignable = defaultAssignable?.assignable_content?.portal_content.find(\n ({ category_id }) => category_id === content.category_id\n )\n if (foundAssignable) return foundAssignable\n return { ...content, body: content.body || null }\n })\n )\n }, [defaultAssignable?.section_id])\n useEffect(() => {\n setFirstSelected(defaultAssignable)\n }, [defaultAssignable?.section_id])\n\n const firstOptions = [\n ...assignables.map(a =>\n transformAssignableToOption(a, assignable.day_number)\n ),\n {\n custom_assignable: true,\n value: null,\n label: t('curriculum.filters.startTyping'),\n assignable_objectives: lodashGet(data, 'available_objectives', []).map(\n transformObjectiveToOption\n )\n }\n ]\n\n const secondOptions = lodashGet(data, 'available_objectives', []).map(\n transformObjectiveToOption\n )\n\n if (!theme_week_day_id || !day_name) return null\n\n const creatableSelectStyle = isContent => ({\n control: defaultStyles => ({\n ...defaultStyles,\n width: '210px',\n cursor: 'pointer',\n margin: 0,\n borderColor: section.color,\n borderWidth: '3px',\n background:\n isContent &&\n `linear-gradient(rgb(255 255 255 / 85%), rgb(255 255 255 / 85%)) ${section.color}`,\n ':hover': {\n borderColor: '#13348b8a'\n }\n }),\n multiValue: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: section.color,\n color: 'white',\n '*': {\n color: 'white !important'\n },\n '*:hover': { backgroundColor: section.color }\n }),\n indicatorSeparator: defaultStyles => ({\n ...defaultStyles,\n backgroundColor: section.color\n })\n })\n\n return (\n
\n
{day_name}
\n
\n {\n if (action.action === 'create-option') {\n setFirstSelected({\n ...option,\n custom_assignable: true,\n assignable_objectives: lodashGet(\n data,\n 'available_objectives',\n []\n ).map(transformObjectiveToOption)\n })\n set(\n section.section_id,\n {\n ...option,\n day_number: assignable.day_number,\n custom_assignable: true\n },\n {\n ...option,\n objectives: secondSelected,\n label: option.label,\n assignable_content: {\n ...option?.assignable_content,\n portal_content: textFields\n }\n },\n theme_week_day_id\n )\n } else {\n if (option.value === null) return\n setFirstSelected(option)\n if (!option.custom_assignable) {\n setSecondSelected(\n option.assignable_objectives?.map(transformObjectiveToOption)\n )\n }\n setTextFields(textFields =>\n textFields.map(field => {\n const foundAssignable = option.assignable_content?.portal_content.find(\n ({ category_id }) => category_id === field.category_id\n )\n if (foundAssignable) return foundAssignable\n return field\n })\n )\n set(\n section.section_id,\n { ...option, day_number: assignable.day_number },\n {\n ...option,\n objectives: option.custom_assignable\n ? secondSelected\n : option.assignable_objectives,\n label: option.label\n },\n theme_week_day_id\n )\n }\n }}\n />\n {!!textFields?.length &&\n textFields.map(content => (\n \n {\n const foundFieldIndex = textFields.findIndex(\n ({ category_id }) => category_id === content.category_id\n )\n const newTextFields = [...textFields]\n newTextFields[foundFieldIndex] = {\n ...newTextFields[foundFieldIndex],\n body: e.target.value\n }\n setTextFields(newTextFields)\n }}\n onBlur={() =>\n set(\n section.section_id,\n {\n ...firstSelected,\n objectives: secondSelected,\n custom_assignable: true,\n changed: false\n },\n {\n ...firstSelected,\n custom_assignable: true,\n objectives: secondSelected,\n assignable_content: {\n ...firstSelected?.assignable_content,\n portal_content: textFields\n }\n },\n theme_week_day_id\n )\n }\n />\n \n ))}\n {\n setSecondSelected(objectives)\n set(\n section.section_id,\n {\n ...firstSelected,\n day_number: assignable.day_number\n },\n {\n ...firstSelected,\n assignable_content: {\n ...firstSelected?.assignable_content,\n portal_content: textFields\n },\n objectives: objectives\n },\n theme_week_day_id\n )\n }}\n />\n
\n
\n )\n}\n","import React, { useState, useEffect } from 'react'\nimport { get as lodashGet } from 'lodash'\nimport { Form } from 'react-bootstrap'\nimport styles from './assignable.module.css'\nimport { useCurriculumContext } from '../../../curriculum'\n\nexport const AssignableWeekly = ({ assignable, section }) => {\n const { assignable_content, assignable_name } = assignable\n const {\n actions: { setWeekly, get },\n data\n } = useCurriculumContext()\n const value = lodashGet(\n assignable_content,\n 'print_content.description',\n assignable_name\n )\n const defaultValue = lodashGet(\n get(section.section_id, {\n assignable_id: assignable.assignable_id\n }),\n 'description',\n assignable_name\n )\n const [text, setText] = useState(defaultValue || value)\n\n useEffect(() => {\n if (!defaultValue && value) {\n setWeekly(section.section_id, { value })\n }\n }, [data])\n\n return (\n setText(e.target.value)}\n onBlur={e =>\n setWeekly(section.section_id, { value: e.target.value, label: text })\n }\n />\n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { sortBy } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport { StyledSelect } from 'shared/components'\nimport styles from './theme-select.module.css'\n\nimport { useCurriculumFilters } from '../../hooks/use-curriculum-filters'\n\nexport const ThemeSelect = ({\n classroomId,\n queryParameter,\n options,\n dispatch,\n label,\n title\n}) => {\n const { i18n } = useTranslation()\n const { data, isLoading } = useCurriculumFilters(\n {\n ...queryParameter,\n curriculum: options.curriculum,\n classroom: classroomId,\n language: i18n.language\n },\n !!classroomId\n )\n const [selectedId, setSelectedId] = useState(null)\n const filterOptions = useMemo(() => {\n const processedData = sortBy(\n data?.curriculum_weeks\n .map(week =>\n week.themes.map(theme => ({\n value: theme.theme_week_id,\n label: theme.formatted_week_name,\n theme_unit: theme.theme_unit\n }))\n )\n .flat(),\n item => item.theme_unit\n )\n\n const initialOption = {\n label: title,\n value: null\n }\n\n const selectedValue =\n options.theme_week &&\n processedData?.find(({ value }) => String(value) === options.theme_week)\n setSelectedId(selectedValue || initialOption)\n return [initialOption, ...(processedData || [])]\n }, [data, options.theme_week, title])\n\n return (\n
\n {label &&
{label}:
}\n {\n setSelectedId(item)\n dispatch({\n type: 'setOptions',\n options: {\n theme_week: item.value,\n changed: item.value ? true : undefined\n }\n })\n }}\n isDisabled={isLoading}\n />\n
\n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from 'shared/components'\nimport { AssignableDaily } from './components/assignable-daily'\nimport { AssignableWeekly } from './components/assignable-weekly'\nimport styles from './planning-toop.module.css'\nimport { useCurriculumContext } from '../../curriculum'\nimport { ThemeSelect } from '../../components/theme-select/theme-select'\nimport { getSectionType } from '../../utils'\n\nexport const PlanningTool = () => {\n const { t } = useTranslation()\n const {\n options,\n dispatch,\n data,\n classroomId,\n actions: { save }\n } = useCurriculumContext()\n\n return (\n
\n \n\n
\n {data &&\n data.assignable_content.section_data?.map(section => {\n if (!section.section_timeframe) {\n return null\n }\n const { isDaily, isWeekly } = getSectionType(section)\n const Component = isDaily ? AssignableDaily : AssignableWeekly\n\n let assignables = []\n if (isDaily) {\n assignables = section.theme_weekdays\n }\n if (isWeekly) {\n const savedWeeklyAssignables = section.assignables?.filter(\n assignable => assignable.saved\n )\n if (savedWeeklyAssignables?.length) {\n assignables = savedWeeklyAssignables\n } else {\n if (!section.assignables?.length) {\n assignables = [\n {\n custom_assignable: true,\n assignable_name: ''\n }\n ]\n } else {\n assignables = section.assignables\n }\n }\n }\n return (\n
\n

{section.section_name}

\n
\n {assignables.map((assignable, index) => (\n \n ))}\n
\n
\n )\n })}\n {!!data && (\n
\n \n
\n )}\n
\n
\n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { Button, Loader } from 'shared/components'\n\nimport styles from './curriculum-week.module.css'\nimport { PrintTool } from '../../tools/print-tool/print-tool'\nimport { PlanningTool } from '../../tools/planning-tool/planning-tool'\nimport { useCurriculumContext } from '../../curriculum'\n\nexport const CurriculumWeek = ({ curriculumDataLoading }) => {\n const { t } = useTranslation()\n const { filterData, options, dispatch, classroomId } = useCurriculumContext()\n\n return (\n
\n {!options.planning && !options.print ? (\n
\n \n dispatch({ type: 'setPage', print: true, planning: false })\n }\n >\n {t('curriculum.printBalkPlan')}\n \n \n dispatch({ type: 'setPage', print: false, planning: true })\n }\n >\n {t('curriculum.startThisWeekPlan')}\n \n
\n ) : (\n
\n {curriculumDataLoading && }\n
\n {options.print ? (\n \n ) : (\n \n dispatch({ type: 'setPage', print: true, planning: true })\n }\n />\n )}\n
\n
\n )}\n
\n )\n}\n","import React, { useCallback, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport queryString from 'query-string'\nimport { useLocation } from 'react-router-dom'\nimport { toast } from 'react-toastify'\nimport { get } from 'lodash'\n\nimport { Button, Modal } from 'shared/components'\nimport { saveClassroomCurriculum } from 'lib/api'\nimport { useAuthContext } from 'features/auth'\n\nexport const DeleteCurriculumModal = ({\n data: { show, existing_theme_week, week_date, title },\n onHide,\n refetch\n}) => {\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n const { t, i18n } = useTranslation()\n const { domain } = useAuthContext()\n const classroomId = useMemo(\n () => get(domain, 'data.classroom_id', null) || params.classroom,\n [domain, params.classroom]\n )\n\n const deleteCurriculum = useCallback(() => {\n onHide()\n return saveClassroomCurriculum(\n [\n {\n assignables: []\n }\n ],\n {\n classroom: classroomId,\n week: week_date,\n delete_entry: true,\n existing_theme_week\n }\n )\n .then(resp => {\n if (resp.success) {\n toast.success(t('curriculum.delete.success'))\n refetch()\n } else throw new Error(resp.error)\n })\n .catch(e =>\n toast.error(\n e.response?.data?.message || e.message || 'Something went wrong'\n )\n )\n }, [\n saveClassroomCurriculum,\n i18n.language,\n onHide,\n classroomId,\n week_date,\n existing_theme_week,\n refetch\n ])\n\n return (\n \n \n {title}\n \n {t('curriculum.delete.text')}\n \n \n \n \n \n )\n}\n","import React, { useState, useMemo, useEffect } from 'react'\nimport { get } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport { StyledSelect } from 'shared/components'\nimport styles from './curriculum-select.module.css'\n\nimport { useCurriculumFilters } from '../../hooks/use-curriculum-filters'\n\nexport const CurriculumSelect = ({\n classroomId,\n queryParameter,\n options,\n dispatch,\n label,\n title,\n ...rest\n}) => {\n const { t, i18n } = useTranslation()\n const { data, isLoading, isFetching } = useCurriculumFilters(\n {\n ...queryParameter,\n classroom: classroomId,\n language: i18n.language\n },\n !!classroomId\n )\n const [selectedId, setSelectedId] = useState(null)\n const filterOptions = useMemo(() => {\n const processedData = get(data, 'curriculum', []).map(item => ({\n value: item.curriculum_id,\n label: item.curriculum_name\n }))\n const defaultOption = processedData.length === 1 && processedData[0]\n const initialOption = {\n label: t('curriculum.filters.allCurriculums'),\n value: null\n }\n const selectedValue =\n options.curriculum &&\n processedData.find(({ value }) => value === options.curriculum)\n setSelectedId(defaultOption || selectedValue || initialOption)\n return defaultOption ? processedData : [initialOption, ...processedData]\n }, [data, options.curriculum, i18n.language])\n\n useEffect(() => {\n if (filterOptions.length === 1 && !options.curriculum) {\n dispatch({\n type: 'setCurriculum',\n curriculum: filterOptions[0].value\n })\n }\n }, [filterOptions, isFetching])\n\n return (\n
\n {label &&
{t('curriculum.filters.selectCurriculum')}:
}\n {\n setSelectedId(item)\n dispatch({\n type: 'setCurriculum',\n curriculum: item.value\n })\n }}\n isDisabled={isLoading}\n {...rest}\n />\n
\n )\n}\n","import React, { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTrashCan } from '@fortawesome/free-solid-svg-icons'\n\nimport { Button, NoData } from 'shared/components'\n\nimport styles from './curriculum-home.module.css'\nimport { DeleteCurriculumModal } from './delete-curriculum-modal'\nimport { CurriculumSelect } from '../../components/curriculum-select/curriculum-select'\n\nexport const CurriculumHome = ({\n data,\n classroomId,\n options,\n dispatch,\n refetch\n}) => {\n const { t } = useTranslation()\n const [deleteCurriculum, setDeleteCurriculum] = useState({\n show: false,\n existing_theme_week: null,\n week_date: null,\n title: null\n })\n\n return (\n
\n \n
\n {!data.school_year_weeks?.length && }\n {data.school_year_weeks?.map((w, i) => (\n
\n
\n {t('curriculum.week')} {i + 1}\n
\n
{w.week}
\n {w.theme_week_id ? (\n <>\n
{w.theme_week_name}
\n \n dispatch({\n type: 'setOptions',\n options: {\n week: w.week,\n theme_week: w.theme_week_id,\n print: true,\n planning: true\n }\n })\n }\n >\n {t('curriculum.view')}\n \n \n dispatch({\n type: 'setOptions',\n options: {\n week: w.week,\n theme_week: w.theme_week_id,\n planning: true\n }\n })\n }\n >\n {t('curriculum.edit')}\n \n \n setDeleteCurriculum({\n show: true,\n existing_theme_week: w.theme_week_id,\n week_date: w.week,\n title: w.theme_week_name\n })\n }\n >\n \n \n \n ) : (\n \n dispatch({\n type: 'setOptions',\n options: {\n week: w.week,\n theme_week: null,\n print: false,\n planning: true\n }\n })\n }\n disabled={!options.curriculum}\n >\n {t('curriculum.startPlan')}\n \n )}\n
\n ))}\n
\n setDeleteCurriculum(prev => ({ ...prev, show: false }))}\n refetch={refetch}\n />\n
\n )\n}\n","import React, {\n useState,\n useMemo,\n useCallback,\n createContext,\n useContext,\n useRef,\n useEffect\n} from 'react'\nimport { get } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport ReactToPrint from 'react-to-print'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPrint } from '@fortawesome/free-solid-svg-icons'\nimport { useHistory } from 'react-router-dom'\n\nimport { useAuthContext } from 'features/auth'\nimport { ObservationCell } from 'features/observations'\nimport { NoData, Loader, Button, Modal, Heading } from 'shared/components'\nimport logo from 'assets/logo-small.png'\nimport FrogStreetLogo from 'assets/images/frog-street-cmyk-logo.svg'\n\nimport { homeURL } from 'lib/links'\nimport { useCurriculum } from './hooks/use-curriculum'\nimport { useCurriculumFilters } from './hooks/use-curriculum-filters'\nimport { useCurriculumReducer } from './hooks/use-curriculum-reducer'\nimport { useCurriculumData } from './hooks/use-curriculum-data'\nimport { CurriculumWeek } from './features/curriculum-week/curriculum-week'\nimport { CurriculumHome } from './features/curriculum-home/curriculum-home'\nimport styles from './curriculum.module.css'\n\nconst CurriculumContext = createContext()\n\n// TODO: redo everything\nexport const Curriculum = params => {\n const history = useHistory()\n const [goBackModal, setGoBackModal] = useState(false)\n const { t } = useTranslation()\n const { domain, loading, partnership, isKea } = useAuthContext()\n const classroomId = useMemo(\n () => get(domain, 'data.classroom_id', null) || params.classroom,\n [domain, params.classroom]\n )\n const { options, dispatch } = useCurriculumReducer(params)\n const { data, isLoading, refetch } = useCurriculumFilters(\n {\n curriculum: params.curriculum,\n classroom: classroomId\n },\n !!classroomId\n )\n const {\n data: curriculumData,\n isLoading: curriculumDataLoading,\n refetch: curriculumRefetch\n } = useCurriculumData({ classroomId }, options)\n\n useEffect(() => {\n if (isKea) {\n history.push(homeURL)\n }\n }, [isKea])\n\n const curriculum = useCurriculum(\n curriculumData,\n classroomId,\n options,\n dispatch,\n data,\n refetch,\n curriculumRefetch\n )\n const componentRef = useRef()\n\n const goBack = useCallback(() => {\n dispatch({\n type: 'setOptions',\n options: {\n week: null,\n theme_week: null,\n print: false,\n planning: false,\n changed: false\n }\n })\n setGoBackModal(false)\n }, [])\n const goPrint = useCallback(() => {\n dispatch({\n type: 'setOptions',\n options: {\n print: true,\n planning: !!options.theme_week,\n changed: false\n }\n })\n setGoBackModal(false)\n }, [])\n\n if (isLoading || loading) return \n if (!data) return \n\n return (\n \n
\n \n {options.week && (\n
\n \n options.changed ? setGoBackModal('back') : goBack()\n }\n >\n {t('curriculum.back')}\n \n {options.print ? (\n
\n \n dispatch({\n type: 'setOptions',\n options: {\n print: false,\n changed: false,\n planning: true\n }\n })\n }\n >\n {t('curriculum.edit')}\n \n (\n \n )}\n content={() => componentRef.current}\n />\n
\n ) : (\n \n options.changed ? setGoBackModal('print') : goPrint()\n }\n >\n {t('curriculum.view')}\n \n )}\n
\n )}\n
\n
\n
\n
\n \"CTB\n
\n Cognitive
ToyBox\n
\n
\n
\n {t('curriculum.header')}\n {partnership?.frog_street && (\n
\n {t('curriculum.with')}\n \"FrogStreetLogo\"\n
\n )}\n
\n
\n \n
\n
\n {t('curriculum.classroom')}:{' '}\n {data.classroom_data.classroom_name}\n
\n
\n {t('curriculum.teacher')}:{' '}\n {data.classroom_data.teachers?.join(', ')}\n
\n
\n\n {options.week && (\n <>\n
\n {t('curriculum.curriculum')}:{' '}\n {curriculumData\n ? curriculumData.assignable_content.theme_week_info\n .curriculum_name\n : '________________________'}\n
\n
\n
\n {t('curriculum.unit')}:{' '}\n {curriculumData\n ? curriculumData.assignable_content.theme_week_info\n .formatted_name\n : '______________________________'}\n
\n
\n {t('curriculum.week')}: {options.week}\n
\n
\n\n {curriculumData &&\n Object.keys(curriculumData.objectives.objectives)?.some(\n objective =>\n curriculumData.objectives?.objectives[objective].length\n ) && (\n <>\n
\n
\n {t('curriculum.scheduledAssessments')}:\n
\n
\n {Object.keys(\n curriculumData.objectives?.objectives\n ).map(\n objective =>\n !!curriculumData.objectives?.objectives[objective]\n .length && (\n \n {objective}: \n {curriculumData.objectives?.objectives[\n objective\n ].map(obj => (\n \n {!obj.is_game && obj.scheduled && (\n st.student_id\n )}\n defaultObservation=\"PortfolioBasedObservationContainer\"\n text={t('curriculum.observe')}\n fetch={curriculumRefetch}\n />\n )}{' '}\n {obj.objective_name} (\n {t('curriculum.complete', {\n X: obj.taken,\n Y: obj.scheduled\n })}\n )\n
\n ))}\n
\n )\n )}\n
\n \n )}\n \n )}\n
\n \n\n {options.week ? (\n // if week is selected\n \n ) : (\n // home page\n \n )}\n \n {goBackModal && (\n setGoBackModal(false)}>\n \n {t('curriculum.goBackModal.doYouWantToSave')}\n \n \n
\n \n curriculum.actions.save(options.theme_week).then(() => {\n if (goBackModal === 'back') {\n goBack()\n } else goPrint()\n })\n }\n >\n {t('curriculum.goBackModal.yes')}\n \n {\n if (goBackModal === 'back') {\n goBack()\n } else goPrint()\n }}\n >\n {t('curriculum.goBackModal.no')}\n \n
\n \n
\n
\n )}\n \n
\n )\n}\n\nexport const useCurriculumContext = () => {\n return useContext(CurriculumContext)\n}\n","import { useState, useEffect } from 'react'\nimport { uniqWith, findLastIndex } from 'lodash'\nimport { toast } from 'react-toastify'\nimport { saveClassroomCurriculum } from 'lib/api'\nimport {\n transformObjectiveToOption,\n transformAssignableToOption,\n getSectionType\n} from '../utils'\n\nexport const useCurriculum = (\n data,\n classroomId,\n options,\n dispatch,\n filterData,\n refetch,\n curriculumRefetch\n) => {\n const [values, setValues] = useState([])\n const [existingWeek, setExistingWeek] = useState(options.theme_week ?? 0)\n\n useEffect(() => {\n setExistingWeek(options.theme_week ?? 0)\n }, [options.week])\n\n useEffect(() => {\n if (!options.curriculum || !options.theme_week) {\n return\n }\n if (data) {\n const newValues = []\n\n // we have 2 different types: Daily and Weekly.\n // For Daily we use theme_weekdays field and for Weekly assignables\n data.assignable_content.section_data.forEach(currentSection => {\n const { isDaily } = getSectionType(currentSection)\n currentSection[isDaily ? 'theme_weekdays' : 'assignables'].forEach(\n sectionAssignable => {\n isDaily\n ? sectionAssignable.assignables.forEach(assignable => {\n newValues.push(\n transformAssignableToOption({\n ...assignable,\n section_id: currentSection.section_id,\n day_number: sectionAssignable.day_number,\n theme_week_day_id: sectionAssignable.theme_week_day_id,\n objectives: assignable.assignable_objectives.map(\n transformObjectiveToOption\n )\n })\n )\n })\n : newValues.push(\n transformAssignableToOption({\n ...sectionAssignable,\n section_id: currentSection.section_id,\n objectives: sectionAssignable.assignable_objectives.map(\n transformObjectiveToOption\n )\n })\n )\n }\n )\n })\n setValues(newValues)\n }\n }, [data, options.week, options.theme_week, options.curriculum])\n\n const get = (\n section_id,\n { theme_week_day_id, day_number, assignable_id } = {}\n ) => {\n const filteredValue = values.filter(\n value =>\n (theme_week_day_id\n ? value.theme_week_day_id === theme_week_day_id\n : true) &&\n (section_id ? value.section_id === section_id : true) &&\n (day_number ? value.day_number === day_number : true) &&\n (assignable_id ? value.assignable_id === assignable_id : true)\n )\n return filteredValue?.find(v => v.saved) || filteredValue?.[0]\n }\n\n const set = (\n section_id,\n { assignable_id, day_number, custom_assignable, changed },\n data,\n theme_week_day_id\n ) => {\n const value = {\n day_number,\n section_id,\n theme_week_day_id,\n changed: changed ?? true,\n assignable_id,\n custom_assignable,\n ...data\n }\n const existingValueIndex = values.findIndex(\n v =>\n (section_id ? v.section_id === section_id : true) &&\n (day_number ? v.day_number === day_number : true) &&\n (assignable_id ? v.assignable_id === assignable_id : true) &&\n (theme_week_day_id\n ? v.theme_week_day_id === theme_week_day_id\n : true) &&\n (custom_assignable ? v.custom_assignable === custom_assignable : true)\n )\n\n const filterValues = values.map(v =>\n (section_id ? v.section_id === section_id : true) &&\n (theme_week_day_id ? v.theme_week_day_id === theme_week_day_id : true)\n ? { ...v, changed: false }\n : v\n )\n\n if (existingValueIndex === -1) {\n setValues([...filterValues, value])\n } else {\n filterValues[existingValueIndex] = value\n setValues(filterValues)\n }\n dispatch({ type: 'setChanged', changed: true })\n }\n\n const setWeekly = (section_id, data) => {\n const value = {\n section_id,\n custom_assignable: true,\n changed: true,\n ...data\n }\n const existingValueIndex = findLastIndex(values, v =>\n section_id ? v.section_id === section_id : true\n )\n if (existingValueIndex === -1) {\n setValues([...values, value])\n } else {\n const filterValues = [...values]\n filterValues[existingValueIndex] = value\n setValues(filterValues)\n }\n dispatch({ type: 'setChanged', changed: true })\n }\n\n const save = theme_week_id => {\n // TODO: rework this\n const customValues = values.filter(\n value => value.custom_assignable || (!value.day_number && value.changed)\n )\n const changedValues = values.filter(\n value =>\n value.assignable_id &&\n value.theme_week_day_id &&\n value.changed &&\n !value.custom_assignable\n )\n const savedValues = values.filter(\n value =>\n value.assignable_id &&\n value.saved &&\n !changedValues.find(\n v =>\n value.theme_week_day_id === v.theme_week_day_id &&\n value.section_id === v.section_id\n ) &&\n !customValues.find(\n v =>\n value.theme_week_day_id === v.theme_week_day_id &&\n value.section_id === v.section_id\n )\n )\n const valuesWithout = values.filter(\n value =>\n value.assignable_id &&\n !changedValues.find(\n v =>\n value.theme_week_day_id === v.theme_week_day_id &&\n value.section_id === v.section_id\n ) &&\n !savedValues.find(\n v =>\n value.theme_week_day_id === v.theme_week_day_id &&\n value.section_id === v.section_id\n ) &&\n !customValues.find(\n v =>\n value.theme_week_day_id === v.theme_week_day_id &&\n value.section_id === v.section_id\n )\n )\n const customValuesWithout = customValues\n const valuesForSaving = uniqWith(\n [...valuesWithout, ...changedValues, ...savedValues].map(value => ({\n assignable_id: value.assignable_id,\n theme_week_day_id: value.theme_week_day_id || null,\n section_id: value.section_id,\n objectives: value.objectives?.length\n ? (value.saved && !value.changed\n ? value.objectives?.filter(o => o.saved)\n : value.objectives\n )\n .filter(objective => objective.objective_id)\n .map(o => ({\n objective_id: o.objective_id,\n alignment_id: o.alignment_id\n }))\n : null\n })),\n (f, s) =>\n f.theme_week_day_id === s.theme_week_day_id &&\n f.section_id === s.section_id\n )\n const customValuesForSaving = customValuesWithout?.map(value => ({\n section_id: value.section_id,\n theme_week_day_id: value.theme_week_day_id || null,\n objectives: value.objectives?.length\n ? (value.saved && !value.changed\n ? value.objectives?.filter(o => o.saved)\n : value.objectives\n )\n .filter(objective => objective.objective_id)\n .map(o => ({\n objective_id: o.objective_id,\n alignment_id: o.alignment_id\n }))\n : null,\n name: value.label,\n categories: value.assignable_content?.portal_content || []\n }))\n return saveClassroomCurriculum(\n [\n {\n theme_week_id,\n custom_assignables: customValuesForSaving,\n assignables: valuesForSaving\n }\n ],\n {\n classroom: classroomId,\n week: options.week,\n delete_entry: false,\n existing_theme_week: existingWeek\n }\n ).then(resp => {\n if (resp.success) {\n toast.success('Successfully Saved!')\n refetch()\n curriculumRefetch()\n setExistingWeek(theme_week_id)\n } else toast.error(resp.error)\n dispatch({\n type: 'setOptions',\n options: {\n changed: false\n }\n })\n })\n }\n\n return {\n data,\n filterData,\n classroomId,\n values,\n options,\n dispatch,\n setValues,\n actions: {\n get,\n set,\n save,\n setWeekly\n },\n curriculumRefetch\n }\n}\n","import React from 'react'\nimport { useLocation, useHistory } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport queryString from 'query-string'\nimport { useAuthContext } from 'features/auth'\nimport { CurriculumAdminView } from 'features/curriculum/curriculum-admin-view'\nimport { Curriculum } from 'features/curriculum/curriculum'\nimport { PageWrapper, Button } from 'shared/components'\nimport { curriculumURL } from 'lib/links'\n\nexport const CurriculumPage = () => {\n const { t } = useTranslation()\n const location = useLocation()\n const history = useHistory()\n const { isTeacher } = useAuthContext()\n const query = queryString.parse(location.search)\n\n return (\n \n {!isTeacher && query.classroom && Object.keys(query).length < 3 && (\n history.push(curriculumURL)}\n style={{ marginBottom: 8 }}\n >\n {t('curriculum.back')}\n \n )}\n {query.classroom || isTeacher ? (\n \n ) : (\n \n )}\n \n )\n}\n","import React from 'react'\n\nimport { StyledSelect } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport {\n districtAdminRoles,\n managementRolesEnum,\n schoolAdminRoles,\n stateAdminRoles\n} from 'lib/roles'\n\nexport const RoleSelect = ({ value, withMultiUser, ...rest }) => {\n const { isStateAdmin, isDistrictAdmin } = useAuthContext()\n const rolesOptions = [\n { value: null, label: 'All Roles' },\n ...(withMultiUser\n ? [\n {\n value: managementRolesEnum.MULTIUSER,\n label: managementRolesEnum.MULTIUSER\n }\n ]\n : []),\n ...(isStateAdmin\n ? stateAdminRoles\n : isDistrictAdmin\n ? districtAdminRoles\n : schoolAdminRoles)\n ]\n\n return (\n op.value === value) || rolesOptions[0]}\n options={rolesOptions}\n {...rest}\n />\n )\n}\n","import React, { useState, useCallback, useEffect, useMemo } from 'react'\nimport { useMutation, useQuery, useQueryClient } from 'react-query'\nimport { useFormik } from 'formik'\nimport { Form } from 'react-bootstrap'\nimport classNames from 'classnames'\nimport * as Yup from 'yup'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { faUser } from '@fortawesome/free-solid-svg-icons'\nimport { sortBy } from 'lodash'\n\nimport { useAuthContext } from 'features/auth'\nimport {\n Button,\n Loader,\n Modal,\n StyledSelect,\n StyledControl,\n SchoolSelector,\n ClassroomSelector,\n OrganizationSelector,\n PrimaryLink\n} from 'shared/components'\nimport {\n accountCreateMutation,\n accountEditMutation,\n accountResendMutation,\n useGetAccountStandardsQuery\n} from 'lib/api'\nimport {\n districtAdminRoles,\n managementRolesEnum,\n schoolAdminRoles\n} from 'lib/roles'\nimport { RoleSelect } from 'features/management/components'\n\nimport styles from './users-management-modal.module.css'\n\nconst validationSchema = Yup.object().shape({\n given_name: Yup.string()\n .trim()\n .required('This field is required'),\n family_name: Yup.string().trim(),\n email: Yup.string()\n .trim()\n .required('This field is required'),\n role: Yup.string()\n .trim()\n .required('This field is required'),\n scopes: Yup.array()\n .of(\n Yup.object().shape({\n id: Yup.string().required(),\n type: Yup.string().required(),\n name: Yup.string()\n })\n )\n .required('This field is required')\n})\n\nexport const UsersManagementModal = ({\n isEdit,\n data,\n onHide,\n refetch,\n queryKey\n}) => {\n const { scope, user } = useAuthContext()\n const queryClient = useQueryClient()\n const { t } = useTranslation()\n const [confirmationDialog, setConfirmationDialog] = useState(null)\n\n const accountCreate = useMutation(accountCreateMutation())\n const accountEdit = useMutation(accountEditMutation())\n const accountResend = useMutation(accountResendMutation())\n // for deactivated accounts\n const [activateStatus, setActivateStatus] = useState(false)\n\n const { data: accountStandards } = useQuery({\n ...useGetAccountStandardsQuery({\n user_id: data.id\n }),\n options: {\n enabled: user?.can_access_standard_overrides\n }\n })\n\n const updateUsers = useCallback(\n async newUser => {\n // Cancel any outgoing refetches\n // (so they don't overwrite our optimistic update)\n await queryClient.cancelQueries({ queryKey })\n // Optimistically update to the new value\n queryClient.setQueryData(queryKey, old => {\n const foundIndex = old.users.findIndex(({ id }) => id === newUser.id)\n let newUsers = [...old.users]\n if (foundIndex !== -1) {\n newUsers[foundIndex] = newUser\n } else {\n newUsers = [...newUsers, newUser]\n }\n return {\n ...old,\n users: newUsers\n }\n })\n },\n [queryClient]\n )\n\n const defaultUserStandards = useMemo(() => {\n if (!accountStandards) return []\n return [\n accountStandards.primary.find(s => s.is_user_default)?.standard_id,\n accountStandards.secondary.find(s => s.is_user_default)?.standard_id\n ]\n }, [accountStandards])\n\n const formik = useFormik({\n validateOnBlur: false,\n validateOnChange: false,\n enableReinitialize: true,\n initialValues: {\n override_standards: defaultUserStandards.some(Boolean)\n ? defaultUserStandards\n : null,\n given_name: data.given_name ?? '',\n family_name: data.family_name ?? '',\n email: data.email ?? '',\n role: data.role,\n scopes:\n data.scopes?.map(scope => {\n const scopeLevel =\n scope.classroom ||\n scope.school ||\n scope.organization ||\n scope.customer\n return {\n id: scopeLevel.id,\n type: scopeLevel.type,\n name:\n scopeLevel.type === 'Classroom' || scopeLevel.type === 'School'\n ? `${scopeLevel.parent_scope.name}, ${scopeLevel.name}`\n : scopeLevel.name,\n organization:\n scopeLevel.type === 'Classroom'\n ? scopeLevel.parent_scope.parent_scope\n : scopeLevel.type === 'School' && scopeLevel.parent_scope\n }\n }) ?? []\n },\n validationSchema,\n onSubmit: (\n {\n email,\n given_name,\n family_name,\n scopes,\n role,\n restore,\n override_standards\n },\n { setSubmitting }\n ) => {\n if (isEdit) {\n accountEdit\n .mutateAsync({\n email,\n given_name,\n family_name,\n scopes,\n role,\n account_id: data.id,\n standard_override_primary: override_standards?.[0],\n standard_override_secondary: override_standards?.[1]\n })\n .then(newUser => {\n updateUsers(newUser).then(() => {\n onHide()\n toast.success(t('userManagement.modal.successChanged'))\n refetch()\n })\n })\n .catch(error => {\n if (error.response?.data?.error?.message) {\n toast.error(error.response.data.error.message)\n return\n }\n toast.error(error.message)\n })\n .finally(() => setSubmitting(false))\n } else {\n accountCreate\n .mutateAsync({\n account_info: {\n role: role,\n Email: email,\n Name: [given_name, family_name]\n },\n customer_id:\n role === managementRolesEnum.STATE_ADMIN\n ? scopes[0].id\n : undefined,\n organization_id:\n role === managementRolesEnum.DISTRICT_ADMIN\n ? scopes[0].id\n : undefined,\n school_id:\n role === managementRolesEnum.SCHOOL_ADMIN\n ? scopes[0].id\n : undefined,\n classroom_id:\n role === managementRolesEnum.TEACHER ? scopes[0].id : undefined,\n restore,\n standard_primary_override: override_standards?.[0],\n standard_secondary_override: override_standards?.[1]\n })\n .then(response => {\n if (response.Success) {\n if (restore) toast.success(t('userManagement.modal.reactivated'))\n else toast.success(t('userManagement.modal.success'))\n onHide()\n refetch()\n } else {\n setActivateStatus(\n response.FurtherActionAllowed\n ? response.ExistingAccountID\n : false\n )\n setSubmitting(false)\n throw response.Issue\n }\n })\n .catch(error => {\n const response = error.response?.data || {}\n if (response.Issue) {\n setActivateStatus(\n response.FurtherActionAllowed\n ? response.ExistingAccountID\n : false\n )\n setSubmitting(false)\n toast.error(response.Issue)\n }\n })\n }\n }\n })\n\n const resendCode = useCallback(async () => {\n onHide()\n accountResend\n .mutateAsync(\n data.role === managementRolesEnum.MULTIUSER\n ? {\n Account: data.username\n }\n : {\n AccountID: data.id\n }\n )\n .then(response => {\n if (response.Success) {\n toast.success(t('userManagement.modal.emailSent'))\n } else throw response.Error\n })\n .catch(e => toast.error(e))\n .finally(() => formik.setSubmitting(false))\n }, [data])\n\n const onDelete = useCallback(async () => {\n onHide()\n accountEdit\n .mutateAsync({\n account_id: data.id,\n removed: true\n })\n .then(() => {\n toast.success(t('userManagement.modal.removed'))\n refetch()\n })\n .catch(error => {\n if (error.response?.data?.error?.message) {\n toast.error(error.response.data.error.message)\n return\n }\n toast.error(error.message)\n })\n .finally(() => formik.setSubmitting(false))\n }, [data])\n\n useEffect(\n () =>\n formik.setSubmitting(\n accountCreate.isLoading ||\n accountEdit.isLoading ||\n accountResend.isLoading\n ),\n [accountCreate.isLoading, accountEdit.isLoading, accountResend.isLoading]\n )\n\n if (!scope) return\n\n return (\n \n {formik.isSubmitting && }\n \n \n {isEdit\n ? t('userManagement.modal.edit')\n : t('userManagement.modal.create')}{' '}\n {t('userManagement.modal.account')}\n \n \n
\n \n
\n \n {t('userManagement.modal.firstName')}\n \n \n \n {t('userManagement.modal.lastName')}\n \n \n
\n
\n \n {t('userManagement.modal.email')}\n \n formik.setFieldValue(\n 'email',\n event.target.value.toLowerCase()\n )\n }\n value={formik.values.email}\n />\n \n {data.role !== managementRolesEnum.MULTIUSER && (\n \n {t('userManagement.modal.role')}\n {\n formik.setFieldValue('role', item.value)\n if (item.value === managementRolesEnum.STATE_ADMIN) {\n formik.setFieldValue('scopes', [\n {\n id: scope.customer_id,\n type: 'Customer'\n }\n ])\n } else {\n formik.setFieldValue('scopes', [\n {\n id: null,\n type: null\n }\n ])\n }\n }}\n isDisabled={formik.isSubmitting}\n />\n \n )}\n
\n {data.role !== managementRolesEnum.MULTIUSER ? (\n \n ) : (\n \n )}\n\n {activateStatus && (\n
\n {t('userManagement.modal.alert1')} {formik.values.email}.\n
\n {t('userManagement.modal.alert2')}\n
\n )}\n\n {user?.can_access_standard_overrides && (\n
\n
\n {t('userManagement.modal.internalOptions')}\n
\n \n \n formik.setFieldValue(\n 'override_standards',\n e.target.checked ? [] : null\n )\n }\n disabled={formik.isSubmitting}\n />\n \n {formik.values.override_standards && (\n
\n
\n
\n {t('userManagement.modal.standard', { number: 1 })}\n
\n \n formik.setFieldValue('override_standards', [\n option.value,\n formik.values.override_standards[1]\n ])\n }\n disabled={formik.isSubmitting}\n />\n
\n
\n
\n {t('userManagement.modal.standard', { number: 2 })}\n
\n \n formik.setFieldValue('override_standards', [\n formik.values.override_standards[0],\n option.value\n ])\n }\n disabled={formik.isSubmitting}\n />\n
\n
\n )}\n
\n )}\n
\n \n {isEdit && (\n
\n \n setConfirmationDialog({\n text: t('userManagement.modal.deleteUser', {\n name: `${formik.values.given_name} ${formik.values\n .family_name || ''}`\n }),\n action: onDelete,\n onCancel: () => formik.setSubmitting(false)\n })\n }\n danger\n style={{ marginRight: 5 }}\n disabled={formik.isSubmitting}\n >\n {t('userManagement.modal.delete')}\n \n {!data.last_logged_in && (\n \n {t('userManagement.modal.resendEmail')}\n \n )}\n
\n )}\n {activateStatus ? (\n {\n formik.setFieldValue('restore', true)\n formik.submitForm()\n }}\n >\n {t('userManagement.modal.reactivate')}\n \n ) : (\n \n )}\n
\n
\n \n )\n}\n\nconst StandardSelector = ({ standards, value, ...rest }) => {\n const { t, i18n } = useTranslation()\n const options = useMemo(() => {\n if (!standards) return []\n return standards.map(s => ({\n ...s,\n label: `${s.name} ${\n s.is_user_default\n ? t('userManagement.modal.userDefault')\n : s.is_org_default\n ? t('userManagement.modal.orgDefault')\n : ''\n }`,\n value: s.standard_id\n }))\n }, [standards, i18n.language])\n\n return (\n o.value === value)\n : options.find(o => o.is_org_default)\n }\n options={options}\n isLoading={!standards}\n {...rest}\n />\n )\n}\n\nconst UserScope = ({ formik }) => {\n const { t } = useTranslation()\n const scope = formik.values.scopes?.[0]?.id\n return formik.values.role === managementRolesEnum.TEACHER ? (\n \n {t('userManagement.modal.classroom')}\n \n formik.setFieldValue('scopes', [\n {\n id: option.value,\n type: 'Classroom'\n }\n ])\n }\n disabled={formik.isSubmitting}\n className={classNames(\n formik.errors.scopes && styles.userManagementFieldError\n )}\n />\n \n ) : formik.values.role === managementRolesEnum.SCHOOL_ADMIN ? (\n \n {t('userManagement.modal.school')}\n \n formik.setFieldValue('scopes', [\n {\n id: option.value,\n type: 'School'\n }\n ])\n }\n disabled={formik.isSubmitting}\n className={classNames(\n formik.errors.scopes && styles.userManagementFieldError\n )}\n />\n \n ) : (\n formik.values.role === managementRolesEnum.DISTRICT_ADMIN && (\n \n {t('userManagement.modal.organization')}\n \n formik.setFieldValue('scopes', [\n {\n id: option.value,\n type: 'Organization'\n }\n ])\n }\n disabled={formik.isSubmitting}\n className={classNames(\n formik.errors.scopes && styles.userManagementFieldError\n )}\n />\n \n )\n )\n}\n\nconst MultiUserScopes = ({ formik, orgScope }) => {\n const { t } = useTranslation()\n const scopes = useMemo(\n () =>\n sortBy(formik.values.scopes ?? [], scope =>\n scope.type === 'Organization' ? 1 : scope.type === 'School' ? 2 : 3\n ),\n [formik.values.scopes]\n )\n\n return (\n
\n
\n {t('userManagement.modal.multiAccess')}\n
\n

\n {t('userManagement.modal.multiAccessDescription', {\n name: formik.values.given_name\n ? `${formik.values.given_name} ${formik.values.family_name ?? ''}`\n : t('userManagement.modal.multiUser')\n })}{' '}\n \n support@cognitivetoybox.com\n \n .\n

\n
\n
\n {scopes.map((scope, index) => (\n \n ))}\n
\n {scopes[scopes.length - 1]?.type !== 'newScope' && (\n \n formik.setFieldValue('scopes', [\n ...scopes,\n { id: null, type: 'newScope' }\n ])\n }\n >\n {t('userManagement.modal.addAccess')}\n \n )}\n
\n )\n}\n\nconst MultiUserScope = ({ formik, scope, scopes, index }) => {\n const { t } = useTranslation()\n const [changes, setChanges] = useState(false)\n const [role, setRole] = useState(\n scope.type === 'Classroom'\n ? managementRolesEnum.TEACHER\n : scope.type === 'School'\n ? managementRolesEnum.SCHOOL_ADMIN\n : scope.type === 'Organization'\n ? managementRolesEnum.DISTRICT_ADMIN\n : null\n )\n\n const {\n selectedOrganization,\n selectedSchools,\n selectedClassrooms,\n selectedOrganizationInScope\n } = useMemo(() => {\n const selectedOrganization = scopes\n .filter(\n selectedScope =>\n selectedScope.type === 'Organization' && scope.id !== selectedScope.id\n )\n .map(scope => scope.id)\n const selectedSchools = scopes\n .filter(\n selectedScope =>\n selectedScope.type === 'School' && scope.id !== selectedScope.id\n )\n .map(scope => scope.id)\n const selectedClassrooms = scopes\n .filter(\n selectedScope =>\n selectedScope.type === 'Classroom' && scope.id !== selectedScope.id\n )\n .map(scope => scope.id)\n const selectedOrganizationInScope =\n scopes.find(s => s.organization)?.organization?.id ||\n scopes.find(\n selectedScope =>\n selectedScope.type === 'Organization' && scope.id !== selectedScope.id\n )?.id\n setChanges(changes => (changes ? { id: null, type: null } : changes))\n return {\n selectedOrganization,\n selectedSchools,\n selectedClassrooms,\n selectedOrganizationInScope\n }\n }, [scopes, scope])\n\n if (!changes && scope.type !== 'newScope') {\n return (\n
\n
\n {t('userManagement.modal.access', { number: index + 1 })}\n
\n
\n \n {role}, {scope.name}\n \n
\n
\n s.type === 'newScope'))\n }\n onClick={() => {\n const newScopes = [...scopes]\n newScopes.splice(index, 1)\n formik.setFieldValue('scopes', newScopes)\n }}\n >\n {t('userManagement.modal.removeAccess')}\n \n\n {(role === managementRolesEnum.TEACHER ||\n role === managementRolesEnum.SCHOOL_ADMIN) && (\n \n )}\n
\n
\n )\n }\n\n return (\n
\n
\n
\n {t('userManagement.modal.access', { number: index + 1 })}\n
\n \n {t('userManagement.modal.role')}\n 0\n ? schoolAdminRoles\n : districtAdminRoles\n }\n value={\n districtAdminRoles.find(({ value }) => value === role) ?? null\n }\n onChange={item => {\n setRole(item.value)\n if (item.value !== 'District Admin') {\n setChanges({\n id: null,\n name: scope.label,\n type: null\n })\n return\n }\n const foundOrganization = scopes.find(s => s.organization)\n ?.organization\n setChanges({\n id: foundOrganization?.id,\n name: foundOrganization?.name,\n type: 'Organization'\n })\n }}\n isDisabled={formik.isSubmitting}\n className={classNames(\n formik.errors.scopes && styles.userManagementFieldError\n )}\n />\n \n {role === managementRolesEnum.TEACHER && (\n \n {t('userManagement.modal.classroomAccess')}\n \n setChanges({\n id: option.value,\n name: option.label,\n organization: option.organization,\n type: 'Classroom'\n })\n }\n disabled={formik.isSubmitting}\n className={classNames(\n styles.scopeSelector,\n formik.errors.scopes && styles.userManagementFieldError\n )}\n />\n \n )}\n {role === managementRolesEnum.SCHOOL_ADMIN && (\n \n {t('userManagement.modal.schoolAccess')}\n \n setChanges({\n id: option.value,\n name: option.label,\n organization: option.organization,\n type: 'School'\n })\n }\n disabled={formik.isSubmitting}\n className={classNames(\n styles.scopeSelector,\n formik.errors.scopes && styles.userManagementFieldError\n )}\n />\n \n )}\n
\n
\n {\n if (scope.type === 'newScope') {\n const newScopes = [...scopes]\n newScopes.splice(index, 1)\n formik.setFieldValue('scopes', newScopes)\n } else {\n setChanges(null)\n }\n }}\n >\n {t('userManagement.modal.cancel')}\n \n {\n const newScopes = [...scopes]\n newScopes[index] = changes\n formik\n .setFieldValue('scopes', newScopes)\n .then(() => setChanges(null))\n }}\n >\n {t('userManagement.modal.saveChanges')}\n \n
\n
\n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Tabs, TabList, TabPanel, Tab } from 'react-tabs'\nimport { format } from 'date-fns'\nimport { Modal, NoData } from 'shared/components'\nimport { iconDict } from 'lib/helpers'\nimport styles from './certification-modal.module.css'\n\nexport const CertificationModal = ({ data, onHide }) => {\n const { t } = useTranslation()\n return (\n \n \n \n {t('userManagement.certificationModal.certifications', {\n name: data.name\n })}\n \n \n \n \n \n \n {t('userManagement.certificationModal.currentCertification')}\n \n \n {t('userManagement.certificationModal.expiredCertification')}\n \n \n \n {data.certifications.certifications?.length ? (\n data.certifications.certifications.map((certificate, index) => (\n \n ))\n ) : (\n \n )}\n \n \n {data.certifications.expired_certifications?.length ? (\n data.certifications.expired_certifications.map(\n (certificate, index) => (\n \n )\n )\n ) : (\n \n )}\n \n \n \n \n \n )\n}\n\nconst Certificate = ({ certificate }) => {\n const { t } = useTranslation()\n return (\n
\n \"Certification\n
\n
\n {certificate.name}\n
\n
\n {t('userManagement.certificationModal.dateEarned')}{' '}\n {certificate.date\n ? format(new Date(certificate.date), 'MM/dd/yyyy')\n : ''}\n
\n
\n
\n )\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Modal } from 'shared/components'\n\nexport const MultiUserScopesModal = ({ data, onHide }) => {\n const { t } = useTranslation()\n const { districtAdmins, schoolAdmins, teachers } = useMemo(() => {\n const districtAdmins = []\n const schoolAdmins = []\n const teachers = []\n if (!data.scopes?.length) {\n return { districtAdmins, schoolAdmins, teachers }\n }\n data.scopes.forEach(scope => {\n if (scope.classroom) {\n teachers.push(scope.classroom)\n return\n }\n if (scope.school) {\n schoolAdmins.push(scope.school)\n return\n }\n if (scope.organization) {\n districtAdmins.push(scope.organization)\n }\n })\n return { districtAdmins, schoolAdmins, teachers }\n }, [data])\n\n return (\n \n \n \n {t('userManagement.multiUserScopesModal.title', {\n name: data.name\n })}\n \n \n \n {!!districtAdmins.length && (\n
\n
{t('userManagement.multiUserScopesModal.districtAdmin')}
\n
    \n {districtAdmins.map(({ id, name }) => (\n
  • {name}
  • \n ))}\n
\n
\n )}\n {!!schoolAdmins.length && (\n
\n
{t('userManagement.multiUserScopesModal.schoolAdmin')}
\n
    \n {schoolAdmins.map(({ parent_scope, id, name }) => (\n
  • \n {parent_scope.name}, {name}\n
  • \n ))}\n
\n
\n )}\n {!!teachers.length && (\n
\n
{t('userManagement.multiUserScopesModal.teacher')}
\n
    \n {teachers.map(({ parent_scope, id, name }) => (\n
  • \n {parent_scope.parent_scope?.name}, {parent_scope.name}, {name}\n
  • \n ))}\n
\n
\n )}\n
\n \n
\n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { format } from 'date-fns'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPencilAlt } from '@fortawesome/free-solid-svg-icons'\n\nimport { RoleSelect } from 'features/management/components'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport certifiedImg from 'assets/images/certified.png'\nimport { managementRolesEnum } from 'lib/roles'\n\nimport styles from './users-management-table.module.css'\nimport { UsersManagementModal } from '../users-management-modal/users-management-modal'\nimport { CertificationModal } from '../certification-modal/certification-modal'\nimport { MultiUserScopesModal } from '../multi-user-scopes-modal/multi-user-scopes-modal'\n\nexport const UsersManagementTable = ({\n data,\n allowMultiUserEdit,\n refetch,\n onPaginationChange,\n pageSize,\n pageIndex,\n pageCount,\n role,\n onRoleChange,\n onSortingChange,\n sortBy,\n queryKey\n}) => {\n const [multiUserScopesModal, setMultiUserScopesModal] = useState({\n opened: false\n })\n const { t, i18n } = useTranslation()\n const [userModal, setUserModal] = useState(null)\n const [certificationModal, setCertificationModal] = useState(null)\n const noPagination = pageCount < 1 || pageCount === 1\n const { user } = useAuthContext()\n\n const columns = useMemo(\n () => [\n {\n id: 'certifications',\n accessorFn: row => row.certification.certificate_count || undefined,\n header: t('userManagement.table.cert'),\n cell: ({ row, getValue }) =>\n row.original.certification.certified && (\n \n setCertificationModal({\n certifications: row.original.certification,\n name: `${row.original.given_name} ${row.original.family_name}`\n })\n }\n >\n \n
{getValue()}
\n \n ),\n sortUndefined: 1\n },\n {\n id: 'name',\n accessorFn: row => `${row.given_name} ${row.family_name}`,\n header: t('userManagement.table.name'),\n cell: ({ getValue, row }) => (\n
\n \n {getValue()}\n
\n ),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n enableColumnFilter: noPagination\n },\n {\n id: 'username',\n accessorFn: row => row.username,\n header: t('userManagement.table.username'),\n sortingFn: 'alphanumeric',\n cell: ({ getValue }) => (\n
{getValue()}
\n ),\n meta: {\n sortingLabel: 'alphabetic'\n },\n enableColumnFilter: noPagination\n },\n {\n id: 'role',\n accessorFn: row => row.role,\n header: t('userManagement.table.role'),\n cell: ({ getValue }) =>
{getValue()}
,\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n filter: onClick => (\n {\n onRoleChange(option.value)\n onClick()\n }}\n />\n )\n },\n {\n id: 'organization',\n header: t('userManagement.table.district'),\n accessorFn: row => {\n const scopes = row.scopes\n if (row.role === managementRolesEnum.MULTIUSER) {\n const organizations = scopes.filter(\n ({ organization, school }) => organization && !school\n )\n if (!organizations.length) return\n if (organizations.length === 1) {\n return t('userManagement.table.singleDistrict')\n }\n return t('userManagement.table.districts', {\n number: organizations.length\n })\n }\n return scopes[0]?.organization?.name\n },\n cell: ({ getValue, row }) => {\n const value = getValue()\n if (row.original.role === managementRolesEnum.MULTIUSER) {\n return value ? (\n \n setMultiUserScopesModal({\n opened: true,\n scopes: row.original.scopes,\n name: `${row.original.given_name} ${row.original\n .family_name ?? ''}`\n })\n }\n >\n {value}\n \n ) : (\n ''\n )\n }\n return value\n },\n sortUndefined: 1,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric',\n enableColumnFilter: noPagination\n },\n {\n id: 'school',\n header: t('userManagement.table.school'),\n accessorFn: row => {\n const scopes = row.scopes\n if (row.role === managementRolesEnum.MULTIUSER) {\n const schools = scopes.filter(\n ({ school, classroom }) => school && !classroom\n )\n if (!schools.length) return\n if (schools.length === 1) {\n return t('userManagement.table.singleSchool')\n }\n return t('userManagement.table.schools', {\n number: schools.length\n })\n }\n return `${scopes[0]?.school?.name ?? ''} ${\n scopes[0]?.school?.removed ? t('userManagement.table.removed') : ''\n }`\n },\n cell: ({ getValue, row }) => {\n const value = getValue()\n if (row.original.role === managementRolesEnum.MULTIUSER) {\n return (\n \n setMultiUserScopesModal({\n opened: true,\n scopes: row.original.scopes,\n name: `${row.original.given_name} ${row.original\n .family_name ?? ''}`\n })\n }\n >\n {value}\n \n )\n }\n return value\n },\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric',\n enableColumnFilter: noPagination\n },\n {\n id: 'classroom',\n header: t('userManagement.table.class'),\n accessorFn: row => {\n const scopes = row.scopes\n if (row.role === managementRolesEnum.MULTIUSER) {\n const classrooms = scopes.filter(({ classroom }) => classroom)\n if (!classrooms.length) return\n if (classrooms.length === 1) {\n return t('userManagement.table.singleClassroom')\n }\n return t('userManagement.table.classrooms', {\n number: classrooms.length\n })\n }\n return `${scopes[0]?.classroom?.name ?? ''} ${\n scopes[0]?.classroom?.removed\n ? t('userManagement.table.removed')\n : ''\n }`\n },\n cell: ({ getValue, row }) => {\n const value = getValue()\n if (row.original.role === managementRolesEnum.MULTIUSER) {\n return value ? (\n \n setMultiUserScopesModal({\n opened: true,\n scopes: row.original.scopes,\n name: `${row.original.given_name} ${row.original\n .family_name ?? ''}`\n })\n }\n >\n {value}\n \n ) : (\n ''\n )\n }\n return value\n },\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric',\n enableColumnFilter: noPagination\n },\n {\n id: 'last_logged_in',\n accessorFn: row => row.last_logged_in,\n header: t('userManagement.table.lastLoggedIn'),\n cell: ({ getValue }) =>\n getValue() ? format(new Date(getValue()), 'MM/dd/yyyy') : '-',\n meta: {\n sortingLabel: 'dates'\n }\n },\n {\n id: 'edit',\n cell: ({ row }) =>\n (allowMultiUserEdit || row.original.role !== 'Multi-Account') &&\n user?.add_remove_edit_users && (\n setUserModal(row.original)}\n />\n )\n }\n ],\n [i18n.language, allowMultiUserEdit, noPagination, role]\n )\n\n return (\n <>\n \n {user?.add_remove_edit_users && userModal && (\n setUserModal(null)}\n refetch={refetch}\n queryKey={queryKey}\n />\n )}\n {certificationModal && (\n setCertificationModal(false)}\n />\n )}\n \n setMultiUserScopesModal(old => ({ ...old, opened: false }))\n }\n />\n \n )\n}\n","import { useReducer, useEffect } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { managementUsers } from 'lib/links'\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'setOptions':\n return {\n ...state,\n ...action.options\n }\n case 'setFromQuery': {\n const actionOptions = JSON.stringify(action.options)\n const stateOptions = JSON.stringify(state)\n if (actionOptions === stateOptions) return state\n else return action.options\n }\n default:\n return state\n }\n}\n\nexport const useUserManagementReducer = query => {\n const history = useHistory()\n const [options, dispatch] = useReducer(reducer, query)\n // cycle safe\n useEffect(() => {\n dispatch({ type: 'setFromQuery', options: query })\n }, [query])\n // update query on state change\n useEffect(() => {\n if (options) {\n history.push(managementUsers(options))\n }\n }, [options])\n return { options, dispatch }\n}\n","import React, { useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport {\n Button,\n ClassroomSelector,\n SchoolSelector,\n StyledSelect,\n TanStackTable\n} from 'shared/components'\n\nimport { useAuthContext } from 'features/auth'\nimport {\n managementRolesEnum,\n districtAdminRoles,\n schoolAdminRoles\n} from 'lib/roles'\nimport { useMutation } from 'react-query'\nimport { accountCreateMutation, editExternalUserMutation } from 'lib/api'\nimport { toast } from 'react-toastify'\nimport styles from './requests-table.module.css'\n\nexport const RequestsTable = ({ data, isPending, refetch }) => {\n const { t, i18n } = useTranslation()\n const { isSchoolAdmin, refetch: refetchAccount } = useAuthContext()\n const [approve, setApprove] = useState({\n id: null,\n name: null,\n role: null,\n school_id: null,\n classroom_id: null,\n external_id: null,\n roster_id: null,\n organization_id: null,\n email: null\n })\n\n const { mutateAsync: editExternalUser, isLoading: denyLoading } = useMutation(\n editExternalUserMutation()\n )\n const {\n mutateAsync: createAccount,\n isLoading: createAccountLoading\n } = useMutation(accountCreateMutation())\n\n const denyExternalUser = useCallback(\n id => {\n editExternalUser({\n id,\n sso_status: 'Denied',\n Token: null\n })\n .then(() => {\n refetchAccount()\n refetch()\n })\n .catch(e =>\n toast.error(\n e.response?.data?.error?.message ??\n t('userManagement.ssoModal.error')\n )\n )\n },\n [i18n.language, editExternalUser, refetch, refetchAccount]\n )\n const approveExternalUser = useCallback(\n data => {\n createAccount({\n account_info: {\n role: data.role,\n Email: data.email,\n Name: data.name\n },\n external: {\n id: data.id,\n external_id: data.external_id,\n roster_id: data.roster_id\n },\n organization_id: data.organization_id,\n school_id: data.school_id,\n classroom_id: data.classroom_id\n })\n .then(() => {\n setApprove(prev => ({ ...prev, id: null }))\n refetchAccount()\n refetch()\n })\n .catch(e =>\n toast.error(\n e.response?.data?.error?.message ??\n t('userManagement.ssoModal.error')\n )\n )\n },\n [i18n.language, createAccount, refetch, refetchAccount]\n )\n\n const columns = useMemo(\n () => [\n {\n id: 'name',\n accessorFn: row => `${row.first_name} ${row.last_name ?? ''}`,\n header: t('userManagement.ssoModal.name'),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n enableColumnFilter: true\n },\n {\n id: 'status',\n accessorFn: row => row.sso_status,\n header: t('userManagement.ssoModal.status'),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n enableColumnFilter: true\n },\n {\n id: 'role',\n accessorFn: () => t('userManagement.ssoModal.notAssigned'),\n header: t('userManagement.ssoModal.role'),\n cell: ({ getValue, row }) =>\n approve.id && row.original.id === approve.id ? (\n value === approve.role\n ) ?? null\n }\n onChange={item =>\n setApprove(prev => ({ ...prev, role: item.value }))\n }\n />\n ) : (\n {getValue()}\n )\n },\n {\n id: 'school',\n accessorFn: () => t('userManagement.ssoModal.notAssigned'),\n header: t('userManagement.ssoModal.school'),\n cell: ({ getValue, row }) =>\n approve.id && row.original.id === approve.id ? (\n approve.role === managementRolesEnum.SCHOOL_ADMIN ? (\n \n setApprove(prev => ({\n ...prev,\n classroom_id: null,\n school_id: option.value\n }))\n }\n />\n ) : (\n approve.role === managementRolesEnum.TEACHER && (\n \n setApprove(prev => ({\n ...prev,\n school_id: null,\n classroom_id: option.value\n }))\n }\n />\n )\n )\n ) : (\n {getValue()}\n )\n },\n {\n id: 'actions',\n cell: ({ row }) =>\n approve.id && approve.id === row.original.id ? (\n
\n approveExternalUser(approve)}\n disabled={\n createAccountLoading ||\n (approve.role === managementRolesEnum.SCHOOL_ADMIN &&\n !approve.school_id) ||\n (approve.role === managementRolesEnum.TEACHER &&\n !approve.classroom_id)\n }\n >\n {t('userManagement.ssoModal.save')}\n \n setApprove(prev => ({ ...prev, id: null }))}\n >\n {t('userManagement.ssoModal.cancel')}\n \n
\n ) : (\n
\n \n setApprove({\n id: row.original.id,\n name: [row.original.first_name, row.original.last_name],\n role: null,\n school_id: null,\n classroom_id: null,\n external_id: row.original.external_id,\n roster_id: row.original.roster_id,\n organization_id: row.original.organization_id,\n email: row.original.email\n })\n }\n >\n {t('userManagement.ssoModal.approve')}\n \n {isPending && (\n denyExternalUser(row.original.id)}\n disabled={denyLoading || createAccountLoading}\n >\n {t('userManagement.ssoModal.deny')}\n \n )}\n
\n )\n }\n ],\n [\n i18n.language,\n isPending,\n approve,\n isSchoolAdmin,\n denyExternalUser,\n denyLoading,\n approveExternalUser,\n createAccountLoading\n ]\n )\n return (\n row.original.id === approve.id}\n renderSubComponent={({ row }) => (\n
\n {t('userManagement.ssoModal.note', {\n name: row.original.first_name\n })}\n
\n )}\n />\n )\n}\n","import { useAuthContext } from 'features/auth'\nimport { fetchExternalUsersQuery } from 'lib/api'\nimport React, { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQuery } from 'react-query'\nimport { Button, Loader, Modal, PrimaryLink } from 'shared/components'\nimport { RequestsTable } from './components'\n\nimport styles from './users-sso-modal.module.css'\n\nexport const UsersSsoModal = ({ show, onClose, refetch }) => {\n const [isPending, setIsPending] = useState(true)\n const { t } = useTranslation()\n const { data, refetch: refetchExternalUsers } = useQuery(\n fetchExternalUsersQuery()\n )\n const { scope } = useAuthContext()\n\n return (\n \n \n {t('userManagement.ssoModal.title')}\n \n \n {scope && (\n
\n {t('userManagement.ssoModal.description', {\n orgName: scope.name\n })}\n
\n )}\n {!data && }\n {data && (\n
\n
\n setIsPending(prev => !prev)}>\n {isPending\n ? t('userManagement.ssoModal.denied')\n : t('userManagement.ssoModal.pending')}\n \n
\n \n isPending\n ? user.sso_status === 'Request Pending'\n : user.sso_status !== 'Request Pending'\n )}\n isPending={isPending}\n refetch={() => {\n refetch()\n refetchExternalUsers()\n }}\n />\n
\n )}\n
\n \n \n \n
\n )\n}\n","import React, { useState, useMemo, useCallback, useRef } from 'react'\nimport { useMutation, useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport queryString from 'query-string'\nimport { useLocation } from 'react-router-dom'\nimport { toast } from 'react-toastify'\nimport {\n PageWrapper,\n Loader,\n Button,\n Heading,\n StyledControl\n} from 'shared/components'\nimport {\n useGetUsersMutation,\n useGetUsersQuery,\n fetchExternalUsersQuery\n} from 'lib/api'\n\nimport { debounce } from 'lodash'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes } from '@fortawesome/free-solid-svg-icons'\nimport classNames from 'classnames'\nimport { exportExcel } from 'lib/exports'\nimport { useAuthContext } from 'features/auth'\n\nimport { UsersManagementTable } from './components/users-management-table/users-management-table'\nimport { UsersManagementModal } from './components/users-management-modal/users-management-modal'\nimport { useUserManagementReducer } from './hooks/use-user-management-reducer'\nimport { UsersSsoModal } from './components/users-sso-modal/users-sso-modal'\n\nimport styles from './users-management.module.css'\n\nexport const UsersManagement = () => {\n const ref = useRef()\n const { t, i18n } = useTranslation()\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n const { options, dispatch } = useUserManagementReducer(params)\n const [userModal, setUserModal] = useState(\n params.action === 'add-new-user' ? {} : null\n )\n const [search, setSearch] = useState(options.search ?? '')\n\n const { mutateAsync: getExcel, isLoading: getExcelLoading } = useMutation(\n useGetUsersMutation()\n )\n const [ssoModal, setSsoModal] = useState(false)\n const [ssoManagementButtonDisplay, setSsoManagementButtonDisplay] = useState(\n false\n )\n const { sso_requests, isStateAdmin, isDistrictAdmin, user } = useAuthContext()\n\n const fetchExternalUsers = () => {\n if (isStateAdmin || isDistrictAdmin) {\n return fetchExternalUsersQuery()\n } else {\n return {\n queryKey: null,\n queryFn: () => Promise.resolve()\n }\n }\n }\n\n const external_users_query = useQuery(fetchExternalUsers())\n\n if ((isStateAdmin || isDistrictAdmin) && !ssoManagementButtonDisplay) {\n if (sso_requests) {\n setSsoManagementButtonDisplay(true)\n } else if (sso_requests === 0) {\n if (external_users_query.data) {\n external_users_query.data.users.forEach(user => {\n if (user.sso_status === 'Denied') {\n setSsoManagementButtonDisplay(true)\n }\n })\n }\n }\n }\n\n const handleGetExcel = useCallback(\n options =>\n getExcel({\n file_format: 'xlsx',\n role: options.role,\n order_by: options.order_by,\n sort_by: options.sort_by,\n full_search: options.search?.trim() || undefined\n })\n .then(resp => {\n if (!resp?.file_link) {\n throw new Error()\n }\n window.open(resp.file_link, '_blank')\n })\n .catch(() => toast.error(t('userManagement.error.excel'))),\n [i18n.language]\n )\n\n const useGetUsers = useGetUsersQuery({\n page: options.page,\n role: options.role,\n order_by: options.order_by,\n sort_by: options.sort_by,\n full_search: options.search?.trim() || undefined\n })\n\n const { data, isLoading, refetch, isFetching, isFetched } = useQuery({\n ...useGetUsers,\n keepPreviousData: true\n })\n\n const debounceSearch = useCallback(\n debounce(\n value =>\n dispatch({\n type: 'setOptions',\n options: {\n search: value,\n page: undefined\n }\n }),\n 1000\n ),\n []\n )\n const handleSearch = useCallback(\n (value, withoutDebounce) => {\n setSearch(value)\n if (withoutDebounce) {\n dispatch({\n type: 'setOptions',\n options: {\n search: value,\n page: undefined\n }\n })\n return\n }\n debounceSearch(value)\n },\n [debounceSearch]\n )\n\n const noPagination =\n data?.meta.total_users / (data?.pagination.page_size || 1) < 1 ||\n data?.meta.total_users / (data?.pagination.page_size || 1) === 1\n\n return (\n \n
\n {t('userManagement.userManagement')}\n
\n {user?.add_remove_edit_users && (\n setUserModal({})}\n className={styles.addUserButton}\n >\n {t('userManagement.addNewUser')}\n \n )}\n {ssoManagementButtonDisplay && (\n
\n setSsoModal(true)}\n className={styles.ssoButton}\n >\n {t('userManagement.sso')}\n \n {sso_requests !== 0 && (\n
{sso_requests}
\n )}\n
\n )}\n
\n exportExcel(ref.current, 'user-management-export')\n : () => handleGetExcel(options)\n }\n >\n {t('userManagement.export')}\n \n
\n
\n handleSearch(e.target.value)}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault()\n handleSearch(search, true)\n }\n }}\n />\n handleSearch('', true)}\n />\n
\n {isLoading && }\n \n {data && data.users && (\n {\n const pageIndex = updater({\n pageIndex: Number(options.page ?? 0),\n pageSize: data.pagination.page_size\n })?.pageIndex\n dispatch({\n type: 'setOptions',\n options: {\n page: String(pageIndex)\n }\n })\n }}\n onSortingChange={updater => {\n const { id, desc } = updater()?.[0]\n dispatch({\n type: 'setOptions',\n options: {\n order_by: desc ? 'desc' : 'asc',\n sort_by: id\n }\n })\n }}\n pageCount={data.meta.total_users / (data.pagination.page_size || 1)}\n pageSize={data.pagination.page_size}\n pageIndex={Number(options.page ?? 0)}\n role={options.role}\n sortBy={[\n {\n id: data.sorting.sort_by,\n desc: data.sorting.order_by === 'desc'\n }\n ]}\n onRoleChange={value =>\n dispatch({\n type: 'setOptions',\n options: {\n role: value,\n page: undefined\n }\n })\n }\n />\n )}\n \n {userModal && user?.add_remove_edit_users && (\n setUserModal(null)}\n refetch={refetch}\n queryKey={useGetUsers.queryKey}\n />\n )}\n {ssoModal && (\n setSsoModal(false)}\n refetch={refetch}\n />\n )}\n
\n )\n}\n","import { addMinutes, fromUnixTime } from 'date-fns'\n\nexport const generateDateConsideringTimezone = date => {\n const utcDate = date || new Date()\n const timezoneOffset = utcDate.getTimezoneOffset()\n return addMinutes(utcDate, timezoneOffset)\n}\n\nexport const unixToTimezone = unix => {\n const parsedUnixDate = fromUnixTime(unix)\n const localDate = generateDateConsideringTimezone(parsedUnixDate)\n\n return localDate\n}\n","import React, { useMemo } from 'react'\nimport { get } from 'lodash'\n\nimport { StyledSelect } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { useReportsFiltersData } from 'features/reports/hooks/use-reports-filters-data'\n\nexport const ManagementSelect = ({\n // for the school, classroom\n queryParameter,\n field,\n path,\n value,\n isDisabled,\n ...rest\n}) => {\n const { isSchoolAdmin, scope } = useAuthContext()\n const { data, isLoading } = useReportsFiltersData(queryParameter)\n const filterOptions = useMemo(\n () =>\n get(data, path, [])?.map(item => ({\n value: item[`${field}_id`],\n label: item.name\n })) || [],\n [data, field]\n )\n return (\n item.value === value) || {\n value: null,\n label: 'Select...'\n }\n }\n options={filterOptions}\n isDisabled={isLoading || isDisabled}\n isLoading={isLoading}\n {...rest}\n />\n )\n}\n","import React from 'react'\nimport { Form } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport range from 'lodash/range'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowLeft, faArrowRight } from '@fortawesome/free-solid-svg-icons'\n\nimport {\n StyledSelect,\n StyledDatePicker,\n StyledControl\n} from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { ManagementSelect } from 'features/management/components/management-select/management-select'\nimport styles from './edit-student-modal-basic.module.css'\n\nexport const EditStudentModalBasic = ({ formik }) => {\n const { t } = useTranslation()\n const { isTeacher } = useAuthContext()\n return (\n <>\n
\n \n {t('orgManagement.modals.student.firstName')}\n \n \n \n {t('orgManagement.modals.student.lastName')}\n \n \n
\n \n {t('orgManagement.modals.student.dateOfBirth')}\n (\n
\n {\n if (date.getFullYear() !== 2010) {\n changeYear(date.getFullYear() - 1)\n formik.setFieldValue(\n 'birth_date.year',\n date.getFullYear() - 1\n )\n }\n }}\n />\n ({\n label: y.toString(),\n value: y\n }))}\n onChange={date => {\n changeYear(date.value)\n formik.setFieldValue('birth_date.year', date.value)\n }}\n />\n {\n if (date.getFullYear() !== new Date().getFullYear()) {\n changeYear(date.getFullYear() + 1)\n formik.setFieldValue(\n 'birth_date.year',\n date.getFullYear() + 1\n )\n }\n }}\n />\n
\n )}\n selected={\n formik.values.birth_date\n ? new Date(\n `${formik.values.birth_date.month}/1/${formik.values.birth_date.year}`\n )\n : new Date()\n }\n onChange={date => {\n const year = date.getFullYear()\n const month = date.getMonth()\n const currentDate = new Date()\n const afterToday =\n year === currentDate.getFullYear() &&\n month > currentDate.getMonth() + 1\n\n formik.setFieldValue('birth_date.year', year)\n formik.setFieldValue(\n 'birth_date.month',\n afterToday ? formik.values.birth_date.month : month + 1\n )\n }}\n />\n
\n {!isTeacher && (\n
\n \n \n {t('orgManagement.modals.student.selectSchool')}\n \n {\n formik.setFieldValue('school_id', option.value)\n formik.setFieldValue('classroom_id', null)\n }}\n />\n \n \n \n {t('orgManagement.modals.student.selectClassroom')}\n \n \n formik.setFieldValue('classroom_id', option.value)\n }\n />\n \n
\n )}\n \n )\n}\n","import React, { useEffect, useState } from 'react'\nimport { Form } from 'react-bootstrap'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport ReactTooltip from 'react-tooltip'\nimport CreatableSelect from 'react-select/creatable'\nimport classNames from 'classnames'\nimport { transformDateToISO } from 'lib/transform-date-to-iso'\n\nimport {\n StyledDatePicker,\n StyledControl,\n Checkbox,\n RadioButton,\n StyledSelect\n} from 'shared/components'\n\nimport styles from './edit-student-modal-notes.module.css'\n\nexport const EditStudentModalNotes = ({ data, formik }) => {\n const attributes = data ? Object.values(data) : []\n\n return (\n
\n {attributes.map(\n attribute =>\n !attribute.hidden && (\n \n \n \n \n {attribute.display_name}\n {attribute.required && ' *'}\n \n \n
\n {formik.errors.attributes?.[attribute.attribute_id] && (\n \n {formik.errors.attributes[attribute.attribute_id]}\n \n )}\n \n {attribute.description && (\n \n {attribute.description}\n \n )}\n \n )\n )}\n \n )\n}\n\nconst Attribute = ({ attribute, formik }) => {\n const { t } = useTranslation()\n // home_language\n const [ell, setEll] = useState(!!formik.values.attributes.home_language)\n // late_start_date\n useEffect(() => {\n if (!formik.values.attributes.late_start) {\n formik.setFieldValue('attributes.late_start_date', null)\n }\n }, [formik.values.attributes.late_start])\n\n if (attribute.attribute_id === 'home_language') {\n const options = [\n {\n value: 'Spanish',\n label: t('orgManagement.modals.notes.spanish')\n },\n {\n value: 'Other',\n label: t('orgManagement.modals.notes.other')\n }\n ]\n return (\n
\n {\n setEll(event.target.checked)\n if (event.target.checked) {\n formik.setFieldValue('attributes.home_language', options[0].value)\n } else {\n formik.setFieldValue('attributes.home_language', '')\n }\n }}\n />\n \n value === formik.values.attributes[attribute.attribute_id]\n ) || null\n }\n onChange={option =>\n formik.setFieldValue(\n `attributes.${attribute.attribute_id}`,\n option?.value\n )\n }\n />\n
\n )\n }\n if (attribute.attribute_id === 'late_start_date') {\n return (\n {\n let dateInRightFormat = null\n if (date) {\n switch (attribute.validator_id) {\n case 'date.mdy':\n dateInRightFormat = format(date, 'MM/dd/yyyy')\n break\n case 'date.ymd':\n dateInRightFormat = format(date, 'yyyy/MM/dd')\n break\n case 'date':\n dateInRightFormat = format(date, 'yyyy-MM-dd')\n break\n\n default:\n break\n }\n }\n formik.setFieldValue(\n `attributes.${attribute.attribute_id}`,\n dateInRightFormat\n )\n }}\n />\n )\n }\n if (attribute.validator_id === 'list[str]') {\n return (\n ({\n label: op,\n value: op\n }))}\n placeholder={t('orgManagement.modals.notes.startTyping')}\n onChange={options =>\n formik.setFieldValue(\n `attributes.${attribute.attribute_id}`,\n options?.map(({ value }) => value) ?? []\n )\n }\n options={attribute.options}\n className={styles.creatableSelect}\n />\n )\n }\n if (attribute.validator_id.includes('list[enum')) {\n return (\n \n formik.values.attributes[attribute.attribute_id]?.includes(\n option.value\n )\n )}\n onChange={options =>\n formik.setFieldValue(\n `attributes.${attribute.attribute_id}`,\n options?.map(({ value }) => value) ?? []\n )\n }\n options={attribute.options}\n />\n )\n }\n if (attribute.options?.length) {\n if (attribute.options?.length < 4) {\n return (\n
\n {attribute.options.map(({ label, value }) => (\n \n formik.setFieldValue(\n `attributes.${attribute.attribute_id}`,\n formik.values.attributes[attribute.attribute_id] === value\n ? null\n : value\n )\n }\n />\n ))}\n
\n )\n }\n return (\n \n value === formik.values.attributes[attribute.attribute_id]\n )}\n onChange={option =>\n formik.setFieldValue(\n `attributes.${attribute.attribute_id}`,\n option?.value ?? ''\n )\n }\n />\n )\n }\n if (attribute.validator_id === 'bool') {\n return (\n \n formik.setFieldValue(\n `attributes.${attribute.attribute_id}`,\n event.target.checked\n )\n }\n />\n )\n }\n if (attribute.validator_id === 'string') {\n return (\n \n formik.setFieldValue(\n `attributes.${attribute.attribute_id}`,\n event.target.value\n )\n }\n />\n )\n }\n if (\n attribute.validator_id === 'date.mdy' ||\n attribute.validator_id === 'date.ymd' ||\n attribute.validator_id === 'date'\n ) {\n return (\n {\n let dateInRightFormat = ''\n if (date) {\n switch (attribute.validator_id) {\n case 'date.mdy':\n dateInRightFormat = format(date, 'MM/dd/yyyy')\n break\n case 'date.ymd':\n dateInRightFormat = format(date, 'yyyy/MM/dd')\n break\n case 'date':\n dateInRightFormat = format(date, 'yyyy-MM-dd')\n break\n\n default:\n break\n }\n }\n formik.setFieldValue(\n `attributes.${attribute.attribute_id}`,\n dateInRightFormat\n )\n }}\n />\n )\n }\n}\n","import React, { useState, useEffect, useCallback } from 'react'\nimport { useQuery, useMutation } from 'react-query'\nimport { toast } from 'react-toastify'\nimport * as Yup from 'yup'\nimport { Form } from 'react-bootstrap'\nimport { useFormik } from 'formik'\nimport { useTranslation } from 'react-i18next'\nimport { Tabs, TabList, TabPanel, Tab } from 'react-tabs'\nimport { faGraduationCap } from '@fortawesome/free-solid-svg-icons'\n\nimport { useAuthContext } from 'features/auth'\nimport {\n generateDateConsideringTimezone,\n unixToTimezone\n} from 'lib/dateHelpers'\nimport {\n studentCreateMutation,\n studentEditMutation,\n studentDeleteMutation,\n studentMoveMutation,\n fetchStudentAttributesQuery\n} from 'lib/api'\nimport { Modal, Button } from 'shared/components'\n\nimport { EditStudentModalBasic } from './components/edit-student-modal-basic/edit-student-modal-basic'\nimport { EditStudentModalNotes } from './components/edit-student-modal-notes/edit-student-modal-notes'\nexport const EditStudentModal = ({ data, isEdit, onHide, refetch }) => {\n const { t, i18n } = useTranslation()\n const { data: studentAttributes, isLoading: attributesLoading } = useQuery(\n fetchStudentAttributesQuery({\n student_id: data.student_id,\n language: i18n.language\n })\n )\n const attributes = studentAttributes?.attributes || {}\n const validationSchema = Yup.object().shape({\n first_name: Yup.string().required('First name is required field'),\n school_id: Yup.string().required('School is required field'),\n classroom_id: Yup.string().required('Classroom is required field'),\n attributes: Yup.object().shape({\n ...Object.values(attributes).reduce(\n (acc, item) => ({\n ...acc,\n [item.attribute_id]:\n item.required && Yup.mixed().required('This is a required field')\n }),\n {}\n ),\n late_start_date: Yup.mixed().when('late_start', {\n is: true,\n then: Yup.mixed().required('This is a required field')\n })\n })\n })\n\n const [confirmationDialog, setConfirmationDialog] = useState(null)\n const { isTeacher, isSchoolAdmin, scope } = useAuthContext()\n const studentCreate = useMutation(studentCreateMutation())\n const studentEdit = useMutation(studentEditMutation())\n const studentDelete = useMutation(studentDeleteMutation())\n const studentMove = useMutation(studentMoveMutation())\n\n useEffect(\n () =>\n formik.setSubmitting(\n studentCreate.isLoading ||\n studentEdit.isLoading ||\n studentDelete.isLoading ||\n studentMove.isLoading\n ),\n [\n studentCreate.isLoading,\n studentEdit.isLoading,\n studentDelete.isLoading,\n studentMove.isLoading\n ]\n )\n\n const formik = useFormik({\n validateOnBlur: true,\n validateOnChange: true,\n validateOnMount: true,\n validationSchema,\n enableReinitialize: true,\n initialValues: isEdit\n ? {\n first_name: data.first_name,\n last_name: data.last_name,\n birth_date: {\n year: unixToTimezone(data.birth_month).getFullYear(),\n month: unixToTimezone(data.birth_month).getMonth() + 1\n },\n school_id: isSchoolAdmin ? scope?.school_id : data.school_id,\n classroom_id: data.classroom_id,\n attributes: Object.values(attributes).reduce(\n (acc, attribute) => ({\n ...acc,\n [attribute.attribute_id]: attribute.value\n }),\n {}\n )\n }\n : {\n first_name: '',\n last_name: '',\n birth_date: {\n year: generateDateConsideringTimezone().getFullYear(),\n month: generateDateConsideringTimezone().getMonth() + 1\n },\n school_id: isSchoolAdmin ? scope?.school_id : data.school_id,\n classroom_id: data.classroom_id,\n attributes: Object.values(attributes).reduce(\n (acc, attribute) => ({\n ...acc,\n [attribute.attribute_id]: attribute.default_value ?? null\n }),\n {}\n )\n },\n onSubmit: values => {\n const birth_month =\n `${values.birth_date.year}-` +\n (values.birth_date.month < 10\n ? `0${values.birth_date.month}`\n : values.birth_date.month)\n if (isEdit) {\n studentEdit\n .mutateAsync({\n ...values,\n birth_month,\n student_id: data.student_id\n })\n .then(response => {\n if (!response.success) {\n throw response.error\n }\n refetch()\n if (values.classroom_id !== data.classroom_id && !isTeacher) {\n studentMove\n .mutateAsync({\n school_id: values.school_id,\n classroom_id: values.classroom_id,\n student_id: data.student_id\n })\n .then(response => {\n if (response.error) {\n throw response.error\n }\n refetch()\n })\n .catch(e => toast.error(e))\n } else {\n refetch()\n }\n })\n .catch(e => toast.error(e))\n .finally(onHide)\n } else {\n studentCreate\n .mutateAsync({\n ...values,\n birth_month\n })\n .then(response => {\n if (!response.success) {\n throw response.error\n }\n refetch()\n })\n .catch(e => toast.error(e))\n .finally(onHide)\n }\n }\n })\n\n const onDelete = useCallback(\n dropout =>\n studentDelete\n .mutateAsync({ student_id: data.student_id, dropout })\n .then(response => {\n if (!response.success) {\n throw response.error\n }\n toast.success(\n t(\n `orgManagement.modals.student.${\n dropout ? 'wasDropOut' : 'wasDeleted'\n }`,\n {\n name: `${data.first_name} ${data.last_name || ''}`\n }\n )\n )\n refetch()\n })\n .catch(e => toast.error(e))\n .finally(onHide),\n [data.student_id]\n )\n\n return (\n \n \n \n {isEdit\n ? t('orgManagement.modals.edit')\n : t('orgManagement.modals.addNew')}{' '}\n {t('orgManagement.modals.student.student')}\n \n \n {formik.errors && !!Object.keys(formik.errors)?.length && (\n \n {t('orgManagement.modals.student.update')}\n \n )}\n \n \n
\n <>\n \n \n {t('orgManagement.modals.student.basicInfo')}\n\n \n {t('orgManagement.modals.student.notes')}\n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n {isEdit && (\n
\n \n setConfirmationDialog({\n text: t(\n 'orgManagement.modals.student.confirmationDialogDelete',\n {\n name: `${data.first_name} ${data.last_name || ''}`\n }\n ),\n action: () => onDelete(),\n onCancel: () => formik.setSubmitting(false)\n })\n }\n >\n {t('orgManagement.modals.delete')}\n \n \n setConfirmationDialog({\n text: t(\n 'orgManagement.modals.student.confirmationDialog',\n {\n name: `${data.first_name} ${data.last_name || ''}`\n }\n ),\n action: () => onDelete(true),\n onCancel: () => formik.setSubmitting(false)\n })\n }\n >\n {t('orgManagement.modals.dropOut')}\n \n
\n )}\n\n \n {t('orgManagement.modals.submit')}\n \n
\n \n
\n \n )\n}\n","import React, { useState, useEffect } from 'react'\nimport { useQuery, useMutation } from 'react-query'\nimport classNames from 'classnames'\nimport { Form } from 'react-bootstrap'\nimport InputMask from 'react-input-mask'\nimport { toast } from 'react-toastify'\nimport * as Yup from 'yup'\nimport { useFormik } from 'formik'\nimport { useTranslation } from 'react-i18next'\nimport { faPersonBreastfeeding } from '@fortawesome/free-solid-svg-icons'\n\nimport { useAuthContext } from 'features/auth'\nimport { Modal, Button, StyledControl } from 'shared/components'\nimport {\n parentCreateMutation,\n accountEditMutation,\n accountDeleteMutation,\n accountResendMutation,\n parentValidateMutation,\n parentCopyMutation,\n parentRemoveFromStudentMutation,\n getParentInformationQuery\n} from 'lib/api'\n\nimport styles from './edit-parent-modal.module.css'\n\nconst validationSchema = Yup.object().shape({\n email: Yup.string()\n .trim()\n .required('This field is required'),\n given_name: Yup.string().required('This field is required'),\n family_name: Yup.string().required('This field is required'),\n phone_number: Yup.string()\n})\n\nexport const EditParentModal = ({ data, onHide, refetch }) => {\n const { t } = useTranslation()\n const [status, setStatus] = useState(data.is_setup)\n const [children, setChildren] = useState(null)\n const [confirmationDialog, setConfirmationDialog] = useState(null)\n const [isEmailChecked, setIsEmailChecked] = useState(false)\n const authContext = useAuthContext()\n const parentCreate = useMutation(parentCreateMutation())\n const accountEdit = useMutation(accountEditMutation())\n const accountDelete = useMutation(accountDeleteMutation())\n const accountResend = useMutation(accountResendMutation())\n const parentCopy = useMutation(parentCopyMutation())\n const parentRemoveFromStudent = useMutation(parentRemoveFromStudentMutation())\n const parentValidate = useMutation(parentValidateMutation())\n\n const formik = useFormik({\n validateOnBlur: false,\n validateOnChange: false,\n initialValues: {\n email: '',\n given_name: '',\n family_name: '',\n phone_number: '+1'\n },\n validationSchema,\n onSubmit: ({ phone_number, ...rest }, { setSubmitting }) => {\n if (data.isEdit) {\n if (rest.email !== parentData.email_address) {\n setConfirmationDialog({\n text: t('userManagement.modal.editEmail', {\n email: parentData.email_address,\n newEmail: rest.email\n }),\n action: () =>\n parentCopy\n .mutateAsync({\n account_id: parentData.account_id,\n email: rest.email,\n given_name: rest.given_name,\n family_name: rest.family_name\n })\n .then(response => {\n if (response.success) {\n refetch()\n toast.success(t('userManagement.modal.successfullyChanged'))\n } else throw response.error\n })\n .catch(e => toast.error(e))\n .finally(onHide),\n onCancel: () => setSubmitting(false)\n })\n } else {\n accountEdit\n .mutateAsync({\n account_id: parentData.account_id,\n given_name: rest.given_name,\n family_name: rest.family_name,\n email: rest.email\n })\n .then(() => {\n onHide()\n refetch()\n toast.success(t('userManagement.modal.successfullyChanged'))\n })\n .catch(e => toast.error(e))\n .finally(onHide)\n }\n } else {\n const phone = phone_number.replace(/ /g, '')\n parentCreate\n .mutateAsync({\n ...rest,\n phone_number: phone.length === 12 ? phone : undefined,\n student_ids: [data.student_id]\n })\n .then(response => {\n if (response.success) {\n refetch()\n toast.success(t('userManagement.modal.successfullyCreated'))\n } else throw response.error\n })\n .catch(e => toast.error(e))\n .finally(onHide)\n }\n }\n })\n\n const { data: parentData, isLoading } = useQuery({\n ...getParentInformationQuery({ account: data.account_id }),\n enabled: !!data.account_id,\n onSuccess: response => {\n setIsEmailChecked(true)\n formik.setFieldValue('given_name', response.first_name || '')\n formik.setFieldValue('family_name', response.last_name || '')\n formik.setFieldValue('email', response.email_address)\n setStatus(response.is_setup)\n setChildren(response.students)\n }\n })\n\n useEffect(\n () =>\n formik.setSubmitting(\n parentCreate.isLoading ||\n accountEdit.isLoading ||\n accountDelete.isLoading ||\n accountResend.isLoading ||\n parentCopy.isLoading ||\n parentRemoveFromStudent.isLoading ||\n parentValidate.isLoading\n ),\n [\n parentCreate.isLoading,\n accountEdit.isLoading,\n accountDelete.isLoading,\n accountResend.isLoading,\n parentCopy.isLoading,\n parentRemoveFromStudent.isLoading,\n parentValidate.isLoading\n ]\n )\n\n const checkEmail = () => {\n formik.setErrors({})\n setStatus(undefined)\n setChildren(null)\n if (data.isEdit) {\n if (formik.values.email !== parentData.email_address) {\n parentValidate\n .mutateAsync({\n username: formik.values.email\n })\n .then(response => {\n if (response.user_exists) {\n formik.setErrors({\n email: t('userManagement.modal.dontHaveAccess')\n })\n }\n })\n .catch(e => toast.error(e))\n .finally(() => setIsEmailChecked(true))\n } else {\n setStatus(parentData.is_setup)\n setChildren(parentData.students)\n setIsEmailChecked(true)\n }\n } else {\n parentValidate\n .mutateAsync({\n username: formik.values.email\n })\n .then(response => {\n if (response.user_exists) {\n if (response.user) {\n formik.setFieldValue('given_name', response.user.given_name || '')\n formik.setFieldValue(\n 'family_name',\n response.user.family_name || ''\n )\n formik.setFieldValue('email', response.user.email)\n formik.setFieldValue(\n 'phone_number',\n response.user.phone_number || '+1'\n )\n setStatus(response.user.is_setup)\n setChildren(response.user.students)\n } else {\n formik.setErrors({\n email: t('userManagement.modal.dontHaveAccess')\n })\n }\n }\n })\n .catch(e => toast.error(e))\n .finally(() => setIsEmailChecked(true))\n }\n }\n\n const onDelete = () => {\n onHide()\n accountDelete\n .mutateAsync({ account: parentData.account_id })\n .then(response => {\n if (response.Success) {\n toast.success(t('userManagement.modal.successfullyRemoved'))\n refetch()\n } else throw response.Error\n })\n .catch(e => toast.error(e))\n }\n const onRemoveFromStudent = () => {\n onHide()\n parentRemoveFromStudent\n .mutateAsync({\n parent_account_id: parentData.account_id,\n student_id: data.student_id\n })\n .then(response => {\n if (response.success) {\n toast.success(\n t('userManagement.modal.successfullyRemovedFromStudent')\n )\n refetch()\n } else throw response.error\n })\n .catch(e => toast.error(e))\n }\n const resendCode = () => {\n onHide()\n accountResend\n .mutateAsync({ AccountID: parentData.account_id })\n .then(response => {\n if (response.data.Success) {\n toast.success(t('userManagement.modal.emailSent'))\n } else throw response.data.Error\n })\n .catch(e => toast.error(e))\n }\n\n return (\n \n \n \n {data.isEdit\n ? t('userManagement.modal.edit')\n : t('userManagement.modal.addNew')}{' '}\n {t('userManagement.modal.parent')}\n \n \n
\n <>\n \n \n {t('userManagement.modal.email')}\n \n formik.setFieldValue(\n 'email',\n event.target.value.toLowerCase()\n )\n }\n onBlur={() => {\n if (formik.values.email) {\n setIsEmailChecked(false)\n checkEmail()\n }\n }}\n onKeyPress={e => {\n if (e.key === 'Enter') {\n e.preventDefault()\n e.target.blur()\n setIsEmailChecked(false)\n checkEmail()\n }\n }}\n disabled={formik.isSubmitting}\n value={formik.values.email}\n />\n {formik.errors.email && (\n \n {formik.errors.email}\n \n )}\n \n {isEmailChecked && !formik.errors.email && (\n <>\n
\n \n \n {t('userManagement.modal.firstName')}\n \n 0 &&\n styles.editParentModalFieldError\n )}\n onChange={formik.handleChange}\n value={formik.values.given_name}\n disabled={formik.isSubmitting || !isEmailChecked}\n />\n \n \n \n {t('userManagement.modal.familyName')}\n \n 0 &&\n styles.editParentModalFieldError\n )}\n onChange={formik.handleChange}\n value={formik.values.family_name}\n disabled={formik.isSubmitting || !isEmailChecked}\n />\n \n
\n {status !== undefined && (\n \n {t('userManagement.modal.status')}\n
\n \n {status\n ? t('userManagement.modal.accountSetUp')\n : t('userManagement.modal.accountNotSetUpYet')}\n
\n {!status && (\n \n {t('userManagement.modal.resendEmail')}\n \n )}\n \n
\n )}\n {children && !!children.length && (\n \n \n {t('userManagement.modal.children')}\n \n
\n {children\n .map(\n s =>\n `${s.first_name} ${s.last_name ? s.last_name : ''}`\n )\n .join(', ')}\n
\n
\n )}\n {!data.isEdit && (\n \n \n {t('userManagement.modal.phoneNumber')}\n \n 0 &&\n styles.editParentModalFieldError\n )}\n mask=\"+ 9 999 999 9999\"\n value={formik.values.phone_number}\n onChange={e =>\n formik.setFieldValue('phone_number', e.target.value)\n }\n disabled={formik.isSubmitting || !isEmailChecked}\n >\n \n \n \n )}\n \n )}\n
\n \n {data.isEdit && (\n
\n {authContext?.user.internal && (\n \n setConfirmationDialog({\n text: t('userManagement.modal.deleteParent', {\n name: `${formik.values.given_name} ${formik.values\n .family_name || ''}`\n }),\n action: onDelete,\n onCancel: () => formik.setSubmitting(false)\n })\n }\n >\n {t('userManagement.modal.delete')}\n \n )}\n \n setConfirmationDialog({\n text: t('userManagement.modal.removeParentFromStudent', {\n name: `${formik.values.given_name} ${formik.values\n .family_name || ''}`\n }),\n action: onRemoveFromStudent,\n onCancel: () => formik.setSubmitting(false)\n })\n }\n >\n {t('userManagement.modal.removeFromStudent')}\n \n
\n )}\n \n {t('userManagement.modal.save')}\n \n
\n \n
\n \n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { format } from 'date-fns'\nimport moment from 'moment'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPencilAlt, faPlusCircle } from '@fortawesome/free-solid-svg-icons'\nimport { transformAge } from 'lib/helpers'\nimport { unixToTimezone } from 'lib/dateHelpers'\nimport { TanStackTable, PrimaryLink, Button } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { useTranslation } from 'react-i18next'\n\nimport styles from './classroom-management-table.module.css'\nimport { EditStudentModal, EditParentModal } from '../components'\n\nexport const ClassroomManagementTable = ({\n data,\n organization_flags,\n refetch\n}) => {\n const [editStudentModal, setEditStudentModal] = useState(null)\n const [editParentModal, setEditParentModal] = useState(null)\n const { t, i18n } = useTranslation()\n const { user } = useAuthContext()\n const hasSpecificProperties = useMemo(\n () => data.some(student => student.org_specific_properties),\n [data]\n )\n const columns = useMemo(\n () =>\n [\n {\n header: t('orgManagement.table.name'),\n accessorKey: 'full_name',\n sortingFn: 'alphanumeric',\n enableColumnFilter: true,\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n header: t('orgManagement.table.DOB'),\n accessorKey: 'birth_month',\n cell: ({ getValue }) =>\n getValue()\n ? moment(unixToTimezone(getValue())).format('MM/yy')\n : '-',\n meta: {\n sortingLabel: 'dates'\n }\n },\n {\n header: t('orgManagement.table.age'),\n accessorKey: 'age',\n cell: ({ getValue }) => transformAge(getValue(), t) ?? '-',\n sortUndefined: 1\n },\n {\n header: t('orgManagement.table.notes'),\n accessorFn: row =>\n row.attributes?.length ? row.attributes.join(', ') : undefined,\n cell: ({ getValue }) => getValue() || '-',\n sortUndefined: 1,\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n header: t('orgManagement.table.parent'),\n accessorFn: row =>\n row.parents\n ?.map(\n parent => `${parent.first_name} ${parent.last_name ?? null}`\n )\n ?.join(', ') || undefined,\n cell: ({ row }) => {\n const parents = row.original.parents\n const [expanded, setExpanded] = useState(false)\n return parents.length ? (\n
\n {!expanded ? (\n
\n \n setEditParentModal({\n ...parents[0],\n student_id: row.original.student_id,\n isEdit: true\n })\n }\n >\n {parents[0].first_name + ' ' + parents[0].last_name}\n \n {parents.length > 1 && (\n setExpanded(true)}>\n {' '}\n +{parents.length - 1} {t('orgManagement.table.more')}\n ...\n \n )}\n
\n ) : (\n
\n {parents.map(parent => (\n \n setEditParentModal({\n ...parent,\n student_id: row.original.student_id,\n isEdit: true\n })\n }\n >\n {' ' + parent.first_name + ' ' + parent.last_name}\n \n ))}\n
\n )}\n \n setEditParentModal({ student_id: row.original.student_id })\n }\n />\n
\n ) : (\n \n setEditParentModal({ student_id: row.original.student_id })\n }\n >\n {t('orgManagement.buttons.parent')}\n \n )\n },\n sortUndefined: 1,\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n header: t('orgManagement.table.lastParentLogin'),\n accessorFn: row =>\n row.parents\n ?.map(parent =>\n parent.last_accessed\n ? format(unixToTimezone(parent.last_accessed), 'MM/dd/yyyy')\n : t('orgManagement.table.neverLogged')\n )\n .join(', ') || undefined,\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n },\n hasSpecificProperties && {\n header: t('orgManagement.table.studentID.LAUSD_student_id'),\n accessorKey: 'org_specific_properties',\n cell: ({ getValue }) => getValue() || '-',\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n user?.can_add_students && {\n accessorKey: 'edit',\n cell: ({ row }) => (\n \n setEditStudentModal({ ...row.original, organization_flags })\n }\n />\n )\n }\n ].filter(Boolean),\n [hasSpecificProperties, i18n.language]\n )\n\n return (\n <>\n \n {editStudentModal && user?.can_add_students && (\n setEditStudentModal(null)}\n refetch={refetch}\n />\n )}\n {editParentModal && (\n setEditParentModal(null)}\n refetch={refetch}\n />\n )}\n \n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { useQuery } from 'react-query'\nimport { useLocation, useHistory } from 'react-router-dom'\nimport queryString from 'query-string'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faGraduationCap } from '@fortawesome/free-solid-svg-icons'\n\nimport { PageWrapper, Button, Loader, Heading } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { getDomainInfoQuery } from 'lib/api'\nimport { ClassroomManagementTable } from './tables/classroom-management-table'\nimport { EditStudentModal } from './components/edit-student-modal/edit-student-modal'\n\nimport styles from './classroom-management.module.css'\n\nexport const ClassroomManagement = () => {\n const location = useLocation()\n const { action, ...query } = useMemo(\n () => queryString.parse(location.search),\n [location.search]\n )\n const { t, i18n } = useTranslation()\n const history = useHistory()\n const { isTeacher, loading: authLoading, user } = useAuthContext()\n const { data, isLoading, refetch } = useQuery(\n getDomainInfoQuery({ ...query, language: i18n.language })\n )\n const [editStudentModal, setEditStudentModal] = useState(\n action === 'add-new-student' ? {} : null\n )\n\n return (\n \n {!isTeacher && (\n \n )}\n
\n {data && (\n <>\n

{data.school_name}

\n

{data.classroom_name}

\n \n )}\n {t('orgManagement.table.studentManagement')}\n {data && user?.can_add_students && (\n \n setEditStudentModal({\n organization_flags: data.organization_flags,\n school_id: data.school_id,\n classroom_id: data.classroom_id\n })\n }\n data-cy=\"add-student\"\n >\n \n + {t('orgManagement.buttons.student')}\n \n )}\n
\n {(isLoading || authLoading) && }\n {data?.students && (\n \n )}\n {editStudentModal && data && user?.can_add_students && (\n setEditStudentModal(null)}\n refetch={refetch}\n />\n )}\n
\n )\n}\n","import React from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { Auth } from 'aws-amplify'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from 'shared/components'\nimport googleLogo from 'assets/images/google-logo.png'\nimport cleverLogo from 'assets/images/clever-logo.png'\nimport classLinkLogo from 'assets/images/class-link-logo.png'\nimport { loginURL } from 'lib/links'\nimport classNames from 'classnames'\nimport styles from '../auth.module.css'\n\nconst Google = 'Google'\nconst Clever = 'clever'\nconst classlink = 'Classlink'\n\nexport const SSOAuth = ({ providers }) => {\n const { t } = useTranslation()\n const history = useHistory()\n return (\n
\n
\n {\n await Auth.signOut()\n await Auth.federatedSignIn({\n provider: Google\n })\n }}\n disabled={providers && providers.indexOf(Google) === -1}\n >\n \n
\n {t('auth.ssoAuth.googleButton')}\n \n {\n await Auth.signOut()\n await Auth.federatedSignIn({\n provider: Clever\n })\n }}\n disabled={providers && providers.indexOf(Clever) === -1}\n >\n \n
\n {t('auth.ssoAuth.cleverButton')}\n \n {\n await Auth.signOut()\n await Auth.federatedSignIn({\n provider: classlink\n })\n }}\n disabled={providers && providers.indexOf(classlink) === -1}\n >\n \n
\n {t('auth.ssoAuth.classLinkButton')}\n \n
\n
\n history.push(loginURL)}\n >\n {t('auth.ssoAuth.back')}\n \n
\n
\n )\n}\n","import { loginURL } from 'lib/links'\nimport React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useHistory } from 'react-router-dom'\nimport { Button, PrimaryLink } from 'shared/components'\n\nimport styles from '../auth.module.css'\n\nexport const SsoErrorAuth = ({ errorCode, parsedError }) => {\n const { t } = useTranslation()\n const history = useHistory()\n return (\n
\n
\n

{t(`auth.ssoError.${errorCode}.title`)}

\n
\n

\n {t(`auth.ssoError.${errorCode}.description1`)}\n

\n

\n \n {errorCode !== 'error'\n ? t(`auth.ssoError.${errorCode}.description2`)\n : parsedError}\n \n

\n {errorCode === 'error' && (\n

\n \n {t(`auth.ssoError.${errorCode}.description2`)}{' '}\n \n support@cognitivetoybox.com\n \n \n

\n )}\n
\n \n
\n
\n )\n}\n","import React, { useState, useEffect, useCallback } from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\nimport { Hub } from 'aws-amplify'\nimport * as Yup from 'yup'\nimport queryString from 'query-string'\nimport { useQuery } from 'react-query'\nimport _ from 'lodash'\nimport { useFormik } from 'formik'\nimport { toast } from 'react-toastify'\nimport classNames from 'classnames'\nimport { useHistory, useLocation } from 'react-router-dom'\nimport { Form } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport {\n Button,\n Loader,\n PasswordField,\n PrimaryLink,\n Modal,\n AuthWrapper\n} from 'shared/components'\nimport {\n setUpPasswordURL,\n verificationURL,\n setUpMFAURL,\n login,\n checkEmail,\n multiuserURL\n} from 'lib/links'\nimport { rolesEnum } from 'lib/roles'\nimport { updateUser } from 'store/modules/authModule'\nimport { useAdvancedClientId } from 'lib/amplify'\nimport { fetchAlertQuery } from 'lib/api'\n\nimport { SSOAuth } from './sso-auth'\nimport { SsoErrorAuth } from './sso-error-auth'\nimport styles from '../auth.module.css'\nimport { signIn, accountLookupSSO, clearCache } from '../model'\nimport { deprecatedAuth, checkPhoneSettings, errorMessages } from '../utils'\n\nconst validationSchema = Yup.object().shape({\n login: Yup.string().required('Required field'),\n password: Yup.string().required('Required field')\n})\n\nexport const Login = connect(null, dispatch => ({\n updateUser: bindActionCreators(updateUser, dispatch)\n}))(p => {\n const history = useHistory()\n const location = useLocation()\n const query = queryString.parse(location.search)\n const isSSO = Boolean(query.email) || Boolean(query.sso)\n const { t } = useTranslation()\n const [capsLock, setCapsLock] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n const { data: alert } = useQuery(fetchAlertQuery())\n\n const formik = useFormik({\n validationSchema,\n validateOnChange: false,\n initialValues: { login: '', password: '' },\n onSubmit: async ({ login, password }) => {\n try {\n const user = await signIn(login.trim(), password.trim())\n\n if (user) {\n p.updateUser(user)\n if (user.challengeName === 'NEW_PASSWORD_REQUIRED') {\n history.push(setUpPasswordURL)\n return\n }\n if (checkPhoneSettings(user)) {\n history.push(setUpMFAURL)\n return\n }\n if (user.challengeName === 'SMS_MFA') {\n history.push(verificationURL)\n return\n }\n if (user.attributes['custom:role'] === rolesEnum.MULTIUSER) {\n await deprecatedAuth(user, history, multiuserURL)\n return\n }\n await deprecatedAuth(user, history)\n } else {\n throw new Error()\n }\n } catch (e) {\n setError(\n errorMessages[e.message] ? errorMessages[e.message] : e.message\n )\n }\n }\n })\n const [error, setError] = useState(false)\n useEffect(() => {\n let timeout = null\n\n Hub.listen('auth', ({ payload: { event, data } }) => {\n if (event === 'signIn') {\n timeout = setTimeout(() => {\n const isApp = localStorage.getItem('target')\n if (isApp) {\n const session = data.signInUserSession\n\n localStorage.removeItem('target')\n window.location.replace(\n `cognitivetoybox://?q=IdToken=${session.idToken.jwtToken}AccessToken=${session.accessToken.jwtToken}RefreshToken=${session.refreshToken.token}ExpiresIn=3600Username=${data.username}`\n )\n } else {\n if (history.action !== 'PUSH') {\n deprecatedAuth(data, history)\n }\n }\n }, 1000)\n }\n })\n\n if (query.target === 'app') {\n localStorage.setItem('target', 'app')\n useAdvancedClientId()\n }\n\n return () => {\n clearTimeout(timeout)\n }\n }, [])\n\n const updateForm = useCallback(params => {\n history.push(login(params))\n }, [])\n\n const handleDebounceCheckingAccount = async login => {\n if (login) {\n try {\n clearCache()\n } catch (e) {\n toast.error(e.message)\n }\n }\n }\n const debounceCheckingAccount = useCallback(\n _.debounce(handleDebounceCheckingAccount, 1000),\n []\n )\n\n const onChange = login => {\n formik.setFieldValue('login', login)\n debounceCheckingAccount(login)\n }\n\n if (query.code) {\n return (\n \n
\n
Logging in...
\n
\n \n
\n
\n
\n )\n }\n\n if (query.error_description) {\n const match = query.error_description.match(/\"([^\"]*)\"/)?.[1]\n const errorCode =\n match === 'CTB_REQUEST_SENT_ERROR' || match === 'CTB_REQUEST_DENIED_ERROR'\n ? match\n : 'error'\n return (\n \n \n \n )\n }\n\n return (\n \n
formik.handleSubmit(e)}>\n {alert && (\n \n )}\n

{t('auth.login.title')}

\n

{t('auth.login.subtitle')}

\n
\n {!query.sso && (\n \n {t('auth.login.email')}\n onChange(e.target.value)}\n onBlur={e => onChange(e.target.value)}\n onKeyUp={e => setCapsLock(e.getModifierState('CapsLock'))}\n data-cy=\"username\"\n />\n {formik.errors.login && (\n \n {formik.errors.login}\n \n )}\n {capsLock &&
CAPS LOCK
}\n
\n )}\n {!isSSO && (\n \n {t('auth.login.password')}\n formik.setFieldValue('password', value)}\n onKeyUp={e => setCapsLock(e.getModifierState('CapsLock'))}\n data-cy=\"password\"\n />\n {formik.errors.password && (\n \n {formik.errors.password}\n \n )}\n {isLoading && (\n
\n {t('auth.login.checking')}\n
\n )}\n {capsLock &&
CAPS LOCK
}\n
\n )}\n {formik.isSubmitting && (\n
\n \n
\n )}\n
\n\n {isSSO ? (\n \n ) : (\n <>\n
\n \n {t('auth.login.loginButton')}\n \n history.push(login({ sso: 'true' }))}\n >\n {t('auth.login.loginWithSSO')}\n \n
\n \n {t('auth.login.forgotPassword')}\n \n
\n
\n \n )}\n\n setError(false)}>\n \n Login error\n \n \n {error}\n \n setError(false)} />\n \n \n
\n )\n})\n","import React, { useState } from 'react'\nimport { useHistory, useLocation } from 'react-router-dom'\nimport { Form } from 'react-bootstrap'\nimport { useFormik } from 'formik'\nimport * as Yup from 'yup'\nimport queryString from 'query-string'\nimport { useTranslation } from 'react-i18next'\nimport { toast } from 'react-toastify'\nimport { Button, Loader, AuthWrapper, Modal } from 'shared/components'\nimport { loginURL } from 'lib/links'\n\nimport styles from '../auth.module.css'\nimport { accountResend } from '../model'\nimport { errorMessages } from '../utils'\n\nconst validationSchema = Yup.object().shape({\n email: Yup.string().required('Required field')\n})\n\nexport const ResendEmail = () => {\n const history = useHistory()\n const location = useLocation()\n const { t } = useTranslation()\n const { email } = queryString.parse(location.search)\n const formik = useFormik({\n validationSchema,\n initialValues: { email: email ? decodeURIComponent(email) : '' },\n onSubmit: async ({ email }) => {\n try {\n const data = await accountResend({ Account: email })\n if (data.errorMessage) {\n throw new Error(data.errorMessage)\n }\n toast.success(`A new welcome email was sent to ${email}`)\n history.push(loginURL)\n } catch (e) {\n if (errorMessages[e.message]) {\n setError(errorMessages[e.message])\n } else {\n setError(e.message)\n }\n }\n }\n })\n const [error, setError] = useState(false)\n\n return (\n \n
\n

{t('auth.resendEmail.title')}

\n

{t('auth.resendEmail.subtitle')}

\n
\n \n {t('auth.resendEmail.email')}\n \n {formik.errors.email && (\n \n {formik.errors.email}\n \n )}\n \n {formik.isSubmitting && (\n
\n \n
\n )}\n
\n
\n history.push(loginURL)}\n className={styles.authButton}\n >\n {t('auth.resendEmail.back')}\n \n \n {t('auth.resendEmail.submit')}\n \n
\n setError(false)}>\n \n Error\n \n \n {typeof error === 'string'\n ? error\n : 'Please contact your administrator or support@cognitivetoybox.com to finish setting up your account.'}\n \n \n \n \n \n
\n
\n )\n}\n","import React from 'react'\nimport { bindActionCreators } from 'redux'\nimport { get } from 'lodash'\nimport { connect } from 'react-redux'\nimport { useHistory } from 'react-router-dom'\nimport { Form, Row, Col } from 'react-bootstrap'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { useFormik } from 'formik'\nimport * as Yup from 'yup'\nimport {\n Button,\n Loader,\n PasswordField,\n AuthWrapper,\n Checkbox\n} from 'shared/components'\nimport { loginURL, setUpMFAURL } from 'lib/links'\nimport { updateUser } from 'store/modules/authModule'\n\nimport styles from '../auth.module.css'\nimport { setUpPassword, signIn } from '../model'\nimport {\n checkPhoneSettings,\n passwordValidationScheme,\n getPasswordValidationError\n} from '../utils'\n\nconst validationSchema = Yup.object().shape({\n isAgreementChecked: Yup.boolean(),\n ...passwordValidationScheme\n})\n\nexport const SetUpPassword = connect(\n state => ({\n user: state.authModule.user\n }),\n dispatch => ({\n updateUser: bindActionCreators(updateUser, dispatch)\n })\n)(props => {\n const history = useHistory()\n const { t } = useTranslation()\n const formik = useFormik({\n validationSchema,\n validateOnBlur: false,\n validateOnChange: false,\n initialValues: {\n password: '',\n confirmPassword: '',\n isAgreementChecked: false\n },\n onSubmit: async ({ password }) => {\n if (!props.user) {\n history.push(loginURL)\n return\n }\n try {\n await setUpPassword(props.user, password.trim())\n const user = await signIn(props.user.username.trim(), password.trim())\n props.updateUser(user)\n\n if (checkPhoneSettings(user)) {\n history.push(setUpMFAURL)\n return\n }\n\n history.push(loginURL)\n } catch (e) {\n toast.error(e.message)\n history.push(loginURL)\n }\n }\n })\n const {\n upperCase,\n lowerCase,\n specialLetters,\n longEnough\n } = getPasswordValidationError(formik.values.password)\n\n return (\n \n
\n

\n {t('auth.setupPassword.title')}{' '}\n {get(props.user, 'challengeParam.userAttributes.given_name', '')}\n

\n

{t('auth.setupPassword.subtitle')}

\n
\n \n {t('auth.setupPassword.password')}\n formik.setFieldValue('password', value)}\n newPassword={true}\n />\n \n {formik.errors.password}\n \n \n \n \n \n \n \n \n \n \n \n {t('auth.setupPassword.confirmPassword')}\n e.preventDefault()}\n onChange={value => formik.setFieldValue('confirmPassword', value)}\n newPassword\n />\n \n {formik.errors.confirmPassword}\n \n \n \n \n \n \n \n {t('auth.setupPassword.caption')}\n \n \n \n \n formik.setFieldValue(\n 'isAgreementChecked',\n !formik.values.isAgreementChecked\n )\n }\n />\n \n {t('auth.setupPassword.agreement')}{' '}\n \n {t('auth.setupPassword.terms')}\n {' '}\n {t('auth.setupPassword.and')}{' '}\n \n {t('auth.setupPassword.privacyPolicy')}\n \n \n \n {formik.isSubmitting && (\n
\n \n
\n )}\n
\n
\n history.goBack()}\n >\n {t('auth.setupPassword.cancel')}\n \n \n {t('auth.setupPassword.saveAndLogin')}\n \n
\n
\n
\n )\n})\n","import React from 'react'\nimport { useHistory, useLocation } from 'react-router-dom'\nimport { useFormik } from 'formik'\nimport * as Yup from 'yup'\nimport queryString from 'query-string'\nimport { Form, Row, Col } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport { toast } from 'react-toastify'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\nimport {\n Button,\n Loader,\n PasswordField,\n AuthWrapper,\n Checkbox\n} from 'shared/components'\nimport { loginURL, setUpMFAURL, verificationURL } from 'lib/links'\nimport { updateUser } from 'store/modules/authModule'\nimport styles from '../auth.module.css'\nimport { resetPassword, signIn } from '../model'\nimport {\n deprecatedAuth,\n passwordValidationScheme,\n getPasswordValidationError,\n checkPhoneSettings\n} from '../utils'\n\nconst validationSchema = Yup.object().shape({\n email: Yup.string()\n .trim()\n .required('This field is required'),\n code: Yup.string().required('This field is required'),\n ...passwordValidationScheme\n})\n\nexport const ResetPassword = connect(null, dispatch => ({\n updateUser: bindActionCreators(updateUser, dispatch)\n}))(props => {\n const history = useHistory()\n const location = useLocation()\n const { t } = useTranslation()\n const { email: defaultEmail } = queryString.parse(location.search, {\n decode: false\n })\n const formik = useFormik({\n validationSchema,\n validateOnBlur: false,\n validateOnChange: false,\n initialValues: {\n email: defaultEmail ? decodeURIComponent(defaultEmail) : '',\n code: '',\n password: '',\n confirmPassword: ''\n },\n onSubmit: async ({ email, code, password }) => {\n try {\n await resetPassword(email, code, password.trim())\n const user = await signIn(email, password)\n props.updateUser(user)\n if (checkPhoneSettings(user)) {\n history.push(setUpMFAURL)\n return\n }\n if (user.challengeName === 'SMS_MFA') {\n history.push(verificationURL)\n return\n }\n await deprecatedAuth(user, history)\n } catch (e) {\n toast.error(e.message)\n }\n }\n })\n\n const {\n upperCase,\n lowerCase,\n specialLetters,\n longEnough\n } = getPasswordValidationError(formik.values.password)\n\n return (\n \n \n

{t('auth.resetPassword.title')}

\n

{t('auth.resetPassword.subtitle')}

\n
\n \n \n \n {t('auth.resetPassword.code')}\n \n \n {formik.errors.code}\n \n \n \n \n \n {t('auth.resetPassword.email')}\n \n \n {formik.errors.email}\n \n \n \n \n \n {t('auth.resetPassword.password')}\n formik.setFieldValue('password', value)}\n autoComplete=\"new-password\"\n />\n \n {formik.errors.password}\n \n \n \n \n \n \n \n \n \n \n \n {t('auth.resetPassword.confirmPassword')}\n e.preventDefault()}\n onChange={value => formik.setFieldValue('confirmPassword', value)}\n newPassword\n />\n \n {formik.errors.confirmPassword}\n \n \n \n \n \n \n \n\n {formik.isSubmitting && (\n
\n \n
\n )}\n
\n\n
\n history.push(loginURL)}\n >\n {t('auth.resetPassword.cancel')}\n \n \n {t('auth.resetPassword.saveAndLogin')}\n \n
\n \n
\n )\n})\n","import React, { useState, useEffect, useCallback } from 'react'\nimport { connect } from 'react-redux'\nimport { useHistory } from 'react-router-dom'\nimport InputMask from 'react-input-mask'\nimport { Form } from 'react-bootstrap'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { Loader, Button, AuthWrapper } from 'shared/components'\nimport { loginURL } from 'lib/links'\n\nimport styles from '../auth.module.css'\nimport { setUpPhone, verifyPhone, ignorePhone } from '../model'\nimport { deprecatedAuth } from '../utils'\n\nexport const SetUpMFA = connect(state => ({ user: state.authModule.user }))(\n props => {\n const history = useHistory()\n const { t } = useTranslation()\n const [phone, setPhone] = useState(\n props?.user?.attributes?.phone_number ?? '+1'\n )\n const [code, setCode] = useState('')\n const [codeSent, setCodeSent] = useState(false)\n const [loading, setLoading] = useState(false)\n\n useEffect(() => {\n if (!props.user) {\n history.push(loginURL)\n }\n })\n\n const sendCode = useCallback(async () => {\n try {\n setLoading(true)\n const response = await setUpPhone(phone.replace(/ /g, ''))\n setCodeSent(response)\n } catch (e) {\n toast.error(e.message)\n } finally {\n setLoading(false)\n }\n }, [phone])\n\n const submitCode = useCallback(async () => {\n try {\n setLoading(true)\n const response = await verifyPhone(code)\n if (response) {\n deprecatedAuth(props.user, history)\n }\n } catch (e) {\n toast.error(e.message)\n } finally {\n setLoading(false)\n }\n }, [code])\n\n const skip = useCallback(async () => {\n try {\n await ignorePhone(props.user)\n deprecatedAuth(props.user, history)\n } catch (e) {\n toast.error(e.message)\n }\n }, [])\n\n const phoneValid = phone.replace(/_/g, '').length > 10\n\n return (\n \n {\n e.preventDefault()\n if (codeSent) {\n submitCode()\n } else {\n sendCode()\n }\n }}\n >\n

{t('auth.mfaSetup.title')}

\n

{t('auth.mfaSetup.subtitle')}

\n
\n \n {t('auth.mfaSetup.phone')}\n setPhone(e.target.value)}\n >\n \n \n \n
\n {!codeSent && (\n \n )}\n\n \n {codeSent\n ? t('auth.mfaSetup.resendCode')\n : t('auth.mfaSetup.sendCode')}\n \n
\n {codeSent && (\n <>\n \n Verification code\n setCode(e.target.value)}\n />\n \n \n Submit\n \n \n )}\n {loading && (\n
\n \n
\n )}\n
\n \n
\n )\n }\n)\n","import React, { useCallback, useState } from 'react'\nimport { useHistory, useLocation } from 'react-router-dom'\nimport queryString from 'query-string'\nimport { useTranslation } from 'react-i18next'\nimport { toast } from 'react-toastify'\nimport { Button, Loader, AuthWrapper } from 'shared/components'\nimport { loginURL, resetPasswordURL } from 'lib/links'\n\nimport styles from '../auth.module.css'\nimport { resetPasswordSendCode } from '../model'\nexport const ConfirmResetPassword = () => {\n const history = useHistory()\n const location = useLocation()\n const { t } = useTranslation()\n const { email } = queryString.parse(location.search)\n const [loading, setLoading] = useState(false)\n\n const submit = useCallback(async () => {\n if (!email) return\n\n setLoading(true)\n try {\n await resetPasswordSendCode(decodeURIComponent(email))\n } catch (e) {\n toast.error(e.message)\n }\n setLoading(false)\n history.push(resetPasswordURL + '?email=' + email)\n }, [])\n\n return (\n \n
\n

{t('auth.confirmResetPassword.title')}

\n

{t('auth.confirmResetPassword.subtitle')}

\n
\n
\n history.push(loginURL)}\n >\n {t('auth.confirmResetPassword.back')}\n \n \n
\n
\n history.push(resetPasswordURL + '?email=' + email)}\n >\n {t('auth.confirmResetPassword.haveCode')}\n \n
\n {loading && (\n
\n \n
\n )}\n
\n
\n
\n )\n}\n","import React, { useState, useCallback } from 'react'\nimport { Auth } from 'aws-amplify'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\nimport { useHistory } from 'react-router-dom'\nimport { Form } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport { Loader, Button, AuthWrapper } from 'shared/components'\nimport { updateUser } from 'store/modules/authModule'\n\nimport { toast } from 'react-toastify'\nimport { loginURL } from 'lib/links'\nimport styles from '../auth.module.css'\nimport { verifySMS } from '../model'\nimport { deprecatedAuth } from '../utils'\n\nexport const MFA = connect(\n state => ({ user: state.authModule.user }),\n dispatch => ({\n updateUser: bindActionCreators(updateUser, dispatch)\n })\n)(props => {\n const history = useHistory()\n const { t } = useTranslation()\n const [code, setCode] = useState('')\n const [loading, setLoading] = useState(false)\n\n const submitCode = useCallback(async () => {\n try {\n setLoading(true)\n await verifySMS(props.user, code)\n const user = await Auth.currentAuthenticatedUser()\n\n if (user) {\n props.updateUser(user)\n await deprecatedAuth(user, history)\n }\n } catch (e) {\n setLoading(false)\n setCode('')\n toast.error(e.message)\n }\n }, [code])\n\n return (\n \n {\n e.preventDefault()\n submitCode()\n }}\n >\n

{t('auth.mfaVerification.title')}

\n

\n {t('auth.mfaVerification.subtitle', {\n phone: props.user?.challengeParam?.CODE_DELIVERY_DESTINATION\n ? props.user.challengeParam.CODE_DELIVERY_DESTINATION.substring(\n props.user.challengeParam.CODE_DELIVERY_DESTINATION.length - 4\n )\n : '####'\n })}\n

\n
\n \n {t('auth.mfaVerification.code')}\n setCode(e.target.value)}\n />\n \n {loading && (\n
\n \n
\n )}\n
\n history.push(loginURL)}\n >\n {t('auth.mfaVerification.cancel')}\n \n \n {t('auth.mfaVerification.submit')}\n \n
\n
\n \n
\n )\n})\n","import React, { useState, useEffect } from 'react'\nimport classNames from 'classnames'\nimport { Auth } from 'aws-amplify'\nimport { useHistory } from 'react-router'\nimport { Form } from 'react-bootstrap'\nimport { toast } from 'react-toastify'\nimport { useQueryClient } from 'react-query'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowRight } from '@fortawesome/free-solid-svg-icons'\nimport { AuthWrapper, Loader } from 'shared/components'\nimport { getMultiuserAccounts, getMultiuserAccountCredentials } from 'lib/api'\nimport { loginURL } from 'lib/links'\nimport { deprecatedAuth, signOut } from '../utils'\nimport { ENVIRONMENT } from '../../../lib/amplify'\n\nimport styles from '../auth.module.css'\n\nconst envUserPoolId = ENVIRONMENT.userPoolId\n\nexport const MultiUser = () => {\n const queryClient = useQueryClient()\n const history = useHistory()\n const [loading, setLoading] = useState(true)\n const [accounts, setAccounts] = useState([])\n\n useEffect(() => {\n setLoading(true)\n getMultiuserAccounts()\n .then(response => {\n setLoading(false)\n if (Array.isArray(response)) {\n setAccounts(response)\n } else {\n history.push(loginURL)\n }\n })\n .catch(error => {\n if (error && error.response?.status === 401) {\n toast.error(error.response.data?.error?.message ?? 'Error')\n signOut(queryClient, history)\n }\n })\n }, [])\n\n const onAccountClick = account => {\n setLoading(true)\n getMultiuserAccountCredentials({ account })\n .then(async response => {\n if (response.Success) {\n const tokens = await Auth.currentSession()\n const cognitoGroups = tokens.idToken.payload['cognito:groups']\n\n if (cognitoGroups.includes('us-east-1_xDRUmu8Qd_CleverPortal')) {\n localStorage.setItem('isUsingAlternateDomain', 'true')\n }\n const isFederatedUser = cognitoGroups.reduce(\n (acc, group) => acc | group.includes(`${envUserPoolId}_`),\n false\n )\n\n if (isFederatedUser) {\n localStorage.setItem('isFromFederatedMultiUser', 'true')\n }\n\n localStorage.setItem(\n 'multi_user_access_token',\n tokens.getAccessToken()?.jwtToken\n )\n const { Username, Password } = response.AuthenticationResult\n localStorage.removeItem('redirectTo')\n queryClient.resetQueries()\n const user = await Auth.signIn(Username, Password)\n await deprecatedAuth(user, history)\n window.localStorage.setItem('isLogged', true)\n } else {\n toast.error(response.Exception)\n setLoading(false)\n }\n })\n .catch(() => setLoading(false))\n }\n\n return (\n \n
\n

Welcome!

\n

\n It looks like you have a few different access roles! Which one would\n you like to view on CTB portal?\n

\n {loading && }\n {!loading &&\n accounts.map(account => (\n onAccountClick(account.account_id)}\n >\n
\n
\n {account.given_name} {account.family_name}\n
\n
\n {account.domain.description}\n
\n
\n \n
\n ))}\n \n \n )\n}\n","import React from 'react'\nimport { Form } from 'react-bootstrap'\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3'\nimport * as Yup from 'yup'\nimport { useFormik } from 'formik'\nimport { useHistory } from 'react-router-dom'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport queryString from 'query-string'\nimport { Button, Loader, AuthWrapper } from 'shared/components'\nimport { loginURL, resendEmailURL, confirmResetPasswordURL } from 'lib/links'\n\nimport styles from '../auth.module.css'\nimport { accountLookup } from '../model'\n\nconst isDev = process.env.NODE_ENV === 'development'\nconst validationSchema = Yup.object().shape({\n email: Yup.string().required('Required field')\n})\n\nexport const CheckEmail = () => {\n const history = useHistory()\n const { email: defaultEmail } = queryString.parse(location.search)\n const { t } = useTranslation()\n const { executeRecaptcha } = useGoogleReCaptcha()\n const formik = useFormik({\n initialValues: { email: defaultEmail || '' },\n validationSchema,\n onSubmit: async ({ email }, { setFieldError }) => {\n try {\n const data = await accountLookup({ account: email })\n const queryStringURL = `?email=${encodeURIComponent(email)}`\n if (data.show_change_password) {\n history.push(confirmResetPasswordURL + queryStringURL)\n } else if (data.show_resend) {\n history.push(resendEmailURL + queryStringURL)\n } else {\n setFieldError('email', data.message)\n }\n } catch (e) {\n toast.error(e.message)\n }\n }\n })\n\n return (\n \n
\n

{t('auth.checkEmail.title')}

\n

{t('auth.checkEmail.subtitle')}

\n
\n \n {t('auth.checkEmail.email')}\n \n {formik.errors.email && (\n \n {formik.errors.email}\n \n )}\n \n
\n history.push(loginURL)}\n >\n {t('auth.checkEmail.back')}\n \n \n isDev\n ? formik.submitForm()\n : executeRecaptcha('login_page').then(() => {\n formik.submitForm()\n })\n }\n >\n {t('auth.checkEmail.submitButton')}\n \n
\n {formik.isSubmitting && (\n
\n \n
\n )}\n
\n
\n
\n )\n}\n","import React, { useState, useCallback } from 'react'\nimport { useQuery } from 'react-query'\nimport { format } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport {\n PageWrapper,\n Button,\n FreshnessInformation,\n Loader,\n RangeDatePicker,\n Heading\n} from 'shared/components'\nimport { getDataDump, fetchFreshnessScheduleQuery } from 'lib/api'\nimport { useAuthContext } from 'features/auth'\nimport styles from './dump-management.module.css'\n\nexport const DumpManagement = () => {\n const { t, i18n } = useTranslation()\n const [date, setDate] = useState(null)\n const [isLoading, setIsLoading] = useState(false)\n const { isKea } = useAuthContext()\n const { assessmentPurpose } = useAuthContext()\n const { data: freshnessData, isLoading: freshnessLoading } = useQuery(\n fetchFreshnessScheduleQuery()\n )\n\n const submit = useCallback(async () => {\n setIsLoading(true)\n const getData = cache =>\n getDataDump({\n startdate: date && format(date.start, 'yyyy-MM-dd'),\n enddate: date && format(date.end, 'yyyy-MM-dd'),\n cache: cache,\n language: i18n.language,\n assessment_purpose: assessmentPurpose\n })\n .then(resp => {\n if (resp.errorMessage || resp.exception) {\n throw new Error()\n }\n if (resp.success) window.open(resp.download)\n })\n .catch(() => getData(true))\n getData()\n setIsLoading(false)\n }, [date, assessmentPurpose])\n\n return (\n \n {t('dataExportManagement.dataExport')}\n {freshnessLoading && }\n {freshnessData && (\n
\n
\n {t('dataExportManagement.subtitle')}{' '}\n {!isKea && t('dataExportManagement.subtitle2')}\n
\n {!isKea && (\n <>\n
\n {t('dataExportManagement.selectRange')}\n
\n\n \n \n )}\n
\n \n {t('dataExportManagement.download')}\n \n {!isKea && (\n {\n setDate(null)\n }}\n variant=\"outline-secondary\"\n big\n disabled={!date?.start && !date?.end}\n >\n {t('dataExportManagement.clear')}\n \n )}\n
\n\n \n {isLoading && (\n
\n \n
\n )}\n
\n )}\n
\n )\n}\n","import { useReducer, useEffect } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { managementOrganization } from 'lib/links'\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'setOptions':\n return {\n ...state,\n ...action.options\n }\n case 'setFromQuery': {\n const actionOptions = JSON.stringify(action.options)\n const stateOptions = JSON.stringify(state)\n if (actionOptions === stateOptions) return state\n else return action.options\n }\n default:\n return state\n }\n}\n\nexport const useOrganizationManagementReducer = query => {\n const history = useHistory()\n const [options, dispatch] = useReducer(reducer, query)\n // cycle safe\n useEffect(() => {\n dispatch({ type: 'setFromQuery', options: query })\n }, [query])\n // update query on state change\n useEffect(() => {\n if (options) {\n history.push(managementOrganization(options))\n }\n }, [options])\n return { options, dispatch }\n}\n","import React, { useMemo, useState, useCallback } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faBuildingColumns,\n faUsersRectangle,\n faGraduationCap\n} from '@fortawesome/free-solid-svg-icons'\nimport { debounce } from 'lodash'\n\nimport { StyledSelect, StyledControl, Button } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { EditStudentModal } from 'features/management/classroom/components'\n\nimport styles from './filters.module.css'\nimport { EditSchoolModal, EditClassroomModal } from '../index'\n\nexport const Filters = ({ options, dispatch, data, fetchDomain }) => {\n const { t } = useTranslation()\n const { isDistrictAdmin, user } = useAuthContext()\n const [schoolModal, setSchoolModal] = useState(false)\n const [classroomModal, setClassroomModal] = useState(\n options.action === 'add-new-classroom'\n )\n const [studentModal, setStudentModal] = useState(\n options.action === 'add-new-student' ? {} : null\n )\n\n const [search, setSearch] = useState(options.search ?? '')\n const debounceChangeSearch = useCallback(\n debounce(\n newSearch =>\n dispatch({\n type: 'setOptions',\n options: {\n search: newSearch?.trim()\n }\n }),\n 1000\n ),\n []\n )\n\n const tagOptions = useMemo(\n () => [\n { label: t('basicComponents.filters.allClassrooms'), value: null },\n ...(data?.filters\n ? data.filters.map(({ filter_tag, name }) => ({\n label: name,\n value: filter_tag\n }))\n : [])\n ],\n [data?.filters]\n )\n\n return (\n <>\n
\n {\n setSearch(e.target.value)\n debounceChangeSearch(e.target.value)\n }}\n />\n {tagOptions.length > 1 && (\n \n dispatch({\n type: 'setOptions',\n options: {\n tag: option.value\n }\n })\n }\n value={\n tagOptions.find(({ value }) => value === options.tag) ??\n tagOptions[0]\n }\n placeholder={t('orgManagement.table.selectTag')}\n />\n )}\n
\n
\n {isDistrictAdmin && user?.add_remove_edit_org_management && (\n \n )}\n {user?.add_remove_edit_org_management && (\n setClassroomModal(true)}\n data-cy=\"add-classroom\"\n >\n \n + {t('orgManagement.buttons.classroom')}\n \n )}\n {data && user?.can_add_students && (\n \n )}\n
\n {schoolModal && user?.add_remove_edit_org_management && (\n setSchoolModal(false)}\n />\n )}\n {classroomModal && user?.add_remove_edit_org_management && (\n setClassroomModal(false)}\n />\n )}\n {studentModal && (\n setStudentModal(false)}\n refetch={fetchDomain}\n />\n )}\n \n )\n}\n","import React, { useState, useEffect, useCallback, useMemo } from 'react'\nimport { useFormik } from 'formik'\nimport { useMutation } from 'react-query'\nimport { toast } from 'react-toastify'\nimport * as Yup from 'yup'\nimport { Form } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport { faBuildingColumns } from '@fortawesome/free-solid-svg-icons'\nimport { useAuthContext } from 'features/auth'\nimport { Button, Modal, StyledControl } from 'shared/components'\nimport {\n schoolCreateMutation,\n schoolEditMutation,\n schoolDeleteMutation\n} from 'lib/api'\n\nimport styles from './edit-school-modal.module.css'\n\nconst validationSchema = Yup.object().shape({\n schoolName: Yup.string().required('School Name is required field')\n})\n\nexport const EditSchoolModal = ({ data, onHide }) => {\n const isEdit = useMemo(() => typeof data === 'object', [data])\n const [confirmationDialog, setConfirmationDialog] = useState(null)\n const { t } = useTranslation()\n const { domain, user } = useAuthContext()\n const schoolCreate = useMutation(schoolCreateMutation())\n const schoolEdit = useMutation(schoolEditMutation())\n const schoolDelete = useMutation(schoolDeleteMutation())\n const formik = useFormik({\n initialValues: {\n schoolName: data?.name || ''\n },\n validateOnBlur: false,\n validateOnChange: false,\n validationSchema,\n onSubmit: ({ schoolName }) => {\n if (isEdit) {\n schoolEdit\n .mutateAsync({ name: schoolName.trim(), school_id: data.school_id })\n .then(resp => {\n if (resp.success) {\n toast.success(\n t('orgManagement.modals.school.changed', {\n name: schoolName.trim()\n })\n )\n domain.fetch()\n }\n })\n .catch(e => toast.error(e))\n .finally(onHide)\n } else {\n schoolCreate\n .mutateAsync({ name: schoolName.trim() })\n .then(resp => {\n if (resp.success) {\n toast.success(\n t('orgManagement.modals.school.created', {\n name: schoolName.trim()\n })\n )\n domain.fetch()\n }\n })\n .catch(e => toast.error(e))\n .finally(onHide)\n }\n }\n })\n useEffect(\n () =>\n formik.setSubmitting(\n schoolCreate.isLoading || schoolEdit.isLoading || schoolDelete.isLoading\n ),\n [schoolCreate.isLoading, schoolEdit.isLoading, schoolDelete.isLoading]\n )\n\n const onDelete = useCallback(\n () =>\n schoolDelete\n .mutateAsync({ school_id: data.school_id })\n .then(resp => {\n if (resp.success) {\n domain.fetch()\n toast.success(\n t('orgManagement.modals.school.deleted', {\n name: formik.values.schoolName.trim()\n })\n )\n }\n })\n .catch(e => toast.error(e))\n .finally(onHide),\n [data, formik.values.schoolName]\n )\n\n return (\n \n
\n \n \n {isEdit\n ? t('orgManagement.modals.edit')\n : t('orgManagement.modals.addNew')}{' '}\n {t('orgManagement.modals.school.school')}\n \n \n \n \n \n {t('orgManagement.modals.school.schoolName')}\n \n \n {formik.errors.schoolName && (\n \n {formik.errors.schoolName}\n \n )}\n \n \n {t('orgManagement.modals.school.addNewSchoolWaitText1')}\n
\n {t('orgManagement.modals.school.addNewSchoolWaitText2')}\n
\n
\n \n {isEdit && (\n \n setConfirmationDialog({\n text: t('orgManagement.modals.school.deleteConfirmation'),\n\n action: () => onDelete(),\n onCancel: () => formik.setSubmitting(false)\n })\n }\n >\n {t('orgManagement.modals.delete')}\n \n )}\n \n \n
\n \n )\n}\n","import React, { useState, useMemo, useEffect, useCallback } from 'react'\nimport { useFormik } from 'formik'\nimport * as Yup from 'yup'\nimport { useMutation } from 'react-query'\nimport { Form } from 'react-bootstrap'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { faUsersRectangle } from '@fortawesome/free-solid-svg-icons'\n\nimport { useAuthContext } from 'features/auth'\nimport { Button, Modal, StyledControl, RadioButton } from 'shared/components'\nimport {\n classroomCreateMutation,\n classroomEditMutation,\n classroomDeleteMutation\n} from 'lib/api'\n\nimport { useFilters as useClassroomFilters } from './use-classroom-filters'\nimport styles from './edit-classroom-modal.module.css'\nimport { ManagementSelect } from '../../../components/management-select/management-select'\n\nconst validationSchema = Yup.object().shape({\n classroomName: Yup.string().required('Classroom Name is required field'),\n school: Yup.string().required('School is required field')\n})\n\nexport const EditClassroomModal = ({ data, onHide }) => {\n const [confirmationDialog, setConfirmationDialog] = useState(null)\n const isEdit = useMemo(() => typeof data === 'object', [data])\n const { t } = useTranslation()\n const { domain, isSchoolAdmin, scope } = useAuthContext()\n const { tags, values } = useClassroomFilters(data)\n const classroomCreate = useMutation(classroomCreateMutation())\n const classroomEdit = useMutation(classroomEditMutation())\n const classroomDelete = useMutation(classroomDeleteMutation())\n\n const formik = useFormik({\n initialValues: {\n school: isSchoolAdmin ? scope?.school_id : data.school_id,\n classroomName: data?.name || ''\n },\n validateOnBlur: false,\n validateOnChange: false,\n validationSchema,\n onSubmit: ({ classroomName, school }) => {\n if (isEdit) {\n onHide()\n classroomEdit\n .mutateAsync({\n name: classroomName.trim(),\n classroom_id: data.classroom_id,\n filter_tags: Object.values(values).reduce(\n (s, i) => ({ ...s, [i]: true }),\n {}\n )\n })\n .then(resp => {\n if (resp.success) {\n toast.success(\n t('orgManagement.modals.classroom.changed', {\n name: classroomName.trim()\n })\n )\n domain.fetch()\n }\n })\n .catch(e => toast.error(e))\n .finally(onHide)\n } else {\n classroomCreate\n .mutateAsync({\n name: classroomName.trim(),\n school_id: school,\n filter_tags: Object.values(values).reduce(\n (s, i) => ({ ...s, [i]: true }),\n {}\n )\n })\n .then(resp => {\n if (resp.success) {\n toast.success(\n t('orgManagement.modals.classroom.created', {\n name: classroomName.trim()\n })\n )\n domain.fetch()\n }\n })\n .catch(e => toast.error(e))\n .finally(onHide)\n }\n }\n })\n useEffect(\n () =>\n formik.setSubmitting(\n classroomCreate.isLoading ||\n classroomEdit.isLoading ||\n classroomDelete.isLoading\n ),\n [\n classroomCreate.isLoading,\n classroomEdit.isLoading,\n classroomDelete.isLoading\n ]\n )\n const onDelete = useCallback(\n () =>\n classroomDelete\n .mutateAsync({ classroom_id: data.classroom_id })\n .then(resp => {\n if (resp.success) {\n domain.fetch()\n toast.success(\n t('orgManagement.modals.school.deleted', {\n name: formik.values.schoolName.trim()\n })\n )\n }\n })\n .catch(e => toast.error(e))\n .finally(onHide),\n [data, formik.values.schoolName]\n )\n\n return (\n \n
\n \n \n {isEdit\n ? t('orgManagement.modals.edit')\n : t('orgManagement.modals.addNew')}{' '}\n {t('orgManagement.modals.classroom.classroom')}\n \n \n \n
\n {!isEdit && !isSchoolAdmin && (\n \n \n {t('orgManagement.modals.classroom.school')}\n \n \n formik.setFieldValue('school', option.value)\n }\n isDisabled={formik.isSubmitting}\n />\n {formik.errors.school && (\n \n {formik.errors.school}\n \n )}\n \n )}\n \n \n {t('orgManagement.modals.classroom.classroomName')}\n \n \n {formik.errors.classroomName && (\n \n {formik.errors.classroomName}\n \n )}\n \n
\n\n {tags.map(tag => (\n \n \n {tag.title}\n \n
\n {tag.options.map(option => (\n {}}\n onClick={() => option.onClick(option.checked)}\n disabled={formik.isSubmitting}\n />\n ))}\n
\n
\n ))}\n\n \n {t('orgManagement.modals.classroom.addNewClassroomWaitText1')}\n
\n {t('orgManagement.modals.classroom.addNewClassroomWaitText2')}\n
\n
\n \n {isEdit && (\n \n setConfirmationDialog({\n text: t('orgManagement.modals.classroom.deleteConfirmation'),\n action: () => onDelete(),\n onCancel: () => formik.setSubmitting(false)\n })\n }\n >\n {t('orgManagement.modals.delete')}\n \n )}\n \n \n
\n \n )\n}\n","import { useState, useEffect, useContext } from 'react'\nimport { get } from 'lodash'\nimport { AuthContext } from 'features/auth'\n\nexport const useFilters = data => {\n const { domain } = useContext(AuthContext)\n const [tagValues, setTagValues] = useState({})\n const orgFilterTags = get(domain, 'data.organization_filter_tags', [])\n\n useEffect(() => {\n if (domain) {\n setTagValues({})\n }\n if (data && Array.isArray(data.filter_tags)) {\n setTagValues(\n orgFilterTags.reduce((s, i) => {\n const availableTags = i.available_filters.map(f => f.filter_tag_id)\n\n for (const tag of availableTags) {\n if (data.filter_tags.includes(tag)) {\n return { ...s, [i.filter_group_id]: tag }\n }\n }\n return s\n }, {})\n )\n }\n }, [data])\n\n return {\n values: tagValues,\n tags: orgFilterTags.map(tag => ({\n id: tag.filter_group_id,\n title: tag.filter_group_name,\n options: tag.available_filters.map(o => ({\n label: o.filter_name,\n value: o.filter_tag_id,\n checked: tagValues[tag.filter_group_id] === o.filter_tag_id,\n onClick: checked => {\n setTagValues({\n ...tagValues,\n [tag.filter_group_id]: !checked ? o.filter_tag_id : undefined\n })\n }\n }))\n }))\n }\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useAuthContext } from 'features/auth'\nimport ProgressBar from 'react-bootstrap/ProgressBar'\nimport { useQuery } from 'react-query'\nimport styles from './license-limit-tracker.module.css'\nimport { getLicenseInfoQuery } from '../../../../../lib/api'\n\nconst MAX_VALUE = 100\n\nexport const LicenseLimitTracker = () => {\n const { t } = useTranslation()\n const { partnership } = useAuthContext()\n const { data: licenseInfo } = useQuery(getLicenseInfoQuery())\n\n const { percent, message, contactMessage } = useMemo(() => {\n if (!licenseInfo?.count) return {}\n\n const message = t(\n licenseInfo?.type === 'Student'\n ? 'orgManagement.limitTracker.studentMessage'\n : 'orgManagement.limitTracker.classroomMessage',\n {\n count: licenseInfo.count,\n limit: licenseInfo.limit\n }\n )\n const contactMessage = t(\n partnership?.frog_street\n ? 'orgManagement.limitTracker.contactMessageFs'\n : 'orgManagement.limitTracker.contactMessage'\n )\n\n const percent = (licenseInfo?.count / licenseInfo?.limit) * 100\n return { percent, message, contactMessage }\n }, [licenseInfo, partnership, t])\n\n if (!percent) return <>\n\n return (\n
\n
\n {message}\n
\n
\n \n
\n {percent > MAX_VALUE && (\n
\n {contactMessage}\n
\n )}\n
\n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPencilAlt, faPlusCircle } from '@fortawesome/free-solid-svg-icons'\nimport moment from 'moment'\nimport classNames from 'classnames'\nimport { format } from 'date-fns'\n\nimport { unixToTimezone } from 'lib/dateHelpers'\nimport { TanStackTable, PrimaryLink, Button } from 'shared/components'\n\nimport { useAuthContext } from 'features/auth'\n\nimport styles from './tables.module.css'\nimport { EditStudentModal, EditParentModal } from '../../classroom/components'\n\nexport const StudentsTable = ({ row, fetchDomain }) => {\n const [parentModal, setParentModal] = useState(null)\n const [studentModal, setStudentModal] = useState(null)\n const { user } = useAuthContext()\n const { t, i18n } = useTranslation()\n const data = row.original.students\n\n const columns = useMemo(\n () => [\n {\n header: t('orgManagement.table.studentName'),\n accessorKey: 'full_name',\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n enableColumnFilter: true\n },\n {\n header: t('orgManagement.table.DOB'),\n accessorKey: 'birth_month',\n cell: ({ getValue }) =>\n getValue() ? moment(unixToTimezone(getValue())).format('MM/yy') : '-',\n meta: {\n sortingLabel: 'dates'\n }\n },\n {\n header: t('orgManagement.table.notes'),\n accessorFn: row =>\n row.attributes?.length ? row.attributes.join(', ') : undefined,\n cell: ({ getValue }) => getValue() || '-',\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortUndefined: 1\n },\n {\n header: t('orgManagement.table.parent'),\n accessorFn: row =>\n row.parents?.length\n ? row.parents\n .map(parent => `${parent.first_name} ${parent.last_name || ''}`)\n .join(', ')\n : undefined,\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortUndefined: 1,\n cell: ({ row }) => {\n const parents = row.original.parents\n const student = row.original\n return parents?.length ? (\n parents.map((parent, index) => (\n \n \n setParentModal({\n account_id: parent.account_id,\n student_id: student.student_id,\n isEdit: true\n })\n }\n >\n {parent.first_name} {parent.last_name || ''}\n \n
{parent.email}
\n {index === 0 && (\n
\n \n setParentModal({ student_id: student.student_id })\n }\n />\n
\n )}\n
\n ))\n ) : (\n setParentModal({ student_id: student.student_id })}\n data-cy=\"add-parent\"\n >\n {t('orgManagement.buttons.parent')}\n \n )\n }\n },\n {\n header: t('orgManagement.table.lastParentLogin'),\n accessorKey: 'last_assessed',\n cell: ({ getValue }) =>\n getValue() ? format(unixToTimezone(getValue()), 'MM/dd/yyyy') : '-',\n sortUndefined: 1,\n meta: {\n sortingLabel: 'dates'\n }\n },\n {\n accessorKey: 'edit',\n cell: ({ row }) =>\n user?.can_add_students && (\n \n setStudentModal({\n ...row.original,\n organization_flags: row.original.attributes\n })\n }\n />\n )\n }\n ],\n [i18n.language]\n )\n return (\n <>\n \n {parentModal && (\n setParentModal(false)}\n refetch={fetchDomain}\n />\n )}\n {studentModal && user?.can_add_students && (\n setStudentModal(false)}\n refetch={fetchDomain}\n />\n )}\n \n )\n}\n","import React, { useMemo, useState, useEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPencilAlt } from '@fortawesome/free-solid-svg-icons'\n\nimport { transformAge } from 'lib/helpers'\nimport { managementClassroom } from 'lib/links'\nimport { TanStackTable, PrimaryLink } from 'shared/components'\n\nimport { useAuthContext } from 'features/auth'\n\nimport styles from './tables.module.css'\nimport { StudentsTable } from './students-table'\nimport { EditSchoolModal, EditClassroomModal } from '../components'\n\nexport const SchoolTable = ({ data, fetchDomain }) => {\n const { t, i18n } = useTranslation()\n\n const [schoolModal, setSchoolModal] = useState(null)\n const [classroomModal, setClassroomModal] = useState(null)\n\n const { user } = useAuthContext()\n\n const columns = useMemo(\n () => [\n {\n header: t('orgManagement.table.className'),\n accessorKey: 'name',\n enableColumnFilter: true,\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n cell: ({ row, getValue }) => {\n // show students subtable\n useEffect(() => {\n if (\n (!row.getIsExpanded() && row.original.students) ||\n (row.getIsExpanded() && !row.original.students)\n ) {\n row.getToggleExpandedHandler()()\n }\n }, [row.original.students])\n return (\n \n {getValue()}\n \n )\n }\n },\n {\n header: t('orgManagement.table.teacherName'),\n accessorFn: row =>\n row.teachers?.length\n ? row.teachers\n .map(teacher =>\n `${teacher.first_name} ${teacher.last_name || ''}`.trim()\n )\n .join(', ')\n : undefined,\n sortUndefined: 1,\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n },\n cell: ({ row }) => {\n const [showTeachers, setShowTeachers] = useState(false)\n const teachers = row.original.teachers\n if (teachers?.length < 2 || showTeachers) {\n return (\n teachers\n .map(teacher =>\n `${teacher.first_name} ${teacher.last_name || ''}`.trim()\n )\n .join(', ') || '-'\n )\n }\n return (\n <>\n {`${teachers[0].first_name} ${teachers[0].last_name ||\n ''}`.trim()}\n {', '}\n setShowTeachers(true)}>\n {t('orgManagement.table.moreTeachers', {\n length: teachers.length - 1\n })}\n \n \n )\n }\n },\n {\n header: t('orgManagement.table.students'),\n accessorKey: 'student_count',\n cell: ({ getValue }) => {\n const student_count = getValue()\n return student_count >= 2\n ? student_count + ' ' + t('orgManagement.table.manyStudents')\n : student_count === 1\n ? t('orgManagement.table.oneStudent')\n : t('orgManagement.table.noStudents')\n }\n },\n {\n header: t('orgManagement.table.parents'),\n accessorKey: 'parent_count',\n cell: ({ getValue }) => {\n const parent_count = getValue()\n return parent_count >= 2\n ? parent_count + ' ' + t('orgManagement.table.manyFamilyAccounts')\n : parent_count === 1\n ? t('orgManagement.table.oneFamilyAccount')\n : t('orgManagement.table.noFamilyAccounts')\n }\n },\n {\n header: t('orgManagement.table.ageRange'),\n accessorKey: 'min_age',\n cell: ({ getValue, row }) => {\n const min_age = transformAge(getValue(), t)\n const max_age = transformAge(row.original.max_age, t)\n if (!min_age && !max_age) return '-'\n return `${min_age || 0} - ${max_age}`\n },\n sortUndefined: 1\n },\n {\n accessorKey: 'edit',\n cell: ({ row }) =>\n user?.add_remove_edit_org_management && (\n setClassroomModal(row.original)}\n />\n )\n }\n ],\n [i18n.language]\n )\n\n return (\n <>\n
\n
\n
{data.name}
\n {user?.add_remove_edit_org_management && (\n
setSchoolModal(data)} data-cy=\"remove-school\">\n \n
\n )}\n
\n ({\n ...classroom,\n school_id: data.school_id\n }))}\n getRowCanExpand={() => true}\n renderSubComponent={({ row }) =>\n row.original.students && (\n \n )\n }\n />\n
\n\n {schoolModal && (\n setSchoolModal(false)}\n />\n )}\n {classroomModal && (\n setClassroomModal(false)}\n />\n )}\n \n )\n}\n","import React, { useMemo } from 'react'\nimport queryString from 'query-string'\nimport { useLocation } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { cloneDeep } from 'lodash'\nimport { PageWrapper, Loader, Heading, NoData } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\n\nimport { useOrganizationManagementReducer } from './hooks/use-organization-management-reducer'\nimport { Filters, LicenseLimitTracker } from './components'\nimport { SchoolTable } from './tables/school-table'\n\nexport const OrganizationManagement = () => {\n const { t } = useTranslation()\n const { loading, domain, isDistrictAdmin } = useAuthContext()\n\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n const { options, dispatch } = useOrganizationManagementReducer(params)\n const schools = useMemo(() => {\n if (domain?.data?.schools && (options.search || options.tag)) {\n const search = options.search?.toLowerCase()\n const tag = options.tag\n return cloneDeep(domain.data.schools)\n .map(school => {\n let schoolMatched = false\n let onlySchool = false\n if (school.name.toLowerCase().indexOf(search) !== -1 && !tag) {\n onlySchool = true\n }\n\n school.classrooms = school.classrooms\n .map(classroom => {\n if (tag && !classroom.filter_tags.includes(tag)) {\n return undefined\n }\n let classroomMatched = false\n\n if (\n classroom.name.toLowerCase().indexOf(search) !== -1 ||\n classroom.filter_tags.includes(tag)\n ) {\n classroomMatched = true\n }\n\n const classroomStudents = domain.data.students\n .find(({ school_id }) => school_id === school.school_id)\n ?.classrooms.find(\n ({ classroom_id }) => classroom_id === classroom.classroom_id\n )?.students\n\n if (classroomStudents && search) {\n classroom.students = classroomStudents.filter(student => {\n if (\n (student.first_name + ' ' + student.last_name)\n .toLowerCase()\n .indexOf(search) === -1 ||\n search.length === 0\n ) {\n return false\n }\n classroomMatched = true\n return true\n })\n if (!classroom.students?.length) {\n classroomMatched = false\n }\n }\n if (search && !classroomStudents) {\n classroomMatched = false\n }\n if (onlySchool) {\n return classroom\n }\n\n if (classroomMatched) {\n schoolMatched = true\n return classroom\n }\n\n return undefined\n })\n .filter(Boolean)\n\n if (schoolMatched || onlySchool) {\n return school\n }\n\n return undefined\n })\n .filter(Boolean)\n }\n return domain?.data?.schools\n }, [domain, domain?.data?.schools, options.search, options.tag])\n\n return (\n \n {isDistrictAdmin && }\n {t('sidebar.orgManagement')}\n \n {loading && }\n {schools &&\n schools.map(school => (\n \n ))}\n {!loading && !schools?.length && }\n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useHistory } from 'react-router-dom'\n\nimport {\n Button,\n Loader,\n StyledSelect,\n Checkmark,\n PrimaryLink\n} from 'shared/components'\nimport { homeURL } from 'lib/links'\n\nimport styles from './school-year-selection.module.css'\n\nexport const SchoolYearSelection = ({\n options,\n dispatch,\n schoolYearsOptions,\n data,\n isLoading\n}) => {\n const { t } = useTranslation()\n const history = useHistory()\n return (\n
\n
{t('auth.settingUp.title')}
\n {schoolYearsOptions.length === 1 ? (\n
{schoolYearsOptions[0].label}
\n ) : (\n value === options.school_year_id\n )}\n options={schoolYearsOptions}\n onChange={option =>\n dispatch({\n type: 'setOptions',\n options: { school_year_id: option.value }\n })\n }\n />\n )}\n {(!data || isLoading) && (\n
\n \n
\n )}\n {data && (\n <>\n
\n
\n
\n \n {t('auth.settingUp.users')}\n
\n \n dispatch({ options: { step: 'users' }, type: 'setOptions' })\n }\n >\n {data.users.existing_file\n ? t('auth.settingUp.resubmit')\n : t('auth.settingUp.shareUserInfo')}\n \n
\n
\n
\n \n {t('auth.settingUp.students')}\n
\n \n dispatch({\n options: { step: 'students' },\n type: 'setOptions'\n })\n }\n >\n {data.students.existing_file\n ? t('auth.settingUp.resubmit')\n : t('auth.settingUp.shareStudentInfo')}\n \n
\n
\n
\n \n
\n {t('auth.settingUp.schedule')}\n
\n
\n {!data.schedule.existing_file && (\n \n dispatch({\n options: { step: 'schedule' },\n type: 'setOptions'\n })\n }\n >\n {t('auth.settingUp.sharedScheduleInfo')}\n \n )}\n
\n {data.schedule.existing_file && (\n
\n {t('auth.settingUp.alreadySharedSchedule')}\n \n support@cognitivetoybox.com\n \n
\n )}\n
\n history.push(homeURL)}\n >\n {!data.users.existing_file ||\n !data.students.existing_file ||\n !data.schedule.existing_file\n ? t('auth.settingUp.skipAndRemind')\n : t('auth.settingUp.confirm')}\n \n \n )}\n
\n )\n}\n","import React, { useMemo, useState, useCallback } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useMutation } from 'react-query'\nimport axios from 'axios'\nimport { toast } from 'react-toastify'\n\nimport {\n Button,\n NoData,\n Loader,\n FileDropzone,\n PrimaryLink\n} from 'shared/components'\n\nimport styles from './file-sharing.module.css'\n\nexport const FileSharing = ({\n options,\n dispatch,\n data,\n schoolYearsOptions,\n refetch\n}) => {\n const [file, setFile] = useState(null)\n const step = `${options.step}Step`\n const stepData = data?.[options.step]\n const { t } = useTranslation()\n const schoolYearName = useMemo(\n () =>\n schoolYearsOptions.find(({ value }) => value === options.school_year_id)\n ?.label ?? '',\n [schoolYearsOptions]\n )\n const useUploadFileMutation = useMutation({\n mutationKey: 'upload/setting-up',\n mutationFn: ({ url, formData }) => axios.post(url, formData)\n })\n const goNextStep = useCallback(() => {\n const completedSteps = [\n data.users.existing_file,\n data.students.existing_file,\n data.schedule.existing_file\n ]\n let step = null\n switch (options.step) {\n case 'users':\n step =\n (!completedSteps[1] && 'students') ||\n (!completedSteps[2] && 'schedule')\n break\n case 'students':\n step = !completedSteps[2] && 'schedule'\n break\n }\n dispatch({ type: 'setOptions', options: { step } })\n }, [data, options.step])\n\n return (\n
\n
\n

\n {t('auth.settingUp.titleWithName', {\n name: schoolYearName\n })}\n

\n \n dispatch({\n type: 'setOptions',\n options: {\n step: null\n }\n })\n }\n >\n {t('auth.settingUp.back')}\n \n
\n {!data && }\n {stepData ? (\n <>\n
\n
\n {t(`auth.settingUp.${options.step}`)}\n
\n window.open(stepData.template_link, '_blank')}\n >\n {t(`auth.settingUp.${step}.downloadTemplate`)}\n \n
\n
\n {t(`auth.settingUp.${step}.info`, { date: schoolYearName })}\n
\n setFile(newFile)}\n defaultFiles={stepData.existing_file}\n fileTypes={options.step !== 'schedule' && '.csv, .xls, .xlsx'}\n />\n {stepData.existing_file && (\n window.open(stepData.existing_file.link, '_blank')}\n >\n {t('auth.settingUp.download', {\n file: stepData.existing_file.name\n })}\n \n )}\n
{t(`auth.settingUp.${step}.note`)}
\n \n ) : (\n data && \n )}\n
\n \n {t('auth.settingUp.skip')}\n \n {\n const config = {\n ...stepData.upload_presigned_link_information.fields,\n key: stepData.upload_presigned_link_information.fields.key.replace(\n // eslint-disable-next-line no-template-curly-in-string\n '${filename}',\n file.name\n )\n }\n const formData = new FormData()\n formData.append('key', config.key)\n formData.append('AWSAccessKeyId', config.AWSAccessKeyId)\n formData.append('policy', config.policy)\n formData.append('signature', config.signature)\n formData.append(\n 'x-amz-security-token',\n config['x-amz-security-token']\n )\n formData.append('file', file)\n useUploadFileMutation\n .mutateAsync({\n url: stepData.upload_presigned_link_information.url,\n formData\n })\n .then(() => toast.success(t('auth.settingUp.success')))\n .catch(e => toast.error(e.message))\n .finally(() => {\n refetch()\n dispatch({\n type: 'setOptions',\n options: {\n step: null\n }\n })\n })\n }}\n >\n {t('auth.settingUp.submit')}\n \n
\n
\n )\n}\n","import { useReducer, useEffect } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { settingUp } from 'lib/links'\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'setOptions':\n return {\n ...state,\n ...action.options\n }\n case 'setFromQuery': {\n const actionOptions = JSON.stringify(action.options)\n const stateOptions = JSON.stringify(state)\n if (actionOptions === stateOptions) return state\n else return action.options\n }\n\n default:\n return state\n }\n}\n\nexport const useSettingUpReducer = query => {\n const history = useHistory()\n const [options, dispatch] = useReducer(reducer, query)\n // cycle safe\n useEffect(() => {\n dispatch({ type: 'setFromQuery', options: query })\n }, [query])\n // update query on state change\n useEffect(() => {\n if (options) {\n history.push(settingUp(options))\n }\n }, [options])\n return { options, dispatch }\n}\n","import React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useHistory, useLocation } from 'react-router-dom'\nimport { useQuery } from 'react-query'\nimport queryString from 'query-string'\nimport classNames from 'classnames'\n\nimport { fetchSchoolYearsQuery, fetchSchoolYearSetupQuery } from 'lib/api'\nimport { Loader, AuthWrapper, Checkmark } from 'shared/components'\nimport { homeURL } from 'lib/links'\n\nimport { SchoolYearSelection, FileSharing } from './components'\nimport { useSettingUpReducer } from './hooks/use-setting-up-reducer'\nimport styles from './setting-up.module.css'\n\nexport const SettingUp = () => {\n const location = useLocation()\n const query = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n const { options, dispatch } = useSettingUpReducer(query)\n\n const history = useHistory()\n const { t } = useTranslation()\n\n const { data: schoolYearsList, isLoading: schoolYearsLoading } = useQuery({\n ...fetchSchoolYearsQuery(),\n onSuccess: schoolYearsList => {\n if (!schoolYearsList || !schoolYearsList.school_years.length) {\n history.push(homeURL)\n return\n }\n dispatch({\n type: 'setOptions',\n options: {\n school_year_id: schoolYearsList.school_years[0].school_year_id\n }\n })\n }\n })\n const schoolYearsOptions = useMemo(\n () =>\n schoolYearsList\n ? schoolYearsList.school_years.map(year => ({\n label: year.school_year_name,\n value: year.school_year_id\n }))\n : [],\n [schoolYearsList]\n )\n\n const { data, isLoading, refetch } = useQuery({\n ...fetchSchoolYearSetupQuery({\n school_year_id: options.school_year_id\n }),\n enabled: !!options.school_year_id\n })\n\n const AuthWrapperSubtitle = () =>\n data && options.step ? (\n \n ) : (\n options.school_year_id && (\n <>\n {t('auth.settingUp.setup', {\n date:\n schoolYearsOptions.find(\n ({ value }) => value === options.school_year_id\n )?.label ?? ''\n })}\n \n )\n )\n\n return (\n }>\n {schoolYearsLoading && (\n
\n \n
{t('auth.settingUp.checking')}
\n
\n )}\n {schoolYearsList && !schoolYearsList.school_years.length && (\n
{t('auth.settingUp.redirect')}
\n )}\n {schoolYearsList &&\n !!schoolYearsList.school_years.length &&\n (!options.step ? (\n \n ) : (\n \n ))}\n
\n )\n}\n\nconst TimeLine = ({ step, dispatch, data }) => (\n
\n \n \n \n
\n)\n\nconst TimeLineItem = ({ step, label, dispatch, data }) => {\n const { t } = useTranslation()\n const complete = !!data[label].existing_file\n return (\n \n !complete && dispatch({ type: 'setOptions', options: { step: label } })\n }\n >\n
{t(`auth.settingUp.${label}`)}
\n \n
\n )\n}\n","import React, { useCallback } from 'react'\n\nimport { useTranslation } from 'react-i18next'\nimport { domainColors } from 'features/reports/site/helpers'\nimport classNames from 'classnames'\nimport styles from './kea-domains.module.css'\n\nexport const Domains = ({\n overallDomains,\n domains,\n isStudentView,\n displayReadinessLevel\n}) => {\n const { t } = useTranslation()\n const scrollToElement = useCallback(id => {\n const foundElement = document.getElementById(id)\n if (foundElement) {\n foundElement.scrollIntoView()\n }\n }, [])\n return (\n
\n {domains.map(domain => {\n const foundOverall =\n overallDomains[`${domain.alignment_id}:${domain.id}`]\n return (\n foundOverall && (\n \n isStudentView &&\n scrollToElement(domain.alignment_id + domain.id)\n }\n >\n
\n \n {domain.abbreviation}\n \n
\n
\n {t('keaReport.score')}:{' '}\n {foundOverall.objectives_completed\n ? `${foundOverall.questions_correct}/${foundOverall.total_questions}`\n : '-'}\n
\n
\n {displayReadinessLevel && (\n <>\n {t('keaReport.readiness')}:{' '}\n {foundOverall.readiness_level}\n \n )}\n
\n
\n \n {isStudentView\n ? t('keaReport.complete')\n : t('keaReport.studentsComplete')}\n :\n {' '}\n {isStudentView\n ? Math.round(\n (foundOverall.objectives_completed /\n (foundOverall.objectives_scheduled || 1)) *\n 100\n )\n : Math.round(\n (foundOverall.students_with_kea_completed /\n (foundOverall.total_students || 1)) *\n 100\n )}\n %\n
\n
\n )\n )\n })}\n \n )\n}\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport styles from './kea-overall-average-score.module.css'\n\nexport const KeaOverallAverageScore = ({\n scopeName,\n studentName,\n overallKeaData,\n isStudentView\n}) => {\n const { t } = useTranslation()\n\n if (isStudentView) {\n return (\n
\n
\n
\n {t('keaReport.overallScore')}:{' '}\n {overallKeaData.questions_correct}/{overallKeaData.total_questions}\n
\n
\n {t('keaReport.readiness')}: {overallKeaData.readiness_level}\n
\n
\n {t('keaReport.keaComplete')}:{' '}\n {Math.round(\n (overallKeaData.objectives_completed /\n (overallKeaData.objectives_scheduled || 1)) *\n 100\n )}\n %\n
\n
\n
\n )\n }\n\n return (\n
\n
\n
\n {t('keaReport.overall')}:{' '}\n {overallKeaData.objectives_completed\n ? `${overallKeaData.questions_correct}/${overallKeaData.total_questions}`\n : '-'}\n
\n
\n {t('keaReport.studentsComplete')}:{' '}\n {Math.round(\n (overallKeaData.students_with_kea_completed /\n (overallKeaData.total_students || 1)) *\n 100\n )}\n %\n
\n
\n
\n )\n}\n","import { format } from 'date-fns'\nimport React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PrimaryLink, TanStackTable } from 'shared/components'\n\nimport styles from './tables.module.css'\n\nexport const SchoolsTable = ({\n data,\n domains,\n filteredBy,\n dispatch,\n displayReadinessLevel\n}) => {\n const { t, i18n } = useTranslation()\n const columns = useMemo(\n () => [\n {\n id: 'school_name',\n accessorFn: row => row.school.name,\n header: t('keaReport.table.school'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setSchool',\n school: row.original.school.id\n })\n }\n >\n {getValue()}\n \n ),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n id: 'students_with_kea_completed',\n accessorFn: row =>\n row.overall_kea_data.students_with_kea_completed /\n (row.overall_kea_data.total_students || 1),\n cell: ({ row }) =>\n `${row.original.overall_kea_data.students_with_kea_completed} / ${row.original.overall_kea_data.total_students}`,\n header: t('keaReport.table.keasCompleted')\n },\n {\n id: 'total_questions',\n accessorFn: row =>\n row.overall_kea_data.total_questions /\n (row.overall_kea_data.total_questions || 1),\n header: t('keaReport.table.averageRawScore'),\n cell: ({ row }) =>\n `${row.original.overall_kea_data.questions_correct}/${row.original.overall_kea_data.total_questions}`,\n tooltip: t('keaReport.tooltip.averageRawScore')\n },\n ...domains.map(domain => ({\n id: domain.alignment_id + domain.id,\n header: domain.abbreviation,\n accessorFn: row =>\n row.domains[`${domain.alignment_id}:${domain.id}`]\n ?.objectives_completed\n ? row.domains[`${domain.alignment_id}:${domain.id}`]\n .total_questions /\n (row.domains[`${domain.alignment_id}:${domain.id}`]\n .questions_correct || 1)\n : undefined,\n cell: ({ row }) => {\n const foundOverall =\n row.original.domains[`${domain.alignment_id}:${domain.id}`]\n if (!foundOverall) return '-'\n return foundOverall.objectives_completed ? (\n
\n
\n {foundOverall.questions_correct}/{foundOverall.total_questions}\n
\n
{displayReadinessLevel && foundOverall.readiness_level}
\n
\n ) : (\n
-
\n )\n },\n sortUndefined: 1\n })),\n {\n id: 'last_assessed',\n header: t('keaReport.table.lastAssessed'),\n accessorFn: row =>\n row.last_assessed ? new Date(row.last_assessed) : undefined,\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? format(value, 'M/d/yyyy') : '-'\n },\n sortingFn: 'datetime',\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n }\n ],\n [i18n.language, domains, displayReadinessLevel]\n )\n return (\n \n )\n}\n","import { format } from 'date-fns'\nimport React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PrimaryLink, TanStackTable } from 'shared/components'\n\nimport styles from './tables.module.css'\n\nexport const ClassroomsTable = ({\n data,\n domains,\n filteredBy,\n dispatch,\n displayReadinessLevel\n}) => {\n const { t, i18n } = useTranslation()\n const columns = useMemo(\n () => [\n {\n id: 'classroom_name',\n accessorFn: row => row.classroom.name,\n header: t('keaReport.table.classroom'),\n cell: ({ getValue, row }) => (\n \n dispatch({\n type: 'setClassroom',\n classroom: row.original.classroom.id\n })\n }\n >\n {getValue()}\n \n ),\n sortingFn: 'alphanumeric',\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n id: 'students_with_kea_completed',\n accessorFn: row =>\n row.overall_kea_data.students_with_kea_completed /\n (row.overall_kea_data.total_students || 1),\n cell: ({ row }) =>\n `${row.original.overall_kea_data.students_with_kea_completed} / ${row.original.overall_kea_data.total_students}`,\n header: t('keaReport.table.keasCompleted')\n },\n {\n id: 'total_questions',\n accessorFn: row =>\n row.overall_kea_data.total_questions /\n (row.overall_kea_data.total_questions || 1),\n header: t('keaReport.table.averageRawScore'),\n cell: ({ row }) =>\n `${row.original.overall_kea_data.questions_correct}/${row.original.overall_kea_data.total_questions}`,\n tooltip: t('keaReport.tooltip.averageRawScore')\n },\n ...domains.map(domain => ({\n id: domain.alignment_id + domain.id,\n header: domain.abbreviation,\n accessorFn: row =>\n row.domains[`${domain.alignment_id}:${domain.id}`]\n ?.objectives_completed\n ? row.domains[`${domain.alignment_id}:${domain.id}`]\n .questions_correct /\n (row.domains[`${domain.alignment_id}:${domain.id}`]\n .total_questions || 1)\n : undefined,\n cell: ({ row }) => {\n const foundOverall =\n row.original.domains[`${domain.alignment_id}:${domain.id}`]\n if (!foundOverall) return '-'\n return foundOverall.objectives_completed ? (\n
\n
\n {foundOverall.questions_correct}/{foundOverall.total_questions}\n
\n
{displayReadinessLevel && foundOverall.readiness_level}
\n
\n ) : (\n
-
\n )\n },\n sortUndefined: 1\n })),\n {\n id: 'last_assessed',\n header: t('keaReport.table.lastAssessed'),\n accessorFn: row =>\n row.last_assessed ? new Date(row.last_assessed) : undefined,\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? format(value, 'M/d/yyyy') : '-'\n },\n sortingFn: 'datetime',\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n }\n ],\n [i18n.language, domains]\n )\n return (\n \n )\n}\n","import { format } from 'date-fns'\nimport React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PrimaryLink, TanStackTable } from 'shared/components'\n\nimport styles from './tables.module.css'\n\nexport const StudentsTable = ({\n data,\n domains,\n filteredBy,\n dispatch,\n displayReadinessLevel,\n readiness_level_sorting_order\n}) => {\n const { t, i18n } = useTranslation()\n const columns = useMemo(\n () => [\n {\n id: 'student_name',\n accessorFn: row => row.student.name,\n header: t('keaReport.table.student'),\n cell: ({ getValue, row }) => (\n {\n dispatch({\n type: 'setStudent',\n student: row.original.student.id\n })\n window.scrollTo(0, 0)\n }}\n >\n {getValue()}\n \n ),\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric'\n },\n {\n id: 'readiness_level',\n accessorFn: row =>\n readiness_level_sorting_order?.indexOf(\n row.overall_kea_data.readiness_level\n ),\n cell: ({ row }) => row.original.overall_kea_data.readiness_level,\n header: t('keaReport.table.readiness'),\n sortUndefined: 1\n },\n {\n id: 'total_questions',\n accessorFn: row =>\n row.overall_kea_data.total_questions /\n (row.overall_kea_data.total_questions || 1),\n header: t('keaReport.table.rawScore'),\n cell: ({ row }) =>\n `${row.original.overall_kea_data.questions_correct}/${row.original.overall_kea_data.total_questions}`\n },\n ...domains.map(domain => ({\n id: domain.alignment_id + domain.id,\n header: domain.abbreviation,\n accessorFn: row =>\n row.domains[`${domain.alignment_id}:${domain.id}`]\n ?.objectives_completed\n ? row.domains[`${domain.alignment_id}:${domain.id}`]\n .questions_correct /\n (row.domains[`${domain.alignment_id}:${domain.id}`]\n .total_questions || 1)\n : undefined,\n cell: ({ row }) => {\n const foundOverall =\n row.original.domains[`${domain.alignment_id}:${domain.id}`]\n if (!foundOverall) return '-'\n return foundOverall.objectives_completed ? (\n
\n
\n {foundOverall.questions_correct}/{foundOverall.total_questions}\n
\n
{displayReadinessLevel && foundOverall.readiness_level}
\n
\n ) : (\n
-
\n )\n },\n sortUndefined: 1\n })),\n {\n id: 'last_assessed',\n header: t('keaReport.table.lastAssessed'),\n accessorFn: row =>\n row.last_assessed ? new Date(row.last_assessed) : undefined,\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? format(value, 'M/d/yyyy') : '-'\n },\n sortingFn: 'datetime',\n meta: {\n sortingLabel: 'dates'\n },\n sortUndefined: 1\n },\n {\n id: 'student_notes',\n header: t('keaReport.table.notes'),\n accessorFn: row =>\n row.student_notes?.length ? row.student_notes.join(', ') : undefined,\n cell: ({ getValue }) => getValue() || '-',\n meta: {\n sortingLabel: 'alphabetic'\n },\n sortingFn: 'alphanumeric',\n sortUndefined: 1\n }\n ],\n [\n i18n.language,\n domains,\n displayReadinessLevel,\n readiness_level_sorting_order\n ]\n )\n return (\n \n )\n}\n","import React, { useCallback } from 'react'\nimport { Form } from 'react-bootstrap'\nimport { useTranslation } from 'react-i18next'\nimport { Checkmark, TanStackTable } from 'shared/components'\n\nimport styles from './tables.module.css'\n\nexport const ObjectivesTables = ({ data, domains, filteredBy, dispatch }) => {\n const { t, i18n } = useTranslation()\n const getColumns = useCallback(\n objective => [\n {\n id: 'success',\n accessorFn: row => row.success,\n cell: ({ getValue }) => \n },\n {\n id: 'subobjective',\n header: objective?.description,\n accessorFn: row => row.description,\n meta: {\n sortingLabel: 'alphabetic'\n }\n },\n {\n id: 'type',\n header: t('keaReport.table.type'),\n accessorFn: row => row.type,\n meta: {\n sortingLabel: 'alphabetic'\n }\n }\n ],\n [i18n.language]\n )\n\n return domains?.map((domain, index) => {\n const foundObjectives = data?.[`${domain.alignment_id}:${domain.id}`]\n return (\n
\n

{domain.description}

\n {foundObjectives?.map(\n (obj, objIndex) =>\n obj && (\n
\n \n {obj.note && (\n <>\n
{t('keaReport.table.observationalNote')}
\n \n \n )}\n
\n )\n )}\n
\n )\n })\n}\n","import React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useHistory, useLocation } from 'react-router-dom'\nimport { useMutation, useQuery } from 'react-query'\nimport queryString from 'query-string'\nimport { format } from 'date-fns'\nimport classNames from 'classnames'\n\nimport { Button, Loader, PageWrapper, PrintModal } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\nimport { homeReportURL, homeURL, keaReport } from 'lib/links'\nimport { fetchKeaReportMutation, fetchKeaReportQuery } from 'lib/api'\n\nimport { toast } from 'react-toastify'\nimport styles from './kea-report.module.css'\nimport {\n ClassroomsTable,\n Domains,\n KeaOverallAverageScore,\n ObjectivesTables,\n SchoolsTable,\n StudentsTable\n} from './components'\nimport { useReportsReducer } from '../hooks/use-reports-reducer'\n\nexport const KeaReport = () => {\n const location = useLocation()\n const params = useMemo(() => queryString.parse(location.search), [\n location.search\n ])\n\n const [printModal, setPrintModal] = useState(false)\n const history = useHistory()\n const { t, i18n } = useTranslation()\n const { scope, isKea, isTeacher, isSchoolAdmin } = useAuthContext()\n const { data, isFetching, isFetched, isLoading } = useQuery({\n ...fetchKeaReportQuery({\n organization: params.organization,\n school: params.school,\n classroom: params.classroom,\n student: params.student,\n language: i18n.language\n }),\n keepPreviousData: true\n })\n const { mutateAsync: getExcel } = useMutation(fetchKeaReportMutation())\n const { options, dispatch } = useReportsReducer(\n params,\n keaReport,\n data?.selection\n )\n\n const handleGetExcel = useCallback(\n () =>\n getExcel({\n file_format: 'xlsx',\n organization: params.organization,\n school: params.school,\n classroom: params.classroom,\n student: params.student,\n language: i18n.language\n })\n .then(resp => {\n if (!resp?.file_link) {\n throw new Error()\n }\n window.open(resp.file_link, '_blank')\n })\n .catch(() => toast.error(t('keaReport.error.excel'))),\n [i18n.language, params]\n )\n\n useEffect(() => {\n if (!isKea) {\n history.push(homeURL)\n }\n }, [isKea, history])\n\n // for Filter By\n const filteredBy = useMemo(\n () => ({\n organization: data?.selection.organization_name,\n school: data?.selection.school_name,\n classroom: data?.selection.classroom_name,\n student:\n data?.selection.given_name &&\n `${data?.selection.given_name} ${data?.selection.family_name || ''}`\n }),\n [data]\n )\n\n return (\n \n
\n \n Object.keys(options).length\n ? dispatch({ type: 'setBack' })\n : history.push(homeReportURL)\n }\n >\n {t('keaReport.back')}\n \n \n
\n
\n {t('keaReport.title', { scope: scope?.name })}\n
\n {data && (\n
\n {t('keaReport.lastUpdated')}:{' '}\n {format(new Date(data?.last_updated), 'M/d/yy hh:mm a')}\n
\n )}\n\n {!data && }\n {data && (\n \n {data && (\n <>\n
\n
\n
\n {data.selection.student_id\n ? t('keaReport.studentsKea', {\n name:\n data?.selection.given_name &&\n `${data?.selection.given_name} ${data?.selection\n .family_name || ''}`\n })\n : t('keaReport.scopeKea', {\n name:\n data?.selection.classroom_name ||\n data?.selection.school_name ||\n scope?.name\n })}\n
\n
\n \n \n
\n\n {data.selection.student_id ? (\n \n ) : data.selection.classroom_id || isTeacher ? (\n \n ) : data.selection.school_id || isSchoolAdmin ? (\n \n ) : (\n \n )}\n \n )}\n \n )}\n\n setPrintModal(false)}\n exportExcel\n handleExportExcel={handleGetExcel}\n />\n
\n )\n}\n","import React from 'react'\nimport { Redirect, Route } from 'react-router-dom'\nimport { AuthContainer } from './auth-container'\n\nexport const PrivateRoute = ({ component: Component, ...rest }) => (\n {\n localStorage.setItem(\n 'redirectTo',\n rest.location.pathname + rest.location.search\n )\n if (localStorage.getItem('isLogged') === 'true') {\n return (\n \n \n \n )\n }\n return \n }}\n />\n)\n","import React from 'react'\nimport { Route } from 'react-router-dom'\nimport { GoogleReCaptchaProvider } from 'react-google-recaptcha-v3'\n\nconst CaptchaProvider = ({ children }) =>\n process.env.NODE_ENV !== 'development' ? (\n \n {children}\n \n ) : (\n children\n )\n\nexport const AuthRoute = ({ component: Component, ...rest }) => (\n (\n \n \n \n )}\n />\n)\n","import { useState, useEffect } from 'react'\nimport { cloneDeep } from 'lodash'\nimport { useHistory } from 'react-router'\nimport { schedule } from 'lib/links'\n\nconst initialState = {\n checkbox: [],\n select: []\n}\n\nexport const useSettings = (data, query) => {\n const history = useHistory()\n const [settings, setSettings] = useState(initialState)\n\n useEffect(() => {\n if (data && data.filters) {\n const {\n configuration_settings: { categories, uncategorized }\n } = data.filters\n const newSettings = cloneDeep(initialState)\n const querySettings = Array.isArray(query.setting)\n ? query.setting\n : [query.setting].filter(Boolean)\n\n newSettings.select = categories.map(category => {\n const options = category.settings.map(setting => ({\n value: setting.setting_id,\n label: setting.name\n }))\n const optionValues = options.map(o => o.value)\n const selected =\n options.find(option =>\n querySettings.find(setting => setting === option.value)\n ) || options.find(option => !option.value)\n\n return {\n ...category,\n options,\n selected,\n set: option => {\n const queryWithoutCurrentSetting = querySettings.filter(\n q => !optionValues.includes(q)\n )\n history.push(\n schedule({\n ...query,\n setting: option.value\n ? [...queryWithoutCurrentSetting, option.value]\n : queryWithoutCurrentSetting\n })\n )\n }\n }\n })\n\n newSettings.checkbox = uncategorized.map(setting => {\n const checked = querySettings.includes(setting.setting_id)\n return {\n ...setting,\n checked,\n onClick: () =>\n history.push(\n schedule({\n ...query,\n setting: checked\n ? querySettings.filter(s => s !== setting.setting_id)\n : [...querySettings, setting.setting_id]\n })\n )\n }\n })\n\n setSettings(newSettings)\n }\n }, [data])\n\n return settings\n}\n","import React from 'react'\nimport { Select, Button } from 'shared/components'\nimport { faArrowLeft, faArrowRight } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport styles from './year-selector.module.css'\n\nexport const YearSelector = ({\n next,\n prev,\n hasNext,\n hasPrev,\n selected,\n options,\n set\n}) => {\n return (\n
\n \n
\n }\n
\n
\n \n {selectedObjective && (\n setSelectedObjective(null)}\n />\n )}\n
\n\n setWeekModal(null)} />\n
\n )\n}\n","import React from 'react'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { useLocation } from 'react-router-dom'\nimport queryString from 'query-string'\n\nimport { fetchScheduleQuery } from 'lib/api'\nimport { useAuthContext } from 'features/auth'\nimport {\n PageWrapper,\n Loader,\n Select,\n Button,\n NoData,\n Checkbox\n} from 'shared/components'\n\nimport { useFilters } from './hooks/use-filters'\nimport { useSettings } from './hooks/use-settings'\nimport { YearSelector } from './components/year-selector/year-selector'\nimport { ScheduleTable } from './components/table/schedule-table'\nimport styles from './schedule.module.css'\n\nexport const Schedule = () => {\n const { t, i18n } = useTranslation()\n const { isSchoolAdmin, isTeacher } = useAuthContext()\n const { student, ...query } = queryString.parse(useLocation().search)\n const { data, isLoading } = useQuery(\n fetchScheduleQuery({\n ...query,\n student_id: student,\n language: i18n.language\n })\n )\n\n const filters = useFilters(data, { student, ...query })\n const settings = useSettings(data, query)\n\n return (\n \n
\n {t('scheduleManagement.assessmentSchedule')}\n window.print()}\n >\n {t('scheduleManagement.modal.print')}\n \n
\n {isLoading && }\n {!data && !isLoading && }\n {data && (\n <>\n \n
\n {!isSchoolAdmin && !isTeacher && }\n {filters.classroom.selected.value && (\n }\n \n
\n ))}\n \n {!filters.student.selected.value && (\n
\n {settings.checkbox.map(setting => (\n \n ))}\n
\n )}\n
\n {filters.checkpoint.selected.value ? (\n \n ) : (\n filters.checkpoint.options.map(\n ch =>\n ch.value && (\n \n )\n )\n )}\n {filters.checkpoint.options?.length === 1 && }\n
\n \n )}\n
\n )\n}\n","import { useState, useEffect } from 'react'\nimport { useHistory } from 'react-router'\nimport { isEqual } from 'lodash'\nimport { useFilters as useDefaultFilters, defaultValues } from 'shared/hooks'\nimport { schedule } from 'lib/links'\n\nexport const useFilters = (data, query) => {\n const history = useHistory()\n const [options, setOptions] = useState({})\n const [year, setYear] = useState(null)\n const [yearOptions, setYearOptions] = useState([])\n const filters = useDefaultFilters(options)\n\n useEffect(() => {\n if (data && data.filters) {\n const {\n org,\n school_years,\n displayed_school_year,\n age_categories,\n default_age_category,\n current_checkpoint,\n student_names\n } = data.filters\n const newOptions = {}\n\n if (age_categories) {\n newOptions.ages = age_categories.map(age => ({\n label: age,\n value: age\n }))\n filters.age.set(\n (default_age_category\n ? newOptions.ages.find(age => age.value === default_age_category)\n : newOptions.ages?.[0]) || defaultValues.defaultAge\n )\n }\n if (org.school_options) {\n newOptions.schools = org.school_options.map(so => ({\n ...so,\n label: so.name,\n value: so.school_id\n }))\n filters.school.set(\n query.school\n ? newOptions.schools.find(s => s.value === query.school)\n : defaultValues.defaultSchool\n )\n }\n if (org.classroom_options) {\n newOptions.classrooms = org.classroom_options\n .filter(classroom =>\n filters.school.selected.value\n ? classroom.school_id === filters.school.selected.value\n : true\n )\n .map(co => ({\n ...co,\n label: co.name,\n value: co.classroom_id\n }))\n\n filters.classroom.set(\n query.classroom\n ? newOptions.classrooms.find(s => s.value === query.classroom)\n : defaultValues.defaultClassroom\n )\n }\n if (student_names) {\n newOptions.students = student_names.map(student => ({\n ...student,\n label: `${student.given_name} ${student.family_name || ''}`,\n value: student.student_id\n }))\n\n filters.student.set(\n query.student\n ? newOptions.students.find(s => s.value === query.student)\n : defaultValues.defaultStudent\n )\n }\n\n if (school_years) {\n const options = school_years.map(y => ({\n ...y,\n label: y.name,\n value: y.school_year_id\n }))\n setYearOptions(options)\n setYear(options.find(y => y.value === displayed_school_year))\n }\n\n if (query.schoolyear && yearOptions) {\n setYear(yearOptions.find(y => y.value === query.schoolyear))\n }\n\n if (data.schedule) {\n newOptions.checkpoints = [\n defaultValues.defaultCheckpoint,\n ...data.schedule.map(ch => ({\n ...ch,\n label: ch.name,\n value: ch.checkpoint_id\n }))\n ]\n\n if (\n filters.checkpoint.hasValue &&\n !isEqual(\n filters.checkpoint.selected.weeks,\n newOptions.checkpoints.find(\n ch => ch.value === filters.checkpoint.selected.value\n )?.week\n )\n ) {\n filters.checkpoint.set(\n newOptions.checkpoints.find(\n checkpoint =>\n checkpoint.checkpoint_id ===\n filters.checkpoint.selected.checkpoint_id\n ) ||\n newOptions.checkpoints.find(\n checkpoint => checkpoint.checkpoint_id === current_checkpoint\n ) ||\n newOptions.checkpoints[0]\n )\n }\n }\n setOptions(newOptions)\n }\n }, [\n data,\n filters.school.selected.value,\n filters.classroom.selected.value,\n filters.checkpoint.selected.value\n ])\n\n const currentYearIndex =\n year && yearOptions.length\n ? yearOptions.findIndex(i => i.value === year.value)\n : 0\n\n const changeYear = option =>\n history.push(schedule({ ...query, schoolyear: option.value }))\n\n return {\n ...filters,\n school: {\n ...filters.school,\n set: option =>\n history.push(\n schedule({\n school: option.value,\n schoolyear: year.value\n })\n )\n },\n classroom: {\n ...filters.classroom,\n set: option =>\n history.push(\n schedule({\n classroom: option.value,\n school: filters.school.selected.value,\n schoolyear: year.value\n })\n )\n },\n student: {\n ...filters.student,\n set: option =>\n history.push(\n schedule({\n student: option.value,\n classroom: filters.classroom.selected.value,\n school: filters.school.selected.value,\n schoolyear: year.value\n })\n )\n },\n year: {\n hasNext: currentYearIndex < yearOptions.length - 1,\n hasPrev: currentYearIndex > 0,\n next: () => changeYear(yearOptions[currentYearIndex + 1]),\n prev: () => changeYear(yearOptions[currentYearIndex - 1]),\n options: yearOptions,\n set: changeYear,\n selected: year\n }\n }\n}\n","import React from 'react'\nimport { useHistory } from 'react-router'\nimport { useTranslation } from 'react-i18next'\nimport { Button, Loader } from 'shared/components'\nimport { useArticles } from 'shared/hooks'\n\nimport styles from './article.module.css'\n\nexport const Article = ({ articleKey }) => {\n const { t } = useTranslation()\n const { data, isLoading } = useArticles({\n articleType: 'support',\n article: articleKey\n })\n const history = useHistory()\n\n if (isLoading) {\n return \n }\n\n return (\n
\n \n
\n

{data.title}

\n
\n
\n
\n )\n}\n","import React, { useState, useMemo, useRef, useCallback, useEffect } from 'react'\nimport { useHistory, useLocation, Link } from 'react-router-dom'\nimport { Form, InputGroup } from 'react-bootstrap'\nimport { toast } from 'react-toastify'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faSearch } from '@fortawesome/free-solid-svg-icons'\nimport { useClickOutside } from 'shared/hooks/use-click-outside'\nimport queryString from 'query-string'\nimport _ from 'lodash'\nimport { Loader, Button, Heading } from 'shared/components'\nimport { supportURL, support } from 'lib/links'\nimport { searchArticles } from 'lib/api'\n\nimport { useAuthContext } from 'features/auth'\nimport styles from './articles.module.css'\n\nconst title = {\n SCHOOL_ADMIN: 'School Admin Resources',\n TEACHER: 'Teacher Resources',\n PARENT: 'Family Resources'\n}\n\nexport const Articles = ({ data, isLoading }) => {\n const { t } = useTranslation()\n const history = useHistory()\n const {\n isKea,\n enable_assessment_purposes,\n assessmentPurpose\n } = useAuthContext()\n const location = useLocation()\n const userRole = data?.role\n const selectedRole =\n queryString.parse(location.search, {\n decode: false\n }).role ?? userRole\n\n const [search, setSearch] = useState('')\n const [dropdownOpen, setDropdownOpen] = useState(false)\n const [foundArticles, setFoundArticles] = useState(null)\n const [searchLoading, setSearchLoading] = useState(false)\n\n const ref = useRef(null)\n useClickOutside(ref, () => {\n if (dropdownOpen) {\n setDropdownOpen(false)\n }\n })\n\n const selectedCategory = useMemo(\n () =>\n data?.other_role_categories?.find(\n category => category.role === selectedRole\n )?.categories || data?.categories,\n [selectedRole, data]\n )\n\n const handleSearchingResult = useCallback(\n async search => {\n if (search) {\n try {\n setSearchLoading(true)\n const response = await searchArticles({\n query: search,\n role: selectedRole,\n assessment_purpose: assessmentPurpose\n })\n setFoundArticles(response)\n setDropdownOpen(true)\n } catch (e) {\n toast.error(e.message)\n } finally {\n setSearchLoading(false)\n }\n }\n },\n [selectedRole, assessmentPurpose]\n )\n\n const debounceSearching = useCallback(\n _.debounce(handleSearchingResult, 1000),\n []\n )\n\n useEffect(() => {\n handleSearchingResult(search)\n }, [selectedRole])\n\n if (isLoading) {\n return \n }\n\n return (\n
\n {selectedRole && selectedRole !== userRole && (\n history.push(supportURL)}\n purple\n >\n Back\n \n )}\n {t('support.title')}\n

{title[selectedRole]}

\n
\n
\n \n {\n setSearch(e.target.value)\n setFoundArticles(null)\n debounceSearching(e.target.value)\n }}\n onKeyPress={e => {\n if (e.key === 'Enter') {\n e.preventDefault()\n handleSearchingResult(search)\n }\n }}\n onFocus={() => search && setDropdownOpen(true)}\n />\n \n handleSearchingResult(search)}\n >\n \n \n \n \n
\n {dropdownOpen && foundArticles && (\n
\n {foundArticles.articles?.map(article => (\n \n {article.article_name}\n \n ))}\n {!foundArticles.articles.length && (\n {t('support.nothingFound')}\n )}\n
\n )}\n
\n {enable_assessment_purposes?.includes('KEA') &&\n enable_assessment_purposes?.includes('ECA') && (\n
\n {isKea ? t('support.kea') : t('support.eca')}\n
\n )}\n
\n {selectedCategory?.map(category => {\n const articles = category.articles?.map(article => {\n return (\n \n {article.title}\n \n )\n })\n return (\n
\n
\n {category.category_name}\n
\n
{articles}
\n
\n )\n })}\n
\n\n
\n {data?.other_role_categories?.map(role => (\n \n history.push(\n support({\n role: role.role\n })\n )\n }\n disabled={selectedRole === role.role}\n key={role.button_name}\n className={styles.button}\n >\n {role.button_name}\n \n ))}\n
\n
\n )\n}\n","/* eslint-disable no-unused-expressions */\nimport React, { useEffect } from 'react'\nimport { Switch, useLocation, Route, useHistory } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { useArticles } from 'shared/hooks'\nimport { PageWrapper, Loader } from 'shared/components'\nimport { homeURL, supportURL } from 'lib/links'\nimport { useAuthContext } from 'features/auth'\n\nimport { PrivateRoute } from 'features/auth/components/private-route'\nimport { Article } from './components/Article'\nimport { Articles } from './components/Articles'\n\nexport const SupportContainer = () => {\n const { t } = useTranslation()\n const { assessmentPurpose } = useAuthContext()\n const { data, isLoading } = useArticles({\n articleType: 'support',\n assessment_purpose: assessmentPurpose\n })\n const history = useHistory()\n const location = useLocation()\n const selectedArticle = location.pathname.split('/')?.pop()\n\n useEffect(() => {\n if (selectedArticle && selectedArticle !== 'support') {\n let article = null\n data?.categories?.forEach(c => {\n const foundArticle = c.articles?.find(a => a.key === selectedArticle)\n if (foundArticle) {\n article = foundArticle\n }\n })\n\n data?.other_role_categories?.forEach(role =>\n role.categories?.find(category => {\n const foundArticle = category.articles?.find(\n a => a.key === selectedArticle\n )\n if (foundArticle) {\n article = foundArticle\n }\n })\n )\n if (\n !isLoading &&\n (!article ||\n (article.assessment_purposes &&\n !article.assessment_purposes?.includes(assessmentPurpose)))\n ) {\n history.push(homeURL)\n }\n }\n }, [selectedArticle, data, assessmentPurpose])\n\n if (isLoading) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n \n \n \n {data?.categories?.map(category =>\n category.articles?.map(article => (\n \n
\n \n ))\n )}\n {data?.other_role_categories?.map(role =>\n role.categories?.map(category =>\n category.articles?.map(article => (\n \n
\n \n ))\n )\n )}\n \n
\n {t('support.contact')}{' '}\n \n support@cognitivetoybox.com\n {' '}\n {t('support.withOtherQuestions')}\n
\n \n )\n}\n","import React, { useEffect } from 'react'\nimport { withRouter } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from 'shared/components'\nimport * as svg2pdf from 'svg2pdf.js'\nimport * as JSPDF from 'jspdf-yworks'\nimport { connect } from 'react-redux'\n\nimport styles from './Export.module.css'\n\nconst Export = ({ exportData, history }) => {\n const { t } = useTranslation()\n const isDataExist = exportData && exportData.data.length\n\n useEffect(() => {\n if (!isDataExist) {\n history.push('/')\n }\n\n window.scrollTo(0, 0)\n })\n\n const saveAsPDF = () => {\n const pdf = new JSPDF('p', 'pt')\n const containers = Array.from(\n document.querySelectorAll('[data-id=\"container\"]')\n )\n const defaultScreenHeight = pdf.internal.pageSize.getHeight()\n const defaultScreenWidth = pdf.internal.pageSize.getWidth()\n const defaultOffset = exportData.customOffset ? exportData.customOffset : {}\n\n pdf.setFontSize(18)\n\n if (!containers.length) return\n\n containers.forEach((container, index) => {\n const title = container.querySelectorAll('[data-id=\"chart-title\"]')[0]\n const description = container.querySelectorAll(\n '[data-id=\"chart-description\"]'\n )[0]\n\n let offsetTop = defaultOffset.top || 140\n let offsetLeft = defaultOffset.left || 20\n let lastOffsetTop = 0\n\n const chart = container.querySelectorAll('[data-id=\"chart\"]')[0]\n\n if (!chart) return\n const svgElements = Array.from(chart.getElementsByTagName('svg'))\n\n if (!svgElements.length) return\n\n const descriptionElement = container.querySelectorAll(\n '[data-id=\"description\"]'\n )[0]\n\n pdf.fromHTML(title, 30, 15)\n pdf.fromHTML(description, 30, 40)\n pdf.fromHTML(descriptionElement, 30, 65)\n\n svgElements.forEach((svgElement, index) => {\n const { width, height } = svgElement.getBBox()\n\n if (width < 50) {\n return\n }\n\n if (width * 0.5 + offsetLeft > defaultScreenWidth) {\n offsetLeft = defaultOffset.left || 20\n offsetTop += lastOffsetTop\n lastOffsetTop = 0\n }\n if (height * 0.5 + offsetTop > defaultScreenHeight) {\n pdf.addPage()\n offsetTop = defaultOffset.top || 120\n }\n\n svg2pdf(svgElement, pdf, {\n scale: 0.5,\n xOffset: offsetLeft,\n yOffset: offsetTop\n })\n\n if (exportData.callbacks && exportData.callbacks.iterationCallback) {\n exportData.callbacks.iterationCallback(svgElement, pdf, {\n height,\n width,\n offsetLeft,\n offsetTop\n })\n }\n\n lastOffsetTop = height\n offsetLeft += width\n })\n\n if (index !== containers.length - 1) {\n pdf.addPage()\n }\n })\n pdf.save('Test.pdf')\n }\n\n if (!isDataExist) return null\n\n return (\n
\n
\n {!exportData.pdfDisabled && (\n \n )}\n\n {\n window.print()\n history.push('/')\n }}\n >\n {t('chart.print')}\n \n
\n {exportData.data.map((props, index) => (\n
\n \n
\n ))}\n
\n )\n}\n\nexport const ExportPage = connect(state => ({\n exportData: state.exportModule\n}))(withRouter(Export))\n","import React from 'react'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faDownload } from '@fortawesome/free-solid-svg-icons'\nimport { Loader, Button } from 'shared/components'\n\nimport { getProfileCertificatesQuery } from 'lib/api'\nimport { iconDict } from 'lib/helpers'\n\nimport styles from './certificate.module.css'\n\nexport const CertificateList = () => {\n const { t } = useTranslation()\n const { isLoading, data } = useQuery(getProfileCertificatesQuery())\n\n if (isLoading) {\n return \n }\n\n return (\n
\n {!!(\n data.certifications?.length || data.expired_certifications?.length\n ) && (\n
\n {t('profile.certifications')}\n
\n )}\n {data.certifications.map(certificate => (\n \n ))}\n {!!data.expired_certifications?.length && (\n <>\n
{t('profile.expired')}
\n {data.expired_certifications.map(certificate => (\n \n ))}\n \n )}\n
\n )\n}\n\nconst Certificate = ({ certificate }) => {\n const { t } = useTranslation()\n return (\n
\n \n
\n
{certificate.cert_name}
\n
\n {t('profile.dateEarned')} {certificate.award_date}\n
\n
\n {t('profile.dateExpired')} {certificate.expiration_date}\n
\n
\n window.open(certificate.presigned_url)}\n >\n \n \n
\n )\n}\n","import React, { useState } from 'react'\n\nimport { useFormik } from 'formik'\nimport { Form } from 'react-bootstrap'\nimport { toast } from 'react-toastify'\nimport { useMutation } from 'react-query'\nimport { useTranslation } from 'react-i18next'\n\nimport { Loader, Button } from 'shared/components'\nimport { getBrowserName } from 'lib/browserDetector'\nimport { accountEditMutation } from 'lib/api'\n\nimport styles from './profile.module.css'\n\nexport const ProfileForm = ({ given_name, family_name, account_id }) => {\n const { t } = useTranslation()\n\n const [loading, setLoading] = useState(false)\n const { mutateAsync: editAccount } = useMutation(accountEditMutation())\n\n const formik = useFormik({\n initialValues: {\n given_name,\n family_name\n },\n onSubmit: async values => {\n setLoading(true)\n try {\n const resp = await editAccount({\n given_name: values.given_name,\n family_name: values.family_name,\n account_id\n })\n if (resp) {\n formik.setValues({\n given_name: resp.given_name,\n family_name: resp.family_name\n })\n toast.success(t('profile.success.edit'))\n }\n } catch (e) {\n toast.error(e.response?.data?.error.message || t('profile.error.edit'))\n }\n setLoading(false)\n }\n })\n\n return (\n
\n

{t('profile.myAccountSettings')}

\n
\n {\n e.preventDefault()\n formik.handleSubmit()\n }}\n >\n \n {t('profile.firstName')}\n \n {formik.errors.given_name && (\n \n {formik.errors.given_name}\n \n )}\n \n \n {t('profile.lastName')}\n \n {formik.errors.last_name && (\n \n {formik.errors.last_name}\n \n )}\n
\n
\n \n
\n \n\n
\n {t('profile.youAreUsing')} {getBrowserName()}\n
\n \n {loading && (\n
\n \n
\n )}\n
\n
\n )\n}\n","/* eslint-disable */\nexport const getBrowserName = () => {\n const navUserAgent = navigator.userAgent\n let browserName = navigator.appName\n let browserVersion = '' + parseFloat(navigator.appVersion)\n const majorVersion = parseInt(navigator.appVersion, 10)\n let tempNameOffset, tempVersionOffset, tempVersion\n\n if ((tempVersionOffset = navUserAgent.indexOf('Opera')) != -1) {\n browserName = 'Opera'\n browserVersion = navUserAgent.substring(tempVersionOffset + 6)\n if ((tempVersionOffset = navUserAgent.indexOf('Version')) != -1) {\n browserVersion = navUserAgent.substring(tempVersionOffset + 8)\n }\n } else if ((tempVersionOffset = navUserAgent.indexOf('MSIE')) != -1) {\n browserName = 'Microsoft Internet Explorer'\n browserVersion = navUserAgent.substring(tempVersionOffset + 5)\n } else if ((tempVersionOffset = navUserAgent.indexOf('Chrome')) != -1) {\n browserName = 'Chrome'\n browserVersion = navUserAgent.substring(tempVersionOffset + 7)\n } else if ((tempVersionOffset = navUserAgent.indexOf('Safari')) != -1) {\n browserName = 'Safari'\n browserVersion = navUserAgent.substring(tempVersionOffset + 7)\n if ((tempVersionOffset = navUserAgent.indexOf('Version')) != -1) {\n browserVersion = navUserAgent.substring(tempVersionOffset + 8)\n }\n } else if ((tempVersionOffset = navUserAgent.indexOf('Firefox')) != -1) {\n browserName = 'Firefox'\n browserVersion = navUserAgent.substring(tempVersionOffset + 8)\n } else if (\n (tempNameOffset = navUserAgent.lastIndexOf(' ') + 1) <\n (tempVersionOffset = navUserAgent.lastIndexOf('/'))\n ) {\n browserName = navUserAgent.substring(tempNameOffset, tempVersionOffset)\n browserVersion = navUserAgent.substring(tempVersionOffset + 1)\n if (browserName.toLowerCase() == browserName.toUpperCase()) {\n browserName = navigator.appName\n }\n }\n\n // trim version\n if ((tempVersion = browserVersion.indexOf(';')) != -1) {\n browserVersion = browserVersion.substring(0, tempVersion)\n }\n if ((tempVersion = browserVersion.indexOf(' ')) != -1) {\n browserVersion = browserVersion.substring(0, tempVersion)\n }\n\n return `${browserName} ${browserVersion.split('.')[0]}`\n}\n","import React, { useCallback } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useMutation } from 'react-query'\nimport { toast } from 'react-toastify'\nimport { Form } from 'react-bootstrap'\nimport { useFormik } from 'formik'\n\nimport { Button, Modal, StyledPhoneInput } from 'shared/components'\nimport { accountEditMutation, accountVerifyMutation } from 'lib/api'\n\nimport styles from './profile.module.css'\n\nexport const MfaModal = ({\n data: {\n phone_number,\n phone_number_verified,\n account_id,\n isMultiUser,\n opened,\n mfa_enabled\n },\n refetch,\n onClose\n}) => {\n const { t, i18n } = useTranslation()\n const {\n mutateAsync: accountVerify,\n isLoading: accountVerifyLoading\n } = useMutation(accountVerifyMutation())\n const {\n mutateAsync: editAccount,\n isLoading: editAccountLoading\n } = useMutation(accountEditMutation())\n\n const formik = useFormik({\n initialValues: {\n phone_number,\n phone_number_verified,\n code: ''\n },\n onSubmit: (values, { setFieldValue }) => {\n editAccount({\n phone_number: values.phone_number,\n mfa_enabled: true,\n account_id\n })\n .then(() => {\n refetch()\n onClose(true, true)\n })\n .catch(e =>\n toast.error(\n e.response?.data?.error.message || t('profile.error.edit')\n )\n )\n }\n })\n\n const sendCode = useCallback(\n async phone_number => {\n try {\n const resp = await editAccount({\n phone_number,\n account_id\n })\n if (resp) {\n const verify = await accountVerify(\n isMultiUser\n ? { Token: localStorage.getItem('multi_user_access_token') }\n : undefined\n )\n if (verify) {\n toast.success(t('profile.success.code'))\n }\n }\n } catch (e) {\n toast.error(e.response?.data?.error.message || t('profile.error.code'))\n }\n },\n [editAccount, formik, i18n.language, account_id, isMultiUser]\n )\n const verifyPhone = useCallback(\n (phone_number, code) =>\n accountVerify({\n code,\n phone_number,\n ...(isMultiUser\n ? { Token: localStorage.getItem('multi_user_access_token') }\n : {})\n })\n .then(resp => {\n if (resp.success) {\n toast.success(t('profile.success.verified'))\n formik.setFieldValue('phone_number_verified', true)\n }\n })\n .catch(e =>\n toast.error(\n e.response?.data?.error.message || t('profile.error.verified')\n )\n ),\n [i18n.language, accountVerify, formik]\n )\n\n const handleClose = useCallback(() => {\n onClose(false)\n }, [onClose])\n\n return (\n \n
\n \n {t('profile.verifyMfa')}\n \n \n \n \n {t('profile.enterNumber')} (\n {formik.values.phone_number_verified\n ? t('profile.verified')\n : t('profile.unverified')}\n )\n \n
\n {\n formik.setFieldValue('phone_number', value)\n if (value !== phone_number) {\n formik.setFieldValue('phone_number_verified', false)\n } else if (phone_number_verified) {\n formik.setFieldValue('phone_number_verified', true)\n }\n }}\n />\n\n {!formik.values.phone_number_verified && (\n sendCode(formik.values.phone_number)}\n >\n {t('profile.sendCode')}\n \n )}\n
\n
\n\n {!formik.values.phone_number_verified && (\n \n {t('profile.enterCode')}\n
\n \n \n verifyPhone(formik.values.phone_number, formik.values.code)\n }\n >\n {t('profile.verify')}\n \n
\n
\n )}\n
\n \n \n \n {t('profile.save')}\n \n \n
\n
\n )\n}\n","import React, { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { Button, SwitchOptions } from 'shared/components'\nimport { formatPhoneNumber } from 'react-phone-number-input'\nimport { Form } from 'react-bootstrap'\nimport { accountEditMutation } from 'lib/api'\nimport { useMutation } from 'react-query'\nimport { toast } from 'react-toastify'\nimport { MfaModal } from './mfa-modal'\nimport styles from './profile.module.css'\n\nexport const ProfileMfa = ({\n account_id,\n phone_number,\n phone_number_verified,\n isMultiUser,\n mfa_enabled,\n refetch\n}) => {\n const [mfaEnabled, setMfaEnabled] = useState(mfa_enabled)\n const { t } = useTranslation()\n const [mfaModal, setMfaModal] = useState({\n opened: false,\n account_id,\n phone_number,\n phone_number_verified,\n isMultiUser\n })\n const {\n mutateAsync: editAccount,\n isLoading: editAccountLoading\n } = useMutation(accountEditMutation())\n\n return (\n
\n \n
\n
\n {t('profile.mfa')}\n
\n {\n setMfaEnabled(state)\n if (state) {\n setMfaModal({\n opened: true,\n account_id,\n phone_number,\n phone_number_verified,\n mfa_enabled,\n isMultiUser\n })\n } else {\n editAccount({\n account_id,\n mfa_enabled: false,\n remove_phone_number: true\n })\n .then(refetch)\n .catch(e =>\n toast.error(\n e.response?.data?.error.message || t('profile.error.edit')\n )\n )\n }\n }}\n />\n
\n
\n \n
{t('profile.mfaDescription')}
\n
\n\n {mfaEnabled && phone_number_verified && (\n \n
\n
\n
\n {t('profile.verifiedPhone')}\n
\n
{formatPhoneNumber(phone_number ?? '')}
\n
\n \n setMfaModal({\n opened: true,\n account_id,\n phone_number,\n phone_number_verified,\n isMultiUser,\n mfa_enabled\n })\n }\n >\n {t('profile.changePhoneNumber')}\n \n
\n
\n )}\n {mfaModal.opened && (\n {\n setMfaModal(prev => ({\n ...prev,\n opened: false\n }))\n setMfaEnabled(verified || phone_number_verified)\n if (skip) {\n return\n }\n if (mfa_enabled && (verified || phone_number_verified)) {\n return\n }\n setMfaEnabled(false)\n editAccount({\n account_id,\n mfa_enabled: false,\n remove_phone_number: true\n })\n .then(refetch)\n .catch(e =>\n toast.error(\n e.response?.data?.error.message || t('profile.error.edit')\n )\n )\n }}\n refetch={refetch}\n />\n )}\n
\n )\n}\n","import React from 'react'\nimport { PageWrapper, Loader } from 'shared/components'\nimport { useAuthContext } from 'features/auth'\n\nimport { CertificateList } from './features/certificate'\nimport { ProfileForm } from './components/profile-form'\nimport { ProfileMfa } from './components/profile-mfa'\n\nexport const Profile = () => {\n const { user, refetch } = useAuthContext()\n\n if (!user) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n
\n \n

\n
\n \n
\n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport { format, fromUnixTime } from 'date-fns'\nimport { useTranslation } from 'react-i18next'\nimport { Table, PrimaryLink } from 'shared/components'\nimport { getReport } from 'lib/api'\nimport styles from './report-table.module.css'\n\nconst statusDict = {\n IN_PROGRESS: 'In Progress'\n}\n\nexport const ReportTable = ({ data }) => {\n const { t, i18n } = useTranslation()\n\n const [loading, setLoading] = useState(false)\n\n const headers = useMemo(\n () => [\n { name: t('bulkReport.requestReport') },\n { name: t('bulkReport.dateRequested') },\n { name: t('bulkReport.status') }\n ],\n [i18n.language]\n )\n const values = useMemo(\n () =>\n data.map(report => {\n const requestReport = async request_id => {\n try {\n setLoading(true)\n const reportURL = await getReport({ request: request_id })\n if (reportURL.retrieval) {\n window.location.href = reportURL.retrieval\n } else {\n toast.error(reportURL.issue)\n }\n } catch (e) {\n toast.error(e.message)\n } finally {\n setLoading(false)\n }\n }\n\n return [\n report.report_name,\n format(fromUnixTime(report.request_timestamp), 'MM/dd/yyyy hh:mm'),\n report.status === 'COMPLETE' ? (\n requestReport(report.request_id)}\n >\n {t('bulkReport.downloadNow')}\n \n ) : (\n statusDict[report.status] || report.status\n )\n ]\n }),\n [data]\n )\n return (\n
\n \n \n )\n}\n","import React from 'react'\nimport { useQuery } from 'react-query'\nimport { useTranslation } from 'react-i18next'\nimport { PageWrapper, Loader, Heading } from 'shared/components'\nimport { getReportListQuery } from 'lib/api'\nimport { ReportTable } from './components/report-table/report-table'\nimport styles from './bulk-report.module.css'\n\nexport const BulkReport = () => {\n const { t } = useTranslation()\n const { data: reportList, isFetching: isReportListFetching } = useQuery(\n getReportListQuery()\n )\n\n return (\n \n {t('report.home.checkpointSummaryReports')}\n
\n {isReportListFetching ? : }\n
\n
\n )\n}\n","import React, { useEffect } from 'react'\nimport { useQuery, useQueryClient } from 'react-query'\nimport IdleTimer from 'react-idle-timer'\nimport { Route, Switch, useHistory } from 'react-router-dom'\nimport * as pages from 'pages'\nimport { PrivateRoute } from 'features/auth/components/private-route'\nimport { AuthRoute } from 'features/auth/components/auth-route'\nimport { signOut } from 'features/auth/utils'\nimport { ParentSelectorContainer } from 'features/reports/parent'\nimport { Schedule } from 'features/management/schedule'\nimport { SupportContainer } from 'features/support'\nimport { ExportPage } from 'features/export/Export'\nimport { Profile } from 'features/profile'\nimport { BulkReport } from 'features/reports/bulk/bulk-report'\nimport * as links from 'lib/links'\nimport { fetchAlertQuery } from 'lib/api'\nimport styles from 'app.module.css'\n\nconst onIdle = (queryClient, history) => {\n if (\n localStorage.isLogged === 'true' &&\n process.env.NODE_ENV !== 'development'\n ) {\n alert('You have been idle for 30 minutes and have been logged out.')\n signOut(queryClient, history)\n }\n}\n\nexport const App = () => {\n const { data } = useQuery(fetchAlertQuery())\n const queryClient = useQueryClient()\n const history = useHistory()\n\n useEffect(() => {\n const handleStorageEvent = event => {\n if (event.key === 'signout-event') {\n signOut(queryClient, history)\n localStorage.removeItem('signout-event')\n }\n }\n\n window.addEventListener('storage', handleStorageEvent)\n\n return () => {\n window.removeEventListener('storage', handleStorageEvent)\n }\n }, [])\n\n return (\n <>\n onIdle(queryClient, history)}\n timeout={1000 * 60 * 30}\n />\n {data && (\n \n )}\n \n {/*// TODO: REMOVE AFTER TESTS*/}\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n\n \n\n \n\n \n\n \n \n \n \n \n \n\n \n\n \n\n \n \n \n \n \n\n \n \n\n \n\n \n\n \n \n \n )\n}\n","import { createRoot } from 'react-dom/client'\nimport React from 'react'\nimport { ToastContainer, toast } from 'react-toastify'\nimport { BrowserRouter } from 'react-router-dom'\nimport { Provider } from 'react-redux'\nimport { QueryClient, QueryClientProvider } from 'react-query'\nimport * as Sentry from '@sentry/react'\nimport { Integrations } from '@sentry/tracing'\nimport configure from 'store/configure'\nimport './translations/i18next'\n\nimport { App } from './app'\nimport '@trendmicro/react-sidenav/dist/react-sidenav.css'\nimport 'react-toastify/dist/ReactToastify.css'\nimport 'react-datepicker/dist/react-datepicker.css'\nimport 'video-react/dist/video-react.css'\nimport 'react-tabs/style/react-tabs.css'\nimport 'swiper/swiper-bundle.min.css'\nimport 'swiper/swiper.min.css'\nimport './shared/styles/global.css'\nimport './shared/styles/reactSelect.css'\nimport './shared/styles/translations.css'\nimport './shared/styles/variables.css'\nimport './shared/styles/tabs.css'\n\nconst store = configure()\nexport const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n refetchOnWindowFocus: false,\n onError: error => {\n if (error === 'not authenticated') return\n if (error.response?.data?.error?.message) {\n toast.error(error.response.data.error.message)\n return\n }\n toast.error(error.message)\n }\n }\n }\n})\n\nconst Root = () => (\n \n \n \n \n \n \n \n \n)\n\nconst root = createRoot(document.getElementById('root'))\nroot.render()\n\nSentry.init({\n dsn:\n 'https://8ac9ac3704ef49c7933901ddee2067e0@o478281.ingest.sentry.io/5525720',\n integrations: [new Integrations.BrowserTracing()],\n environment:\n process.env.NODE_ENV === 'development' ? 'development' : 'production',\n\n // We recommend adjusting this value in production, or using tracesSampler\n // for finer control\n tracesSampleRate: 1.0\n})\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderOverlay\":\"loader_loaderOverlay__8Ie95\",\"loader\":\"loader_loader__3op_W\",\"ellipsis\":\"loader_ellipsis__3Hl3L\",\"ellipsis1\":\"loader_ellipsis1__1x3q0\",\"ellipsis2\":\"loader_ellipsis2__Dde7O\",\"ellipsis3\":\"loader_ellipsis3__TQRwX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkmarkIcon\":\"checkmark_checkmarkIcon__2AVAS\",\"checkmarkIconChecked\":\"checkmark_checkmarkIconChecked__3R3fT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"body\":\"print-modal_body__2wxMz\",\"printButton\":\"print-modal_printButton__MnwAi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hideableWrapper\":\"hideable_hideableWrapper__1v34O\",\"hideableButton\":\"hideable_hideableButton__2RarL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"translations\":\"language-selector_translations__3Cn0z\",\"selected\":\"language-selector_selected__3lPG8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"showPasswordIcon\":\"password-field_showPasswordIcon__1biQ7\",\"field\":\"password-field_field__1dMcc\",\"password\":\"password-field_password__1jW-P\",\"text\":\"password-field_text__3kAsV\",\"hiddenInput\":\"password-field_hiddenInput__f7XrM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"checkbox_checkbox__1TU_7\",\"disabled\":\"checkbox_disabled__16Sbc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"radioButton\":\"radio-button_radioButton__3kX2I\",\"disabled\":\"radio-button_disabled__1C09A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"scenariosTable\":\"scenarios-table_scenariosTable__1MtcJ\",\"success\":\"scenarios-table_success__1NlGc\"};","module.exports = __webpack_public_path__ + \"static/media/certified-adminTraining.4d5a6525.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"curriculumHeader\":\"curriculum-week_curriculumHeader__2BCct\",\"curriculumHeaderItem\":\"curriculum-week_curriculumHeaderItem__71SKg\",\"curriculumButtons\":\"curriculum-week_curriculumButtons__18r4m\",\"curriculumContainer\":\"curriculum-week_curriculumContainer__QgDPi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"users-sso-modal_modal__3a4HZ\",\"closeButton\":\"users-sso-modal_closeButton__S7Baz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"parent\":\"classroom-management-table_parent__2ujnZ\",\"editStudent\":\"classroom-management-table_editStudent__2qEnz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"classroomManagementHeader\":\"classroom-management_classroomManagementHeader__3AUx1\",\"buttonIcon\":\"classroom-management_buttonIcon__2aSNp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"license-limit-tracker_wrapper__3MKqj\",\"progressWrapper\":\"license-limit-tracker_progressWrapper__9I_R-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"scheduleGroups\":\"year-selector_scheduleGroups__1azIi\",\"scheduleGroup\":\"year-selector_scheduleGroup__1y8xf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"scheduleExamplesList\":\"objective-examples_scheduleExamplesList__1zU2r\",\"scheduleExamplesTitle\":\"objective-examples_scheduleExamplesTitle__1SopI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"report-table_wrapper__vQtVy\",\"button\":\"report-table_button__1NVMr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tableContainer\":\"tan-stack-table_tableContainer__3iwBR\",\"tanStackTable\":\"tan-stack-table_tanStackTable__3svPG\",\"withCursor\":\"tan-stack-table_withCursor__2tSnn\",\"filter\":\"tan-stack-table_filter__piDQ7\",\"css-g1d714-ValueContainer\":\"tan-stack-table_css-g1d714-ValueContainer__Xpope\",\"expandedRow\":\"tan-stack-table_expandedRow__24dSp\",\"tableTooltip\":\"tan-stack-table_tableTooltip__2lTbN\",\"error\":\"tan-stack-table_error__1_7tn\",\"filteredByContainer\":\"tan-stack-table_filteredByContainer__3SeRG\",\"filteredBy\":\"tan-stack-table_filteredBy__hDXeW\",\"filterValue\":\"tan-stack-table_filterValue__2iLyT\",\"filterValueCrossIcon\":\"tan-stack-table_filterValueCrossIcon__1YWHq\",\"settingTh\":\"tan-stack-table_settingTh__y0TUw\",\"settingIcon\":\"tan-stack-table_settingIcon__3hBn-\",\"tableSettings\":\"tan-stack-table_tableSettings__2ejnm\",\"columnSettings\":\"tan-stack-table_columnSettings__3wz7v\",\"headerTitle\":\"tan-stack-table_headerTitle__3gxdR\",\"columnFilter\":\"tan-stack-table_columnFilter__-N2AO\",\"settingItemIcon\":\"tan-stack-table_settingItemIcon__37A39\",\"settingItem\":\"tan-stack-table_settingItem__3jK6g\",\"sortingSelected\":\"tan-stack-table_sortingSelected__3e3A8\",\"minMaxFilters\":\"tan-stack-table_minMaxFilters__1zblD\",\"minMax\":\"tan-stack-table_minMax__2nUH4\",\"centered\":\"tan-stack-table_centered__3BabW\",\"sticky\":\"tan-stack-table_sticky__1PEs5\",\"striped\":\"tan-stack-table_striped__2qfwJ\",\"styled\":\"tan-stack-table_styled__2VXAc\",\"columnSelected\":\"tan-stack-table_columnSelected__Ssr7a\",\"blue\":\"tan-stack-table_blue__G8Cnk\",\"selectedHeaderIcon\":\"tan-stack-table_selectedHeaderIcon__3wZW6\",\"red\":\"tan-stack-table_red__1RkJq\",\"paginationWrapper\":\"tan-stack-table_paginationWrapper__1bIb6\",\"pagination\":\"tan-stack-table_pagination__2ymFz\",\"mobile\":\"tan-stack-table_mobile__oN4el\"};","import { useState, useEffect, useMemo } from 'react'\nimport { get, orderBy } from 'lodash'\nimport { useTranslation } from 'react-i18next'\n\nconst defaultSchool = { label: 'All Schools', value: null }\nconst defaultClassroom = { label: 'All Classrooms', value: null }\nconst defaultStudent = { label: 'All Students', value: null }\nconst defaultObjective = { label: 'All Objectives', value: null }\nconst defaultDomain = { label: 'All Domains', value: null }\nconst defaultAge = { label: 'All Ages', value: null }\nconst defaultCheckpoint = { label: 'All Checkpoints', value: null }\nconst defaultResult = { label: 'No result', value: null }\nconst defaultWeek = { label: 'This week', value: null }\nconst defaultTag = { label: 'All Classrooms', value: null }\nconst defaultType = { label: 'All Types', value: null }\nconst defaultStandard = { label: 'All Standards', value: null }\nconst defaultSchoolYear = { label: 'All School Years', value: null }\nconst defaultCheckpointView = {\n label: 'Include Games and Observations',\n value: null\n}\n\nexport const useFilters = (data, defaultValues) => {\n const { t, i18n } = useTranslation()\n\n const [selectedSchool, selectSchool] = useState(defaultSchool)\n const [selectedClassroom, selectClassroom] = useState(defaultClassroom)\n const [selectedStudent, selectStudent] = useState(defaultStudent)\n const [selectedObjective, selectObjective] = useState(defaultObjective)\n const [selectedDomain, selectDomain] = useState(defaultDomain)\n const [selectedAge, selectAge] = useState(defaultAge)\n const [selectedCheckpoint, selectCheckpoint] = useState(defaultCheckpoint)\n const [selectedResult, selectResult] = useState(defaultResult)\n const [selectedWeek, selectWeek] = useState(defaultWeek)\n const [selectedTag, selectTag] = useState(defaultTag)\n const [selectedType, selectType] = useState(\n get(defaultValues, 'defaultType', defaultType)\n )\n const [selectedSchoolYear, selectSchoolYear] = useState(defaultSchoolYear)\n const [selectedCheckpointView, selectCheckpointView] = useState(\n defaultCheckpointView\n )\n\n useEffect(() => {\n selectedSchool.value === null &&\n selectSchool({\n label: t('basicComponents.filters.allSchools'),\n value: null\n })\n selectedClassroom.value === null &&\n selectClassroom({\n label: t('basicComponents.filters.allClassrooms'),\n value: null\n })\n selectedStudent.value === null &&\n selectStudent({\n label: t('basicComponents.filters.allStudents'),\n value: null\n })\n selectedObjective.value === null &&\n selectObjective({\n label: t('basicComponents.filters.allObjectives'),\n value: null\n })\n selectedDomain.value === null &&\n selectDomain({\n label: t('basicComponents.filters.allDomains'),\n value: null\n })\n selectedAge.value === null &&\n selectAge({ label: t('basicComponents.filters.allAges'), value: null })\n selectedCheckpoint.value === null &&\n selectCheckpoint({\n label: t('basicComponents.filters.allCheckpoints'),\n value: null\n })\n selectedResult.value === null &&\n selectResult({\n label: t('basicComponents.filters.noResult'),\n value: null\n })\n selectedWeek.value === null &&\n selectWeek({ label: t('basicComponents.filters.thisWeek'), value: null })\n selectedTag.value === null &&\n selectTag({\n label: t('basicComponents.filters.allClassrooms'),\n value: null\n })\n selectedType.value === null &&\n selectType({\n label: t('basicComponents.filters.allTypes'),\n value: null\n })\n selectedStandard.value === null &&\n selectStandard({\n label: t('basicComponents.filters.allStandards'),\n value: null\n })\n selectedSchoolYear.value === null &&\n selectSchoolYear({\n label: t('basicComponents.filters.allSchoolYears'),\n value: null\n })\n selectedCheckpointView === null &&\n selectCheckpointView({\n label: t('basicComponents.filters.allViews'),\n value: null\n })\n }, [i18n.language])\n\n const standardIdentifier = 'standardFilter'\n const savedStandard = useMemo(\n () => JSON.parse(localStorage.getItem(standardIdentifier)),\n [localStorage]\n )\n const [selectedStandard, selectStandard] = useState(\n savedStandard || defaultStandard\n )\n useEffect(() => {\n localStorage.setItem(standardIdentifier, JSON.stringify(selectedStandard))\n }, [selectedStandard])\n\n return {\n school: {\n selected: selectedSchool,\n set: multipleSelect(selectSchool, defaultSchool),\n options: [defaultSchool, ...orderBy(get(data, 'schools', []), 'label')],\n hasValue: !!selectedSchool.value\n },\n classroom: {\n selected: selectedClassroom,\n set: multipleSelect(selectClassroom, defaultClassroom),\n options: [\n defaultClassroom,\n ...orderBy(get(data, 'classrooms', []), 'label')\n ],\n hasValue: !!selectedClassroom.value\n },\n student: {\n selected: selectedStudent,\n set: multipleSelect(selectStudent, defaultStudent),\n options: [defaultStudent, ...orderBy(get(data, 'students', []), 'label')],\n hasValue: !!selectedStudent.value\n },\n objective: {\n selected: selectedObjective,\n set: selectObjective,\n options: [\n defaultObjective,\n ...orderBy(get(data, 'objectives', []), 'label')\n ],\n hasValue: !!selectedObjective.value\n },\n domain: {\n selected: selectedDomain,\n set: selectDomain,\n options: [defaultDomain, ...orderBy(get(data, 'domains', []), 'label')],\n hasValue: !!selectedDomain.value\n },\n age: {\n selected: selectedAge,\n set: selectAge,\n options: get(data, 'ages', []),\n hasValue: !!selectedAge.value\n },\n checkpoint: {\n selected: selectedCheckpoint,\n set: multipleSelect(selectCheckpoint, defaultCheckpoint),\n options: get(data, 'checkpoints', []),\n hasValue: !!selectedCheckpoint.value\n },\n result: {\n selected: selectedResult,\n set: selectResult,\n options: get(data, 'results', []),\n default: defaultResult,\n hasValue: !!selectedResult.value\n },\n week: {\n selected: selectedWeek,\n set: selectWeek,\n options: get(data, 'weeks', []),\n hasValue: !!selectedWeek.value\n },\n tag: {\n selected: selectedTag,\n set: selectTag,\n options: [defaultTag, ...get(data, 'tags', [])],\n hasValue: !!selectedTag.value\n },\n type: {\n selected: selectedType,\n set: selectType,\n options: get(data, 'types', []),\n hasValue: !!selectedType.value\n },\n standard: {\n selected: selectedStandard,\n set: selectStandard,\n options: get(data, 'standards', [])\n },\n school_year: {\n selected: selectedSchoolYear,\n set: selectSchoolYear,\n options: get(data, 'school_years', [])\n },\n checkpoint_view: {\n selected: selectedCheckpointView,\n set: multipleSelect(selectCheckpointView, defaultCheckpointView),\n options: [defaultCheckpointView, ...get(data, 'checkpoint_view', [])]\n }\n }\n}\n\nconst multipleSelect = (setter, defaultValue) => option => {\n if (Array.isArray(option)) {\n setter(option.filter(({ value }) => !!value))\n } else if (!option) {\n setter(defaultValue)\n } else {\n setter(option)\n }\n}\nexport const defaultValues = {\n defaultSchool,\n defaultClassroom,\n defaultStudent,\n defaultObjective,\n defaultDomain,\n defaultAge,\n defaultCheckpoint,\n defaultResult,\n defaultWeek,\n defaultTag,\n defaultType,\n defaultStandard,\n defaultSchoolYear\n}\n\nexport const getFilter = field => item => ({\n value: item[field],\n label: item.name,\n is_default: item.is_default || item.current\n})\n","import { useMemo, useEffect, useState } from 'react'\nimport { useQueries, useQueryClient } from 'react-query'\nimport { useHistory } from 'react-router-dom'\nimport { get } from 'lodash'\nimport { toast } from 'react-toastify'\nimport { getAccountType } from 'lib/accountType'\nimport { signOut } from 'features/auth/utils'\nimport { getAccountInfoQuery, getDomainInfoQuery } from 'lib/api'\nimport { loginURL } from 'lib/links'\nimport { getCurrentUserQuery } from 'features/auth/model'\n\nexport const useAccountData = () => {\n const history = useHistory()\n const accountType = getAccountType()\n const queryClient = useQueryClient()\n const onError = error => {\n if (error === 'not authenticated') {\n history.push(loginURL)\n } else {\n toast.error(error)\n }\n }\n const [assessmentPurpose, setAssessmentPurpose] = useState(\n localStorage.getItem('assessmentPurpose')\n )\n\n const [accountInfo, userInfo, domainInfo] = accountType.isStateAdmin\n ? useQueries([\n { ...getAccountInfoQuery(), onError },\n { ...getCurrentUserQuery(), onError }\n ])\n : useQueries([\n { ...getAccountInfoQuery(), onError },\n { ...getCurrentUserQuery(), onError },\n { ...getDomainInfoQuery(), onError }\n ])\n\n // check if access token has expired\n useEffect(() => {\n if (userInfo.data && !Object.keys(userInfo.data).length) {\n signOut(queryClient, history)\n }\n }, [userInfo.data])\n\n // check if user doesn't have an access\n useEffect(() => {\n if (accountInfo.error && accountInfo.error.response?.status === 403) {\n toast.error(accountInfo.error.response.data?.error?.message ?? 'Error')\n signOut(queryClient, history)\n }\n }, [accountInfo])\n\n const account = useMemo(\n () =>\n accountInfo.data &&\n userInfo.data && { ...accountInfo.data, credentials: userInfo.data },\n [accountInfo.data, userInfo.data]\n )\n\n useEffect(() => {\n if (account?.default_assessment_purpose) {\n setAssessmentPurpose(prev => {\n localStorage.setItem(\n 'assessmentPurpose',\n prev || account.default_assessment_purpose\n )\n return prev || account.default_assessment_purpose\n })\n }\n }, [account?.user.account_id])\n\n useEffect(() => {\n if (window.fcWidget && account) {\n window.fcWidget.user.update({\n firstName: account.user.first_name,\n lastName: account.user.last_name,\n email: account.credentials?.attributes?.email,\n meta: {\n organization_id: account.scope.organization_id,\n organization_name: account.scope.name,\n role: account.user.role\n }\n })\n }\n }, [window.fcWidget, account])\n\n const isDrdp = account ? account.alignment_id?.indexOf('DRDP') !== -1 : false\n const role = account ? account?.user.role : null\n const defaultAge = get(account, 'scope.default_age_category', '3-5')\n\n return {\n ...account,\n ...accountType,\n refetch: accountInfo.refetch,\n isKea: assessmentPurpose === 'KEA',\n domain: {\n data: domainInfo?.data,\n fetch: domainInfo?.refetch\n },\n assessmentPurpose,\n setAssessmentPurpose: value => {\n setAssessmentPurpose(value)\n localStorage.setItem('assessmentPurpose', value)\n },\n defaultAge,\n isDrdp,\n isStateAdmin: role === 'STATE_ADMIN',\n isDistrictAdmin: role === 'DISTRICT_ADMIN',\n isSchoolAdmin: role === 'SCHOOL_ADMIN',\n isTeacher: role === 'TEACHER',\n isParent: role === 'PARENT',\n loading:\n accountInfo.isLoading || domainInfo?.isLoading || userInfo.isLoading\n }\n}\n","import { useState } from 'react'\n\n/**\n * @typedef {Object} TableOrder\n * @property {string} field - Name of the field for ordering\n * @property {boolean} order - Order direction: true - direct, false - reverse\n * @property {string} arrow - Order status symbol\n * @property {function} handleChange - function for changing the ordering\n */\n\n/**\n * Holds order logic\n */\n\nexport const arrowUp = '↑'\nexport const arrowDown = '↓'\n\nexport const useTableOrder = (defaultField = null) => {\n const [field, setField] = useState(defaultField)\n const [order, setOrder] = useState(true)\n\n const handleChange = newField => {\n if (newField === field) {\n setOrder(!order)\n } else {\n setField(newField)\n setOrder(true)\n }\n }\n\n const arrow = field ? (order ? arrowDown : arrowUp) : ''\n const reversedArrow = field ? (order ? arrowUp : arrowDown) : ''\n\n return { field, order, arrow, reversedArrow, handleChange }\n}\n","import { useQuery } from 'react-query'\nimport { getArticlesQuery } from 'lib/api'\n\nexport const useArticles = params => {\n const articles = useQuery(getArticlesQuery(params))\n return { ...articles }\n}\n","export { useFilters, defaultValues, getFilter } from './useFilters'\nexport { useAccountData } from './useAccountData'\nexport { useTableOrder } from './useTableOrder'\nexport { useTableSettings } from './useTableSettings'\nexport { useArticles } from './useArticles'\n","import { get } from 'lodash'\nimport platform from 'platform'\nimport { Auth } from 'aws-amplify'\nimport * as Yup from 'yup'\nimport { parentHomeURL, loginURL, multiuserURL, settingUpURL } from 'lib/links'\nimport { checkApi } from 'lib/api'\nimport { rolesEnum } from 'lib/roles'\nimport { toast } from 'react-toastify'\nimport { ENVIRONMENT } from '../../lib/amplify'\nexport const UPPERCASE_REGEX = /[A-Z]/\nexport const LOWERCASE_REGEX = /[a-z]/\nexport const SPEC_SYMB_REGEX = /[0-9_-]/\n\nexport const passwordValidationScheme = {\n password: Yup.string()\n .required('This field is required')\n .min(8, 'Password is too short - should be 8 chars minimum.')\n .matches(LOWERCASE_REGEX, \"You don't have lowercase letters\")\n .matches(UPPERCASE_REGEX, \"You don't have capital letters\")\n .matches(SPEC_SYMB_REGEX, \"You don't have special symbols or numbers\"),\n confirmPassword: Yup.string()\n .oneOf([Yup.ref('password'), null], \"Passwords don't match\")\n .required('This field is required')\n}\n\nexport function getPasswordValidationError(password) {\n return {\n upperCase: UPPERCASE_REGEX.test(password),\n lowerCase: LOWERCASE_REGEX.test(password),\n specialLetters: SPEC_SYMB_REGEX.test(password),\n longEnough: password.length > 7\n }\n}\n\nexport const deprecatedAuth = async (response, history, redirectToParam) => {\n const roles = {\n DISTRICT_ADMIN: 'custom:organizationID',\n SCHOOL_ADMIN: 'custom:schoolID',\n TEACHER: 'custom:classroomID',\n PARENT: ''\n }\n const attributes =\n response.attributes || get(response, 'challengeParam.userAttributes', {})\n const role =\n attributes['custom:role'] ||\n get(response, 'signInUserSession.idToken.payload', {})['custom:role'] ||\n response.storage.role\n const isMultiUser = role === rolesEnum.MULTIUSER\n\n const isLogged = role.length > 0\n const organizationID = response.signInUserSession.idToken.payload[roles[role]]\n\n localStorage.setItem('isLogged', isMultiUser ? false : isLogged)\n localStorage.setItem('organizationID', organizationID)\n localStorage.setItem('role', role)\n\n try {\n const checkResp = await checkApi({ operating_system: platform.os.family })\n if (checkResp.errorMessage) throw new Error()\n } catch (error) {\n toast.error(error.response.data?.error?.message ?? 'Error')\n signOut(undefined, history)\n }\n const redirectTo = isMultiUser\n ? multiuserURL\n : redirectToParam || localStorage.getItem('redirectTo')\n if (redirectTo) {\n localStorage.removeItem('redirectTo')\n history.push(redirectTo)\n return\n }\n\n // TODO: remove custom redirect path\n const redirectPath = role === 'PARENT' ? parentHomeURL : settingUpURL\n\n window.scrollTo(0, 0)\n history.push(redirectPath)\n}\n\nconst commonSignOutFlow = queryClient => {\n localStorage.removeItem('redirectTo')\n localStorage.removeItem('isUsingAlternateDomain')\n localStorage.removeItem('isFromFederatedMultiUser')\n localStorage.removeItem('assessmentPurpose')\n localStorage.setItem('signout-event', Date.now().toString())\n if (queryClient) {\n queryClient.resetQueries()\n }\n}\n\nexport const signOut = (queryClient, history) => {\n Auth.currentAuthenticatedUser()\n .then(user => {\n const cognitoGroups =\n user.signInUserSession.idToken.payload['cognito:groups']\n const isUsingAlternateDomain =\n localStorage.getItem('isUsingAlternateDomain') === 'true'\n const isFromFederatedMultiUser =\n localStorage.getItem('isFromFederatedMultiUser') === 'true'\n\n Auth.signOut()\n .then(() => {\n commonSignOutFlow(queryClient)\n /**\n * Clever Portal launch link is a new Cognito Provider since its a new Clever App with different Client ID and Secret.\n * It also uses different redirect URIs since they do not support two production apps with the same one.\n * Therefore, since the user logged in using an alternative url (in this case the cognito-generated domain), we need to sign out using the same domain.\n * We will explicitly call its logout page.\n * Disclaimer: all other SSO providers flows will use ctb-auth.cognitivetoybox.com domain (including Clever's app and Clever's Portal button), so they do not need any special treatment.\n */\n\n if (\n ENVIRONMENT.apiName === 'MAIN' &&\n (isUsingAlternateDomain ||\n cognitoGroups.includes('us-east-1_xDRUmu8Qd_CleverPortal'))\n ) {\n window.location.replace(\n `https://formativelearningassessment.auth.us-east-1.amazoncognito.com/logout?client_id=${ENVIRONMENT.webPortalClientId}&logout_uri=${window.location.origin}${loginURL}`\n )\n } else if (isFromFederatedMultiUser && ENVIRONMENT.domain) {\n window.location.replace(\n `https://${ENVIRONMENT.domain}/logout?client_id=${ENVIRONMENT.webPortalClientId}&logout_uri=${window.location.origin}${loginURL}`\n )\n }\n })\n .catch(() => history.push(loginURL))\n })\n .catch(() => history.push(loginURL))\n}\n\nexport const checkPhoneSettings = user => {\n return user.attributes\n ? !user.attributes['custom:SMSOptOut'] ||\n user.attributes['custom:SMSOptOut'] === '0'\n : false\n}\n\nexport const errorMessages = {\n 'User does not exist.':\n 'User not found. Make sure you enter your email address all in lowercase letters and try again.',\n 'User password cannot be reset in the current state.':\n 'You have not set up your account yet. Check your email inbox for an email from support@cognitivetoybox.com for a welcome email with your username and temporary password that you can use to set up your account for the first time'\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"domain-content_wrapper__2cjAp\",\"title\":\"domain-content_title__mAcwU\",\"titleCounter\":\"domain-content_titleCounter__1O-0S\",\"performance\":\"domain-content_performance__3JqXk\",\"subtitle\":\"domain-content_subtitle__3kj0Y\",\"subtitleContent\":\"domain-content_subtitleContent__qI5JL\",\"areas\":\"domain-content_areas__37lWc\",\"areaBorder\":\"domain-content_areaBorder__3QlAV\",\"areaItem\":\"domain-content_areaItem__1RKYA\",\"half\":\"domain-content_half__UAuur\",\"areaItemTitle\":\"domain-content_areaItemTitle__2bZg7\",\"areaItemContent\":\"domain-content_areaItemContent__1Lr57\",\"domainName\":\"domain-content_domainName__27fOi\",\"areaItemCaption\":\"domain-content_areaItemCaption__2CpFF\",\"hideButton\":\"domain-content_hideButton__2xycW\",\"printableText\":\"domain-content_printableText__1pHp_\",\"hideable\":\"domain-content_hideable__1Ru1y\",\"selectHidden\":\"domain-content_selectHidden__3yCmm\"};","import React from 'react'\n\nexport const Advanced_Reporting = () => {\n return (\n \n )\n}\n","import queryString from 'query-string'\nimport { pickBy } from 'lodash'\n\n// Auth\nexport const loginURL = '/login'\nexport const setUpPasswordURL = '/setup-password'\nexport const resendEmailURL = '/resend-email'\nexport const resetPasswordURL = '/reset-password'\nexport const confirmResetPasswordURL = '/reset-password-confirm'\nexport const checkEmailURL = '/check-email'\nexport const setUpMFAURL = '/setup-phone'\nexport const verificationURL = '/verification'\nexport const multiuserURL = '/multiuser'\n\nexport const profileURL = '/profile'\n\n// Home\nexport const settingUpURL = '/setting-up'\nexport const homeURL = '/'\nexport const parentHomeURL = '/dashboard/parent'\n\n// Curriculum\nexport const curriculumURL = '/curriculum'\n\n// Reports\nexport const homeReportURL = '/reports'\nexport const siteReportURL = '/reports/site'\nexport const drdpReportURL = '/reports/drdp'\nexport const objectiveReportURL = '/reports/objective'\nexport const parentReportURL = '/reports/parent'\nexport const checkpointReportURL = '/reports/checkpoint'\nexport const familyEngagementReportURL = '/reports/family-engagement'\nexport const bulkReportURL = '/reports/bulk'\nexport const monitoringReportURL = '/reports/monitoring'\nexport const certificationStatusReportURL = '/reports/certification-status'\nexport const keaReportURL = '/reports/kea'\n\n// Management\nexport const managementOrganizationURL = '/management/organization'\nexport const managementClassroomURL = '/management/classroom'\nexport const managementUsersURL = '/management/users'\nexport const managementScheduleURL = '/management/schedule'\n\nexport const managementDumpURL = '/management/dataexport'\n\nexport const trainingURL = '/training'\nexport const supportURL = '/support'\n\nconst applyParams = (url, params) =>\n url + '?' + queryString.stringify(pickBy(params))\n\nexport const login = params => applyParams(loginURL, params)\nexport const checkEmail = params => applyParams(checkEmailURL, params)\nexport const settingUp = params => applyParams(settingUpURL, params)\nexport const siteReport = params => applyParams(siteReportURL, params)\nexport const schedule = params => applyParams(managementScheduleURL, params)\nexport const checkpointReport = params =>\n applyParams(checkpointReportURL, params)\nexport const drdpReport = params => applyParams(drdpReportURL, params)\nexport const objectiveReport = params => applyParams(objectiveReportURL, params)\nexport const parentReport = params => applyParams(parentReportURL, params)\nexport const familyEngagementReport = params =>\n applyParams(familyEngagementReportURL, params)\nexport const keaReport = params => applyParams(keaReportURL, params)\nexport const managementClassroom = params =>\n applyParams(managementClassroomURL, params)\nexport const support = params => applyParams(supportURL, params)\nexport const monitoringReport = params =>\n applyParams(monitoringReportURL, params)\nexport const curriculum = params => applyParams(curriculumURL, params)\nexport const managementOrganization = params =>\n applyParams(managementOrganizationURL, params)\nexport const managementUsers = params => applyParams(managementUsersURL, params)\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Assessment_Games = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Cognitive_Toybox_At_Home = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Getting_Started = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Introduction = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\n\nexport const Introduction_Lite = () => {\n return (\n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Introduction_To_Reports = () => (\n <>\n \n \n \n)\n","import React from 'react'\n\nexport const Managing_Teacher_Accounts = () => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const Monitoring_Assessment_Collection = () => {\n return (\n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\nexport const Observations = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\n\nexport const Parent_Resources = () => {\n return (\n \n

Cognitive ToyBox at Home for Parents

\n

\n {' '}\n Learn how to play weekly game-based assessment and access daily\n recommended activities using Cognitive ToyBox!\n

\n
\n

Getting Started!

\n

Learn how to set up your account for the first time.

\n \n
\n

How to Access the CTB Parent Portal

\n

\n Learn more about the CTB Parent Portal and how to see messages from your\n teacher and daily recommended activities personalized for your child.{' '}\n

\n \n
\n

How to play CTB Game-Based Assessments

\n

\n Learn how to play weekly game-based assessments that are automatically\n shared with your child’s teacher!\n

\n

\n \n Note: Game-based assessments may not be available at home. Please\n check with your child’s teacher to see if you have access to them.\n \n

\n \n \n )\n}\n","import React from 'react'\n\nexport const Program_Outcomes_Reporting = () => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const Student_And_Organization_Management = () => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const Advanced_Reporting_FS = () => {\n return (\n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Assessment_Games_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Cognitive_Toybox_At_Home_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Getting_Started_Admins_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Getting_Started_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Introduction_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Introduction_To_Reports_FS = () => (\n <>\n \n \n \n)\n","import React from 'react'\n\nexport const Monitoring_Assessment_Collection_FS = () => {\n return (\n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\nexport const Observations_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\n\nexport const Program_Outcomes_Reporting_FS = () => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const Advanced_Reporting = () => {\n return (\n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Assessment_Games = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Cognitive_Toybox_At_Home = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Getting_Started = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Introduction = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\n\nexport const Introduction_Lite = () => {\n return (\n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Introduction_To_Reports = () => (\n <>\n \n \n \n)\n","import React from 'react'\n\nexport const Managing_Teacher_Accounts = () => {\n return (\n \n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userManagementFormRow\":\"users-management-modal_userManagementFormRow__3StF0\",\"userManagementField\":\"users-management-modal_userManagementField__1Xt7j\",\"userManagementFieldError\":\"users-management-modal_userManagementFieldError__6NcZw\",\"role\":\"users-management-modal_role__1-RyQ\",\"alert\":\"users-management-modal_alert__13p4A\",\"multiUserScopes\":\"users-management-modal_multiUserScopes__XovBp\",\"scopeRow\":\"users-management-modal_scopeRow__2PpDH\",\"scopeRowTitle\":\"users-management-modal_scopeRowTitle__2ikmp\",\"timesIcon\":\"users-management-modal_timesIcon__UBZ9i\",\"addAccessButton\":\"users-management-modal_addAccessButton__2FVsX\",\"scope\":\"users-management-modal_scope__3KAmg\",\"scopeButtons\":\"users-management-modal_scopeButtons__3ofsT\",\"scopeBorder\":\"users-management-modal_scopeBorder__Fgr93\",\"scopeSettingsButtons\":\"users-management-modal_scopeSettingsButtons__3Qm4f\",\"internalOptions\":\"users-management-modal_internalOptions__cI0bV\",\"standards\":\"users-management-modal_standards__3CMOv\"};","import React from 'react'\n\nexport const Monitoring_Assessment_Collection = () => {\n return (\n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Observations = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\n\nexport const Parent_Resources = () => {\n return (\n \n

Cognitive ToyBox at Home for Parents

\n

\n {' '}\n Learn how to play weekly game-based assessment and access daily\n recommended activities using Cognitive ToyBox!\n

\n
\n

Getting Started!

\n

Learn how to set up your account for the first time.

\n \n
\n

How to Access the CTB Parent Portal

\n

\n Learn more about the CTB Parent Portal and how to see messages from your\n teacher and daily recommended activities personalized for your child.{' '}\n

\n \n
\n

How to play CTB Game-Based Assessments

\n

\n Learn how to play weekly game-based assessments that are automatically\n shared with your child's teacher!\n

\n \n \n )\n}\n","import React from 'react'\n\nexport const Program_Outcomes_Reporting = () => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const Student_And_Organization_Management = () => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const Advanced_Reporting_FS = () => {\n return (\n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Assessment_Games_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Cognitive_Toybox_At_Home_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Getting_Started_Admins_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Getting_Started_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Introduction_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\n\nexport const Introduction_To_Reports_FS = () => (\n <>\n \n \n \n)\n","import React from 'react'\n\nexport const Monitoring_Assessment_Collection_FS = () => {\n return (\n \n )\n}\n","import React from 'react'\nimport { Guide } from 'features/training/components'\nexport const Observations_FS = () => {\n return (\n <>\n \n \n \n )\n}\n","import React from 'react'\n\nexport const Program_Outcomes_Reporting_FS = () => {\n return (\n \n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sidebarWrapper\":\"sidebar_sidebarWrapper__9HYMd\",\"sideNav\":\"sidebar_sideNav__3LYtD\",\"sideNavToddle\":\"sidebar_sideNavToddle__22hD0\",\"navItem\":\"sidebar_navItem__OcpXe\",\"sidebarIcon\":\"sidebar_sidebarIcon__2luVc\",\"indicatorWrapper\":\"sidebar_indicatorWrapper__1fguw\",\"indicator\":\"sidebar_indicator__30VOJ\",\"managementIndicator\":\"sidebar_managementIndicator__PZdNx\",\"usersIndicator\":\"sidebar_usersIndicator__MUkg7\",\"frogStreetLogo\":\"sidebar_frogStreetLogo__3X2qj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chart\":\"chart_chart__1hkit\",\"header\":\"chart_header__kT-XB\",\"title\":\"chart_title__399B7\",\"titleLogo\":\"chart_titleLogo__2Al8p\",\"description\":\"chart_description__1goZN\",\"filters\":\"chart_filters__3OuSe\",\"checkboxes\":\"chart_checkboxes__Fl5wq\",\"printButton\":\"chart_printButton__YS4sD\",\"loadMoreButton\":\"chart_loadMoreButton__1f5Ol\",\"body\":\"chart_body__CE32-\",\"wrapper\":\"chart_wrapper__2fV7b\",\"wrapperWide\":\"chart_wrapperWide__1UhO1\",\"meta\":\"chart_meta__3L2XT\",\"overlay\":\"chart_overlay__1muX_\",\"overlayBlock\":\"chart_overlayBlock__2Ua2r\",\"emptySpace\":\"chart_emptySpace__2dbuE\",\"hideable\":\"chart_hideable__3EXBi\",\"generationDate\":\"chart_generationDate__2K2pG\",\"loaderOverlay\":\"chart_loaderOverlay__1ZdBM\",\"dropdownItem\":\"chart_dropdownItem__2cPbT\",\"expanded\":\"chart_expanded__3DZsE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"irr-tutorial-modal_title__3nFNI\",\"circles\":\"irr-tutorial-modal_circles__3ObP6\",\"circle\":\"irr-tutorial-modal_circle__cnLjK\",\"current\":\"irr-tutorial-modal_current__1xAg8\",\"step0\":\"irr-tutorial-modal_step0__6CcFD\",\"step1\":\"irr-tutorial-modal_step1__UsH4S\",\"step2\":\"irr-tutorial-modal_step2__1jJsw\",\"step4\":\"irr-tutorial-modal_step4__1RHFH\",\"description\":\"irr-tutorial-modal_description__25hsT\",\"bottomButtons\":\"irr-tutorial-modal_bottomButtons__1erbl\",\"step3\":\"irr-tutorial-modal_step3__3c0Rx\",\"select\":\"irr-tutorial-modal_select__364iY\",\"scenario\":\"irr-tutorial-modal_scenario__3u6tH\",\"leftSide\":\"irr-tutorial-modal_leftSide__1m67Z\",\"scrollablePanel\":\"irr-tutorial-modal_scrollablePanel__26j68\",\"bottom\":\"irr-tutorial-modal_bottom__1S7Y5\",\"submitButton\":\"irr-tutorial-modal_submitButton__3CHit\",\"feedback\":\"irr-tutorial-modal_feedback__2m9VQ\",\"feedbackModalBackdrop\":\"irr-tutorial-modal_feedbackModalBackdrop__2WOLY\",\"correctLevel\":\"irr-tutorial-modal_correctLevel__3n0Ug\",\"buttonContainer\":\"irr-tutorial-modal_buttonContainer__3VVBj\",\"modal\":\"irr-tutorial-modal_modal__3Ei4d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activityItem\":\"activity_activityItem__lAZKp\",\"readAloud\":\"activity_readAloud__2W6bk\",\"noActivity\":\"activity_noActivity__ny1dd\",\"activityItemText\":\"activity_activityItemText__3Fmle\",\"otherActivitySelected\":\"activity_otherActivitySelected__2bjLR\",\"gridActivities\":\"activity_gridActivities__2yk-K\",\"age\":\"activity_age__1TUKZ\",\"dayLabel\":\"activity_dayLabel__1N52P\",\"modalDialog\":\"activity_modalDialog__10uoG\",\"displayNone\":\"activity_displayNone__1JWpo\",\"activityDetails\":\"activity_activityDetails__1WSkq\",\"detailsReadAloud\":\"activity_detailsReadAloud__1ilq2\",\"detailsBody\":\"activity_detailsBody__1pBEj\",\"enter\":\"activity_enter__ysEDE\",\"enterActive\":\"activity_enterActive__2JXdR\",\"exit\":\"activity_exit__2ft56\",\"exitActive\":\"activity_exitActive__1iCW6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"curriculumTable\":\"curriculum_curriculumTable__1tgSt\",\"curriculumTableHeader\":\"curriculum_curriculumTableHeader__2i72x\",\"editIcon\":\"curriculum_editIcon__2-OtO\",\"header\":\"curriculum_header__ons9V\",\"curriculumHeader\":\"curriculum_curriculumHeader__19n1m\",\"printButton\":\"curriculum_printButton__37FOC\",\"printIcon\":\"curriculum_printIcon__1QyVH\",\"curriculumHeaderItem\":\"curriculum_curriculumHeaderItem__Kh7ga\",\"pageHeader\":\"curriculum_pageHeader__3kJNn\",\"headerLogo\":\"curriculum_headerLogo__3y_Lb\",\"headerText\":\"curriculum_headerText__3_-N2\",\"headerInfo\":\"curriculum_headerInfo__3tr3b\",\"headerBorder\":\"curriculum_headerBorder__10ffP\",\"headerTitle\":\"curriculum_headerTitle__21NXA\",\"buttonContainer\":\"curriculum_buttonContainer__2HHLn\",\"editButton\":\"curriculum_editButton__-0ohJ\",\"objective\":\"curriculum_objective__3Ffx3\",\"frogStreetLogo\":\"curriculum_frogStreetLogo__H_-y6\",\"title\":\"curriculum_title__2u6dM\",\"curriculumContainer\":\"curriculum_curriculumContainer__7jXpD\"};"],"sourceRoot":""}