@khanacademy/perseus 6.2.0 → 6.2.2

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 (126) hide show
  1. package/CHANGELOG.md +17 -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/es/index.js +67 -66
  7. package/dist/es/index.js.map +1 -1
  8. package/dist/extra-widgets.d.ts +2 -2
  9. package/dist/extra-widgets.js.flow +2 -2
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.js +65 -62
  12. package/dist/index.js.flow +2 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/types.d.ts +2 -2
  15. package/dist/types.js.flow +2 -2
  16. package/dist/util/geometry.d.ts +25 -0
  17. package/dist/util/geometry.js.flow +37 -0
  18. package/dist/widgets/categorizer.d.ts +2 -2
  19. package/dist/widgets/categorizer.js.flow +2 -2
  20. package/dist/widgets/cs-program.d.ts +2 -2
  21. package/dist/widgets/cs-program.js.flow +2 -2
  22. package/dist/widgets/definition.d.ts +2 -2
  23. package/dist/widgets/definition.js.flow +2 -2
  24. package/dist/widgets/dropdown.d.ts +2 -2
  25. package/dist/widgets/dropdown.js.flow +2 -2
  26. package/dist/widgets/explanation.d.ts +2 -2
  27. package/dist/widgets/explanation.js.flow +2 -2
  28. package/dist/widgets/expression.d.ts +2 -2
  29. package/dist/widgets/expression.js.flow +2 -2
  30. package/dist/widgets/graded-group-set.d.ts +2 -2
  31. package/dist/widgets/graded-group-set.js.flow +2 -2
  32. package/dist/widgets/graded-group.d.ts +2 -2
  33. package/dist/widgets/graded-group.js.flow +2 -2
  34. package/dist/widgets/grapher.d.ts +2 -2
  35. package/dist/widgets/grapher.js.flow +2 -2
  36. package/dist/widgets/group.d.ts +2 -2
  37. package/dist/widgets/group.js.flow +2 -2
  38. package/dist/widgets/iframe.d.ts +2 -2
  39. package/dist/widgets/iframe.js.flow +2 -2
  40. package/dist/widgets/image.d.ts +2 -2
  41. package/dist/widgets/image.js.flow +2 -2
  42. package/dist/widgets/input-number.d.ts +2 -2
  43. package/dist/widgets/input-number.js.flow +2 -2
  44. package/dist/widgets/interaction.d.ts +2 -2
  45. package/dist/widgets/interaction.js.flow +2 -2
  46. package/dist/widgets/interactive-graph.d.ts +4 -12
  47. package/dist/widgets/interactive-graph.js.flow +4 -7
  48. package/dist/widgets/label-image.d.ts +2 -2
  49. package/dist/widgets/label-image.js.flow +2 -2
  50. package/dist/widgets/lights-puzzle.d.ts +2 -2
  51. package/dist/widgets/lights-puzzle.js.flow +2 -2
  52. package/dist/widgets/matcher.d.ts +2 -2
  53. package/dist/widgets/matcher.js.flow +2 -2
  54. package/dist/widgets/matrix.d.ts +2 -2
  55. package/dist/widgets/matrix.js.flow +2 -2
  56. package/dist/widgets/measurer.d.ts +2 -2
  57. package/dist/widgets/measurer.js.flow +2 -2
  58. package/dist/widgets/molecule.d.ts +2 -2
  59. package/dist/widgets/molecule.js.flow +2 -2
  60. package/dist/widgets/number-line.d.ts +2 -2
  61. package/dist/widgets/number-line.js.flow +2 -2
  62. package/dist/widgets/numeric-input.d.ts +2 -2
  63. package/dist/widgets/numeric-input.js.flow +2 -2
  64. package/dist/widgets/orderer.d.ts +2 -2
  65. package/dist/widgets/orderer.js.flow +2 -2
  66. package/dist/widgets/passage-ref-target.d.ts +2 -2
  67. package/dist/widgets/passage-ref-target.js.flow +2 -2
  68. package/dist/widgets/passage-ref.d.ts +2 -2
  69. package/dist/widgets/passage-ref.js.flow +2 -2
  70. package/dist/widgets/passage.d.ts +2 -2
  71. package/dist/widgets/passage.js.flow +2 -2
  72. package/dist/widgets/plotter.d.ts +2 -2
  73. package/dist/widgets/plotter.js.flow +2 -2
  74. package/dist/widgets/radio.d.ts +2 -2
  75. package/dist/widgets/radio.js.flow +2 -2
  76. package/dist/widgets/reaction-diagram.d.ts +2 -2
  77. package/dist/widgets/reaction-diagram.js.flow +2 -2
  78. package/dist/widgets/sequence.d.ts +2 -2
  79. package/dist/widgets/sequence.js.flow +2 -2
  80. package/dist/widgets/simulator.d.ts +2 -2
  81. package/dist/widgets/simulator.js.flow +2 -2
  82. package/dist/widgets/sorter.d.ts +2 -2
  83. package/dist/widgets/sorter.js.flow +2 -2
  84. package/dist/widgets/table.d.ts +2 -2
  85. package/dist/widgets/table.js.flow +2 -2
  86. package/dist/widgets/transformer.d.ts +2 -2
  87. package/dist/widgets/transformer.js.flow +2 -2
  88. package/dist/widgets/unit.d.ts +2 -2
  89. package/dist/widgets/unit.js.flow +2 -2
  90. package/dist/widgets/video.d.ts +2 -2
  91. package/dist/widgets/video.js.flow +2 -2
  92. package/package.json +2 -2
  93. package/src/__tests__/item-renderer.test.tsx +1 -1
  94. package/src/components/prop-check-box.tsx +0 -1
  95. package/src/index.ts +2 -0
  96. package/src/types.ts +19 -2
  97. package/src/util/geometry.ts +293 -0
  98. package/src/widgets/__tests__/numeric-input.test.ts +38 -0
  99. package/src/widgets/expression.tsx +0 -1
  100. package/src/widgets/grapher.tsx +0 -1
  101. package/src/widgets/image.tsx +0 -1
  102. package/src/widgets/input-number.tsx +0 -1
  103. package/src/widgets/interactive-graph.tsx +20 -288
  104. package/src/widgets/matrix.tsx +0 -1
  105. package/src/widgets/numeric-input.tsx +6 -2
  106. package/src/widgets/transformer.tsx +0 -1
  107. package/tsconfig-build.json +0 -1
  108. package/tsconfig-build.tsbuildinfo +1 -1
  109. package/dist/__tests__/mock-asset-loading-widget.d.ts +0 -59
  110. package/dist/__tests__/mock-asset-loading-widget.js.flow +0 -70
  111. package/dist/__tests__/mock-widget.d.ts +0 -30
  112. package/dist/__tests__/mock-widget.js.flow +0 -39
  113. package/dist/__tests__/test-items/image-item.d.ts +0 -14
  114. package/dist/__tests__/test-items/image-item.js.flow +0 -20
  115. package/dist/__tests__/test-items/input-number-1-item.d.ts +0 -9
  116. package/dist/__tests__/test-items/input-number-1-item.js.flow +0 -15
  117. package/dist/__tests__/test-items/input-number-2-item.d.ts +0 -9
  118. package/dist/__tests__/test-items/input-number-2-item.js.flow +0 -15
  119. package/dist/__tests__/test-items/table-item.d.ts +0 -9
  120. package/dist/__tests__/test-items/table-item.js.flow +0 -15
  121. package/dist/interactive2/__tests__/movable-mock.d.ts +0 -5
  122. package/dist/interactive2/__tests__/movable-mock.js.flow +0 -11
  123. package/dist/widgets/__stories__/test-keypad-context-wrapper.d.ts +0 -6
  124. package/dist/widgets/__stories__/test-keypad-context-wrapper.js.flow +0 -12
  125. package/dist/widgets/__tests__/renderQuestion.d.ts +0 -13
  126. package/dist/widgets/__tests__/renderQuestion.js.flow +0 -28
package/dist/types.d.ts CHANGED
@@ -217,10 +217,10 @@ export type WidgetExports<T extends React.ComponentType<any> = React.ComponentTy
217
217
  defaultAlignment?: Alignment;
218
218
  getDefaultAlignment?: () => Alignment;
219
219
  isLintable?: boolean;
220
- transform?: WidgetTransform;
221
220
  tracking?: Tracking;
222
- staticTransform?: WidgetTransform;
223
221
  traverseChildWidgets?: any;
222
+ transform?: WidgetTransform;
223
+ staticTransform?: WidgetTransform;
224
224
  propUpgrades?: {
225
225
  [key: string]: (arg1: any) => any;
226
226
  };
@@ -275,10 +275,10 @@ export type WidgetExports<
275
275
  defaultAlignment?: Alignment,
276
276
  getDefaultAlignment?: () => Alignment,
277
277
  isLintable?: boolean,
278
- transform?: WidgetTransform,
279
278
  tracking?: Tracking,
280
- staticTransform?: WidgetTransform,
281
279
  traverseChildWidgets?: any,
280
+ transform?: WidgetTransform,
281
+ staticTransform?: WidgetTransform,
282
282
  propUpgrades?: {
283
283
  [key: string]: (arg1: any) => any,
284
284
  },
@@ -0,0 +1,25 @@
1
+ /**
2
+ * A collection of geomtry-related utility functions
3
+ */
4
+ import type { Coord, Line } from "../interactive2/types";
5
+ export type Range = [number, number];
6
+ export type SineCoefficient = [
7
+ number,
8
+ number,
9
+ number,
10
+ number
11
+ ];
12
+ export type QuadraticCoefficient = [number, number, number];
13
+ export declare function sign(val: number): 0 | 1 | -1;
14
+ export declare function ccw(a: Coord, b: Coord, c: Coord): number;
15
+ export declare function collinear(a: Coord, b: Coord, c: Coord): boolean;
16
+ export declare function intersects(ab: Line, cd: Line): boolean;
17
+ export declare function vector(a: any, b: any): number[];
18
+ export declare function magnitude(v: ReadonlyArray<Coord>): number;
19
+ export declare function angleMeasures(coords: ReadonlyArray<Coord>): ReadonlyArray<number>;
20
+ export declare function similar(coords1: ReadonlyArray<Coord>, coords2: ReadonlyArray<Coord>, tolerance: number): boolean;
21
+ export declare function lawOfCosines(a: number, b: number, c: number): number;
22
+ export declare function canonicalSineCoefficients([amplitude, angularFrequency, phase, verticalOffset,]: [any, any, any, any]): any[];
23
+ export declare function rotate<T>(array: ReadonlyArray<T>, n?: number): ReadonlyArray<T>;
24
+ export declare function getLineEquation(first: Coord, second: Coord): string;
25
+ export declare function getLineIntersection(firstPoints: ReadonlyArray<Coord>, secondPoints: ReadonlyArray<Coord>): string;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Flowtype definitions for data
3
+ * Generated by Flowgen from a Typescript Definition
4
+ * Flowgen v1.21.0
5
+ * @flow
6
+ */
7
+ import type { Coord, Line } from "../interactive2/types";
8
+ export type Range = [number, number];
9
+ export type SineCoefficient = [number, number, number, number];
10
+ export type QuadraticCoefficient = [number, number, number];
11
+ declare export function sign(val: number): 0 | 1 | -1;
12
+ declare export function ccw(a: Coord, b: Coord, c: Coord): number;
13
+ declare export function collinear(a: Coord, b: Coord, c: Coord): boolean;
14
+ declare export function intersects(ab: Line, cd: Line): boolean;
15
+ declare export function vector(a: any, b: any): number[];
16
+ declare export function magnitude(v: $ReadOnlyArray<Coord>): number;
17
+ declare export function angleMeasures(
18
+ coords: $ReadOnlyArray<Coord>
19
+ ): $ReadOnlyArray<number>;
20
+ declare export function similar(
21
+ coords1: $ReadOnlyArray<Coord>,
22
+ coords2: $ReadOnlyArray<Coord>,
23
+ tolerance: number
24
+ ): boolean;
25
+ declare export function lawOfCosines(a: number, b: number, c: number): number;
26
+ declare export function canonicalSineCoefficients(
27
+ x: [any, any, any, any]
28
+ ): any[];
29
+ declare export function rotate<T>(
30
+ array: $ReadOnlyArray<T>,
31
+ n?: number
32
+ ): $ReadOnlyArray<T>;
33
+ declare export function getLineEquation(first: Coord, second: Coord): string;
34
+ declare export function getLineIntersection(
35
+ firstPoints: $ReadOnlyArray<Coord>,
36
+ secondPoints: $ReadOnlyArray<Coord>
37
+ ): string;
@@ -43,10 +43,10 @@ declare const _default: Readonly<{
43
43
  defaultAlignment?: import("../types").Alignment | undefined;
44
44
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
45
45
  isLintable?: boolean | undefined;
46
- transform?: import("../types").WidgetTransform | undefined;
47
46
  tracking?: import("../types").Tracking | undefined;
48
- staticTransform?: import("../types").WidgetTransform | undefined;
49
47
  traverseChildWidgets?: any;
48
+ transform?: import("../types").WidgetTransform | undefined;
49
+ staticTransform?: import("../types").WidgetTransform | undefined;
50
50
  propUpgrades?: {
51
51
  [key: string]: (arg1: any) => any;
52
52
  } | undefined;
@@ -58,10 +58,10 @@ declare var _default: $ReadOnly<{|
58
58
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
59
59
  | void,
60
60
  isLintable?: boolean | void,
61
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
62
61
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
63
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
64
62
  traverseChildWidgets?: any,
63
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
64
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
65
65
  propUpgrades?: {
66
66
  [key: string]: (arg1: any) => any,
67
67
  } | void,
@@ -36,10 +36,10 @@ declare const _default: Readonly<{
36
36
  defaultAlignment?: import("../types").Alignment | undefined;
37
37
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
38
38
  isLintable?: boolean | undefined;
39
- transform?: import("../types").WidgetTransform | undefined;
40
39
  tracking?: import("../types").Tracking | undefined;
41
- staticTransform?: import("../types").WidgetTransform | undefined;
42
40
  traverseChildWidgets?: any;
41
+ transform?: import("../types").WidgetTransform | undefined;
42
+ staticTransform?: import("../types").WidgetTransform | undefined;
43
43
  propUpgrades?: {
44
44
  [key: string]: (arg1: any) => any;
45
45
  } | undefined;
@@ -42,10 +42,10 @@ declare var _default: $ReadOnly<{|
42
42
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
43
43
  | void,
44
44
  isLintable?: boolean | void,
45
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
46
45
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
47
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
48
46
  traverseChildWidgets?: any,
47
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
48
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
49
49
  propUpgrades?: {
50
50
  [key: string]: (arg1: any) => any,
51
51
  } | void,
@@ -30,10 +30,10 @@ declare const _default: Readonly<{
30
30
  defaultAlignment?: import("../types").Alignment | undefined;
31
31
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
32
32
  isLintable?: boolean | undefined;
33
- transform?: import("../types").WidgetTransform | undefined;
34
33
  tracking?: import("../types").Tracking | undefined;
35
- staticTransform?: import("../types").WidgetTransform | undefined;
36
34
  traverseChildWidgets?: any;
35
+ transform?: import("../types").WidgetTransform | undefined;
36
+ staticTransform?: import("../types").WidgetTransform | undefined;
37
37
  propUpgrades?: {
38
38
  [key: string]: (arg1: any) => any;
39
39
  } | undefined;
@@ -45,10 +45,10 @@ declare var _default: $ReadOnly<{|
45
45
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
46
46
  | void,
47
47
  isLintable?: boolean | void,
48
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
49
48
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
50
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
51
49
  traverseChildWidgets?: any,
50
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
51
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
52
52
  propUpgrades?: {
53
53
  [key: string]: (arg1: any) => any,
54
54
  } | void,
@@ -39,10 +39,10 @@ declare const _default: Readonly<{
39
39
  defaultAlignment?: import("../types").Alignment | undefined;
40
40
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
41
41
  isLintable?: boolean | undefined;
42
- transform?: import("../types").WidgetTransform | undefined;
43
42
  tracking?: import("../types").Tracking | undefined;
44
- staticTransform?: import("../types").WidgetTransform | undefined;
45
43
  traverseChildWidgets?: any;
44
+ transform?: import("../types").WidgetTransform | undefined;
45
+ staticTransform?: import("../types").WidgetTransform | undefined;
46
46
  propUpgrades?: {
47
47
  [key: string]: (arg1: any) => any;
48
48
  } | undefined;
@@ -51,10 +51,10 @@ declare var _default: $ReadOnly<{|
51
51
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
52
52
  | void,
53
53
  isLintable?: boolean | void,
54
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
55
54
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
56
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
57
55
  traverseChildWidgets?: any,
56
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
57
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
58
58
  propUpgrades?: {
59
59
  [key: string]: (arg1: any) => any,
60
60
  } | void,
@@ -37,10 +37,10 @@ declare const _default: Readonly<{
37
37
  defaultAlignment?: import("../types").Alignment | undefined;
38
38
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
39
39
  isLintable?: boolean | undefined;
40
- transform?: import("../types").WidgetTransform | undefined;
41
40
  tracking?: import("../types").Tracking | undefined;
42
- staticTransform?: import("../types").WidgetTransform | undefined;
43
41
  traverseChildWidgets?: any;
42
+ transform?: import("../types").WidgetTransform | undefined;
43
+ staticTransform?: import("../types").WidgetTransform | undefined;
44
44
  propUpgrades?: {
45
45
  [key: string]: (arg1: any) => any;
46
46
  } | undefined;
@@ -46,10 +46,10 @@ declare var _default: $ReadOnly<{|
46
46
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
47
47
  | void,
48
48
  isLintable?: boolean | void,
49
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
50
49
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
51
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
52
50
  traverseChildWidgets?: any,
51
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
52
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
53
53
  propUpgrades?: {
54
54
  [key: string]: (arg1: any) => any,
55
55
  } | void,
@@ -79,10 +79,10 @@ declare const _default: Readonly<{
79
79
  defaultAlignment?: import("../types").Alignment | undefined;
80
80
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
81
81
  isLintable?: boolean | undefined;
82
- transform?: import("../types").WidgetTransform | undefined;
83
82
  tracking?: import("../types").Tracking | undefined;
84
- staticTransform?: import("../types").WidgetTransform | undefined;
85
83
  traverseChildWidgets?: any;
84
+ transform?: import("../types").WidgetTransform | undefined;
85
+ staticTransform?: import("../types").WidgetTransform | undefined;
86
86
  propUpgrades?: {
87
87
  [key: string]: (arg1: any) => any;
88
88
  } | undefined;
@@ -104,10 +104,10 @@ declare var _default: $ReadOnly<{|
104
104
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
105
105
  | void,
106
106
  isLintable?: boolean | void,
107
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
108
107
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
109
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
110
108
  traverseChildWidgets?: any,
109
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
110
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
111
111
  propUpgrades?: {
112
112
  [key: string]: (arg1: any) => any,
113
113
  } | void,
@@ -40,10 +40,10 @@ declare const _default: Readonly<{
40
40
  defaultAlignment?: import("../types").Alignment | undefined;
41
41
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
42
42
  isLintable?: boolean | undefined;
43
- transform?: import("../types").WidgetTransform | undefined;
44
43
  tracking?: import("../types").Tracking | undefined;
45
- staticTransform?: import("../types").WidgetTransform | undefined;
46
44
  traverseChildWidgets?: any;
45
+ transform?: import("../types").WidgetTransform | undefined;
46
+ staticTransform?: import("../types").WidgetTransform | undefined;
47
47
  propUpgrades?: {
48
48
  [key: string]: (arg1: any) => any;
49
49
  } | undefined;
@@ -53,10 +53,10 @@ declare var _default: $ReadOnly<{|
53
53
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
54
54
  | void,
55
55
  isLintable?: boolean | void,
56
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
57
56
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
58
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
59
57
  traverseChildWidgets?: any,
58
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
59
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
60
60
  propUpgrades?: {
61
61
  [key: string]: (arg1: any) => any,
62
62
  } | void,
@@ -54,10 +54,10 @@ declare const _default: Readonly<{
54
54
  defaultAlignment?: import("../types").Alignment | undefined;
55
55
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
56
56
  isLintable?: boolean | undefined;
57
- transform?: import("../types").WidgetTransform | undefined;
58
57
  tracking?: import("../types").Tracking | undefined;
59
- staticTransform?: import("../types").WidgetTransform | undefined;
60
58
  traverseChildWidgets?: any;
59
+ transform?: import("../types").WidgetTransform | undefined;
60
+ staticTransform?: import("../types").WidgetTransform | undefined;
61
61
  propUpgrades?: {
62
62
  [key: string]: (arg1: any) => any;
63
63
  } | undefined;
@@ -66,10 +66,10 @@ declare var _default: $ReadOnly<{|
66
66
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
67
67
  | void,
68
68
  isLintable?: boolean | void,
69
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
70
69
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
71
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
72
70
  traverseChildWidgets?: any,
71
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
72
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
73
73
  propUpgrades?: {
74
74
  [key: string]: (arg1: any) => any,
75
75
  } | void,
@@ -51,10 +51,10 @@ declare const _default: Readonly<{
51
51
  defaultAlignment?: import("../types").Alignment | undefined;
52
52
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
53
53
  isLintable?: boolean | undefined;
54
- transform?: import("../types").WidgetTransform | undefined;
55
54
  tracking?: import("../types").Tracking | undefined;
56
- staticTransform?: import("../types").WidgetTransform | undefined;
57
55
  traverseChildWidgets?: any;
56
+ transform?: import("../types").WidgetTransform | undefined;
57
+ staticTransform?: import("../types").WidgetTransform | undefined;
58
58
  propUpgrades?: {
59
59
  [key: string]: (arg1: any) => any;
60
60
  } | undefined;
@@ -90,10 +90,10 @@ declare var _default: $ReadOnly<{|
90
90
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
91
91
  | void,
92
92
  isLintable?: boolean | void,
93
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
94
93
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
95
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
96
94
  traverseChildWidgets?: any,
95
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
96
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
97
97
  propUpgrades?: {
98
98
  [key: string]: (arg1: any) => any,
99
99
  } | void,
@@ -39,10 +39,10 @@ declare const _default: Readonly<{
39
39
  defaultAlignment?: import("../types").Alignment | undefined;
40
40
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
41
41
  isLintable?: boolean | undefined;
42
- transform?: import("../types").WidgetTransform | undefined;
43
42
  tracking?: import("../types").Tracking | undefined;
44
- staticTransform?: import("../types").WidgetTransform | undefined;
45
43
  traverseChildWidgets?: any;
44
+ transform?: import("../types").WidgetTransform | undefined;
45
+ staticTransform?: import("../types").WidgetTransform | undefined;
46
46
  propUpgrades?: {
47
47
  [key: string]: (arg1: any) => any;
48
48
  } | undefined;
@@ -48,10 +48,10 @@ declare var _default: $ReadOnly<{|
48
48
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
49
49
  | void,
50
50
  isLintable?: boolean | void,
51
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
52
51
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
53
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
54
52
  traverseChildWidgets?: any,
53
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
54
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
55
55
  propUpgrades?: {
56
56
  [key: string]: (arg1: any) => any,
57
57
  } | void,
@@ -40,10 +40,10 @@ declare const _default: Readonly<{
40
40
  defaultAlignment?: import("../types").Alignment | undefined;
41
41
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
42
42
  isLintable?: boolean | undefined;
43
- transform?: import("../types").WidgetTransform | undefined;
44
43
  tracking?: import("../types").Tracking | undefined;
45
- staticTransform?: import("../types").WidgetTransform | undefined;
46
44
  traverseChildWidgets?: any;
45
+ transform?: import("../types").WidgetTransform | undefined;
46
+ staticTransform?: import("../types").WidgetTransform | undefined;
47
47
  propUpgrades?: {
48
48
  [key: string]: (arg1: any) => any;
49
49
  } | undefined;
@@ -41,10 +41,10 @@ declare var _default: $ReadOnly<{|
41
41
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
42
42
  | void,
43
43
  isLintable?: boolean | void,
44
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
45
44
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
46
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
47
45
  traverseChildWidgets?: any,
46
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
47
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
48
48
  propUpgrades?: {
49
49
  [key: string]: (arg1: any) => any,
50
50
  } | void,
@@ -47,10 +47,10 @@ declare const _default: Readonly<{
47
47
  defaultAlignment?: import("../types").Alignment | undefined;
48
48
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
49
49
  isLintable?: boolean | undefined;
50
- transform?: import("../types").WidgetTransform | undefined;
51
50
  tracking?: import("../types").Tracking | undefined;
52
- staticTransform?: import("../types").WidgetTransform | undefined;
53
51
  traverseChildWidgets?: any;
52
+ transform?: import("../types").WidgetTransform | undefined;
53
+ staticTransform?: import("../types").WidgetTransform | undefined;
54
54
  propUpgrades?: {
55
55
  [key: string]: (arg1: any) => any;
56
56
  } | undefined;
@@ -61,10 +61,10 @@ declare var _default: $ReadOnly<{|
61
61
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
62
62
  | void,
63
63
  isLintable?: boolean | void,
64
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
65
64
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
66
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
67
65
  traverseChildWidgets?: any,
66
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
67
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
68
68
  propUpgrades?: {
69
69
  [key: string]: (arg1: any) => any,
70
70
  } | void,
@@ -63,10 +63,10 @@ declare const _default: Readonly<{
63
63
  defaultAlignment?: import("../types").Alignment | undefined;
64
64
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
65
65
  isLintable?: boolean | undefined;
66
- transform?: import("../types").WidgetTransform | undefined;
67
66
  tracking?: import("../types").Tracking | undefined;
68
- staticTransform?: import("../types").WidgetTransform | undefined;
69
67
  traverseChildWidgets?: any;
68
+ transform?: import("../types").WidgetTransform | undefined;
69
+ staticTransform?: import("../types").WidgetTransform | undefined;
70
70
  propUpgrades?: {
71
71
  [key: string]: (arg1: any) => any;
72
72
  } | undefined;
@@ -82,10 +82,10 @@ declare var _default: $ReadOnly<{|
82
82
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
83
83
  | void,
84
84
  isLintable?: boolean | void,
85
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
86
85
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
87
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
88
86
  traverseChildWidgets?: any,
87
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
88
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
89
89
  propUpgrades?: {
90
90
  [key: string]: (arg1: any) => any,
91
91
  } | void,
@@ -39,10 +39,10 @@ declare const _default: Readonly<{
39
39
  defaultAlignment?: import("../types").Alignment | undefined;
40
40
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
41
41
  isLintable?: boolean | undefined;
42
- transform?: import("../types").WidgetTransform | undefined;
43
42
  tracking?: import("../types").Tracking | undefined;
44
- staticTransform?: import("../types").WidgetTransform | undefined;
45
43
  traverseChildWidgets?: any;
44
+ transform?: import("../types").WidgetTransform | undefined;
45
+ staticTransform?: import("../types").WidgetTransform | undefined;
46
46
  propUpgrades?: {
47
47
  [key: string]: (arg1: any) => any;
48
48
  } | undefined;
@@ -48,10 +48,10 @@ declare var _default: $ReadOnly<{|
48
48
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
49
49
  | void,
50
50
  isLintable?: boolean | void,
51
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
52
51
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
53
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
54
52
  traverseChildWidgets?: any,
53
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
54
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
55
55
  propUpgrades?: {
56
56
  [key: string]: (arg1: any) => any,
57
57
  } | void,
@@ -1,15 +1,8 @@
1
1
  import * as React from "react";
2
+ import { QuadraticCoefficient, SineCoefficient, Range } from "../util/geometry";
2
3
  import type { Coord } from "../interactive2/types";
3
4
  import type { PerseusGraphType, PerseusGraphTypeAngle, PerseusGraphTypePoint, PerseusGraphTypePolygon, PerseusGraphTypeSegment, PerseusInteractiveGraphWidgetOptions } from "../perseus-types";
4
5
  import type { PerseusScore, WidgetProps } from "../types";
5
- type Range = ReadonlyArray<number>;
6
- type SineCoefficient = [
7
- number,
8
- number,
9
- number,
10
- number
11
- ];
12
- type QuadraticCoefficient = [/* a */ number, /* b */ number, /* c */ number];
13
6
  type RenderProps = PerseusInteractiveGraphWidgetOptions;
14
7
  type Rubric = PerseusInteractiveGraphWidgetOptions;
15
8
  type Props = WidgetProps<RenderProps, Rubric>;
@@ -99,10 +92,9 @@ declare class InteractiveGraph extends React.Component<Props, State> {
99
92
  removePolygonControls: () => void;
100
93
  addAngleControls: () => void;
101
94
  removeAngleControls: () => void;
102
- toggleShowAngles: () => void;
103
95
  toggleShowSides: () => void;
104
96
  getUserInput: () => PerseusGraphType;
105
- simpleValidate: (arg1: Rubric) => PerseusScore;
97
+ simpleValidate: (rubric: Rubric) => PerseusScore;
106
98
  focus: () => void;
107
99
  render(): React.ReactNode;
108
100
  static getQuadraticCoefficients(coords: ReadonlyArray<Coord>): QuadraticCoefficient;
@@ -168,10 +160,10 @@ declare const _default: Readonly<{
168
160
  defaultAlignment?: import("../types").Alignment | undefined;
169
161
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
170
162
  isLintable?: boolean | undefined;
171
- transform?: import("../types").WidgetTransform | undefined;
172
163
  tracking?: import("../types").Tracking | undefined;
173
- staticTransform?: import("../types").WidgetTransform | undefined;
174
164
  traverseChildWidgets?: any;
165
+ transform?: import("../types").WidgetTransform | undefined;
166
+ staticTransform?: import("../types").WidgetTransform | undefined;
175
167
  propUpgrades?: {
176
168
  [key: string]: (arg1: any) => any;
177
169
  } | undefined;
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import * as $Flowgen$Import$_2e__2e__2f_types from "../types";
8
8
  import * as React from "react";
9
+ import { QuadraticCoefficient, SineCoefficient, Range } from "../util/geometry";
9
10
  import type { Coord } from "../interactive2/types";
10
11
  import type {
11
12
  PerseusGraphType,
@@ -16,9 +17,6 @@ import type {
16
17
  PerseusInteractiveGraphWidgetOptions,
17
18
  } from "../perseus-types";
18
19
  import type { PerseusScore, WidgetProps } from "../types";
19
- declare type Range = $ReadOnlyArray<number>;
20
- declare type SineCoefficient = [number, number, number, number];
21
- declare type QuadraticCoefficient = [number, number, number];
22
20
  declare type RenderProps = PerseusInteractiveGraphWidgetOptions;
23
21
  declare type Rubric = PerseusInteractiveGraphWidgetOptions;
24
22
  declare type Props = WidgetProps<RenderProps, Rubric>;
@@ -120,10 +118,9 @@ declare class InteractiveGraph extends React.Component<Props, State> {
120
118
  removePolygonControls: () => void;
121
119
  addAngleControls: () => void;
122
120
  removeAngleControls: () => void;
123
- toggleShowAngles: () => void;
124
121
  toggleShowSides: () => void;
125
122
  getUserInput: () => PerseusGraphType;
126
- simpleValidate: (arg1: Rubric) => PerseusScore;
123
+ simpleValidate: (rubric: Rubric) => PerseusScore;
127
124
  focus: () => void;
128
125
  render(): React.Node;
129
126
  static getQuadraticCoefficients(
@@ -230,10 +227,10 @@ declare var _default: $ReadOnly<{|
230
227
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
231
228
  | void,
232
229
  isLintable?: boolean | void,
233
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
234
230
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
235
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
236
231
  traverseChildWidgets?: any,
232
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
233
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
237
234
  propUpgrades?: {
238
235
  [key: string]: (arg1: any) => any,
239
236
  } | void,
@@ -101,10 +101,10 @@ declare const _default: Readonly<{
101
101
  defaultAlignment?: import("../types").Alignment | undefined;
102
102
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
103
103
  isLintable?: boolean | undefined;
104
- transform?: import("../types").WidgetTransform | undefined;
105
104
  tracking?: import("../types").Tracking | undefined;
106
- staticTransform?: import("../types").WidgetTransform | undefined;
107
105
  traverseChildWidgets?: any;
106
+ transform?: import("../types").WidgetTransform | undefined;
107
+ staticTransform?: import("../types").WidgetTransform | undefined;
108
108
  propUpgrades?: {
109
109
  [key: string]: (arg1: any) => any;
110
110
  } | undefined;
@@ -130,10 +130,10 @@ declare var _default: $ReadOnly<{|
130
130
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
131
131
  | void,
132
132
  isLintable?: boolean | void,
133
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
134
133
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
135
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
136
134
  traverseChildWidgets?: any,
135
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
136
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
137
137
  propUpgrades?: {
138
138
  [key: string]: (arg1: any) => any,
139
139
  } | void,
@@ -35,10 +35,10 @@ declare const _default: Readonly<{
35
35
  defaultAlignment?: import("../types").Alignment | undefined;
36
36
  getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
37
37
  isLintable?: boolean | undefined;
38
- transform?: import("../types").WidgetTransform | undefined;
39
38
  tracking?: import("../types").Tracking | undefined;
40
- staticTransform?: import("../types").WidgetTransform | undefined;
41
39
  traverseChildWidgets?: any;
40
+ transform?: import("../types").WidgetTransform | undefined;
41
+ staticTransform?: import("../types").WidgetTransform | undefined;
42
42
  propUpgrades?: {
43
43
  [key: string]: (arg1: any) => any;
44
44
  } | undefined;
@@ -46,10 +46,10 @@ declare var _default: $ReadOnly<{|
46
46
  | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
47
47
  | void,
48
48
  isLintable?: boolean | void,
49
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
50
49
  tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
51
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
52
50
  traverseChildWidgets?: any,
51
+ transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
52
+ staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
53
53
  propUpgrades?: {
54
54
  [key: string]: (arg1: any) => any,
55
55
  } | void,