@magmamath/students-features 1.3.26-rc.3 → 1.3.26-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/fluency/components/Fluency.js +15 -32
- package/dist/commonjs/features/fluency/components/Fluency.js.map +1 -1
- package/dist/commonjs/features/fluency/components/FluencySolving.js +29 -9
- package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js +17 -18
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +26 -24
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/{EquationContent.js → components/EquationContent.js} +5 -5
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/{FluencyEquationCard.js → components/FluencyEquationCard.js} +16 -8
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js +62 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/{FluencySolvingCard.js → components/FluencySolvingCard.js} +40 -22
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/{FluencySolvingHeader.js → components/FluencySolvingHeader.js} +6 -8
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/{FluencySolvingProgress.js → components/FluencySolvingProgress.js} +32 -4
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.js +29 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js +58 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js +2 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js.map +1 -0
- package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js +2 -2
- package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js.map +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +41 -12
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js +16 -26
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js +4 -8
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
- package/dist/commonjs/features/fluency/components/mobile-menu/MobileMenu.js +38 -0
- package/dist/commonjs/features/fluency/components/mobile-menu/MobileMenu.js.map +1 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +6 -3
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +178 -0
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -0
- package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js +99 -0
- package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js.map +1 -0
- package/dist/commonjs/features/fluency/components/session-results/SkillProgressionRow.js +113 -0
- package/dist/commonjs/features/fluency/components/session-results/SkillProgressionRow.js.map +1 -0
- package/dist/commonjs/features/fluency/fluency.constants.js +14 -6
- package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.helpers.js +53 -25
- package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js +16 -7
- package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
- package/dist/commonjs/features/fluency/{components/fluency-solving/FluencyNumpad.js → hooks/useFluencyNumpad.js} +58 -82
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -0
- package/dist/commonjs/features/fluency/hooks/useSuccessSound.js +0 -2
- package/dist/commonjs/features/fluency/hooks/useSuccessSound.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencyApiModel.js +6 -1
- package/dist/commonjs/features/fluency/model/FluencyApiModel.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js +8 -1
- package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js +16 -1
- package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencyModel.js +12 -28
- package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencySolvingModel.js +57 -5
- package/dist/commonjs/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/commonjs/lib/constants.js +1 -0
- package/dist/commonjs/lib/constants.js.map +1 -1
- package/dist/module/features/fluency/components/Fluency.js +17 -34
- package/dist/module/features/fluency/components/Fluency.js.map +1 -1
- package/dist/module/features/fluency/components/FluencySolving.js +29 -9
- package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js +17 -18
- package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +26 -24
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/{EquationContent.js → components/EquationContent.js} +5 -5
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/{FluencyEquationCard.js → components/FluencyEquationCard.js} +16 -8
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js +56 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +84 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/{FluencySolvingHeader.js → components/FluencySolvingHeader.js} +6 -8
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +69 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.constants.js +25 -0
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.constants.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js +52 -0
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js +2 -0
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js.map +1 -0
- package/dist/module/features/fluency/components/matrix/FluencyMatrix.js +2 -2
- package/dist/module/features/fluency/components/matrix/FluencyMatrix.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +44 -15
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixFill.js +16 -26
- package/dist/module/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js +4 -8
- package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
- package/dist/module/features/fluency/components/mobile-menu/MobileMenu.js +32 -0
- package/dist/module/features/fluency/components/mobile-menu/MobileMenu.js.map +1 -0
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +6 -3
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +172 -0
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -0
- package/dist/module/features/fluency/components/session-results/SessionStatCard.js +93 -0
- package/dist/module/features/fluency/components/session-results/SessionStatCard.js.map +1 -0
- package/dist/module/features/fluency/components/session-results/SkillProgressionRow.js +107 -0
- package/dist/module/features/fluency/components/session-results/SkillProgressionRow.js.map +1 -0
- package/dist/module/features/fluency/fluency.constants.js +13 -5
- package/dist/module/features/fluency/fluency.constants.js.map +1 -1
- package/dist/module/features/fluency/fluency.helpers.js +51 -21
- package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencyModePreset.js +16 -7
- package/dist/module/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
- package/dist/module/features/fluency/{components/fluency-solving/FluencyNumpad.js → hooks/useFluencyNumpad.js} +58 -82
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -0
- package/dist/module/features/fluency/hooks/useSuccessSound.js +0 -1
- package/dist/module/features/fluency/hooks/useSuccessSound.js.map +1 -1
- package/dist/module/features/fluency/model/FluencyApiModel.js +6 -1
- package/dist/module/features/fluency/model/FluencyApiModel.js.map +1 -1
- package/dist/module/features/fluency/model/FluencyDaysStreakModel.js +8 -1
- package/dist/module/features/fluency/model/FluencyDaysStreakModel.js.map +1 -1
- package/dist/module/features/fluency/model/FluencyMatrixModel.js +16 -1
- package/dist/module/features/fluency/model/FluencyMatrixModel.js.map +1 -1
- package/dist/module/features/fluency/model/FluencyModel.js +13 -29
- package/dist/module/features/fluency/model/FluencyModel.js.map +1 -1
- package/dist/module/features/fluency/model/FluencySolvingModel.js +58 -6
- package/dist/module/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/module/lib/constants.js +1 -0
- package/dist/module/lib/constants.js.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts +2 -1
- package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts +2 -1
- package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts +5 -3
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -0
- package/dist/typescript/{module/features/fluency/components/fluency-solving → commonjs/features/fluency/components/fluency-solving/components}/FluencyEquationCard.d.ts +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +10 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts +5 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +15 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +20 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts +5 -7
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/mobile-menu/MobileMenu.d.ts +7 -0
- package/dist/typescript/commonjs/features/fluency/components/mobile-menu/MobileMenu.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts +11 -0
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/session-results/SkillProgressionRow.d.ts +15 -0
- package/dist/typescript/commonjs/features/fluency/components/session-results/SkillProgressionRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +12 -5
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +3 -5
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +58 -8
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts +22 -3
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +53 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useSuccessSound.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts +6 -3
- package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts +5 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +3 -15
- package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts +20 -7
- package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/constants.d.ts +2 -1
- package/dist/typescript/commonjs/lib/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/Fluency.d.ts +2 -1
- package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts +2 -1
- package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts +5 -3
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -0
- package/dist/typescript/{commonjs/features/fluency/components/fluency-solving → module/features/fluency/components/fluency-solving/components}/FluencyEquationCard.d.ts +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +10 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts +5 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +15 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +20 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts +5 -7
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/mobile-menu/MobileMenu.d.ts +7 -0
- package/dist/typescript/module/features/fluency/components/mobile-menu/MobileMenu.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts +11 -0
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts +9 -0
- package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/session-results/SkillProgressionRow.d.ts +15 -0
- package/dist/typescript/module/features/fluency/components/session-results/SkillProgressionRow.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts +12 -5
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +3 -5
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.types.d.ts +58 -8
- package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts +22 -3
- package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +53 -0
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/hooks/useSuccessSound.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts +6 -3
- package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts +5 -0
- package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts +9 -0
- package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +3 -15
- package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts +20 -7
- package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/dist/typescript/module/lib/constants.d.ts +2 -1
- package/dist/typescript/module/lib/constants.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/fluency/components/Fluency.tsx +17 -41
- package/src/features/fluency/components/FluencySolving.tsx +30 -5
- package/src/features/fluency/components/day-streak-counter/DayStreak.tsx +24 -20
- package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +41 -28
- package/src/features/fluency/components/fluency-solving/{EquationContent.tsx → components/EquationContent.tsx} +5 -5
- package/src/features/fluency/components/fluency-solving/{FluencyEquationCard.tsx → components/FluencyEquationCard.tsx} +12 -6
- package/src/features/fluency/components/fluency-solving/components/FluencyNumpad.tsx +54 -0
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +84 -0
- package/src/features/fluency/components/fluency-solving/{FluencySolvingHeader.tsx → components/FluencySolvingHeader.tsx} +6 -8
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +68 -0
- package/src/features/fluency/components/fluency-solving/fluencySolving.constants.ts +25 -0
- package/src/features/fluency/components/fluency-solving/fluencySolving.helpers.ts +78 -0
- package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +21 -0
- package/src/features/fluency/components/matrix/FluencyMatrix.tsx +3 -2
- package/src/features/fluency/components/matrix/components/MatrixCell.tsx +46 -23
- package/src/features/fluency/components/matrix/components/MatrixFill.tsx +14 -24
- package/src/features/fluency/components/matrix/components/MatrixLegend.tsx +4 -4
- package/src/features/fluency/components/mobile-menu/MobileMenu.tsx +29 -0
- package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +7 -3
- package/src/features/fluency/components/session-results/FluencySessionResults.tsx +204 -0
- package/src/features/fluency/components/session-results/SessionStatCard.tsx +100 -0
- package/src/features/fluency/components/session-results/SkillProgressionRow.tsx +100 -0
- package/src/features/fluency/fluency.constants.ts +13 -5
- package/src/features/fluency/fluency.helpers.ts +46 -27
- package/src/features/fluency/fluency.types.ts +70 -8
- package/src/features/fluency/hooks/useFluencyModePreset.ts +30 -20
- package/src/features/fluency/{components/fluency-solving/FluencyNumpad.tsx → hooks/useFluencyNumpad.tsx} +68 -94
- package/src/features/fluency/hooks/useSuccessSound.ts +0 -1
- package/src/features/fluency/model/FluencyApiModel.ts +18 -2
- package/src/features/fluency/model/FluencyDaysStreakModel.ts +11 -1
- package/src/features/fluency/model/FluencyMatrixModel.ts +20 -1
- package/src/features/fluency/model/FluencyModel.ts +15 -30
- package/src/features/fluency/model/FluencySolvingModel.ts +70 -8
- package/src/lib/constants.ts +3 -2
- package/src/types/types.d.ts +5 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/EquationContent.js.map +0 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/FluencyEquationCard.js.map +0 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/FluencyNumpad.js.map +0 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/FluencySolvingCard.js.map +0 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/FluencySolvingHeader.js.map +0 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/FluencySolvingProgress.js.map +0 -1
- package/dist/commonjs/features/fluency/model/FluencyInputModel.js +0 -20
- package/dist/commonjs/features/fluency/model/FluencyInputModel.js.map +0 -1
- package/dist/module/features/fluency/components/fluency-solving/EquationContent.js.map +0 -1
- package/dist/module/features/fluency/components/fluency-solving/FluencyEquationCard.js.map +0 -1
- package/dist/module/features/fluency/components/fluency-solving/FluencyNumpad.js.map +0 -1
- package/dist/module/features/fluency/components/fluency-solving/FluencySolvingCard.js +0 -66
- package/dist/module/features/fluency/components/fluency-solving/FluencySolvingCard.js.map +0 -1
- package/dist/module/features/fluency/components/fluency-solving/FluencySolvingHeader.js.map +0 -1
- package/dist/module/features/fluency/components/fluency-solving/FluencySolvingProgress.js +0 -41
- package/dist/module/features/fluency/components/fluency-solving/FluencySolvingProgress.js.map +0 -1
- package/dist/module/features/fluency/model/FluencyInputModel.js +0 -15
- package/dist/module/features/fluency/model/FluencyInputModel.js.map +0 -1
- package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts +0 -2
- package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/EquationContent.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencyEquationCard.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencyNumpad.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencySolvingCard.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencySolvingHeader.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencySolvingProgress.d.ts +0 -8
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencySolvingProgress.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyInputModel.d.ts +0 -11
- package/dist/typescript/commonjs/features/fluency/model/FluencyInputModel.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts +0 -2
- package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/EquationContent.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/FluencyEquationCard.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/FluencyNumpad.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/FluencySolvingCard.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/FluencySolvingHeader.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/FluencySolvingProgress.d.ts +0 -8
- package/dist/typescript/module/features/fluency/components/fluency-solving/FluencySolvingProgress.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/model/FluencyInputModel.d.ts +0 -11
- package/dist/typescript/module/features/fluency/model/FluencyInputModel.d.ts.map +0 -1
- package/src/features/fluency/__tests__/FluencyModel.test.ts +0 -28
- package/src/features/fluency/components/fluency-solving/FluencySolvingCard.tsx +0 -59
- package/src/features/fluency/components/fluency-solving/FluencySolvingProgress.tsx +0 -40
- package/src/features/fluency/model/FluencyInputModel.ts +0 -17
- /package/dist/typescript/commonjs/features/fluency/components/fluency-solving/{EquationContent.d.ts → components/EquationContent.d.ts} +0 -0
- /package/dist/typescript/commonjs/features/fluency/components/fluency-solving/{FluencyNumpad.d.ts → components/FluencyNumpad.d.ts} +0 -0
- /package/dist/typescript/commonjs/features/fluency/components/fluency-solving/{FluencySolvingCard.d.ts → components/FluencySolvingCard.d.ts} +0 -0
- /package/dist/typescript/commonjs/features/fluency/components/fluency-solving/{FluencySolvingHeader.d.ts → components/FluencySolvingHeader.d.ts} +0 -0
- /package/dist/typescript/module/features/fluency/components/fluency-solving/{EquationContent.d.ts → components/EquationContent.d.ts} +0 -0
- /package/dist/typescript/module/features/fluency/components/fluency-solving/{FluencyNumpad.d.ts → components/FluencyNumpad.d.ts} +0 -0
- /package/dist/typescript/module/features/fluency/components/fluency-solving/{FluencySolvingCard.d.ts → components/FluencySolvingCard.d.ts} +0 -0
- /package/dist/typescript/module/features/fluency/components/fluency-solving/{FluencySolvingHeader.d.ts → components/FluencySolvingHeader.d.ts} +0 -0
|
@@ -10,7 +10,7 @@ export const useFluencyModePreset = () => {
|
|
|
10
10
|
const {
|
|
11
11
|
model
|
|
12
12
|
} = useFluency();
|
|
13
|
-
const mode = useUnit(model.$mode);
|
|
13
|
+
const mode = useUnit(model.matrix.$mode);
|
|
14
14
|
const preset = FLUENCY_MODE_PRESETS[mode];
|
|
15
15
|
const legendItems = [{
|
|
16
16
|
label: t('student.fluency.notStarted'),
|
|
@@ -18,20 +18,29 @@ export const useFluencyModePreset = () => {
|
|
|
18
18
|
withBorder: true
|
|
19
19
|
}, {
|
|
20
20
|
label: t('student.fluency.masteryLearning'),
|
|
21
|
-
color: preset.matrix.
|
|
21
|
+
color: preset.matrix.levelColors[FluencyMasteryLevel.LEARNING]
|
|
22
22
|
}, {
|
|
23
23
|
label: t('student.fluency.masteryGrowing'),
|
|
24
|
-
color: preset.matrix.
|
|
24
|
+
color: preset.matrix.levelColors[FluencyMasteryLevel.GROWING]
|
|
25
25
|
}, {
|
|
26
26
|
label: t('student.fluency.masteryStrong'),
|
|
27
|
-
color: preset.matrix.
|
|
27
|
+
color: preset.matrix.levelColors[FluencyMasteryLevel.STRONG]
|
|
28
28
|
}, {
|
|
29
29
|
label: t('student.fluency.masteryMastered'),
|
|
30
|
-
color: preset.matrix.
|
|
30
|
+
color: preset.matrix.levelColors[FluencyMasteryLevel.MASTERED]
|
|
31
31
|
}];
|
|
32
32
|
return {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
icon: preset.operatorIcon,
|
|
34
|
+
label: t(preset.matrix.operatorLabel),
|
|
35
|
+
colors: {
|
|
36
|
+
level: preset.matrix.levelColors,
|
|
37
|
+
accent: preset.accentColor,
|
|
38
|
+
streak: preset.header.streakColor,
|
|
39
|
+
button: preset.buttonColor
|
|
40
|
+
},
|
|
41
|
+
legend: {
|
|
42
|
+
items: legendItems
|
|
43
|
+
}
|
|
35
44
|
};
|
|
36
45
|
};
|
|
37
46
|
//# sourceMappingURL=useFluencyModePreset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useUnit","COLORS","FLUENCY_MODE_PRESETS","FluencyMasteryLevel","useFluency","useText","useFluencyModePreset","t","model","mode","$mode","preset","legendItems","label","color","NEUTRAL_2","withBorder","
|
|
1
|
+
{"version":3,"names":["useUnit","COLORS","FLUENCY_MODE_PRESETS","FluencyMasteryLevel","useFluency","useText","useFluencyModePreset","t","model","mode","matrix","$mode","preset","legendItems","label","color","NEUTRAL_2","withBorder","levelColors","LEARNING","GROWING","STRONG","MASTERED","icon","operatorIcon","operatorLabel","colors","level","accent","accentColor","streak","header","streakColor","button","buttonColor","legend","items"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencyModePreset.ts"],"mappings":";;AACA,SAASA,OAAO,QAAQ,gBAAgB;AACxC,SAASC,MAAM,QAAQ,4BAA4B;AAEnD,SAASC,oBAAoB,EAAEC,mBAAmB,QAAQ,yBAAsB;AAEhF,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,OAAO,QAAQ,uBAAoB;AAc5C,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAkC;EACpE,MAAMC,CAAC,GAAGF,OAAO,CAAC,CAAC;EACnB,MAAM;IAAEG;EAAM,CAAC,GAAGJ,UAAU,CAAC,CAAC;EAC9B,MAAMK,IAAI,GAAGT,OAAO,CAACQ,KAAK,CAACE,MAAM,CAACC,KAAK,CAAC;EACxC,MAAMC,MAAM,GAAGV,oBAAoB,CAACO,IAAI,CAAC;EAEzC,MAAMI,WAAyB,GAAG,CAChC;IAAEC,KAAK,EAAEP,CAAC,CAAC,4BAA4B,CAAC;IAAEQ,KAAK,EAAEd,MAAM,CAACe,SAAS;IAAEC,UAAU,EAAE;EAAK,CAAC,EACrF;IAAEH,KAAK,EAAEP,CAAC,CAAC,iCAAiC,CAAC;IAAEQ,KAAK,EAAEH,MAAM,CAACF,MAAM,CAACQ,WAAW,CAACf,mBAAmB,CAACgB,QAAQ;EAAE,CAAC,EAC/G;IAAEL,KAAK,EAAEP,CAAC,CAAC,gCAAgC,CAAC;IAAEQ,KAAK,EAAEH,MAAM,CAACF,MAAM,CAACQ,WAAW,CAACf,mBAAmB,CAACiB,OAAO;EAAE,CAAC,EAC7G;IAAEN,KAAK,EAAEP,CAAC,CAAC,+BAA+B,CAAC;IAAEQ,KAAK,EAAEH,MAAM,CAACF,MAAM,CAACQ,WAAW,CAACf,mBAAmB,CAACkB,MAAM;EAAE,CAAC,EAC3G;IAAEP,KAAK,EAAEP,CAAC,CAAC,iCAAiC,CAAC;IAAEQ,KAAK,EAAEH,MAAM,CAACF,MAAM,CAACQ,WAAW,CAACf,mBAAmB,CAACmB,QAAQ;EAAE,CAAC,CAChH;EAED,OAAO;IACLC,IAAI,EAAEX,MAAM,CAACY,YAAY;IACzBV,KAAK,EAAEP,CAAC,CAACK,MAAM,CAACF,MAAM,CAACe,aAAa,CAAC;IACrCC,MAAM,EAAE;MACNC,KAAK,EAAEf,MAAM,CAACF,MAAM,CAACQ,WAAW;MAChCU,MAAM,EAAEhB,MAAM,CAACiB,WAAW;MAC1BC,MAAM,EAAElB,MAAM,CAACmB,MAAM,CAACC,WAAW;MACjCC,MAAM,EAAErB,MAAM,CAACsB;IACjB,CAAC;IACDC,MAAM,EAAE;MAAEC,KAAK,EAAEvB;IAAY;EAC/B,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useEffect, useState } from 'react';
|
|
4
|
-
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
5
4
|
import { useUnit } from 'effector-react';
|
|
6
|
-
import { ButtonStates, COLORS
|
|
7
|
-
import { BackspaceIcon } from "
|
|
8
|
-
import { useFluency } from "
|
|
9
|
-
import { useFluencyModePreset } from "
|
|
10
|
-
import { isWeb } from "
|
|
5
|
+
import { ButtonStates, COLORS } from '@magmamath/react-native-ui';
|
|
6
|
+
import { BackspaceIcon } from "../../../shared/icons/keyboard/BackspaceIcon.js";
|
|
7
|
+
import { useFluency } from "../context/FluencyContext.js";
|
|
8
|
+
import { useFluencyModePreset } from "./useFluencyModePreset.js";
|
|
9
|
+
import { isWeb } from "../../../shared/common.constants.js";
|
|
10
|
+
import { KeyboardKeys } from "../../../lib/constants.js";
|
|
11
|
+
import { MAX_INPUT_LENGTH } from "../fluency.constants.js";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
const ACTION_KEY_COLOR_SCHEME = {
|
|
13
14
|
[ButtonStates.DEFAULT]: {
|
|
@@ -60,51 +61,36 @@ const NUMPAD_KEYS = [{
|
|
|
60
61
|
title: '9',
|
|
61
62
|
value: 9
|
|
62
63
|
}, {
|
|
63
|
-
key:
|
|
64
|
+
key: KeyboardKeys.BACKSPACE,
|
|
64
65
|
title: /*#__PURE__*/_jsx(BackspaceIcon, {
|
|
65
66
|
size: 20,
|
|
66
67
|
color: COLORS.NEUTRAL_9
|
|
67
68
|
}),
|
|
68
|
-
value:
|
|
69
|
+
value: KeyboardKeys.BACKSPACE,
|
|
69
70
|
customColorScheme: ACTION_KEY_COLOR_SCHEME
|
|
70
71
|
}, {
|
|
71
72
|
key: '0',
|
|
72
73
|
title: '0',
|
|
73
74
|
value: 0
|
|
74
75
|
}, {
|
|
75
|
-
key:
|
|
76
|
+
key: KeyboardKeys.ENTER,
|
|
76
77
|
title: 'Enter',
|
|
77
|
-
value:
|
|
78
|
+
value: KeyboardKeys.ENTER,
|
|
78
79
|
customColorScheme: ACTION_KEY_COLOR_SCHEME
|
|
79
80
|
}];
|
|
80
|
-
export const
|
|
81
|
+
export const useFluencyNumpad = ({
|
|
81
82
|
onEnterPress
|
|
82
83
|
}) => {
|
|
83
84
|
const {
|
|
84
85
|
model
|
|
85
86
|
} = useFluency();
|
|
86
|
-
const
|
|
87
|
-
const
|
|
87
|
+
const modePreset = useFluencyModePreset();
|
|
88
|
+
const answer = useUnit(model.solving.$answer);
|
|
88
89
|
const [pressedKey, setPressedKey] = useState(null);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
let numpadKey = null;
|
|
94
|
-
if (/^\d$/.test(event.key)) numpadKey = event.key;else if (event.key === 'Backspace') numpadKey = 'backspace';else if (event.key === 'Enter') numpadKey = 'enter';
|
|
95
|
-
if (!numpadKey) return;
|
|
96
|
-
clearTimeout(timeoutId);
|
|
97
|
-
setPressedKey(numpadKey);
|
|
98
|
-
timeoutId = setTimeout(() => setPressedKey(null), 175);
|
|
99
|
-
};
|
|
100
|
-
window.addEventListener('keydown', handleKeyDown);
|
|
101
|
-
return () => {
|
|
102
|
-
window.removeEventListener('keydown', handleKeyDown);
|
|
103
|
-
clearTimeout(timeoutId);
|
|
104
|
-
};
|
|
105
|
-
}, []);
|
|
106
|
-
const accentColor = uiMode.accentColor;
|
|
107
|
-
const accentBorderColor = uiMode.matrix.mastery.mastered;
|
|
90
|
+
const answerRef = useRef(answer);
|
|
91
|
+
answerRef.current = answer;
|
|
92
|
+
const accentColor = modePreset.colors.accent;
|
|
93
|
+
const accentBorderColor = modePreset.colors.level.mastered;
|
|
108
94
|
const enterAccentScheme = {
|
|
109
95
|
[ButtonStates.DEFAULT]: {
|
|
110
96
|
backgroundColor: accentColor,
|
|
@@ -136,61 +122,51 @@ export const FluencyNumpad = ({
|
|
|
136
122
|
customColorScheme,
|
|
137
123
|
...props
|
|
138
124
|
}) => {
|
|
139
|
-
const isEnterKey = value ===
|
|
140
|
-
const colorScheme = isEnterKey &&
|
|
125
|
+
const isEnterKey = value === KeyboardKeys.ENTER;
|
|
126
|
+
const colorScheme = isEnterKey && answer ? enterAccentScheme : customColorScheme;
|
|
141
127
|
return {
|
|
142
128
|
...props,
|
|
143
129
|
selected: pressedKey === props.key,
|
|
144
130
|
customColorScheme: colorScheme,
|
|
145
131
|
onPressIn: () => {
|
|
146
|
-
if (value ===
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
});
|
|
156
|
-
return /*#__PURE__*/_jsx(View, {
|
|
157
|
-
style: styles.container,
|
|
158
|
-
children: /*#__PURE__*/_jsx(SelectGroup, {
|
|
159
|
-
numOfRows: 4,
|
|
160
|
-
color: SelectOptionColor.GREY,
|
|
161
|
-
size: SelectOptionSize.SMALL,
|
|
162
|
-
options: options,
|
|
163
|
-
style: {
|
|
164
|
-
container: styles.grid,
|
|
165
|
-
row: styles.row,
|
|
166
|
-
option: {
|
|
167
|
-
button: styles.optionButton,
|
|
168
|
-
text: styles.optionText
|
|
132
|
+
if (value === KeyboardKeys.ENTER) {
|
|
133
|
+
onEnterPress();
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
if (value === KeyboardKeys.BACKSPACE) {
|
|
137
|
+
const currentStr = answerRef.current !== null ? answerRef.current.toString() : '';
|
|
138
|
+
const newStr = currentStr.slice(0, -1);
|
|
139
|
+
model.solving.setAnswer(newStr ? parseInt(newStr, 10) : null);
|
|
140
|
+
return;
|
|
169
141
|
}
|
|
142
|
+
const currentStr = answerRef.current !== null ? answerRef.current.toString() : '';
|
|
143
|
+
if (currentStr.length >= MAX_INPUT_LENGTH) return;
|
|
144
|
+
model.solving.setAnswer(parseInt(currentStr + value.toString(), 10));
|
|
170
145
|
}
|
|
171
|
-
}
|
|
146
|
+
};
|
|
172
147
|
});
|
|
148
|
+
useEffect(() => {
|
|
149
|
+
if (!isWeb) return;
|
|
150
|
+
let timeoutId;
|
|
151
|
+
const handleKeyDown = event => {
|
|
152
|
+
let numpadKey = null;
|
|
153
|
+
const isEnterKey = event.key === KeyboardKeys.ENTER;
|
|
154
|
+
const isBackspaceKey = event.key === KeyboardKeys.BACKSPACE;
|
|
155
|
+
const isDigit = /^\d$/.test(event.key);
|
|
156
|
+
if (isDigit || isEnterKey || isBackspaceKey) numpadKey = event.key;
|
|
157
|
+
if (!numpadKey) return;
|
|
158
|
+
clearTimeout(timeoutId);
|
|
159
|
+
setPressedKey(numpadKey);
|
|
160
|
+
timeoutId = setTimeout(() => setPressedKey(null), 175);
|
|
161
|
+
};
|
|
162
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
163
|
+
return () => {
|
|
164
|
+
window.removeEventListener('keydown', handleKeyDown);
|
|
165
|
+
clearTimeout(timeoutId);
|
|
166
|
+
};
|
|
167
|
+
}, []);
|
|
168
|
+
return {
|
|
169
|
+
options
|
|
170
|
+
};
|
|
173
171
|
};
|
|
174
|
-
|
|
175
|
-
container: {
|
|
176
|
-
alignItems: 'center',
|
|
177
|
-
paddingVertical: SPACING[400],
|
|
178
|
-
marginTop: SPACING[200]
|
|
179
|
-
},
|
|
180
|
-
grid: {
|
|
181
|
-
width: 360,
|
|
182
|
-
gap: SPACING[200]
|
|
183
|
-
},
|
|
184
|
-
row: {
|
|
185
|
-
gap: SPACING[200]
|
|
186
|
-
},
|
|
187
|
-
optionButton: {
|
|
188
|
-
height: 60
|
|
189
|
-
},
|
|
190
|
-
optionText: {
|
|
191
|
-
fontSize: 24,
|
|
192
|
-
fontWeight: '700',
|
|
193
|
-
fontFamily: FONT_FAMILY.buenosAires
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
//# sourceMappingURL=FluencyNumpad.js.map
|
|
172
|
+
//# sourceMappingURL=useFluencyNumpad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","useUnit","ButtonStates","COLORS","BackspaceIcon","useFluency","useFluencyModePreset","isWeb","KeyboardKeys","MAX_INPUT_LENGTH","jsx","_jsx","ACTION_KEY_COLOR_SCHEME","DEFAULT","backgroundColor","NEUTRAL_3","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_9","HOVER","NEUTRAL_2","NEUTRAL_4","NUMPAD_KEYS","key","title","value","BACKSPACE","size","customColorScheme","ENTER","useFluencyNumpad","onEnterPress","model","modePreset","answer","solving","$answer","pressedKey","setPressedKey","answerRef","current","accentColor","colors","accent","accentBorderColor","level","mastered","enterAccentScheme","NEUTRAL_1","PRESSED","ACTIVE","options","map","props","isEnterKey","colorScheme","selected","onPressIn","currentStr","toString","newStr","slice","setAnswer","parseInt","length","timeoutId","handleKeyDown","event","numpadKey","isBackspaceKey","isDigit","test","clearTimeout","setTimeout","window","addEventListener","removeEventListener"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencyNumpad.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","createAudioPlayer","SUCCESS_SOUND","useSuccessSound","playerRef","player","current","remove","play","seekTo"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useSuccessSound.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAAsBC,iBAAiB,QAAQ,YAAY;AAC3D
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","createAudioPlayer","SUCCESS_SOUND","useSuccessSound","playerRef","player","current","remove","play","seekTo"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useSuccessSound.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAAsBC,iBAAiB,QAAQ,YAAY;AAC3D,OAAOC,aAAa,MAAM,uBAAuB;AAEjD,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAMC,SAAS,GAAGJ,MAAM,CAAqB,IAAI,CAAC;EAElDD,SAAS,CAAC,MAAM;IACd,MAAMM,MAAM,GAAGJ,iBAAiB,CAACC,aAAa,CAAC;IAC/CE,SAAS,CAACE,OAAO,GAAGD,MAAM;IAC1B,OAAO,MAAMA,MAAM,CAACE,MAAM,CAAC,CAAC;EAC9B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,IAAI,GAAGA,CAAA,KAAM;IACjBJ,SAAS,CAACE,OAAO,EAAEG,MAAM,CAAC,CAAC,CAAC;IAC5BL,SAAS,CAACE,OAAO,EAAEE,IAAI,CAAC,CAAC;EAC3B,CAAC;EAED,OAAO;IAAEA;EAAK,CAAC;AACjB,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { createEffect } from 'effector';
|
|
3
4
|
export class FluencyApiModel {
|
|
4
|
-
constructor(
|
|
5
|
+
constructor(api) {
|
|
6
|
+
this.getMatrixFx = createEffect(api.getMatrix);
|
|
7
|
+
this.getWeeklyStatsFx = createEffect(() => api.getWeeklyStats());
|
|
8
|
+
this.postAttemptFx = createEffect(api.postAttempt);
|
|
9
|
+
}
|
|
5
10
|
}
|
|
6
11
|
//# sourceMappingURL=FluencyApiModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FluencyApiModel","constructor"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencyApiModel.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["createEffect","FluencyApiModel","constructor","api","getMatrixFx","getMatrix","getWeeklyStatsFx","getWeeklyStats","postAttemptFx","postAttempt"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencyApiModel.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAgB,UAAU;AAU/C,OAAO,MAAMC,eAAe,CAAC;EAK3BC,WAAWA,CAACC,GAA6B,EAAE;IACzC,IAAI,CAACC,WAAW,GAAGJ,YAAY,CAACG,GAAG,CAACE,SAAS,CAAC;IAC9C,IAAI,CAACC,gBAAgB,GAAGN,YAAY,CAAC,MAAMG,GAAG,CAACI,cAAc,CAAC,CAAC,CAAC;IAChE,IAAI,CAACC,aAAa,GAAGR,YAAY,CAACG,GAAG,CAACM,WAAW,CAAC;EACpD;AACF","ignoreList":[]}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import { createStore } from 'effector';
|
|
4
|
+
export class FluencyDaysStreakModel {
|
|
5
|
+
$stats = createStore(null);
|
|
6
|
+
constructor(api) {
|
|
7
|
+
this.api = api;
|
|
8
|
+
this.$stats.on(this.api.getWeeklyStatsFx.doneData, (_, data) => data);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
4
11
|
//# sourceMappingURL=FluencyDaysStreakModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FluencyDaysStreakModel"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencyDaysStreakModel.ts"],"mappings":";;AAAA,OAAO,
|
|
1
|
+
{"version":3,"names":["createStore","FluencyDaysStreakModel","$stats","constructor","api","on","getWeeklyStatsFx","doneData","_","data"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencyDaysStreakModel.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,UAAU;AAItC,OAAO,MAAMC,sBAAsB,CAAC;EAClBC,MAAM,GAAGF,WAAW,CAAgC,IAAI,CAAC;EAEzEG,WAAWA,CAAkBC,GAAoB,EAAE;IAAA,KAAtBA,GAAoB,GAApBA,GAAoB;IAC/C,IAAI,CAACF,MAAM,CAACG,EAAE,CAAC,IAAI,CAACD,GAAG,CAACE,gBAAgB,CAACC,QAAQ,EAAE,CAACC,CAAC,EAAEC,IAAI,KAAKA,IAAI,CAAC;EACvE;AACF","ignoreList":[]}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import { combine, createEvent, createStore, restore } from 'effector';
|
|
4
|
+
import { FluencyMode } from "../fluency.constants.js";
|
|
5
|
+
import { buildMatrixGrid } from "../fluency.helpers.js";
|
|
6
|
+
export class FluencyMatrixModel {
|
|
7
|
+
setMode = createEvent();
|
|
8
|
+
$mode = restore(this.setMode, FluencyMode.ADDITION);
|
|
9
|
+
$data = createStore(null);
|
|
10
|
+
$matrix = combine(this.$data, this.$mode, (data, mode) => {
|
|
11
|
+
if (!data) return null;
|
|
12
|
+
return buildMatrixGrid(data, mode);
|
|
13
|
+
});
|
|
14
|
+
constructor(api) {
|
|
15
|
+
this.api = api;
|
|
16
|
+
this.$data.on(api.getMatrixFx.doneData, (_, data) => data);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
4
19
|
//# sourceMappingURL=FluencyMatrixModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FluencyMatrixModel"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencyMatrixModel.ts"],"mappings":";;AAAA,OAAO,
|
|
1
|
+
{"version":3,"names":["combine","createEvent","createStore","restore","FluencyMode","buildMatrixGrid","FluencyMatrixModel","setMode","$mode","ADDITION","$data","$matrix","data","mode","constructor","api","on","getMatrixFx","doneData","_"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencyMatrixModel.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,WAAW,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAU;AACrE,SAASC,WAAW,QAAQ,yBAAsB;AAClD,SAASC,eAAe,QAAQ,uBAAoB;AAIpD,OAAO,MAAMC,kBAAkB,CAAC;EACdC,OAAO,GAAGN,WAAW,CAAc,CAAC;EACpCO,KAAK,GAAGL,OAAO,CAAC,IAAI,CAACI,OAAO,EAAEH,WAAW,CAACK,QAAQ,CAAC;EAEnDC,KAAK,GAAGR,WAAW,CAA2B,IAAI,CAAC;EACnDS,OAAO,GAAGX,OAAO,CAAC,IAAI,CAACU,KAAK,EAAE,IAAI,CAACF,KAAK,EAAE,CAACI,IAAI,EAAEC,IAAI,KAAwB;IAC3F,IAAI,CAACD,IAAI,EAAE,OAAO,IAAI;IACtB,OAAOP,eAAe,CAACO,IAAI,EAAEC,IAAI,CAAC;EACpC,CAAC,CAAC;EAEFC,WAAWA,CAAkBC,GAAoB,EAAE;IAAA,KAAtBA,GAAoB,GAApBA,GAAoB;IAC/C,IAAI,CAACL,KAAK,CAACM,EAAE,CAACD,GAAG,CAACE,WAAW,CAACC,QAAQ,EAAE,CAACC,CAAC,EAAEP,IAAI,KAAKA,IAAI,CAAC;EAC5D;AACF","ignoreList":[]}
|
|
@@ -1,44 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { sample } from 'effector';
|
|
4
|
+
import { createGate } from 'effector-react';
|
|
5
|
+
import { not } from 'patronum/not';
|
|
5
6
|
import { FluencyDaysStreakModel } from "./FluencyDaysStreakModel.js";
|
|
6
7
|
import { FluencyMatrixModel } from "./FluencyMatrixModel.js";
|
|
7
8
|
import { FluencyApiModel } from "./FluencyApiModel.js";
|
|
8
9
|
import { FluencySolvingModel } from "./FluencySolvingModel.js";
|
|
9
|
-
import { FluencyInputModel } from "./FluencyInputModel.js";
|
|
10
10
|
export class FluencyModel {
|
|
11
|
-
|
|
12
|
-
$mode = restore(this.setMode, FluencyMode.ADDITION);
|
|
13
|
-
checkAnswer() {
|
|
14
|
-
return Number(this.input.$state.getState()) === this.solving.$problem.getState().answer;
|
|
15
|
-
}
|
|
11
|
+
gate = createGate();
|
|
16
12
|
constructor({
|
|
17
13
|
api
|
|
18
14
|
}) {
|
|
19
15
|
this.api = new FluencyApiModel(api);
|
|
20
|
-
this.streak = new FluencyDaysStreakModel();
|
|
21
|
-
this.matrix = new FluencyMatrixModel();
|
|
22
|
-
this.solving = new FluencySolvingModel();
|
|
23
|
-
this.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
input: this.input.$state,
|
|
27
|
-
problem: this.solving.$problem
|
|
28
|
-
},
|
|
29
|
-
effect: ({
|
|
30
|
-
input,
|
|
31
|
-
problem
|
|
32
|
-
}) => ({
|
|
33
|
-
isCorrect: Number(input) === problem.answer
|
|
34
|
-
})
|
|
35
|
-
});
|
|
16
|
+
this.streak = new FluencyDaysStreakModel(this.api);
|
|
17
|
+
this.matrix = new FluencyMatrixModel(this.api);
|
|
18
|
+
this.solving = new FluencySolvingModel(this.matrix);
|
|
19
|
+
this.init();
|
|
20
|
+
}
|
|
21
|
+
init() {
|
|
36
22
|
sample({
|
|
37
|
-
clock: this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}),
|
|
41
|
-
target: this.input.set
|
|
23
|
+
clock: this.gate.open,
|
|
24
|
+
filter: not(this.api.getMatrixFx.pending),
|
|
25
|
+
target: [this.api.getMatrixFx, this.api.getWeeklyStatsFx]
|
|
42
26
|
});
|
|
43
27
|
}
|
|
44
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["sample","createGate","not","FluencyDaysStreakModel","FluencyMatrixModel","FluencyApiModel","FluencySolvingModel","FluencyModel","gate","constructor","api","streak","matrix","solving","init","clock","open","filter","getMatrixFx","pending","target","getWeeklyStatsFx"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencyModel.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,UAAU;AACjC,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,GAAG,QAAQ,cAAc;AAClC,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,mBAAmB,QAAQ,0BAAuB;AAG3D,OAAO,MAAMC,YAAY,CAAC;EACRC,IAAI,GAAGP,UAAU,CAAwB,CAAC;EAO1DQ,WAAWA,CAAC;IAAEC;EAAuB,CAAC,EAAE;IACtC,IAAI,CAACA,GAAG,GAAG,IAAIL,eAAe,CAACK,GAAG,CAAC;IACnC,IAAI,CAACC,MAAM,GAAG,IAAIR,sBAAsB,CAAC,IAAI,CAACO,GAAG,CAAC;IAClD,IAAI,CAACE,MAAM,GAAG,IAAIR,kBAAkB,CAAC,IAAI,CAACM,GAAG,CAAC;IAC9C,IAAI,CAACG,OAAO,GAAG,IAAIP,mBAAmB,CAAC,IAAI,CAACM,MAAM,CAAC;IAEnD,IAAI,CAACE,IAAI,CAAC,CAAC;EACb;EAEQA,IAAIA,CAAA,EAAG;IACbd,MAAM,CAAC;MACLe,KAAK,EAAE,IAAI,CAACP,IAAI,CAACQ,IAAI;MACrBC,MAAM,EAAEf,GAAG,CAAC,IAAI,CAACQ,GAAG,CAACQ,WAAW,CAACC,OAAO,CAAC;MACzCC,MAAM,EAAE,CAAC,IAAI,CAACV,GAAG,CAACQ,WAAW,EAAE,IAAI,CAACR,GAAG,CAACW,gBAAgB;IAC1D,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
|
|
@@ -1,11 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { createEvent, restore } from 'effector';
|
|
4
|
+
import { SESSION_LENGTH, TIME_THRESHOLD_MS } from "../fluency.constants.js";
|
|
5
|
+
import { calculateNextBox, selectNextFact, toSolvingFacts } from "../components/fluency-solving/fluencySolving.helpers.js";
|
|
4
6
|
export class FluencySolvingModel {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
reset = createEvent();
|
|
8
|
+
setAnswer = createEvent();
|
|
9
|
+
setFacts = createEvent();
|
|
10
|
+
setCurrent = createEvent();
|
|
11
|
+
setOutcomes = createEvent();
|
|
12
|
+
setSessionStartTime = createEvent();
|
|
13
|
+
setQuestionStartTime = createEvent();
|
|
14
|
+
$answer = restore(this.setAnswer, null).reset(this.reset);
|
|
15
|
+
$facts = restore(this.setFacts, []).reset(this.reset);
|
|
16
|
+
$current = restore(this.setCurrent, null).reset(this.reset);
|
|
17
|
+
$outcomes = restore(this.setOutcomes, []).reset(this.reset);
|
|
18
|
+
$sessionStartTime = restore(this.setSessionStartTime, 0).reset(this.reset);
|
|
19
|
+
$questionStartTime = restore(this.setQuestionStartTime, 0).reset(this.reset);
|
|
20
|
+
constructor(matrixModel) {
|
|
21
|
+
this.matrixModel = matrixModel;
|
|
22
|
+
}
|
|
23
|
+
start(mode) {
|
|
24
|
+
const data = this.matrixModel.$data.getState();
|
|
25
|
+
if (!data) return;
|
|
26
|
+
const facts = mode ? toSolvingFacts(data.operations[mode].facts, mode) : Object.entries(data.operations).flatMap(([op, operation]) => toSolvingFacts(operation.facts, op));
|
|
27
|
+
this.setFacts(facts);
|
|
28
|
+
this.setCurrent(selectNextFact(facts, Date.now()));
|
|
29
|
+
this.setOutcomes([]);
|
|
30
|
+
this.setSessionStartTime(Date.now());
|
|
31
|
+
this.setQuestionStartTime(Date.now());
|
|
32
|
+
}
|
|
33
|
+
submit() {
|
|
34
|
+
const facts = this.$facts.getState();
|
|
35
|
+
const current = this.$current.getState();
|
|
36
|
+
const answer = this.$answer.getState();
|
|
37
|
+
const outcomes = this.$outcomes.getState();
|
|
38
|
+
if (!current || outcomes.length >= SESSION_LENGTH) return;
|
|
39
|
+
const timeTakenMs = Date.now() - this.$questionStartTime.getState();
|
|
40
|
+
const isCorrect = answer !== null && answer === current.answer;
|
|
41
|
+
const isFast = timeTakenMs < TIME_THRESHOLD_MS;
|
|
42
|
+
const newBox = calculateNextBox({
|
|
43
|
+
currentBox: current.box,
|
|
44
|
+
isCorrect,
|
|
45
|
+
isFast,
|
|
46
|
+
sessionStartBox: current.sessionStartBox,
|
|
47
|
+
hasFailedThisSession: current.hasFailedThisSession
|
|
48
|
+
});
|
|
49
|
+
const updatedFact = {
|
|
50
|
+
...current,
|
|
51
|
+
box: newBox,
|
|
52
|
+
lastSeenMs: Date.now(),
|
|
53
|
+
hasFailedThisSession: current.hasFailedThisSession || !isCorrect
|
|
54
|
+
};
|
|
55
|
+
const updatedFacts = facts.map(f => f.id === current.id ? updatedFact : f);
|
|
56
|
+
this.setFacts(updatedFacts);
|
|
57
|
+
this.setCurrent(selectNextFact(updatedFacts, Date.now()));
|
|
58
|
+
this.setQuestionStartTime(Date.now());
|
|
59
|
+
this.setOutcomes([...outcomes, isCorrect ? 'correct' : 'wrong']);
|
|
60
|
+
this.setAnswer(null);
|
|
61
|
+
}
|
|
10
62
|
}
|
|
11
63
|
//# sourceMappingURL=FluencySolvingModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["createEvent","restore","SESSION_LENGTH","TIME_THRESHOLD_MS","calculateNextBox","selectNextFact","toSolvingFacts","FluencySolvingModel","reset","setAnswer","setFacts","setCurrent","setOutcomes","setSessionStartTime","setQuestionStartTime","$answer","$facts","$current","$outcomes","$sessionStartTime","$questionStartTime","constructor","matrixModel","start","mode","data","$data","getState","facts","operations","Object","entries","flatMap","op","operation","Date","now","submit","current","answer","outcomes","length","timeTakenMs","isCorrect","isFast","newBox","currentBox","box","sessionStartBox","hasFailedThisSession","updatedFact","lastSeenMs","updatedFacts","map","f","id"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencySolvingModel.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KeyboardKeys"],"sourceRoot":"../../../src","sources":["lib/constants.ts"],"mappings":";;AAAA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["KeyboardKeys"],"sourceRoot":"../../../src","sources":["lib/constants.ts"],"mappings":";;AAAA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
|
@@ -3,11 +3,12 @@ import type { FluencyModel } from '../model/FluencyModel';
|
|
|
3
3
|
import type { FluencyMode } from '../fluency.constants';
|
|
4
4
|
type FluencyProps = {
|
|
5
5
|
model: FluencyModel;
|
|
6
|
+
grade: number;
|
|
6
7
|
onMenuPress?: () => void;
|
|
7
8
|
onStartPress?: () => void;
|
|
8
9
|
onPracticePress?: () => void;
|
|
9
10
|
onModeSelectPress?: (mode: FluencyMode) => void;
|
|
10
11
|
};
|
|
11
|
-
export declare const Fluency: ({ model, onMenuPress, onStartPress, onPracticePress, onModeSelectPress, }: FluencyProps) => React.JSX.Element;
|
|
12
|
+
export declare const Fluency: ({ model, grade, onMenuPress, onStartPress, onPracticePress, onModeSelectPress, }: FluencyProps) => React.JSX.Element;
|
|
12
13
|
export {};
|
|
13
14
|
//# sourceMappingURL=Fluency.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fluency.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/components/Fluency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Fluency.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/components/Fluency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;CAChD,CAAA;AAED,eAAO,MAAM,OAAO,qFAOjB,YAAY,sBA0Bd,CAAA"}
|
|
@@ -3,7 +3,8 @@ import type { FluencyModel } from '../model/FluencyModel';
|
|
|
3
3
|
type FluencySolvingProps = {
|
|
4
4
|
model: FluencyModel;
|
|
5
5
|
onClosePress?: () => void;
|
|
6
|
+
onEndModalPress?: () => void;
|
|
6
7
|
};
|
|
7
|
-
export declare const FluencySolving: ({ model, onClosePress }: FluencySolvingProps) => React.JSX.Element;
|
|
8
|
+
export declare const FluencySolving: ({ model, onClosePress, onEndModalPress }: FluencySolvingProps) => React.JSX.Element;
|
|
8
9
|
export {};
|
|
9
10
|
//# sourceMappingURL=FluencySolving.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FluencySolving.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/components/FluencySolving.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"FluencySolving.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/components/FluencySolving.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAQzD,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,YAAY,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,sBA+B3F,CAAA"}
|
package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
type StreakStatus = 'missed' | 'gained' | 'today';
|
|
2
|
+
import { StreakStatus } from '../../fluency.constants';
|
|
4
3
|
type StreakDayProps = {
|
|
5
4
|
label: string;
|
|
6
5
|
status: StreakStatus;
|
|
7
|
-
streakColor:
|
|
6
|
+
streakColor: {
|
|
7
|
+
gained: string;
|
|
8
|
+
todayBorder: string;
|
|
9
|
+
};
|
|
8
10
|
};
|
|
9
11
|
export declare const StreakDay: ({ label, status, streakColor }: StreakDayProps) => React.JSX.Element;
|
|
10
12
|
export {};
|
package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayStreak.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/day-streak-counter/DayStreak.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,
|
|
1
|
+
{"version":3,"file":"DayStreak.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/day-streak-counter/DayStreak.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAKtD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;CACrD,CAAA;AAuCD,eAAO,MAAM,SAAS,mCAAoC,cAAc,sBAavE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayStreakCounter.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DayStreakCounter.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAiCtC,eAAO,MAAM,gBAAgB,yBAwB5B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EquationContent.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/EquationContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,KAAK,oBAAoB,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,eAAe,yCAA+C,oBAAoB,sBAsB9F,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FluencyEquationCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAErE,KAAK,wBAAwB,GAAG;IAC9B,eAAe,EAAE,UAAU,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,mBAAmB,wBAAyB,wBAAwB,sBAuBhF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FluencyNumpad.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencyNumpad.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,KAAK,kBAAkB,GAAG;IACxB,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,aAAa,qBAAsB,kBAAkB,sBAqBjE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FluencySolvingCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAahD,eAAO,MAAM,kBAAkB,yBA6D9B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FluencySolvingHeader.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,KAAK,yBAAyB,GAAG;IAC/B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,oBAAoB,qBAAsB,yBAAyB,sBAoB/E,CAAA"}
|