@khanacademy/math-input 15.1.0 → 16.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.
- package/CHANGELOG.md +11 -0
- package/dist/components/keypad/index.d.ts +1 -1
- package/dist/components/keypad/mobile-keypad-internals.d.ts +49 -0
- package/dist/components/keypad/mobile-keypad.d.ts +4 -48
- package/dist/es/index.js +168 -4740
- package/dist/es/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +166 -4722
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/__tests__/integration.test.tsx +2 -3
- package/src/components/keypad/__tests__/mobile-keypad.test.tsx +8 -8
- package/src/components/keypad/index.tsx +1 -1
- package/src/components/keypad/mobile-keypad-internals.tsx +240 -0
- package/src/components/keypad/mobile-keypad.tsx +21 -234
- package/src/full-mobile-input.stories.tsx +0 -1
- package/src/index.ts +1 -1
- package/tsconfig-build.tsbuildinfo +1 -1
- package/dist/components/keypad-legacy/compute-layout-parameters.d.ts +0 -28
- package/dist/components/keypad-legacy/corner-decal.d.ts +0 -12
- package/dist/components/keypad-legacy/echo-manager.d.ts +0 -17
- package/dist/components/keypad-legacy/empty-keypad-button.d.ts +0 -13
- package/dist/components/keypad-legacy/expression-keypad.d.ts +0 -21
- package/dist/components/keypad-legacy/fraction-keypad.d.ts +0 -21
- package/dist/components/keypad-legacy/gesture-manager.d.ts +0 -86
- package/dist/components/keypad-legacy/gesture-state-machine.d.ts +0 -105
- package/dist/components/keypad-legacy/icon.d.ts +0 -15
- package/dist/components/keypad-legacy/index.d.ts +0 -1
- package/dist/components/keypad-legacy/keypad-button.d.ts +0 -53
- package/dist/components/keypad-legacy/keypad-container.d.ts +0 -41
- package/dist/components/keypad-legacy/keypad.d.ts +0 -31
- package/dist/components/keypad-legacy/many-keypad-button.d.ts +0 -15
- package/dist/components/keypad-legacy/math-icon.d.ts +0 -16
- package/dist/components/keypad-legacy/multi-symbol-grid.d.ts +0 -14
- package/dist/components/keypad-legacy/multi-symbol-popover.d.ts +0 -12
- package/dist/components/keypad-legacy/navigation-pad.d.ts +0 -14
- package/dist/components/keypad-legacy/node-manager.d.ts +0 -49
- package/dist/components/keypad-legacy/popover-manager.d.ts +0 -13
- package/dist/components/keypad-legacy/popover-state-machine.d.ts +0 -68
- package/dist/components/keypad-legacy/provided-keypad.d.ts +0 -28
- package/dist/components/keypad-legacy/store/actions.d.ts +0 -55
- package/dist/components/keypad-legacy/store/echo-reducer.d.ts +0 -4
- package/dist/components/keypad-legacy/store/index.d.ts +0 -9
- package/dist/components/keypad-legacy/store/input-reducer.d.ts +0 -4
- package/dist/components/keypad-legacy/store/keypad-reducer.d.ts +0 -4
- package/dist/components/keypad-legacy/store/layout-reducer.d.ts +0 -4
- package/dist/components/keypad-legacy/store/shared.d.ts +0 -7
- package/dist/components/keypad-legacy/store/types.d.ts +0 -47
- package/dist/components/keypad-legacy/styles.d.ts +0 -5
- package/dist/components/keypad-legacy/svg-icon.d.ts +0 -12
- package/dist/components/keypad-legacy/text-icon.d.ts +0 -13
- package/dist/components/keypad-legacy/touchable-keypad-button.d.ts +0 -37
- package/dist/components/keypad-legacy/two-page-keypad.d.ts +0 -21
- package/dist/components/keypad-legacy/z-indexes.d.ts +0 -7
- package/dist/components/keypad-switch.d.ts +0 -12
- package/src/components/keypad-legacy/__tests__/gesture-state-machine.test.ts +0 -441
- package/src/components/keypad-legacy/__tests__/node-manager.test.ts +0 -89
- package/src/components/keypad-legacy/compute-layout-parameters.ts +0 -205
- package/src/components/keypad-legacy/corner-decal.tsx +0 -56
- package/src/components/keypad-legacy/echo-manager.tsx +0 -152
- package/src/components/keypad-legacy/empty-keypad-button.tsx +0 -58
- package/src/components/keypad-legacy/expression-keypad.tsx +0 -315
- package/src/components/keypad-legacy/fraction-keypad.tsx +0 -180
- package/src/components/keypad-legacy/gesture-manager.ts +0 -255
- package/src/components/keypad-legacy/gesture-state-machine.ts +0 -329
- package/src/components/keypad-legacy/icon.tsx +0 -72
- package/src/components/keypad-legacy/iconography/arrow.js +0 -22
- package/src/components/keypad-legacy/iconography/backspace.js +0 -29
- package/src/components/keypad-legacy/iconography/cdot.js +0 -29
- package/src/components/keypad-legacy/iconography/cos.js +0 -30
- package/src/components/keypad-legacy/iconography/cube-root.js +0 -36
- package/src/components/keypad-legacy/iconography/dismiss.js +0 -25
- package/src/components/keypad-legacy/iconography/divide.js +0 -34
- package/src/components/keypad-legacy/iconography/down.js +0 -16
- package/src/components/keypad-legacy/iconography/equal.js +0 -33
- package/src/components/keypad-legacy/iconography/exp-2.js +0 -29
- package/src/components/keypad-legacy/iconography/exp-3.js +0 -29
- package/src/components/keypad-legacy/iconography/exp.js +0 -29
- package/src/components/keypad-legacy/iconography/frac.js +0 -44
- package/src/components/keypad-legacy/iconography/geq.js +0 -33
- package/src/components/keypad-legacy/iconography/gt.js +0 -33
- package/src/components/keypad-legacy/iconography/index.js +0 -45
- package/src/components/keypad-legacy/iconography/jump-into-numerator.js +0 -41
- package/src/components/keypad-legacy/iconography/jump-out-base.js +0 -30
- package/src/components/keypad-legacy/iconography/jump-out-denominator.js +0 -41
- package/src/components/keypad-legacy/iconography/jump-out-exponent.js +0 -30
- package/src/components/keypad-legacy/iconography/jump-out-numerator.js +0 -41
- package/src/components/keypad-legacy/iconography/jump-out-parentheses.js +0 -33
- package/src/components/keypad-legacy/iconography/left-paren.js +0 -33
- package/src/components/keypad-legacy/iconography/left.js +0 -16
- package/src/components/keypad-legacy/iconography/leq.js +0 -33
- package/src/components/keypad-legacy/iconography/ln.js +0 -29
- package/src/components/keypad-legacy/iconography/log-n.js +0 -29
- package/src/components/keypad-legacy/iconography/log.js +0 -29
- package/src/components/keypad-legacy/iconography/lt.js +0 -33
- package/src/components/keypad-legacy/iconography/minus.js +0 -32
- package/src/components/keypad-legacy/iconography/neq.js +0 -33
- package/src/components/keypad-legacy/iconography/parens.js +0 -33
- package/src/components/keypad-legacy/iconography/percent.js +0 -49
- package/src/components/keypad-legacy/iconography/period.js +0 -26
- package/src/components/keypad-legacy/iconography/plus.js +0 -32
- package/src/components/keypad-legacy/iconography/radical.js +0 -36
- package/src/components/keypad-legacy/iconography/right-paren.js +0 -33
- package/src/components/keypad-legacy/iconography/right.js +0 -16
- package/src/components/keypad-legacy/iconography/sin.js +0 -30
- package/src/components/keypad-legacy/iconography/sqrt.js +0 -32
- package/src/components/keypad-legacy/iconography/tan.js +0 -30
- package/src/components/keypad-legacy/iconography/times.js +0 -33
- package/src/components/keypad-legacy/iconography/up.js +0 -16
- package/src/components/keypad-legacy/index.ts +0 -1
- package/src/components/keypad-legacy/keypad-button.tsx +0 -368
- package/src/components/keypad-legacy/keypad-container.tsx +0 -358
- package/src/components/keypad-legacy/keypad.tsx +0 -162
- package/src/components/keypad-legacy/many-keypad-button.tsx +0 -54
- package/src/components/keypad-legacy/math-icon.tsx +0 -66
- package/src/components/keypad-legacy/multi-symbol-grid.tsx +0 -182
- package/src/components/keypad-legacy/multi-symbol-popover.tsx +0 -58
- package/src/components/keypad-legacy/navigation-pad.tsx +0 -140
- package/src/components/keypad-legacy/node-manager.ts +0 -133
- package/src/components/keypad-legacy/popover-manager.tsx +0 -73
- package/src/components/keypad-legacy/popover-state-machine.ts +0 -184
- package/src/components/keypad-legacy/provided-keypad.tsx +0 -136
- package/src/components/keypad-legacy/store/actions.ts +0 -155
- package/src/components/keypad-legacy/store/echo-reducer.ts +0 -57
- package/src/components/keypad-legacy/store/index.ts +0 -110
- package/src/components/keypad-legacy/store/input-reducer.ts +0 -55
- package/src/components/keypad-legacy/store/keypad-reducer.ts +0 -58
- package/src/components/keypad-legacy/store/layout-reducer.test.ts +0 -171
- package/src/components/keypad-legacy/store/layout-reducer.ts +0 -129
- package/src/components/keypad-legacy/store/shared.ts +0 -12
- package/src/components/keypad-legacy/store/types.ts +0 -78
- package/src/components/keypad-legacy/styles.ts +0 -38
- package/src/components/keypad-legacy/svg-icon.tsx +0 -24
- package/src/components/keypad-legacy/text-icon.tsx +0 -53
- package/src/components/keypad-legacy/touchable-keypad-button.tsx +0 -163
- package/src/components/keypad-legacy/two-page-keypad.tsx +0 -115
- package/src/components/keypad-legacy/z-indexes.ts +0 -8
- package/src/components/keypad-switch.tsx +0 -42
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @khanacademy/math-input
|
|
2
2
|
|
|
3
|
+
## 16.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#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.
|
|
8
|
+
|
|
9
|
+
The V2 keypad is now the default, and the old keypad has been removed.
|
|
10
|
+
|
|
11
|
+
Additionally, the mobile keypad no longer accepts the `keypadActive` or
|
|
12
|
+
`setKeypadActive` props. It now gets those values itself from the `KeypadContext`.
|
|
13
|
+
|
|
3
14
|
## 15.1.0
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default } from "./keypad";
|
|
2
|
-
export {
|
|
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
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 {};
|