@magmamath/students-features 0.9.3 → 0.9.4-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 (136) hide show
  1. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +9 -2
  2. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  3. package/dist/commonjs/features/keyboard/components/AlgebraLayout/helpers.js +13 -3
  4. package/dist/commonjs/features/keyboard/components/AlgebraLayout/helpers.js.map +1 -1
  5. package/dist/commonjs/features/keyboard/components/Keyboard.js +2 -3
  6. package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
  7. package/dist/commonjs/features/keyboard/components/MainLayout.js +75 -0
  8. package/dist/commonjs/features/keyboard/components/MainLayout.js.map +1 -0
  9. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +24 -0
  10. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -0
  11. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +13 -0
  12. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -0
  13. package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js +6 -2
  14. package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
  15. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js +10 -3
  16. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  17. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js +3 -1
  18. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  19. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +27 -0
  20. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  21. package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js +1 -0
  22. package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js.map +1 -1
  23. package/dist/commonjs/features/keyboard/types/types.js +1 -0
  24. package/dist/commonjs/features/keyboard/types/types.js.map +1 -1
  25. package/dist/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js +34 -0
  26. package/dist/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js.map +1 -0
  27. package/dist/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js +34 -0
  28. package/dist/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js.map +1 -0
  29. package/dist/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js +34 -0
  30. package/dist/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js.map +1 -0
  31. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +9 -2
  32. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  33. package/dist/module/features/keyboard/components/AlgebraLayout/helpers.js +13 -3
  34. package/dist/module/features/keyboard/components/AlgebraLayout/helpers.js.map +1 -1
  35. package/dist/module/features/keyboard/components/Keyboard.js +2 -3
  36. package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
  37. package/dist/module/features/keyboard/components/MainLayout.js +68 -0
  38. package/dist/module/features/keyboard/components/MainLayout.js.map +1 -0
  39. package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +18 -0
  40. package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -0
  41. package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +9 -0
  42. package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -0
  43. package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js +6 -2
  44. package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
  45. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js +10 -3
  46. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  47. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js +3 -1
  48. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  49. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +27 -0
  50. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  51. package/dist/module/features/keyboard/types/keyboardGroupIds.js +1 -0
  52. package/dist/module/features/keyboard/types/keyboardGroupIds.js.map +1 -1
  53. package/dist/module/features/keyboard/types/types.js +1 -0
  54. package/dist/module/features/keyboard/types/types.js.map +1 -1
  55. package/dist/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js +26 -0
  56. package/dist/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js.map +1 -0
  57. package/dist/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js +26 -0
  58. package/dist/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js.map +1 -0
  59. package/dist/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js +26 -0
  60. package/dist/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js.map +1 -0
  61. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts +1 -1
  62. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  63. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/helpers.d.ts +6 -1
  64. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/helpers.d.ts.map +1 -1
  65. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts +1 -0
  66. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
  67. package/dist/typescript/commonjs/features/keyboard/components/MainLayout.d.ts +17 -0
  68. package/dist/typescript/commonjs/features/keyboard/components/MainLayout.d.ts.map +1 -0
  69. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +4 -0
  70. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -0
  71. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts +3 -0
  72. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -0
  73. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts +1 -1
  74. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts.map +1 -1
  75. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts +2 -1
  76. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  77. package/dist/typescript/commonjs/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  78. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +2 -2
  79. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +18 -0
  80. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  81. package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts +2 -1
  82. package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
  83. package/dist/typescript/commonjs/features/keyboard/types/types.d.ts +3 -1
  84. package/dist/typescript/commonjs/features/keyboard/types/types.d.ts.map +1 -1
  85. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts +4 -0
  86. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts.map +1 -0
  87. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts +4 -0
  88. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts.map +1 -0
  89. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts +4 -0
  90. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts.map +1 -0
  91. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts +1 -1
  92. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  93. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/helpers.d.ts +6 -1
  94. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/helpers.d.ts.map +1 -1
  95. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts +1 -0
  96. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
  97. package/dist/typescript/module/features/keyboard/components/MainLayout.d.ts +17 -0
  98. package/dist/typescript/module/features/keyboard/components/MainLayout.d.ts.map +1 -0
  99. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +4 -0
  100. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -0
  101. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts +3 -0
  102. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -0
  103. package/dist/typescript/module/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts +1 -1
  104. package/dist/typescript/module/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts.map +1 -1
  105. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts +2 -1
  106. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  107. package/dist/typescript/module/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  108. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +2 -2
  109. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +18 -0
  110. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  111. package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts +2 -1
  112. package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
  113. package/dist/typescript/module/features/keyboard/types/types.d.ts +3 -1
  114. package/dist/typescript/module/features/keyboard/types/types.d.ts.map +1 -1
  115. package/dist/typescript/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts +4 -0
  116. package/dist/typescript/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts.map +1 -0
  117. package/dist/typescript/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts +4 -0
  118. package/dist/typescript/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts.map +1 -0
  119. package/dist/typescript/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts +4 -0
  120. package/dist/typescript/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts.map +1 -0
  121. package/package.json +1 -1
  122. package/src/features/keyboard/components/AlgebraLayout/AlgebraLayout.tsx +2 -2
  123. package/src/features/keyboard/components/AlgebraLayout/helpers.tsx +19 -6
  124. package/src/features/keyboard/components/Keyboard.tsx +4 -4
  125. package/src/features/keyboard/components/MainLayout.tsx +72 -0
  126. package/src/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.tsx +12 -0
  127. package/src/features/keyboard/components/UnderlinedLayout/keyboardGroups.ts +12 -0
  128. package/src/features/keyboard/components/UnitsLayout/UnitsLayout.tsx +2 -1
  129. package/src/features/keyboard/components/UnitsLayout/helpers.tsx +10 -2
  130. package/src/features/keyboard/constants/keyboardGroupsByLocale.ts +2 -0
  131. package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +21 -0
  132. package/src/features/keyboard/types/keyboardGroupIds.ts +1 -0
  133. package/src/features/keyboard/types/types.ts +2 -0
  134. package/src/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.tsx +17 -0
  135. package/src/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.tsx +20 -0
  136. package/src/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.tsx +20 -0
@@ -1,7 +1,7 @@
1
1
  import { MyScriptMathCharacterTypes } from '../../../types/characterTypes';
2
2
  export declare const KEYBOARD_LAYOUTS: {
3
3
  AlgebraAdvanced: {
4
- Component: (props: import("../types/types").KeyboardLayoutProps) => import("react").JSX.Element;
4
+ Component: ({ onLayoutChange, ...props }: import("../types/types").KeyboardLayoutProps) => import("react").JSX.Element;
5
5
  characterTypes: MyScriptMathCharacterTypes[];
6
6
  };
7
7
  Basic: {
@@ -21,7 +21,7 @@ export declare const KEYBOARD_LAYOUTS: {
21
21
  characterTypes: MyScriptMathCharacterTypes[];
22
22
  };
23
23
  BasicUnits: {
24
- Component: (props: import("../types/types").KeyboardLayoutProps) => import("react").JSX.Element;
24
+ Component: ({ onLayoutChange, ...props }: import("../types/types").KeyboardLayoutProps) => import("react").JSX.Element;
25
25
  characterTypes: MyScriptMathCharacterTypes[];
26
26
  };
27
27
  BasicPlusPlus: {
@@ -222,5 +222,23 @@ export declare const MATH_BASIC_OPERATORS: {
222
222
  mathliveValue: string;
223
223
  katexValue: string;
224
224
  };
225
+ UNDERLINED_TEN: {
226
+ icon: React.JSX.Element;
227
+ mathliveValue: string;
228
+ katexValue: string;
229
+ spreadsheetValue: string;
230
+ };
231
+ UNDERLINED_ONE: {
232
+ icon: React.JSX.Element;
233
+ mathliveValue: string;
234
+ katexValue: string;
235
+ spreadsheetValue: string;
236
+ };
237
+ UNDERLINED_U: {
238
+ icon: React.JSX.Element;
239
+ mathliveValue: string;
240
+ katexValue: string;
241
+ spreadsheetValue: string;
242
+ };
225
243
  };
226
244
  //# sourceMappingURL=basicOperators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"basicOperators.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/types/MathKeysGroups/basicOperators.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AA6CzB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+N/B,CAAA"}
1
+ {"version":3,"file":"basicOperators.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/types/MathKeysGroups/basicOperators.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAgDzB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiP/B,CAAA"}
@@ -26,6 +26,7 @@ export declare enum MathEntryKeyboardGroupId {
26
26
  TIME_US = "math-entry-time-us",
27
27
  CURRENCY_SW = "math-entry-currency-sw",
28
28
  CURRENCY_UK = "math-entry-currency-uk",
29
- CURRENCY_US = "math-entry-currency-us"
29
+ CURRENCY_US = "math-entry-currency-us",
30
+ UNDERLINED = "math-entry-underlined"
30
31
  }
31
32
  //# sourceMappingURL=keyboardGroupIds.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboardGroupIds.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/types/keyboardGroupIds.ts"],"names":[],"mappings":"AAAA,oBAAY,wBAAwB;IAClC,eAAe,+BAA+B;IAC9C,sBAAsB,sCAAsC;IAC5D,kBAAkB,kCAAkC;IACpD,yBAAyB,yCAAyC;IAClE,aAAa,6BAA6B;IAC1C,oBAAoB,oCAAoC;IACxD,aAAa,6BAA6B;IAC1C,iBAAiB,iCAAiC;IAClD,OAAO,uBAAuB;IAC9B,UAAU,0BAA0B;IACpC,UAAU,0BAA0B;IACpC,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,aAAa,6BAA6B;IAC1C,aAAa,6BAA6B;IAC1C,aAAa,6BAA6B;IAC1C,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,KAAK,qBAAqB;IAC1B,QAAQ,wBAAwB;IAChC,OAAO,uBAAuB;IAC9B,OAAO,uBAAuB;IAC9B,WAAW,2BAA2B;IACtC,WAAW,2BAA2B;IACtC,WAAW,2BAA2B;CACvC"}
1
+ {"version":3,"file":"keyboardGroupIds.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/types/keyboardGroupIds.ts"],"names":[],"mappings":"AAAA,oBAAY,wBAAwB;IAClC,eAAe,+BAA+B;IAC9C,sBAAsB,sCAAsC;IAC5D,kBAAkB,kCAAkC;IACpD,yBAAyB,yCAAyC;IAClE,aAAa,6BAA6B;IAC1C,oBAAoB,oCAAoC;IACxD,aAAa,6BAA6B;IAC1C,iBAAiB,iCAAiC;IAClD,OAAO,uBAAuB;IAC9B,UAAU,0BAA0B;IACpC,UAAU,0BAA0B;IACpC,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,aAAa,6BAA6B;IAC1C,aAAa,6BAA6B;IAC1C,aAAa,6BAA6B;IAC1C,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,eAAe,+BAA+B;IAC9C,KAAK,qBAAqB;IAC1B,QAAQ,wBAAwB;IAChC,OAAO,uBAAuB;IAC9B,OAAO,uBAAuB;IAC9B,WAAW,2BAA2B;IACtC,WAAW,2BAA2B;IACtC,WAAW,2BAA2B;IACtC,UAAU,0BAA0B;CACrC"}
@@ -11,7 +11,8 @@ export declare const enum KeyboardType {
11
11
  BasicUnits = "BasicUnits",
12
12
  BasicPlusPlus = "BasicPlusPlus",
13
13
  BasicPlusPlusMobile = "BasicPlusPlusMobile",
14
- Numpad = "Numpad"
14
+ Numpad = "Numpad",
15
+ Underlined = "Underlined"
15
16
  }
16
17
  export type KeyboardKey = {
17
18
  katexValue: string;
@@ -39,6 +40,7 @@ export type KeyboardGroup = {
39
40
  };
40
41
  export type KeyboardLayoutProps = {
41
42
  onKeyPress: (key: KeyboardKeyValue) => void;
43
+ onLayoutChange?: (isSecondaryLayout: boolean) => void;
42
44
  color?: SelectOptionColor;
43
45
  isDisabled?: boolean;
44
46
  disabledKeys?: KeyboardKey[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEpD,0BAAkB,YAAY;IAC5B,eAAe,oBAAoB;IACnC,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,qBAAqB,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC3C,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI;KAC3D,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW;CACpC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/keyboard/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEpD,0BAAkB,YAAY;IAC5B,eAAe,oBAAoB;IACnC,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,qBAAqB,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC3C,cAAc,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,KAAK,IAAI,CAAA;IACrD,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI;KAC3D,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW;CACpC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IconProps } from '../../icon.types';
3
+ export declare const UnderlinedOneIcon: ({ size, color }: IconProps) => React.JSX.Element;
4
+ //# sourceMappingURL=UnderlinedOneIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnderlinedOneIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,eAAO,MAAM,iBAAiB,oBAA0B,SAAS,sBAYhE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IconProps } from '../../icon.types';
3
+ export declare const UnderlinedTenIcon: ({ size, color }: IconProps) => React.JSX.Element;
4
+ //# sourceMappingURL=UnderlinedTenIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnderlinedTenIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,eAAO,MAAM,iBAAiB,oBAA0B,SAAS,sBAehE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IconProps } from '../../icon.types';
3
+ export declare const UnderlinedUIcon: ({ size, color }: IconProps) => React.JSX.Element;
4
+ //# sourceMappingURL=UnderlinedUIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnderlinedUIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,eAAO,MAAM,eAAe,oBAA0B,SAAS,sBAe9D,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.9.3",
3
+ "version": "0.9.4-rc.0",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -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
- export function getSelectOptions(
14
- selectedLayout: SelectedLayout,
15
- setSelectedLayout: (layout: SelectedLayout) => void,
16
- ): LayoutOption[] {
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: () => setSelectedLayout(SelectedLayout.BASIC),
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: () => setSelectedLayout(SelectedLayout.ALGEBRA),
46
+ onPressIn: () => {
47
+ setSelectedLayout(SelectedLayout.ALGEBRA)
48
+ onLayoutChange?.(true)
49
+ },
37
50
  },
38
51
  ]
39
52
  }
@@ -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
- <Layout {...props} />
60
+ <MainLayout {...props} />
61
61
  <Numpad {...props} style={mobileStyles} />
62
62
  </Animated.View>
63
63
  )
@@ -0,0 +1,72 @@
1
+ import React, { useEffect, useMemo, useRef, useState } from 'react'
2
+ import { Animated, StyleProp, StyleSheet, useWindowDimensions, View, ViewStyle } from 'react-native'
3
+ import { SelectOptionColor, IS_MOBILE } 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
+ style?: StyleProp<ViewStyle>
13
+ color?: SelectOptionColor
14
+ isVisible?: boolean
15
+ isDisabled?: boolean
16
+ showUnderlinedKeys?: boolean
17
+ disabledKeys?: KeyboardKey[]
18
+ }
19
+
20
+ export const MainLayout = ({ style, characterType, showUnderlinedKeys, ...props }: LayoutProps) => {
21
+ const [isUnderlinedVisible, setIsUnderlinedVisible] = useState(showUnderlinedKeys)
22
+ const [isSecondaryLayoutSelected, setIsSecondaryLayoutSelected] = useState(false)
23
+
24
+ const fadeAnim = useRef(new Animated.Value(showUnderlinedKeys ? 1 : 0)).current
25
+ const fadeRef = useRef<Animated.CompositeAnimation | null>(null)
26
+ const { width } = useWindowDimensions()
27
+ const isMobile = width <= MOBILE_LAYOUT_WIDTH || IS_MOBILE
28
+
29
+ const Layout = useMemo(() => getLayoutByCharType(characterType), [characterType])
30
+
31
+ useEffect(() => {
32
+ if (showUnderlinedKeys) {
33
+ setIsUnderlinedVisible(true)
34
+ fadeRef.current = Animated.timing(fadeAnim, {
35
+ toValue: 1,
36
+ duration: 250,
37
+ useNativeDriver: true,
38
+ })
39
+ fadeRef.current.start()
40
+ return
41
+ }
42
+ fadeRef.current = Animated.timing(fadeAnim, {
43
+ toValue: 0,
44
+ duration: 250,
45
+ useNativeDriver: true,
46
+ })
47
+ fadeRef.current.start(() => setIsUnderlinedVisible(false))
48
+
49
+ return () => {
50
+ fadeRef.current?.stop()
51
+ }
52
+ }, [showUnderlinedKeys])
53
+
54
+ return (
55
+ <View style={styles.container}>
56
+ <Layout {...props} onLayoutChange={setIsSecondaryLayoutSelected} />
57
+ {isUnderlinedVisible && !isSecondaryLayoutSelected && !isMobile && (
58
+ <Animated.View style={{ opacity: fadeAnim }}>
59
+ <UnderlinedLayout {...props} />
60
+ </Animated.View>
61
+ )}
62
+ </View>
63
+ )
64
+ }
65
+
66
+ const styles = StyleSheet.create({
67
+ container: {
68
+ flexDirection: 'row',
69
+ alignItems: 'flex-start',
70
+ justifyContent: 'space-between',
71
+ },
72
+ })
@@ -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: () => setSelectedLayout(SelectedLayout.ALGEBRA),
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: () => setSelectedLayout(SelectedLayout.UNITS),
45
+ onPressIn: () => {
46
+ setSelectedLayout(SelectedLayout.UNITS)
47
+ onLayoutChange?.(true)
48
+ },
41
49
  },
42
50
  ]
43
51
  }
@@ -39,6 +39,7 @@ import {
39
39
  import { Locale } from '../../../shared/translation'
40
40
  import { MATH_ENTRY_ALGEBRA_KEYBOARD_GROUP } from '../components/AlgebraLayout/keyboardGroups'
41
41
  import { KeyboardUnitsGroupType, UnitKeyboardGroups } from '../components/UnitsLayout/types'
42
+ import { MATH_ENTRY_UNDERLINED_KEYBOARD_GROUP } from '../components/UnderlinedLayout/keyboardGroups'
42
43
 
43
44
  function createKeyboardLocale(overrides: Partial<Record<KeyboardType, KeyboardGroup>>) {
44
45
  const base: Record<KeyboardType, KeyboardGroup> = {
@@ -55,6 +56,7 @@ function createKeyboardLocale(overrides: Partial<Record<KeyboardType, KeyboardGr
55
56
  [KeyboardType.BasicTime]: MATH_TIME_US_KEYBOARD_GROUP,
56
57
  [KeyboardType.AlgebraAdvanced]: MATH_ENTRY_ALGEBRA_KEYBOARD_GROUP,
57
58
  [KeyboardType.Numpad]: MATH_ENTRY_NUMBERS_US_KEYBOARD_GROUP,
59
+ [KeyboardType.Underlined]: MATH_ENTRY_UNDERLINED_KEYBOARD_GROUP,
58
60
  }
59
61
  return { ...base, ...overrides }
60
62
  }
@@ -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
  })
@@ -27,4 +27,5 @@ export enum MathEntryKeyboardGroupId {
27
27
  CURRENCY_SW = 'math-entry-currency-sw',
28
28
  CURRENCY_UK = 'math-entry-currency-uk',
29
29
  CURRENCY_US = 'math-entry-currency-us',
30
+ UNDERLINED = 'math-entry-underlined',
30
31
  }
@@ -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[]
@@ -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
+ }