@magmamath/students-features 1.6.2 → 1.6.3-rc.1

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 (24) hide show
  1. package/dist/commonjs/features/keyboard/components/Keyboard.js +1 -1
  2. package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
  3. package/dist/commonjs/features/keyboard/constants/keyboard.helpers.js +67 -46
  4. package/dist/commonjs/features/keyboard/constants/keyboard.helpers.js.map +1 -1
  5. package/dist/module/features/keyboard/components/Keyboard.js +1 -1
  6. package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
  7. package/dist/module/features/keyboard/constants/keyboard.helpers.js +28 -7
  8. package/dist/module/features/keyboard/constants/keyboard.helpers.js.map +1 -1
  9. package/dist/typescript/commonjs/features/keyboard/__tests__/keyboard.helpers.test.d.ts +2 -0
  10. package/dist/typescript/commonjs/features/keyboard/__tests__/keyboard.helpers.test.d.ts.map +1 -0
  11. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts +2 -1
  12. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
  13. package/dist/typescript/commonjs/features/keyboard/constants/keyboard.helpers.d.ts +2 -2
  14. package/dist/typescript/commonjs/features/keyboard/constants/keyboard.helpers.d.ts.map +1 -1
  15. package/dist/typescript/module/features/keyboard/__tests__/keyboard.helpers.test.d.ts +2 -0
  16. package/dist/typescript/module/features/keyboard/__tests__/keyboard.helpers.test.d.ts.map +1 -0
  17. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts +2 -1
  18. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
  19. package/dist/typescript/module/features/keyboard/constants/keyboard.helpers.d.ts +2 -2
  20. package/dist/typescript/module/features/keyboard/constants/keyboard.helpers.d.ts.map +1 -1
  21. package/package.json +1 -1
  22. package/src/features/keyboard/__tests__/keyboard.helpers.test.ts +125 -0
  23. package/src/features/keyboard/components/Keyboard.tsx +6 -2
  24. package/src/features/keyboard/constants/keyboard.helpers.ts +41 -6
@@ -22,7 +22,7 @@ const Keyboard = ({
22
22
  isMainLayoutDisabled,
23
23
  ...props
24
24
  }) => {
25
- const resolvedKeys = (0, _react.useMemo)(() => (0, _keyboardHelpers.resolveKeyboard)(props.keys), [props.keys]);
25
+ const resolvedKeys = (0, _react.useMemo)(() => (0, _keyboardHelpers.resolveKeyboard)(props.keys, props.multiplicationSymbol), [props.keys, props.multiplicationSymbol]);
26
26
  const slideAnim = (0, _react.useRef)(new _reactNative.Animated.Value(_constants.KEYBOARD_SLIDE_DISTANCE)).current;
27
27
  const {
28
28
  width
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_Numpad","_MainLayout","_constants","_helpers","_keyboardHelpers","_studentsQa","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Keyboard","style","characterType","isMainLayoutDisabled","props","resolvedKeys","useMemo","resolveKeyboard","keys","slideAnim","useRef","Animated","Value","KEYBOARD_SLIDE_DISTANCE","current","width","useWindowDimensions","isMobile","IS_MOBILE","isMobileWidth","mobileStyles","getLayoutConfigStyles","useEffect","anim","spring","slideInAnimationSettings","mass","velocity","useNativeDriver","IS_WEB","start","stop","jsxs","View","testID","TEST_IDS","KEYBOARD","styles","container","transform","translateY","children","jsx","MainLayout","isDisabled","Numpad","exports","StyleSheet","create","flexDirection","justifyContent","backgroundColor","COLORS","NEUTRAL_2","borderRadius","paddingTop","paddingHorizontal","paddingBottom","borderColor","NEUTRAL_5","borderWidth","height","SHADOWS"],"sourceRoot":"../../../../../src","sources":["features/keyboard/components/Keyboard.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_Numpad","_MainLayout","_constants","_helpers","_keyboardHelpers","_studentsQa","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Keyboard","style","characterType","isMainLayoutDisabled","props","resolvedKeys","useMemo","resolveKeyboard","keys","multiplicationSymbol","slideAnim","useRef","Animated","Value","KEYBOARD_SLIDE_DISTANCE","current","width","useWindowDimensions","isMobile","IS_MOBILE","isMobileWidth","mobileStyles","getLayoutConfigStyles","useEffect","anim","spring","slideInAnimationSettings","mass","velocity","useNativeDriver","IS_WEB","start","stop","jsxs","View","testID","TEST_IDS","KEYBOARD","styles","container","transform","translateY","children","jsx","MainLayout","isDisabled","Numpad","exports","StyleSheet","create","flexDirection","justifyContent","backgroundColor","COLORS","NEUTRAL_2","borderRadius","paddingTop","paddingHorizontal","paddingBottom","borderColor","NEUTRAL_5","borderWidth","height","SHADOWS"],"sourceRoot":"../../../../../src","sources":["features/keyboard/components/Keyboard.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,58 +6,59 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.resolveKeyboard = void 0;
7
7
  var _frontendConfig = require("@magmamath/frontend-config");
8
8
  var _types = require("../types/types.js");
9
- var _index = require("./groups/index.js");
9
+ var _index = require("./keys/index.js");
10
+ var _index2 = require("./groups/index.js");
10
11
  const PRESET_DOT_MIXED = {
11
12
  operators: {
12
- [_types.KeyboardType.Basic]: _index.KEYBOARD_BASIC.DOT,
13
- [_types.KeyboardType.BasicPlus]: _index.KEYBOARD_BASIC_PLUS.DOT,
14
- [_types.KeyboardType.BasicPlusMobile]: _index.KEYBOARD_BASIC_PLUS.MOBILE_DOT,
15
- [_types.KeyboardType.BasicPlusPlus]: _index.KEYBOARD_BASIC_PLUS_PLUS.DOT,
16
- [_types.KeyboardType.BasicPlusPlusMobile]: _index.KEYBOARD_BASIC_PLUS_PLUS.MOBILE_DOT,
13
+ [_types.KeyboardType.Basic]: _index2.KEYBOARD_BASIC.DOT,
14
+ [_types.KeyboardType.BasicPlus]: _index2.KEYBOARD_BASIC_PLUS.DOT,
15
+ [_types.KeyboardType.BasicPlusMobile]: _index2.KEYBOARD_BASIC_PLUS.MOBILE_DOT,
16
+ [_types.KeyboardType.BasicPlusPlus]: _index2.KEYBOARD_BASIC_PLUS_PLUS.DOT,
17
+ [_types.KeyboardType.BasicPlusPlusMobile]: _index2.KEYBOARD_BASIC_PLUS_PLUS.MOBILE_DOT,
17
18
  [_types.KeyboardType.BasicUnits]: {
18
- keys: _index.KEYBOARD_LENGTH.MIXED.keys[0]
19
+ keys: _index2.KEYBOARD_LENGTH.MIXED.keys[0]
19
20
  },
20
- [_types.KeyboardType.AlgebraAdvanced]: _index.KEYBOARD_ALGEBRA,
21
- [_types.KeyboardType.Geometry]: _index.KEYBOARD_GEOMETRY,
22
- [_types.KeyboardType.Numpad]: _index.KEYBOARD_NUMPAD.DOT,
23
- [_types.KeyboardType.Underlined]: _index.KEYBOARD_UNDERLINED
21
+ [_types.KeyboardType.AlgebraAdvanced]: _index2.KEYBOARD_ALGEBRA,
22
+ [_types.KeyboardType.Geometry]: _index2.KEYBOARD_GEOMETRY,
23
+ [_types.KeyboardType.Numpad]: _index2.KEYBOARD_NUMPAD.DOT,
24
+ [_types.KeyboardType.Underlined]: _index2.KEYBOARD_UNDERLINED
24
25
  },
25
26
  units: {
26
- [_types.KeyboardUnitsGroupType.LENGTH]: _index.KEYBOARD_LENGTH.MIXED,
27
- [_types.KeyboardUnitsGroupType.AREA]: _index.KEYBOARD_AREA.MIXED,
28
- [_types.KeyboardUnitsGroupType.VOLUME]: _index.KEYBOARD_VOLUME.MIXED,
29
- [_types.KeyboardUnitsGroupType.WEIGHT]: _index.KEYBOARD_WEIGHT.MIXED,
30
- [_types.KeyboardUnitsGroupType.TIME]: _index.KEYBOARD_TIME_UNITS.DEFAULT
27
+ [_types.KeyboardUnitsGroupType.LENGTH]: _index2.KEYBOARD_LENGTH.MIXED,
28
+ [_types.KeyboardUnitsGroupType.AREA]: _index2.KEYBOARD_AREA.MIXED,
29
+ [_types.KeyboardUnitsGroupType.VOLUME]: _index2.KEYBOARD_VOLUME.MIXED,
30
+ [_types.KeyboardUnitsGroupType.WEIGHT]: _index2.KEYBOARD_WEIGHT.MIXED,
31
+ [_types.KeyboardUnitsGroupType.TIME]: _index2.KEYBOARD_TIME_UNITS.DEFAULT
31
32
  }
32
33
  };
33
34
  const PRESET_COMMA_METRIC = {
34
35
  operators: {
35
- [_types.KeyboardType.Basic]: _index.KEYBOARD_BASIC.COMMA,
36
- [_types.KeyboardType.BasicPlus]: _index.KEYBOARD_BASIC_PLUS.COMMA,
37
- [_types.KeyboardType.BasicPlusMobile]: _index.KEYBOARD_BASIC_PLUS.MOBILE_COMMA,
38
- [_types.KeyboardType.BasicPlusPlus]: _index.KEYBOARD_BASIC_PLUS_PLUS.COMMA,
39
- [_types.KeyboardType.BasicPlusPlusMobile]: _index.KEYBOARD_BASIC_PLUS_PLUS.MOBILE_COMMA,
36
+ [_types.KeyboardType.Basic]: _index2.KEYBOARD_BASIC.COMMA,
37
+ [_types.KeyboardType.BasicPlus]: _index2.KEYBOARD_BASIC_PLUS.COMMA,
38
+ [_types.KeyboardType.BasicPlusMobile]: _index2.KEYBOARD_BASIC_PLUS.MOBILE_COMMA,
39
+ [_types.KeyboardType.BasicPlusPlus]: _index2.KEYBOARD_BASIC_PLUS_PLUS.COMMA,
40
+ [_types.KeyboardType.BasicPlusPlusMobile]: _index2.KEYBOARD_BASIC_PLUS_PLUS.MOBILE_COMMA,
40
41
  [_types.KeyboardType.BasicUnits]: {
41
- keys: _index.KEYBOARD_LENGTH.METRIC.keys[0]
42
+ keys: _index2.KEYBOARD_LENGTH.METRIC.keys[0]
42
43
  },
43
- [_types.KeyboardType.AlgebraAdvanced]: _index.KEYBOARD_ALGEBRA,
44
- [_types.KeyboardType.Geometry]: _index.KEYBOARD_GEOMETRY,
45
- [_types.KeyboardType.Numpad]: _index.KEYBOARD_NUMPAD.COMMA,
46
- [_types.KeyboardType.Underlined]: _index.KEYBOARD_UNDERLINED
44
+ [_types.KeyboardType.AlgebraAdvanced]: _index2.KEYBOARD_ALGEBRA,
45
+ [_types.KeyboardType.Geometry]: _index2.KEYBOARD_GEOMETRY,
46
+ [_types.KeyboardType.Numpad]: _index2.KEYBOARD_NUMPAD.COMMA,
47
+ [_types.KeyboardType.Underlined]: _index2.KEYBOARD_UNDERLINED
47
48
  },
48
49
  units: {
49
- [_types.KeyboardUnitsGroupType.LENGTH]: _index.KEYBOARD_LENGTH.METRIC,
50
- [_types.KeyboardUnitsGroupType.AREA]: _index.KEYBOARD_AREA.METRIC,
51
- [_types.KeyboardUnitsGroupType.VOLUME]: _index.KEYBOARD_VOLUME.METRIC,
52
- [_types.KeyboardUnitsGroupType.WEIGHT]: _index.KEYBOARD_WEIGHT.METRIC,
53
- [_types.KeyboardUnitsGroupType.TIME]: _index.KEYBOARD_TIME_UNITS.DEFAULT
50
+ [_types.KeyboardUnitsGroupType.LENGTH]: _index2.KEYBOARD_LENGTH.METRIC,
51
+ [_types.KeyboardUnitsGroupType.AREA]: _index2.KEYBOARD_AREA.METRIC,
52
+ [_types.KeyboardUnitsGroupType.VOLUME]: _index2.KEYBOARD_VOLUME.METRIC,
53
+ [_types.KeyboardUnitsGroupType.WEIGHT]: _index2.KEYBOARD_WEIGHT.METRIC,
54
+ [_types.KeyboardUnitsGroupType.TIME]: _index2.KEYBOARD_TIME_UNITS.DEFAULT
54
55
  }
55
56
  };
56
57
  const PRESET_DOT_MIXED_ALT = {
57
58
  operators: PRESET_DOT_MIXED.operators,
58
59
  units: {
59
60
  ...PRESET_DOT_MIXED.units,
60
- [_types.KeyboardUnitsGroupType.VOLUME]: _index.KEYBOARD_VOLUME.MIXED_ALT
61
+ [_types.KeyboardUnitsGroupType.VOLUME]: _index2.KEYBOARD_VOLUME.MIXED_ALT
61
62
  }
62
63
  };
63
64
  const PRESET_MAP = {
@@ -66,25 +67,45 @@ const PRESET_MAP = {
66
67
  [_frontendConfig.KeyboardPreset.COMMA_METRIC]: PRESET_COMMA_METRIC
67
68
  };
68
69
  const CURRENCY_MAP = {
69
- [_frontendConfig.KeyboardCurrencyVariant.DOLLAR_CENT]: _index.KEYBOARD_CURRENCY.DOLLAR_CENT,
70
- [_frontendConfig.KeyboardCurrencyVariant.POUND_PENCE]: _index.KEYBOARD_CURRENCY.POUND_PENCE,
71
- [_frontendConfig.KeyboardCurrencyVariant.KRONE_EURO_POUND]: _index.KEYBOARD_CURRENCY.KRONE_EURO_POUND,
72
- [_frontendConfig.KeyboardCurrencyVariant.EURO_DOLLAR_POUND]: _index.KEYBOARD_CURRENCY.EURO_DOLLAR_POUND,
73
- [_frontendConfig.KeyboardCurrencyVariant.ZLOTY_GROSZ]: _index.KEYBOARD_CURRENCY.ZLOTY_GROSZ,
74
- [_frontendConfig.KeyboardCurrencyVariant.FRANC_RAPPEN]: _index.KEYBOARD_CURRENCY.FRANC_RAPPEN
70
+ [_frontendConfig.KeyboardCurrencyVariant.DOLLAR_CENT]: _index2.KEYBOARD_CURRENCY.DOLLAR_CENT,
71
+ [_frontendConfig.KeyboardCurrencyVariant.POUND_PENCE]: _index2.KEYBOARD_CURRENCY.POUND_PENCE,
72
+ [_frontendConfig.KeyboardCurrencyVariant.KRONE_EURO_POUND]: _index2.KEYBOARD_CURRENCY.KRONE_EURO_POUND,
73
+ [_frontendConfig.KeyboardCurrencyVariant.EURO_DOLLAR_POUND]: _index2.KEYBOARD_CURRENCY.EURO_DOLLAR_POUND,
74
+ [_frontendConfig.KeyboardCurrencyVariant.ZLOTY_GROSZ]: _index2.KEYBOARD_CURRENCY.ZLOTY_GROSZ,
75
+ [_frontendConfig.KeyboardCurrencyVariant.FRANC_RAPPEN]: _index2.KEYBOARD_CURRENCY.FRANC_RAPPEN
75
76
  };
76
77
  const TIME_MAP = {
77
- [_frontendConfig.KeyboardTimeVariant.H12]: _index.KEYBOARD_TIME.H12,
78
- [_frontendConfig.KeyboardTimeVariant.H24]: _index.KEYBOARD_TIME.H24
78
+ [_frontendConfig.KeyboardTimeVariant.H12]: _index2.KEYBOARD_TIME.H12,
79
+ [_frontendConfig.KeyboardTimeVariant.H24]: _index2.KEYBOARD_TIME.H24
79
80
  };
80
- const resolveKeyboard = config => {
81
+ const MULTIPLICATION_KEYS = {
82
+ [_frontendConfig.MultiplicationSymbol.TIMES]: _index.MATH_BASIC_OPERATORS.MULTIPLICATION,
83
+ [_frontendConfig.MultiplicationSymbol.CDOT]: _index.MATH_BASIC_OPERATORS.C_DOT
84
+ };
85
+ const isMultiplicationKey = key => key === _index.MATH_BASIC_OPERATORS.MULTIPLICATION || key === _index.MATH_BASIC_OPERATORS.C_DOT;
86
+ const applyMultiplicationSymbol = (operators, symbol) => {
87
+ const multiplicationKey = MULTIPLICATION_KEYS[symbol];
88
+ const result = {
89
+ ...operators
90
+ };
91
+ Object.values(_types.KeyboardType).forEach(type => {
92
+ const group = result[type];
93
+ result[type] = {
94
+ ...group,
95
+ keys: group.keys.map(key => isMultiplicationKey(key) ? multiplicationKey : key)
96
+ };
97
+ });
98
+ return result;
99
+ };
100
+ const resolveKeyboard = (config, multiplicationSymbol) => {
81
101
  const preset = PRESET_MAP[config.preset];
102
+ const operators = {
103
+ ...preset.operators,
104
+ [_types.KeyboardType.BasicCurrency]: CURRENCY_MAP[config.currencyVariant],
105
+ [_types.KeyboardType.BasicTime]: TIME_MAP[config.timeVariant]
106
+ };
82
107
  return {
83
- operators: {
84
- ...preset.operators,
85
- [_types.KeyboardType.BasicCurrency]: CURRENCY_MAP[config.currencyVariant],
86
- [_types.KeyboardType.BasicTime]: TIME_MAP[config.timeVariant]
87
- },
108
+ operators: multiplicationSymbol ? applyMultiplicationSymbol(operators, multiplicationSymbol) : operators,
88
109
  units: preset.units
89
110
  };
90
111
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_frontendConfig","require","_types","_index","PRESET_DOT_MIXED","operators","KeyboardType","Basic","KEYBOARD_BASIC","DOT","BasicPlus","KEYBOARD_BASIC_PLUS","BasicPlusMobile","MOBILE_DOT","BasicPlusPlus","KEYBOARD_BASIC_PLUS_PLUS","BasicPlusPlusMobile","BasicUnits","keys","KEYBOARD_LENGTH","MIXED","AlgebraAdvanced","KEYBOARD_ALGEBRA","Geometry","KEYBOARD_GEOMETRY","Numpad","KEYBOARD_NUMPAD","Underlined","KEYBOARD_UNDERLINED","units","KeyboardUnitsGroupType","LENGTH","AREA","KEYBOARD_AREA","VOLUME","KEYBOARD_VOLUME","WEIGHT","KEYBOARD_WEIGHT","TIME","KEYBOARD_TIME_UNITS","DEFAULT","PRESET_COMMA_METRIC","COMMA","MOBILE_COMMA","METRIC","PRESET_DOT_MIXED_ALT","MIXED_ALT","PRESET_MAP","KeyboardPreset","DOT_MIXED","DOT_MIXED_ALT","COMMA_METRIC","CURRENCY_MAP","KeyboardCurrencyVariant","DOLLAR_CENT","KEYBOARD_CURRENCY","POUND_PENCE","KRONE_EURO_POUND","EURO_DOLLAR_POUND","ZLOTY_GROSZ","FRANC_RAPPEN","TIME_MAP","KeyboardTimeVariant","H12","KEYBOARD_TIME","H24","resolveKeyboard","config","preset","BasicCurrency","currencyVariant","BasicTime","timeVariant","exports"],"sourceRoot":"../../../../../src","sources":["features/keyboard/constants/keyboard.helpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_frontendConfig","require","_types","_index","_index2","PRESET_DOT_MIXED","operators","KeyboardType","Basic","KEYBOARD_BASIC","DOT","BasicPlus","KEYBOARD_BASIC_PLUS","BasicPlusMobile","MOBILE_DOT","BasicPlusPlus","KEYBOARD_BASIC_PLUS_PLUS","BasicPlusPlusMobile","BasicUnits","keys","KEYBOARD_LENGTH","MIXED","AlgebraAdvanced","KEYBOARD_ALGEBRA","Geometry","KEYBOARD_GEOMETRY","Numpad","KEYBOARD_NUMPAD","Underlined","KEYBOARD_UNDERLINED","units","KeyboardUnitsGroupType","LENGTH","AREA","KEYBOARD_AREA","VOLUME","KEYBOARD_VOLUME","WEIGHT","KEYBOARD_WEIGHT","TIME","KEYBOARD_TIME_UNITS","DEFAULT","PRESET_COMMA_METRIC","COMMA","MOBILE_COMMA","METRIC","PRESET_DOT_MIXED_ALT","MIXED_ALT","PRESET_MAP","KeyboardPreset","DOT_MIXED","DOT_MIXED_ALT","COMMA_METRIC","CURRENCY_MAP","KeyboardCurrencyVariant","DOLLAR_CENT","KEYBOARD_CURRENCY","POUND_PENCE","KRONE_EURO_POUND","EURO_DOLLAR_POUND","ZLOTY_GROSZ","FRANC_RAPPEN","TIME_MAP","KeyboardTimeVariant","H12","KEYBOARD_TIME","H24","MULTIPLICATION_KEYS","MultiplicationSymbol","TIMES","MATH_BASIC_OPERATORS","MULTIPLICATION","CDOT","C_DOT","isMultiplicationKey","key","applyMultiplicationSymbol","symbol","multiplicationKey","result","Object","values","forEach","type","group","map","resolveKeyboard","config","multiplicationSymbol","preset","BasicCurrency","currencyVariant","BasicTime","timeVariant","exports"],"sourceRoot":"../../../../../src","sources":["features/keyboard/constants/keyboard.helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const Keyboard = ({
16
16
  isMainLayoutDisabled,
17
17
  ...props
18
18
  }) => {
19
- const resolvedKeys = useMemo(() => resolveKeyboard(props.keys), [props.keys]);
19
+ const resolvedKeys = useMemo(() => resolveKeyboard(props.keys, props.multiplicationSymbol), [props.keys, props.multiplicationSymbol]);
20
20
  const slideAnim = useRef(new Animated.Value(KEYBOARD_SLIDE_DISTANCE)).current;
21
21
  const {
22
22
  width
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useRef","Animated","StyleSheet","useWindowDimensions","COLORS","IS_MOBILE","IS_WEB","SHADOWS","Numpad","MainLayout","getLayoutConfigStyles","KEYBOARD_SLIDE_DISTANCE","slideInAnimationSettings","isMobileWidth","resolveKeyboard","TEST_IDS","jsx","_jsx","jsxs","_jsxs","Keyboard","style","characterType","isMainLayoutDisabled","props","resolvedKeys","keys","slideAnim","Value","current","width","isMobile","mobileStyles","anim","spring","mass","velocity","useNativeDriver","start","stop","View","testID","KEYBOARD","styles","container","transform","translateY","children","isDisabled","create","flexDirection","justifyContent","backgroundColor","NEUTRAL_2","borderRadius","paddingTop","paddingHorizontal","paddingBottom","borderColor","NEUTRAL_5","borderWidth","height"],"sourceRoot":"../../../../../src","sources":["features/keyboard/components/Keyboard.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","useRef","Animated","StyleSheet","useWindowDimensions","COLORS","IS_MOBILE","IS_WEB","SHADOWS","Numpad","MainLayout","getLayoutConfigStyles","KEYBOARD_SLIDE_DISTANCE","slideInAnimationSettings","isMobileWidth","resolveKeyboard","TEST_IDS","jsx","_jsx","jsxs","_jsxs","Keyboard","style","characterType","isMainLayoutDisabled","props","resolvedKeys","keys","multiplicationSymbol","slideAnim","Value","current","width","isMobile","mobileStyles","anim","spring","mass","velocity","useNativeDriver","start","stop","View","testID","KEYBOARD","styles","container","transform","translateY","children","isDisabled","create","flexDirection","justifyContent","backgroundColor","NEUTRAL_2","borderRadius","paddingTop","paddingHorizontal","paddingBottom","borderColor","NEUTRAL_5","borderWidth","height"],"sourceRoot":"../../../../../src","sources":["features/keyboard/components/Keyboard.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { KeyboardCurrencyVariant, KeyboardPreset, KeyboardTimeVariant } from '@magmamath/frontend-config';
3
+ import { KeyboardCurrencyVariant, KeyboardPreset, KeyboardTimeVariant, MultiplicationSymbol } from '@magmamath/frontend-config';
4
4
  import { KeyboardType, KeyboardUnitsGroupType } from "../types/types.js";
5
+ import { MATH_BASIC_OPERATORS } from "./keys/index.js";
5
6
  import { KEYBOARD_ALGEBRA, KEYBOARD_AREA, KEYBOARD_BASIC, KEYBOARD_BASIC_PLUS, KEYBOARD_BASIC_PLUS_PLUS, KEYBOARD_CURRENCY, KEYBOARD_GEOMETRY, KEYBOARD_LENGTH, KEYBOARD_NUMPAD, KEYBOARD_TIME, KEYBOARD_TIME_UNITS, KEYBOARD_UNDERLINED, KEYBOARD_VOLUME, KEYBOARD_WEIGHT } from "./groups/index.js";
6
7
  const PRESET_DOT_MIXED = {
7
8
  operators: {
@@ -73,14 +74,34 @@ const TIME_MAP = {
73
74
  [KeyboardTimeVariant.H12]: KEYBOARD_TIME.H12,
74
75
  [KeyboardTimeVariant.H24]: KEYBOARD_TIME.H24
75
76
  };
76
- export const resolveKeyboard = config => {
77
+ const MULTIPLICATION_KEYS = {
78
+ [MultiplicationSymbol.TIMES]: MATH_BASIC_OPERATORS.MULTIPLICATION,
79
+ [MultiplicationSymbol.CDOT]: MATH_BASIC_OPERATORS.C_DOT
80
+ };
81
+ const isMultiplicationKey = key => key === MATH_BASIC_OPERATORS.MULTIPLICATION || key === MATH_BASIC_OPERATORS.C_DOT;
82
+ const applyMultiplicationSymbol = (operators, symbol) => {
83
+ const multiplicationKey = MULTIPLICATION_KEYS[symbol];
84
+ const result = {
85
+ ...operators
86
+ };
87
+ Object.values(KeyboardType).forEach(type => {
88
+ const group = result[type];
89
+ result[type] = {
90
+ ...group,
91
+ keys: group.keys.map(key => isMultiplicationKey(key) ? multiplicationKey : key)
92
+ };
93
+ });
94
+ return result;
95
+ };
96
+ export const resolveKeyboard = (config, multiplicationSymbol) => {
77
97
  const preset = PRESET_MAP[config.preset];
98
+ const operators = {
99
+ ...preset.operators,
100
+ [KeyboardType.BasicCurrency]: CURRENCY_MAP[config.currencyVariant],
101
+ [KeyboardType.BasicTime]: TIME_MAP[config.timeVariant]
102
+ };
78
103
  return {
79
- operators: {
80
- ...preset.operators,
81
- [KeyboardType.BasicCurrency]: CURRENCY_MAP[config.currencyVariant],
82
- [KeyboardType.BasicTime]: TIME_MAP[config.timeVariant]
83
- },
104
+ operators: multiplicationSymbol ? applyMultiplicationSymbol(operators, multiplicationSymbol) : operators,
84
105
  units: preset.units
85
106
  };
86
107
  };
@@ -1 +1 @@
1
- {"version":3,"names":["KeyboardCurrencyVariant","KeyboardPreset","KeyboardTimeVariant","KeyboardType","KeyboardUnitsGroupType","KEYBOARD_ALGEBRA","KEYBOARD_AREA","KEYBOARD_BASIC","KEYBOARD_BASIC_PLUS","KEYBOARD_BASIC_PLUS_PLUS","KEYBOARD_CURRENCY","KEYBOARD_GEOMETRY","KEYBOARD_LENGTH","KEYBOARD_NUMPAD","KEYBOARD_TIME","KEYBOARD_TIME_UNITS","KEYBOARD_UNDERLINED","KEYBOARD_VOLUME","KEYBOARD_WEIGHT","PRESET_DOT_MIXED","operators","Basic","DOT","BasicPlus","BasicPlusMobile","MOBILE_DOT","BasicPlusPlus","BasicPlusPlusMobile","BasicUnits","keys","MIXED","AlgebraAdvanced","Geometry","Numpad","Underlined","units","LENGTH","AREA","VOLUME","WEIGHT","TIME","DEFAULT","PRESET_COMMA_METRIC","COMMA","MOBILE_COMMA","METRIC","PRESET_DOT_MIXED_ALT","MIXED_ALT","PRESET_MAP","DOT_MIXED","DOT_MIXED_ALT","COMMA_METRIC","CURRENCY_MAP","DOLLAR_CENT","POUND_PENCE","KRONE_EURO_POUND","EURO_DOLLAR_POUND","ZLOTY_GROSZ","FRANC_RAPPEN","TIME_MAP","H12","H24","resolveKeyboard","config","preset","BasicCurrency","currencyVariant","BasicTime","timeVariant"],"sourceRoot":"../../../../../src","sources":["features/keyboard/constants/keyboard.helpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["KeyboardCurrencyVariant","KeyboardPreset","KeyboardTimeVariant","MultiplicationSymbol","KeyboardType","KeyboardUnitsGroupType","MATH_BASIC_OPERATORS","KEYBOARD_ALGEBRA","KEYBOARD_AREA","KEYBOARD_BASIC","KEYBOARD_BASIC_PLUS","KEYBOARD_BASIC_PLUS_PLUS","KEYBOARD_CURRENCY","KEYBOARD_GEOMETRY","KEYBOARD_LENGTH","KEYBOARD_NUMPAD","KEYBOARD_TIME","KEYBOARD_TIME_UNITS","KEYBOARD_UNDERLINED","KEYBOARD_VOLUME","KEYBOARD_WEIGHT","PRESET_DOT_MIXED","operators","Basic","DOT","BasicPlus","BasicPlusMobile","MOBILE_DOT","BasicPlusPlus","BasicPlusPlusMobile","BasicUnits","keys","MIXED","AlgebraAdvanced","Geometry","Numpad","Underlined","units","LENGTH","AREA","VOLUME","WEIGHT","TIME","DEFAULT","PRESET_COMMA_METRIC","COMMA","MOBILE_COMMA","METRIC","PRESET_DOT_MIXED_ALT","MIXED_ALT","PRESET_MAP","DOT_MIXED","DOT_MIXED_ALT","COMMA_METRIC","CURRENCY_MAP","DOLLAR_CENT","POUND_PENCE","KRONE_EURO_POUND","EURO_DOLLAR_POUND","ZLOTY_GROSZ","FRANC_RAPPEN","TIME_MAP","H12","H24","MULTIPLICATION_KEYS","TIMES","MULTIPLICATION","CDOT","C_DOT","isMultiplicationKey","key","applyMultiplicationSymbol","symbol","multiplicationKey","result","Object","values","forEach","type","group","map","resolveKeyboard","config","multiplicationSymbol","preset","BasicCurrency","currencyVariant","BasicTime","timeVariant"],"sourceRoot":"../../../../../src","sources":["features/keyboard/constants/keyboard.helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=keyboard.helpers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.helpers.test.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/__tests__/keyboard.helpers.test.ts"],"names":[],"mappings":""}
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
2
  import { StyleProp, ViewStyle } from 'react-native';
3
3
  import { SelectOptionColor } from '@magmamath/react-native-ui';
4
- import { KeyboardConfig } from '@magmamath/frontend-config';
4
+ import { KeyboardConfig, MultiplicationSymbol } from '@magmamath/frontend-config';
5
5
  import { KeyboardKey, KeyboardKeyValue } from '../types/types';
6
6
  type KeyboardProps = {
7
7
  onKeyPress: (key: KeyboardKeyValue) => void;
8
8
  keys: KeyboardConfig;
9
+ multiplicationSymbol?: MultiplicationSymbol;
9
10
  characterType?: number;
10
11
  style?: StyleProp<ViewStyle>;
11
12
  color?: SelectOptionColor;
@@ -1 +1 @@
1
- {"version":3,"file":"Keyboard.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/components/Keyboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAA;AACzD,OAAO,EAAY,SAAS,EAAmC,SAAS,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,EAA6B,iBAAiB,EAAW,MAAM,4BAA4B,CAAA;AASlG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAI9D,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC3C,IAAI,EAAE,cAAc,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,QAAQ,6DAKlB,aAAa,sBA4Cf,CAAA"}
1
+ {"version":3,"file":"Keyboard.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/components/Keyboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAA;AACzD,OAAO,EAAY,SAAS,EAAmC,SAAS,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,EAA6B,iBAAiB,EAAW,MAAM,4BAA4B,CAAA;AASlG,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAI9D,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC3C,IAAI,EAAE,cAAc,CAAA;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,QAAQ,6DAKlB,aAAa,sBA+Cf,CAAA"}
@@ -1,4 +1,4 @@
1
- import { KeyboardConfig } from '@magmamath/frontend-config';
1
+ import { KeyboardConfig, MultiplicationSymbol } from '@magmamath/frontend-config';
2
2
  import { ResolvedKeyboard } from '../types/types';
3
- export declare const resolveKeyboard: (config: KeyboardConfig) => ResolvedKeyboard;
3
+ export declare const resolveKeyboard: (config: KeyboardConfig, multiplicationSymbol?: MultiplicationSymbol) => ResolvedKeyboard;
4
4
  //# sourceMappingURL=keyboard.helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/constants/keyboard.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAKL,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAkGvB,eAAO,MAAM,eAAe,WAAY,cAAc,KAAG,gBAWxD,CAAA"}
1
+ {"version":3,"file":"keyboard.helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/constants/keyboard.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAId,oBAAoB,EACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAML,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AA6HvB,eAAO,MAAM,eAAe,WAClB,cAAc,yBACC,oBAAoB,KAC1C,gBAcF,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=keyboard.helpers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.helpers.test.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/__tests__/keyboard.helpers.test.ts"],"names":[],"mappings":""}
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
2
  import { StyleProp, ViewStyle } from 'react-native';
3
3
  import { SelectOptionColor } from '@magmamath/react-native-ui';
4
- import { KeyboardConfig } from '@magmamath/frontend-config';
4
+ import { KeyboardConfig, MultiplicationSymbol } from '@magmamath/frontend-config';
5
5
  import { KeyboardKey, KeyboardKeyValue } from '../types/types';
6
6
  type KeyboardProps = {
7
7
  onKeyPress: (key: KeyboardKeyValue) => void;
8
8
  keys: KeyboardConfig;
9
+ multiplicationSymbol?: MultiplicationSymbol;
9
10
  characterType?: number;
10
11
  style?: StyleProp<ViewStyle>;
11
12
  color?: SelectOptionColor;
@@ -1 +1 @@
1
- {"version":3,"file":"Keyboard.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/components/Keyboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAA;AACzD,OAAO,EAAY,SAAS,EAAmC,SAAS,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,EAA6B,iBAAiB,EAAW,MAAM,4BAA4B,CAAA;AASlG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAI9D,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC3C,IAAI,EAAE,cAAc,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,QAAQ,6DAKlB,aAAa,sBA4Cf,CAAA"}
1
+ {"version":3,"file":"Keyboard.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/components/Keyboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAA;AACzD,OAAO,EAAY,SAAS,EAAmC,SAAS,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,EAA6B,iBAAiB,EAAW,MAAM,4BAA4B,CAAA;AASlG,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAI9D,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC3C,IAAI,EAAE,cAAc,CAAA;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,QAAQ,6DAKlB,aAAa,sBA+Cf,CAAA"}
@@ -1,4 +1,4 @@
1
- import { KeyboardConfig } from '@magmamath/frontend-config';
1
+ import { KeyboardConfig, MultiplicationSymbol } from '@magmamath/frontend-config';
2
2
  import { ResolvedKeyboard } from '../types/types';
3
- export declare const resolveKeyboard: (config: KeyboardConfig) => ResolvedKeyboard;
3
+ export declare const resolveKeyboard: (config: KeyboardConfig, multiplicationSymbol?: MultiplicationSymbol) => ResolvedKeyboard;
4
4
  //# sourceMappingURL=keyboard.helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/constants/keyboard.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAKL,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAkGvB,eAAO,MAAM,eAAe,WAAY,cAAc,KAAG,gBAWxD,CAAA"}
1
+ {"version":3,"file":"keyboard.helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/constants/keyboard.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAId,oBAAoB,EACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAML,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AA6HvB,eAAO,MAAM,eAAe,WAClB,cAAc,yBACC,oBAAoB,KAC1C,gBAcF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "1.6.2",
3
+ "version": "1.6.3-rc.1",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -0,0 +1,125 @@
1
+ jest.mock('react-native-svg', () => {
2
+ const React = jest.requireActual('react')
3
+ const createIcon = (name: string) => (props: Record<string, unknown>) =>
4
+ React.createElement(name, props)
5
+
6
+ return new Proxy(
7
+ { __esModule: true, default: createIcon('Svg') },
8
+ {
9
+ get: (target: Record<string, unknown>, prop: string) =>
10
+ prop in target ? target[prop] : createIcon(prop),
11
+ },
12
+ )
13
+ })
14
+
15
+ jest.mock('@magmamath/react-native-ui', () => {
16
+ const tokens = new Proxy({}, { get: (_, prop) => String(prop) })
17
+
18
+ return new Proxy(
19
+ { __esModule: true },
20
+ {
21
+ get: (target: Record<string, unknown>, prop: string) =>
22
+ prop in target ? target[prop] : tokens,
23
+ },
24
+ )
25
+ })
26
+
27
+ import {
28
+ KeyboardConfig,
29
+ KeyboardCurrencyVariant,
30
+ KeyboardPreset,
31
+ KeyboardTimeVariant,
32
+ MultiplicationSymbol,
33
+ } from '@magmamath/frontend-config'
34
+ import { resolveKeyboard } from '../constants/keyboard.helpers'
35
+ import { MATH_BASIC_OPERATORS } from '../constants/keys'
36
+ import { KeyboardKey, KeyboardType, ResolvedKeyboard } from '../types/types'
37
+
38
+ const DOT_CONFIG: KeyboardConfig = {
39
+ preset: KeyboardPreset.DOT_MIXED,
40
+ currencyVariant: KeyboardCurrencyVariant.DOLLAR_CENT,
41
+ timeVariant: KeyboardTimeVariant.H12,
42
+ }
43
+
44
+ const COMMA_CONFIG: KeyboardConfig = {
45
+ preset: KeyboardPreset.COMMA_METRIC,
46
+ currencyVariant: KeyboardCurrencyVariant.KRONE_EURO_POUND,
47
+ timeVariant: KeyboardTimeVariant.H24,
48
+ }
49
+
50
+ const collectKeys = (keyboard: ResolvedKeyboard): KeyboardKey[] =>
51
+ Object.values(keyboard.operators).flatMap((group) => group.keys)
52
+
53
+ describe('resolveKeyboard multiplication symbol', () => {
54
+ it('keeps groups untouched when no symbol is passed', () => {
55
+ const dot = resolveKeyboard(DOT_CONFIG)
56
+ const comma = resolveKeyboard(COMMA_CONFIG)
57
+
58
+ expect(dot.operators[KeyboardType.Basic].keys).toContain(MATH_BASIC_OPERATORS.MULTIPLICATION)
59
+ expect(dot.operators[KeyboardType.Basic].keys).not.toContain(MATH_BASIC_OPERATORS.C_DOT)
60
+ expect(dot.operators[KeyboardType.AlgebraAdvanced].keys).toContain(MATH_BASIC_OPERATORS.C_DOT)
61
+ expect(comma.operators[KeyboardType.Basic].keys).toContain(MATH_BASIC_OPERATORS.C_DOT)
62
+ expect(comma.operators[KeyboardType.Basic].keys).not.toContain(
63
+ MATH_BASIC_OPERATORS.MULTIPLICATION,
64
+ )
65
+ })
66
+
67
+ it('replaces multiplication keys with C_DOT on a dot preset', () => {
68
+ const keys = collectKeys(resolveKeyboard(DOT_CONFIG, MultiplicationSymbol.CDOT))
69
+
70
+ expect(keys).toContain(MATH_BASIC_OPERATORS.C_DOT)
71
+ expect(keys).not.toContain(MATH_BASIC_OPERATORS.MULTIPLICATION)
72
+ })
73
+
74
+ it('replaces C_DOT keys with MULTIPLICATION on a comma preset', () => {
75
+ const keys = collectKeys(resolveKeyboard(COMMA_CONFIG, MultiplicationSymbol.TIMES))
76
+
77
+ expect(keys).toContain(MATH_BASIC_OPERATORS.MULTIPLICATION)
78
+ expect(keys).not.toContain(MATH_BASIC_OPERATORS.C_DOT)
79
+ })
80
+
81
+ it('unifies all layouts to the explicit symbol even when it matches the preset', () => {
82
+ const withSymbol = resolveKeyboard(DOT_CONFIG, MultiplicationSymbol.TIMES)
83
+ const withoutSymbol = resolveKeyboard(DOT_CONFIG)
84
+
85
+ expect(withSymbol.operators[KeyboardType.Basic].keys).toEqual(
86
+ withoutSymbol.operators[KeyboardType.Basic].keys,
87
+ )
88
+ expect(withSymbol.operators[KeyboardType.AlgebraAdvanced].keys).toContain(
89
+ MATH_BASIC_OPERATORS.MULTIPLICATION,
90
+ )
91
+ expect(withSymbol.operators[KeyboardType.AlgebraAdvanced].keys).not.toContain(
92
+ MATH_BASIC_OPERATORS.C_DOT,
93
+ )
94
+ })
95
+
96
+ it('replaces C_DOT in the algebra layout', () => {
97
+ const keyboard = resolveKeyboard(COMMA_CONFIG, MultiplicationSymbol.TIMES)
98
+ const algebraKeys = keyboard.operators[KeyboardType.AlgebraAdvanced].keys
99
+
100
+ expect(algebraKeys).toContain(MATH_BASIC_OPERATORS.MULTIPLICATION)
101
+ expect(algebraKeys).not.toContain(MATH_BASIC_OPERATORS.C_DOT)
102
+ })
103
+
104
+ it('does not duplicate multiplication keys after substitution', () => {
105
+ Object.values(MultiplicationSymbol).forEach((symbol) => {
106
+ const keyboard = resolveKeyboard(DOT_CONFIG, symbol)
107
+
108
+ Object.values(KeyboardType).forEach((type) => {
109
+ const multiplicationKeys = keyboard.operators[type].keys.filter(
110
+ (key) =>
111
+ key === MATH_BASIC_OPERATORS.MULTIPLICATION || key === MATH_BASIC_OPERATORS.C_DOT,
112
+ )
113
+ expect(multiplicationKeys.length).toBeLessThanOrEqual(1)
114
+ })
115
+ })
116
+ })
117
+
118
+ it('keeps units and decimal keys untouched', () => {
119
+ const keyboard = resolveKeyboard(COMMA_CONFIG, MultiplicationSymbol.TIMES)
120
+ const plain = resolveKeyboard(COMMA_CONFIG)
121
+
122
+ expect(keyboard.units).toEqual(plain.units)
123
+ expect(keyboard.operators[KeyboardType.Basic].keys).toContain(MATH_BASIC_OPERATORS.DOT)
124
+ })
125
+ })
@@ -9,7 +9,7 @@ import {
9
9
  slideInAnimationSettings,
10
10
  } from './MainLayout/constants'
11
11
  import { isMobileWidth } from '../helpers'
12
- import { KeyboardConfig } from '@magmamath/frontend-config'
12
+ import { KeyboardConfig, MultiplicationSymbol } from '@magmamath/frontend-config'
13
13
  import { KeyboardKey, KeyboardKeyValue } from '../types/types'
14
14
  import { resolveKeyboard } from '../constants/keyboard.helpers'
15
15
  import { TEST_IDS } from '@magmamath/students-qa'
@@ -17,6 +17,7 @@ import { TEST_IDS } from '@magmamath/students-qa'
17
17
  type KeyboardProps = {
18
18
  onKeyPress: (key: KeyboardKeyValue) => void
19
19
  keys: KeyboardConfig
20
+ multiplicationSymbol?: MultiplicationSymbol
20
21
  characterType?: number
21
22
  style?: StyleProp<ViewStyle>
22
23
  color?: SelectOptionColor
@@ -32,7 +33,10 @@ export const Keyboard = ({
32
33
  isMainLayoutDisabled,
33
34
  ...props
34
35
  }: KeyboardProps) => {
35
- const resolvedKeys = useMemo(() => resolveKeyboard(props.keys), [props.keys])
36
+ const resolvedKeys = useMemo(
37
+ () => resolveKeyboard(props.keys, props.multiplicationSymbol),
38
+ [props.keys, props.multiplicationSymbol],
39
+ )
36
40
  const slideAnim = useRef(new Animated.Value(KEYBOARD_SLIDE_DISTANCE)).current
37
41
 
38
42
  const { width } = useWindowDimensions()
@@ -3,14 +3,17 @@ import {
3
3
  KeyboardCurrencyVariant,
4
4
  KeyboardPreset,
5
5
  KeyboardTimeVariant,
6
+ MultiplicationSymbol,
6
7
  } from '@magmamath/frontend-config'
7
8
  import {
8
9
  KeyboardGroup,
10
+ KeyboardKey,
9
11
  KeyboardRowsGroup,
10
12
  KeyboardType,
11
13
  KeyboardUnitsGroupType,
12
14
  ResolvedKeyboard,
13
15
  } from '../types/types'
16
+ import { MATH_BASIC_OPERATORS } from './keys'
14
17
  import {
15
18
  KEYBOARD_ALGEBRA,
16
19
  KEYBOARD_AREA,
@@ -108,15 +111,47 @@ const TIME_MAP: Record<KeyboardTimeVariant, KeyboardGroup> = {
108
111
  [KeyboardTimeVariant.H24]: KEYBOARD_TIME.H24,
109
112
  }
110
113
 
111
- export const resolveKeyboard = (config: KeyboardConfig): ResolvedKeyboard => {
114
+ const MULTIPLICATION_KEYS: Record<MultiplicationSymbol, KeyboardKey> = {
115
+ [MultiplicationSymbol.TIMES]: MATH_BASIC_OPERATORS.MULTIPLICATION,
116
+ [MultiplicationSymbol.CDOT]: MATH_BASIC_OPERATORS.C_DOT,
117
+ }
118
+
119
+ const isMultiplicationKey = (key: KeyboardKey) =>
120
+ key === MATH_BASIC_OPERATORS.MULTIPLICATION || key === MATH_BASIC_OPERATORS.C_DOT
121
+
122
+ const applyMultiplicationSymbol = (
123
+ operators: ResolvedKeyboard['operators'],
124
+ symbol: MultiplicationSymbol,
125
+ ): ResolvedKeyboard['operators'] => {
126
+ const multiplicationKey = MULTIPLICATION_KEYS[symbol]
127
+ const result = { ...operators }
128
+
129
+ Object.values(KeyboardType).forEach((type) => {
130
+ const group = result[type]
131
+ result[type] = {
132
+ ...group,
133
+ keys: group.keys.map((key) => (isMultiplicationKey(key) ? multiplicationKey : key)),
134
+ }
135
+ })
136
+
137
+ return result
138
+ }
139
+
140
+ export const resolveKeyboard = (
141
+ config: KeyboardConfig,
142
+ multiplicationSymbol?: MultiplicationSymbol,
143
+ ): ResolvedKeyboard => {
112
144
  const preset = PRESET_MAP[config.preset]
145
+ const operators = {
146
+ ...preset.operators,
147
+ [KeyboardType.BasicCurrency]: CURRENCY_MAP[config.currencyVariant],
148
+ [KeyboardType.BasicTime]: TIME_MAP[config.timeVariant],
149
+ }
113
150
 
114
151
  return {
115
- operators: {
116
- ...preset.operators,
117
- [KeyboardType.BasicCurrency]: CURRENCY_MAP[config.currencyVariant],
118
- [KeyboardType.BasicTime]: TIME_MAP[config.timeVariant],
119
- },
152
+ operators: multiplicationSymbol
153
+ ? applyMultiplicationSymbol(operators, multiplicationSymbol)
154
+ : operators,
120
155
  units: preset.units,
121
156
  }
122
157
  }