@magmamath/students-features 1.3.26-rc.6 → 1.3.26-rc.8
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/SparkleIcon.js +30 -0
- package/dist/commonjs/features/fluency/assets/SparkleIcon.js.map +1 -0
- package/dist/commonjs/features/fluency/components/FluencySolving.js +6 -27
- package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js +48 -42
- 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 +8 -7
- 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 +45 -21
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +113 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +22 -81
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +50 -34
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +69 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +1 -0
- package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js.map +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +12 -6
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +32 -14
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js +127 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +1 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +2 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +24 -14
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +26 -30
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.constants.js +1 -0
- package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.helpers.js +6 -1
- package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js +33 -22
- package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js +44 -0
- package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js +3 -0
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
- package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js +18 -0
- package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js.map +1 -0
- package/dist/commonjs/lib/components/GradientView.js +57 -0
- package/dist/commonjs/lib/components/GradientView.js.map +1 -0
- package/dist/module/features/fluency/assets/SparkleIcon.js +22 -0
- package/dist/module/features/fluency/assets/SparkleIcon.js.map +1 -0
- package/dist/module/features/fluency/components/FluencySolving.js +6 -26
- package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js +48 -42
- 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 +9 -8
- 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 +46 -22
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +107 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +23 -82
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +51 -35
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +62 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +1 -0
- package/dist/module/features/fluency/components/matrix/components/CellTooltip.js +1 -1
- package/dist/module/features/fluency/components/matrix/components/CellTooltip.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +13 -7
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +32 -14
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
- package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js +121 -0
- package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +1 -0
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +2 -1
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +24 -14
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/module/features/fluency/components/start-banner/StartBanner.js +27 -31
- package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/module/features/fluency/fluency.constants.js +1 -0
- package/dist/module/features/fluency/fluency.constants.js.map +1 -1
- package/dist/module/features/fluency/fluency.helpers.js +6 -1
- package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/module/features/fluency/hooks/useCardSnapAnimation.js +33 -22
- package/dist/module/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js +39 -0
- package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js +3 -0
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
- package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
- package/dist/module/features/fluency/hooks/usePreventPageLeave.js +13 -0
- package/dist/module/features/fluency/hooks/usePreventPageLeave.js.map +1 -0
- package/dist/module/lib/components/GradientView.js +51 -0
- package/dist/module/lib/components/GradientView.js.map +1 -0
- package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts.map +1 -0
- 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 +1 -5
- 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 +5 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
- 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/FluencySolvingCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +1 -8
- 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/components/FluencySolvingProgressDot.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
- 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/MatrixCell.d.ts +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.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/ProgressBarSparkles.d.ts +6 -0
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts +1 -2
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.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 +2 -1
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
- package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts +2 -0
- package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/components/GradientView.d.ts +18 -0
- package/dist/typescript/commonjs/lib/components/GradientView.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts.map +1 -0
- 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 +1 -5
- 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 +5 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
- 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/FluencySolvingCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +1 -8
- 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/components/FluencySolvingProgressDot.d.ts +3 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
- 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/MatrixCell.d.ts +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.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/ProgressBarSparkles.d.ts +6 -0
- package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts +1 -2
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.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 +2 -1
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
- package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
- package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
- package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts +2 -0
- package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts.map +1 -0
- package/dist/typescript/module/lib/components/GradientView.d.ts +18 -0
- package/dist/typescript/module/lib/components/GradientView.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/features/fluency/assets/SparkleIcon.tsx +14 -0
- package/src/features/fluency/components/FluencySolving.tsx +7 -31
- package/src/features/fluency/components/day-streak-counter/DayStreak.tsx +35 -35
- package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +16 -12
- package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +53 -29
- package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +128 -0
- package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +37 -72
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +32 -13
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +50 -35
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.tsx +71 -0
- package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +5 -0
- package/src/features/fluency/components/matrix/components/CellTooltip.tsx +1 -1
- package/src/features/fluency/components/matrix/components/MatrixCell.tsx +19 -6
- package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +27 -8
- package/src/features/fluency/components/select-math-operator/ProgressBarSparkles.tsx +114 -0
- package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +1 -0
- package/src/features/fluency/components/session-results/FluencySessionResults.tsx +17 -11
- package/src/features/fluency/components/start-banner/StartBanner.tsx +19 -28
- package/src/features/fluency/fluency.constants.ts +1 -0
- package/src/features/fluency/fluency.helpers.ts +9 -1
- package/src/features/fluency/hooks/useCardSnapAnimation.ts +41 -21
- package/src/features/fluency/hooks/useFluencyCardDeckAnimation.ts +49 -0
- package/src/features/fluency/hooks/useFluencyNumpad.tsx +3 -0
- package/src/features/fluency/hooks/useFluencySolvingPreset.ts +25 -7
- package/src/features/fluency/hooks/usePreventPageLeave.ts +11 -0
- package/src/i18n/.generated/schema.json +9 -1
- package/src/lib/components/GradientView.tsx +63 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fluencyConstants","require","getMasteryLevelByBox","box","FluencyMasteryLevel","MASTERED","STRONG","GROWING","LEARNING","exports","createFluencyMode","mode","label","symbol","colorFamily","palette","COLOR_FAMILY_PALETTES","learning","growing","strong","mastered","shades","select","preset","buttonColor","button","accentColor","header","streakColor","gained","todayBorder","matrix","operatorLabel","levelColors","buildMatrixGrid","data","facts","Object","values","operations","maxRow","Math","max","map","f","position","row","maxColumn","column","isDivision","FluencyMode","DIVISION","factAt","col","find","rowNumbers","Array","from","length","_","i","columnNumbers","headerRow","isHeader","numbers","dataRows","fact"],"sourceRoot":"../../../../src","sources":["features/fluency/fluency.helpers.ts"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AASA;AACO,MAAMC,oBAAoB,GAAIC,GAAW,IAA0B;EACxE,IAAIA,GAAG,IAAI,CAAC,EAAE,OAAOC,qCAAmB,CAACC,QAAQ;EACjD,IAAIF,GAAG,IAAI,CAAC,EAAE,OAAOC,qCAAmB,CAACE,MAAM;EAC/C,IAAIH,GAAG,IAAI,CAAC,EAAE,OAAOC,qCAAmB,CAACG,OAAO;EAChD,OAAOH,qCAAmB,CAACI,QAAQ;AACrC,CAAC;AAAAC,OAAA,CAAAP,oBAAA,GAAAA,oBAAA;AASM,MAAMQ,iBAAiB,GAAGA,CAAC;EAChCC,IAAI;EACJC,KAAK;EACLC,MAAM;EACNC;AACuB,CAAC,KAAwB;EAChD,MAAMC,OAAO,GAAGC,uCAAqB,CAACF,WAAW,CAAC;EAClD,MAAM,CAACG,QAAQ,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,CAAC,GAAGL,OAAO,CAACM,MAAM;EAE5D,OAAO;IACLV,IAAI;IACJC,KAAK;IACLC,MAAM;IACNS,MAAM,EAAEP,OAAO,CAACO,MAAM;IACtBC,MAAM,EAAE;MACNC,WAAW,EAAET,OAAO,CAACU,MAAM;MAC3BZ,MAAM;MACNa,WAAW,EAAEP,MAAM;MAAE;MACrBQ,MAAM,EAAE;QACNC,WAAW,EAAE;UAAEC,MAAM,EAAEX,OAAO;UAAEY,WAAW,EAAEX;QAAO;MACtD,CAAC;MACDY,MAAM,EAAE;QACNC,aAAa,EAAEpB,KAAK;QACpBqB,WAAW,EAAE;UAAEhB,QAAQ;UAAEC,OAAO;UAAEC,MAAM;UAAEC;QAAS;MACrD;IACF;EACF,CAAC;AACH,CAAC;AAAAX,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAEM,MAAMwB,eAAe,GAAGA,CAACC,IAAuB,EAAExB,IAAiB,KAAiB;EACzF,MAAMyB,KAAK,GAAGC,MAAM,CAACC,MAAM,CAACH,IAAI,CAACI,UAAU,CAAC5B,IAAI,CAAC,CAACyB,KAAK,CAAC;EACxD,MAAMI,MAAM,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,GAAGN,KAAK,CAACO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAACC,GAAG,CAAC,CAAC;EAC/D,MAAMC,SAAS,GAAGN,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,GAAGN,KAAK,CAACO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAACG,MAAM,CAAC,CAAC;EACrE,MAAMC,UAAU,GAAGtC,IAAI,KAAKuC,6BAAW,CAACC,QAAQ;
|
|
1
|
+
{"version":3,"names":["_fluencyConstants","require","getMasteryLevelByBox","box","FluencyMasteryLevel","MASTERED","STRONG","GROWING","LEARNING","exports","createFluencyMode","mode","label","symbol","colorFamily","palette","COLOR_FAMILY_PALETTES","learning","growing","strong","mastered","shades","select","preset","buttonColor","button","accentColor","header","streakColor","gained","todayBorder","matrix","operatorLabel","levelColors","buildMatrixGrid","data","facts","Object","values","operations","maxRow","Math","max","map","f","position","row","maxColumn","column","isDivision","FluencyMode","DIVISION","isCommutative","ADDITION","MULTIPLICATION","factAt","col","find","rowNumbers","Array","from","length","_","i","columnNumbers","headerRow","isHeader","numbers","dataRows","fact","mirrorFact","primaryBox","mirrorBox","effectiveBox"],"sourceRoot":"../../../../src","sources":["features/fluency/fluency.helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,8 @@ exports.useCardSnapAnimation = void 0;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
|
+
const SHAKE_STEP_DURATION = 60;
|
|
11
|
+
const SNAP_SUCCESS_DURATION = 300;
|
|
10
12
|
const SNAP = {
|
|
11
13
|
duration: 240,
|
|
12
14
|
easing: _reactNativeReanimated.Easing.bezier(0.6, 0, 0.4, 1),
|
|
@@ -19,8 +21,6 @@ const STEP_UP = {
|
|
|
19
21
|
duration: 320,
|
|
20
22
|
easing: _reactNativeReanimated.Easing.bezier(0.3, 0.9, 0.2, 1)
|
|
21
23
|
};
|
|
22
|
-
|
|
23
|
-
// Initial positions of each backing layer: [top, side]
|
|
24
24
|
const L = [{
|
|
25
25
|
top: 12,
|
|
26
26
|
side: 20
|
|
@@ -31,8 +31,10 @@ const L = [{
|
|
|
31
31
|
top: 36,
|
|
32
32
|
side: 60
|
|
33
33
|
}];
|
|
34
|
-
const useCardSnapAnimation = () => {
|
|
34
|
+
const useCardSnapAnimation = (params = {}) => {
|
|
35
35
|
const isAnimating = (0, _react.useRef)(false);
|
|
36
|
+
const onCompleteRef = (0, _react.useRef)(params.onComplete);
|
|
37
|
+
onCompleteRef.current = params.onComplete;
|
|
36
38
|
const translateX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
37
39
|
const translateY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
38
40
|
const rotate = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
@@ -73,12 +75,11 @@ const useCardSnapAnimation = () => {
|
|
|
73
75
|
right: l3Side.value,
|
|
74
76
|
opacity: l3Opacity.value
|
|
75
77
|
}), [l3Top, l3Side, l3Opacity]);
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
opacity.value = 1;
|
|
78
|
+
const complete = () => {
|
|
79
|
+
isAnimating.current = false;
|
|
80
|
+
onCompleteRef.current?.();
|
|
81
|
+
};
|
|
82
|
+
const resetBackingCards = () => {
|
|
82
83
|
l1Top.value = L[0].top;
|
|
83
84
|
l1Side.value = L[0].side;
|
|
84
85
|
l2Top.value = L[1].top;
|
|
@@ -86,11 +87,17 @@ const useCardSnapAnimation = () => {
|
|
|
86
87
|
l3Top.value = L[2].top;
|
|
87
88
|
l3Side.value = L[2].side;
|
|
88
89
|
l3Opacity.value = 0;
|
|
89
|
-
isAnimating.current = false;
|
|
90
90
|
};
|
|
91
|
-
const
|
|
91
|
+
const resetFrontCard = () => {
|
|
92
|
+
translateX.value = 0;
|
|
93
|
+
translateY.value = 0;
|
|
94
|
+
rotate.value = 0;
|
|
95
|
+
scale.value = 1;
|
|
96
|
+
opacity.value = 1;
|
|
97
|
+
};
|
|
98
|
+
const snap = (toX, toRotate, duration = SNAP.duration) => {
|
|
92
99
|
const snapConfig = {
|
|
93
|
-
duration
|
|
100
|
+
duration,
|
|
94
101
|
easing: SNAP.easing
|
|
95
102
|
};
|
|
96
103
|
const stepConfig = {
|
|
@@ -102,7 +109,7 @@ const useCardSnapAnimation = () => {
|
|
|
102
109
|
rotate.value = (0, _reactNativeReanimated.withTiming)(toRotate, snapConfig);
|
|
103
110
|
scale.value = (0, _reactNativeReanimated.withTiming)(SNAP.scale, snapConfig);
|
|
104
111
|
opacity.value = (0, _reactNativeReanimated.withTiming)(0, snapConfig);
|
|
105
|
-
l1Top.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(0, stepConfig, () => (0, _reactNativeReanimated.runOnJS)(
|
|
112
|
+
l1Top.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(0, stepConfig, () => (0, _reactNativeReanimated.runOnJS)(complete)()));
|
|
106
113
|
l1Side.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(0, stepConfig));
|
|
107
114
|
l2Top.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(L[0].top, stepConfig));
|
|
108
115
|
l2Side.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(L[0].side, stepConfig));
|
|
@@ -111,26 +118,29 @@ const useCardSnapAnimation = () => {
|
|
|
111
118
|
l3Opacity.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(1, stepConfig));
|
|
112
119
|
};
|
|
113
120
|
const trigger = direction => {
|
|
114
|
-
if (isAnimating.current) return;
|
|
121
|
+
if (isAnimating.current) return false;
|
|
115
122
|
isAnimating.current = true;
|
|
123
|
+
resetFrontCard();
|
|
124
|
+
resetBackingCards();
|
|
116
125
|
const screenWidth = _reactNative.Dimensions.get('window').width;
|
|
117
126
|
const toX = direction === 'right' ? screenWidth * 1.6 : -screenWidth * 1.6;
|
|
118
127
|
const toRotate = direction === 'right' ? SNAP.rotate : -SNAP.rotate;
|
|
119
128
|
if (direction === 'right') {
|
|
120
|
-
snap(toX, toRotate);
|
|
121
|
-
return;
|
|
129
|
+
snap(toX, toRotate, SNAP_SUCCESS_DURATION);
|
|
130
|
+
return true;
|
|
122
131
|
}
|
|
123
132
|
translateX.value = (0, _reactNativeReanimated.withSequence)((0, _reactNativeReanimated.withTiming)(-10, {
|
|
124
|
-
duration:
|
|
133
|
+
duration: SHAKE_STEP_DURATION
|
|
125
134
|
}), (0, _reactNativeReanimated.withTiming)(10, {
|
|
126
|
-
duration:
|
|
135
|
+
duration: SHAKE_STEP_DURATION
|
|
127
136
|
}), (0, _reactNativeReanimated.withTiming)(-6, {
|
|
128
|
-
duration:
|
|
137
|
+
duration: SHAKE_STEP_DURATION
|
|
129
138
|
}), (0, _reactNativeReanimated.withTiming)(6, {
|
|
130
|
-
duration:
|
|
139
|
+
duration: SHAKE_STEP_DURATION
|
|
131
140
|
}), (0, _reactNativeReanimated.withTiming)(0, {
|
|
132
|
-
duration:
|
|
141
|
+
duration: SHAKE_STEP_DURATION
|
|
133
142
|
}, () => (0, _reactNativeReanimated.runOnJS)(snap)(toX, toRotate)));
|
|
143
|
+
return true;
|
|
134
144
|
};
|
|
135
145
|
return {
|
|
136
146
|
snapStyles: {
|
|
@@ -139,7 +149,8 @@ const useCardSnapAnimation = () => {
|
|
|
139
149
|
mid,
|
|
140
150
|
far
|
|
141
151
|
},
|
|
142
|
-
trigger
|
|
152
|
+
trigger,
|
|
153
|
+
resetBackingCards
|
|
143
154
|
};
|
|
144
155
|
};
|
|
145
156
|
exports.useCardSnapAnimation = useCardSnapAnimation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","SNAP","duration","easing","Easing","bezier","rotate","scale","y","STEP_UP","delay","L","top","side","useCardSnapAnimation","isAnimating","useRef","translateX","useSharedValue","translateY","opacity","l1Top","l1Side","l2Top","l2Side","l3Top","l3Side","l3Opacity","front","useAnimatedStyle","transform","value","near","left","right","mid","far","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","SHAKE_STEP_DURATION","SNAP_SUCCESS_DURATION","SNAP","duration","easing","Easing","bezier","rotate","scale","y","STEP_UP","delay","L","top","side","useCardSnapAnimation","params","isAnimating","useRef","onCompleteRef","onComplete","current","translateX","useSharedValue","translateY","opacity","l1Top","l1Side","l2Top","l2Side","l3Top","l3Side","l3Opacity","front","useAnimatedStyle","transform","value","near","left","right","mid","far","complete","resetBackingCards","resetFrontCard","snap","toX","toRotate","snapConfig","stepConfig","withTiming","withDelay","runOnJS","trigger","direction","screenWidth","Dimensions","get","width","withSequence","snapStyles","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useCardSnapAnimation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useFluencyCardDeckAnimation = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _useCardSnapAnimation = require("./useCardSnapAnimation.js");
|
|
9
|
+
const useFluencyCardDeckAnimation = () => {
|
|
10
|
+
const [exitingCardContent, setExitingCardContent] = (0, _react.useState)(null);
|
|
11
|
+
const [exitingCardStatus, setExitingCardStatus] = (0, _react.useState)(null);
|
|
12
|
+
const [shouldResetBackingCards, setShouldResetBackingCards] = (0, _react.useState)(false);
|
|
13
|
+
const clearExitingCard = (0, _react.useCallback)(() => {
|
|
14
|
+
setExitingCardContent(null);
|
|
15
|
+
setExitingCardStatus(null);
|
|
16
|
+
setShouldResetBackingCards(true);
|
|
17
|
+
}, []);
|
|
18
|
+
const animation = (0, _useCardSnapAnimation.useCardSnapAnimation)({
|
|
19
|
+
onComplete: clearExitingCard
|
|
20
|
+
});
|
|
21
|
+
(0, _react.useLayoutEffect)(() => {
|
|
22
|
+
if (!shouldResetBackingCards || exitingCardContent) return;
|
|
23
|
+
animation.resetBackingCards();
|
|
24
|
+
setShouldResetBackingCards(false);
|
|
25
|
+
});
|
|
26
|
+
const startCardExit = ({
|
|
27
|
+
cardContent,
|
|
28
|
+
direction,
|
|
29
|
+
status
|
|
30
|
+
}) => {
|
|
31
|
+
if (!animation.trigger(direction)) return false;
|
|
32
|
+
setExitingCardContent(cardContent);
|
|
33
|
+
setExitingCardStatus(status);
|
|
34
|
+
return true;
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
exitingCardContent,
|
|
38
|
+
exitingCardStatus,
|
|
39
|
+
snapStyles: animation.snapStyles,
|
|
40
|
+
startCardExit
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.useFluencyCardDeckAnimation = useFluencyCardDeckAnimation;
|
|
44
|
+
//# sourceMappingURL=useFluencyCardDeckAnimation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_useCardSnapAnimation","useFluencyCardDeckAnimation","exitingCardContent","setExitingCardContent","useState","exitingCardStatus","setExitingCardStatus","shouldResetBackingCards","setShouldResetBackingCards","clearExitingCard","useCallback","animation","useCardSnapAnimation","onComplete","useLayoutEffect","resetBackingCards","startCardExit","cardContent","direction","status","trigger","snapStyles","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencyCardDeckAnimation.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,qBAAA,GAAAD,OAAA;AAUO,MAAME,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAM,CAACC,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAAC,eAAQ,EAC1D,IACF,CAAC;EACD,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAF,eAAQ,EAAuB,IAAI,CAAC;EACtF,MAAM,CAACG,uBAAuB,EAAEC,0BAA0B,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EAE7E,MAAMK,gBAAgB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACzCP,qBAAqB,CAAC,IAAI,CAAC;IAC3BG,oBAAoB,CAAC,IAAI,CAAC;IAC1BE,0BAA0B,CAAC,IAAI,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,SAAS,GAAG,IAAAC,0CAAoB,EAAC;IAAEC,UAAU,EAAEJ;EAAiB,CAAC,CAAC;EAExE,IAAAK,sBAAe,EAAC,MAAM;IACpB,IAAI,CAACP,uBAAuB,IAAIL,kBAAkB,EAAE;IAEpDS,SAAS,CAACI,iBAAiB,CAAC,CAAC;IAC7BP,0BAA0B,CAAC,KAAK,CAAC;EACnC,CAAC,CAAC;EAEF,MAAMQ,aAAa,GAAGA,CAAC;IAAEC,WAAW;IAAEC,SAAS;IAAEC;EAA4B,CAAC,KAAK;IACjF,IAAI,CAACR,SAAS,CAACS,OAAO,CAACF,SAAS,CAAC,EAAE,OAAO,KAAK;IAE/Cf,qBAAqB,CAACc,WAAW,CAAC;IAClCX,oBAAoB,CAACa,MAAM,CAAC;IAC5B,OAAO,IAAI;EACb,CAAC;EAED,OAAO;IACLjB,kBAAkB;IAClBG,iBAAiB;IACjBgB,UAAU,EAAEV,SAAS,CAACU,UAAU;IAChCL;EACF,CAAC;AACH,CAAC;AAAAM,OAAA,CAAArB,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _BackspaceIcon = require("../../../shared/icons/keyboard/BackspaceIcon.js");
|
|
|
10
10
|
var _effectorReact = require("effector-react");
|
|
11
11
|
var _commonConstants = require("../../../shared/common.constants.js");
|
|
12
12
|
var _constants = require("../../../lib/constants.js");
|
|
13
|
+
var _i18n = require("../../../i18n/i18n.js");
|
|
13
14
|
var _FluencyContext = require("../context/FluencyContext.js");
|
|
14
15
|
var _fluencyConstants = require("../fluency.constants.js");
|
|
15
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -112,6 +113,7 @@ const ENTER_COLOR_SCHEME = {
|
|
|
112
113
|
const useFluencyNumpad = ({
|
|
113
114
|
onSubmit
|
|
114
115
|
}) => {
|
|
116
|
+
const t = (0, _i18n.useText)();
|
|
115
117
|
const {
|
|
116
118
|
model
|
|
117
119
|
} = (0, _FluencyContext.useFluency)();
|
|
@@ -153,6 +155,7 @@ const useFluencyNumpad = ({
|
|
|
153
155
|
...props
|
|
154
156
|
}) => ({
|
|
155
157
|
...props,
|
|
158
|
+
title: props.key === _constants.KeyboardKeys.ENTER ? t('student.fluency.enter') : props.title,
|
|
156
159
|
selected: pressedKey === props.key,
|
|
157
160
|
customColorScheme: props.key === _constants.KeyboardKeys.ENTER && answer !== null ? ENTER_COLOR_SCHEME : customColorScheme,
|
|
158
161
|
onPressIn: () => pressKey(props.key)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeUi","_BackspaceIcon","_effectorReact","_commonConstants","_constants","_FluencyContext","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ACTION_KEY_COLOR_SCHEME","ButtonStates","DEFAULT","backgroundColor","COLORS","NEUTRAL_3","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_9","HOVER","NEUTRAL_2","NEUTRAL_4","NUMPAD_KEYS","key","title","value","KeyboardKeys","BACKSPACE","jsx","BackspaceIcon","size","customColorScheme","ENTER","ENTER_COLOR_SCHEME","PRIMARY_GREEN","GREEN_6","NEUTRAL_1","PRESSED","ACTIVE","useFluencyNumpad","onSubmit","model","useFluency","answer","useUnit","solving","$answer","pressedKey","setPressedKey","useState","pressedKeyTimeoutRef","useRef","pressKey","setAnswer","length","slice","MAX_INPUT_LENGTH","useEffect","isWeb","handleKeyDown","event","test","clearTimeout","current","setTimeout","window","addEventListener","removeEventListener","options","map","props","selected","onPressIn","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencyNumpad.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeUi","_BackspaceIcon","_effectorReact","_commonConstants","_constants","_i18n","_FluencyContext","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ACTION_KEY_COLOR_SCHEME","ButtonStates","DEFAULT","backgroundColor","COLORS","NEUTRAL_3","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_9","HOVER","NEUTRAL_2","NEUTRAL_4","NUMPAD_KEYS","key","title","value","KeyboardKeys","BACKSPACE","jsx","BackspaceIcon","size","customColorScheme","ENTER","ENTER_COLOR_SCHEME","PRIMARY_GREEN","GREEN_6","NEUTRAL_1","PRESSED","ACTIVE","useFluencyNumpad","onSubmit","useText","model","useFluency","answer","useUnit","solving","$answer","pressedKey","setPressedKey","useState","pressedKeyTimeoutRef","useRef","pressKey","setAnswer","length","slice","MAX_INPUT_LENGTH","useEffect","isWeb","handleKeyDown","event","test","clearTimeout","current","setTimeout","window","addEventListener","removeEventListener","options","map","props","selected","onPressIn","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencyNumpad.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
|
9
9
|
var _fluencyConstants = require("../fluency.constants.js");
|
|
10
10
|
var _FluencyContext = require("../context/FluencyContext.js");
|
|
11
11
|
var _i18n = require("../../../i18n/i18n.js");
|
|
12
|
-
const useFluencySolvingPreset =
|
|
12
|
+
const useFluencySolvingPreset = params => {
|
|
13
13
|
const t = (0, _i18n.useText)();
|
|
14
14
|
const {
|
|
15
15
|
model
|
|
@@ -21,7 +21,7 @@ const useFluencySolvingPreset = () => {
|
|
|
21
21
|
matrixMode: model.matrix.$mode,
|
|
22
22
|
current: model.solving.$current
|
|
23
23
|
});
|
|
24
|
-
const preset = _fluencyConstants.FLUENCY_MODE_PRESETS[current?.mode ?? matrixMode];
|
|
24
|
+
const preset = _fluencyConstants.FLUENCY_MODE_PRESETS[params?.mode ?? current?.mode ?? matrixMode];
|
|
25
25
|
const legendItems = [{
|
|
26
26
|
label: t('student.fluency.notStarted'),
|
|
27
27
|
color: _reactNativeUi.COLORS.NEUTRAL_2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_effectorReact","require","_reactNativeUi","_fluencyConstants","_FluencyContext","_i18n","useFluencySolvingPreset","t","useText","model","useFluency","matrixMode","current","useUnit","matrix","$mode","solving","$current","preset","FLUENCY_MODE_PRESETS","mode","legendItems","label","color","COLORS","NEUTRAL_2","withBorder","levelColors","FluencyMasteryLevel","LEARNING","GROWING","STRONG","MASTERED","symbol","operatorLabel","colors","level","accent","accentColor","streak","header","streakColor","button","buttonColor","legend","items","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencySolvingPreset.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;
|
|
1
|
+
{"version":3,"names":["_effectorReact","require","_reactNativeUi","_fluencyConstants","_FluencyContext","_i18n","useFluencySolvingPreset","params","t","useText","model","useFluency","matrixMode","current","useUnit","matrix","$mode","solving","$current","preset","FLUENCY_MODE_PRESETS","mode","legendItems","label","color","COLORS","NEUTRAL_2","withBorder","levelColors","FluencyMasteryLevel","LEARNING","GROWING","STRONG","MASTERED","symbol","operatorLabel","colors","level","accent","accentColor","streak","header","streakColor","button","buttonColor","legend","items","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencySolvingPreset.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAkBO,MAAMK,uBAAuB,GAClCC,MAAsC,IACJ;EAClC,MAAMC,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EACnB,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EAC9B,MAAM;IAAEC,UAAU;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sBAAO,EAAC;IACtCF,UAAU,EAAEF,KAAK,CAACK,MAAM,CAACC,KAAK;IAC9BH,OAAO,EAAEH,KAAK,CAACO,OAAO,CAACC;EACzB,CAAC,CAAC;EACF,MAAMC,MAAM,GAAGC,sCAAoB,CAACb,MAAM,EAAEc,IAAI,IAAIR,OAAO,EAAEQ,IAAI,IAAIT,UAAU,CAAC;EAEhF,MAAMU,WAAyB,GAAG,CAChC;IAAEC,KAAK,EAAEf,CAAC,CAAC,4BAA4B,CAAC;IAAEgB,KAAK,EAAEC,qBAAM,CAACC,SAAS;IAAEC,UAAU,EAAE;EAAK,CAAC,EACrF;IACEJ,KAAK,EAAEf,CAAC,CAAC,iCAAiC,CAAC;IAC3CgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACC,QAAQ;EAC/D,CAAC,EACD;IACEP,KAAK,EAAEf,CAAC,CAAC,gCAAgC,CAAC;IAC1CgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACE,OAAO;EAC9D,CAAC,EACD;IACER,KAAK,EAAEf,CAAC,CAAC,+BAA+B,CAAC;IACzCgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACG,MAAM;EAC7D,CAAC,EACD;IACET,KAAK,EAAEf,CAAC,CAAC,iCAAiC,CAAC;IAC3CgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACI,QAAQ;EAC/D,CAAC,CACF;EAED,OAAO;IACLC,MAAM,EAAEf,MAAM,CAACe,MAAM;IACrBX,KAAK,EAAEf,CAAC,CAACW,MAAM,CAACJ,MAAM,CAACoB,aAAa,CAAC;IACrCC,MAAM,EAAE;MACNC,KAAK,EAAElB,MAAM,CAACJ,MAAM,CAACa,WAAW;MAChCU,MAAM,EAAEnB,MAAM,CAACoB,WAAW;MAC1BC,MAAM,EAAErB,MAAM,CAACsB,MAAM,CAACC,WAAW;MACjCC,MAAM,EAAExB,MAAM,CAACyB;IACjB,CAAC;IACDC,MAAM,EAAE;MAAEC,KAAK,EAAExB;IAAY;EAC/B,CAAC;AACH,CAAC;AAAAyB,OAAA,CAAAzC,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.usePreventPageLeave = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
const usePreventPageLeave = () => {
|
|
10
|
+
(0, _react.useEffect)(() => {
|
|
11
|
+
if (_reactNative.Platform.OS !== 'web') return;
|
|
12
|
+
const handleBeforeUnload = event => event.preventDefault();
|
|
13
|
+
window.addEventListener('beforeunload', handleBeforeUnload);
|
|
14
|
+
return () => window.removeEventListener('beforeunload', handleBeforeUnload);
|
|
15
|
+
}, []);
|
|
16
|
+
};
|
|
17
|
+
exports.usePreventPageLeave = usePreventPageLeave;
|
|
18
|
+
//# sourceMappingURL=usePreventPageLeave.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","usePreventPageLeave","useEffect","Platform","OS","handleBeforeUnload","event","preventDefault","window","addEventListener","removeEventListener","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/usePreventPageLeave.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,MAAME,mBAAmB,GAAGA,CAAA,KAAM;EACvC,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IAC3B,MAAMC,kBAAkB,GAAIC,KAAwB,IAAKA,KAAK,CAACC,cAAc,CAAC,CAAC;IAC/EC,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEJ,kBAAkB,CAAC;IAC3D,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEL,kBAAkB,CAAC;EAC7E,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAAM,OAAA,CAAAV,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GradientView = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
const buildCssGradient = (colors, start, end, locations) => {
|
|
12
|
+
const angle = Math.round(Math.atan2(end.x - start.x, -(end.y - start.y)) * (180 / Math.PI));
|
|
13
|
+
const stops = colors.map((color, i) => {
|
|
14
|
+
const pct = locations ? `${Math.round(locations[i] * 100)}%` : `${Math.round(i / (colors.length - 1) * 100)}%`;
|
|
15
|
+
return `${color} ${pct}`;
|
|
16
|
+
}).join(', ');
|
|
17
|
+
return `linear-gradient(${angle}deg, ${stops})`;
|
|
18
|
+
};
|
|
19
|
+
const GradientView = ({
|
|
20
|
+
colors,
|
|
21
|
+
start = {
|
|
22
|
+
x: 0,
|
|
23
|
+
y: 0
|
|
24
|
+
},
|
|
25
|
+
end = {
|
|
26
|
+
x: 0,
|
|
27
|
+
y: 1
|
|
28
|
+
},
|
|
29
|
+
locations,
|
|
30
|
+
style,
|
|
31
|
+
pointerEvents,
|
|
32
|
+
children
|
|
33
|
+
}) => {
|
|
34
|
+
if (_reactNative.Platform.OS === 'web') {
|
|
35
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
36
|
+
pointerEvents: pointerEvents,
|
|
37
|
+
style: [style, {
|
|
38
|
+
backgroundImage: buildCssGradient(colors, start, end, locations)
|
|
39
|
+
}],
|
|
40
|
+
children: children
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const {
|
|
44
|
+
LinearGradient
|
|
45
|
+
} = require('expo-linear-gradient');
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinearGradient, {
|
|
47
|
+
colors: colors,
|
|
48
|
+
start: start,
|
|
49
|
+
end: end,
|
|
50
|
+
locations: locations,
|
|
51
|
+
style: style,
|
|
52
|
+
pointerEvents: pointerEvents,
|
|
53
|
+
children: children
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
exports.GradientView = GradientView;
|
|
57
|
+
//# sourceMappingURL=GradientView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","e","__esModule","default","buildCssGradient","colors","start","end","locations","angle","Math","round","atan2","x","y","PI","stops","map","color","i","pct","length","join","GradientView","style","pointerEvents","children","Platform","OS","jsx","View","backgroundImage","LinearGradient","exports"],"sourceRoot":"../../../../src","sources":["lib/components/GradientView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA6C,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAe7C,MAAMG,gBAAgB,GAAGA,CAACC,MAAgB,EAAEC,KAAY,EAAEC,GAAU,EAAEC,SAAoB,KAAa;EACrG,MAAMC,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,KAAK,CAACL,GAAG,CAACM,CAAC,GAAGP,KAAK,CAACO,CAAC,EAAE,EAAEN,GAAG,CAACO,CAAC,GAAGR,KAAK,CAACQ,CAAC,CAAC,CAAC,IAAI,GAAG,GAAGJ,IAAI,CAACK,EAAE,CAAC,CAAC;EAC3F,MAAMC,KAAK,GAAGX,MAAM,CACjBY,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;IACjB,MAAMC,GAAG,GAAGZ,SAAS,GACjB,GAAGE,IAAI,CAACC,KAAK,CAACH,SAAS,CAACW,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GACpC,GAAGT,IAAI,CAACC,KAAK,CAAEQ,CAAC,IAAId,MAAM,CAACgB,MAAM,GAAG,CAAC,CAAC,GAAI,GAAG,CAAC,GAAG;IACrD,OAAO,GAAGH,KAAK,IAAIE,GAAG,EAAE;EAC1B,CAAC,CAAC,CACDE,IAAI,CAAC,IAAI,CAAC;EACb,OAAO,mBAAmBb,KAAK,QAAQO,KAAK,GAAG;AACjD,CAAC;AAEM,MAAMO,YAAY,GAAGA,CAAC;EAC3BlB,MAAM;EACNC,KAAK,GAAG;IAAEO,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EACtBP,GAAG,GAAG;IAAEM,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EACpBN,SAAS;EACTgB,KAAK;EACLC,aAAa;EACbC;AACiB,CAAC,KAAK;EACvB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,oBACE,IAAA5B,WAAA,CAAA6B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;MACHL,aAAa,EAAEA,aAAc;MAC7BD,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEO,eAAe,EAAE3B,gBAAgB,CAACC,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAEC,SAAS;MAAE,CAAC,CAAS;MAAAkB,QAAA,EAE3FA;IAAQ,CACL,CAAC;EAEX;EAEA,MAAM;IAAEM;EAAe,CAAC,GAAGlC,OAAO,CAAC,sBAAsB,CAAC;EAC1D,oBACE,IAAAE,WAAA,CAAA6B,GAAA,EAACG,cAAc;IACb3B,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbC,GAAG,EAAEA,GAAI;IACTC,SAAS,EAAEA,SAAU;IACrBgB,KAAK,EAAEA,KAAM;IACbC,aAAa,EAAEA,aAAc;IAAAC,QAAA,EAE5BA;EAAQ,CACK,CAAC;AAErB,CAAC;AAAAO,OAAA,CAAAV,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import Svg, { Path } from 'react-native-svg';
|
|
5
|
+
import { COLORS } from '@magmamath/react-native-ui';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const SparkleIcon = ({
|
|
8
|
+
size = 20,
|
|
9
|
+
color = COLORS.NEUTRAL_9
|
|
10
|
+
}) => {
|
|
11
|
+
return /*#__PURE__*/_jsx(Svg, {
|
|
12
|
+
width: size,
|
|
13
|
+
height: size,
|
|
14
|
+
viewBox: "0 0 21 21",
|
|
15
|
+
fill: "none",
|
|
16
|
+
children: /*#__PURE__*/_jsx(Path, {
|
|
17
|
+
d: "M20.063 11.863c-3.688 1.348-6.782 4.42-8.24 8.244-.505 1.19-2.111 1.19-2.587 0-1.517-3.793-4.61-6.864-8.299-8.18-1.25-.502-1.25-2.352 0-2.79 3.688-1.348 6.782-4.42 8.24-8.244.505-1.19 2.111-1.19 2.587 0 1.517 3.793 4.61 6.864 8.299 8.18 1.25.502 1.25 2.352 0 2.79z",
|
|
18
|
+
fill: color
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=SparkleIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Svg","Path","COLORS","jsx","_jsx","SparkleIcon","size","color","NEUTRAL_9","width","height","viewBox","fill","children","d"],"sourceRoot":"../../../../../src","sources":["features/fluency/assets/SparkleIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,SAASC,MAAM,QAAmB,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE9D,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGL,MAAM,CAACM;AAAqB,CAAC,KAAK;EACjF,oBACEJ,IAAA,CAACJ,GAAG;IAACS,KAAK,EAAEH,IAAK;IAACI,MAAM,EAAEJ,IAAK;IAACK,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7DT,IAAA,CAACH,IAAI;MACHa,CAAC,EAAC,0QAA0Q;MAC5QF,IAAI,EAAEL;IAAM,CACb;EAAC,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1,36 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React
|
|
4
|
-
import { View, StyleSheet
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View, StyleSheet } from 'react-native';
|
|
5
5
|
import { COLORS } from '@magmamath/react-native-ui';
|
|
6
|
-
import { useUnit } from 'effector-react';
|
|
7
|
-
import { SESSION_LENGTH } from "../fluency.constants.js";
|
|
8
6
|
import { FluencyProvider } from "../context/FluencyContext.js";
|
|
9
7
|
import { FluencySolvingHeader } from "./fluency-solving/components/FluencySolvingHeader.js";
|
|
10
8
|
import { FluencySolvingProgress } from "./fluency-solving/components/FluencySolvingProgress.js";
|
|
11
9
|
import { FluencySolvingCard } from "./fluency-solving/components/FluencySolvingCard.js";
|
|
12
10
|
import { FluencySessionResults } from "./session-results/FluencySessionResults.js";
|
|
11
|
+
import { usePreventPageLeave } from "../hooks/usePreventPageLeave.js";
|
|
13
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
13
|
export const FluencySolving = ({
|
|
15
14
|
model,
|
|
16
15
|
onClosePress,
|
|
17
16
|
onEndModalPress
|
|
18
17
|
}) => {
|
|
19
|
-
|
|
20
|
-
outcomes,
|
|
21
|
-
isSessionComplete,
|
|
22
|
-
config
|
|
23
|
-
} = useUnit({
|
|
24
|
-
outcomes: model.solving.$outcomes,
|
|
25
|
-
isSessionComplete: model.solving.$isSessionComplete,
|
|
26
|
-
config: model.$config
|
|
27
|
-
});
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (Platform.OS !== 'web' || isSessionComplete) return;
|
|
30
|
-
const handleBeforeUnload = event => event.preventDefault();
|
|
31
|
-
window.addEventListener('beforeunload', handleBeforeUnload);
|
|
32
|
-
return () => window.removeEventListener('beforeunload', handleBeforeUnload);
|
|
33
|
-
}, []);
|
|
18
|
+
usePreventPageLeave();
|
|
34
19
|
return /*#__PURE__*/_jsxs(FluencyProvider, {
|
|
35
20
|
value: {
|
|
36
21
|
model
|
|
@@ -39,13 +24,8 @@ export const FluencySolving = ({
|
|
|
39
24
|
style: styles.container,
|
|
40
25
|
children: [/*#__PURE__*/_jsx(FluencySolvingHeader, {
|
|
41
26
|
onClosePress: onClosePress
|
|
42
|
-
}), /*#__PURE__*/_jsx(FluencySolvingProgress, {
|
|
43
|
-
|
|
44
|
-
activeIndex: outcomes.length,
|
|
45
|
-
outcomes: outcomes
|
|
46
|
-
}), /*#__PURE__*/_jsx(FluencySolvingCard, {})]
|
|
47
|
-
}), isSessionComplete && /*#__PURE__*/_jsx(FluencySessionResults, {
|
|
48
|
-
studentName: config?.name ?? '',
|
|
27
|
+
}), /*#__PURE__*/_jsx(FluencySolvingProgress, {}), /*#__PURE__*/_jsx(FluencySolvingCard, {})]
|
|
28
|
+
}), /*#__PURE__*/_jsx(FluencySessionResults, {
|
|
49
29
|
onClosePress: onClosePress,
|
|
50
30
|
onEndModalPress: onEndModalPress
|
|
51
31
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","COLORS","FluencyProvider","FluencySolvingHeader","FluencySolvingProgress","FluencySolvingCard","FluencySessionResults","usePreventPageLeave","jsx","_jsx","jsxs","_jsxs","FluencySolving","model","onClosePress","onEndModalPress","value","children","style","styles","container","create","flex","backgroundColor","NEUTRAL_1"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/FluencySolving.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SAASC,oBAAoB,QAAQ,sDAAmD;AACxF,SAASC,sBAAsB,QAAQ,wDAAqD;AAC5F,SAASC,kBAAkB,QAAQ,oDAAiD;AACpF,SAASC,qBAAqB,QAAQ,4CAAyC;AAC/E,SAASC,mBAAmB,QAAQ,iCAA8B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASlE,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAqC,CAAC,KAAK;EAC/FR,mBAAmB,CAAC,CAAC;EAErB,oBACEI,KAAA,CAACT,eAAe;IAACc,KAAK,EAAE;MAAEH;IAAM,CAAE;IAAAI,QAAA,gBAChCN,KAAA,CAACZ,IAAI;MAACmB,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAH,QAAA,gBAC5BR,IAAA,CAACN,oBAAoB;QAACW,YAAY,EAAEA;MAAa,CAAE,CAAC,eACpDL,IAAA,CAACL,sBAAsB,IAAE,CAAC,eAC1BK,IAAA,CAACJ,kBAAkB,IAAE,CAAC;IAAA,CAClB,CAAC,eAEPI,IAAA,CAACH,qBAAqB;MAACQ,YAAY,EAAEA,YAAa;MAACC,eAAe,EAAEA;IAAgB,CAAE,CAAC;EAAA,CACxE,CAAC;AAEtB,CAAC;AAED,MAAMI,MAAM,GAAGnB,UAAU,CAACqB,MAAM,CAAC;EAC/BD,SAAS,EAAE;IACTE,IAAI,EAAE,CAAC;IACPC,eAAe,EAAEtB,MAAM,CAACuB;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
|