@khanacademy/math-input 15.1.0 → 16.1.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 (145) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/aphrodite-css-transition-group/util.d.ts +2 -1
  3. package/dist/components/input/math-wrapper.d.ts +1 -1
  4. package/dist/components/keypad/index.d.ts +1 -1
  5. package/dist/components/keypad/mobile-keypad-internals.d.ts +49 -0
  6. package/dist/components/keypad/mobile-keypad.d.ts +4 -48
  7. package/dist/data/key-configs.d.ts +1 -1
  8. package/dist/es/index.js +171 -4744
  9. package/dist/es/index.js.map +1 -1
  10. package/dist/fake-react-native-web/view.d.ts +2 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.js +168 -4722
  13. package/dist/index.js.map +1 -1
  14. package/package.json +2 -2
  15. package/src/components/__tests__/integration.test.tsx +2 -3
  16. package/src/components/input/math-input.tsx +1 -0
  17. package/src/components/input/math-wrapper.ts +2 -2
  18. package/src/components/keypad/__tests__/mobile-keypad.test.tsx +8 -8
  19. package/src/components/keypad/index.tsx +1 -1
  20. package/src/components/keypad/mobile-keypad-internals.tsx +240 -0
  21. package/src/components/keypad/mobile-keypad.tsx +21 -234
  22. package/src/data/key-configs.ts +1 -1
  23. package/src/full-mobile-input.stories.tsx +0 -1
  24. package/src/index.ts +1 -1
  25. package/tsconfig-build.tsbuildinfo +1 -1
  26. package/dist/components/keypad-legacy/compute-layout-parameters.d.ts +0 -28
  27. package/dist/components/keypad-legacy/corner-decal.d.ts +0 -12
  28. package/dist/components/keypad-legacy/echo-manager.d.ts +0 -17
  29. package/dist/components/keypad-legacy/empty-keypad-button.d.ts +0 -13
  30. package/dist/components/keypad-legacy/expression-keypad.d.ts +0 -21
  31. package/dist/components/keypad-legacy/fraction-keypad.d.ts +0 -21
  32. package/dist/components/keypad-legacy/gesture-manager.d.ts +0 -86
  33. package/dist/components/keypad-legacy/gesture-state-machine.d.ts +0 -105
  34. package/dist/components/keypad-legacy/icon.d.ts +0 -15
  35. package/dist/components/keypad-legacy/index.d.ts +0 -1
  36. package/dist/components/keypad-legacy/keypad-button.d.ts +0 -53
  37. package/dist/components/keypad-legacy/keypad-container.d.ts +0 -41
  38. package/dist/components/keypad-legacy/keypad.d.ts +0 -31
  39. package/dist/components/keypad-legacy/many-keypad-button.d.ts +0 -15
  40. package/dist/components/keypad-legacy/math-icon.d.ts +0 -16
  41. package/dist/components/keypad-legacy/multi-symbol-grid.d.ts +0 -14
  42. package/dist/components/keypad-legacy/multi-symbol-popover.d.ts +0 -12
  43. package/dist/components/keypad-legacy/navigation-pad.d.ts +0 -14
  44. package/dist/components/keypad-legacy/node-manager.d.ts +0 -49
  45. package/dist/components/keypad-legacy/popover-manager.d.ts +0 -13
  46. package/dist/components/keypad-legacy/popover-state-machine.d.ts +0 -68
  47. package/dist/components/keypad-legacy/provided-keypad.d.ts +0 -28
  48. package/dist/components/keypad-legacy/store/actions.d.ts +0 -55
  49. package/dist/components/keypad-legacy/store/echo-reducer.d.ts +0 -4
  50. package/dist/components/keypad-legacy/store/index.d.ts +0 -9
  51. package/dist/components/keypad-legacy/store/input-reducer.d.ts +0 -4
  52. package/dist/components/keypad-legacy/store/keypad-reducer.d.ts +0 -4
  53. package/dist/components/keypad-legacy/store/layout-reducer.d.ts +0 -4
  54. package/dist/components/keypad-legacy/store/shared.d.ts +0 -7
  55. package/dist/components/keypad-legacy/store/types.d.ts +0 -47
  56. package/dist/components/keypad-legacy/styles.d.ts +0 -5
  57. package/dist/components/keypad-legacy/svg-icon.d.ts +0 -12
  58. package/dist/components/keypad-legacy/text-icon.d.ts +0 -13
  59. package/dist/components/keypad-legacy/touchable-keypad-button.d.ts +0 -37
  60. package/dist/components/keypad-legacy/two-page-keypad.d.ts +0 -21
  61. package/dist/components/keypad-legacy/z-indexes.d.ts +0 -7
  62. package/dist/components/keypad-switch.d.ts +0 -12
  63. package/src/components/keypad-legacy/__tests__/gesture-state-machine.test.ts +0 -441
  64. package/src/components/keypad-legacy/__tests__/node-manager.test.ts +0 -89
  65. package/src/components/keypad-legacy/compute-layout-parameters.ts +0 -205
  66. package/src/components/keypad-legacy/corner-decal.tsx +0 -56
  67. package/src/components/keypad-legacy/echo-manager.tsx +0 -152
  68. package/src/components/keypad-legacy/empty-keypad-button.tsx +0 -58
  69. package/src/components/keypad-legacy/expression-keypad.tsx +0 -315
  70. package/src/components/keypad-legacy/fraction-keypad.tsx +0 -180
  71. package/src/components/keypad-legacy/gesture-manager.ts +0 -255
  72. package/src/components/keypad-legacy/gesture-state-machine.ts +0 -329
  73. package/src/components/keypad-legacy/icon.tsx +0 -72
  74. package/src/components/keypad-legacy/iconography/arrow.js +0 -22
  75. package/src/components/keypad-legacy/iconography/backspace.js +0 -29
  76. package/src/components/keypad-legacy/iconography/cdot.js +0 -29
  77. package/src/components/keypad-legacy/iconography/cos.js +0 -30
  78. package/src/components/keypad-legacy/iconography/cube-root.js +0 -36
  79. package/src/components/keypad-legacy/iconography/dismiss.js +0 -25
  80. package/src/components/keypad-legacy/iconography/divide.js +0 -34
  81. package/src/components/keypad-legacy/iconography/down.js +0 -16
  82. package/src/components/keypad-legacy/iconography/equal.js +0 -33
  83. package/src/components/keypad-legacy/iconography/exp-2.js +0 -29
  84. package/src/components/keypad-legacy/iconography/exp-3.js +0 -29
  85. package/src/components/keypad-legacy/iconography/exp.js +0 -29
  86. package/src/components/keypad-legacy/iconography/frac.js +0 -44
  87. package/src/components/keypad-legacy/iconography/geq.js +0 -33
  88. package/src/components/keypad-legacy/iconography/gt.js +0 -33
  89. package/src/components/keypad-legacy/iconography/index.js +0 -45
  90. package/src/components/keypad-legacy/iconography/jump-into-numerator.js +0 -41
  91. package/src/components/keypad-legacy/iconography/jump-out-base.js +0 -30
  92. package/src/components/keypad-legacy/iconography/jump-out-denominator.js +0 -41
  93. package/src/components/keypad-legacy/iconography/jump-out-exponent.js +0 -30
  94. package/src/components/keypad-legacy/iconography/jump-out-numerator.js +0 -41
  95. package/src/components/keypad-legacy/iconography/jump-out-parentheses.js +0 -33
  96. package/src/components/keypad-legacy/iconography/left-paren.js +0 -33
  97. package/src/components/keypad-legacy/iconography/left.js +0 -16
  98. package/src/components/keypad-legacy/iconography/leq.js +0 -33
  99. package/src/components/keypad-legacy/iconography/ln.js +0 -29
  100. package/src/components/keypad-legacy/iconography/log-n.js +0 -29
  101. package/src/components/keypad-legacy/iconography/log.js +0 -29
  102. package/src/components/keypad-legacy/iconography/lt.js +0 -33
  103. package/src/components/keypad-legacy/iconography/minus.js +0 -32
  104. package/src/components/keypad-legacy/iconography/neq.js +0 -33
  105. package/src/components/keypad-legacy/iconography/parens.js +0 -33
  106. package/src/components/keypad-legacy/iconography/percent.js +0 -49
  107. package/src/components/keypad-legacy/iconography/period.js +0 -26
  108. package/src/components/keypad-legacy/iconography/plus.js +0 -32
  109. package/src/components/keypad-legacy/iconography/radical.js +0 -36
  110. package/src/components/keypad-legacy/iconography/right-paren.js +0 -33
  111. package/src/components/keypad-legacy/iconography/right.js +0 -16
  112. package/src/components/keypad-legacy/iconography/sin.js +0 -30
  113. package/src/components/keypad-legacy/iconography/sqrt.js +0 -32
  114. package/src/components/keypad-legacy/iconography/tan.js +0 -30
  115. package/src/components/keypad-legacy/iconography/times.js +0 -33
  116. package/src/components/keypad-legacy/iconography/up.js +0 -16
  117. package/src/components/keypad-legacy/index.ts +0 -1
  118. package/src/components/keypad-legacy/keypad-button.tsx +0 -368
  119. package/src/components/keypad-legacy/keypad-container.tsx +0 -358
  120. package/src/components/keypad-legacy/keypad.tsx +0 -162
  121. package/src/components/keypad-legacy/many-keypad-button.tsx +0 -54
  122. package/src/components/keypad-legacy/math-icon.tsx +0 -66
  123. package/src/components/keypad-legacy/multi-symbol-grid.tsx +0 -182
  124. package/src/components/keypad-legacy/multi-symbol-popover.tsx +0 -58
  125. package/src/components/keypad-legacy/navigation-pad.tsx +0 -140
  126. package/src/components/keypad-legacy/node-manager.ts +0 -133
  127. package/src/components/keypad-legacy/popover-manager.tsx +0 -73
  128. package/src/components/keypad-legacy/popover-state-machine.ts +0 -184
  129. package/src/components/keypad-legacy/provided-keypad.tsx +0 -136
  130. package/src/components/keypad-legacy/store/actions.ts +0 -155
  131. package/src/components/keypad-legacy/store/echo-reducer.ts +0 -57
  132. package/src/components/keypad-legacy/store/index.ts +0 -110
  133. package/src/components/keypad-legacy/store/input-reducer.ts +0 -55
  134. package/src/components/keypad-legacy/store/keypad-reducer.ts +0 -58
  135. package/src/components/keypad-legacy/store/layout-reducer.test.ts +0 -171
  136. package/src/components/keypad-legacy/store/layout-reducer.ts +0 -129
  137. package/src/components/keypad-legacy/store/shared.ts +0 -12
  138. package/src/components/keypad-legacy/store/types.ts +0 -78
  139. package/src/components/keypad-legacy/styles.ts +0 -38
  140. package/src/components/keypad-legacy/svg-icon.tsx +0 -24
  141. package/src/components/keypad-legacy/text-icon.tsx +0 -53
  142. package/src/components/keypad-legacy/touchable-keypad-button.tsx +0 -163
  143. package/src/components/keypad-legacy/two-page-keypad.tsx +0 -115
  144. package/src/components/keypad-legacy/z-indexes.ts +0 -8
  145. package/src/components/keypad-switch.tsx +0 -42
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @khanacademy/math-input
2
2
 
3
+ ## 16.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#794](https://github.com/Khan/perseus/pull/794) [`a91c84fe`](https://github.com/Khan/perseus/commit/a91c84fe53827ff4333220777a9918882b7fe9f0) Thanks [@SonicScrewdriver](https://github.com/SonicScrewdriver)! - Removing the useV2Keypad apiOption as the V1 keypad is no longer in use.
8
+
9
+ ### Patch Changes
10
+
11
+ - [#814](https://github.com/Khan/perseus/pull/814) [`105d2060`](https://github.com/Khan/perseus/commit/105d20603d935d35cff237b17f0bfb57ca751e4c) Thanks [@jeremywiebe](https://github.com/jeremywiebe)! - Minor build change to how we provide Typescript type definitions (should be no change to build output).
12
+
13
+ - Updated dependencies [[`a91c84fe`](https://github.com/Khan/perseus/commit/a91c84fe53827ff4333220777a9918882b7fe9f0), [`105d2060`](https://github.com/Khan/perseus/commit/105d20603d935d35cff237b17f0bfb57ca751e4c)]:
14
+ - @khanacademy/perseus-core@1.4.0
15
+
16
+ ## 16.0.0
17
+
18
+ ### Major Changes
19
+
20
+ - [#825](https://github.com/Khan/perseus/pull/825) [`7cb40e4c`](https://github.com/Khan/perseus/commit/7cb40e4c919be50e5ced41e4937178bbf849ec74) Thanks [@benchristel](https://github.com/benchristel)! - We've removed the deprecated `useV2Keypad` prop from the MobileKeypad component.
21
+
22
+ The V2 keypad is now the default, and the old keypad has been removed.
23
+
24
+ Additionally, the mobile keypad no longer accepts the `keypadActive` or
25
+ `setKeypadActive` props. It now gets those values itself from the `KeypadContext`.
26
+
3
27
  ## 15.1.0
4
28
 
5
29
  ### Minor Changes
@@ -1,7 +1,8 @@
1
+ /// <reference path="../../../types/aphrodite.d.ts" />
1
2
  import type { InAnimationStyles } from "./types";
2
3
  import type { StyleType } from "@khanacademy/wonder-blocks-core";
3
4
  export declare function processStyleType(style?: StyleType): {
4
5
  className: string;
5
6
  style: Record<any, any>;
6
7
  };
7
- export declare const createTransition: (styles: InAnimationStyles) => any;
8
+ export declare const createTransition: (styles: InAnimationStyles) => import("aphrodite").StyleDeclaration;
@@ -1,6 +1,6 @@
1
+ import type { MathFieldInterface } from "./mathquill-types";
1
2
  import type Key from "../../data/keys";
2
3
  import type { Cursor } from "../../types";
3
- import type { MathFieldInterface } from "./mathquill-types";
4
4
  /**
5
5
  * This file contains a wrapper around MathQuill so that we can provide a
6
6
  * more regular interface for the functionality we need while insulating us
@@ -1,2 +1,2 @@
1
1
  export { default } from "./keypad";
2
- export { default as MobileKeypad } from "./mobile-keypad";
2
+ export { MobileKeypad } from "./mobile-keypad";
@@ -0,0 +1,49 @@
1
+ import * as React from "react";
2
+ import ReactDOM from "react-dom";
3
+ import type Key from "../../data/keys";
4
+ import type { Cursor, KeypadConfiguration, KeyHandler, KeypadAPI } from "../../types";
5
+ import type { AnalyticsEventHandlerFn } from "@khanacademy/perseus-core";
6
+ import type { StyleType } from "@khanacademy/wonder-blocks-core";
7
+ type Props = {
8
+ onElementMounted?: (arg1: any) => void;
9
+ onDismiss?: () => void;
10
+ style?: StyleType;
11
+ onAnalyticsEvent: AnalyticsEventHandlerFn;
12
+ setKeypadActive: (keypadActive: boolean) => void;
13
+ keypadActive: boolean;
14
+ };
15
+ type State = {
16
+ containerWidth: number;
17
+ keypadConfig?: KeypadConfiguration;
18
+ keyHandler?: KeyHandler;
19
+ cursor?: Cursor;
20
+ };
21
+ /**
22
+ * This is the v2 equivalent of v1's ProvidedKeypad. It follows the same
23
+ * external API so that it can be hot-swapped with the v1 keypad and
24
+ * is responsible for connecting the keypad with MathInput and the Renderer.
25
+ *
26
+ * Ideally this strategy of attaching methods on the class component for
27
+ * other components to call will be replaced props/callbacks since React
28
+ * doesn't support this type of code anymore (functional components
29
+ * can't have methods attached to them).
30
+ */
31
+ declare class MobileKeypadInternals extends React.Component<Props, State> implements KeypadAPI {
32
+ _containerRef: React.RefObject<HTMLDivElement>;
33
+ _containerResizeObserver: ResizeObserver | null;
34
+ _throttleResize: boolean;
35
+ state: State;
36
+ componentDidMount(): void;
37
+ componentWillUnmount(): void;
38
+ _resize: () => void;
39
+ _throttleResizeHandler: () => void;
40
+ activate: () => void;
41
+ dismiss: () => void;
42
+ configure: (configuration: KeypadConfiguration, cb: () => void) => void;
43
+ setCursor: (cursor: Cursor) => void;
44
+ setKeyHandler: (keyHandler: KeyHandler) => void;
45
+ getDOMNode: () => ReturnType<typeof ReactDOM.findDOMNode>;
46
+ _handleClickKey(key: Key): void;
47
+ render(): React.ReactNode;
48
+ }
49
+ export default MobileKeypadInternals;
@@ -1,49 +1,5 @@
1
1
  import * as React from "react";
2
- import ReactDOM from "react-dom";
3
- import type Key from "../../data/keys";
4
- import type { Cursor, KeypadConfiguration, KeyHandler, KeypadAPI } from "../../types";
5
- import type { AnalyticsEventHandlerFn } from "@khanacademy/perseus-core";
6
- import type { StyleType } from "@khanacademy/wonder-blocks-core";
7
- type Props = {
8
- onElementMounted?: (arg1: any) => void;
9
- onDismiss?: () => void;
10
- style?: StyleType;
11
- onAnalyticsEvent: AnalyticsEventHandlerFn;
12
- setKeypadActive: (keypadActive: boolean) => void;
13
- keypadActive: boolean;
14
- };
15
- type State = {
16
- containerWidth: number;
17
- keypadConfig?: KeypadConfiguration;
18
- keyHandler?: KeyHandler;
19
- cursor?: Cursor;
20
- };
21
- /**
22
- * This is the v2 equivalent of v1's ProvidedKeypad. It follows the same
23
- * external API so that it can be hot-swapped with the v1 keypad and
24
- * is responsible for connecting the keypad with MathInput and the Renderer.
25
- *
26
- * Ideally this strategy of attaching methods on the class component for
27
- * other components to call will be replaced props/callbacks since React
28
- * doesn't support this type of code anymore (functional components
29
- * can't have methods attached to them).
30
- */
31
- declare class MobileKeypad extends React.Component<Props, State> implements KeypadAPI {
32
- _containerRef: React.RefObject<HTMLDivElement>;
33
- _containerResizeObserver: ResizeObserver | null;
34
- _throttleResize: boolean;
35
- state: State;
36
- componentDidMount(): void;
37
- componentWillUnmount(): void;
38
- _resize: () => void;
39
- _throttleResizeHandler: () => void;
40
- activate: () => void;
41
- dismiss: () => void;
42
- configure: (configuration: KeypadConfiguration, cb: () => void) => void;
43
- setCursor: (cursor: Cursor) => void;
44
- setKeyHandler: (keyHandler: KeyHandler) => void;
45
- getDOMNode: () => ReturnType<typeof ReactDOM.findDOMNode>;
46
- _handleClickKey(key: Key): void;
47
- render(): React.ReactNode;
48
- }
49
- export default MobileKeypad;
2
+ import MobileKeypadInternals from "./mobile-keypad-internals";
3
+ type Props = Omit<React.ComponentProps<typeof MobileKeypadInternals>, "keypadActive" | "setKeypadActive">;
4
+ export declare function MobileKeypad(props: Props): JSX.Element;
5
+ export {};
@@ -1,5 +1,5 @@
1
- import type { KeyConfig } from "../types";
2
1
  import type Key from "./keys";
2
+ import type { KeyConfig } from "../types";
3
3
  declare const KeyConfigs: {
4
4
  [key in Key]: KeyConfig;
5
5
  };