@magmamath/students-features 1.3.26-rc.4 → 1.3.26-rc.6
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/assets/FlameIcon.js +30 -0
- package/dist/commonjs/features/fluency/assets/FlameIcon.js.map +1 -0
- package/dist/commonjs/features/fluency/assets/{SpringIcon.js → FlashIcon.js} +15 -14
- package/dist/commonjs/features/fluency/assets/FlashIcon.js.map +1 -0
- package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js +231 -0
- package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js.map +1 -0
- package/dist/commonjs/features/fluency/assets/StarFillIcon.js +5 -3
- package/dist/commonjs/features/fluency/assets/StarFillIcon.js.map +1 -1
- package/dist/commonjs/features/fluency/assets/TrophyBg.js +41 -0
- package/dist/commonjs/features/fluency/assets/TrophyBg.js.map +1 -0
- package/dist/commonjs/features/fluency/components/Fluency.js +2 -2
- package/dist/commonjs/features/fluency/components/Fluency.js.map +1 -1
- package/dist/commonjs/features/fluency/components/FluencySolving.js +15 -10
- package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +4 -4
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +54 -14
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +8 -2
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js +2 -2
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +4 -33
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +13 -6
- 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 +5 -3
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js +42 -14
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js +4 -0
- package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js +56 -0
- package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js.map +1 -0
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +45 -29
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js +10 -4
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js +7 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +1 -57
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +13 -5
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +144 -130
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js +40 -62
- package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js +29 -29
- package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -1
- package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js +1 -0
- package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +36 -9
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.constants.js +16 -6
- package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.helpers.js +9 -8
- package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js +59 -73
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +57 -0
- package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -0
- package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js +26 -0
- package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js.map +1 -0
- package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js +0 -1
- package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencyModel.js +31 -1
- package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencySolvingModel.js +129 -46
- package/dist/commonjs/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/module/features/fluency/assets/FlameIcon.js +22 -0
- package/dist/module/features/fluency/assets/FlameIcon.js.map +1 -0
- package/dist/module/features/fluency/assets/FlashIcon.js +22 -0
- package/dist/module/features/fluency/assets/FlashIcon.js.map +1 -0
- package/dist/module/features/fluency/assets/SnurrisnurrBg.js +224 -0
- package/dist/module/features/fluency/assets/SnurrisnurrBg.js.map +1 -0
- package/dist/module/features/fluency/assets/StarFillIcon.js +5 -3
- package/dist/module/features/fluency/assets/StarFillIcon.js.map +1 -1
- package/dist/module/features/fluency/assets/TrophyBg.js +33 -0
- package/dist/module/features/fluency/assets/TrophyBg.js.map +1 -0
- package/dist/module/features/fluency/components/Fluency.js +2 -2
- package/dist/module/features/fluency/components/Fluency.js.map +1 -1
- package/dist/module/features/fluency/components/FluencySolving.js +14 -10
- package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +4 -4
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +53 -14
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +8 -2
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js +2 -2
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +3 -31
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +14 -7
- 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 +5 -3
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js +38 -14
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js +2 -0
- package/dist/module/features/fluency/components/matrix/components/CellTooltip.js +50 -0
- package/dist/module/features/fluency/components/matrix/components/CellTooltip.js.map +1 -0
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +45 -30
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixFill.js +10 -4
- package/dist/module/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js +7 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +1 -57
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +14 -6
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +145 -132
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/module/features/fluency/components/session-results/SessionStatCard.js +42 -64
- package/dist/module/features/fluency/components/session-results/SessionStatCard.js.map +1 -1
- package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js +29 -29
- package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -1
- package/dist/module/features/fluency/components/start-banner/MathFlashcard.js +2 -1
- package/dist/module/features/fluency/components/start-banner/MathFlashcard.js.map +1 -1
- package/dist/module/features/fluency/components/start-banner/StartBanner.js +38 -11
- package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/module/features/fluency/fluency.constants.js +15 -6
- package/dist/module/features/fluency/fluency.constants.js.map +1 -1
- package/dist/module/features/fluency/fluency.helpers.js +9 -8
- package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencyModePreset.js +1 -1
- package/dist/module/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js +61 -74
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +52 -0
- package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -0
- package/dist/module/features/fluency/hooks/usePreventWebKeys.js +21 -0
- package/dist/module/features/fluency/hooks/usePreventWebKeys.js.map +1 -0
- package/dist/module/features/fluency/model/FluencyMatrixModel.js +0 -1
- package/dist/module/features/fluency/model/FluencyMatrixModel.js.map +1 -1
- package/dist/module/features/fluency/model/FluencyModel.js +32 -2
- package/dist/module/features/fluency/model/FluencyModel.js.map +1 -1
- package/dist/module/features/fluency/model/FluencySolvingModel.js +131 -48
- package/dist/module/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts +5 -1
- package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts +3 -2
- package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/FluencySolving.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 +4 -2
- 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/FluencyEquationCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +2 -2
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.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/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +3 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +11 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts +7 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts +4 -2
- 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.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
- 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 +3 -5
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts +5 -4
- package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +2 -5
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +21 -12
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts +1 -5
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +14 -14
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +22 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts +0 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +2 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts +18 -12
- package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts +3 -0
- package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts +5 -1
- package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts +3 -0
- package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/Fluency.d.ts +3 -2
- package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/FluencySolving.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 +4 -2
- 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/FluencyEquationCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +2 -2
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.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/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +3 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +11 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts +7 -0
- package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts +4 -2
- 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.map +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
- 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 +3 -5
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts +5 -4
- package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts +9 -0
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +2 -5
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.types.d.ts +21 -12
- package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts +1 -5
- package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +14 -14
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +22 -0
- package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts +9 -0
- package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts +0 -1
- package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +2 -1
- package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts +18 -12
- package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/features/fluency/assets/FlameIcon.tsx +14 -0
- package/src/features/fluency/assets/FlashIcon.tsx +14 -0
- package/src/features/fluency/assets/SnurrisnurrBg.tsx +193 -0
- package/src/features/fluency/assets/StarFillIcon.tsx +7 -3
- package/src/features/fluency/assets/TrophyBg.tsx +32 -0
- package/src/features/fluency/components/Fluency.tsx +4 -3
- package/src/features/fluency/components/FluencySolving.tsx +15 -9
- package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +6 -6
- package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +51 -13
- package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +12 -2
- package/src/features/fluency/components/fluency-solving/components/FluencyNumpad.tsx +3 -3
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +3 -36
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx +13 -4
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +8 -4
- package/src/features/fluency/components/fluency-solving/fluencySolving.helpers.ts +40 -16
- package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +12 -1
- package/src/features/fluency/components/matrix/components/CellTooltip.tsx +46 -0
- package/src/features/fluency/components/matrix/components/MatrixCell.tsx +47 -28
- package/src/features/fluency/components/matrix/components/MatrixFill.tsx +16 -3
- package/src/features/fluency/components/matrix/components/MatrixLegend.tsx +7 -2
- package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +1 -66
- package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +25 -5
- package/src/features/fluency/components/session-results/FluencySessionResults.tsx +127 -147
- package/src/features/fluency/components/session-results/SessionStatCard.tsx +35 -77
- package/src/features/fluency/components/start-banner/BannerFlashcards.tsx +15 -15
- package/src/features/fluency/components/start-banner/MathFlashcard.tsx +2 -1
- package/src/features/fluency/components/start-banner/StartBanner.tsx +38 -10
- package/src/features/fluency/fluency.constants.ts +15 -6
- package/src/features/fluency/fluency.helpers.ts +11 -10
- package/src/features/fluency/fluency.types.ts +28 -7
- package/src/features/fluency/hooks/useFluencyModePreset.ts +2 -3
- package/src/features/fluency/hooks/useFluencyNumpad.tsx +61 -80
- package/src/features/fluency/hooks/useFluencySolvingPreset.ts +49 -0
- package/src/features/fluency/hooks/usePreventWebKeys.ts +24 -0
- package/src/features/fluency/model/FluencyMatrixModel.ts +1 -1
- package/src/features/fluency/model/FluencyModel.ts +35 -3
- package/src/features/fluency/model/FluencySolvingModel.ts +170 -57
- package/dist/commonjs/features/fluency/assets/SpringIcon.js.map +0 -1
- package/dist/module/features/fluency/assets/SpringIcon.js +0 -22
- package/dist/module/features/fluency/assets/SpringIcon.js.map +0 -1
- package/dist/typescript/commonjs/features/fluency/assets/SpringIcon.d.ts +0 -3
- package/dist/typescript/commonjs/features/fluency/assets/SpringIcon.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/assets/SpringIcon.d.ts +0 -3
- package/dist/typescript/module/features/fluency/assets/SpringIcon.d.ts.map +0 -1
- package/src/features/fluency/assets/SpringIcon.tsx +0 -17
package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js
CHANGED
|
@@ -4,19 +4,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.EquationContent = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
10
|
-
var
|
|
10
|
+
var _useFluencySolvingPreset = require("../../../hooks/useFluencySolvingPreset.js");
|
|
11
|
+
var _usePreventWebKeys = require("../../../hooks/usePreventWebKeys.js");
|
|
12
|
+
var _fluencyConstants = require("../../../fluency.constants.js");
|
|
11
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
const CURSOR_MOVE_KEYS = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];
|
|
13
17
|
const EquationContent = ({
|
|
14
18
|
leftOperand,
|
|
15
19
|
rightOperand,
|
|
16
|
-
|
|
20
|
+
value = '',
|
|
21
|
+
readOnly = false,
|
|
22
|
+
onChange
|
|
17
23
|
}) => {
|
|
18
|
-
const modePreset = (0,
|
|
19
|
-
const
|
|
24
|
+
const modePreset = (0, _useFluencySolvingPreset.useFluencySolvingPreset)();
|
|
25
|
+
const inputRef = (0, _react.useRef)(null);
|
|
26
|
+
(0, _usePreventWebKeys.usePreventWebKeys)({
|
|
27
|
+
ref: inputRef,
|
|
28
|
+
keys: CURSOR_MOVE_KEYS,
|
|
29
|
+
enabled: !readOnly
|
|
30
|
+
});
|
|
20
31
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
21
32
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
22
33
|
variant: _reactNativeUi.HeadingVariants.H9,
|
|
@@ -27,9 +38,11 @@ const EquationContent = ({
|
|
|
27
38
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
28
39
|
style: styles.number,
|
|
29
40
|
children: leftOperand
|
|
30
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
42
|
+
style: [styles.number, {
|
|
43
|
+
color: modePreset.colors.accent
|
|
44
|
+
}],
|
|
45
|
+
children: modePreset.symbol
|
|
33
46
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
34
47
|
style: styles.number,
|
|
35
48
|
children: rightOperand
|
|
@@ -37,12 +50,27 @@ const EquationContent = ({
|
|
|
37
50
|
style: styles.equals,
|
|
38
51
|
children: "="
|
|
39
52
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
40
|
-
style: styles.answerBox,
|
|
41
|
-
|
|
42
|
-
|
|
53
|
+
style: [styles.answerBox, value.length > 0 && {
|
|
54
|
+
borderBottomColor: modePreset.colors.accent
|
|
55
|
+
}],
|
|
56
|
+
children: !readOnly ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
57
|
+
ref: inputRef,
|
|
58
|
+
value: value,
|
|
59
|
+
onChangeText: onChange,
|
|
60
|
+
keyboardType: "number-pad",
|
|
61
|
+
maxLength: _fluencyConstants.MAX_INPUT_LENGTH,
|
|
62
|
+
selection: {
|
|
63
|
+
start: value.length,
|
|
64
|
+
end: value.length
|
|
65
|
+
},
|
|
66
|
+
style: [styles.number, styles.answerInput, {
|
|
43
67
|
color: modePreset.colors.accent
|
|
44
68
|
}],
|
|
45
|
-
|
|
69
|
+
autoFocus: true
|
|
70
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
71
|
+
style: [styles.number, styles.answerText, {
|
|
72
|
+
color: modePreset.colors.accent
|
|
73
|
+
}]
|
|
46
74
|
})
|
|
47
75
|
})]
|
|
48
76
|
})]
|
|
@@ -76,7 +104,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
76
104
|
fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires
|
|
77
105
|
},
|
|
78
106
|
answerBox: {
|
|
79
|
-
width:
|
|
107
|
+
width: 110,
|
|
80
108
|
height: 44,
|
|
81
109
|
alignItems: 'center',
|
|
82
110
|
borderBottomWidth: 8,
|
|
@@ -84,6 +112,18 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
84
112
|
},
|
|
85
113
|
answerText: {
|
|
86
114
|
position: 'absolute'
|
|
115
|
+
},
|
|
116
|
+
answerInput: {
|
|
117
|
+
position: 'absolute',
|
|
118
|
+
bottom: -_reactNativeUi.SPACING[400],
|
|
119
|
+
textAlign: 'center',
|
|
120
|
+
width: '100%',
|
|
121
|
+
borderWidth: 0,
|
|
122
|
+
backgroundColor: 'transparent',
|
|
123
|
+
...(_reactNative.Platform.OS === 'web' && {
|
|
124
|
+
outlineStyle: 'none',
|
|
125
|
+
caretColor: 'transparent'
|
|
126
|
+
})
|
|
87
127
|
}
|
|
88
128
|
});
|
|
89
129
|
//# sourceMappingURL=EquationContent.js.map
|
package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_useFluencySolvingPreset","_usePreventWebKeys","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CURSOR_MOVE_KEYS","EquationContent","leftOperand","rightOperand","value","readOnly","onChange","modePreset","useFluencySolvingPreset","inputRef","useRef","usePreventWebKeys","ref","keys","enabled","jsxs","Fragment","children","jsx","Typography","variant","HeadingVariants","H9","style","styles","cardLabel","View","equationRow","number","color","colors","accent","symbol","equals","answerBox","length","borderBottomColor","TextInput","onChangeText","keyboardType","maxLength","MAX_INPUT_LENGTH","selection","start","end","answerInput","autoFocus","answerText","exports","StyleSheet","create","fontSize","fontWeight","letterSpacing","marginBottom","SPACING","COLORS","NEUTRAL_7","flexDirection","alignItems","gap","marginTop","NEUTRAL_10","fontFamily","FONT_FAMILY","buenosAires","width","height","borderBottomWidth","position","bottom","textAlign","borderWidth","backgroundColor","Platform","OS","outlineStyle","caretColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/EquationContent.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js
CHANGED
|
@@ -28,6 +28,10 @@ const FluencyEquationCard = ({
|
|
|
28
28
|
});
|
|
29
29
|
const left = fact?.numbers[0] ?? 0;
|
|
30
30
|
const right = fact?.numbers[1] ?? 0;
|
|
31
|
+
const updateAnswer = text => {
|
|
32
|
+
const digits = text.replace(/\D/g, '');
|
|
33
|
+
model.solving.setAnswer(digits || null);
|
|
34
|
+
};
|
|
31
35
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
32
36
|
style: styles.stack,
|
|
33
37
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
@@ -38,14 +42,16 @@ const FluencyEquationCard = ({
|
|
|
38
42
|
style: [styles.card, styles.cardNear, animationStyles.near],
|
|
39
43
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EquationContent.EquationContent, {
|
|
40
44
|
leftOperand: left,
|
|
41
|
-
rightOperand: right
|
|
45
|
+
rightOperand: right,
|
|
46
|
+
readOnly: true
|
|
42
47
|
})
|
|
43
48
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
44
49
|
style: [styles.card, styles.cardFront, animationStyles.front],
|
|
45
50
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EquationContent.EquationContent, {
|
|
46
51
|
leftOperand: left,
|
|
47
52
|
rightOperand: right,
|
|
48
|
-
|
|
53
|
+
value: answer ?? '',
|
|
54
|
+
onChange: updateAnswer
|
|
49
55
|
})
|
|
50
56
|
})]
|
|
51
57
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_reactNative","_reactNativeReanimated","_reactNativeUi","_EquationContent","_FluencyContext","_jsxRuntime","e","__esModule","default","FluencyEquationCard","animationStyles","model","useFluency","answer","fact","useUnit","solving","$answer","$current","left","numbers","right","jsxs","View","style","styles","stack","children","jsx","card","cardFar","far","cardMid","mid","cardNear","near","EquationContent","leftOperand","rightOperand","cardFront","front","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_reactNative","_reactNativeReanimated","_reactNativeUi","_EquationContent","_FluencyContext","_jsxRuntime","e","__esModule","default","FluencyEquationCard","animationStyles","model","useFluency","answer","fact","useUnit","solving","$answer","$current","left","numbers","right","updateAnswer","text","digits","replace","setAnswer","jsxs","View","style","styles","stack","children","jsx","card","cardFar","far","cardMid","mid","cardNear","near","EquationContent","leftOperand","rightOperand","readOnly","cardFront","front","value","onChange","exports","StyleSheet","create","width","maxWidth","height","borderRadius","BORDER_RADIUS","backgroundColor","COLORS","NEUTRAL_1","SHADOWS","position","top","opacity","alignItems","justifyContent"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js
CHANGED
|
@@ -11,12 +11,12 @@ var _useFluencyNumpad = require("../../../hooks/useFluencyNumpad.js");
|
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const FluencyNumpad = ({
|
|
14
|
-
|
|
14
|
+
onSubmit
|
|
15
15
|
}) => {
|
|
16
16
|
const {
|
|
17
17
|
options
|
|
18
18
|
} = (0, _useFluencyNumpad.useFluencyNumpad)({
|
|
19
|
-
|
|
19
|
+
onSubmit
|
|
20
20
|
});
|
|
21
21
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
22
22
|
style: styles.container,
|
package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_useFluencyNumpad","_jsxRuntime","e","__esModule","default","FluencyNumpad","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_useFluencyNumpad","_jsxRuntime","e","__esModule","default","FluencyNumpad","onSubmit","options","useFluencyNumpad","jsx","View","style","styles","container","children","SelectGroup","numOfRows","color","SelectOptionColor","GREY","size","SelectOptionSize","SMALL","grid","row","option","button","optionButton","text","optionText","exports","StyleSheet","create","alignItems","paddingVertical","SPACING","marginTop","width","gap","height","fontSize","fontWeight","fontFamily","FONT_FAMILY","buenosAires"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencyNumpad.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAAkE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM3D,MAAMG,aAAa,GAAGA,CAAC;EAAEC;AAA6B,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,kCAAgB,EAAC;IAAEF;EAAS,CAAC,CAAC;EAElD,oBACE,IAAAL,WAAA,CAAAQ,GAAA,EAACX,YAAA,CAAAY,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5B,IAAAb,WAAA,CAAAQ,GAAA,EAACV,cAAA,CAAAgB,WAAW;MACVC,SAAS,EAAE,CAAE;MACbC,KAAK,EAAEC,gCAAiB,CAACC,IAAK;MAC9BC,IAAI,EAAEC,+BAAgB,CAACC,KAAM;MAC7Bf,OAAO,EAAEA,OAAQ;MACjBI,KAAK,EAAE;QACLE,SAAS,EAAED,MAAM,CAACW,IAAI;QACtBC,GAAG,EAAEZ,MAAM,CAACY,GAAG;QACfC,MAAM,EAAE;UACNC,MAAM,EAAEd,MAAM,CAACe,YAAY;UAC3BC,IAAI,EAAEhB,MAAM,CAACiB;QACf;MACF;IAAE,CACH;EAAC,CACE,CAAC;AAEX,CAAC;AAAAC,OAAA,CAAAzB,aAAA,GAAAA,aAAA;AAED,MAAMO,MAAM,GAAGmB,uBAAU,CAACC,MAAM,CAAC;EAC/BnB,SAAS,EAAE;IACToB,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC7BC,SAAS,EAAED,sBAAO,CAAC,GAAG;EACxB,CAAC;EACDZ,IAAI,EAAE;IACJc,KAAK,EAAE,GAAG;IACVC,GAAG,EAAEH,sBAAO,CAAC,GAAG;EAClB,CAAC;EACDX,GAAG,EAAE;IACHc,GAAG,EAAEH,sBAAO,CAAC,GAAG;EAClB,CAAC;EACDR,YAAY,EAAE;IACZY,MAAM,EAAE;EACV,CAAC;EACDV,UAAU,EAAE;IACVW,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAEC,0BAAW,CAACC;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
|
package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.FluencySolvingCard = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
10
10
|
var _effectorReact = require("effector-react/effector-react.mjs");
|
|
@@ -13,12 +13,8 @@ var _FluencyEquationCard = require("./FluencyEquationCard.js");
|
|
|
13
13
|
var _FluencyContext = require("../../../context/FluencyContext.js");
|
|
14
14
|
var _useCardSnapAnimation = require("../../../hooks/useCardSnapAnimation.js");
|
|
15
15
|
var _useSuccessSound = require("../../../hooks/useSuccessSound.js");
|
|
16
|
-
var _commonConstants = require("../../../../../shared/common.constants.js");
|
|
17
|
-
var _constants = require("../../../../../lib/constants.js");
|
|
18
|
-
var _fluencyConstants = require("../../../fluency.constants.js");
|
|
19
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
function
|
|
21
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
18
|
const FluencySolvingCard = () => {
|
|
23
19
|
const {
|
|
24
20
|
model
|
|
@@ -32,12 +28,9 @@ const FluencySolvingCard = () => {
|
|
|
32
28
|
});
|
|
33
29
|
const animation = (0, _useCardSnapAnimation.useCardSnapAnimation)();
|
|
34
30
|
const successSound = (0, _useSuccessSound.useSuccessSound)();
|
|
35
|
-
const answerRef = (0, _react.useRef)(answer);
|
|
36
|
-
const submitRef = (0, _react.useRef)(() => {});
|
|
37
|
-
answerRef.current = answer;
|
|
38
31
|
const submit = () => {
|
|
39
32
|
if (!fact) return;
|
|
40
|
-
const isCorrect =
|
|
33
|
+
const isCorrect = answer !== null && Number(answer) === fact.answer;
|
|
41
34
|
if (isCorrect) {
|
|
42
35
|
successSound.play();
|
|
43
36
|
animation.trigger('right');
|
|
@@ -46,28 +39,6 @@ const FluencySolvingCard = () => {
|
|
|
46
39
|
}
|
|
47
40
|
model.solving.submit();
|
|
48
41
|
};
|
|
49
|
-
submitRef.current = submit;
|
|
50
|
-
(0, _react.useEffect)(() => {
|
|
51
|
-
if (!_commonConstants.isWeb) return;
|
|
52
|
-
const handleKeyDown = event => {
|
|
53
|
-
const isDigit = /^\d$/.test(event.key);
|
|
54
|
-
if (isDigit) {
|
|
55
|
-
const currentStr = answerRef.current !== null ? answerRef.current.toString() : '';
|
|
56
|
-
if (currentStr.length >= _fluencyConstants.MAX_INPUT_LENGTH) return;
|
|
57
|
-
model.solving.setAnswer(parseInt(currentStr + event.key, 10));
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (event.key === _constants.KeyboardKeys.BACKSPACE) {
|
|
61
|
-
const currentStr = answerRef.current !== null ? answerRef.current.toString() : '';
|
|
62
|
-
const newStr = currentStr.slice(0, -1);
|
|
63
|
-
model.solving.setAnswer(newStr ? parseInt(newStr, 10) : null);
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
if (event.key === _constants.KeyboardKeys.ENTER) submitRef.current();
|
|
67
|
-
};
|
|
68
|
-
window.addEventListener('keydown', handleKeyDown);
|
|
69
|
-
return () => window.removeEventListener('keydown', handleKeyDown);
|
|
70
|
-
}, []);
|
|
71
42
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
72
43
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
73
44
|
style: styles.wrapper,
|
|
@@ -75,7 +46,7 @@ const FluencySolvingCard = () => {
|
|
|
75
46
|
animationStyles: animation.snapStyles
|
|
76
47
|
})
|
|
77
48
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyNumpad.FluencyNumpad, {
|
|
78
|
-
|
|
49
|
+
onSubmit: submit
|
|
79
50
|
})]
|
|
80
51
|
});
|
|
81
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_effectorReact","_FluencyNumpad","_FluencyEquationCard","_FluencyContext","_useCardSnapAnimation","_useSuccessSound","_jsxRuntime","e","__esModule","default","FluencySolvingCard","model","useFluency","answer","fact","useUnit","solving","$answer","$current","animation","useCardSnapAnimation","successSound","useSuccessSound","submit","isCorrect","Number","play","trigger","jsxs","View","children","jsx","style","styles","wrapper","FluencyEquationCard","animationStyles","snapStyles","FluencyNumpad","onSubmit","exports","StyleSheet","create","alignItems","paddingVertical","SPACING","paddingHorizontal","marginTop"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AAAgE,IAAAS,WAAA,GAAAT,OAAA;AAAA,SAAAD,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzD,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EAC9B,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,sBAAO,EAAC;IAC/BF,MAAM,EAAEF,KAAK,CAACK,OAAO,CAACC,OAAO;IAC7BH,IAAI,EAAEH,KAAK,CAACK,OAAO,CAACE;EACtB,CAAC,CAAC;EACF,MAAMC,SAAS,GAAG,IAAAC,0CAAoB,EAAC,CAAC;EACxC,MAAMC,YAAY,GAAG,IAAAC,gCAAe,EAAC,CAAC;EAEtC,MAAMC,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAI,CAACT,IAAI,EAAE;IAEX,MAAMU,SAAS,GAAGX,MAAM,KAAK,IAAI,IAAIY,MAAM,CAACZ,MAAM,CAAC,KAAKC,IAAI,CAACD,MAAM;IACnE,IAAIW,SAAS,EAAE;MACbH,YAAY,CAACK,IAAI,CAAC,CAAC;MACnBP,SAAS,CAACQ,OAAO,CAAC,OAAO,CAAC;IAC5B,CAAC,MAAM;MACLR,SAAS,CAACQ,OAAO,CAAC,MAAM,CAAC;IAC3B;IAEAhB,KAAK,CAACK,OAAO,CAACO,MAAM,CAAC,CAAC;EACxB,CAAC;EAED,oBACE,IAAAjB,WAAA,CAAAsB,IAAA,EAAC9B,YAAA,CAAA+B,IAAI;IAAAC,QAAA,gBACH,IAAAxB,WAAA,CAAAyB,GAAA,EAACjC,YAAA,CAAA+B,IAAI;MAACG,KAAK,EAAEC,MAAM,CAACC,OAAQ;MAAAJ,QAAA,eAC1B,IAAAxB,WAAA,CAAAyB,GAAA,EAAC7B,oBAAA,CAAAiC,mBAAmB;QAACC,eAAe,EAAEjB,SAAS,CAACkB;MAAW,CAAE;IAAC,CAC1D,CAAC,eACP,IAAA/B,WAAA,CAAAyB,GAAA,EAAC9B,cAAA,CAAAqC,aAAa;MAACC,QAAQ,EAAEhB;IAAO,CAAE,CAAC;EAAA,CAC/B,CAAC;AAEX,CAAC;AAAAiB,OAAA,CAAA9B,kBAAA,GAAAA,kBAAA;AAED,MAAMuB,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,OAAO,EAAE;IACPS,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC7BC,iBAAiB,EAAED,sBAAO,CAAC,GAAG,CAAC;IAC/BE,SAAS,EAAEF,sBAAO,CAAC,GAAG;EACxB;AACF,CAAC,CAAC","ignoreList":[]}
|
package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js
CHANGED
|
@@ -7,29 +7,30 @@ exports.FluencySolvingHeader = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
10
|
-
var
|
|
10
|
+
var _useFluencySolvingPreset = require("../../../hooks/useFluencySolvingPreset.js");
|
|
11
11
|
var _XCloseIcon = require("../../../../../shared/icons/XCloseIcon.js");
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
const FluencySolvingHeader = ({
|
|
15
15
|
onClosePress
|
|
16
16
|
}) => {
|
|
17
|
-
const modePreset = (0,
|
|
18
|
-
const OperatorIcon = modePreset.icon;
|
|
17
|
+
const modePreset = (0, _useFluencySolvingPreset.useFluencySolvingPreset)();
|
|
19
18
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
20
19
|
style: styles.container,
|
|
21
20
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
|
|
22
21
|
variant: _reactNativeUi.ButtonVariant.SECONDARY,
|
|
23
22
|
size: _reactNativeUi.ButtonSize.LARGE,
|
|
23
|
+
colorScheme: _reactNativeUi.ButtonColor.WHITE,
|
|
24
24
|
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_XCloseIcon.XCloseIcon, {}),
|
|
25
25
|
onPress: onClosePress
|
|
26
26
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
27
27
|
style: [styles.operatorBadge, {
|
|
28
28
|
backgroundColor: modePreset.colors.accent
|
|
29
29
|
}],
|
|
30
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
31
|
+
variant: _reactNativeUi.HeadingVariants.H7,
|
|
32
|
+
style: styles.symbol,
|
|
33
|
+
children: modePreset.symbol
|
|
33
34
|
})
|
|
34
35
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
35
36
|
variant: _reactNativeUi.HeadingVariants.H4,
|
|
@@ -60,6 +61,12 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
60
61
|
title: {
|
|
61
62
|
color: _reactNativeUi.COLORS.NEUTRAL_10,
|
|
62
63
|
fontWeight: '700'
|
|
64
|
+
},
|
|
65
|
+
symbol: {
|
|
66
|
+
fontSize: 32,
|
|
67
|
+
fontWeight: '100',
|
|
68
|
+
marginBottom: 2,
|
|
69
|
+
color: _reactNativeUi.COLORS.NEUTRAL_1
|
|
63
70
|
}
|
|
64
71
|
});
|
|
65
72
|
//# sourceMappingURL=FluencySolvingHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_useFluencySolvingPreset","_XCloseIcon","_jsxRuntime","e","__esModule","default","FluencySolvingHeader","onClosePress","modePreset","useFluencySolvingPreset","jsxs","View","style","styles","container","children","jsx","Button","variant","ButtonVariant","SECONDARY","size","ButtonSize","LARGE","colorScheme","ButtonColor","WHITE","icon","XCloseIcon","onPress","operatorBadge","backgroundColor","colors","accent","Typography","HeadingVariants","H7","symbol","H4","title","label","exports","StyleSheet","create","height","flexDirection","alignItems","gap","paddingVertical","SPACING","paddingHorizontal","SHADOWS","width","borderRadius","BORDER_RADIUS","justifyContent","color","COLORS","NEUTRAL_10","fontWeight","fontSize","marginBottom","NEUTRAL_1"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAYA,IAAAG,wBAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAmE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM5D,MAAMG,oBAAoB,GAAGA,CAAC;EAAEC;AAAwC,CAAC,KAAK;EACnF,MAAMC,UAAU,GAAG,IAAAC,gDAAuB,EAAC,CAAC;EAE5C,oBACE,IAAAP,WAAA,CAAAQ,IAAA,EAACZ,YAAA,CAAAa,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B,IAAAb,WAAA,CAAAc,GAAA,EAACjB,cAAA,CAAAkB,MAAM;MACLC,OAAO,EAAEC,4BAAa,CAACC,SAAU;MACjCC,IAAI,EAAEC,yBAAU,CAACC,KAAM;MACvBC,WAAW,EAAEC,0BAAW,CAACC,KAAM;MAC/BC,IAAI,eAAE,IAAAzB,WAAA,CAAAc,GAAA,EAACf,WAAA,CAAA2B,UAAU,IAAE,CAAE;MACrBC,OAAO,EAAEtB;IAAa,CACvB,CAAC,eACF,IAAAL,WAAA,CAAAc,GAAA,EAAClB,YAAA,CAAAa,IAAI;MAACC,KAAK,EAAE,CAACC,MAAM,CAACiB,aAAa,EAAE;QAAEC,eAAe,EAAEvB,UAAU,CAACwB,MAAM,CAACC;MAAO,CAAC,CAAE;MAAAlB,QAAA,eACjF,IAAAb,WAAA,CAAAc,GAAA,EAACjB,cAAA,CAAAmC,UAAU;QAAChB,OAAO,EAAEiB,8BAAe,CAACC,EAAG;QAACxB,KAAK,EAAEC,MAAM,CAACwB,MAAO;QAAAtB,QAAA,EAC3DP,UAAU,CAAC6B;MAAM,CACR;IAAC,CACT,CAAC,eACP,IAAAnC,WAAA,CAAAc,GAAA,EAACjB,cAAA,CAAAmC,UAAU;MAAChB,OAAO,EAAEiB,8BAAe,CAACG,EAAG;MAAC1B,KAAK,EAAEC,MAAM,CAAC0B,KAAM;MAAAxB,QAAA,EAC1DP,UAAU,CAACgC;IAAK,CACP,CAAC;EAAA,CACT,CAAC;AAEX,CAAC;AAAAC,OAAA,CAAAnC,oBAAA,GAAAA,oBAAA;AAED,MAAMO,MAAM,GAAG6B,uBAAU,CAACC,MAAM,CAAC;EAC/B7B,SAAS,EAAE;IACT8B,MAAM,EAAE,EAAE;IACVC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,EAAE;IACPC,eAAe,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC7BC,iBAAiB,EAAED,sBAAO,CAAC,GAAG,CAAC;IAC/B,GAAGE,sBAAO,CAAC,CAAC;EACd,CAAC;EACDrB,aAAa,EAAE;IACbsB,KAAK,EAAE,EAAE;IACTR,MAAM,EAAE,EAAE;IACVS,YAAY,EAAEC,4BAAa,CAAC,GAAG,CAAC;IAChCR,UAAU,EAAE,QAAQ;IACpBS,cAAc,EAAE,QAAQ;IACxB,GAAGJ,sBAAO,CAAC,CAAC;EACd,CAAC;EACDZ,KAAK,EAAE;IACLiB,KAAK,EAAEC,qBAAM,CAACC,UAAU;IACxBC,UAAU,EAAE;EACd,CAAC;EACDtB,MAAM,EAAE;IACNuB,QAAQ,EAAE,EAAE;IACZD,UAAU,EAAE,KAAK;IACjBE,YAAY,EAAE,CAAC;IACfL,KAAK,EAAEC,qBAAM,CAACK;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.FluencySolvingProgress = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
10
|
+
var _fluencyConstants = require("../../../fluency.constants.js");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
const FluencySolvingProgress = ({
|
|
@@ -25,7 +26,7 @@ const FluencySolvingProgress = ({
|
|
|
25
26
|
if (index < activeIndex) {
|
|
26
27
|
const outcome = outcomes[index];
|
|
27
28
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
28
|
-
style: outcome ? DOT_STYLE_BY_OUTCOME[outcome] : styles.dot
|
|
29
|
+
style: outcome ? DOT_STYLE_BY_OUTCOME[outcome.status] : styles.dot
|
|
29
30
|
}, index);
|
|
30
31
|
}
|
|
31
32
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
@@ -69,7 +70,8 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
69
70
|
}
|
|
70
71
|
});
|
|
71
72
|
const DOT_STYLE_BY_OUTCOME = {
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
[_fluencyConstants.AttemptStatus.CORRECT]: styles.dotCorrect,
|
|
74
|
+
[_fluencyConstants.AttemptStatus.INCORRECT]: styles.dotWrong,
|
|
75
|
+
[_fluencyConstants.AttemptStatus.SKIPPED]: styles.dot
|
|
74
76
|
};
|
|
75
77
|
//# sourceMappingURL=FluencySolvingProgress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_jsxRuntime","e","__esModule","default","FluencySolvingProgress","total","activeIndex","outcomes","jsx","View","style","styles","container","children","Array","from","length","map","_","index","dotActive","outcome","DOT_STYLE_BY_OUTCOME","dot","exports","StyleSheet","create","flexDirection","gap","SPACING","paddingHorizontal","paddingVertical","justifyContent","width","height","borderRadius","backgroundColor","COLORS","NEUTRAL_4","NEUTRAL_10","dotCorrect","PRIMARY_GREEN","dotWrong","PRIMARY_RED","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_fluencyConstants","_jsxRuntime","e","__esModule","default","FluencySolvingProgress","total","activeIndex","outcomes","jsx","View","style","styles","container","children","Array","from","length","map","_","index","dotActive","outcome","DOT_STYLE_BY_OUTCOME","status","dot","exports","StyleSheet","create","flexDirection","gap","SPACING","paddingHorizontal","paddingVertical","justifyContent","width","height","borderRadius","backgroundColor","COLORS","NEUTRAL_4","NEUTRAL_10","dotCorrect","PRIMARY_GREEN","dotWrong","PRIMARY_RED","AttemptStatus","CORRECT","INCORRECT","SKIPPED"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAA0D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASnD,MAAMG,sBAAsB,GAAGA,CAAC;EACrCC,KAAK;EACLC,WAAW;EACXC;AAC2B,CAAC,KAAK;EACjC,oBACE,IAAAP,WAAA,CAAAQ,GAAA,EAACX,YAAA,CAAAY,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BC,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEX;IAAM,CAAC,CAAC,CAACY,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAK;MAC/C,IAAIA,KAAK,KAAKb,WAAW,EAAE,oBAAO,IAAAN,WAAA,CAAAQ,GAAA,EAACX,YAAA,CAAAY,IAAI;QAAaC,KAAK,EAAEC,MAAM,CAACS;MAAU,GAA/BD,KAAiC,CAAC;MAC/E,IAAIA,KAAK,GAAGb,WAAW,EAAE;QACvB,MAAMe,OAAO,GAAGd,QAAQ,CAACY,KAAK,CAAC;QAC/B,oBACE,IAAAnB,WAAA,CAAAQ,GAAA,EAACX,YAAA,CAAAY,IAAI;UAAaC,KAAK,EAAEW,OAAO,GAAGC,oBAAoB,CAACD,OAAO,CAACE,MAAM,CAAC,GAAGZ,MAAM,CAACa;QAAI,GAA1EL,KAA4E,CAAC;MAE5F;MACA,oBAAO,IAAAnB,WAAA,CAAAQ,GAAA,EAACX,YAAA,CAAAY,IAAI;QAAaC,KAAK,EAAEC,MAAM,CAACa;MAAI,GAAzBL,KAA2B,CAAC;IAChD,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAAAM,OAAA,CAAArB,sBAAA,GAAAA,sBAAA;AAED,MAAMO,MAAM,GAAGe,uBAAU,CAACC,MAAM,CAAC;EAC/Bf,SAAS,EAAE;IACTgB,aAAa,EAAE,KAAK;IACpBC,GAAG,EAAEC,sBAAO,CAAC,GAAG,CAAC;IACjBC,iBAAiB,EAAED,sBAAO,CAAC,GAAG,CAAC;IAC/BE,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE;EAClB,CAAC;EACDT,GAAG,EAAE;IACHU,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAEC,qBAAM,CAACC;EAC1B,CAAC;EACDnB,SAAS,EAAE;IACTc,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVE,eAAe,EAAEC,qBAAM,CAACE,UAAU;IAClCJ,YAAY,EAAE;EAChB,CAAC;EACDK,UAAU,EAAE;IACVP,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAEC,qBAAM,CAACI;EAC1B,CAAC;EACDC,QAAQ,EAAE;IACRT,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAEC,qBAAM,CAACM;EAC1B;AACF,CAAC,CAAC;AAEF,MAAMtB,oBAAmD,GAAG;EAC1D,CAACuB,+BAAa,CAACC,OAAO,GAAGnC,MAAM,CAAC8B,UAAU;EAC1C,CAACI,+BAAa,CAACE,SAAS,GAAGpC,MAAM,CAACgC,QAAQ;EAC1C,CAACE,+BAAa,CAACG,OAAO,GAAGrC,MAAM,CAACa;AAClC,CAAC","ignoreList":[]}
|
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.calculateMaxStreak = void 0;
|
|
6
7
|
exports.calculateNextBox = calculateNextBox;
|
|
8
|
+
exports.formatSessionDuration = void 0;
|
|
7
9
|
exports.selectNextFact = selectNextFact;
|
|
8
10
|
exports.toSolvingFacts = toSolvingFacts;
|
|
11
|
+
var _fluencyConstants = require("../../fluency.constants.js");
|
|
9
12
|
var _fluencySolvingConstants = require("./fluencySolving.constants.js");
|
|
10
13
|
function toSolvingFacts(factMap, mode) {
|
|
11
14
|
return Object.entries(factMap).map(([id, fact]) => {
|
|
@@ -14,35 +17,60 @@ function toSolvingFacts(factMap, mode) {
|
|
|
14
17
|
const box = fact.box ?? 0;
|
|
15
18
|
return {
|
|
16
19
|
id,
|
|
20
|
+
mode,
|
|
17
21
|
numbers: fact.numbers,
|
|
18
22
|
answer,
|
|
19
23
|
difficulty: fact.difficulty,
|
|
20
24
|
box,
|
|
21
25
|
lastSeenMs: fact.lastAttemptedAt ? new Date(fact.lastAttemptedAt).getTime() : null,
|
|
22
26
|
sessionStartBox: box,
|
|
23
|
-
hasFailedThisSession: false
|
|
27
|
+
hasFailedThisSession: false,
|
|
28
|
+
attemptsCount: fact.attemptsCount,
|
|
29
|
+
correctCount: fact.correctCount
|
|
24
30
|
};
|
|
25
31
|
});
|
|
26
32
|
}
|
|
27
|
-
function
|
|
28
|
-
const interval =
|
|
29
|
-
const overdueness = fact.lastSeenMs === null ? 1 : Math.
|
|
30
|
-
const weakness =
|
|
31
|
-
const ease =
|
|
32
|
-
|
|
33
|
-
return params.wDue * overdueness + params.wWeak * weakness + params.wEase * (ease * weakness) + params.wRand * rand;
|
|
33
|
+
function computePriority(fact, now, params, maxDifficulty) {
|
|
34
|
+
const interval = Math.max(0.001, params.boxIntervals[Math.max(1, fact.box)]);
|
|
35
|
+
const overdueness = fact.lastSeenMs === null ? 1.0 : Math.min(1, (now - fact.lastSeenMs) / (2 * interval));
|
|
36
|
+
const weakness = (params.numBoxes - fact.box) / params.numBoxes;
|
|
37
|
+
const ease = (1 - fact.difficulty / Math.max(0.1, maxDifficulty)) * weakness;
|
|
38
|
+
return params.wDue * overdueness + params.wWeak * weakness + params.wEase * ease + params.wRand * Math.random();
|
|
34
39
|
}
|
|
35
40
|
function selectNextFact(facts, now, params = _fluencySolvingConstants.DEFAULT_PICKER_PARAMS) {
|
|
36
41
|
if (facts.length === 0) return null;
|
|
37
42
|
const available = facts.filter(f => f.box < params.numBoxes);
|
|
38
43
|
const pool = available.length > 0 ? available : facts;
|
|
39
|
-
const maxDifficulty =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
const maxDifficulty = pool.reduce((m, f) => Math.max(m, f.difficulty), 1);
|
|
45
|
+
let best = pool[0];
|
|
46
|
+
let bestScore = -Infinity;
|
|
47
|
+
for (const f of pool) {
|
|
48
|
+
const score = computePriority(f, now, params, maxDifficulty);
|
|
49
|
+
if (score > bestScore) {
|
|
50
|
+
bestScore = score;
|
|
51
|
+
best = f;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return best;
|
|
45
55
|
}
|
|
56
|
+
const formatSessionDuration = ms => {
|
|
57
|
+
const totalSeconds = Math.floor(ms / 1000);
|
|
58
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
59
|
+
const seconds = totalSeconds % 60;
|
|
60
|
+
return `${minutes}:${seconds.toString().padStart(2, '0')}`;
|
|
61
|
+
};
|
|
62
|
+
exports.formatSessionDuration = formatSessionDuration;
|
|
63
|
+
const calculateMaxStreak = outcomes => outcomes.reduce((acc, outcome) => {
|
|
64
|
+
const current = outcome.status === _fluencyConstants.AttemptStatus.CORRECT ? acc.current + 1 : 0;
|
|
65
|
+
return {
|
|
66
|
+
max: Math.max(acc.max, current),
|
|
67
|
+
current
|
|
68
|
+
};
|
|
69
|
+
}, {
|
|
70
|
+
max: 0,
|
|
71
|
+
current: 0
|
|
72
|
+
}).max;
|
|
73
|
+
exports.calculateMaxStreak = calculateMaxStreak;
|
|
46
74
|
function calculateNextBox({
|
|
47
75
|
currentBox,
|
|
48
76
|
isCorrect,
|
package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_fluencyConstants","require","_fluencySolvingConstants","toSolvingFacts","factMap","mode","Object","entries","map","id","fact","a","b","numbers","answer","MODE_ANSWER_EVAL_FORMULA","box","difficulty","lastSeenMs","lastAttemptedAt","Date","getTime","sessionStartBox","hasFailedThisSession","attemptsCount","correctCount","computePriority","now","params","maxDifficulty","interval","Math","max","boxIntervals","overdueness","min","weakness","numBoxes","ease","wDue","wWeak","wEase","wRand","random","selectNextFact","facts","DEFAULT_PICKER_PARAMS","length","available","filter","f","pool","reduce","m","best","bestScore","Infinity","score","formatSessionDuration","ms","totalSeconds","floor","minutes","seconds","toString","padStart","exports","calculateMaxStreak","outcomes","acc","outcome","current","status","AttemptStatus","CORRECT","calculateNextBox","currentBox","isCorrect","isFast"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/fluency-solving/fluencySolving.helpers.ts"],"mappings":"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","ignoreList":[]}
|