@khanacademy/math-input 2.0.0 → 3.0.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 (225) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/components/input/math-input.d.ts +1 -1
  3. package/dist/components/input/math-input.js.flow +1 -1
  4. package/dist/components/keypad/button.d.ts +1 -2
  5. package/dist/components/keypad/button.js.flow +1 -1
  6. package/dist/components/keypad/{pre-algebra-page.d.ts → geometry-page/index.d.ts} +1 -1
  7. package/dist/components/keypad/{pre-algebra-page.js.flow → geometry-page/index.js.flow} +1 -1
  8. package/dist/components/keypad/index.d.ts +5 -4
  9. package/dist/components/keypad/index.js.flow +9 -4
  10. package/dist/components/keypad/keypad-page-items.d.ts +8 -2
  11. package/dist/components/keypad/keypad-page-items.js.flow +8 -2
  12. package/dist/components/keypad/{numeric-input-page.d.ts → numbers-page/index.d.ts} +3 -2
  13. package/dist/components/keypad/numbers-page/index.js.flow +17 -0
  14. package/dist/components/keypad/numbers-page/types.d.ts +4 -0
  15. package/dist/components/keypad/numbers-page/types.js.flow +10 -0
  16. package/dist/components/keypad/operators-page/advanced-relations-buttons.d.ts +7 -0
  17. package/dist/components/keypad/{numeric-input-page.js.flow → operators-page/advanced-relations-buttons.js.flow} +3 -4
  18. package/dist/components/keypad/operators-page/basic-relations-buttons.d.ts +7 -0
  19. package/dist/components/keypad/{trigonometry-page.js.flow → operators-page/basic-relations-buttons.js.flow} +3 -6
  20. package/dist/components/keypad/operators-page/index.d.ts +9 -0
  21. package/dist/components/keypad/operators-page/index.js.flow +17 -0
  22. package/dist/components/keypad/operators-page/logarithms-buttons.d.ts +7 -0
  23. package/dist/components/keypad/operators-page/logarithms-buttons.js.flow +12 -0
  24. package/dist/components/keypad/operators-page/pre-algebra-buttons.d.ts +7 -0
  25. package/dist/components/keypad/operators-page/pre-algebra-buttons.js.flow +12 -0
  26. package/dist/components/keypad/operators-page/types.d.ts +6 -0
  27. package/dist/components/keypad/operators-page/types.js.flow +12 -0
  28. package/dist/components/{compute-layout-parameters.d.ts → keypad-legacy/compute-layout-parameters.d.ts} +1 -1
  29. package/dist/components/{compute-layout-parameters.js.flow → keypad-legacy/compute-layout-parameters.js.flow} +1 -1
  30. package/dist/components/{echo-manager.d.ts → keypad-legacy/echo-manager.d.ts} +2 -11
  31. package/dist/components/{echo-manager.js.flow → keypad-legacy/echo-manager.js.flow} +2 -11
  32. package/dist/components/{expression-keypad.d.ts → keypad-legacy/expression-keypad.d.ts} +3 -4
  33. package/dist/components/{expression-keypad.js.flow → keypad-legacy/expression-keypad.js.flow} +3 -4
  34. package/dist/components/{fraction-keypad.d.ts → keypad-legacy/fraction-keypad.d.ts} +2 -2
  35. package/dist/components/{fraction-keypad.js.flow → keypad-legacy/fraction-keypad.js.flow} +2 -2
  36. package/dist/components/{gesture-manager.d.ts → keypad-legacy/gesture-manager.d.ts} +1 -1
  37. package/dist/components/{gesture-manager.js.flow → keypad-legacy/gesture-manager.js.flow} +1 -1
  38. package/dist/components/{gesture-state-machine.d.ts → keypad-legacy/gesture-state-machine.d.ts} +1 -1
  39. package/dist/components/{gesture-state-machine.js.flow → keypad-legacy/gesture-state-machine.js.flow} +1 -1
  40. package/dist/components/{icon.d.ts → keypad-legacy/icon.d.ts} +1 -1
  41. package/dist/components/{icon.js.flow → keypad-legacy/icon.js.flow} +1 -1
  42. package/dist/components/{keypad-button.d.ts → keypad-legacy/keypad-button.d.ts} +4 -4
  43. package/dist/components/{keypad-button.js.flow → keypad-legacy/keypad-button.js.flow} +4 -4
  44. package/dist/components/{keypad-container.d.ts → keypad-legacy/keypad-container.d.ts} +2 -2
  45. package/dist/components/{keypad-container.js.flow → keypad-legacy/keypad-container.js.flow} +3 -3
  46. package/dist/components/{keypad.d.ts → keypad-legacy/keypad.d.ts} +3 -3
  47. package/dist/components/{keypad.js.flow → keypad-legacy/keypad.js.flow} +3 -3
  48. package/dist/components/{multi-symbol-grid.d.ts → keypad-legacy/multi-symbol-grid.d.ts} +1 -1
  49. package/dist/components/{multi-symbol-grid.js.flow → keypad-legacy/multi-symbol-grid.js.flow} +1 -1
  50. package/dist/components/{multi-symbol-popover.d.ts → keypad-legacy/multi-symbol-popover.d.ts} +1 -1
  51. package/dist/components/{multi-symbol-popover.js.flow → keypad-legacy/multi-symbol-popover.js.flow} +1 -1
  52. package/dist/components/{node-manager.d.ts → keypad-legacy/node-manager.d.ts} +3 -4
  53. package/dist/components/{node-manager.js.flow → keypad-legacy/node-manager.js.flow} +3 -5
  54. package/dist/components/{popover-manager.d.ts → keypad-legacy/popover-manager.d.ts} +1 -1
  55. package/dist/components/{popover-manager.js.flow → keypad-legacy/popover-manager.js.flow} +1 -1
  56. package/dist/components/{popover-state-machine.d.ts → keypad-legacy/popover-state-machine.d.ts} +1 -1
  57. package/dist/components/{popover-state-machine.js.flow → keypad-legacy/popover-state-machine.js.flow} +1 -1
  58. package/dist/components/{provided-keypad.d.ts → keypad-legacy/provided-keypad.d.ts} +1 -1
  59. package/dist/components/{provided-keypad.js.flow → keypad-legacy/provided-keypad.js.flow} +1 -1
  60. package/dist/{store → components/keypad-legacy/store}/actions.d.ts +4 -5
  61. package/dist/{store → components/keypad-legacy/store}/actions.js.flow +5 -8
  62. package/dist/{store → components/keypad-legacy/store}/index.d.ts +0 -1
  63. package/dist/{store → components/keypad-legacy/store}/index.js.flow +0 -1
  64. package/dist/components/keypad-legacy/store/shared.d.ts +7 -0
  65. package/dist/components/keypad-legacy/store/shared.js.flow +14 -0
  66. package/dist/{store → components/keypad-legacy/store}/types.d.ts +4 -14
  67. package/dist/{store → components/keypad-legacy/store}/types.js.flow +4 -14
  68. package/dist/components/keypad-legacy/touchable-keypad-button.d.ts +37 -0
  69. package/dist/components/keypad-legacy/touchable-keypad-button.js.flow +64 -0
  70. package/dist/components/{two-page-keypad.d.ts → keypad-legacy/two-page-keypad.d.ts} +0 -1
  71. package/dist/components/{two-page-keypad.js.flow → keypad-legacy/two-page-keypad.js.flow} +0 -1
  72. package/dist/data/key-configs.d.ts +3 -1
  73. package/dist/data/key-configs.js.flow +3 -1
  74. package/dist/data/keys.d.ts +1 -3
  75. package/dist/data/keys.js.flow +0 -2
  76. package/dist/es/index.js +4991 -4299
  77. package/dist/es/index.js.map +1 -1
  78. package/dist/index.d.ts +2 -1
  79. package/dist/index.js +4784 -4073
  80. package/dist/index.js.flow +2 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/types.d.ts +13 -9
  83. package/dist/types.js.flow +19 -15
  84. package/package.json +1 -1
  85. package/src/components/input/math-input.tsx +1 -1
  86. package/src/components/keypad/button-assets.tsx +65 -40
  87. package/src/components/keypad/button.stories.tsx +61 -13
  88. package/src/components/keypad/button.tsx +1 -1
  89. package/src/components/keypad/{trigonometry-page.tsx → geometry-page/index.tsx} +3 -4
  90. package/src/components/keypad/index.tsx +19 -14
  91. package/src/components/keypad/keypad-page-items.tsx +34 -21
  92. package/src/components/keypad/keypad-pages.stories.tsx +5 -5
  93. package/src/components/keypad/keypad.stories.tsx +75 -17
  94. package/src/components/keypad/{numeric-input-page.tsx → numbers-page/index.tsx} +47 -11
  95. package/src/components/keypad/numbers-page/types.ts +4 -0
  96. package/src/components/keypad/operators-page/advanced-relations-buttons.tsx +32 -0
  97. package/src/components/keypad/operators-page/basic-relations-buttons.tsx +32 -0
  98. package/src/components/keypad/{pre-algebra-page.tsx → operators-page/index.tsx} +25 -29
  99. package/src/components/keypad/operators-page/logarithms-buttons.tsx +32 -0
  100. package/src/components/keypad/operators-page/pre-algebra-buttons.tsx +36 -0
  101. package/src/components/keypad/operators-page/types.ts +6 -0
  102. package/src/components/{__tests__ → keypad-legacy/__tests__}/two-page-keypad.test.tsx +0 -2
  103. package/src/components/{compute-layout-parameters.ts → keypad-legacy/compute-layout-parameters.ts} +2 -3
  104. package/src/components/{corner-decal.tsx → keypad-legacy/corner-decal.tsx} +2 -3
  105. package/src/components/{echo-manager.tsx → keypad-legacy/echo-manager.tsx} +7 -20
  106. package/src/components/{empty-keypad-button.tsx → keypad-legacy/empty-keypad-button.tsx} +2 -2
  107. package/src/components/{expression-keypad.tsx → keypad-legacy/expression-keypad.tsx} +8 -17
  108. package/src/components/{fraction-keypad.tsx → keypad-legacy/fraction-keypad.tsx} +6 -6
  109. package/src/components/{gesture-manager.ts → keypad-legacy/gesture-manager.ts} +2 -2
  110. package/src/components/{gesture-state-machine.ts → keypad-legacy/gesture-state-machine.ts} +1 -1
  111. package/src/components/{icon.tsx → keypad-legacy/icon.tsx} +3 -3
  112. package/src/components/{keypad-button.tsx → keypad-legacy/keypad-button.tsx} +12 -9
  113. package/src/components/{keypad-container.tsx → keypad-legacy/keypad-container.tsx} +6 -6
  114. package/src/components/{keypad.tsx → keypad-legacy/keypad.tsx} +5 -5
  115. package/src/components/{many-keypad-button.tsx → keypad-legacy/many-keypad-button.tsx} +5 -5
  116. package/src/components/{math-icon.tsx → keypad-legacy/math-icon.tsx} +2 -2
  117. package/src/components/{multi-symbol-grid.tsx → keypad-legacy/multi-symbol-grid.tsx} +4 -4
  118. package/src/components/{multi-symbol-popover.tsx → keypad-legacy/multi-symbol-popover.tsx} +3 -4
  119. package/src/components/{navigation-pad.tsx → keypad-legacy/navigation-pad.tsx} +5 -5
  120. package/src/components/{node-manager.ts → keypad-legacy/node-manager.ts} +2 -10
  121. package/src/components/{popover-manager.tsx → keypad-legacy/popover-manager.tsx} +2 -2
  122. package/src/components/{popover-state-machine.ts → keypad-legacy/popover-state-machine.ts} +1 -1
  123. package/src/components/{provided-keypad.tsx → keypad-legacy/provided-keypad.tsx} +4 -5
  124. package/src/{store → components/keypad-legacy/store}/actions.ts +5 -8
  125. package/src/{store → components/keypad-legacy/store}/echo-reducer.ts +2 -3
  126. package/src/{store → components/keypad-legacy/store}/index.ts +4 -11
  127. package/src/{store → components/keypad-legacy/store}/input-reducer.ts +4 -4
  128. package/src/{store → components/keypad-legacy/store}/keypad-reducer.ts +2 -2
  129. package/src/{store → components/keypad-legacy/store}/layout-reducer.ts +3 -3
  130. package/src/{store → components/keypad-legacy/store}/shared.ts +3 -3
  131. package/src/{store → components/keypad-legacy/store}/types.ts +14 -18
  132. package/src/components/{styles.ts → keypad-legacy/styles.ts} +1 -1
  133. package/src/components/{text-icon.tsx → keypad-legacy/text-icon.tsx} +2 -2
  134. package/src/components/{touchable-keypad-button.tsx → keypad-legacy/touchable-keypad-button.tsx} +39 -20
  135. package/src/components/{two-page-keypad.tsx → keypad-legacy/two-page-keypad.tsx} +5 -6
  136. package/src/data/key-configs.ts +10 -15
  137. package/src/data/keys.ts +1 -6
  138. package/src/index.ts +3 -1
  139. package/src/math-input.stories.tsx +2 -2
  140. package/src/types.ts +15 -8
  141. package/tsconfig-build.tsbuildinfo +1 -1
  142. package/dist/components/keypad/trigonometry-page.d.ts +0 -8
  143. package/dist/components/touchable-keypad-button.d.ts +0 -30
  144. package/dist/components/touchable-keypad-button.js.flow +0 -35
  145. package/dist/components/velocity-tracker.d.ts +0 -48
  146. package/dist/components/velocity-tracker.js.flow +0 -54
  147. package/dist/store/pager-reducer.d.ts +0 -4
  148. package/dist/store/pager-reducer.js.flow +0 -13
  149. package/dist/store/shared.d.ts +0 -7
  150. package/dist/store/shared.js.flow +0 -14
  151. package/src/components/velocity-tracker.ts +0 -86
  152. package/src/store/pager-reducer.ts +0 -125
  153. /package/dist/components/{corner-decal.d.ts → keypad-legacy/corner-decal.d.ts} +0 -0
  154. /package/dist/components/{corner-decal.js.flow → keypad-legacy/corner-decal.js.flow} +0 -0
  155. /package/dist/components/{empty-keypad-button.d.ts → keypad-legacy/empty-keypad-button.d.ts} +0 -0
  156. /package/dist/components/{empty-keypad-button.js.flow → keypad-legacy/empty-keypad-button.js.flow} +0 -0
  157. /package/dist/components/{many-keypad-button.d.ts → keypad-legacy/many-keypad-button.d.ts} +0 -0
  158. /package/dist/components/{many-keypad-button.js.flow → keypad-legacy/many-keypad-button.js.flow} +0 -0
  159. /package/dist/components/{math-icon.d.ts → keypad-legacy/math-icon.d.ts} +0 -0
  160. /package/dist/components/{math-icon.js.flow → keypad-legacy/math-icon.js.flow} +0 -0
  161. /package/dist/components/{navigation-pad.d.ts → keypad-legacy/navigation-pad.d.ts} +0 -0
  162. /package/dist/components/{navigation-pad.js.flow → keypad-legacy/navigation-pad.js.flow} +0 -0
  163. /package/dist/{store → components/keypad-legacy/store}/echo-reducer.d.ts +0 -0
  164. /package/dist/{store → components/keypad-legacy/store}/echo-reducer.js.flow +0 -0
  165. /package/dist/{store → components/keypad-legacy/store}/input-reducer.d.ts +0 -0
  166. /package/dist/{store → components/keypad-legacy/store}/input-reducer.js.flow +0 -0
  167. /package/dist/{store → components/keypad-legacy/store}/keypad-reducer.d.ts +0 -0
  168. /package/dist/{store → components/keypad-legacy/store}/keypad-reducer.js.flow +0 -0
  169. /package/dist/{store → components/keypad-legacy/store}/layout-reducer.d.ts +0 -0
  170. /package/dist/{store → components/keypad-legacy/store}/layout-reducer.js.flow +0 -0
  171. /package/dist/components/{styles.d.ts → keypad-legacy/styles.d.ts} +0 -0
  172. /package/dist/components/{styles.js.flow → keypad-legacy/styles.js.flow} +0 -0
  173. /package/dist/components/{svg-icon.d.ts → keypad-legacy/svg-icon.d.ts} +0 -0
  174. /package/dist/components/{svg-icon.js.flow → keypad-legacy/svg-icon.js.flow} +0 -0
  175. /package/dist/components/{text-icon.d.ts → keypad-legacy/text-icon.d.ts} +0 -0
  176. /package/dist/components/{text-icon.js.flow → keypad-legacy/text-icon.js.flow} +0 -0
  177. /package/dist/components/{z-indexes.d.ts → keypad-legacy/z-indexes.d.ts} +0 -0
  178. /package/dist/components/{z-indexes.js.flow → keypad-legacy/z-indexes.js.flow} +0 -0
  179. /package/src/components/{__tests__ → keypad-legacy/__tests__}/gesture-state-machine.test.ts +0 -0
  180. /package/src/components/{__tests__ → keypad-legacy/__tests__}/node-manager.test.ts +0 -0
  181. /package/src/components/{iconography → keypad-legacy/iconography}/arrow.js +0 -0
  182. /package/src/components/{iconography → keypad-legacy/iconography}/backspace.js +0 -0
  183. /package/src/components/{iconography → keypad-legacy/iconography}/cdot.js +0 -0
  184. /package/src/components/{iconography → keypad-legacy/iconography}/cos.js +0 -0
  185. /package/src/components/{iconography → keypad-legacy/iconography}/cube-root.js +0 -0
  186. /package/src/components/{iconography → keypad-legacy/iconography}/dismiss.js +0 -0
  187. /package/src/components/{iconography → keypad-legacy/iconography}/divide.js +0 -0
  188. /package/src/components/{iconography → keypad-legacy/iconography}/down.js +0 -0
  189. /package/src/components/{iconography → keypad-legacy/iconography}/equal.js +0 -0
  190. /package/src/components/{iconography → keypad-legacy/iconography}/exp-2.js +0 -0
  191. /package/src/components/{iconography → keypad-legacy/iconography}/exp-3.js +0 -0
  192. /package/src/components/{iconography → keypad-legacy/iconography}/exp.js +0 -0
  193. /package/src/components/{iconography → keypad-legacy/iconography}/frac.js +0 -0
  194. /package/src/components/{iconography → keypad-legacy/iconography}/geq.js +0 -0
  195. /package/src/components/{iconography → keypad-legacy/iconography}/gt.js +0 -0
  196. /package/src/components/{iconography → keypad-legacy/iconography}/index.js +0 -0
  197. /package/src/components/{iconography → keypad-legacy/iconography}/jump-into-numerator.js +0 -0
  198. /package/src/components/{iconography → keypad-legacy/iconography}/jump-out-base.js +0 -0
  199. /package/src/components/{iconography → keypad-legacy/iconography}/jump-out-denominator.js +0 -0
  200. /package/src/components/{iconography → keypad-legacy/iconography}/jump-out-exponent.js +0 -0
  201. /package/src/components/{iconography → keypad-legacy/iconography}/jump-out-numerator.js +0 -0
  202. /package/src/components/{iconography → keypad-legacy/iconography}/jump-out-parentheses.js +0 -0
  203. /package/src/components/{iconography → keypad-legacy/iconography}/left-paren.js +0 -0
  204. /package/src/components/{iconography → keypad-legacy/iconography}/left.js +0 -0
  205. /package/src/components/{iconography → keypad-legacy/iconography}/leq.js +0 -0
  206. /package/src/components/{iconography → keypad-legacy/iconography}/ln.js +0 -0
  207. /package/src/components/{iconography → keypad-legacy/iconography}/log-n.js +0 -0
  208. /package/src/components/{iconography → keypad-legacy/iconography}/log.js +0 -0
  209. /package/src/components/{iconography → keypad-legacy/iconography}/lt.js +0 -0
  210. /package/src/components/{iconography → keypad-legacy/iconography}/minus.js +0 -0
  211. /package/src/components/{iconography → keypad-legacy/iconography}/neq.js +0 -0
  212. /package/src/components/{iconography → keypad-legacy/iconography}/parens.js +0 -0
  213. /package/src/components/{iconography → keypad-legacy/iconography}/percent.js +0 -0
  214. /package/src/components/{iconography → keypad-legacy/iconography}/period.js +0 -0
  215. /package/src/components/{iconography → keypad-legacy/iconography}/plus.js +0 -0
  216. /package/src/components/{iconography → keypad-legacy/iconography}/radical.js +0 -0
  217. /package/src/components/{iconography → keypad-legacy/iconography}/right-paren.js +0 -0
  218. /package/src/components/{iconography → keypad-legacy/iconography}/right.js +0 -0
  219. /package/src/components/{iconography → keypad-legacy/iconography}/sin.js +0 -0
  220. /package/src/components/{iconography → keypad-legacy/iconography}/sqrt.js +0 -0
  221. /package/src/components/{iconography → keypad-legacy/iconography}/tan.js +0 -0
  222. /package/src/components/{iconography → keypad-legacy/iconography}/times.js +0 -0
  223. /package/src/components/{iconography → keypad-legacy/iconography}/up.js +0 -0
  224. /package/src/components/{svg-icon.tsx → keypad-legacy/svg-icon.tsx} +0 -0
  225. /package/src/components/{z-indexes.ts → keypad-legacy/z-indexes.ts} +0 -0
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import * as $Flowgen$Import$react_2d_redux from "react-redux";
8
8
  import * as React from "react";
9
- import { LayoutMode, KeypadType } from "../enums";
9
+ import { LayoutMode, KeypadType } from "../../enums";
10
10
  import type { StyleType } from "@khanacademy/wonder-blocks-core";
11
11
  declare interface ReduxProps {
12
12
  active?: boolean;
@@ -48,10 +48,10 @@ declare var _default: $Flowgen$Import$react_2d_redux.ConnectedComponent<
48
48
  {| ...React.ClassAttributes<KeypadContainer>, ...Props |},
49
49
  | "active"
50
50
  | "extraKeys"
51
- | "navigationPadEnabled"
52
- | "keypadType"
53
51
  | "onPageSizeChange"
52
+ | "keypadType"
54
53
  | "layoutMode"
54
+ | "navigationPadEnabled"
55
55
  >
56
56
  >;
57
57
  declare export default typeof _default;
@@ -3,7 +3,7 @@
3
3
  * and manages the rendering of echo animations on top of those buttons.
4
4
  */
5
5
  import * as React from "react";
6
- import type { Popover, Echo } from "../types";
6
+ import type { Bound, Popover, Echo } from "../../types";
7
7
  import type { StyleType } from "@khanacademy/wonder-blocks-core";
8
8
  interface ReduxProps {
9
9
  active: boolean;
@@ -18,7 +18,7 @@ interface Props extends ReduxProps {
18
18
  declare class Keypad extends React.Component<Props> {
19
19
  _isMounted: boolean | undefined;
20
20
  _resizeTimeout: number | null | undefined;
21
- _container: DOMRect | null | undefined;
21
+ _container: Bound | null | undefined;
22
22
  componentDidMount(): void;
23
23
  UNSAFE_componentWillReceiveProps(newProps: any): void;
24
24
  componentWillUnmount(): void;
@@ -27,5 +27,5 @@ declare class Keypad extends React.Component<Props> {
27
27
  _onResize: () => void;
28
28
  render(): JSX.Element;
29
29
  }
30
- declare const _default: import("react-redux").ConnectedComponent<typeof Keypad, import("react-redux").Omit<React.ClassAttributes<Keypad> & Props, "popover" | "echoes" | "removeEcho" | "active">>;
30
+ declare const _default: import("react-redux").ConnectedComponent<typeof Keypad, import("react-redux").Omit<React.ClassAttributes<Keypad> & Props, "popover" | "active" | "echoes" | "removeEcho">>;
31
31
  export default _default;
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import * as $Flowgen$Import$react_2d_redux from "react-redux";
8
8
  import * as React from "react";
9
- import type { Popover, Echo } from "../types";
9
+ import type { Bound, Popover, Echo } from "../../types";
10
10
  import type { StyleType } from "@khanacademy/wonder-blocks-core";
11
11
  declare interface ReduxProps {
12
12
  active: boolean;
@@ -21,7 +21,7 @@ declare type Props = {
21
21
  declare class Keypad extends React.Component<Props> {
22
22
  _isMounted: boolean | void;
23
23
  _resizeTimeout: number | null | void;
24
- _container: DOMRect | null | void;
24
+ _container: Bound | null | void;
25
25
  componentDidMount(): void;
26
26
  UNSAFE_componentWillReceiveProps(newProps: any): void;
27
27
  componentWillUnmount(): void;
@@ -34,7 +34,7 @@ declare var _default: $Flowgen$Import$react_2d_redux.ConnectedComponent<
34
34
  typeof Keypad,
35
35
  $Flowgen$Import$react_2d_redux.Omit<
36
36
  {| ...React.ClassAttributes<Keypad>, ...Props |},
37
- "popover" | "echoes" | "removeEcho" | "active"
37
+ "popover" | "active" | "echoes" | "removeEcho"
38
38
  >
39
39
  >;
40
40
  declare export default typeof _default;
@@ -3,7 +3,7 @@
3
3
  * symbols provided. Up to four symbols will be shown.
4
4
  */
5
5
  import * as React from "react";
6
- import { IconConfig } from "../types";
6
+ import { IconConfig } from "../../types";
7
7
  type Props = {
8
8
  focused: boolean;
9
9
  icons: ReadonlyArray<IconConfig>;
@@ -5,7 +5,7 @@
5
5
  * @flow
6
6
  */
7
7
  import * as React from "react";
8
- import { IconConfig } from "../types";
8
+ import { IconConfig } from "../../types";
9
9
  declare type Props = {|
10
10
  focused: boolean,
11
11
  icons: $ReadOnlyArray<IconConfig>,
@@ -2,7 +2,7 @@
2
2
  * A popover that renders a set of keys floating above the page.
3
3
  */
4
4
  import * as React from "react";
5
- import { KeyConfig } from "../types";
5
+ import { KeyConfig } from "../../types";
6
6
  type Prop = {
7
7
  keys: ReadonlyArray<KeyConfig>;
8
8
  };
@@ -5,7 +5,7 @@
5
5
  * @flow
6
6
  */
7
7
  import * as React from "react";
8
- import { KeyConfig } from "../types";
8
+ import { KeyConfig } from "../../types";
9
9
  declare type Prop = {|
10
10
  keys: $ReadOnlyArray<KeyConfig>,
11
11
  |};
@@ -1,4 +1,4 @@
1
- import type { Border, LayoutProps } from "../types";
1
+ import { LayoutProps, Bound } from "../../types";
2
2
  /**
3
3
  * A manager for our node-to-ID system. In particular, this class is
4
4
  * responsible for maintaing a mapping between DOM nodes and node IDs, and
@@ -8,9 +8,8 @@ import type { Border, LayoutProps } from "../types";
8
8
  */
9
9
  declare class NodeManager {
10
10
  _nodesById: Record<string, HTMLElement>;
11
- _bordersById: Record<string, Border>;
12
11
  _orderedIds: ReadonlyArray<string>;
13
- _cachedBoundingBoxesById: Record<string, DOMRect>;
12
+ _cachedBoundingBoxesById: Record<string, Bound>;
14
13
  constructor();
15
14
  /**
16
15
  * Register a DOM node with a given identifier.
@@ -19,7 +18,7 @@ declare class NodeManager {
19
18
  * @param {node} domNode - the DOM node linked to the identifier
20
19
  * @param {object} borders - an opaque object describing the node's borders
21
20
  */
22
- registerDOMNode(id: string, domNode: HTMLElement, childIds: ReadonlyArray<string>, borders: Border): void;
21
+ registerDOMNode(id: string, domNode: HTMLElement, childIds: ReadonlyArray<string>): void;
23
22
  /**
24
23
  * Unregister the DOM node with the given identifier.
25
24
  *
@@ -4,7 +4,7 @@
4
4
  * Flowgen v1.21.0
5
5
  * @flow
6
6
  */
7
- import type { Border, LayoutProps } from "../types";
7
+ import { LayoutProps, Bound } from "../../types";
8
8
 
9
9
  /**
10
10
  * A manager for our node-to-ID system. In particular, this class is
@@ -15,9 +15,8 @@ import type { Border, LayoutProps } from "../types";
15
15
  */
16
16
  declare class NodeManager {
17
17
  _nodesById: { [key: string]: HTMLElement };
18
- _bordersById: { [key: string]: Border };
19
18
  _orderedIds: $ReadOnlyArray<string>;
20
- _cachedBoundingBoxesById: { [key: string]: DOMRect };
19
+ _cachedBoundingBoxesById: { [key: string]: Bound };
21
20
  constructor(): this;
22
21
 
23
22
  /**
@@ -29,8 +28,7 @@ declare class NodeManager {
29
28
  registerDOMNode(
30
29
  id: string,
31
30
  domNode: HTMLElement,
32
- childIds: $ReadOnlyArray<string>,
33
- borders: Border
31
+ childIds: $ReadOnlyArray<string>
34
32
  ): void;
35
33
 
36
34
  /**
@@ -3,7 +3,7 @@
3
3
  * multi-functional keys.
4
4
  */
5
5
  import * as React from "react";
6
- import type { Popover } from "../types";
6
+ import type { Popover } from "../../types";
7
7
  type PopoverManagerProps = {
8
8
  popover: Popover | null;
9
9
  };
@@ -5,7 +5,7 @@
5
5
  * @flow
6
6
  */
7
7
  import * as React from "react";
8
- import type { Popover } from "../types";
8
+ import type { Popover } from "../../types";
9
9
  declare type PopoverManagerProps = {|
10
10
  popover: Popover | null,
11
11
  |};
@@ -1,4 +1,4 @@
1
- import type { ActiveNodesObj } from "../types";
1
+ import type { ActiveNodesObj } from "../../types";
2
2
  /**
3
3
  * A state machine for the popover state. In particular, this class manages the
4
4
  * mapping of parent nodes to their children, and translates touch events that
@@ -4,7 +4,7 @@
4
4
  * Flowgen v1.21.0
5
5
  * @flow
6
6
  */
7
- import type { ActiveNodesObj } from "../types";
7
+ import type { ActiveNodesObj } from "../../types";
8
8
 
9
9
  /**
10
10
  * A state machine for the popover state. In particular, this class manages the
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import ReactDOM from "react-dom";
3
- import type { Cursor, KeypadConfiguration, KeyHandler } from "../types";
3
+ import type { Cursor, KeypadConfiguration, KeyHandler } from "../../types";
4
4
  import type { StyleType } from "@khanacademy/wonder-blocks-core";
5
5
  type Props = {
6
6
  onElementMounted?: (arg1: any) => void;
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import * as React from "react";
8
8
  import ReactDOM from "react-dom";
9
- import type { Cursor, KeypadConfiguration, KeyHandler } from "../types";
9
+ import type { Cursor, KeypadConfiguration, KeyHandler } from "../../types";
10
10
  import type { StyleType } from "@khanacademy/wonder-blocks-core";
11
11
  declare type Props = {|
12
12
  onElementMounted?: (arg1: any) => void,
@@ -1,5 +1,5 @@
1
- import Keys from "../data/keys";
2
- import type { KeypadConfiguration, KeyHandler, Cursor, ActiveNodesObj, Border } from "../types";
1
+ import Keys from "../../../data/keys";
2
+ import type { Bound, KeypadConfiguration, KeyHandler, Cursor, ActiveNodesObj } from "../../../types";
3
3
  type DismissKeypadAction = {
4
4
  type: "DismissKeypad";
5
5
  };
@@ -55,10 +55,9 @@ export declare const setActiveNodes: (activeNodes: ActiveNodesObj) => SetActiveN
55
55
  type PressKeyAction = {
56
56
  type: "PressKey";
57
57
  key: Keys;
58
- borders: Border;
59
- initialBounds: DOMRect;
58
+ initialBounds: Bound;
60
59
  inPopover: boolean;
61
60
  };
62
- export declare const pressKey: (key: Keys, borders: readonly (import("../enums").BorderDirection | undefined)[], initialBounds: DOMRect, inPopover: any) => PressKeyAction;
61
+ export declare const pressKey: (key: Keys, initialBounds: Bound, inPopover: any) => PressKeyAction;
63
62
  export type Action = DismissKeypadAction | ActivateKeypadAction | ConfigureKeypadAction | SetPageSizeAction | RemoveEchoAction | SetKeyHandlerAction | SetCursorAction | OnSwipeChangeAction | OnSwipeEndAction | SetActiveNodesAction | PressKeyAction;
64
63
  export {};
@@ -4,15 +4,14 @@
4
4
  * Flowgen v1.21.0
5
5
  * @flow
6
6
  */
7
- import * as $Flowgen$Import$_2e__2e__2f_enums from "../enums";
8
- import Keys from "../data/keys";
7
+ import Keys from "../../../data/keys";
9
8
  import type {
9
+ Bound,
10
10
  KeypadConfiguration,
11
11
  KeyHandler,
12
12
  Cursor,
13
13
  ActiveNodesObj,
14
- Border,
15
- } from "../types";
14
+ } from "../../../types";
16
15
  declare type DismissKeypadAction = {|
17
16
  type: "DismissKeypad",
18
17
  |};
@@ -77,14 +76,12 @@ declare export var setActiveNodes: (
77
76
  declare type PressKeyAction = {|
78
77
  type: "PressKey",
79
78
  key: Keys,
80
- borders: Border,
81
- initialBounds: DOMRect,
79
+ initialBounds: Bound,
82
80
  inPopover: boolean,
83
81
  |};
84
82
  declare export var pressKey: (
85
83
  key: Keys,
86
- borders: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_enums.BorderDirection | void>,
87
- initialBounds: DOMRect,
84
+ initialBounds: Bound,
88
85
  inPopover: any
89
86
  ) => PressKeyAction;
90
87
  export type Action =
@@ -3,7 +3,6 @@ import type { GestureState } from "./types";
3
3
  export declare const createStore: () => Redux.Store<Redux.EmptyObject & {
4
4
  input: import("./types").InputState;
5
5
  keypad: import("./types").KeypadState;
6
- pager: import("./types").PagerState;
7
6
  gestures: GestureState;
8
7
  echoes: import("./types").EchoState;
9
8
  layout: import("./types").LayoutState;
@@ -13,7 +13,6 @@ declare export var createStore: () => Redux.Store<
13
13
  ...{|
14
14
  input: $Flowgen$Import$_2e__2f_types.InputState,
15
15
  keypad: $Flowgen$Import$_2e__2f_types.KeypadState,
16
- pager: $Flowgen$Import$_2e__2f_types.PagerState,
17
16
  gestures: GestureState,
18
17
  echoes: $Flowgen$Import$_2e__2f_types.EchoState,
19
18
  layout: $Flowgen$Import$_2e__2f_types.LayoutState,
@@ -0,0 +1,7 @@
1
+ import { KeypadType } from "../../../enums";
2
+ declare const defaultKeypadType = KeypadType.EXPRESSION;
3
+ declare const keypadForType: {
4
+ readonly FRACTION: import("../../../types").KeypadLayout;
5
+ readonly EXPRESSION: import("../../../types").KeypadLayout;
6
+ };
7
+ export { keypadForType, defaultKeypadType };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Flowtype definitions for data
3
+ * Generated by Flowgen from a Typescript Definition
4
+ * Flowgen v1.21.0
5
+ * @flow
6
+ */
7
+ import * as $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_types from "../../../types";
8
+ import { KeypadType } from "../../../enums";
9
+ declare var defaultKeypadType: KeypadType.EXPRESSION;
10
+ declare var keypadForType: {|
11
+ +FRACTION: $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_types.KeypadLayout,
12
+ +EXPRESSION: $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_types.KeypadLayout,
13
+ |};
14
+ declare export { keypadForType, defaultKeypadType };
@@ -1,8 +1,7 @@
1
- import GestureManager from "../components/gesture-manager";
2
- import VelocityTracker from "../components/velocity-tracker";
3
- import Keys from "../data/keys";
4
- import { LayoutMode, KeypadType } from "../enums";
5
- import type { Cursor, KeyHandler, Popover, Echo } from "../types";
1
+ import Keys from "../../../data/keys";
2
+ import { LayoutMode, KeypadType } from "../../../enums";
3
+ import GestureManager from "../gesture-manager";
4
+ import type { Cursor, KeyHandler, Popover, Echo } from "../../../types";
6
5
  export interface InputState {
7
6
  keyHandler: KeyHandler | null;
8
7
  cursor: Cursor | undefined;
@@ -12,14 +11,6 @@ export interface KeypadState {
12
11
  keypadType: KeypadType;
13
12
  active: boolean;
14
13
  }
15
- export interface PagerState {
16
- animateToPosition: boolean;
17
- currentPage: number;
18
- dx: number;
19
- numPages: number;
20
- pageWidthPx: number;
21
- velocityTracker: VelocityTracker;
22
- }
23
14
  export interface GestureState {
24
15
  popover: Popover | null;
25
16
  focus: Keys | null;
@@ -50,7 +41,6 @@ export interface LayoutState {
50
41
  export interface State {
51
42
  input: InputState;
52
43
  keypad: KeypadState;
53
- pager: PagerState;
54
44
  gestures: GestureState;
55
45
  echoes: EchoState;
56
46
  layout: LayoutState;
@@ -4,11 +4,10 @@
4
4
  * Flowgen v1.21.0
5
5
  * @flow
6
6
  */
7
- import GestureManager from "../components/gesture-manager";
8
- import VelocityTracker from "../components/velocity-tracker";
9
- import Keys from "../data/keys";
10
- import { LayoutMode, KeypadType } from "../enums";
11
- import type { Cursor, KeyHandler, Popover, Echo } from "../types";
7
+ import Keys from "../../../data/keys";
8
+ import { LayoutMode, KeypadType } from "../../../enums";
9
+ import GestureManager from "../gesture-manager";
10
+ import type { Cursor, KeyHandler, Popover, Echo } from "../../../types";
12
11
  export interface InputState {
13
12
  keyHandler: KeyHandler | null;
14
13
  cursor: Cursor | void;
@@ -18,14 +17,6 @@ export interface KeypadState {
18
17
  keypadType: KeypadType;
19
18
  active: boolean;
20
19
  }
21
- export interface PagerState {
22
- animateToPosition: boolean;
23
- currentPage: number;
24
- dx: number;
25
- numPages: number;
26
- pageWidthPx: number;
27
- velocityTracker: VelocityTracker;
28
- }
29
20
  export interface GestureState {
30
21
  popover: Popover | null;
31
22
  focus: Keys | null;
@@ -56,7 +47,6 @@ export interface LayoutState {
56
47
  export interface State {
57
48
  input: InputState;
58
49
  keypad: KeypadState;
59
- pager: PagerState;
60
50
  gestures: GestureState;
61
51
  echoes: EchoState;
62
52
  layout: LayoutState;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * A touchable wrapper around the base KeypadButton component. This button is
3
+ * responsible for keeping our button ID system (which will be used to handle
4
+ * touch events globally) opaque to the KeypadButton.
5
+ */
6
+ import * as React from "react";
7
+ import Keys from "../../data/keys";
8
+ import { KeyType } from "../../enums";
9
+ import GestureManager from "./gesture-manager";
10
+ import type { Border, IconConfig, KeyConfig, NonManyKeyConfig } from "../../types";
11
+ import type { StyleType } from "@khanacademy/wonder-blocks-core";
12
+ interface SharedProps {
13
+ borders?: Border;
14
+ disabled?: boolean;
15
+ style?: StyleType;
16
+ }
17
+ interface OwnProps extends SharedProps {
18
+ keyConfig: KeyConfig;
19
+ }
20
+ interface Props extends SharedProps {
21
+ childKeyIds?: ReadonlyArray<string>;
22
+ gestureManager: GestureManager;
23
+ id: Keys | "MANY";
24
+ focused: boolean;
25
+ popoverEnabled: boolean;
26
+ childKeys?: ReadonlyArray<NonManyKeyConfig>;
27
+ ariaLabel?: string;
28
+ icon: IconConfig;
29
+ type: KeyType;
30
+ }
31
+ declare class TouchableKeypadButton extends React.Component<Props> {
32
+ shouldComponentUpdate(newProps: Props): boolean;
33
+ componentWillUnmount(): void;
34
+ render(): JSX.Element;
35
+ }
36
+ declare const _default: import("react-redux").ConnectedComponent<typeof TouchableKeypadButton, import("react-redux").Omit<React.ClassAttributes<TouchableKeypadButton> & Props, "style" | "ariaLabel" | "focused" | "icon" | "borders" | "childKeys" | "disabled" | "popoverEnabled" | "type" | "gestureManager" | "childKeyIds" | "id"> & OwnProps>;
37
+ export default _default;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Flowtype definitions for data
3
+ * Generated by Flowgen from a Typescript Definition
4
+ * Flowgen v1.21.0
5
+ * @flow
6
+ */
7
+ import * as $Flowgen$Import$react_2d_redux from "react-redux";
8
+ import * as React from "react";
9
+ import Keys from "../../data/keys";
10
+ import { KeyType } from "../../enums";
11
+ import GestureManager from "./gesture-manager";
12
+ import type {
13
+ Border,
14
+ IconConfig,
15
+ KeyConfig,
16
+ NonManyKeyConfig,
17
+ } from "../../types";
18
+ import type { StyleType } from "@khanacademy/wonder-blocks-core";
19
+ declare interface SharedProps {
20
+ borders?: Border;
21
+ disabled?: boolean;
22
+ style?: StyleType;
23
+ }
24
+ declare type OwnProps = {
25
+ keyConfig: KeyConfig,
26
+ } & SharedProps;
27
+ declare type Props = {
28
+ childKeyIds?: $ReadOnlyArray<string>,
29
+ gestureManager: GestureManager,
30
+ id: Keys | "MANY",
31
+ focused: boolean,
32
+ popoverEnabled: boolean,
33
+ childKeys?: $ReadOnlyArray<NonManyKeyConfig>,
34
+ ariaLabel?: string,
35
+ icon: IconConfig,
36
+ type: KeyType,
37
+ } & SharedProps;
38
+ declare class TouchableKeypadButton extends React.Component<Props> {
39
+ shouldComponentUpdate(newProps: Props): boolean;
40
+ componentWillUnmount(): void;
41
+ render(): React$Node;
42
+ }
43
+ declare var _default: $Flowgen$Import$react_2d_redux.ConnectedComponent<
44
+ typeof TouchableKeypadButton,
45
+ {|
46
+ ...$Flowgen$Import$react_2d_redux.Omit<
47
+ {| ...React.ClassAttributes<TouchableKeypadButton>, ...Props |},
48
+ | "style"
49
+ | "ariaLabel"
50
+ | "focused"
51
+ | "icon"
52
+ | "borders"
53
+ | "childKeys"
54
+ | "disabled"
55
+ | "popoverEnabled"
56
+ | "type"
57
+ | "gestureManager"
58
+ | "childKeyIds"
59
+ | "id"
60
+ >,
61
+ ...OwnProps,
62
+ |}
63
+ >;
64
+ declare export default typeof _default;
@@ -6,7 +6,6 @@ interface ReduxProps {
6
6
  paginationEnabled: boolean;
7
7
  }
8
8
  interface Props extends ReduxProps {
9
- currentPage: number;
10
9
  leftPage: React.ReactNode;
11
10
  rightPage: React.ReactNode;
12
11
  }
@@ -10,7 +10,6 @@ declare interface ReduxProps {
10
10
  paginationEnabled: boolean;
11
11
  }
12
12
  declare type Props = {
13
- currentPage: number,
14
13
  leftPage: React.Node,
15
14
  rightPage: React.Node,
16
15
  } & ReduxProps;
@@ -3,5 +3,7 @@ export type KeyConfig = {
3
3
  type: string;
4
4
  ariaLabel: string;
5
5
  };
6
- declare const KeyConfigs: any;
6
+ declare const KeyConfigs: {
7
+ [key: string]: any;
8
+ };
7
9
  export default KeyConfigs;
@@ -9,5 +9,7 @@ export type KeyConfig = {|
9
9
  type: string,
10
10
  ariaLabel: string,
11
11
  |};
12
- declare var KeyConfigs: any;
12
+ declare var KeyConfigs: {
13
+ [key: string]: any,
14
+ };
13
15
  declare export default typeof KeyConfigs;
@@ -49,8 +49,6 @@ declare enum Keys {
49
49
  JUMP_INTO_NUMERATOR = "JUMP_INTO_NUMERATOR",
50
50
  JUMP_OUT_NUMERATOR = "JUMP_OUT_NUMERATOR",
51
51
  JUMP_OUT_DENOMINATOR = "JUMP_OUT_DENOMINATOR",
52
- NOOP = "NOOP",
53
- FRAC_MULTI = "FRAC_MULTI",
54
- MANY = "MANY"
52
+ NOOP = "NOOP"
55
53
  }
56
54
  export default Keys;
@@ -57,7 +57,5 @@ declare var Keys: {|
57
57
  +JUMP_OUT_NUMERATOR: "JUMP_OUT_NUMERATOR", // "JUMP_OUT_NUMERATOR"
58
58
  +JUMP_OUT_DENOMINATOR: "JUMP_OUT_DENOMINATOR", // "JUMP_OUT_DENOMINATOR"
59
59
  +NOOP: "NOOP", // "NOOP"
60
- +FRAC_MULTI: "FRAC_MULTI", // "FRAC_MULTI"
61
- +MANY: "MANY", // "MANY"
62
60
  |};
63
61
  declare export default typeof Keys;