@magmamath/students-features 0.9.105 → 0.9.106-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/.idea/workspace.xml +49 -46
  2. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +2 -2
  3. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  4. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  5. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  6. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -2
  7. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  8. package/dist/commonjs/features/keyboard/components/Keyboard.js +2 -2
  9. package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
  10. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js +1 -6
  11. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
  12. package/dist/commonjs/features/keyboard/constants/constants.js +1 -1
  13. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js +19 -3
  14. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  15. package/dist/commonjs/features/keyboard/helpers.js +7 -0
  16. package/dist/commonjs/features/keyboard/helpers.js.map +1 -1
  17. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +1 -1
  18. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  19. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +3 -3
  20. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  21. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  22. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  23. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -2
  24. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  25. package/dist/module/features/keyboard/components/Keyboard.js +2 -2
  26. package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
  27. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js +2 -7
  28. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
  29. package/dist/module/features/keyboard/constants/constants.js +1 -1
  30. package/dist/module/features/keyboard/constants/keyboardLayouts.js +18 -3
  31. package/dist/module/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  32. package/dist/module/features/keyboard/helpers.js +5 -0
  33. package/dist/module/features/keyboard/helpers.js.map +1 -1
  34. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +1 -1
  35. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  36. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  37. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  38. package/dist/typescript/commonjs/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
  39. package/dist/typescript/commonjs/features/keyboard/constants/constants.d.ts +1 -1
  40. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +4 -0
  41. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  42. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts +1 -0
  43. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts.map +1 -1
  44. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  45. package/dist/typescript/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  46. package/dist/typescript/module/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
  47. package/dist/typescript/module/features/keyboard/constants/constants.d.ts +1 -1
  48. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +4 -0
  49. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  50. package/dist/typescript/module/features/keyboard/helpers.d.ts +1 -0
  51. package/dist/typescript/module/features/keyboard/helpers.d.ts.map +1 -1
  52. package/package.json +1 -1
  53. package/src/features/keyboard/components/AlgebraLayout/AlgebraLayout.tsx +4 -3
  54. package/src/features/keyboard/components/BasicLayout/BasicLayout.tsx +2 -2
  55. package/src/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.tsx +3 -2
  56. package/src/features/keyboard/components/Keyboard.tsx +2 -2
  57. package/src/features/keyboard/components/MainLayout/MainLayout.tsx +2 -6
  58. package/src/features/keyboard/constants/constants.ts +1 -1
  59. package/src/features/keyboard/constants/keyboardLayouts.ts +17 -0
  60. package/src/features/keyboard/helpers.ts +6 -0
  61. package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +1 -1
@@ -1,10 +1,9 @@
1
1
  import React, { useEffect, useMemo, useRef, useState, useCallback } from 'react'
2
- import { Animated, StyleSheet, useWindowDimensions, View } from 'react-native'
2
+ import { Animated, StyleSheet, View } from 'react-native'
3
3
  import { SelectOptionColor, IS_MOBILE, IS_WEB } from '@magmamath/react-native-ui'
4
4
  import { getLayoutByCharType, isBasicPlusPlusLayout } from '../../constants/keyboardLayouts'
5
5
  import { KeyboardKey, KeyboardKeyValue } from '../../types/types'
6
6
  import { UnderlinedLayout } from '../UnderlinedLayout/UnderlinedLayout'
7
- import { MOBILE_LAYOUT_WIDTH } from '../../constants/constants'
8
7
 
9
8
  type LayoutProps = {
10
9
  onKeyPress: (key: KeyboardKeyValue) => void
@@ -27,11 +26,8 @@ export const MainLayout = ({
27
26
  const fadeAnim = useRef(new Animated.Value(showUnderlinedKeys ? 1 : 0)).current
28
27
  const fadeRef = useRef<Animated.CompositeAnimation | null>(null)
29
28
 
30
- const { width } = useWindowDimensions()
31
- const isMobile = width <= MOBILE_LAYOUT_WIDTH || IS_MOBILE
32
-
33
29
  const Layout = useMemo(() => getLayoutByCharType(characterType), [characterType])
34
- const isUnderlinedLayoutVisible = isUnderlinedVisible && !isSecondaryLayoutSelected && !isMobile
30
+ const isUnderlinedLayoutVisible = isUnderlinedVisible && !isSecondaryLayoutSelected && !IS_MOBILE
35
31
 
36
32
  const animateFade = useCallback(
37
33
  (toValue: number, onComplete?: () => void) => {
@@ -5,4 +5,4 @@ export const DEFAULT_KEY_ICON_PROPS = {
5
5
  color: COLORS.NEUTRAL_9,
6
6
  } as const
7
7
 
8
- export const MOBILE_LAYOUT_WIDTH = 1280
8
+ export const MOBILE_LAYOUT_WIDTH = 1200
@@ -7,6 +7,7 @@ import { CurrencyBasicLayout } from '../components/BasicLayout/CurrencyBasicLayo
7
7
  import { UnitsLayout } from '../components/UnitsLayout/UnitsLayout'
8
8
  import { BasicPlusPlusLayout } from '../components/BasicPlusPlusLayout/BasicPlusPlusLayout'
9
9
  import { MyScriptMathCharacterTypes } from '../../../types/characterTypes'
10
+ import { MOBILE_LAYOUT_WIDTH } from './constants'
10
11
 
11
12
  export const KEYBOARD_LAYOUTS = {
12
13
  [KeyboardType.AlgebraAdvanced]: {
@@ -18,10 +19,12 @@ export const KEYBOARD_LAYOUTS = {
18
19
  MyScriptMathCharacterTypes.ALGEBRA_GREEK,
19
20
  MyScriptMathCharacterTypes.GENERAL_MATH,
20
21
  ],
22
+ mobileBreakpoint: 1300,
21
23
  },
22
24
  [KeyboardType.Basic]: {
23
25
  Component: BasicLayout,
24
26
  characterTypes: [MyScriptMathCharacterTypes.NUMBERS_WHOLE],
27
+ mobileBreakpoint: 990,
25
28
  },
26
29
  [KeyboardType.BasicPlus]: {
27
30
  Component: BasicPlusLayout,
@@ -56,6 +59,7 @@ export const KEYBOARD_LAYOUTS = {
56
59
  MyScriptMathCharacterTypes.GEOM_ANGLES,
57
60
  MyScriptMathCharacterTypes.GEOM_COORDINATE,
58
61
  ],
62
+ mobileBreakpoint: 1220,
59
63
  },
60
64
  }
61
65
 
@@ -72,6 +76,19 @@ export function getLayoutByCharType(charType?: number) {
72
76
  return AlgebraLayout
73
77
  }
74
78
 
79
+ export function getMobileBreakpointByCharType(charType?: number) {
80
+ if (!charType) {
81
+ return KEYBOARD_LAYOUTS[KeyboardType.AlgebraAdvanced].mobileBreakpoint
82
+ }
83
+
84
+ for (const layout of Object.values(KEYBOARD_LAYOUTS)) {
85
+ if (layout.characterTypes.includes(charType)) {
86
+ return 'mobileBreakpoint' in layout ? layout.mobileBreakpoint : MOBILE_LAYOUT_WIDTH
87
+ }
88
+ }
89
+ return KEYBOARD_LAYOUTS[KeyboardType.AlgebraAdvanced].mobileBreakpoint
90
+ }
91
+
75
92
  export function isBasicPlusPlusLayout(charType?: number) {
76
93
  if (!charType) {
77
94
  return true
@@ -3,6 +3,7 @@ import { KeyboardGroup, KeyboardType } from './types/types'
3
3
  import { Locale } from '../../shared/translation/types'
4
4
  import { MATH_ENTRY_ALGEBRA_KEYBOARD_GROUP } from './components/AlgebraLayout/keyboardGroups'
5
5
  import { IS_WEB } from '@magmamath/react-native-ui'
6
+ import { getMobileBreakpointByCharType } from './constants/keyboardLayouts'
6
7
 
7
8
  export function getKeyboardGroup(locale: Locale, type: KeyboardType): KeyboardGroup {
8
9
  return KEYBOARD_GROUPS_BY_LOCALE[locale]?.[type] ?? MATH_ENTRY_ALGEBRA_KEYBOARD_GROUP
@@ -16,3 +17,8 @@ export const getIsIpadOrIphoneDevice = () => {
16
17
  const isIpadOS = navigator?.maxTouchPoints > 2 && /MacIntel/.test(navigator.platform)
17
18
  return isIOS || isIpadOS
18
19
  }
20
+
21
+ export const isMobileWidth = (width: number, characterType?: number) => {
22
+ const layoutWidth = getMobileBreakpointByCharType(characterType)
23
+ return width <= layoutWidth
24
+ }
@@ -112,7 +112,7 @@ export const MATH_BASIC_OPERATORS = createMathKeysGroup({
112
112
  },
113
113
  COMMA: {
114
114
  icon: <CommaIcon {...DEFAULT_KEY_ICON_PROPS} size={22} />,
115
- mathliveValue: ',',
115
+ mathliveValue: '{,}',
116
116
  katexValue: ',',
117
117
  },
118
118
  COLON: {