@khanacademy/perseus 6.2.1 → 6.3.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 (133) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/all-widgets.d.ts +2 -2
  3. package/dist/all-widgets.js.flow +2 -2
  4. package/dist/basic-widgets.d.ts +2 -2
  5. package/dist/basic-widgets.js.flow +2 -2
  6. package/dist/components/math-input.d.ts +4 -1
  7. package/dist/components/math-input.js.flow +4 -1
  8. package/dist/components/tex-buttons.d.ts +5 -1
  9. package/dist/components/tex-buttons.js.flow +1 -1
  10. package/dist/es/index.js +172 -205
  11. package/dist/es/index.js.map +1 -1
  12. package/dist/extra-widgets.d.ts +2 -2
  13. package/dist/extra-widgets.js.flow +2 -2
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.js +170 -201
  16. package/dist/index.js.flow +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/strings.js +23 -0
  19. package/dist/types.d.ts +2 -2
  20. package/dist/types.js.flow +2 -2
  21. package/dist/util/geometry.d.ts +25 -0
  22. package/dist/util/geometry.js.flow +37 -0
  23. package/dist/widgets/categorizer.d.ts +2 -2
  24. package/dist/widgets/categorizer.js.flow +2 -2
  25. package/dist/widgets/cs-program.d.ts +2 -2
  26. package/dist/widgets/cs-program.js.flow +2 -2
  27. package/dist/widgets/definition.d.ts +2 -2
  28. package/dist/widgets/definition.js.flow +2 -2
  29. package/dist/widgets/dropdown.d.ts +2 -2
  30. package/dist/widgets/dropdown.js.flow +2 -2
  31. package/dist/widgets/explanation.d.ts +2 -2
  32. package/dist/widgets/explanation.js.flow +2 -2
  33. package/dist/widgets/expression.d.ts +2 -2
  34. package/dist/widgets/expression.js.flow +2 -2
  35. package/dist/widgets/graded-group-set.d.ts +2 -2
  36. package/dist/widgets/graded-group-set.js.flow +2 -2
  37. package/dist/widgets/graded-group.d.ts +2 -2
  38. package/dist/widgets/graded-group.js.flow +2 -2
  39. package/dist/widgets/grapher.d.ts +2 -2
  40. package/dist/widgets/grapher.js.flow +2 -2
  41. package/dist/widgets/group.d.ts +2 -2
  42. package/dist/widgets/group.js.flow +2 -2
  43. package/dist/widgets/iframe.d.ts +2 -2
  44. package/dist/widgets/iframe.js.flow +2 -2
  45. package/dist/widgets/image.d.ts +2 -2
  46. package/dist/widgets/image.js.flow +2 -2
  47. package/dist/widgets/input-number.d.ts +2 -2
  48. package/dist/widgets/input-number.js.flow +2 -2
  49. package/dist/widgets/interaction.d.ts +2 -2
  50. package/dist/widgets/interaction.js.flow +2 -2
  51. package/dist/widgets/interactive-graph.d.ts +4 -12
  52. package/dist/widgets/interactive-graph.js.flow +4 -7
  53. package/dist/widgets/label-image.d.ts +2 -2
  54. package/dist/widgets/label-image.js.flow +2 -2
  55. package/dist/widgets/lights-puzzle.d.ts +2 -2
  56. package/dist/widgets/lights-puzzle.js.flow +2 -2
  57. package/dist/widgets/matcher.d.ts +2 -2
  58. package/dist/widgets/matcher.js.flow +2 -2
  59. package/dist/widgets/matrix.d.ts +2 -2
  60. package/dist/widgets/matrix.js.flow +2 -2
  61. package/dist/widgets/measurer.d.ts +2 -2
  62. package/dist/widgets/measurer.js.flow +2 -2
  63. package/dist/widgets/molecule.d.ts +2 -2
  64. package/dist/widgets/molecule.js.flow +2 -2
  65. package/dist/widgets/number-line.d.ts +2 -2
  66. package/dist/widgets/number-line.js.flow +2 -2
  67. package/dist/widgets/numeric-input.d.ts +2 -2
  68. package/dist/widgets/numeric-input.js.flow +2 -2
  69. package/dist/widgets/orderer.d.ts +2 -2
  70. package/dist/widgets/orderer.js.flow +2 -2
  71. package/dist/widgets/passage-ref-target.d.ts +2 -2
  72. package/dist/widgets/passage-ref-target.js.flow +2 -2
  73. package/dist/widgets/passage-ref.d.ts +2 -2
  74. package/dist/widgets/passage-ref.js.flow +2 -2
  75. package/dist/widgets/passage.d.ts +2 -2
  76. package/dist/widgets/passage.js.flow +2 -2
  77. package/dist/widgets/plotter.d.ts +2 -2
  78. package/dist/widgets/plotter.js.flow +2 -2
  79. package/dist/widgets/radio.d.ts +2 -2
  80. package/dist/widgets/radio.js.flow +2 -2
  81. package/dist/widgets/reaction-diagram.d.ts +2 -2
  82. package/dist/widgets/reaction-diagram.js.flow +2 -2
  83. package/dist/widgets/sequence.d.ts +2 -2
  84. package/dist/widgets/sequence.js.flow +2 -2
  85. package/dist/widgets/simulator.d.ts +2 -2
  86. package/dist/widgets/simulator.js.flow +2 -2
  87. package/dist/widgets/sorter.d.ts +2 -2
  88. package/dist/widgets/sorter.js.flow +2 -2
  89. package/dist/widgets/table.d.ts +2 -2
  90. package/dist/widgets/table.js.flow +2 -2
  91. package/dist/widgets/transformer.d.ts +2 -2
  92. package/dist/widgets/transformer.js.flow +2 -2
  93. package/dist/widgets/unit.d.ts +2 -2
  94. package/dist/widgets/unit.js.flow +2 -2
  95. package/dist/widgets/video.d.ts +2 -2
  96. package/dist/widgets/video.js.flow +2 -2
  97. package/package.json +4 -5
  98. package/src/components/__tests__/math-input.test.tsx +60 -0
  99. package/src/components/math-input.tsx +88 -118
  100. package/src/components/prop-check-box.tsx +0 -1
  101. package/src/components/tex-buttons.tsx +73 -12
  102. package/src/index.ts +2 -0
  103. package/src/types.ts +19 -2
  104. package/src/util/geometry.ts +293 -0
  105. package/src/widgets/__tests__/numeric-input.test.ts +38 -0
  106. package/src/widgets/expression.tsx +0 -1
  107. package/src/widgets/grapher.tsx +0 -1
  108. package/src/widgets/image.tsx +0 -1
  109. package/src/widgets/input-number.tsx +0 -1
  110. package/src/widgets/interactive-graph.tsx +20 -288
  111. package/src/widgets/matrix.tsx +0 -1
  112. package/src/widgets/numeric-input.tsx +6 -2
  113. package/src/widgets/transformer.tsx +0 -1
  114. package/tsconfig-build.json +0 -1
  115. package/tsconfig-build.tsbuildinfo +1 -1
  116. package/dist/__tests__/mock-asset-loading-widget.d.ts +0 -59
  117. package/dist/__tests__/mock-asset-loading-widget.js.flow +0 -70
  118. package/dist/__tests__/mock-widget.d.ts +0 -30
  119. package/dist/__tests__/mock-widget.js.flow +0 -39
  120. package/dist/__tests__/test-items/image-item.d.ts +0 -14
  121. package/dist/__tests__/test-items/image-item.js.flow +0 -20
  122. package/dist/__tests__/test-items/input-number-1-item.d.ts +0 -9
  123. package/dist/__tests__/test-items/input-number-1-item.js.flow +0 -15
  124. package/dist/__tests__/test-items/input-number-2-item.d.ts +0 -9
  125. package/dist/__tests__/test-items/input-number-2-item.js.flow +0 -15
  126. package/dist/__tests__/test-items/table-item.d.ts +0 -9
  127. package/dist/__tests__/test-items/table-item.js.flow +0 -15
  128. package/dist/interactive2/__tests__/movable-mock.d.ts +0 -5
  129. package/dist/interactive2/__tests__/movable-mock.js.flow +0 -11
  130. package/dist/widgets/__stories__/test-keypad-context-wrapper.d.ts +0 -6
  131. package/dist/widgets/__stories__/test-keypad-context-wrapper.js.flow +0 -12
  132. package/dist/widgets/__tests__/renderQuestion.d.ts +0 -13
  133. package/dist/widgets/__tests__/renderQuestion.js.flow +0 -28
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @khanacademy/perseus
2
2
 
3
+ ## 6.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d497118e: MathInput exports tools for generating MathFields, replacing the need for direct MathQuill access
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [e7d21b67]
12
+ - Updated dependencies [d497118e]
13
+ - Updated dependencies [eceb4510]
14
+ - @khanacademy/math-input@4.2.0
15
+
16
+ ## 6.2.2
17
+
18
+ ### Patch Changes
19
+
20
+ - 5fba7c60: Remove pi as a default answerForm for numeric-input
21
+ - Updated dependencies [31ed8380]
22
+ - Updated dependencies [937d2308]
23
+ - @khanacademy/math-input@4.1.1
24
+
3
25
  ## 6.2.1
4
26
 
5
27
  ### Patch Changes
@@ -10,10 +10,10 @@ declare const _default: readonly Readonly<{
10
10
  defaultAlignment?: import("./types").Alignment | undefined;
11
11
  getDefaultAlignment?: (() => import("./types").Alignment) | undefined;
12
12
  isLintable?: boolean | undefined;
13
- transform?: import("./types").WidgetTransform | undefined;
14
13
  tracking?: import("./types").Tracking | undefined;
15
- staticTransform?: import("./types").WidgetTransform | undefined;
16
14
  traverseChildWidgets?: any;
15
+ transform?: import("./types").WidgetTransform | undefined;
16
+ staticTransform?: import("./types").WidgetTransform | undefined;
17
17
  propUpgrades?: {
18
18
  [key: string]: (arg1: any) => any;
19
19
  } | undefined;
@@ -20,10 +20,10 @@ declare var _default: $ReadOnlyArray<
20
20
  | (() => $Flowgen$Import$_2e__2f_types.Alignment)
21
21
  | void,
22
22
  isLintable?: boolean | void,
23
- transform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
24
23
  tracking?: $Flowgen$Import$_2e__2f_types.Tracking | void,
25
- staticTransform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
26
24
  traverseChildWidgets?: any,
25
+ transform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
26
+ staticTransform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
27
27
  propUpgrades?: {
28
28
  [key: string]: (arg1: any) => any,
29
29
  } | void,
@@ -10,10 +10,10 @@ declare const _default: readonly Readonly<{
10
10
  defaultAlignment?: import("./types").Alignment | undefined;
11
11
  getDefaultAlignment?: (() => import("./types").Alignment) | undefined;
12
12
  isLintable?: boolean | undefined;
13
- transform?: import("./types").WidgetTransform | undefined;
14
13
  tracking?: import("./types").Tracking | undefined;
15
- staticTransform?: import("./types").WidgetTransform | undefined;
16
14
  traverseChildWidgets?: any;
15
+ transform?: import("./types").WidgetTransform | undefined;
16
+ staticTransform?: import("./types").WidgetTransform | undefined;
17
17
  propUpgrades?: {
18
18
  [key: string]: (arg1: any) => any;
19
19
  } | undefined;
@@ -20,10 +20,10 @@ declare var _default: $ReadOnlyArray<
20
20
  | (() => $Flowgen$Import$_2e__2f_types.Alignment)
21
21
  | void,
22
22
  isLintable?: boolean | void,
23
- transform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
24
23
  tracking?: $Flowgen$Import$_2e__2f_types.Tracking | void,
25
- staticTransform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
26
24
  traverseChildWidgets?: any,
25
+ transform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
26
+ staticTransform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
27
27
  propUpgrades?: {
28
28
  [key: string]: (arg1: any) => any,
29
29
  } | void,
@@ -1,3 +1,4 @@
1
+ import { MathFieldInterface } from "@khanacademy/math-input";
1
2
  import * as React from "react";
2
3
  import type { ButtonSetsType } from "./tex-buttons";
3
4
  type ButtonsVisibleType = "always" | "never" | "focused";
@@ -22,6 +23,8 @@ type State = {
22
23
  };
23
24
  declare class MathInput extends React.Component<Props, State> {
24
25
  mouseDown: boolean;
26
+ __mathFieldWrapperRef: HTMLSpanElement | null;
27
+ __mathField: MathFieldInterface | null;
25
28
  static defaultProps: DefaultProps;
26
29
  state: State;
27
30
  componentDidMount(): void;
@@ -32,7 +35,7 @@ declare class MathInput extends React.Component<Props, State> {
32
35
  handleBlur: (arg1: React.FocusEvent) => void;
33
36
  _shouldShowButtons: () => boolean;
34
37
  insert: (value: any) => void;
35
- mathField: (arg1: any) => any;
38
+ mathField: () => MathFieldInterface | null;
36
39
  focus: () => void;
37
40
  blur: () => void;
38
41
  render(): React.ReactNode;
@@ -4,6 +4,7 @@
4
4
  * Flowgen v1.21.0
5
5
  * @flow
6
6
  */
7
+ import { MathFieldInterface } from "@khanacademy/math-input";
7
8
  import * as React from "react";
8
9
  import type { ButtonSetsType } from "./tex-buttons";
9
10
  declare type ButtonsVisibleType = "always" | "never" | "focused";
@@ -28,6 +29,8 @@ declare type State = {|
28
29
  |};
29
30
  declare class MathInput extends React.Component<Props, State> {
30
31
  mouseDown: boolean;
32
+ __mathFieldWrapperRef: HTMLSpanElement | null;
33
+ __mathField: MathFieldInterface | null;
31
34
  static defaultProps: DefaultProps;
32
35
  state: State;
33
36
  componentDidMount(): void;
@@ -38,7 +41,7 @@ declare class MathInput extends React.Component<Props, State> {
38
41
  handleBlur: (arg1: SyntheticFocusEvent<>) => void;
39
42
  _shouldShowButtons: () => boolean;
40
43
  insert: (value: any) => void;
41
- mathField: (arg1: any) => any;
44
+ mathField: () => MathFieldInterface | null;
42
45
  focus: () => void;
43
46
  blur: () => void;
44
47
  render(): React.Node;
@@ -1,6 +1,10 @@
1
1
  import { Keys } from "@khanacademy/math-input";
2
2
  import * as React from "react";
3
- type ButtonSet = (props: any) => [React.ReactNode, Keys];
3
+ type ButtonSet = (props: any) => [
4
+ React.ReactNode,
5
+ Keys,
6
+ string
7
+ ];
4
8
  type ButtonSets = {
5
9
  readonly [key: string]: ReadonlyArray<ButtonSet>;
6
10
  };
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { Keys } from "@khanacademy/math-input";
8
8
  import * as React from "react";
9
- declare type ButtonSet = (props: any) => [React.Node, Keys];
9
+ declare type ButtonSet = (props: any) => [React.Node, Keys, string];
10
10
  declare type ButtonSets = {
11
11
  +[key: string]: $ReadOnlyArray<ButtonSet>,
12
12
  };