@magmamath/students-features 1.8.0 → 1.8.1-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/fluency/components/FluencySolving.js +2 -2
- package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js +48 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +9 -8
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +3 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +63 -10
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +10 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +0 -2
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/commonjs/features/fluency/index.js +12 -0
- package/dist/commonjs/features/fluency/index.js.map +1 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/adapter.js +36 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/adapter.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js +232 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/Dot.js +51 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/Dot.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.js +104 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/FactVisual.js +75 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/FactVisual.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.js +91 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.js +279 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/visualColors.js +44 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/components/visualColors.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/index.js +73 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/index.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/renderFact.js +276 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/renderFact.js.map +1 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/types.js +2 -0
- package/dist/commonjs/features/fluency/visual-scaffolding/types.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/assets/{DivisionIcon.js → SortDefaultIcon.js} +8 -11
- package/dist/commonjs/features/fluency-teacher/assets/SortDefaultIcon.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/FluencyTeacher.js +3 -4
- package/dist/commonjs/features/fluency-teacher/components/FluencyTeacher.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.js +43 -48
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js +80 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.js +28 -11
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.js +44 -27
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js +40 -47
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerStats.js +24 -14
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerStats.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js +6 -6
- package/dist/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixCell.js +16 -2
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixCell.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixRow.js +2 -1
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixRow.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.js +41 -15
- package/dist/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/AverageSortButton.js +62 -6
- package/dist/commonjs/features/fluency-teacher/components/table/AverageSortButton.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +40 -42
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/OperatorBadge.js +16 -25
- package/dist/commonjs/features/fluency-teacher/components/table/OperatorBadge.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.js +40 -30
- package/dist/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/TableRow.js +72 -59
- package/dist/commonjs/features/fluency-teacher/components/table/TableRow.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.js +71 -0
- package/dist/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/context/TeacherFluencyContext.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.constants.js +38 -103
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.constants.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.helpers.js +10 -52
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/hooks/useDrawerGrid.js +2 -3
- package/dist/commonjs/features/fluency-teacher/hooks/useDrawerGrid.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.js +1 -2
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyModel.js +0 -9
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyModel.js.map +1 -1
- package/dist/module/features/fluency/components/FluencySolving.js +2 -2
- package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js +43 -0
- package/dist/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +9 -8
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +3 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +64 -11
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +10 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +0 -2
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/module/features/fluency/index.js +1 -0
- package/dist/module/features/fluency/index.js.map +1 -1
- package/dist/module/features/fluency/visual-scaffolding/adapter.js +31 -0
- package/dist/module/features/fluency/visual-scaffolding/adapter.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js +225 -0
- package/dist/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/components/Dot.js +45 -0
- package/dist/module/features/fluency/visual-scaffolding/components/Dot.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.js +96 -0
- package/dist/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/components/FactVisual.js +69 -0
- package/dist/module/features/fluency/visual-scaffolding/components/FactVisual.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/components/QuotativeBars.js +83 -0
- package/dist/module/features/fluency/visual-scaffolding/components/QuotativeBars.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/components/RelationalBlock.js +272 -0
- package/dist/module/features/fluency/visual-scaffolding/components/RelationalBlock.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/components/visualColors.js +41 -0
- package/dist/module/features/fluency/visual-scaffolding/components/visualColors.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/index.js +8 -0
- package/dist/module/features/fluency/visual-scaffolding/index.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/renderFact.js +269 -0
- package/dist/module/features/fluency/visual-scaffolding/renderFact.js.map +1 -0
- package/dist/module/features/fluency/visual-scaffolding/types.js +2 -0
- package/dist/module/features/fluency/visual-scaffolding/types.js.map +1 -0
- package/dist/module/features/fluency-teacher/assets/SortDefaultIcon.js +23 -0
- package/dist/module/features/fluency-teacher/assets/SortDefaultIcon.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/FluencyTeacher.js +3 -4
- package/dist/module/features/fluency-teacher/components/FluencyTeacher.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerHeader.js +44 -49
- package/dist/module/features/fluency-teacher/components/drawer/DrawerHeader.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js +74 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMatrixes.js +31 -14
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMatrixes.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.js +45 -28
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js +41 -48
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerStats.js +27 -17
- package/dist/module/features/fluency-teacher/components/drawer/DrawerStats.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js +6 -6
- package/dist/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/matrix/DrawerMatrix.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/matrix/MatrixCell.js +17 -3
- package/dist/module/features/fluency-teacher/components/matrix/MatrixCell.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/matrix/MatrixRow.js +2 -1
- package/dist/module/features/fluency-teacher/components/matrix/MatrixRow.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/AllPupilsTableRow.js +42 -16
- package/dist/module/features/fluency-teacher/components/table/AllPupilsTableRow.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/AverageSortButton.js +63 -7
- package/dist/module/features/fluency-teacher/components/table/AverageSortButton.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +42 -44
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/OperatorBadge.js +16 -25
- package/dist/module/features/fluency-teacher/components/table/OperatorBadge.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/TableColumnSortButton.js +42 -32
- package/dist/module/features/fluency-teacher/components/table/TableColumnSortButton.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/TableRow.js +75 -62
- package/dist/module/features/fluency-teacher/components/table/TableRow.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/TableRowAverageProgress.js +65 -0
- package/dist/module/features/fluency-teacher/components/table/TableRowAverageProgress.js.map +1 -0
- package/dist/module/features/fluency-teacher/context/TeacherFluencyContext.js.map +1 -1
- package/dist/module/features/fluency-teacher/fluencyTeacher.constants.js +37 -102
- package/dist/module/features/fluency-teacher/fluencyTeacher.constants.js.map +1 -1
- package/dist/module/features/fluency-teacher/fluencyTeacher.helpers.js +8 -43
- package/dist/module/features/fluency-teacher/fluencyTeacher.helpers.js.map +1 -1
- package/dist/module/features/fluency-teacher/hooks/useDrawerGrid.js +2 -3
- package/dist/module/features/fluency-teacher/hooks/useDrawerGrid.js.map +1 -1
- package/dist/module/features/fluency-teacher/hooks/useDrawerMatrix.js.map +1 -1
- package/dist/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.js +1 -2
- package/dist/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.js.map +1 -1
- package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js +0 -9
- package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +2 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/index.d.ts +1 -0
- package/dist/typescript/commonjs/features/fluency/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts +2 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/adapter.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/adapter.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts +10 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/Dot.d.ts +10 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/Dot.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts +10 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/FactVisual.d.ts +10 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/FactVisual.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts +10 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts +10 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/visualColors.d.ts +16 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/visualColors.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/index.d.ts +6 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/renderFact.d.ts +23 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/renderFact.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/types.d.ts +103 -0
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/types.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/assets/SortDefaultIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency-teacher/assets/SortDefaultIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts +4 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts +4 -6
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerStats.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts +2 -3
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixCell.d.ts +5 -6
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts +1 -2
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixRow.d.ts +3 -5
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixRow.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageSortButton.d.ts +1 -2
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageSortButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/OperatorBadge.d.ts +4 -5
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/OperatorBadge.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.d.ts +6 -7
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRow.d.ts +3 -4
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRow.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts +7 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/context/TeacherFluencyContext.d.ts +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/context/TeacherFluencyContext.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.constants.d.ts +3 -16
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.helpers.d.ts +4 -11
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.types.d.ts +6 -35
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerGrid.d.ts +12 -1
- package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerGrid.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.d.ts +3 -3
- package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts +3 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +2 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/index.d.ts +1 -0
- package/dist/typescript/module/features/fluency/index.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts +2 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/adapter.d.ts +4 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/adapter.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts +10 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/Dot.d.ts +10 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/Dot.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts +10 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/FactVisual.d.ts +10 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/FactVisual.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts +10 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts +10 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/visualColors.d.ts +16 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/visualColors.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/index.d.ts +6 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/index.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/renderFact.d.ts +23 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/renderFact.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/types.d.ts +103 -0
- package/dist/typescript/module/features/fluency/visual-scaffolding/types.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/assets/SortDefaultIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency-teacher/assets/SortDefaultIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerHeader.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMatrixes.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts +4 -1
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts +4 -6
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerStats.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts +2 -3
- package/dist/typescript/module/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixCell.d.ts +5 -6
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts +1 -2
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixRow.d.ts +3 -5
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixRow.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/AllPupilsTableRow.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/AverageSortButton.d.ts +1 -2
- package/dist/typescript/module/features/fluency-teacher/components/table/AverageSortButton.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/OperatorBadge.d.ts +4 -5
- package/dist/typescript/module/features/fluency-teacher/components/table/OperatorBadge.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/TableColumnSortButton.d.ts +6 -7
- package/dist/typescript/module/features/fluency-teacher/components/table/TableColumnSortButton.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRow.d.ts +3 -4
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRow.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts +7 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/context/TeacherFluencyContext.d.ts +0 -1
- package/dist/typescript/module/features/fluency-teacher/context/TeacherFluencyContext.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.constants.d.ts +3 -16
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.constants.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.helpers.d.ts +4 -11
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.types.d.ts +6 -35
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.types.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerGrid.d.ts +12 -1
- package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerGrid.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerMatrix.d.ts +3 -3
- package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerMatrix.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts +0 -1
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyModel.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/fluency/components/FluencySolving.tsx +2 -2
- package/src/features/fluency/components/fluency-solving/components/DebugBoxIndicator.tsx +40 -0
- package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +12 -8
- package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +6 -1
- package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +63 -11
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx +9 -0
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +0 -2
- package/src/features/fluency/index.ts +1 -0
- package/src/features/fluency/visual-scaffolding/__tests__/__snapshots__/renderFact.test.ts.snap +64 -0
- package/src/features/fluency/visual-scaffolding/__tests__/renderFact.test.ts +192 -0
- package/src/features/fluency/visual-scaffolding/adapter.ts +33 -0
- package/src/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.tsx +222 -0
- package/src/features/fluency/visual-scaffolding/components/Dot.tsx +36 -0
- package/src/features/fluency/visual-scaffolding/components/DynamicNumberLine.tsx +98 -0
- package/src/features/fluency/visual-scaffolding/components/FactVisual.tsx +61 -0
- package/src/features/fluency/visual-scaffolding/components/QuotativeBars.tsx +92 -0
- package/src/features/fluency/visual-scaffolding/components/RelationalBlock.tsx +225 -0
- package/src/features/fluency/visual-scaffolding/components/visualColors.ts +45 -0
- package/src/features/fluency/visual-scaffolding/index.ts +5 -0
- package/src/features/fluency/visual-scaffolding/renderFact.ts +219 -0
- package/src/features/fluency/visual-scaffolding/types.ts +108 -0
- package/src/features/fluency-teacher/assets/SortDefaultIcon.tsx +10 -0
- package/src/features/fluency-teacher/components/FluencyTeacher.tsx +3 -3
- package/src/features/fluency-teacher/components/drawer/DrawerHeader.tsx +35 -37
- package/src/features/fluency-teacher/components/drawer/DrawerMasteryLegend.tsx +63 -0
- package/src/features/fluency-teacher/components/drawer/DrawerMatrixes.tsx +32 -13
- package/src/features/fluency-teacher/components/drawer/DrawerOperatorBox.tsx +40 -20
- package/src/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.tsx +35 -35
- package/src/features/fluency-teacher/components/drawer/DrawerStats.tsx +28 -16
- package/src/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.tsx +5 -4
- package/src/features/fluency-teacher/components/matrix/DrawerMatrix.tsx +2 -3
- package/src/features/fluency-teacher/components/matrix/MatrixCell.tsx +16 -7
- package/src/features/fluency-teacher/components/matrix/MatrixHeaderRow.tsx +1 -1
- package/src/features/fluency-teacher/components/matrix/MatrixRow.tsx +4 -4
- package/src/features/fluency-teacher/components/table/AllPupilsTableRow.tsx +40 -13
- package/src/features/fluency-teacher/components/table/AverageSortButton.tsx +62 -8
- package/src/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.tsx +35 -49
- package/src/features/fluency-teacher/components/table/OperatorBadge.tsx +11 -18
- package/src/features/fluency-teacher/components/table/TableColumnSortButton.tsx +49 -28
- package/src/features/fluency-teacher/components/table/TableRow.tsx +64 -65
- package/src/features/fluency-teacher/components/table/TableRowAverageProgress.tsx +65 -0
- package/src/features/fluency-teacher/context/TeacherFluencyContext.ts +0 -1
- package/src/features/fluency-teacher/fluencyTeacher.constants.ts +40 -138
- package/src/features/fluency-teacher/fluencyTeacher.helpers.ts +10 -82
- package/src/features/fluency-teacher/fluencyTeacher.types.ts +6 -39
- package/src/features/fluency-teacher/hooks/useDrawerGrid.ts +7 -4
- package/src/features/fluency-teacher/hooks/useDrawerMatrix.ts +3 -4
- package/src/features/fluency-teacher/model/TeacherFluencyFiltersModel.ts +5 -8
- package/src/features/fluency-teacher/model/TeacherFluencyModel.ts +0 -8
- package/dist/commonjs/features/fluency-teacher/assets/DivisionIcon.js.map +0 -1
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.js +0 -83
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.js.map +0 -1
- package/dist/commonjs/features/fluency-teacher/components/table/AverageCell.js +0 -55
- package/dist/commonjs/features/fluency-teacher/components/table/AverageCell.js.map +0 -1
- package/dist/commonjs/features/fluency-teacher/components/table/SortOrderCarets.js +0 -40
- package/dist/commonjs/features/fluency-teacher/components/table/SortOrderCarets.js.map +0 -1
- package/dist/commonjs/features/fluency-teacher/components/table/tableCell.styles.js +0 -45
- package/dist/commonjs/features/fluency-teacher/components/table/tableCell.styles.js.map +0 -1
- package/dist/module/features/fluency-teacher/assets/DivisionIcon.js +0 -26
- package/dist/module/features/fluency-teacher/assets/DivisionIcon.js.map +0 -1
- package/dist/module/features/fluency-teacher/components/matrix/MatrixLegend.js +0 -77
- package/dist/module/features/fluency-teacher/components/matrix/MatrixLegend.js.map +0 -1
- package/dist/module/features/fluency-teacher/components/table/AverageCell.js +0 -49
- package/dist/module/features/fluency-teacher/components/table/AverageCell.js.map +0 -1
- package/dist/module/features/fluency-teacher/components/table/SortOrderCarets.js +0 -34
- package/dist/module/features/fluency-teacher/components/table/SortOrderCarets.js.map +0 -1
- package/dist/module/features/fluency-teacher/components/table/tableCell.styles.js +0 -42
- package/dist/module/features/fluency-teacher/components/table/tableCell.styles.js.map +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/assets/DivisionIcon.d.ts +0 -4
- package/dist/typescript/commonjs/features/fluency-teacher/assets/DivisionIcon.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.d.ts +0 -10
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageCell.d.ts +0 -9
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageCell.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/SortOrderCarets.d.ts +0 -9
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/SortOrderCarets.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/tableCell.styles.d.ts +0 -35
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/tableCell.styles.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency-teacher/assets/DivisionIcon.d.ts +0 -4
- package/dist/typescript/module/features/fluency-teacher/assets/DivisionIcon.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixLegend.d.ts +0 -10
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixLegend.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/AverageCell.d.ts +0 -9
- package/dist/typescript/module/features/fluency-teacher/components/table/AverageCell.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/SortOrderCarets.d.ts +0 -9
- package/dist/typescript/module/features/fluency-teacher/components/table/SortOrderCarets.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/tableCell.styles.d.ts +0 -35
- package/dist/typescript/module/features/fluency-teacher/components/table/tableCell.styles.d.ts.map +0 -1
- package/src/features/fluency-teacher/assets/DivisionIcon.tsx +0 -20
- package/src/features/fluency-teacher/components/matrix/MatrixLegend.tsx +0 -81
- package/src/features/fluency-teacher/components/table/AverageCell.tsx +0 -45
- package/src/features/fluency-teacher/components/table/SortOrderCarets.tsx +0 -37
- package/src/features/fluency-teacher/components/table/tableCell.styles.ts +0 -39
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { StyleSheet, Text, View } from 'react-native'
|
|
3
|
+
import {
|
|
4
|
+
COLORS,
|
|
5
|
+
FONT_FAMILY,
|
|
6
|
+
HeadingVariants,
|
|
7
|
+
SPACING,
|
|
8
|
+
Typography,
|
|
9
|
+
} from '@magmamath/react-native-ui'
|
|
10
|
+
|
|
11
|
+
export type TableRowAverageProgressProps = {
|
|
12
|
+
percent: number
|
|
13
|
+
label: string
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const TableRowAverageProgress = ({ percent, label }: TableRowAverageProgressProps) => (
|
|
17
|
+
<View style={styles.progressTrack}>
|
|
18
|
+
<View style={[styles.progressFill, { width: `${percent}%` }]} />
|
|
19
|
+
<View style={styles.progressOverlay}>
|
|
20
|
+
<Typography variant={HeadingVariants.H9} style={styles.progressPercent}>
|
|
21
|
+
{percent}%
|
|
22
|
+
</Typography>
|
|
23
|
+
<Text style={styles.progressLabel} numberOfLines={1}>
|
|
24
|
+
{label}
|
|
25
|
+
</Text>
|
|
26
|
+
</View>
|
|
27
|
+
</View>
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
const styles = StyleSheet.create({
|
|
31
|
+
progressTrack: {
|
|
32
|
+
height: 16,
|
|
33
|
+
borderRadius: 36,
|
|
34
|
+
backgroundColor: COLORS.NEUTRAL_3,
|
|
35
|
+
overflow: 'hidden',
|
|
36
|
+
},
|
|
37
|
+
progressFill: {
|
|
38
|
+
position: 'absolute',
|
|
39
|
+
top: 0,
|
|
40
|
+
bottom: 0,
|
|
41
|
+
left: 0,
|
|
42
|
+
borderRadius: 36,
|
|
43
|
+
backgroundColor: COLORS.YELLOW_4,
|
|
44
|
+
},
|
|
45
|
+
progressOverlay: {
|
|
46
|
+
position: 'absolute',
|
|
47
|
+
top: 0,
|
|
48
|
+
bottom: 0,
|
|
49
|
+
left: 0,
|
|
50
|
+
right: 0,
|
|
51
|
+
flexDirection: 'row',
|
|
52
|
+
alignItems: 'center',
|
|
53
|
+
justifyContent: 'space-between',
|
|
54
|
+
paddingHorizontal: SPACING[200],
|
|
55
|
+
},
|
|
56
|
+
progressPercent: {
|
|
57
|
+
color: COLORS.NEUTRAL_9,
|
|
58
|
+
},
|
|
59
|
+
progressLabel: {
|
|
60
|
+
fontFamily: FONT_FAMILY.buenosAiresSemiBold,
|
|
61
|
+
fontSize: 10,
|
|
62
|
+
color: COLORS.NEUTRAL_9,
|
|
63
|
+
textTransform: 'uppercase',
|
|
64
|
+
},
|
|
65
|
+
})
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { COLORS } from '@magmamath/react-native-ui'
|
|
2
|
-
import type
|
|
3
|
-
LegendItem,
|
|
4
|
-
OperatorCardConfig,
|
|
5
|
-
OperatorColumnConfig,
|
|
6
|
-
OperatorPalette,
|
|
7
|
-
FluencyOperatorColumn,
|
|
8
|
-
} from './fluencyTeacher.types'
|
|
2
|
+
import { type OperatorColumnConfig } from './fluencyTeacher.types'
|
|
9
3
|
|
|
10
4
|
export const TEACHER_FLUENCY_GOAL_MINUTES = 25
|
|
11
5
|
|
|
@@ -16,103 +10,33 @@ export enum FluencyOperator {
|
|
|
16
10
|
DIVISION = 'division',
|
|
17
11
|
}
|
|
18
12
|
|
|
19
|
-
export
|
|
20
|
-
LEARNING = 1,
|
|
21
|
-
GROWING = 2,
|
|
22
|
-
STRONG = 3,
|
|
23
|
-
AUTOMATIC = 4,
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const OPERATOR_PALETTES: Record<FluencyOperator, OperatorPalette> = {
|
|
13
|
+
export const MATRIX_CELL_COLORS: Record<FluencyOperator, Record<number, string>> = {
|
|
27
14
|
[FluencyOperator.ADDITION]: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
COLORS.GREEN_4,
|
|
33
|
-
COLORS.PRIMARY_GREEN,
|
|
34
|
-
COLORS.GREEN_6,
|
|
35
|
-
],
|
|
36
|
-
darkText: COLORS.GREEN_8,
|
|
37
|
-
legendCount: COLORS.GREEN_7,
|
|
38
|
-
boxBorder: COLORS.GREEN_2,
|
|
15
|
+
1: COLORS.GREEN_2,
|
|
16
|
+
2: COLORS.GREEN_3,
|
|
17
|
+
3: COLORS.PRIMARY_GREEN,
|
|
18
|
+
4: COLORS.GREEN_6,
|
|
39
19
|
},
|
|
40
20
|
[FluencyOperator.SUBTRACTION]: {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
COLORS.ORANGE_4,
|
|
46
|
-
COLORS.PRIMARY_ORANGE,
|
|
47
|
-
],
|
|
48
|
-
bandBorders: [
|
|
49
|
-
COLORS.ORANGE_2,
|
|
50
|
-
COLORS.ORANGE_3,
|
|
51
|
-
COLORS.ORANGE_4,
|
|
52
|
-
COLORS.PRIMARY_ORANGE,
|
|
53
|
-
COLORS.ORANGE_6,
|
|
54
|
-
],
|
|
55
|
-
darkText: COLORS.ORANGE_8,
|
|
56
|
-
legendCount: COLORS.ORANGE_7,
|
|
57
|
-
boxBorder: COLORS.ORANGE_2,
|
|
21
|
+
1: COLORS.ORANGE_2,
|
|
22
|
+
2: COLORS.ORANGE_3,
|
|
23
|
+
3: COLORS.PRIMARY_ORANGE,
|
|
24
|
+
4: COLORS.ORANGE_6,
|
|
58
25
|
},
|
|
59
26
|
[FluencyOperator.MULTIPLICATION]: {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
boxBorder: COLORS.BLUE_2,
|
|
27
|
+
1: COLORS.BLUE_2,
|
|
28
|
+
2: COLORS.BLUE_3,
|
|
29
|
+
3: COLORS.PRIMARY_BLUE,
|
|
30
|
+
4: COLORS.BLUE_6,
|
|
65
31
|
},
|
|
66
32
|
[FluencyOperator.DIVISION]: {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
COLORS.PURPLE_4,
|
|
72
|
-
COLORS.PRIMARY_PURPLE,
|
|
73
|
-
],
|
|
74
|
-
bandBorders: [
|
|
75
|
-
COLORS.PURPLE_2,
|
|
76
|
-
COLORS.PURPLE_3,
|
|
77
|
-
COLORS.PURPLE_4,
|
|
78
|
-
COLORS.PRIMARY_PURPLE,
|
|
79
|
-
COLORS.PURPLE_6,
|
|
80
|
-
],
|
|
81
|
-
darkText: COLORS.PURPLE_8,
|
|
82
|
-
legendCount: COLORS.PURPLE_7,
|
|
83
|
-
boxBorder: COLORS.PURPLE_2,
|
|
33
|
+
1: COLORS.PURPLE_2,
|
|
34
|
+
2: COLORS.PURPLE_3,
|
|
35
|
+
3: COLORS.PRIMARY_PURPLE,
|
|
36
|
+
4: COLORS.PURPLE_6,
|
|
84
37
|
},
|
|
85
38
|
}
|
|
86
39
|
|
|
87
|
-
export const MATRIX_CELL_COLORS: Record<FluencyOperator, Record<MasteryLevel, string>> = {
|
|
88
|
-
[FluencyOperator.ADDITION]: {
|
|
89
|
-
[MasteryLevel.LEARNING]: COLORS.GREEN_1,
|
|
90
|
-
[MasteryLevel.GROWING]: COLORS.GREEN_2,
|
|
91
|
-
[MasteryLevel.STRONG]: COLORS.GREEN_4,
|
|
92
|
-
[MasteryLevel.AUTOMATIC]: COLORS.GREEN_7,
|
|
93
|
-
},
|
|
94
|
-
[FluencyOperator.SUBTRACTION]: {
|
|
95
|
-
[MasteryLevel.LEARNING]: COLORS.ORANGE_1,
|
|
96
|
-
[MasteryLevel.GROWING]: COLORS.ORANGE_2,
|
|
97
|
-
[MasteryLevel.STRONG]: COLORS.ORANGE_4,
|
|
98
|
-
[MasteryLevel.AUTOMATIC]: COLORS.ORANGE_7,
|
|
99
|
-
},
|
|
100
|
-
[FluencyOperator.MULTIPLICATION]: {
|
|
101
|
-
[MasteryLevel.LEARNING]: COLORS.BLUE_1,
|
|
102
|
-
[MasteryLevel.GROWING]: COLORS.BLUE_2,
|
|
103
|
-
[MasteryLevel.STRONG]: COLORS.BLUE_4,
|
|
104
|
-
[MasteryLevel.AUTOMATIC]: COLORS.BLUE_7,
|
|
105
|
-
},
|
|
106
|
-
[FluencyOperator.DIVISION]: {
|
|
107
|
-
[MasteryLevel.LEARNING]: COLORS.PURPLE_1,
|
|
108
|
-
[MasteryLevel.GROWING]: COLORS.PURPLE_2,
|
|
109
|
-
[MasteryLevel.STRONG]: COLORS.PURPLE_4,
|
|
110
|
-
[MasteryLevel.AUTOMATIC]: COLORS.PURPLE_7,
|
|
111
|
-
},
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export const MATRIX_NOT_STARTED_COLOR = COLORS.NEUTRAL_3
|
|
115
|
-
|
|
116
40
|
export enum FluencyTableColumn {
|
|
117
41
|
AVERAGE = 'average',
|
|
118
42
|
ADDITION = 'addition',
|
|
@@ -121,6 +45,8 @@ export enum FluencyTableColumn {
|
|
|
121
45
|
DIVISION = 'division',
|
|
122
46
|
}
|
|
123
47
|
|
|
48
|
+
export type FluencyOperatorColumn = Exclude<FluencyTableColumn, FluencyTableColumn.AVERAGE>
|
|
49
|
+
|
|
124
50
|
export enum FluencyMathOperatorSymbol {
|
|
125
51
|
ADDITION = '+',
|
|
126
52
|
SUBTRACTION = '−',
|
|
@@ -128,57 +54,33 @@ export enum FluencyMathOperatorSymbol {
|
|
|
128
54
|
DIVISION = '÷',
|
|
129
55
|
}
|
|
130
56
|
|
|
131
|
-
export const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
[FluencyTableColumn.MULTIPLICATION]: FluencyOperator.MULTIPLICATION,
|
|
135
|
-
[FluencyTableColumn.DIVISION]: FluencyOperator.DIVISION,
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export const OPERATOR_TO_COLUMN: Record<FluencyOperator, FluencyOperatorColumn> = {
|
|
139
|
-
[FluencyOperator.ADDITION]: FluencyTableColumn.ADDITION,
|
|
140
|
-
[FluencyOperator.SUBTRACTION]: FluencyTableColumn.SUBTRACTION,
|
|
141
|
-
[FluencyOperator.MULTIPLICATION]: FluencyTableColumn.MULTIPLICATION,
|
|
142
|
-
[FluencyOperator.DIVISION]: FluencyTableColumn.DIVISION,
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export const MAX_GRADE_WITH_TWO_OPERATORS = 2
|
|
146
|
-
|
|
147
|
-
export const TWO_OPERATOR_SET: readonly FluencyOperator[] = [
|
|
148
|
-
FluencyOperator.ADDITION,
|
|
149
|
-
FluencyOperator.SUBTRACTION,
|
|
150
|
-
]
|
|
151
|
-
|
|
152
|
-
export const OPERATOR_CARD_CONFIG: Record<FluencyOperator, OperatorCardConfig> = {
|
|
153
|
-
[FluencyOperator.ADDITION]: {
|
|
57
|
+
export const TABLE_OPERATOR_COLUMNS: readonly OperatorColumnConfig[] = [
|
|
58
|
+
{
|
|
59
|
+
operator: FluencyTableColumn.ADDITION,
|
|
154
60
|
labelKey: 'student.fluency.addition',
|
|
155
61
|
symbol: FluencyMathOperatorSymbol.ADDITION,
|
|
62
|
+
badgeBg: COLORS.GREEN_3,
|
|
63
|
+
badgeText: COLORS.GREEN_8,
|
|
156
64
|
},
|
|
157
|
-
|
|
65
|
+
{
|
|
66
|
+
operator: FluencyTableColumn.SUBTRACTION,
|
|
158
67
|
labelKey: 'student.fluency.subtraction',
|
|
159
68
|
symbol: FluencyMathOperatorSymbol.SUBTRACTION,
|
|
69
|
+
badgeBg: COLORS.ORANGE_3,
|
|
70
|
+
badgeText: COLORS.ORANGE_8,
|
|
160
71
|
},
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
symbol: FluencyMathOperatorSymbol.MULTIPLICATION,
|
|
164
|
-
},
|
|
165
|
-
[FluencyOperator.DIVISION]: {
|
|
72
|
+
{
|
|
73
|
+
operator: FluencyTableColumn.DIVISION,
|
|
166
74
|
labelKey: 'student.fluency.division',
|
|
167
75
|
symbol: FluencyMathOperatorSymbol.DIVISION,
|
|
76
|
+
badgeBg: COLORS.BLUE_3,
|
|
77
|
+
badgeText: COLORS.BLUE_8,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
operator: FluencyTableColumn.MULTIPLICATION,
|
|
81
|
+
labelKey: 'student.fluency.multiplication',
|
|
82
|
+
symbol: FluencyMathOperatorSymbol.MULTIPLICATION,
|
|
83
|
+
badgeBg: COLORS.PURPLE_2,
|
|
84
|
+
badgeText: COLORS.PURPLE_8,
|
|
168
85
|
},
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export const TABLE_OPERATOR_COLUMNS: readonly OperatorColumnConfig[] = Object.values(
|
|
172
|
-
FluencyOperator,
|
|
173
|
-
).map((operator) => ({
|
|
174
|
-
operator: OPERATOR_TO_COLUMN[operator],
|
|
175
|
-
labelKey: OPERATOR_CARD_CONFIG[operator].labelKey,
|
|
176
|
-
}))
|
|
177
|
-
|
|
178
|
-
export const LEGEND_LEVELS: readonly LegendItem[] = [
|
|
179
|
-
{ box: MasteryLevel.AUTOMATIC, labelKey: 'student.fluency.masteryMastered' },
|
|
180
|
-
{ box: MasteryLevel.STRONG, labelKey: 'student.fluency.masteryStrong' },
|
|
181
|
-
{ box: MasteryLevel.GROWING, labelKey: 'student.fluency.masteryGrowing' },
|
|
182
|
-
{ box: MasteryLevel.LEARNING, labelKey: 'student.fluency.masteryLearning' },
|
|
183
|
-
{ box: null, labelKey: 'teacher.fluency.progressNotStarted' },
|
|
184
86
|
]
|
|
@@ -1,95 +1,22 @@
|
|
|
1
1
|
import { COLORS } from '@magmamath/react-native-ui'
|
|
2
|
-
import {
|
|
3
|
-
COLUMN_TO_OPERATOR,
|
|
4
|
-
FluencyOperator,
|
|
5
|
-
FluencyTableColumn,
|
|
6
|
-
MasteryLevel,
|
|
7
|
-
MATRIX_NOT_STARTED_COLOR,
|
|
8
|
-
MAX_GRADE_WITH_TWO_OPERATORS,
|
|
9
|
-
OPERATOR_PALETTES,
|
|
10
|
-
TABLE_OPERATOR_COLUMNS,
|
|
11
|
-
TWO_OPERATOR_SET,
|
|
12
|
-
} from './fluencyTeacher.constants'
|
|
2
|
+
import type { TranslationKey } from '../../i18n/i18n'
|
|
13
3
|
import type {
|
|
14
4
|
ClassFluencySummaryResponse,
|
|
15
5
|
ClassFluencyStats,
|
|
16
6
|
ClassOperatorAverages,
|
|
17
|
-
DrawerGrid,
|
|
18
7
|
FluencyStudent,
|
|
19
|
-
OperatorBandColors,
|
|
20
|
-
OperatorColumnConfig,
|
|
21
8
|
StudentResult,
|
|
22
9
|
} from './fluencyTeacher.types'
|
|
23
10
|
|
|
24
|
-
export const getCellColor = (
|
|
25
|
-
box
|
|
26
|
-
colorMap: Record<MasteryLevel, string>,
|
|
27
|
-
): string => (box ? (colorMap[box] ?? MATRIX_NOT_STARTED_COLOR) : MATRIX_NOT_STARTED_COLOR)
|
|
11
|
+
export const getCellColor = (box: number | null, colorMap: Record<number, string>): string =>
|
|
12
|
+
box ? (colorMap[box] ?? COLORS.NEUTRAL_2) : COLORS.NEUTRAL_2
|
|
28
13
|
|
|
29
|
-
export const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
)
|
|
36
|
-
: TABLE_OPERATOR_COLUMNS
|
|
37
|
-
|
|
38
|
-
export const getOperatorsForGrade = (grade: number): readonly FluencyOperator[] =>
|
|
39
|
-
isTwoOperatorGrade(grade) ? TWO_OPERATOR_SET : Object.values(FluencyOperator)
|
|
40
|
-
|
|
41
|
-
export const isColumnVisibleForGrade = (column: FluencyTableColumn, grade: number): boolean =>
|
|
42
|
-
column === FluencyTableColumn.AVERAGE ||
|
|
43
|
-
getTableOperatorColumns(grade).some(({ operator }) => operator === column)
|
|
44
|
-
|
|
45
|
-
export const isCommutativeOperator = (operator: FluencyOperator): boolean =>
|
|
46
|
-
operator === FluencyOperator.ADDITION || operator === FluencyOperator.MULTIPLICATION
|
|
47
|
-
|
|
48
|
-
export const getHigherMasteryLevel = (a: MasteryLevel, b: MasteryLevel): MasteryLevel =>
|
|
49
|
-
a > b ? a : b
|
|
50
|
-
|
|
51
|
-
const toValidMasteryLevel = (box: MasteryLevel | null): MasteryLevel | null =>
|
|
52
|
-
box !== null && box >= MasteryLevel.LEARNING && box <= MasteryLevel.AUTOMATIC ? box : null
|
|
53
|
-
|
|
54
|
-
export const countFactsByMasteryLevel = (
|
|
55
|
-
grid: DrawerGrid | null,
|
|
56
|
-
operator: FluencyOperator,
|
|
57
|
-
): Map<MasteryLevel | null, number> => {
|
|
58
|
-
const counts = new Map<MasteryLevel | null, number>()
|
|
59
|
-
const commutative = isCommutativeOperator(operator)
|
|
60
|
-
grid?.rows.forEach((row) =>
|
|
61
|
-
row.cells.forEach((cell, columnIndex) => {
|
|
62
|
-
if (cell.isEmpty) return
|
|
63
|
-
// Commutative grids mirror each fact into (a,b) and (b,a) cells —
|
|
64
|
-
// count only the upper triangle so each fact is counted once.
|
|
65
|
-
if (commutative && grid.colLabels[columnIndex] < row.label) return
|
|
66
|
-
const box = toValidMasteryLevel(cell.box)
|
|
67
|
-
counts.set(box, (counts.get(box) ?? 0) + 1)
|
|
68
|
-
}),
|
|
69
|
-
)
|
|
70
|
-
return counts
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
const toBandIndex = (percent: number): number => {
|
|
74
|
-
if (percent <= 20) return 0
|
|
75
|
-
if (percent <= 40) return 1
|
|
76
|
-
if (percent <= 60) return 2
|
|
77
|
-
if (percent <= 80) return 3
|
|
78
|
-
return 4
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// Dark shades (bands 4-5) need white text to stay readable
|
|
82
|
-
export const getOperatorBandColors = (
|
|
83
|
-
operator: FluencyOperator,
|
|
84
|
-
percent: number,
|
|
85
|
-
): OperatorBandColors => {
|
|
86
|
-
const palette = OPERATOR_PALETTES[operator]
|
|
87
|
-
const band = toBandIndex(percent)
|
|
88
|
-
return {
|
|
89
|
-
background: palette.bands[band],
|
|
90
|
-
border: palette.bandBorders[band],
|
|
91
|
-
text: band >= 3 ? COLORS.NEUTRAL_1 : palette.darkText,
|
|
92
|
-
}
|
|
14
|
+
export const toAverageLabel = (overallPercent: number): TranslationKey => {
|
|
15
|
+
if (overallPercent >= 0.9) return 'teacher.fluency.progressFluent'
|
|
16
|
+
if (overallPercent >= 0.65) return 'teacher.fluency.progressProficient'
|
|
17
|
+
if (overallPercent >= 0.35) return 'teacher.fluency.progressDeveloping'
|
|
18
|
+
if (overallPercent >= 0.05) return 'teacher.fluency.progressLearning'
|
|
19
|
+
return 'teacher.fluency.progressNotStarted'
|
|
93
20
|
}
|
|
94
21
|
|
|
95
22
|
const toPercent = (decimal: number): number => Math.round(decimal * 100)
|
|
@@ -141,6 +68,7 @@ export const buildStudentsFluencyTable = ({
|
|
|
141
68
|
id: row.studentId,
|
|
142
69
|
name: student.name,
|
|
143
70
|
averagePercent: toPercent(row.overallPercent),
|
|
71
|
+
averageLabel: toAverageLabel(row.overallPercent),
|
|
144
72
|
scores: {
|
|
145
73
|
addition: toPercent(row.byOperator.addition),
|
|
146
74
|
subtraction: toPercent(row.byOperator.subtraction),
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import type { TranslationKey } from '../../i18n/i18n'
|
|
2
|
-
import {
|
|
3
|
-
FluencyMathOperatorSymbol,
|
|
4
|
-
FluencyOperator,
|
|
5
|
-
FluencyTableColumn,
|
|
6
|
-
MasteryLevel,
|
|
7
|
-
} from './fluencyTeacher.constants'
|
|
2
|
+
import { FluencyOperator, FluencyOperatorColumn, FluencyTableColumn } from './fluencyTeacher.constants'
|
|
8
3
|
import { SortingDirection } from '../../shared/common.constants'
|
|
9
4
|
|
|
10
5
|
type FactId = string
|
|
@@ -15,7 +10,7 @@ type FactPosition = {
|
|
|
15
10
|
}
|
|
16
11
|
|
|
17
12
|
type FactState = {
|
|
18
|
-
box:
|
|
13
|
+
box: number
|
|
19
14
|
lastAttemptedAt: string | null
|
|
20
15
|
lastSolvedAt: string | null
|
|
21
16
|
attemptsCount: number
|
|
@@ -67,8 +62,6 @@ export type ClassFluencySummaryResponse = {
|
|
|
67
62
|
hardestFacts: TeacherFluencyHardestFact[]
|
|
68
63
|
}
|
|
69
64
|
|
|
70
|
-
export type FluencyOperatorColumn = Exclude<FluencyTableColumn, FluencyTableColumn.AVERAGE>
|
|
71
|
-
|
|
72
65
|
export type ClassOperatorAverages = Record<FluencyOperatorColumn, number>
|
|
73
66
|
|
|
74
67
|
export type ClassFluencyStats = ClassFluencySummaryResponse & {
|
|
@@ -95,6 +88,7 @@ export type StudentResult = {
|
|
|
95
88
|
id: string
|
|
96
89
|
name: string
|
|
97
90
|
averagePercent: number
|
|
91
|
+
averageLabel: TranslationKey
|
|
98
92
|
scores: StudentOperatorScores
|
|
99
93
|
}
|
|
100
94
|
|
|
@@ -105,38 +99,11 @@ export type StudentDrawerInfo = StudentResult & {
|
|
|
105
99
|
export type OperatorColumnConfig = {
|
|
106
100
|
operator: FluencyOperatorColumn
|
|
107
101
|
labelKey: TranslationKey
|
|
102
|
+
symbol: string
|
|
103
|
+
badgeBg: string
|
|
104
|
+
badgeText: string
|
|
108
105
|
}
|
|
109
106
|
|
|
110
|
-
export type OperatorCardConfig = {
|
|
111
|
-
labelKey: TranslationKey
|
|
112
|
-
symbol: FluencyMathOperatorSymbol
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export type OperatorPalette = {
|
|
116
|
-
bands: [string, string, string, string, string]
|
|
117
|
-
bandBorders: [string, string, string, string, string]
|
|
118
|
-
darkText: string
|
|
119
|
-
legendCount: string
|
|
120
|
-
boxBorder: string
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export type OperatorBandColors = {
|
|
124
|
-
background: string
|
|
125
|
-
border: string
|
|
126
|
-
text: string
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export type LegendItem = {
|
|
130
|
-
box: MasteryLevel | null
|
|
131
|
-
labelKey: TranslationKey
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export type DrawerGridCell = { box: MasteryLevel | null; isEmpty: boolean }
|
|
135
|
-
|
|
136
|
-
export type DrawerGridRow = { label: number; cells: DrawerGridCell[] }
|
|
137
|
-
|
|
138
|
-
export type DrawerGrid = { colLabels: number[]; rows: DrawerGridRow[] }
|
|
139
|
-
|
|
140
107
|
export type TeacherFluencyGateProps = {
|
|
141
108
|
students: FluencyStudent[]
|
|
142
109
|
grade: number
|
|
@@ -2,8 +2,10 @@ import { useMemo } from 'react'
|
|
|
2
2
|
import { useUnit } from 'effector-react'
|
|
3
3
|
import { useTeacherFluency } from '../context/TeacherFluencyContext'
|
|
4
4
|
import { FluencyOperator } from '../fluencyTeacher.constants'
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
export type DrawerGridCell = { box: number | null; isEmpty: boolean }
|
|
7
|
+
export type DrawerGridRow = { label: number; cells: DrawerGridCell[] }
|
|
8
|
+
export type DrawerGrid = { colLabels: number[]; rows: DrawerGridRow[] }
|
|
7
9
|
|
|
8
10
|
export const useDrawerGrid = (operator: FluencyOperator): DrawerGrid | null => {
|
|
9
11
|
const { model } = useTeacherFluency()
|
|
@@ -17,7 +19,8 @@ export const useDrawerGrid = (operator: FluencyOperator): DrawerGrid | null => {
|
|
|
17
19
|
|
|
18
20
|
const isDivision = operator === FluencyOperator.DIVISION
|
|
19
21
|
const isSubtraction = operator === FluencyOperator.SUBTRACTION
|
|
20
|
-
const isCommutative =
|
|
22
|
+
const isCommutative =
|
|
23
|
+
operator === FluencyOperator.ADDITION || operator === FluencyOperator.MULTIPLICATION
|
|
21
24
|
|
|
22
25
|
const maxRow = Math.max(...factList.map((f) => f.position.row))
|
|
23
26
|
const maxCol = Math.max(...factList.map((f) => f.position.column))
|
|
@@ -43,7 +46,7 @@ export const useDrawerGrid = (operator: FluencyOperator): DrawerGrid | null => {
|
|
|
43
46
|
const mirrorBox = mirrorFact?.box ?? null
|
|
44
47
|
const box =
|
|
45
48
|
primaryBox !== null && mirrorBox !== null
|
|
46
|
-
?
|
|
49
|
+
? Math.max(primaryBox, mirrorBox)
|
|
47
50
|
: (primaryBox ?? mirrorBox)
|
|
48
51
|
|
|
49
52
|
return { box, isEmpty: false }
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { useMemo, useState } from 'react'
|
|
2
2
|
import type { LayoutChangeEvent } from 'react-native'
|
|
3
|
-
import { FluencyOperator,
|
|
4
|
-
import type
|
|
5
|
-
import { useDrawerGrid } from './useDrawerGrid'
|
|
3
|
+
import { FluencyOperator, MATRIX_CELL_COLORS } from '../fluencyTeacher.constants'
|
|
4
|
+
import { useDrawerGrid, type DrawerGrid } from './useDrawerGrid'
|
|
6
5
|
|
|
7
6
|
const MATRIX_CELL_GAP = 2
|
|
8
7
|
|
|
@@ -11,7 +10,7 @@ type DrawerMatrixLayout = {
|
|
|
11
10
|
cellSize: number
|
|
12
11
|
fontSize: number
|
|
13
12
|
borderRadius: number
|
|
14
|
-
cellColorMap: Record<
|
|
13
|
+
cellColorMap: Record<number, string>
|
|
15
14
|
onLayout: (e: LayoutChangeEvent) => void
|
|
16
15
|
}
|
|
17
16
|
|
|
@@ -8,16 +8,13 @@ export class TeacherFluencyFiltersModel {
|
|
|
8
8
|
public readonly $search = restore(this.setSearch, '')
|
|
9
9
|
|
|
10
10
|
public readonly toggleSort = createEvent<FluencyTableColumn>()
|
|
11
|
-
public readonly resetSort = createEvent()
|
|
12
11
|
public readonly $sort = createStore<SortState>({
|
|
13
12
|
column: FluencyTableColumn.AVERAGE,
|
|
14
13
|
direction: SortingDirection.DESC,
|
|
14
|
+
}).on(this.toggleSort, (state, column) => {
|
|
15
|
+
if (state.column !== column) return { column, direction: SortingDirection.DESC }
|
|
16
|
+
const direction =
|
|
17
|
+
state.direction === SortingDirection.DESC ? SortingDirection.ASC : SortingDirection.DESC
|
|
18
|
+
return { column, direction }
|
|
15
19
|
})
|
|
16
|
-
.reset(this.resetSort)
|
|
17
|
-
.on(this.toggleSort, (state, column) => {
|
|
18
|
-
if (state.column !== column) return { column, direction: SortingDirection.DESC }
|
|
19
|
-
const direction =
|
|
20
|
-
state.direction === SortingDirection.DESC ? SortingDirection.ASC : SortingDirection.DESC
|
|
21
|
-
return { column, direction }
|
|
22
|
-
})
|
|
23
20
|
}
|
|
@@ -3,7 +3,6 @@ import { createGate } from 'effector-react'
|
|
|
3
3
|
import { TeacherFluencyApiModel } from './TeacherFluencyApiModel'
|
|
4
4
|
import { TeacherFluencyFiltersModel } from './TeacherFluencyFiltersModel'
|
|
5
5
|
import { TeacherFluencyTableModel } from './TeacherFluencyTableModel'
|
|
6
|
-
import { isColumnVisibleForGrade } from '../fluencyTeacher.helpers'
|
|
7
6
|
import type { TeacherFluencyGateProps, TeacherFluencyModelProps } from '../fluencyTeacher.types'
|
|
8
7
|
|
|
9
8
|
export class TeacherFluencyModel {
|
|
@@ -27,13 +26,6 @@ export class TeacherFluencyModel {
|
|
|
27
26
|
target: this.table.reset,
|
|
28
27
|
})
|
|
29
28
|
|
|
30
|
-
sample({
|
|
31
|
-
clock: this.gate.state,
|
|
32
|
-
source: this.filters.$sort,
|
|
33
|
-
filter: (sort, { grade }) => !isColumnVisibleForGrade(sort.column, grade),
|
|
34
|
-
target: this.filters.resetSort,
|
|
35
|
-
})
|
|
36
|
-
|
|
37
29
|
sample({
|
|
38
30
|
clock: this.gate.state,
|
|
39
31
|
source: this.table.initFx.pending,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeSvg","_interopRequireWildcard","_reactNativeUi","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DivisionIcon","color","COLORS","NEUTRAL_9","size","jsxs","width","height","viewBox","fill","children","jsx","Path","d","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency-teacher/assets/DivisionIcon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAA8D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAEvD,MAAMmB,YAAY,GAAGA,CAAC;EAAEC,KAAK,GAAGC,qBAAM,CAACC,SAAS;EAAEC,IAAI,GAAG;AAAc,CAAC,kBAC7E,IAAAzB,WAAA,CAAA0B,IAAA,EAAC7B,eAAA,CAAAU,OAAG;EAACoB,KAAK,EAAEF,IAAK;EAACG,MAAM,EAAEH,IAAK;EAACI,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAC,QAAA,gBAC7D,IAAA/B,WAAA,CAAAgC,GAAA,EAACnC,eAAA,CAAAoC,IAAI;IACHC,CAAC,EAAC,0MAA0M;IAC5MJ,IAAI,EAAER;EAAM,CACb,CAAC,eACF,IAAAtB,WAAA,CAAAgC,GAAA,EAACnC,eAAA,CAAAoC,IAAI;IACHC,CAAC,EAAC,gNAAgN;IAClNJ,IAAI,EAAER;EAAM,CACb,CAAC,eACF,IAAAtB,WAAA,CAAAgC,GAAA,EAACnC,eAAA,CAAAoC,IAAI;IACHC,CAAC,EAAC,wKAAwK;IAC1KJ,IAAI,EAAER;EAAM,CACb,CAAC;AAAA,CACC,CACN;AAAAa,OAAA,CAAAd,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.MatrixLegend = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
10
|
-
var _i18n = require("../../../../i18n/i18n.js");
|
|
11
|
-
var _fluencyTeacherConstants = require("../../fluencyTeacher.constants.js");
|
|
12
|
-
var _fluencyTeacherHelpers = require("../../fluencyTeacher.helpers.js");
|
|
13
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
const MatrixLegend = ({
|
|
16
|
-
operator,
|
|
17
|
-
grid
|
|
18
|
-
}) => {
|
|
19
|
-
const t = (0, _i18n.useText)();
|
|
20
|
-
const counts = (0, _fluencyTeacherHelpers.countFactsByMasteryLevel)(grid, operator);
|
|
21
|
-
const countColor = _fluencyTeacherConstants.OPERATOR_PALETTES[operator].legendCount;
|
|
22
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
23
|
-
style: styles.container,
|
|
24
|
-
children: _fluencyTeacherConstants.LEGEND_LEVELS.map(({
|
|
25
|
-
box,
|
|
26
|
-
labelKey
|
|
27
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
28
|
-
style: styles.item,
|
|
29
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
30
|
-
style: styles.labelWrap,
|
|
31
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
32
|
-
style: [styles.swatch, {
|
|
33
|
-
backgroundColor: box === null ? _fluencyTeacherConstants.MATRIX_NOT_STARTED_COLOR : _fluencyTeacherConstants.MATRIX_CELL_COLORS[operator][box]
|
|
34
|
-
}]
|
|
35
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
36
|
-
style: styles.label,
|
|
37
|
-
children: [t(labelKey), ":"]
|
|
38
|
-
})]
|
|
39
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
40
|
-
style: [styles.count, {
|
|
41
|
-
color: countColor
|
|
42
|
-
}],
|
|
43
|
-
children: counts.get(box) ?? 0
|
|
44
|
-
})]
|
|
45
|
-
}, labelKey))
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
exports.MatrixLegend = MatrixLegend;
|
|
49
|
-
const styles = _reactNative.StyleSheet.create({
|
|
50
|
-
container: {
|
|
51
|
-
width: 130,
|
|
52
|
-
gap: _reactNativeUi.SPACING[100],
|
|
53
|
-
paddingTop: _reactNativeUi.SPACING[200],
|
|
54
|
-
paddingHorizontal: _reactNativeUi.SPACING[100]
|
|
55
|
-
},
|
|
56
|
-
item: {
|
|
57
|
-
flexDirection: 'row',
|
|
58
|
-
alignItems: 'center',
|
|
59
|
-
justifyContent: 'space-between'
|
|
60
|
-
},
|
|
61
|
-
labelWrap: {
|
|
62
|
-
flexDirection: 'row',
|
|
63
|
-
alignItems: 'center',
|
|
64
|
-
gap: _reactNativeUi.SPACING[100]
|
|
65
|
-
},
|
|
66
|
-
swatch: {
|
|
67
|
-
width: 10,
|
|
68
|
-
height: 10,
|
|
69
|
-
borderRadius: 4
|
|
70
|
-
},
|
|
71
|
-
label: {
|
|
72
|
-
fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires,
|
|
73
|
-
fontWeight: '400',
|
|
74
|
-
fontSize: 10,
|
|
75
|
-
color: _reactNativeUi.COLORS.NEUTRAL_7
|
|
76
|
-
},
|
|
77
|
-
count: {
|
|
78
|
-
fontFamily: _reactNativeUi.FONT_FAMILY.buenosAiresSemiBold,
|
|
79
|
-
fontWeight: '600',
|
|
80
|
-
fontSize: 13
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
//# sourceMappingURL=MatrixLegend.js.map
|