@magmamath/students-features 1.8.0-rc.0-fluency-visuals → 1.8.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/EquationContent.js +8 -9
- 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 +1 -3
- 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 +10 -63
- 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 +0 -10
- 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 +2 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/commonjs/features/fluency/index.js +0 -20
- package/dist/commonjs/features/fluency/index.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/assets/{SortDefaultIcon.js → DivisionIcon.js} +11 -8
- package/dist/commonjs/features/fluency-teacher/assets/DivisionIcon.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/FluencyTeacher.js +4 -3
- package/dist/commonjs/features/fluency-teacher/components/FluencyTeacher.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.js +48 -43
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.js +11 -28
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.js +27 -44
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js +47 -40
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerStats.js +14 -24
- 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 +2 -16
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixCell.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.js +83 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixRow.js +1 -2
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixRow.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.js +15 -41
- package/dist/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/AverageCell.js +55 -0
- package/dist/commonjs/features/fluency-teacher/components/table/AverageCell.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/AverageSortButton.js +6 -62
- package/dist/commonjs/features/fluency-teacher/components/table/AverageSortButton.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +42 -40
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/OperatorBadge.js +25 -16
- package/dist/commonjs/features/fluency-teacher/components/table/OperatorBadge.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/SortOrderCarets.js +40 -0
- package/dist/commonjs/features/fluency-teacher/components/table/SortOrderCarets.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.js +30 -40
- package/dist/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/TableRow.js +59 -72
- package/dist/commonjs/features/fluency-teacher/components/table/TableRow.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/tableCell.styles.js +45 -0
- package/dist/commonjs/features/fluency-teacher/components/table/tableCell.styles.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 +103 -38
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.constants.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.helpers.js +52 -10
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/hooks/useDrawerGrid.js +3 -2
- 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 +2 -1
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyModel.js +9 -0
- 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/EquationContent.js +8 -9
- 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 +1 -3
- 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 +11 -64
- 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 +0 -10
- 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 +2 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/module/features/fluency/index.js +0 -2
- package/dist/module/features/fluency/index.js.map +1 -1
- package/dist/module/features/fluency-teacher/assets/DivisionIcon.js +26 -0
- package/dist/module/features/fluency-teacher/assets/DivisionIcon.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/FluencyTeacher.js +4 -3
- package/dist/module/features/fluency-teacher/components/FluencyTeacher.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerHeader.js +49 -44
- package/dist/module/features/fluency-teacher/components/drawer/DrawerHeader.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMatrixes.js +14 -31
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMatrixes.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.js +28 -45
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js +48 -41
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerStats.js +17 -27
- 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 +3 -17
- package/dist/module/features/fluency-teacher/components/matrix/MatrixCell.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/matrix/MatrixLegend.js +77 -0
- package/dist/module/features/fluency-teacher/components/matrix/MatrixLegend.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/matrix/MatrixRow.js +1 -2
- package/dist/module/features/fluency-teacher/components/matrix/MatrixRow.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/AllPupilsTableRow.js +16 -42
- package/dist/module/features/fluency-teacher/components/table/AllPupilsTableRow.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/AverageCell.js +49 -0
- package/dist/module/features/fluency-teacher/components/table/AverageCell.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/AverageSortButton.js +7 -63
- package/dist/module/features/fluency-teacher/components/table/AverageSortButton.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +44 -42
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/OperatorBadge.js +25 -16
- package/dist/module/features/fluency-teacher/components/table/OperatorBadge.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/SortOrderCarets.js +34 -0
- package/dist/module/features/fluency-teacher/components/table/SortOrderCarets.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/TableColumnSortButton.js +32 -42
- package/dist/module/features/fluency-teacher/components/table/TableColumnSortButton.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/TableRow.js +62 -75
- package/dist/module/features/fluency-teacher/components/table/TableRow.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/tableCell.styles.js +42 -0
- package/dist/module/features/fluency-teacher/components/table/tableCell.styles.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 +102 -37
- package/dist/module/features/fluency-teacher/fluencyTeacher.constants.js.map +1 -1
- package/dist/module/features/fluency-teacher/fluencyTeacher.helpers.js +43 -8
- package/dist/module/features/fluency-teacher/fluencyTeacher.helpers.js.map +1 -1
- package/dist/module/features/fluency-teacher/hooks/useDrawerGrid.js +3 -2
- 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 +2 -1
- package/dist/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.js.map +1 -1
- package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js +9 -0
- package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js.map +1 -1
- 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 +1 -2
- 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 +0 -2
- package/dist/typescript/commonjs/features/fluency/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/assets/DivisionIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency-teacher/assets/DivisionIcon.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/DrawerMatrixes.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts +1 -4
- 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 +6 -4
- 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 +3 -2
- 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 +6 -5
- 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 +2 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.d.ts +10 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixRow.d.ts +5 -3
- 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/AverageCell.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageCell.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageSortButton.d.ts +2 -1
- 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 +5 -4
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/OperatorBadge.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/SortOrderCarets.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/SortOrderCarets.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.d.ts +7 -6
- 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 +4 -3
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRow.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/tableCell.styles.d.ts +35 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/tableCell.styles.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/context/TeacherFluencyContext.d.ts +1 -0
- 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 +16 -3
- 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 +11 -4
- 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 +35 -6
- 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 +1 -12
- 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 +1 -0
- 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/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 +1 -2
- 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 +0 -2
- package/dist/typescript/module/features/fluency/index.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/assets/DivisionIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency-teacher/assets/DivisionIcon.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/DrawerMatrixes.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts +1 -4
- 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 +6 -4
- 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 +3 -2
- 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 +6 -5
- 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 +2 -1
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixLegend.d.ts +10 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixLegend.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixRow.d.ts +5 -3
- 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/AverageCell.d.ts +9 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/AverageCell.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/AverageSortButton.d.ts +2 -1
- 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 +5 -4
- package/dist/typescript/module/features/fluency-teacher/components/table/OperatorBadge.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/SortOrderCarets.d.ts +9 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/SortOrderCarets.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/TableColumnSortButton.d.ts +7 -6
- 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 +4 -3
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRow.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/tableCell.styles.d.ts +35 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/tableCell.styles.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/context/TeacherFluencyContext.d.ts +1 -0
- 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 +16 -3
- 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 +11 -4
- 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 +35 -6
- 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 +1 -12
- 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 +1 -0
- 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/EquationContent.tsx +8 -12
- package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +1 -6
- package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +11 -63
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx +0 -9
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +2 -0
- package/src/features/fluency/index.ts +0 -2
- package/src/features/fluency-teacher/assets/DivisionIcon.tsx +20 -0
- package/src/features/fluency-teacher/components/FluencyTeacher.tsx +3 -3
- package/src/features/fluency-teacher/components/drawer/DrawerHeader.tsx +37 -35
- package/src/features/fluency-teacher/components/drawer/DrawerMatrixes.tsx +13 -32
- package/src/features/fluency-teacher/components/drawer/DrawerOperatorBox.tsx +20 -40
- package/src/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.tsx +35 -35
- package/src/features/fluency-teacher/components/drawer/DrawerStats.tsx +16 -28
- package/src/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.tsx +4 -5
- package/src/features/fluency-teacher/components/matrix/DrawerMatrix.tsx +3 -2
- package/src/features/fluency-teacher/components/matrix/MatrixCell.tsx +7 -16
- package/src/features/fluency-teacher/components/matrix/MatrixHeaderRow.tsx +1 -1
- package/src/features/fluency-teacher/components/matrix/MatrixLegend.tsx +81 -0
- package/src/features/fluency-teacher/components/matrix/MatrixRow.tsx +4 -4
- package/src/features/fluency-teacher/components/table/AllPupilsTableRow.tsx +13 -40
- package/src/features/fluency-teacher/components/table/AverageCell.tsx +45 -0
- package/src/features/fluency-teacher/components/table/AverageSortButton.tsx +8 -62
- package/src/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.tsx +49 -35
- package/src/features/fluency-teacher/components/table/OperatorBadge.tsx +18 -11
- package/src/features/fluency-teacher/components/table/SortOrderCarets.tsx +37 -0
- package/src/features/fluency-teacher/components/table/TableColumnSortButton.tsx +28 -49
- package/src/features/fluency-teacher/components/table/TableRow.tsx +65 -64
- package/src/features/fluency-teacher/components/table/tableCell.styles.ts +39 -0
- package/src/features/fluency-teacher/context/TeacherFluencyContext.ts +1 -0
- package/src/features/fluency-teacher/fluencyTeacher.constants.ts +138 -40
- package/src/features/fluency-teacher/fluencyTeacher.helpers.ts +82 -10
- package/src/features/fluency-teacher/fluencyTeacher.types.ts +39 -6
- package/src/features/fluency-teacher/hooks/useDrawerGrid.ts +4 -7
- package/src/features/fluency-teacher/hooks/useDrawerMatrix.ts +4 -3
- package/src/features/fluency-teacher/model/TeacherFluencyFiltersModel.ts +8 -5
- package/src/features/fluency-teacher/model/TeacherFluencyModel.ts +8 -0
- package/dist/commonjs/features/fluency/components/FluencyVisualPlayground.js +0 -386
- package/dist/commonjs/features/fluency/components/FluencyVisualPlayground.js.map +0 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js +0 -48
- package/dist/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/adapter.js +0 -36
- package/dist/commonjs/features/fluency/visual-scaffolding/adapter.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js +0 -232
- package/dist/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/components/Dot.js +0 -51
- package/dist/commonjs/features/fluency/visual-scaffolding/components/Dot.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.js +0 -104
- package/dist/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/components/FactVisual.js +0 -75
- package/dist/commonjs/features/fluency/visual-scaffolding/components/FactVisual.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.js +0 -91
- package/dist/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.js +0 -279
- package/dist/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/components/visualColors.js +0 -44
- package/dist/commonjs/features/fluency/visual-scaffolding/components/visualColors.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/index.js +0 -73
- package/dist/commonjs/features/fluency/visual-scaffolding/index.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/renderFact.js +0 -276
- package/dist/commonjs/features/fluency/visual-scaffolding/renderFact.js.map +0 -1
- package/dist/commonjs/features/fluency/visual-scaffolding/types.js +0 -2
- package/dist/commonjs/features/fluency/visual-scaffolding/types.js.map +0 -1
- package/dist/commonjs/features/fluency-teacher/assets/SortDefaultIcon.js.map +0 -1
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js +0 -80
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js.map +0 -1
- package/dist/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.js +0 -71
- package/dist/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.js.map +0 -1
- package/dist/module/features/fluency/components/FluencyVisualPlayground.js +0 -379
- package/dist/module/features/fluency/components/FluencyVisualPlayground.js.map +0 -1
- package/dist/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js +0 -43
- package/dist/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/adapter.js +0 -31
- package/dist/module/features/fluency/visual-scaffolding/adapter.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js +0 -225
- package/dist/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/components/Dot.js +0 -45
- package/dist/module/features/fluency/visual-scaffolding/components/Dot.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.js +0 -96
- package/dist/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/components/FactVisual.js +0 -69
- package/dist/module/features/fluency/visual-scaffolding/components/FactVisual.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/components/QuotativeBars.js +0 -83
- package/dist/module/features/fluency/visual-scaffolding/components/QuotativeBars.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/components/RelationalBlock.js +0 -272
- package/dist/module/features/fluency/visual-scaffolding/components/RelationalBlock.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/components/visualColors.js +0 -41
- package/dist/module/features/fluency/visual-scaffolding/components/visualColors.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/index.js +0 -8
- package/dist/module/features/fluency/visual-scaffolding/index.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/renderFact.js +0 -269
- package/dist/module/features/fluency/visual-scaffolding/renderFact.js.map +0 -1
- package/dist/module/features/fluency/visual-scaffolding/types.js +0 -2
- package/dist/module/features/fluency/visual-scaffolding/types.js.map +0 -1
- package/dist/module/features/fluency-teacher/assets/SortDefaultIcon.js +0 -23
- package/dist/module/features/fluency-teacher/assets/SortDefaultIcon.js.map +0 -1
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js +0 -74
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js.map +0 -1
- package/dist/module/features/fluency-teacher/components/table/TableRowAverageProgress.js +0 -65
- package/dist/module/features/fluency-teacher/components/table/TableRowAverageProgress.js.map +0 -1
- package/dist/typescript/commonjs/features/fluency/components/FluencyVisualPlayground.d.ts +0 -8
- package/dist/typescript/commonjs/features/fluency/components/FluencyVisualPlayground.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts +0 -3
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts +0 -2
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/adapter.d.ts +0 -4
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/adapter.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts +0 -10
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/Dot.d.ts +0 -10
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/Dot.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts +0 -10
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/FactVisual.d.ts +0 -10
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/FactVisual.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts +0 -10
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts +0 -10
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/visualColors.d.ts +0 -16
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/visualColors.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/index.d.ts +0 -6
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/index.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/renderFact.d.ts +0 -23
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/renderFact.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/types.d.ts +0 -103
- package/dist/typescript/commonjs/features/fluency/visual-scaffolding/types.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/assets/SortDefaultIcon.d.ts +0 -4
- package/dist/typescript/commonjs/features/fluency-teacher/assets/SortDefaultIcon.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts +0 -3
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts +0 -7
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/components/FluencyVisualPlayground.d.ts +0 -8
- package/dist/typescript/module/features/fluency/components/FluencyVisualPlayground.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts +0 -3
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts +0 -2
- package/dist/typescript/module/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/adapter.d.ts +0 -4
- package/dist/typescript/module/features/fluency/visual-scaffolding/adapter.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts +0 -10
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/Dot.d.ts +0 -10
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/Dot.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts +0 -10
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/FactVisual.d.ts +0 -10
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/FactVisual.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts +0 -10
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts +0 -10
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/visualColors.d.ts +0 -16
- package/dist/typescript/module/features/fluency/visual-scaffolding/components/visualColors.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/index.d.ts +0 -6
- package/dist/typescript/module/features/fluency/visual-scaffolding/index.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/renderFact.d.ts +0 -23
- package/dist/typescript/module/features/fluency/visual-scaffolding/renderFact.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/visual-scaffolding/types.d.ts +0 -103
- package/dist/typescript/module/features/fluency/visual-scaffolding/types.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency-teacher/assets/SortDefaultIcon.d.ts +0 -4
- package/dist/typescript/module/features/fluency-teacher/assets/SortDefaultIcon.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts +0 -3
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts +0 -7
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts.map +0 -1
- package/src/features/fluency/components/FluencyVisualPlayground.tsx +0 -272
- package/src/features/fluency/components/fluency-solving/components/DebugBoxIndicator.tsx +0 -40
- package/src/features/fluency/visual-scaffolding/__tests__/__snapshots__/renderFact.test.ts.snap +0 -64
- package/src/features/fluency/visual-scaffolding/__tests__/renderFact.test.ts +0 -192
- package/src/features/fluency/visual-scaffolding/adapter.ts +0 -33
- package/src/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.tsx +0 -222
- package/src/features/fluency/visual-scaffolding/components/Dot.tsx +0 -36
- package/src/features/fluency/visual-scaffolding/components/DynamicNumberLine.tsx +0 -98
- package/src/features/fluency/visual-scaffolding/components/FactVisual.tsx +0 -61
- package/src/features/fluency/visual-scaffolding/components/QuotativeBars.tsx +0 -92
- package/src/features/fluency/visual-scaffolding/components/RelationalBlock.tsx +0 -225
- package/src/features/fluency/visual-scaffolding/components/visualColors.ts +0 -45
- package/src/features/fluency/visual-scaffolding/index.ts +0 -5
- package/src/features/fluency/visual-scaffolding/renderFact.ts +0 -219
- package/src/features/fluency/visual-scaffolding/types.ts +0 -108
- package/src/features/fluency-teacher/assets/SortDefaultIcon.tsx +0 -10
- package/src/features/fluency-teacher/components/drawer/DrawerMasteryLegend.tsx +0 -63
- package/src/features/fluency-teacher/components/table/TableRowAverageProgress.tsx +0 -65
package/dist/typescript/module/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { RelationalSpec } from '../types';
|
|
3
|
-
import type { VisualColors } from './visualColors';
|
|
4
|
-
type RelationalBlockProps = {
|
|
5
|
-
spec: RelationalSpec;
|
|
6
|
-
colors: VisualColors;
|
|
7
|
-
};
|
|
8
|
-
export declare const RelationalBlock: ({ spec, colors }: RelationalBlockProps) => React.JSX.Element;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=RelationalBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RelationalBlock.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/visual-scaffolding/components/RelationalBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;CACrB,CAAA;AAGD,eAAO,MAAM,eAAe,qBAAsB,oBAAoB,sBAcrE,CAAA"}
|
package/dist/typescript/module/features/fluency/visual-scaffolding/components/visualColors.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Operation } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* Per-operation color set (spec §6):
|
|
4
|
-
* accent → dots / lines / fills
|
|
5
|
-
* bg → the tinted visual-zone background (lightest tint)
|
|
6
|
-
* mid → the "second" quantity (2nd addend, dashed group outline)
|
|
7
|
-
* dark → small text labels (number-line tick/jump captions)
|
|
8
|
-
*/
|
|
9
|
-
export type VisualColors = {
|
|
10
|
-
accent: string;
|
|
11
|
-
bg: string;
|
|
12
|
-
mid: string;
|
|
13
|
-
dark: string;
|
|
14
|
-
};
|
|
15
|
-
export declare const VISUAL_COLORS: Record<Operation, VisualColors>;
|
|
16
|
-
//# sourceMappingURL=visualColors.d.ts.map
|
package/dist/typescript/module/features/fluency/visual-scaffolding/components/visualColors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"visualColors.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/visual-scaffolding/components/visualColors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CA2BzD,CAAA"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './types';
|
|
2
|
-
export { renderFact, hasVisual, levelForBox, TEN_FRAME_CAPACITY } from './renderFact';
|
|
3
|
-
export { FactVisual } from './components/FactVisual';
|
|
4
|
-
export { VISUAL_COLORS } from './components/visualColors';
|
|
5
|
-
export { toFactPresentation } from './adapter';
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/visual-scaffolding/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure renderer core for the Unified Math Fact Fluency Visual Engine.
|
|
3
|
-
*
|
|
4
|
-
* box → level (levelForBox)
|
|
5
|
-
* level → component (L1 grid, L2 relational, L3 line, L4/L5 none)
|
|
6
|
-
* operation → component variant + layout data
|
|
7
|
-
*
|
|
8
|
-
* Everything is derived; nothing is persisted. `renderFact` is pure so it can
|
|
9
|
-
* be snapshot-tested in isolation from React.
|
|
10
|
-
*/
|
|
11
|
-
import type { FactPresentation, Level, VisualSpec } from './types';
|
|
12
|
-
export declare const TEN_FRAME_CAPACITY = 10;
|
|
13
|
-
/** box → level. Five boxes map one-to-one onto the five engine levels. */
|
|
14
|
-
export declare function levelForBox(box: number): Level;
|
|
15
|
-
/**
|
|
16
|
-
* Single entry point the card calls. Returns the visual spec for the current
|
|
17
|
-
* fact at its current box. The symbolic equation is rendered separately and is
|
|
18
|
-
* always present.
|
|
19
|
-
*/
|
|
20
|
-
export declare function renderFact(p: FactPresentation): VisualSpec;
|
|
21
|
-
/** Whether the fact has any visual scaffold at its current box (false at L4/L5). */
|
|
22
|
-
export declare function hasVisual(p: FactPresentation): boolean;
|
|
23
|
-
//# sourceMappingURL=renderFact.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderFact.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/visual-scaffolding/renderFact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAEV,gBAAgB,EAGhB,KAAK,EAOL,UAAU,EACX,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAGpC,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAa9C;AAgJD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAsB1D;AAED,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAEtD"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified Math Fact Fluency Visual Engine — pure data contract.
|
|
3
|
-
*
|
|
4
|
-
* Three polymorphic components render the visual scaffold, chosen by the
|
|
5
|
-
* student's level (derived from the Leitner box). Each component mutates by
|
|
6
|
-
* operation. These types describe *what to draw* — never pixels — so the same
|
|
7
|
-
* spec drives the real RN UI and the snapshot test harness.
|
|
8
|
-
*
|
|
9
|
-
* L1 → DiscreteCounterGrid (discrete quantities)
|
|
10
|
-
* L2 → RelationalBlock (part-whole structures)
|
|
11
|
-
* L3 → DynamicNumberLine (forward jumps)
|
|
12
|
-
* L4 → PureEquationText (plain text; hint deferred)
|
|
13
|
-
* L5 → PureEquationText (plain text only)
|
|
14
|
-
*/
|
|
15
|
-
export type Operation = 'addition' | 'subtraction' | 'multiplication' | 'division';
|
|
16
|
-
export type Level = 'L1' | 'L2' | 'L3' | 'L4' | 'L5';
|
|
17
|
-
/** Operands in the ORDER presented to the student (already direction-resolved). */
|
|
18
|
-
export type FactPresentation = {
|
|
19
|
-
operation: Operation;
|
|
20
|
-
left: number;
|
|
21
|
-
right: number;
|
|
22
|
-
box: 0 | 1 | 2 | 3 | 4;
|
|
23
|
-
};
|
|
24
|
-
type BaseVisualSpec = {
|
|
25
|
-
operation: Operation;
|
|
26
|
-
left: number;
|
|
27
|
-
right: number;
|
|
28
|
-
level: Level;
|
|
29
|
-
};
|
|
30
|
-
/** A ten-frame token tone: first set, second set, or taken-away. */
|
|
31
|
-
export type TokenTone = 'a' | 'b' | 'gone';
|
|
32
|
-
export type GridLayout = {
|
|
33
|
-
type: 'tenframes';
|
|
34
|
-
a: number;
|
|
35
|
-
b: number;
|
|
36
|
-
capacity: number;
|
|
37
|
-
} | {
|
|
38
|
-
type: 'tenframes_takeaway';
|
|
39
|
-
total: number;
|
|
40
|
-
removed: number;
|
|
41
|
-
capacity: number;
|
|
42
|
-
} | {
|
|
43
|
-
type: 'array';
|
|
44
|
-
rows: number;
|
|
45
|
-
cols: number;
|
|
46
|
-
} | {
|
|
47
|
-
type: 'groups';
|
|
48
|
-
groupCount: number;
|
|
49
|
-
perGroup: number;
|
|
50
|
-
};
|
|
51
|
-
export type GridSpec = BaseVisualSpec & {
|
|
52
|
-
kind: 'grid';
|
|
53
|
-
layout: GridLayout;
|
|
54
|
-
};
|
|
55
|
-
/** A node/dimension value, or null for the unknown (rendered as a placeholder). */
|
|
56
|
-
export type NodeValue = number | null;
|
|
57
|
-
export type RelationalModel = {
|
|
58
|
-
type: 'bond';
|
|
59
|
-
top: NodeValue;
|
|
60
|
-
bottomLeft: NodeValue;
|
|
61
|
-
bottomRight: NodeValue;
|
|
62
|
-
} | {
|
|
63
|
-
type: 'area';
|
|
64
|
-
top: NodeValue;
|
|
65
|
-
side: NodeValue;
|
|
66
|
-
center: NodeValue;
|
|
67
|
-
};
|
|
68
|
-
export type RelationalSpec = BaseVisualSpec & {
|
|
69
|
-
kind: 'relational';
|
|
70
|
-
model: RelationalModel;
|
|
71
|
-
};
|
|
72
|
-
export type LineJump = {
|
|
73
|
-
from: number;
|
|
74
|
-
to: number;
|
|
75
|
-
label: string;
|
|
76
|
-
};
|
|
77
|
-
export type LineSpec = BaseVisualSpec & {
|
|
78
|
-
kind: 'line';
|
|
79
|
-
lo: number;
|
|
80
|
-
hi: number;
|
|
81
|
-
ticks: number[];
|
|
82
|
-
jumps: LineJump[];
|
|
83
|
-
/** Tick value whose label is masked as "?" (the answer), or null to label all. */
|
|
84
|
-
hiddenTick: number | null;
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* Quotative ("measurement") division: the dividend laid out as a bar cut into
|
|
88
|
-
* equal segments of `segment` (the divisor); the student counts the segments,
|
|
89
|
-
* and that count (`segmentCount`, the quotient) is the answer.
|
|
90
|
-
*/
|
|
91
|
-
export type BarSpec = BaseVisualSpec & {
|
|
92
|
-
kind: 'bars';
|
|
93
|
-
total: number;
|
|
94
|
-
segment: number;
|
|
95
|
-
segmentCount: number;
|
|
96
|
-
};
|
|
97
|
-
export type NoVisualSpec = BaseVisualSpec & {
|
|
98
|
-
kind: 'none';
|
|
99
|
-
};
|
|
100
|
-
/** Discriminated union the views switch on. */
|
|
101
|
-
export type VisualSpec = GridSpec | RelationalSpec | LineSpec | BarSpec | NoVisualSpec;
|
|
102
|
-
export {};
|
|
103
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/visual-scaffolding/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,gBAAgB,GAAG,UAAU,CAAA;AAElF,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEpD,mFAAmF;AACnF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CACvB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAID,oEAAoE;AACpE,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAAA;AAE1C,MAAM,MAAM,UAAU,GAElB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAE7D;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAEhF;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAE7C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAID,mFAAmF;AACnF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,CAAA;AAErC,MAAM,MAAM,eAAe,GAEvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,SAAS,CAAA;CAAE,GAE/E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAA;AAExE,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAID,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,kFAAkF;IAClF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B,CAAA;AAID;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAID,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SortDefaultIcon.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency-teacher/assets/SortDefaultIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAU,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,eAAe,oBAA6C,SAAS,sBAKjF,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerMasteryLegend.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency-teacher/components/drawer/DrawerMasteryLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAmBzB,eAAO,MAAM,mBAAmB,yBAY/B,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export type TableRowAverageProgressProps = {
|
|
3
|
-
percent: number;
|
|
4
|
-
label: string;
|
|
5
|
-
};
|
|
6
|
-
export declare const TableRowAverageProgress: ({ percent, label }: TableRowAverageProgressProps) => React.JSX.Element;
|
|
7
|
-
//# sourceMappingURL=TableRowAverageProgress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableRowAverageProgress.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency-teacher/components/table/TableRowAverageProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,uBAAuB,uBAAwB,4BAA4B,sBAYvF,CAAA"}
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import React, { useState } from 'react'
|
|
2
|
-
import { View, Text, Pressable, ScrollView, StyleSheet } from 'react-native'
|
|
3
|
-
import { BORDER_RADIUS, COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui'
|
|
4
|
-
|
|
5
|
-
import { FluencyProvider } from '../context/FluencyContext'
|
|
6
|
-
import type { FluencyModel } from '../model/FluencyModel'
|
|
7
|
-
import { FluencyCardDeck } from './fluency-solving/components/FluencyCardDeck'
|
|
8
|
-
import { useFluencyCardDeckAnimation } from '../hooks/useFluencyCardDeckAnimation'
|
|
9
|
-
import { useSuccessSound } from '../hooks/useSuccessSound'
|
|
10
|
-
import { AttemptStatus, FluencyMode } from '../shared/fluency.constants'
|
|
11
|
-
import type { SolvingFact } from '../shared/fluencySolving.types'
|
|
12
|
-
import { levelForBox, renderFact, VISUAL_COLORS } from '../visual-scaffolding'
|
|
13
|
-
import type { FactPresentation, Operation } from '../visual-scaffolding'
|
|
14
|
-
|
|
15
|
-
type OperationOption = { value: Operation; mode: FluencyMode; symbol: string; label: string }
|
|
16
|
-
|
|
17
|
-
const OPERATIONS: OperationOption[] = [
|
|
18
|
-
{ value: 'addition', mode: FluencyMode.ADDITION, symbol: '+', label: 'Addition' },
|
|
19
|
-
{ value: 'subtraction', mode: FluencyMode.SUBTRACTION, symbol: '−', label: 'Subtraction' },
|
|
20
|
-
{ value: 'multiplication', mode: FluencyMode.MULTIPLICATION, symbol: '×', label: 'Multiplication' },
|
|
21
|
-
{ value: 'division', mode: FluencyMode.DIVISION, symbol: '÷', label: 'Division' },
|
|
22
|
-
]
|
|
23
|
-
|
|
24
|
-
const BOXES: FactPresentation['box'][] = [0, 1, 2, 3, 4]
|
|
25
|
-
|
|
26
|
-
// Defaults per operation that exercise the more interesting layouts (ten-bridging
|
|
27
|
-
// addition, regrouping subtraction, a clean array / grouping).
|
|
28
|
-
const DEFAULT_OPERANDS: Record<Operation, [number, number]> = {
|
|
29
|
-
addition: [7, 8],
|
|
30
|
-
subtraction: [13, 5],
|
|
31
|
-
multiplication: [3, 4],
|
|
32
|
-
division: [12, 4],
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const OPERAND_MIN = 0
|
|
36
|
-
const OPERAND_MAX = 20
|
|
37
|
-
|
|
38
|
-
const answerFor = (operation: Operation, left: number, right: number): number => {
|
|
39
|
-
switch (operation) {
|
|
40
|
-
case 'addition':
|
|
41
|
-
return left + right
|
|
42
|
-
case 'subtraction':
|
|
43
|
-
return left - right
|
|
44
|
-
case 'multiplication':
|
|
45
|
-
return left * right
|
|
46
|
-
case 'division':
|
|
47
|
-
return right > 0 ? Math.floor(left / right) : 0
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
type ChipProps = {
|
|
52
|
-
label: string
|
|
53
|
-
sublabel?: string
|
|
54
|
-
isActive: boolean
|
|
55
|
-
activeColor: string
|
|
56
|
-
onPress: () => void
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const Chip = ({ label, sublabel, isActive, activeColor, onPress }: ChipProps) => (
|
|
60
|
-
<Pressable
|
|
61
|
-
onPress={onPress}
|
|
62
|
-
style={[styles.chip, isActive && { backgroundColor: activeColor, borderColor: activeColor }]}
|
|
63
|
-
>
|
|
64
|
-
<Text style={[styles.chipLabel, isActive && styles.chipLabelActive]}>{label}</Text>
|
|
65
|
-
{sublabel && <Text style={[styles.chipSub, isActive && styles.chipLabelActive]}>{sublabel}</Text>}
|
|
66
|
-
</Pressable>
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
type StepperProps = {
|
|
70
|
-
label: string
|
|
71
|
-
value: number
|
|
72
|
-
onChange: (next: number) => void
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const Stepper = ({ label, value, onChange }: StepperProps) => {
|
|
76
|
-
const clamp = (n: number) => Math.max(OPERAND_MIN, Math.min(OPERAND_MAX, n))
|
|
77
|
-
return (
|
|
78
|
-
<View style={styles.stepper}>
|
|
79
|
-
<Text style={styles.stepperLabel}>{label}</Text>
|
|
80
|
-
<View style={styles.stepperRow}>
|
|
81
|
-
<Pressable style={styles.stepperBtn} onPress={() => onChange(clamp(value - 1))}>
|
|
82
|
-
<Text style={styles.stepperBtnText}>−</Text>
|
|
83
|
-
</Pressable>
|
|
84
|
-
<Text style={styles.stepperValue}>{value}</Text>
|
|
85
|
-
<Pressable style={styles.stepperBtn} onPress={() => onChange(clamp(value + 1))}>
|
|
86
|
-
<Text style={styles.stepperBtnText}>+</Text>
|
|
87
|
-
</Pressable>
|
|
88
|
-
</View>
|
|
89
|
-
</View>
|
|
90
|
-
)
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
type FluencyVisualPlaygroundProps = {
|
|
94
|
-
model: FluencyModel
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export const FluencyVisualPlayground = ({ model }: FluencyVisualPlaygroundProps) => {
|
|
98
|
-
const [operation, setOperation] = useState<Operation>('addition')
|
|
99
|
-
const [box, setBox] = useState<FactPresentation['box']>(0)
|
|
100
|
-
const [left, setLeft] = useState(DEFAULT_OPERANDS.addition[0])
|
|
101
|
-
const [right, setRight] = useState(DEFAULT_OPERANDS.addition[1])
|
|
102
|
-
|
|
103
|
-
const deck = useFluencyCardDeckAnimation()
|
|
104
|
-
const successSound = useSuccessSound()
|
|
105
|
-
|
|
106
|
-
const selectOperation = (next: OperationOption) => {
|
|
107
|
-
setOperation(next.value)
|
|
108
|
-
const [l, r] = DEFAULT_OPERANDS[next.value]
|
|
109
|
-
setLeft(l)
|
|
110
|
-
setRight(r)
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const mode = OPERATIONS.find((o) => o.value === operation)?.mode ?? FluencyMode.ADDITION
|
|
114
|
-
const fact: SolvingFact = {
|
|
115
|
-
id: 'playground',
|
|
116
|
-
mode,
|
|
117
|
-
numbers: [left, right],
|
|
118
|
-
answer: answerFor(operation, left, right),
|
|
119
|
-
difficulty: 0,
|
|
120
|
-
box,
|
|
121
|
-
lastSeenMs: null,
|
|
122
|
-
sessionStartBox: box,
|
|
123
|
-
hasFailedThisSession: false,
|
|
124
|
-
attemptsCount: 0,
|
|
125
|
-
correctCount: 0,
|
|
126
|
-
}
|
|
127
|
-
const spec = renderFact({ operation, left, right, box })
|
|
128
|
-
const accent = VISUAL_COLORS[operation].accent
|
|
129
|
-
|
|
130
|
-
const playOutcome = (isCorrect: boolean) => {
|
|
131
|
-
const started = deck.startCardExit({
|
|
132
|
-
// The exiting card shows the filled-in answer + the correct/incorrect label.
|
|
133
|
-
cardContent: { fact, answer: String(fact.answer) },
|
|
134
|
-
direction: isCorrect ? 'right' : 'left',
|
|
135
|
-
status: isCorrect ? AttemptStatus.CORRECT : AttemptStatus.INCORRECT,
|
|
136
|
-
})
|
|
137
|
-
if (started && isCorrect) successSound.play()
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return (
|
|
141
|
-
<FluencyProvider value={{ model }}>
|
|
142
|
-
<ScrollView style={styles.screen} contentContainerStyle={styles.content}>
|
|
143
|
-
<Text style={styles.title}>Fluency Visual Playground</Text>
|
|
144
|
-
<Text style={styles.caption}>Real solving deck across operations and boxes 0–4 (L1–L5). Dev only.</Text>
|
|
145
|
-
|
|
146
|
-
<Text style={styles.sectionLabel}>Operation</Text>
|
|
147
|
-
<View style={styles.row}>
|
|
148
|
-
{OPERATIONS.map((op) => (
|
|
149
|
-
<Chip
|
|
150
|
-
key={op.value}
|
|
151
|
-
label={`${op.symbol} ${op.label}`}
|
|
152
|
-
isActive={op.value === operation}
|
|
153
|
-
activeColor={VISUAL_COLORS[op.value].accent}
|
|
154
|
-
onPress={() => selectOperation(op)}
|
|
155
|
-
/>
|
|
156
|
-
))}
|
|
157
|
-
</View>
|
|
158
|
-
|
|
159
|
-
<Text style={styles.sectionLabel}>Box → Level</Text>
|
|
160
|
-
<View style={styles.row}>
|
|
161
|
-
{BOXES.map((b) => (
|
|
162
|
-
<Chip
|
|
163
|
-
key={b}
|
|
164
|
-
label={`Box ${b}`}
|
|
165
|
-
sublabel={levelForBox(b)}
|
|
166
|
-
isActive={b === box}
|
|
167
|
-
activeColor={accent}
|
|
168
|
-
onPress={() => setBox(b)}
|
|
169
|
-
/>
|
|
170
|
-
))}
|
|
171
|
-
</View>
|
|
172
|
-
|
|
173
|
-
<View style={styles.row}>
|
|
174
|
-
<Stepper label="Left" value={left} onChange={setLeft} />
|
|
175
|
-
<Stepper label="Right" value={right} onChange={setRight} />
|
|
176
|
-
</View>
|
|
177
|
-
|
|
178
|
-
<View style={styles.deckWrapper}>
|
|
179
|
-
<FluencyCardDeck
|
|
180
|
-
currentCardContent={{ fact, answer: '' }}
|
|
181
|
-
exitingCardContent={deck.exitingCardContent}
|
|
182
|
-
exitingCardStatus={deck.exitingCardStatus}
|
|
183
|
-
snapStyles={deck.snapStyles}
|
|
184
|
-
onAnswerChange={() => undefined}
|
|
185
|
-
/>
|
|
186
|
-
</View>
|
|
187
|
-
|
|
188
|
-
<View style={styles.row}>
|
|
189
|
-
<Pressable
|
|
190
|
-
style={[styles.outcomeBtn, { backgroundColor: COLORS.PRIMARY_RED }]}
|
|
191
|
-
onPress={() => playOutcome(false)}
|
|
192
|
-
>
|
|
193
|
-
<Text style={styles.outcomeText}>▶ Incorrect</Text>
|
|
194
|
-
</Pressable>
|
|
195
|
-
<Pressable
|
|
196
|
-
style={[styles.outcomeBtn, { backgroundColor: COLORS.PRIMARY_GREEN }]}
|
|
197
|
-
onPress={() => playOutcome(true)}
|
|
198
|
-
>
|
|
199
|
-
<Text style={styles.outcomeText}>▶ Correct</Text>
|
|
200
|
-
</Pressable>
|
|
201
|
-
</View>
|
|
202
|
-
|
|
203
|
-
<Text style={styles.sectionLabel}>Spec ({spec.kind})</Text>
|
|
204
|
-
<View style={styles.specBox}>
|
|
205
|
-
<Text style={styles.specText}>{JSON.stringify(spec, null, 2)}</Text>
|
|
206
|
-
</View>
|
|
207
|
-
</ScrollView>
|
|
208
|
-
</FluencyProvider>
|
|
209
|
-
)
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
const styles = StyleSheet.create({
|
|
213
|
-
screen: { flex: 1, backgroundColor: COLORS.NEUTRAL_3 },
|
|
214
|
-
content: { padding: SPACING[400], gap: SPACING[300], maxWidth: 640, alignSelf: 'center', width: '100%' },
|
|
215
|
-
title: { fontSize: 22, fontWeight: '700', color: COLORS.NEUTRAL_10, fontFamily: FONT_FAMILY.buenosAires },
|
|
216
|
-
caption: { fontSize: 13, color: COLORS.NEUTRAL_7, fontFamily: FONT_FAMILY.buenosAires },
|
|
217
|
-
sectionLabel: {
|
|
218
|
-
fontSize: 12,
|
|
219
|
-
fontWeight: '700',
|
|
220
|
-
color: COLORS.NEUTRAL_7,
|
|
221
|
-
textTransform: 'uppercase',
|
|
222
|
-
marginTop: SPACING[200],
|
|
223
|
-
fontFamily: FONT_FAMILY.buenosAires,
|
|
224
|
-
},
|
|
225
|
-
row: { flexDirection: 'row', flexWrap: 'wrap', gap: SPACING[200] },
|
|
226
|
-
chip: {
|
|
227
|
-
paddingVertical: SPACING[150],
|
|
228
|
-
paddingHorizontal: SPACING[300],
|
|
229
|
-
borderRadius: BORDER_RADIUS[200],
|
|
230
|
-
borderWidth: 1,
|
|
231
|
-
borderColor: COLORS.NEUTRAL_4,
|
|
232
|
-
backgroundColor: COLORS.NEUTRAL_1,
|
|
233
|
-
alignItems: 'center',
|
|
234
|
-
},
|
|
235
|
-
chipLabel: { fontSize: 14, fontWeight: '600', color: COLORS.NEUTRAL_10, fontFamily: FONT_FAMILY.buenosAires },
|
|
236
|
-
chipSub: { fontSize: 11, color: COLORS.NEUTRAL_7, fontFamily: FONT_FAMILY.buenosAires },
|
|
237
|
-
chipLabelActive: { color: COLORS.NEUTRAL_1 },
|
|
238
|
-
stepper: { flex: 1, gap: SPACING[100] },
|
|
239
|
-
stepperLabel: { fontSize: 12, fontWeight: '700', color: COLORS.NEUTRAL_7, fontFamily: FONT_FAMILY.buenosAires },
|
|
240
|
-
stepperRow: { flexDirection: 'row', alignItems: 'center', gap: SPACING[200] },
|
|
241
|
-
stepperBtn: {
|
|
242
|
-
width: 36,
|
|
243
|
-
height: 36,
|
|
244
|
-
borderRadius: BORDER_RADIUS[200],
|
|
245
|
-
backgroundColor: COLORS.NEUTRAL_1,
|
|
246
|
-
borderWidth: 1,
|
|
247
|
-
borderColor: COLORS.NEUTRAL_4,
|
|
248
|
-
alignItems: 'center',
|
|
249
|
-
justifyContent: 'center',
|
|
250
|
-
},
|
|
251
|
-
stepperBtnText: { fontSize: 20, fontWeight: '700', color: COLORS.NEUTRAL_10 },
|
|
252
|
-
stepperValue: {
|
|
253
|
-
minWidth: 32,
|
|
254
|
-
textAlign: 'center',
|
|
255
|
-
fontSize: 18,
|
|
256
|
-
fontWeight: '700',
|
|
257
|
-
color: COLORS.NEUTRAL_10,
|
|
258
|
-
fontFamily: FONT_FAMILY.buenosAires,
|
|
259
|
-
},
|
|
260
|
-
// FluencyCardDeck positions backing cards with absolute top offsets up to ~36px;
|
|
261
|
-
// the vertical padding gives them room and matches FluencySolvingCard's wrapper.
|
|
262
|
-
deckWrapper: { alignItems: 'center', paddingVertical: SPACING[400] },
|
|
263
|
-
outcomeBtn: {
|
|
264
|
-
flex: 1,
|
|
265
|
-
paddingVertical: SPACING[300],
|
|
266
|
-
borderRadius: BORDER_RADIUS[200],
|
|
267
|
-
alignItems: 'center',
|
|
268
|
-
},
|
|
269
|
-
outcomeText: { fontSize: 15, fontWeight: '700', color: COLORS.NEUTRAL_1, fontFamily: FONT_FAMILY.buenosAires },
|
|
270
|
-
specBox: { backgroundColor: COLORS.NEUTRAL_10, borderRadius: BORDER_RADIUS[200], padding: SPACING[300] },
|
|
271
|
-
specText: { fontSize: 12, color: COLORS.GREEN_3, fontFamily: 'monospace' },
|
|
272
|
-
})
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { View, StyleSheet } from 'react-native'
|
|
3
|
-
import { useUnit } from 'effector-react'
|
|
4
|
-
import { BORDER_RADIUS, COLORS, FONT_FAMILY, SPACING, Typography } from '@magmamath/react-native-ui'
|
|
5
|
-
|
|
6
|
-
import { useFluency } from '../../../context/FluencyContext'
|
|
7
|
-
import { levelForBox } from '../../../visual-scaffolding'
|
|
8
|
-
|
|
9
|
-
// Debug-only overlay: shows the current fact's box + derived mastery level in
|
|
10
|
-
// the bottom-right corner, to make the visual-scaffold fade easy to verify.
|
|
11
|
-
export const DebugBoxIndicator = () => {
|
|
12
|
-
const current = useUnit(useFluency().model.solving.$current)
|
|
13
|
-
|
|
14
|
-
if (!current) return null
|
|
15
|
-
|
|
16
|
-
return (
|
|
17
|
-
<View style={styles.badge} pointerEvents="none">
|
|
18
|
-
<Typography style={styles.text}>{`box ${current.box} · ${levelForBox(current.box)}`}</Typography>
|
|
19
|
-
</View>
|
|
20
|
-
)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const styles = StyleSheet.create({
|
|
24
|
-
badge: {
|
|
25
|
-
position: 'absolute',
|
|
26
|
-
right: SPACING[400],
|
|
27
|
-
bottom: SPACING[400],
|
|
28
|
-
paddingVertical: SPACING[100],
|
|
29
|
-
paddingHorizontal: SPACING[300],
|
|
30
|
-
borderRadius: BORDER_RADIUS[200],
|
|
31
|
-
backgroundColor: COLORS.NEUTRAL_10,
|
|
32
|
-
opacity: 0.7,
|
|
33
|
-
},
|
|
34
|
-
text: {
|
|
35
|
-
fontSize: 12,
|
|
36
|
-
fontWeight: '700',
|
|
37
|
-
color: COLORS.NEUTRAL_1,
|
|
38
|
-
fontFamily: FONT_FAMILY.buenosAires,
|
|
39
|
-
},
|
|
40
|
-
})
|
package/src/features/fluency/visual-scaffolding/__tests__/__snapshots__/renderFact.test.ts.snap
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
|
2
|
-
|
|
3
|
-
exports[`L1 — DiscreteCounterGrid (box 0) addition 6 + 9 → two ten-frames, a tone-A + b tone-B 1`] = `
|
|
4
|
-
{
|
|
5
|
-
"kind": "grid",
|
|
6
|
-
"layout": {
|
|
7
|
-
"a": 6,
|
|
8
|
-
"b": 9,
|
|
9
|
-
"capacity": 10,
|
|
10
|
-
"type": "tenframes",
|
|
11
|
-
},
|
|
12
|
-
"left": 6,
|
|
13
|
-
"level": "L1",
|
|
14
|
-
"operation": "addition",
|
|
15
|
-
"right": 9,
|
|
16
|
-
}
|
|
17
|
-
`;
|
|
18
|
-
|
|
19
|
-
exports[`L2 — RelationalBlock (box 1) addition → bond with empty sum (top) node 1`] = `
|
|
20
|
-
{
|
|
21
|
-
"kind": "relational",
|
|
22
|
-
"left": 6,
|
|
23
|
-
"level": "L2",
|
|
24
|
-
"model": {
|
|
25
|
-
"bottomLeft": 6,
|
|
26
|
-
"bottomRight": 9,
|
|
27
|
-
"top": null,
|
|
28
|
-
"type": "bond",
|
|
29
|
-
},
|
|
30
|
-
"operation": "addition",
|
|
31
|
-
"right": 9,
|
|
32
|
-
}
|
|
33
|
-
`;
|
|
34
|
-
|
|
35
|
-
exports[`L3 — DynamicNumberLine (box 2) addition 7 + 6 → bridges 10 (7→10→13), end tick hidden 1`] = `
|
|
36
|
-
{
|
|
37
|
-
"hi": 13,
|
|
38
|
-
"hiddenTick": 13,
|
|
39
|
-
"jumps": [
|
|
40
|
-
{
|
|
41
|
-
"from": 7,
|
|
42
|
-
"label": "+3",
|
|
43
|
-
"to": 10,
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"from": 10,
|
|
47
|
-
"label": "+3",
|
|
48
|
-
"to": 13,
|
|
49
|
-
},
|
|
50
|
-
],
|
|
51
|
-
"kind": "line",
|
|
52
|
-
"left": 7,
|
|
53
|
-
"level": "L3",
|
|
54
|
-
"lo": 0,
|
|
55
|
-
"operation": "addition",
|
|
56
|
-
"right": 6,
|
|
57
|
-
"ticks": [
|
|
58
|
-
0,
|
|
59
|
-
7,
|
|
60
|
-
10,
|
|
61
|
-
13,
|
|
62
|
-
],
|
|
63
|
-
}
|
|
64
|
-
`;
|