@khanacademy/perseus-editor 32.1.0 → 32.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 (26) hide show
  1. package/dist/components/coordinate-pair-input.d.ts +1 -0
  2. package/dist/es/index.css +2 -2
  3. package/dist/es/index.css.map +1 -1
  4. package/dist/es/index.js +70 -66
  5. package/dist/es/index.js.map +1 -1
  6. package/dist/index.css +2 -2
  7. package/dist/index.css.map +1 -1
  8. package/dist/index.js +70 -66
  9. package/dist/index.js.map +1 -1
  10. package/dist/widgets/interactive-graph-editor/interactive-graph-editor.d.ts +1 -0
  11. package/dist/widgets/interactive-graph-editor/start-coords/coord-input.d.ts +2 -0
  12. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-absolute-value.d.ts +5 -3
  13. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-angle.d.ts +5 -3
  14. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-circle.d.ts +5 -3
  15. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-exponential.d.ts +5 -3
  16. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-line.d.ts +5 -3
  17. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-logarithm.d.ts +5 -3
  18. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-multiline.d.ts +5 -3
  19. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-point.d.ts +2 -0
  20. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-quadratic.d.ts +5 -3
  21. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-settings.d.ts +4 -2
  22. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-sinusoid.d.ts +5 -3
  23. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-tangent.d.ts +5 -3
  24. package/dist/widgets/interactive-graph-editor/start-coords/start-coords-vector.d.ts +8 -0
  25. package/dist/widgets/interactive-graph-editor/utils/reshape-point-labels.d.ts +5 -0
  26. package/package.json +46 -46
@@ -1081,6 +1081,7 @@ declare class InteractiveGraphEditor extends React.Component<Props> {
1081
1081
  valid: true | string;
1082
1082
  };
1083
1083
  changeStartCoords: (coords: any) => void;
1084
+ changePointLabels: (pointLabels: ReadonlyArray<string>) => void;
1084
1085
  serialize(): PerseusInteractiveGraphWidgetOptions;
1085
1086
  getSaveWarnings: () => any[];
1086
1087
  render(): React.JSX.Element;
@@ -4,6 +4,8 @@ interface CoordInputProps {
4
4
  label: string;
5
5
  coord: Coord;
6
6
  onChange: (coord: Coord) => void;
7
+ pointLabel?: string;
8
+ onPointLabelChange?: (newLabel: string) => void;
7
9
  }
8
10
  declare const CoordInput: (props: CoordInputProps) => React.JSX.Element;
9
11
  export default CoordInput;
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { Coord } from "@khanacademy/perseus";
3
3
  type AbsoluteValueCoords = [Coord, Coord];
4
- type Props = {
4
+ interface StartCoordsAbsoluteValueProps {
5
5
  startCoords: AbsoluteValueCoords;
6
6
  onChange: (startCoords: AbsoluteValueCoords) => void;
7
- };
8
- declare const StartCoordsAbsoluteValue: (props: Props) => React.JSX.Element;
7
+ pointLabels: ReadonlyArray<string>;
8
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
9
+ }
10
+ declare const StartCoordsAbsoluteValue: (props: StartCoordsAbsoluteValueProps) => React.JSX.Element;
9
11
  export default StartCoordsAbsoluteValue;
@@ -1,10 +1,12 @@
1
1
  import * as React from "react";
2
2
  import type { Coord } from "@khanacademy/perseus";
3
3
  type AngleCoords = [Coord, Coord, Coord];
4
- type Props = {
4
+ interface StartCoordsAngleProps {
5
5
  startCoords: AngleCoords;
6
6
  allowReflexAngles?: boolean;
7
7
  onChange: (startCoords: AngleCoords) => void;
8
- };
9
- declare const StartCoordsAngle: (props: Props) => React.JSX.Element;
8
+ pointLabels: ReadonlyArray<string>;
9
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
10
+ }
11
+ declare const StartCoordsAngle: (props: StartCoordsAngleProps) => React.JSX.Element;
10
12
  export default StartCoordsAngle;
@@ -4,9 +4,11 @@ type CircleCoords = {
4
4
  center: Coord;
5
5
  radius: number;
6
6
  };
7
- type Props = {
7
+ interface StartCoordsCircleProps {
8
8
  startCoords: CircleCoords;
9
9
  onChange: (startCoords: CircleCoords) => void;
10
- };
11
- declare const StartCoordsCircle: (props: Props) => React.JSX.Element;
10
+ pointLabels: ReadonlyArray<string>;
11
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
12
+ }
13
+ declare const StartCoordsCircle: (props: StartCoordsCircleProps) => React.JSX.Element;
12
14
  export default StartCoordsCircle;
@@ -4,9 +4,11 @@ type ExponentialStartCoords = {
4
4
  coords: [Coord, Coord];
5
5
  asymptote: number;
6
6
  };
7
- type Props = {
7
+ interface StartCoordsExponentialProps {
8
8
  startCoords: ExponentialStartCoords;
9
9
  onChange: (startCoords: ExponentialStartCoords) => void;
10
- };
11
- declare const StartCoordsExponential: (props: Props) => React.JSX.Element;
10
+ pointLabels: ReadonlyArray<string>;
11
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
12
+ }
13
+ declare const StartCoordsExponential: (props: StartCoordsExponentialProps) => React.JSX.Element;
12
14
  export default StartCoordsExponential;
@@ -1,8 +1,10 @@
1
1
  import * as React from "react";
2
2
  import type { CollinearTuple } from "@khanacademy/perseus-core";
3
- type Props = {
3
+ interface StartCoordsLineProps {
4
4
  startCoords: CollinearTuple;
5
5
  onChange: (startCoords: CollinearTuple) => void;
6
- };
7
- declare const StartCoordsLine: (props: Props) => React.JSX.Element;
6
+ pointLabels: ReadonlyArray<string>;
7
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
8
+ }
9
+ declare const StartCoordsLine: (props: StartCoordsLineProps) => React.JSX.Element;
8
10
  export default StartCoordsLine;
@@ -4,9 +4,11 @@ type LogarithmStartCoords = {
4
4
  coords: [Coord, Coord];
5
5
  asymptote: number;
6
6
  };
7
- type Props = {
7
+ interface StartCoordsLogarithmProps {
8
8
  startCoords: LogarithmStartCoords;
9
9
  onChange: (startCoords: LogarithmStartCoords) => void;
10
- };
11
- declare const StartCoordsLogarithm: (props: Props) => React.JSX.Element;
10
+ pointLabels: ReadonlyArray<string>;
11
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
12
+ }
13
+ declare const StartCoordsLogarithm: (props: StartCoordsLogarithmProps) => React.JSX.Element;
12
14
  export default StartCoordsLogarithm;
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { CollinearTuple } from "@khanacademy/perseus-core";
3
- type Props = {
3
+ interface StartCoordsMultilineProps {
4
4
  type: "linear-system" | "segment";
5
5
  startCoords: CollinearTuple[];
6
6
  onChange: (startCoords: CollinearTuple[]) => void;
7
- };
8
- declare const StartCoordsMultiline: (props: Props) => React.JSX.Element;
7
+ pointLabels: ReadonlyArray<string>;
8
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
9
+ }
10
+ declare const StartCoordsMultiline: (props: StartCoordsMultilineProps) => React.JSX.Element;
9
11
  export default StartCoordsMultiline;
@@ -3,6 +3,8 @@ import type { Coord } from "@khanacademy/perseus";
3
3
  type Props = {
4
4
  startCoords: Coord[];
5
5
  onChange: (startCoords: Coord[]) => void;
6
+ pointLabels?: ReadonlyArray<string>;
7
+ onChangePointLabels?: (pointLabels: ReadonlyArray<string>) => void;
6
8
  };
7
9
  declare const StartCoordsPoint: (props: Props) => React.JSX.Element;
8
10
  export default StartCoordsPoint;
@@ -1,8 +1,10 @@
1
1
  import * as React from "react";
2
2
  import type { Coord } from "@khanacademy/perseus";
3
- type Props = {
3
+ interface StartCoordsQuadraticProps {
4
4
  startCoords: [Coord, Coord, Coord];
5
5
  onChange: (startCoords: [Coord, Coord, Coord]) => void;
6
- };
7
- declare const StartCoordsQuadratic: (props: Props) => React.JSX.Element;
6
+ pointLabels: ReadonlyArray<string>;
7
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
8
+ }
9
+ declare const StartCoordsQuadratic: (props: StartCoordsQuadraticProps) => React.JSX.Element;
8
10
  export default StartCoordsQuadratic;
@@ -1,11 +1,13 @@
1
1
  import * as React from "react";
2
2
  import type { StartCoords } from "./types";
3
3
  import type { PerseusGraphType, Range } from "@khanacademy/perseus-core";
4
- type Props = PerseusGraphType & {
4
+ interface StartCoordsSettingsProps {
5
5
  range: [x: Range, y: Range];
6
6
  step: [x: number, y: number];
7
7
  allowReflexAngles?: boolean;
8
8
  onChange: (startCoords: StartCoords) => void;
9
- };
9
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
10
+ }
11
+ type Props = PerseusGraphType & StartCoordsSettingsProps;
10
12
  declare const StartCoordsSettings: (props: Props) => React.JSX.Element;
11
13
  export default StartCoordsSettings;
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { Coord } from "@khanacademy/perseus";
3
3
  type SinusoidCoords = [Coord, Coord];
4
- type Props = {
4
+ interface StartCoordsSinusoidProps {
5
5
  startCoords: SinusoidCoords;
6
6
  onChange: (startCoords: SinusoidCoords) => void;
7
- };
8
- declare const StartCoordsSinusoid: (props: Props) => React.JSX.Element;
7
+ pointLabels: ReadonlyArray<string>;
8
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
9
+ }
10
+ declare const StartCoordsSinusoid: (props: StartCoordsSinusoidProps) => React.JSX.Element;
9
11
  export default StartCoordsSinusoid;
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { Coord } from "@khanacademy/perseus";
3
3
  type TangentCoords = [Coord, Coord];
4
- type Props = {
4
+ interface StartCoordsTangentProps {
5
5
  startCoords: TangentCoords;
6
6
  onChange: (startCoords: TangentCoords) => void;
7
- };
8
- declare const StartCoordsTangent: (props: Props) => React.JSX.Element;
7
+ pointLabels: ReadonlyArray<string>;
8
+ onChangePointLabels: (pointLabels: ReadonlyArray<string>) => void;
9
+ }
10
+ declare const StartCoordsTangent: (props: StartCoordsTangentProps) => React.JSX.Element;
9
11
  export default StartCoordsTangent;
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import type { CollinearTuple } from "@khanacademy/perseus-core";
3
+ interface StartCoordsVectorProps {
4
+ startCoords: CollinearTuple;
5
+ onChange: (startCoords: CollinearTuple) => void;
6
+ }
7
+ declare const StartCoordsVector: (props: StartCoordsVectorProps) => React.JSX.Element;
8
+ export default StartCoordsVector;
@@ -0,0 +1,5 @@
1
+ import type { PerseusGraphType } from "@khanacademy/perseus-core";
2
+ export declare function reshapePointLabelsForGraphType(pointLabels: ReadonlyArray<string>, graph: PerseusGraphType | undefined, correct: PerseusGraphType | undefined): {
3
+ graph: PerseusGraphType;
4
+ correct: PerseusGraphType;
5
+ } | null;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Perseus editors",
4
4
  "author": "Khan Academy",
5
5
  "license": "MIT",
6
- "version": "32.1.0",
6
+ "version": "32.3.0",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -20,10 +20,10 @@
20
20
  "source": "src/index.ts",
21
21
  "exports": {
22
22
  ".": {
23
- "import": "./dist/es/index.js",
24
- "require": "./dist/index.js",
25
23
  "types": "./dist/index.d.ts",
26
- "source": "./src/index.ts"
24
+ "source": "./src/index.ts",
25
+ "import": "./dist/es/index.js",
26
+ "require": "./dist/index.js"
27
27
  },
28
28
  "./styles.css": "./dist/index.css"
29
29
  },
@@ -36,35 +36,35 @@
36
36
  "mafs": "^0.19.0",
37
37
  "tiny-invariant": "1.3.1",
38
38
  "@khanacademy/kas": "2.2.3",
39
- "@khanacademy/keypad-context": "3.2.58",
40
- "@khanacademy/kmath": "2.4.16",
41
- "@khanacademy/math-input": "26.4.30",
42
- "@khanacademy/perseus": "77.9.0",
43
- "@khanacademy/perseus-core": "27.1.0",
44
- "@khanacademy/perseus-linter": "5.0.13",
45
- "@khanacademy/perseus-score": "8.11.0",
39
+ "@khanacademy/keypad-context": "3.2.60",
40
+ "@khanacademy/kmath": "2.4.18",
41
+ "@khanacademy/math-input": "26.4.32",
42
+ "@khanacademy/perseus": "77.10.1",
43
+ "@khanacademy/perseus-core": "27.3.0",
44
+ "@khanacademy/perseus-linter": "5.0.15",
45
+ "@khanacademy/perseus-score": "8.11.2",
46
46
  "@khanacademy/perseus-utils": "2.1.5"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@khanacademy/mathjax-renderer": "3.0.0",
50
- "@khanacademy/wonder-blocks-accordion": "3.1.59",
51
- "@khanacademy/wonder-blocks-banner": "5.1.0",
52
- "@khanacademy/wonder-blocks-button": "11.6.0",
53
- "@khanacademy/wonder-blocks-clickable": "8.1.10",
54
- "@khanacademy/wonder-blocks-core": "12.4.3",
55
- "@khanacademy/wonder-blocks-dropdown": "10.9.0",
56
- "@khanacademy/wonder-blocks-form": "7.6.0",
57
- "@khanacademy/wonder-blocks-icon": "5.3.14",
58
- "@khanacademy/wonder-blocks-icon-button": "11.3.0",
59
- "@khanacademy/wonder-blocks-labeled-field": "4.1.0",
60
- "@khanacademy/wonder-blocks-layout": "3.1.51",
61
- "@khanacademy/wonder-blocks-link": "10.2.0",
62
- "@khanacademy/wonder-blocks-pill": "3.1.63",
63
- "@khanacademy/wonder-blocks-switch": "3.4.0",
50
+ "@khanacademy/wonder-blocks-accordion": "3.1.61",
51
+ "@khanacademy/wonder-blocks-banner": "5.1.2",
52
+ "@khanacademy/wonder-blocks-button": "11.6.2",
53
+ "@khanacademy/wonder-blocks-clickable": "8.2.1",
54
+ "@khanacademy/wonder-blocks-core": "12.4.4",
55
+ "@khanacademy/wonder-blocks-dropdown": "10.9.2",
56
+ "@khanacademy/wonder-blocks-form": "7.6.2",
57
+ "@khanacademy/wonder-blocks-icon": "5.3.16",
58
+ "@khanacademy/wonder-blocks-icon-button": "11.3.2",
59
+ "@khanacademy/wonder-blocks-labeled-field": "4.1.2",
60
+ "@khanacademy/wonder-blocks-layout": "3.1.53",
61
+ "@khanacademy/wonder-blocks-link": "10.3.1",
62
+ "@khanacademy/wonder-blocks-pill": "3.1.65",
63
+ "@khanacademy/wonder-blocks-switch": "3.4.2",
64
64
  "@khanacademy/wonder-blocks-timing": "7.1.0",
65
- "@khanacademy/wonder-blocks-tokens": "16.5.0",
66
- "@khanacademy/wonder-blocks-tooltip": "4.1.75",
67
- "@khanacademy/wonder-blocks-typography": "4.3.4",
65
+ "@khanacademy/wonder-blocks-tokens": "16.6.0",
66
+ "@khanacademy/wonder-blocks-tooltip": "4.1.77",
67
+ "@khanacademy/wonder-blocks-typography": "4.3.6",
68
68
  "@khanacademy/wonder-stuff-core": "3.0.0",
69
69
  "@phosphor-icons/core": "2.0.2",
70
70
  "aphrodite": "1.2.5",
@@ -79,24 +79,24 @@
79
79
  },
80
80
  "peerDependencies": {
81
81
  "@khanacademy/mathjax-renderer": "^3.0.0",
82
- "@khanacademy/wonder-blocks-accordion": "^3.1.59",
83
- "@khanacademy/wonder-blocks-banner": "^5.1.0",
84
- "@khanacademy/wonder-blocks-button": "^11.6.0",
85
- "@khanacademy/wonder-blocks-clickable": "^8.1.10",
86
- "@khanacademy/wonder-blocks-core": "^12.4.3",
87
- "@khanacademy/wonder-blocks-dropdown": "^10.9.0",
88
- "@khanacademy/wonder-blocks-form": "^7.6.0",
89
- "@khanacademy/wonder-blocks-icon": "^5.3.14",
90
- "@khanacademy/wonder-blocks-icon-button": "^11.3.0",
91
- "@khanacademy/wonder-blocks-labeled-field": "^4.1.0",
92
- "@khanacademy/wonder-blocks-layout": "^3.1.51",
93
- "@khanacademy/wonder-blocks-link": "^10.2.0",
94
- "@khanacademy/wonder-blocks-pill": "^3.1.63",
95
- "@khanacademy/wonder-blocks-switch": "^3.4.0",
82
+ "@khanacademy/wonder-blocks-accordion": "^3.1.61",
83
+ "@khanacademy/wonder-blocks-banner": "^5.1.2",
84
+ "@khanacademy/wonder-blocks-button": "^11.6.2",
85
+ "@khanacademy/wonder-blocks-clickable": "^8.2.1",
86
+ "@khanacademy/wonder-blocks-core": "^12.4.4",
87
+ "@khanacademy/wonder-blocks-dropdown": "^10.9.2",
88
+ "@khanacademy/wonder-blocks-form": "^7.6.2",
89
+ "@khanacademy/wonder-blocks-icon": "^5.3.16",
90
+ "@khanacademy/wonder-blocks-icon-button": "^11.3.2",
91
+ "@khanacademy/wonder-blocks-labeled-field": "^4.1.2",
92
+ "@khanacademy/wonder-blocks-layout": "^3.1.53",
93
+ "@khanacademy/wonder-blocks-link": "^10.3.1",
94
+ "@khanacademy/wonder-blocks-pill": "^3.1.65",
95
+ "@khanacademy/wonder-blocks-switch": "^3.4.2",
96
96
  "@khanacademy/wonder-blocks-timing": "^7.1.0",
97
- "@khanacademy/wonder-blocks-tokens": "^16.5.0",
98
- "@khanacademy/wonder-blocks-tooltip": "^4.1.75",
99
- "@khanacademy/wonder-blocks-typography": "^4.3.4",
97
+ "@khanacademy/wonder-blocks-tokens": "^16.6.0",
98
+ "@khanacademy/wonder-blocks-tooltip": "^4.1.77",
99
+ "@khanacademy/wonder-blocks-typography": "^4.3.6",
100
100
  "@khanacademy/wonder-stuff-core": "^3.0.0",
101
101
  "@phosphor-icons/core": "^2.0.2",
102
102
  "aphrodite": "^1.2.5",
@@ -109,7 +109,7 @@
109
109
  },
110
110
  "keywords": [],
111
111
  "khan": {
112
- "catalogHash": "250b26c40e93a54a"
112
+ "catalogHash": "8d63a26474e3cbb4"
113
113
  },
114
114
  "scripts": {}
115
115
  }