@magmamath/students-features 0.9.5-rc.1 → 0.9.5
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/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +44 -0
- package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -0
- package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +10 -3
- package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/EOAModal.js +2 -4
- package/dist/commonjs/features/endOfAssignment/components/EOAModal.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js +5 -3
- package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +2 -1
- package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js +9 -2
- package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/helpers.js +10 -3
- package/dist/commonjs/features/endOfAssignment/helpers.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/model/model.js +7 -0
- package/dist/commonjs/features/endOfAssignment/model/model.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js +2 -2
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +9 -2
- package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/AlgebraLayout/helpers.js +13 -3
- package/dist/commonjs/features/keyboard/components/AlgebraLayout/helpers.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js +1 -5
- package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/Keyboard.js +4 -4
- package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/MainLayout.js +74 -0
- package/dist/commonjs/features/keyboard/components/MainLayout.js.map +1 -0
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +24 -0
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -0
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +13 -0
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -0
- package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js +6 -2
- package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js +10 -3
- package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
- package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js +3 -21
- package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
- package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +27 -0
- package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
- package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js +1 -1
- package/dist/commonjs/features/keyboard/types/types.js +1 -0
- package/dist/commonjs/features/keyboard/types/types.js.map +1 -1
- package/dist/commonjs/lib/helpers/helpers.js +5 -28
- package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
- package/dist/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js +34 -0
- package/dist/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js +34 -0
- package/dist/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js +34 -0
- package/dist/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js.map +1 -0
- package/dist/commonjs/shared/translation/constants.js +1 -3
- package/dist/commonjs/shared/translation/constants.js.map +1 -1
- package/dist/commonjs/shared/translation/localization/ca.json +5 -5
- package/dist/commonjs/shared/translation/localization/en.json +5 -5
- package/dist/commonjs/shared/translation/localization/gb.json +5 -5
- package/dist/commonjs/shared/translation/localization/sct.json +5 -5
- package/dist/commonjs/shared/translation/localization/sw.json +5 -5
- package/dist/commonjs/shared/translation/types.js +0 -1
- package/dist/commonjs/shared/translation/types.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +38 -0
- package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -0
- package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +10 -3
- package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/EOAModal.js +2 -4
- package/dist/module/features/endOfAssignment/components/EOAModal.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js +6 -4
- package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +3 -2
- package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js +9 -2
- package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
- package/dist/module/features/endOfAssignment/helpers.js +8 -2
- package/dist/module/features/endOfAssignment/helpers.js.map +1 -1
- package/dist/module/features/endOfAssignment/model/model.js +7 -0
- package/dist/module/features/endOfAssignment/model/model.js.map +1 -1
- package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js +2 -2
- package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +9 -2
- package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/AlgebraLayout/helpers.js +13 -3
- package/dist/module/features/keyboard/components/AlgebraLayout/helpers.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js +0 -4
- package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
- package/dist/module/features/keyboard/components/Keyboard.js +4 -4
- package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
- package/dist/module/features/keyboard/components/MainLayout.js +67 -0
- package/dist/module/features/keyboard/components/MainLayout.js.map +1 -0
- package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +18 -0
- package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -0
- package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +9 -0
- package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -0
- package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js +6 -2
- package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/helpers.js +10 -3
- package/dist/module/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
- package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js +4 -22
- package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
- package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +27 -0
- package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
- package/dist/module/features/keyboard/types/keyboardGroupIds.js +1 -1
- package/dist/module/features/keyboard/types/types.js +1 -0
- package/dist/module/features/keyboard/types/types.js.map +1 -1
- package/dist/module/lib/helpers/helpers.js +5 -28
- package/dist/module/lib/helpers/helpers.js.map +1 -1
- package/dist/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js +26 -0
- package/dist/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js.map +1 -0
- package/dist/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js +26 -0
- package/dist/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js.map +1 -0
- package/dist/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js +26 -0
- package/dist/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js.map +1 -0
- package/dist/module/shared/translation/constants.js +1 -3
- package/dist/module/shared/translation/constants.js.map +1 -1
- package/dist/module/shared/translation/localization/ca.json +5 -5
- package/dist/module/shared/translation/localization/en.json +5 -5
- package/dist/module/shared/translation/localization/gb.json +5 -5
- package/dist/module/shared/translation/localization/sct.json +5 -5
- package/dist/module/shared/translation/localization/sw.json +5 -5
- package/dist/module/shared/translation/types.js +0 -1
- package/dist/module/shared/translation/types.js.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.d.ts +10 -0
- package/dist/typescript/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/EOAModal.d.ts +1 -3
- package/dist/typescript/commonjs/features/endOfAssignment/components/EOAModal.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/helpers.d.ts +3 -1
- package/dist/typescript/commonjs/features/endOfAssignment/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/model/model.d.ts +5 -0
- package/dist/typescript/commonjs/features/endOfAssignment/model/model.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/types.d.ts +2 -2
- package/dist/typescript/commonjs/features/endOfAssignment/types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts +3 -2
- package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/helpers.d.ts +6 -1
- package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +0 -1
- package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts +1 -0
- package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/MainLayout.d.ts +15 -0
- package/dist/typescript/commonjs/features/keyboard/components/MainLayout.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +4 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts +3 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts +2 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +2 -2
- package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +18 -0
- package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts +1 -1
- package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/types/types.d.ts +3 -1
- package/dist/typescript/commonjs/features/keyboard/types/types.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +0 -42
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/types.d.ts +1 -2
- package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.d.ts +10 -0
- package/dist/typescript/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.d.ts.map +1 -0
- package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/EOAModal.d.ts +1 -3
- package/dist/typescript/module/features/endOfAssignment/components/EOAModal.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/helpers.d.ts +3 -1
- package/dist/typescript/module/features/endOfAssignment/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/model/model.d.ts +5 -0
- package/dist/typescript/module/features/endOfAssignment/model/model.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/types.d.ts +2 -2
- package/dist/typescript/module/features/endOfAssignment/types.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts +3 -2
- package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts +1 -1
- package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/AlgebraLayout/helpers.d.ts +6 -1
- package/dist/typescript/module/features/keyboard/components/AlgebraLayout/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +0 -1
- package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts +1 -0
- package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/MainLayout.d.ts +15 -0
- package/dist/typescript/module/features/keyboard/components/MainLayout.d.ts.map +1 -0
- package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +4 -0
- package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -0
- package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts +3 -0
- package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -0
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts +2 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +2 -2
- package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +18 -0
- package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts +1 -1
- package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/types/types.d.ts +3 -1
- package/dist/typescript/module/features/keyboard/types/types.d.ts.map +1 -1
- package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/constants.d.ts +0 -42
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/types.d.ts +1 -2
- package/dist/typescript/module/shared/translation/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.tsx +43 -0
- package/src/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.tsx +20 -10
- package/src/features/endOfAssignment/components/EOAModal.tsx +2 -9
- package/src/features/endOfAssignment/components/ExamPaused/ExamPaused.tsx +6 -6
- package/src/features/endOfAssignment/components/ExamSubmit/ExamSubmit.tsx +2 -2
- package/src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx +17 -6
- package/src/features/endOfAssignment/helpers.ts +10 -3
- package/src/features/endOfAssignment/model/model.ts +5 -1
- package/src/features/endOfAssignment/types.ts +2 -1
- package/src/features/endOfAssignment/ui/PracticeButtonGroup.tsx +4 -3
- package/src/features/keyboard/components/AlgebraLayout/AlgebraLayout.tsx +2 -2
- package/src/features/keyboard/components/AlgebraLayout/helpers.tsx +19 -6
- package/src/features/keyboard/components/BasicLayout/keyboardGroups.ts +0 -4
- package/src/features/keyboard/components/Keyboard.tsx +4 -4
- package/src/features/keyboard/components/MainLayout.tsx +80 -0
- package/src/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.tsx +12 -0
- package/src/features/keyboard/components/UnderlinedLayout/keyboardGroups.ts +12 -0
- package/src/features/keyboard/components/UnitsLayout/UnitsLayout.tsx +2 -1
- package/src/features/keyboard/components/UnitsLayout/helpers.tsx +10 -2
- package/src/features/keyboard/constants/keyboardGroupsByLocale.ts +2 -21
- package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +21 -0
- package/src/features/keyboard/types/keyboardGroupIds.ts +1 -1
- package/src/features/keyboard/types/types.ts +2 -0
- package/src/lib/helpers/helpers.ts +8 -23
- package/src/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.tsx +17 -0
- package/src/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.tsx +20 -0
- package/src/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.tsx +20 -0
- package/src/shared/translation/constants.ts +0 -2
- package/src/shared/translation/localization/ca.json +5 -5
- package/src/shared/translation/localization/en.json +5 -5
- package/src/shared/translation/localization/gb.json +5 -5
- package/src/shared/translation/localization/sct.json +5 -5
- package/src/shared/translation/localization/sw.json +5 -5
- package/src/shared/translation/types.ts +0 -4
- package/dist/commonjs/shared/translation/localization/de.json +0 -42
- package/dist/module/shared/translation/localization/de.json +0 -42
- package/src/shared/translation/localization/de.json +0 -42
|
@@ -9,6 +9,7 @@ export class EOAModel {
|
|
|
9
9
|
public readonly leavePressed = createEvent()
|
|
10
10
|
public readonly goToFirstProblemPressed = createEvent()
|
|
11
11
|
public readonly recommendationsUpdated = createEvent<boolean>()
|
|
12
|
+
public readonly popUpStatsUpdated = createEvent<Partial<EOAModalData['stats']>>()
|
|
12
13
|
public readonly popUpTriggered = createEvent<EOAEventType>()
|
|
13
14
|
|
|
14
15
|
public readonly $popUpData = createStore<EOAModalData | null>(null)
|
|
@@ -16,6 +17,9 @@ export class EOAModel {
|
|
|
16
17
|
.on(this.recommendationsUpdated, (state, hasRecommendations) =>
|
|
17
18
|
state ? { ...state, hasRecommendations } : state,
|
|
18
19
|
)
|
|
20
|
+
.on(this.popUpStatsUpdated, (state, payload) =>
|
|
21
|
+
state ? { ...state, stats: { ...state.stats, ...payload } } : state,
|
|
22
|
+
)
|
|
19
23
|
.reset(this.hidePopUp)
|
|
20
24
|
|
|
21
25
|
public readonly $modalVariant = createStore<EOAModalVariant | null>(null)
|
|
@@ -33,7 +37,7 @@ export class EOAModel {
|
|
|
33
37
|
}
|
|
34
38
|
|
|
35
39
|
if (eventType === EOAEventType.EXAM_PAUSED) return EOAModalVariant.EXAM_PAUSED
|
|
36
|
-
|
|
40
|
+
|
|
37
41
|
if (eventType === EOAEventType.CHEAT_DETECTED) {
|
|
38
42
|
return EOAModalVariant.EXAM_SAFE_MODE_CHEAT_DETECTED
|
|
39
43
|
}
|
|
@@ -34,11 +34,11 @@ export type EOAModalContentProps = {
|
|
|
34
34
|
textContent: EOAModalText
|
|
35
35
|
model: EOAModel
|
|
36
36
|
onPracticePress?: () => void
|
|
37
|
-
buttonColor?: ButtonColor
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
export type EOAModalData = {
|
|
41
40
|
isExam: boolean
|
|
41
|
+
isAssessment: boolean
|
|
42
42
|
newerAssignmentAvailable?: boolean
|
|
43
43
|
examFinished?: boolean
|
|
44
44
|
cheatDetection?: boolean
|
|
@@ -63,5 +63,6 @@ export type EOAModalText = {
|
|
|
63
63
|
correctAnswersPlural?: string
|
|
64
64
|
goodCalculations?: string
|
|
65
65
|
goodCalculationsPlural?: string
|
|
66
|
+
score?: string
|
|
66
67
|
}
|
|
67
68
|
}
|
|
@@ -11,13 +11,14 @@ import Animated, {
|
|
|
11
11
|
import { ButtonVariant, SPACING, Button, ButtonSize, ButtonColor } from '@magmamath/react-native-ui'
|
|
12
12
|
|
|
13
13
|
import { PracticeButton } from './PracticeButton'
|
|
14
|
+
import { getEoaButtonColor } from '../helpers'
|
|
14
15
|
|
|
15
16
|
type PracticeButtonGroupProps = {
|
|
16
17
|
textContent: { leftButtonText?: string; rightButtonText?: string }
|
|
17
18
|
isPracticeButtonVisible: boolean
|
|
18
19
|
onLeftButtonPress: () => void
|
|
19
20
|
onRightButtonPress: () => void
|
|
20
|
-
|
|
21
|
+
buttonColor?: ButtonColor
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
export const PracticeButtonGroup = ({
|
|
@@ -25,7 +26,7 @@ export const PracticeButtonGroup = ({
|
|
|
25
26
|
isPracticeButtonVisible,
|
|
26
27
|
onLeftButtonPress,
|
|
27
28
|
onRightButtonPress,
|
|
28
|
-
|
|
29
|
+
buttonColor = ButtonColor.BLUE,
|
|
29
30
|
}: PracticeButtonGroupProps) => {
|
|
30
31
|
const buttonsContainerOpacity = useSharedValue(0)
|
|
31
32
|
|
|
@@ -45,7 +46,7 @@ export const PracticeButtonGroup = ({
|
|
|
45
46
|
<Button
|
|
46
47
|
variant={isPracticeButtonVisible ? ButtonVariant.TERTIARY : ButtonVariant.PRIMARY}
|
|
47
48
|
size={ButtonSize.LARGE}
|
|
48
|
-
colorScheme={
|
|
49
|
+
colorScheme={buttonColor}
|
|
49
50
|
style={{ text: { textTransform: 'uppercase' } }}
|
|
50
51
|
onPress={onLeftButtonPress}
|
|
51
52
|
>
|
|
@@ -9,11 +9,11 @@ import { SelectedLayout } from './types'
|
|
|
9
9
|
import { getKeyboardGroup } from '../../helpers'
|
|
10
10
|
import { getSelectOptions } from './helpers'
|
|
11
11
|
|
|
12
|
-
export const AlgebraLayout = (props: KeyboardLayoutProps) => {
|
|
12
|
+
export const AlgebraLayout = ({ onLayoutChange, ...props }: KeyboardLayoutProps) => {
|
|
13
13
|
const [selectedLayout, setSelectedLayout] = useState<SelectedLayout>(SelectedLayout.BASIC)
|
|
14
14
|
const t = useText()
|
|
15
15
|
const { width } = useWindowDimensions()
|
|
16
|
-
const selectOptions = getSelectOptions(selectedLayout, setSelectedLayout)
|
|
16
|
+
const selectOptions = getSelectOptions({ selectedLayout, setSelectedLayout, onLayoutChange })
|
|
17
17
|
const isDesktop = width > MOBILE_LAYOUT_WIDTH && !IS_MOBILE
|
|
18
18
|
const locale = t('locale') as Locale
|
|
19
19
|
|
|
@@ -10,10 +10,17 @@ type LayoutOption = {
|
|
|
10
10
|
onPressIn: () => void
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
selectedLayout: SelectedLayout
|
|
15
|
-
setSelectedLayout: (layout: SelectedLayout) => void
|
|
16
|
-
|
|
13
|
+
type GetSelectOptionsProps = {
|
|
14
|
+
selectedLayout: SelectedLayout
|
|
15
|
+
setSelectedLayout: (layout: SelectedLayout) => void
|
|
16
|
+
onLayoutChange?: (isSecondaryLayout: boolean) => void
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function getSelectOptions({
|
|
20
|
+
selectedLayout,
|
|
21
|
+
setSelectedLayout,
|
|
22
|
+
onLayoutChange,
|
|
23
|
+
}: GetSelectOptionsProps): LayoutOption[] {
|
|
17
24
|
return [
|
|
18
25
|
{
|
|
19
26
|
key: SelectedLayout.BASIC,
|
|
@@ -23,7 +30,10 @@ export function getSelectOptions(
|
|
|
23
30
|
size={22}
|
|
24
31
|
/>
|
|
25
32
|
),
|
|
26
|
-
onPressIn: () =>
|
|
33
|
+
onPressIn: () => {
|
|
34
|
+
setSelectedLayout(SelectedLayout.BASIC)
|
|
35
|
+
onLayoutChange?.(false)
|
|
36
|
+
},
|
|
27
37
|
},
|
|
28
38
|
{
|
|
29
39
|
key: SelectedLayout.ALGEBRA,
|
|
@@ -33,7 +43,10 @@ export function getSelectOptions(
|
|
|
33
43
|
size={25}
|
|
34
44
|
/>
|
|
35
45
|
),
|
|
36
|
-
onPressIn: () =>
|
|
46
|
+
onPressIn: () => {
|
|
47
|
+
setSelectedLayout(SelectedLayout.ALGEBRA)
|
|
48
|
+
onLayoutChange?.(true)
|
|
49
|
+
},
|
|
37
50
|
},
|
|
38
51
|
]
|
|
39
52
|
}
|
|
@@ -58,7 +58,3 @@ export const MATH_CURRENCY_US_KEYBOARD_GROUP: KeyboardGroup = {
|
|
|
58
58
|
id: MathEntryKeyboardGroupId.CURRENCY_US,
|
|
59
59
|
keys: [MATH_CURRENCY_UNITS.DOLLAR, MATH_CURRENCY_UNITS.CENT],
|
|
60
60
|
}
|
|
61
|
-
export const MATH_CURRENCY_DE_KEYBOARD_GROUP: KeyboardGroup = {
|
|
62
|
-
id: MathEntryKeyboardGroupId.CURRENCY_DE,
|
|
63
|
-
keys: [MATH_CURRENCY_UNITS.EURO, MATH_CURRENCY_UNITS.DOLLAR, MATH_CURRENCY_UNITS.POUND],
|
|
64
|
-
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useMemo, useRef } from 'react'
|
|
2
2
|
import { Animated, StyleProp, StyleSheet, useWindowDimensions, ViewStyle } from 'react-native'
|
|
3
3
|
import { COLORS, IS_MOBILE, SelectOptionColor, SHADOWS } from '@magmamath/react-native-ui'
|
|
4
|
-
import { getLayoutByCharType } from '../constants/keyboardLayouts'
|
|
5
4
|
import { KeyboardKey, KeyboardKeyValue } from '../types/types'
|
|
6
5
|
import { Numpad } from './Numpad/Numpad'
|
|
7
6
|
import { MOBILE_LAYOUT_WIDTH } from '../constants/constants'
|
|
@@ -11,6 +10,7 @@ import {
|
|
|
11
10
|
slideInAnimationSettings,
|
|
12
11
|
slideOutAnimationSettings,
|
|
13
12
|
} from './constants'
|
|
13
|
+
import { MainLayout } from './MainLayout'
|
|
14
14
|
|
|
15
15
|
type KeyboardProps = {
|
|
16
16
|
onKeyPress: (key: KeyboardKeyValue) => void
|
|
@@ -19,15 +19,15 @@ type KeyboardProps = {
|
|
|
19
19
|
color?: SelectOptionColor
|
|
20
20
|
isVisible?: boolean
|
|
21
21
|
isDisabled?: boolean
|
|
22
|
+
showUnderlinedKeys?: boolean
|
|
22
23
|
disabledKeys?: KeyboardKey[]
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
export const Keyboard = ({ style, characterType, isVisible = true, ...props }: KeyboardProps) => {
|
|
26
27
|
const slideAnim = useRef(new Animated.Value(isVisible ? 0 : KEYBOARD_SLIDE_DISTANCE)).current
|
|
28
|
+
|
|
27
29
|
const { width } = useWindowDimensions()
|
|
28
30
|
const isMobile = width <= MOBILE_LAYOUT_WIDTH || IS_MOBILE
|
|
29
|
-
|
|
30
|
-
const Layout = useMemo(() => getLayoutByCharType(characterType), [characterType])
|
|
31
31
|
const mobileStyles = useMemo(
|
|
32
32
|
() => getLayoutConfigStyles(characterType, isMobile),
|
|
33
33
|
[characterType, isMobile],
|
|
@@ -57,7 +57,7 @@ export const Keyboard = ({ style, characterType, isVisible = true, ...props }: K
|
|
|
57
57
|
},
|
|
58
58
|
]}
|
|
59
59
|
>
|
|
60
|
-
<
|
|
60
|
+
<MainLayout {...props} characterType={characterType} />
|
|
61
61
|
<Numpad {...props} style={mobileStyles} />
|
|
62
62
|
</Animated.View>
|
|
63
63
|
)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import React, { useEffect, useMemo, useRef, useState, useCallback } from 'react'
|
|
2
|
+
import { Animated, StyleSheet, useWindowDimensions, View } from 'react-native'
|
|
3
|
+
import { SelectOptionColor, IS_MOBILE, IS_WEB } from '@magmamath/react-native-ui'
|
|
4
|
+
import { getLayoutByCharType } from '../constants/keyboardLayouts'
|
|
5
|
+
import { KeyboardKey, KeyboardKeyValue } from '../types/types'
|
|
6
|
+
import { UnderlinedLayout } from './UnderlinedLayout/UnderlinedLayout'
|
|
7
|
+
import { MOBILE_LAYOUT_WIDTH } from '../constants/constants'
|
|
8
|
+
|
|
9
|
+
type LayoutProps = {
|
|
10
|
+
onKeyPress: (key: KeyboardKeyValue) => void
|
|
11
|
+
characterType?: number
|
|
12
|
+
color?: SelectOptionColor
|
|
13
|
+
isVisible?: boolean
|
|
14
|
+
isDisabled?: boolean
|
|
15
|
+
showUnderlinedKeys?: boolean
|
|
16
|
+
disabledKeys?: KeyboardKey[]
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const MainLayout = ({
|
|
20
|
+
characterType,
|
|
21
|
+
showUnderlinedKeys = false,
|
|
22
|
+
...props
|
|
23
|
+
}: LayoutProps) => {
|
|
24
|
+
const [isUnderlinedVisible, setIsUnderlinedVisible] = useState(showUnderlinedKeys)
|
|
25
|
+
const [isSecondaryLayoutSelected, setIsSecondaryLayoutSelected] = useState(false)
|
|
26
|
+
|
|
27
|
+
const fadeAnim = useRef(new Animated.Value(showUnderlinedKeys ? 1 : 0)).current
|
|
28
|
+
const fadeRef = useRef<Animated.CompositeAnimation | null>(null)
|
|
29
|
+
|
|
30
|
+
const { width } = useWindowDimensions()
|
|
31
|
+
const isMobile = width <= MOBILE_LAYOUT_WIDTH || IS_MOBILE
|
|
32
|
+
|
|
33
|
+
const Layout = useMemo(() => getLayoutByCharType(characterType), [characterType])
|
|
34
|
+
const isUnderlinedLayoutVisible = isUnderlinedVisible && !isSecondaryLayoutSelected && !isMobile
|
|
35
|
+
|
|
36
|
+
const animateFade = useCallback(
|
|
37
|
+
(toValue: number, onComplete?: () => void) => {
|
|
38
|
+
fadeRef.current?.stop()
|
|
39
|
+
fadeRef.current = Animated.timing(fadeAnim, {
|
|
40
|
+
toValue,
|
|
41
|
+
duration: 250,
|
|
42
|
+
useNativeDriver: !IS_WEB,
|
|
43
|
+
})
|
|
44
|
+
fadeRef.current.start(() => onComplete?.())
|
|
45
|
+
},
|
|
46
|
+
[fadeAnim],
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (showUnderlinedKeys) {
|
|
51
|
+
setIsUnderlinedVisible(true)
|
|
52
|
+
animateFade(1)
|
|
53
|
+
return
|
|
54
|
+
}
|
|
55
|
+
animateFade(0, () => setIsUnderlinedVisible(false))
|
|
56
|
+
|
|
57
|
+
return () => {
|
|
58
|
+
fadeRef.current?.stop()
|
|
59
|
+
}
|
|
60
|
+
}, [showUnderlinedKeys, animateFade])
|
|
61
|
+
|
|
62
|
+
return (
|
|
63
|
+
<View style={styles.container}>
|
|
64
|
+
<Layout {...props} onLayoutChange={setIsSecondaryLayoutSelected} />
|
|
65
|
+
{isUnderlinedLayoutVisible && (
|
|
66
|
+
<Animated.View style={{ opacity: fadeAnim }}>
|
|
67
|
+
<UnderlinedLayout {...props} />
|
|
68
|
+
</Animated.View>
|
|
69
|
+
)}
|
|
70
|
+
</View>
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const styles = StyleSheet.create({
|
|
75
|
+
container: {
|
|
76
|
+
flexDirection: 'row',
|
|
77
|
+
alignItems: 'flex-start',
|
|
78
|
+
justifyContent: 'space-between',
|
|
79
|
+
},
|
|
80
|
+
})
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { KeysList } from '../KeysList/KeysList'
|
|
3
|
+
import { KeyboardLayoutProps, KeyboardType } from '../../types/types'
|
|
4
|
+
import { Locale, useText } from '../../../../shared/translation'
|
|
5
|
+
import { getKeyboardGroup } from '../../helpers'
|
|
6
|
+
|
|
7
|
+
export const UnderlinedLayout = (props: KeyboardLayoutProps) => {
|
|
8
|
+
const t = useText()
|
|
9
|
+
const keysGroup = getKeyboardGroup(t('locale') as Locale, KeyboardType.Underlined)
|
|
10
|
+
|
|
11
|
+
return <KeysList keys={keysGroup.keys} numOfRows={keysGroup.keys.length} {...props} />
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KeyboardGroup } from '../../types/types'
|
|
2
|
+
import { MathEntryKeyboardGroupId } from '../../types/keyboardGroupIds'
|
|
3
|
+
import { MATH_BASIC_OPERATORS } from '../../types/MathKeysGroups/basicOperators'
|
|
4
|
+
|
|
5
|
+
export const MATH_ENTRY_UNDERLINED_KEYBOARD_GROUP: KeyboardGroup = {
|
|
6
|
+
id: MathEntryKeyboardGroupId.UNDERLINED,
|
|
7
|
+
keys: [
|
|
8
|
+
MATH_BASIC_OPERATORS.UNDERLINED_TEN,
|
|
9
|
+
MATH_BASIC_OPERATORS.UNDERLINED_ONE,
|
|
10
|
+
MATH_BASIC_OPERATORS.UNDERLINED_U,
|
|
11
|
+
],
|
|
12
|
+
}
|
|
@@ -12,7 +12,7 @@ import { KeyboardUnitsGroupType, SelectedLayout } from './types'
|
|
|
12
12
|
import { getSelectOptions } from './helpers'
|
|
13
13
|
import { IS_MOBILE } from '@magmamath/react-native-ui'
|
|
14
14
|
|
|
15
|
-
export const UnitsLayout = (props: KeyboardLayoutProps) => {
|
|
15
|
+
export const UnitsLayout = ({ onLayoutChange, ...props }: KeyboardLayoutProps) => {
|
|
16
16
|
const { width } = useWindowDimensions()
|
|
17
17
|
const t = useText()
|
|
18
18
|
const locale = t('locale') as Locale
|
|
@@ -26,6 +26,7 @@ export const UnitsLayout = (props: KeyboardLayoutProps) => {
|
|
|
26
26
|
activeTabKey: activeTab.key as KeyboardUnitsGroupType,
|
|
27
27
|
selectedLayout,
|
|
28
28
|
setSelectedLayout,
|
|
29
|
+
onLayoutChange,
|
|
29
30
|
})
|
|
30
31
|
|
|
31
32
|
return (
|
|
@@ -8,12 +8,14 @@ type UseLayoutSelectOptionsProps = {
|
|
|
8
8
|
activeTabKey: KeyboardUnitsGroupType
|
|
9
9
|
selectedLayout: SelectedLayout
|
|
10
10
|
setSelectedLayout: (layout: SelectedLayout) => void
|
|
11
|
+
onLayoutChange?: (isSecondaryLayout: boolean) => void
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export const getSelectOptions = ({
|
|
14
15
|
activeTabKey,
|
|
15
16
|
selectedLayout,
|
|
16
17
|
setSelectedLayout,
|
|
18
|
+
onLayoutChange,
|
|
17
19
|
}: UseLayoutSelectOptionsProps) => {
|
|
18
20
|
{
|
|
19
21
|
const SelectedIcon = UNITS_KEYBOARD_GROUPS.get(activeTabKey)?.icon || RulerIcon
|
|
@@ -27,7 +29,10 @@ export const getSelectOptions = ({
|
|
|
27
29
|
size={22}
|
|
28
30
|
/>
|
|
29
31
|
),
|
|
30
|
-
onPressIn: () =>
|
|
32
|
+
onPressIn: () => {
|
|
33
|
+
setSelectedLayout(SelectedLayout.ALGEBRA)
|
|
34
|
+
onLayoutChange?.(false)
|
|
35
|
+
},
|
|
31
36
|
},
|
|
32
37
|
{
|
|
33
38
|
key: SelectedLayout.UNITS,
|
|
@@ -37,7 +42,10 @@ export const getSelectOptions = ({
|
|
|
37
42
|
size={16}
|
|
38
43
|
/>
|
|
39
44
|
),
|
|
40
|
-
onPressIn: () =>
|
|
45
|
+
onPressIn: () => {
|
|
46
|
+
setSelectedLayout(SelectedLayout.UNITS)
|
|
47
|
+
onLayoutChange?.(true)
|
|
48
|
+
},
|
|
41
49
|
},
|
|
42
50
|
]
|
|
43
51
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { KeyboardGroup, KeyboardType } from '../types/types'
|
|
2
2
|
import {
|
|
3
|
-
MATH_CURRENCY_DE_KEYBOARD_GROUP,
|
|
4
3
|
MATH_CURRENCY_SW_KEYBOARD_GROUP,
|
|
5
4
|
MATH_CURRENCY_UK_KEYBOARD_GROUP,
|
|
6
5
|
MATH_CURRENCY_US_KEYBOARD_GROUP,
|
|
@@ -40,6 +39,7 @@ import {
|
|
|
40
39
|
import { Locale } from '../../../shared/translation'
|
|
41
40
|
import { MATH_ENTRY_ALGEBRA_KEYBOARD_GROUP } from '../components/AlgebraLayout/keyboardGroups'
|
|
42
41
|
import { KeyboardUnitsGroupType, UnitKeyboardGroups } from '../components/UnitsLayout/types'
|
|
42
|
+
import { MATH_ENTRY_UNDERLINED_KEYBOARD_GROUP } from '../components/UnderlinedLayout/keyboardGroups'
|
|
43
43
|
|
|
44
44
|
function createKeyboardLocale(overrides: Partial<Record<KeyboardType, KeyboardGroup>>) {
|
|
45
45
|
const base: Record<KeyboardType, KeyboardGroup> = {
|
|
@@ -56,6 +56,7 @@ function createKeyboardLocale(overrides: Partial<Record<KeyboardType, KeyboardGr
|
|
|
56
56
|
[KeyboardType.BasicTime]: MATH_TIME_US_KEYBOARD_GROUP,
|
|
57
57
|
[KeyboardType.AlgebraAdvanced]: MATH_ENTRY_ALGEBRA_KEYBOARD_GROUP,
|
|
58
58
|
[KeyboardType.Numpad]: MATH_ENTRY_NUMBERS_US_KEYBOARD_GROUP,
|
|
59
|
+
[KeyboardType.Underlined]: MATH_ENTRY_UNDERLINED_KEYBOARD_GROUP,
|
|
59
60
|
}
|
|
60
61
|
return { ...base, ...overrides }
|
|
61
62
|
}
|
|
@@ -97,20 +98,6 @@ export const KEYBOARD_GROUPS_BY_LOCALE: Record<Locale, Record<KeyboardType, Keyb
|
|
|
97
98
|
[KeyboardType.BasicTime]: MATH_TIME_SW_KEYBOARD_GROUP,
|
|
98
99
|
[KeyboardType.Numpad]: MATH_ENTRY_NUMBERS_SW_KEYBOARD_GROUP,
|
|
99
100
|
}),
|
|
100
|
-
[Locale.DE]: createKeyboardLocale({
|
|
101
|
-
[KeyboardType.Basic]: MATH_ENTRY_BASIC_SW_KEYBOARD_GROUP,
|
|
102
|
-
[KeyboardType.BasicPlus]: MATH_ENTRY_BASIC_SW_PLUS,
|
|
103
|
-
[KeyboardType.BasicPlusMobile]: MATH_ENTRY_BASIC_PLUS_MOBILE_SW,
|
|
104
|
-
[KeyboardType.BasicPlusPlus]: MATH_ENTRY_BASIC_PLUS_PLUS_SW,
|
|
105
|
-
[KeyboardType.BasicPlusPlusMobile]: MATH_ENTRY_BASIC_PLUS_PLUS_MOBILE_SW,
|
|
106
|
-
[KeyboardType.BasicUnits]: {
|
|
107
|
-
...MATH_ENTRY_LENGTH_UNITS_US_KEYBOARD_GROUPS,
|
|
108
|
-
keys: MATH_ENTRY_LENGTH_UNITS_US_KEYBOARD_GROUPS.keys[0],
|
|
109
|
-
},
|
|
110
|
-
[KeyboardType.BasicCurrency]: MATH_CURRENCY_DE_KEYBOARD_GROUP,
|
|
111
|
-
[KeyboardType.BasicTime]: MATH_TIME_SW_KEYBOARD_GROUP,
|
|
112
|
-
[KeyboardType.Numpad]: MATH_ENTRY_NUMBERS_SW_KEYBOARD_GROUP,
|
|
113
|
-
}),
|
|
114
101
|
}
|
|
115
102
|
export const KEYBOARD_UNITS_GROUPS_BY_LOCALE: Record<
|
|
116
103
|
Locale,
|
|
@@ -132,10 +119,4 @@ export const KEYBOARD_UNITS_GROUPS_BY_LOCALE: Record<
|
|
|
132
119
|
[KeyboardUnitsGroupType.VOLUME]: MATH_ENTRY_VOLUME_UNITS_SW_KEYBOARD_GROUPS,
|
|
133
120
|
[KeyboardUnitsGroupType.WEIGHT]: MATH_ENTRY_WEIGHT_UNITS_SW_KEYBOARD_GROUPS,
|
|
134
121
|
}),
|
|
135
|
-
[Locale.DE]: createKeyboardUnitsLocale({
|
|
136
|
-
[KeyboardUnitsGroupType.LENGTH]: MATH_ENTRY_LENGTH_UNITS_SW_KEYBOARD_GROUPS,
|
|
137
|
-
[KeyboardUnitsGroupType.AREA]: MATH_ENTRY_AREA_UNITS_SW_KEYBOARD_GROUPS,
|
|
138
|
-
[KeyboardUnitsGroupType.VOLUME]: MATH_ENTRY_VOLUME_UNITS_SW_KEYBOARD_GROUPS,
|
|
139
|
-
[KeyboardUnitsGroupType.WEIGHT]: MATH_ENTRY_WEIGHT_UNITS_SW_KEYBOARD_GROUPS,
|
|
140
|
-
}),
|
|
141
122
|
}
|
|
@@ -42,6 +42,9 @@ import { EqualsIcon } from '../../../../shared/icons/keyboard/EqualsIcon/EqualsI
|
|
|
42
42
|
import { AbsoluteValueIcon } from '../../../../shared/icons/keyboard/AbsoluteValueIcon/AbsoluteValueIcon'
|
|
43
43
|
import { IntervalIcon } from '../../../../shared/icons/keyboard/IntervalIcon/IntervalIcon'
|
|
44
44
|
import { createMathKeysGroup } from './helpers'
|
|
45
|
+
import { UnderlinedTenIcon } from '../../../../shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon'
|
|
46
|
+
import { UnderlinedOneIcon } from '../../../../shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon'
|
|
47
|
+
import { UnderlinedUIcon } from '../../../../shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon'
|
|
45
48
|
|
|
46
49
|
export const MATH_BASIC_OPERATORS = createMathKeysGroup({
|
|
47
50
|
ADDITION: {
|
|
@@ -266,4 +269,22 @@ export const MATH_BASIC_OPERATORS = createMathKeysGroup({
|
|
|
266
269
|
mathliveValue: '$\\left[, \\right]$',
|
|
267
270
|
katexValue: '[ , ]',
|
|
268
271
|
},
|
|
272
|
+
UNDERLINED_TEN: {
|
|
273
|
+
icon: <UnderlinedTenIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
274
|
+
mathliveValue: '\\underline{10}',
|
|
275
|
+
katexValue: '10̲',
|
|
276
|
+
spreadsheetValue: 'TEN',
|
|
277
|
+
},
|
|
278
|
+
UNDERLINED_ONE: {
|
|
279
|
+
icon: <UnderlinedOneIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
280
|
+
mathliveValue: '\\underline{1}',
|
|
281
|
+
katexValue: '1̲',
|
|
282
|
+
spreadsheetValue: 'ONE_FOOT_NOTE',
|
|
283
|
+
},
|
|
284
|
+
UNDERLINED_U: {
|
|
285
|
+
icon: <UnderlinedUIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
286
|
+
mathliveValue: '\\underline{u}',
|
|
287
|
+
katexValue: 'U̲',
|
|
288
|
+
spreadsheetValue: 'FRACTION',
|
|
289
|
+
},
|
|
269
290
|
})
|
|
@@ -13,6 +13,7 @@ export const enum KeyboardType {
|
|
|
13
13
|
BasicPlusPlus = 'BasicPlusPlus',
|
|
14
14
|
BasicPlusPlusMobile = 'BasicPlusPlusMobile',
|
|
15
15
|
Numpad = 'Numpad',
|
|
16
|
+
Underlined = 'Underlined',
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
export type KeyboardKey = {
|
|
@@ -44,6 +45,7 @@ export type KeyboardGroup = {
|
|
|
44
45
|
|
|
45
46
|
export type KeyboardLayoutProps = {
|
|
46
47
|
onKeyPress: (key: KeyboardKeyValue) => void
|
|
48
|
+
onLayoutChange?: (isSecondaryLayout: boolean) => void
|
|
47
49
|
color?: SelectOptionColor
|
|
48
50
|
isDisabled?: boolean
|
|
49
51
|
disabledKeys?: KeyboardKey[]
|
|
@@ -27,27 +27,12 @@ export const getRelativeTimeText = (date: Date) => {
|
|
|
27
27
|
const years = getYears(days)
|
|
28
28
|
|
|
29
29
|
if (seconds < 60) return getText('time.justNow')
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return getText('time.
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return getText('time.hoursAgo', { count: hours.toString() })
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (days < 30) {
|
|
42
|
-
if (days === 1) return `1 ${getText('time.dayAgo')}`
|
|
43
|
-
return getText('time.daysAgo', { count: days.toString() })
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (months < 12) {
|
|
47
|
-
if (months === 1) return `1 ${getText('time.monthAgo')}`
|
|
48
|
-
return getText('time.monthsAgo', { count: months.toString() })
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (years === 1) return `1 ${getText('time.yearAgo')}`
|
|
52
|
-
return getText('time.yearsAgo', { count: years.toString() })
|
|
30
|
+
if (minutes < 60)
|
|
31
|
+
return `${minutes} ${minutes === 1 ? getText('time.minuteAgo') : getText('time.minutesAgo')}`
|
|
32
|
+
if (hours < 24)
|
|
33
|
+
return `${hours} ${hours === 1 ? getText('time.hourAgo') : getText('time.hoursAgo')}`
|
|
34
|
+
if (days < 30) return `${days} ${days === 1 ? getText('time.dayAgo') : getText('time.daysAgo')}`
|
|
35
|
+
if (months < 12)
|
|
36
|
+
return `${months} ${months === 1 ? getText('time.monthAgo') : getText('time.monthsAgo')}`
|
|
37
|
+
return `${years} ${years === 1 ? getText('time.yearAgo') : getText('time.yearsAgo')}`
|
|
53
38
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { IconProps } from '../../icon.types'
|
|
3
|
+
import Svg, { Path } from 'react-native-svg'
|
|
4
|
+
|
|
5
|
+
export const UnderlinedOneIcon = ({ size = 20, color }: IconProps) => {
|
|
6
|
+
return (
|
|
7
|
+
<Svg width={size} height={size} viewBox="0 0 17 17" fill="none">
|
|
8
|
+
<Path d="M7.93176 12.1924V3.83738H6.46176V1.84238H10.0918V12.1924H7.93176Z" fill={color} />
|
|
9
|
+
<Path
|
|
10
|
+
d="M2.15088 15.1924H15.1509"
|
|
11
|
+
stroke={color}
|
|
12
|
+
stroke-width="1.2"
|
|
13
|
+
stroke-linecap="square"
|
|
14
|
+
/>
|
|
15
|
+
</Svg>
|
|
16
|
+
)
|
|
17
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { IconProps } from '../../icon.types'
|
|
3
|
+
import Svg, { Path } from 'react-native-svg'
|
|
4
|
+
|
|
5
|
+
export const UnderlinedTenIcon = ({ size = 20, color }: IconProps) => {
|
|
6
|
+
return (
|
|
7
|
+
<Svg width={size} height={size} viewBox="0 0 17 17" fill="none">
|
|
8
|
+
<Path
|
|
9
|
+
d="M3.25158 12.1924V3.83738H1.78158V1.84238H5.41158V12.1924H3.25158ZM11.4998 1.69238C14.0348 1.69238 15.5198 3.52238 15.5198 6.80738V7.16738C15.5198 10.4524 14.0348 12.2824 11.4998 12.2824C8.96482 12.2824 7.47982 10.4524 7.47982 7.16738V6.80738C7.47982 3.52238 8.96482 1.69238 11.4998 1.69238ZM9.65482 7.16738C9.65482 9.38738 10.2698 10.3024 11.4998 10.3024C12.7298 10.3024 13.3448 9.38738 13.3448 7.16738V6.80738C13.3448 4.58738 12.7298 3.67238 11.4998 3.67238C10.2698 3.67238 9.65482 4.58738 9.65482 6.80738V7.16738Z"
|
|
10
|
+
fill={color}
|
|
11
|
+
/>
|
|
12
|
+
<path
|
|
13
|
+
d="M2.15088 15.1924H15.1509"
|
|
14
|
+
stroke={color}
|
|
15
|
+
stroke-width="1.2"
|
|
16
|
+
stroke-linecap="square"
|
|
17
|
+
/>
|
|
18
|
+
</Svg>
|
|
19
|
+
)
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { IconProps } from '../../icon.types'
|
|
3
|
+
import Svg, { Path } from 'react-native-svg'
|
|
4
|
+
|
|
5
|
+
export const UnderlinedUIcon = ({ size = 20, color }: IconProps) => {
|
|
6
|
+
return (
|
|
7
|
+
<Svg width={size} height={size} viewBox="0 0 17 17" fill="none">
|
|
8
|
+
<Path
|
|
9
|
+
d="M10.6573 1.69238H12.8473V8.42738C12.8473 10.7824 11.4523 12.4174 8.6473 12.4174C5.8273 12.4174 4.4473 10.7824 4.4473 8.42738V1.69238H6.6223V8.26238C6.6223 9.56738 7.4023 10.3474 8.6473 10.3474C9.8923 10.3474 10.6573 9.56738 10.6573 8.26238V1.69238Z"
|
|
10
|
+
fill={color}
|
|
11
|
+
/>
|
|
12
|
+
<Path
|
|
13
|
+
d="M2.15088 15.1924H15.1509"
|
|
14
|
+
stroke={color}
|
|
15
|
+
stroke-width="1.2"
|
|
16
|
+
stroke-linecap="square"
|
|
17
|
+
/>
|
|
18
|
+
</Svg>
|
|
19
|
+
)
|
|
20
|
+
}
|
|
@@ -4,7 +4,6 @@ import GB from './localization/gb.json'
|
|
|
4
4
|
import SW from './localization/sw.json'
|
|
5
5
|
import CA from './localization/ca.json'
|
|
6
6
|
import SCT from './localization/sct.json'
|
|
7
|
-
import DE from './localization/de.json'
|
|
8
7
|
|
|
9
8
|
export const LOCALIZATION_CONFIGS = {
|
|
10
9
|
[Locale.EN]: EN,
|
|
@@ -12,5 +11,4 @@ export const LOCALIZATION_CONFIGS = {
|
|
|
12
11
|
[Locale.SW]: SW,
|
|
13
12
|
[Locale.CA]: CA,
|
|
14
13
|
[Locale.SCT]: SCT,
|
|
15
|
-
[Locale.DE]: DE,
|
|
16
14
|
}
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"teacherFeedback.noComments": "No comments yet",
|
|
4
4
|
"time.justNow": "just now",
|
|
5
5
|
"time.minuteAgo": "minute ago",
|
|
6
|
-
"time.minutesAgo": "
|
|
6
|
+
"time.minutesAgo": "minutes ago",
|
|
7
7
|
"time.hourAgo": "hour ago",
|
|
8
|
-
"time.hoursAgo": "
|
|
8
|
+
"time.hoursAgo": "hours ago",
|
|
9
9
|
"time.dayAgo": "day ago",
|
|
10
|
-
"time.daysAgo": "
|
|
10
|
+
"time.daysAgo": "days ago",
|
|
11
11
|
"time.monthAgo": "month ago",
|
|
12
|
-
"time.monthsAgo": "
|
|
12
|
+
"time.monthsAgo": "months ago",
|
|
13
13
|
"time.yearAgo": "year ago",
|
|
14
|
-
"time.yearsAgo": "
|
|
14
|
+
"time.yearsAgo": "years ago",
|
|
15
15
|
"chat": {
|
|
16
16
|
"anotherHint": "Give me another hint",
|
|
17
17
|
"giveHint": "I need a hint",
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"teacherFeedback.noComments": "No comments yet",
|
|
4
4
|
"time.justNow": "just now",
|
|
5
5
|
"time.minuteAgo": "minute ago",
|
|
6
|
-
"time.minutesAgo": "
|
|
6
|
+
"time.minutesAgo": "minutes ago",
|
|
7
7
|
"time.hourAgo": "hour ago",
|
|
8
|
-
"time.hoursAgo": "
|
|
8
|
+
"time.hoursAgo": "hours ago",
|
|
9
9
|
"time.dayAgo": "day ago",
|
|
10
|
-
"time.daysAgo": "
|
|
10
|
+
"time.daysAgo": "days ago",
|
|
11
11
|
"time.monthAgo": "month ago",
|
|
12
|
-
"time.monthsAgo": "
|
|
12
|
+
"time.monthsAgo": "months ago",
|
|
13
13
|
"time.yearAgo": "year ago",
|
|
14
|
-
"time.yearsAgo": "
|
|
14
|
+
"time.yearsAgo": "years ago",
|
|
15
15
|
"chat": {
|
|
16
16
|
"anotherHint": "Give me another hint",
|
|
17
17
|
"giveHint": "I need a hint",
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"teacherFeedback.noComments": "No comments yet",
|
|
4
4
|
"time.justNow": "just now",
|
|
5
5
|
"time.minuteAgo": "minute ago",
|
|
6
|
-
"time.minutesAgo": "
|
|
6
|
+
"time.minutesAgo": "minutes ago",
|
|
7
7
|
"time.hourAgo": "hour ago",
|
|
8
|
-
"time.hoursAgo": "
|
|
8
|
+
"time.hoursAgo": "hours ago",
|
|
9
9
|
"time.dayAgo": "day ago",
|
|
10
|
-
"time.daysAgo": "
|
|
10
|
+
"time.daysAgo": "days ago",
|
|
11
11
|
"time.monthAgo": "month ago",
|
|
12
|
-
"time.monthsAgo": "
|
|
12
|
+
"time.monthsAgo": "months ago",
|
|
13
13
|
"time.yearAgo": "year ago",
|
|
14
|
-
"time.yearsAgo": "
|
|
14
|
+
"time.yearsAgo": "years ago",
|
|
15
15
|
"chat": {
|
|
16
16
|
"anotherHint": "Give me another hint",
|
|
17
17
|
"giveHint": "I need a hint",
|