@khanacademy/perseus 25.1.0 → 26.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.
Files changed (58) hide show
  1. package/dist/components/fixed-to-responsive.d.ts +1 -1
  2. package/dist/components/hud.d.ts +2 -2
  3. package/dist/components/i18n-context.d.ts +1 -1
  4. package/dist/components/info-tip/info-tip.d.ts +1 -1
  5. package/dist/components/math-input.d.ts +1 -1
  6. package/dist/components/tooltip.d.ts +2 -2
  7. package/dist/es/index.css +2 -2
  8. package/dist/es/index.js +2750 -2676
  9. package/dist/es/index.js.map +1 -1
  10. package/dist/index.css +2 -2
  11. package/dist/index.js +2781 -2707
  12. package/dist/index.js.map +1 -1
  13. package/dist/util/react-render.d.ts +9 -1
  14. package/dist/widgets/deprecated-standin/index.d.ts +1 -1
  15. package/dist/widgets/expression.d.ts +4 -4
  16. package/dist/widgets/interactive-graph.d.ts +1 -1
  17. package/dist/widgets/interactive-graphs/backgrounds/axis-arrows.d.ts +2 -0
  18. package/dist/widgets/interactive-graphs/backgrounds/axis-labels.d.ts +2 -0
  19. package/dist/widgets/interactive-graphs/{graphs/components → backgrounds}/axis-tick-labels.d.ts +2 -2
  20. package/dist/widgets/interactive-graphs/{axis-ticks.d.ts → backgrounds/axis-ticks.d.ts} +2 -2
  21. package/dist/widgets/interactive-graphs/{grid.d.ts → backgrounds/grid.d.ts} +4 -4
  22. package/dist/widgets/interactive-graphs/{legacy-grid.d.ts → backgrounds/legacy-grid.d.ts} +3 -3
  23. package/dist/widgets/interactive-graphs/graph-locked-layer.d.ts +2 -2
  24. package/dist/widgets/interactive-graphs/graphs/angle.d.ts +2 -2
  25. package/dist/widgets/interactive-graphs/graphs/circle.d.ts +2 -2
  26. package/dist/widgets/interactive-graphs/graphs/components/angle-indicators.d.ts +3 -3
  27. package/dist/widgets/interactive-graphs/graphs/components/arrowhead.d.ts +2 -2
  28. package/dist/widgets/interactive-graphs/graphs/components/css-transform-wrapper.d.ts +1 -1
  29. package/dist/widgets/interactive-graphs/graphs/components/movable-line.d.ts +3 -3
  30. package/dist/widgets/interactive-graphs/graphs/components/movable-point.d.ts +2 -2
  31. package/dist/widgets/interactive-graphs/graphs/components/svg-line.d.ts +2 -1
  32. package/dist/widgets/interactive-graphs/graphs/components/text-label.d.ts +3 -2
  33. package/dist/widgets/interactive-graphs/graphs/components/vector.d.ts +1 -1
  34. package/dist/widgets/interactive-graphs/graphs/linear-system.d.ts +2 -2
  35. package/dist/widgets/interactive-graphs/graphs/linear.d.ts +2 -2
  36. package/dist/widgets/interactive-graphs/graphs/point.d.ts +2 -2
  37. package/dist/widgets/interactive-graphs/graphs/polygon.d.ts +2 -2
  38. package/dist/widgets/interactive-graphs/graphs/quadratic.d.ts +2 -2
  39. package/dist/widgets/interactive-graphs/graphs/ray.d.ts +2 -2
  40. package/dist/widgets/interactive-graphs/graphs/segment.d.ts +2 -2
  41. package/dist/widgets/interactive-graphs/graphs/sinusoid.d.ts +2 -2
  42. package/dist/widgets/interactive-graphs/interactive-graph-question-builder.d.ts +73 -11
  43. package/dist/widgets/interactive-graphs/locked-figures/locked-ellipse.d.ts +2 -2
  44. package/dist/widgets/interactive-graphs/locked-figures/locked-function.d.ts +2 -2
  45. package/dist/widgets/interactive-graphs/locked-figures/locked-line.d.ts +2 -2
  46. package/dist/widgets/interactive-graphs/locked-figures/locked-point.d.ts +2 -2
  47. package/dist/widgets/interactive-graphs/locked-figures/locked-polygon.d.ts +2 -2
  48. package/dist/widgets/interactive-graphs/locked-figures/locked-vector.d.ts +2 -2
  49. package/dist/widgets/interactive-graphs/mafs-graph.d.ts +1 -1
  50. package/dist/widgets/interactive-graphs/protractor.d.ts +2 -2
  51. package/dist/widgets/interactive-graphs/reducer/interactive-graph-action.d.ts +64 -29
  52. package/dist/widgets/label-image/answer-choices.d.ts +2 -2
  53. package/dist/widgets/label-image/answer-pill.d.ts +2 -2
  54. package/dist/widgets/label-image/hide-answers-toggle.d.ts +1 -1
  55. package/dist/widgets/label-image/marker.d.ts +1 -1
  56. package/package.json +8 -8
  57. package/dist/widgets/interactive-graphs/axis-arrows.d.ts +0 -2
  58. package/dist/widgets/interactive-graphs/axis-labels.d.ts +0 -2
@@ -1,55 +1,84 @@
1
1
  import type { InitializeGraphStateParams } from "./initialize-graph-state";
2
2
  import type { Interval, vec } from "mafs";
3
- export type InteractiveGraphAction = Reinitialize | MoveControlPoint | MoveLine | MoveAll | MovePoint | MoveCenter | MoveRadiusPoint | ChangeSnapStep | ChangeRange;
4
- export declare const REINITIALIZE = "reinitialize";
5
- export interface Reinitialize {
6
- type: typeof REINITIALIZE;
7
- params: InitializeGraphStateParams;
8
- }
9
- export declare function reinitialize(params: InitializeGraphStateParams): Reinitialize;
10
- export declare const MOVE_CONTROL_POINT = "move-control-point";
11
- export interface MoveControlPoint {
12
- type: typeof MOVE_CONTROL_POINT;
13
- itemIndex: number;
14
- pointIndex: number;
15
- destination: vec.Vector2;
16
- }
17
- export declare function moveControlPoint(pointIndex: number, destination: vec.Vector2, itemIndex: number): MoveControlPoint;
18
- export declare const MOVE_ALL = "move-all";
3
+ export type InteractiveGraphAction = Reinitialize | MovePointInFigure | MoveLine | MoveAll | MovePoint | MoveCenter | MoveRadiusPoint | ChangeSnapStep | ChangeRange;
4
+ export declare const actions: {
5
+ angle: {
6
+ movePoint: typeof movePoint;
7
+ };
8
+ circle: {
9
+ moveCenter: typeof moveCenter;
10
+ moveRadiusPoint: typeof moveRadiusPoint;
11
+ };
12
+ linear: {
13
+ moveLine: (delta: vec.Vector2) => MoveLine;
14
+ movePoint: (pointIndex: any, destination: any) => MovePointInFigure;
15
+ };
16
+ linearSystem: {
17
+ moveLine: typeof moveLine;
18
+ movePointInFigure: typeof movePointInFigure;
19
+ };
20
+ pointGraph: {
21
+ movePoint: typeof movePoint;
22
+ };
23
+ polygon: {
24
+ movePoint: typeof movePoint;
25
+ moveAll: typeof moveAll;
26
+ };
27
+ quadratic: {
28
+ movePoint: typeof movePoint;
29
+ };
30
+ ray: {
31
+ moveRay: (delta: vec.Vector2) => MoveLine;
32
+ movePoint: (pointIndex: any, destination: any) => MovePointInFigure;
33
+ };
34
+ segment: {
35
+ movePointInFigure: typeof movePointInFigure;
36
+ moveLine: typeof moveLine;
37
+ };
38
+ sinusoid: {
39
+ movePoint: typeof movePoint;
40
+ };
41
+ };
19
42
  export declare const MOVE_LINE = "move-line";
20
- interface MoveItem {
21
- delta: vec.Vector2;
22
- itemIndex?: number;
23
- }
24
- export interface MoveLine extends MoveItem {
43
+ export interface MoveLine {
25
44
  type: typeof MOVE_LINE;
45
+ itemIndex: number;
46
+ delta: vec.Vector2;
26
47
  }
27
- export interface MoveAll extends MoveItem {
48
+ declare function moveLine(itemIndex: number, delta: vec.Vector2): MoveLine;
49
+ export declare const MOVE_ALL = "move-all";
50
+ export interface MoveAll {
28
51
  type: typeof MOVE_ALL;
52
+ delta: vec.Vector2;
29
53
  }
30
- /** This action assumes the state.coords holds an array of collinear tuples that define lines */
31
- export declare function moveLine(itemIndex: number, delta: vec.Vector2): MoveLine;
32
- /** This action assumes a flat array of vectors */
33
- export declare const moveAll: (delta: vec.Vector2) => MoveAll;
54
+ declare function moveAll(delta: vec.Vector2): MoveAll;
34
55
  export declare const MOVE_POINT = "move-point";
35
56
  export interface MovePoint {
36
57
  type: typeof MOVE_POINT;
37
58
  index: number;
38
59
  destination: vec.Vector2;
39
60
  }
40
- export declare function movePoint(index: number, destination: vec.Vector2): MovePoint;
61
+ declare function movePoint(index: number, destination: vec.Vector2): MovePoint;
62
+ export declare const MOVE_POINT_IN_FIGURE = "move-point-in-figure";
63
+ export interface MovePointInFigure {
64
+ type: typeof MOVE_POINT_IN_FIGURE;
65
+ figureIndex: number;
66
+ pointIndex: number;
67
+ destination: vec.Vector2;
68
+ }
69
+ declare function movePointInFigure(figureIndex: number, pointIndex: number, destination: vec.Vector2): MovePointInFigure;
41
70
  export declare const MOVE_CENTER = "move-center";
42
71
  export interface MoveCenter {
43
72
  type: typeof MOVE_CENTER;
44
73
  destination: vec.Vector2;
45
74
  }
46
- export declare function moveCenter(destination: vec.Vector2): MoveCenter;
75
+ declare function moveCenter(destination: vec.Vector2): MoveCenter;
47
76
  export declare const MOVE_RADIUS_POINT = "MOVE_RADIUS_POINT";
48
77
  export interface MoveRadiusPoint {
49
78
  type: typeof MOVE_RADIUS_POINT;
50
79
  destination: vec.Vector2;
51
80
  }
52
- export declare function moveRadiusPoint(destination: vec.Vector2): MoveRadiusPoint;
81
+ declare function moveRadiusPoint(destination: vec.Vector2): MoveRadiusPoint;
53
82
  export declare const CHANGE_SNAP_STEP = "change-snap-step";
54
83
  export interface ChangeSnapStep {
55
84
  type: typeof CHANGE_SNAP_STEP;
@@ -62,4 +91,10 @@ export interface ChangeRange {
62
91
  range: [x: Interval, y: Interval];
63
92
  }
64
93
  export declare function changeRange(range: [x: Interval, y: Interval]): ChangeRange;
94
+ export declare const REINITIALIZE = "reinitialize";
95
+ export interface Reinitialize {
96
+ type: typeof REINITIALIZE;
97
+ params: InitializeGraphStateParams;
98
+ }
99
+ export declare function reinitialize(params: InitializeGraphStateParams): Reinitialize;
65
100
  export {};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Enables single or multiple answers selection using WonderBlocks dropdowns.
3
3
  */
4
- /// <reference types="react" />
5
4
  import { SingleSelect } from "@khanacademy/wonder-blocks-dropdown";
5
+ import * as React from "react";
6
6
  export type AnswerType = {
7
7
  content: string;
8
8
  checked: boolean;
@@ -15,5 +15,5 @@ type AnswerChoicesProps = {
15
15
  onToggle: (opened: boolean) => unknown;
16
16
  disabled: boolean;
17
17
  };
18
- declare const AnswerChoices: (props: AnswerChoicesProps) => JSX.Element;
18
+ declare const AnswerChoices: (props: AnswerChoicesProps) => React.JSX.Element;
19
19
  export default AnswerChoices;
@@ -1,6 +1,6 @@
1
1
  /// <reference path="../../../types/aphrodite.d.ts" />
2
- /// <reference types="react" />
3
2
  import { type CSSProperties } from "aphrodite";
3
+ import * as React from "react";
4
4
  export declare const AnswerPill: (props: {
5
5
  selectedAnswers: readonly string[];
6
6
  showCorrectness?: "correct" | "incorrect";
@@ -10,4 +10,4 @@ export declare const AnswerPill: (props: {
10
10
  hovered?: boolean;
11
11
  focused?: boolean;
12
12
  onClick?: () => void;
13
- }) => JSX.Element;
13
+ }) => React.JSX.Element;
@@ -3,4 +3,4 @@ import * as React from "react";
3
3
  export declare const HideAnswersToggle: (props: {
4
4
  areAnswersHidden: boolean;
5
5
  onChange: React.ComponentPropsWithoutRef<typeof Switch>["onChange"];
6
- }) => JSX.Element;
6
+ }) => React.JSX.Element;
@@ -31,7 +31,7 @@ export default class Marker extends React.Component<Props> {
31
31
  static defaultProps: {
32
32
  selected: ReadonlyArray<any>;
33
33
  };
34
- renderIcon(): JSX.Element;
34
+ renderIcon(): React.JSX.Element;
35
35
  render(): React.ReactNode;
36
36
  }
37
37
  export {};
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Core Perseus API (includes renderers and widgets)",
4
4
  "author": "Khan Academy",
5
5
  "license": "MIT",
6
- "version": "25.1.0",
6
+ "version": "26.0.0",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -41,11 +41,11 @@
41
41
  "dependencies": {
42
42
  "@khanacademy/kas": "^0.3.10",
43
43
  "@khanacademy/kmath": "^0.1.13",
44
- "@khanacademy/math-input": "^19.2.1",
44
+ "@khanacademy/math-input": "^20.0.0",
45
45
  "@khanacademy/perseus-core": "1.5.0",
46
46
  "@khanacademy/perseus-linter": "^1.0.0",
47
- "@khanacademy/pure-markdown": "^0.3.6",
48
- "@khanacademy/simple-markdown": "^0.12.1",
47
+ "@khanacademy/pure-markdown": "^0.3.7",
48
+ "@khanacademy/simple-markdown": "^0.13.0",
49
49
  "@use-gesture/react": "^10.2.27",
50
50
  "mafs": "0.18.7"
51
51
  },
@@ -79,8 +79,8 @@
79
79
  "lodash.debounce": "^4.0.8",
80
80
  "perseus-build-settings": "^0.4.1",
81
81
  "prop-types": "15.6.1",
82
- "react": "16.14.0",
83
- "react-dom": "16.14.0",
82
+ "react": ">= 18",
83
+ "react-dom": ">= 18",
84
84
  "react-popper": "^2.2.5",
85
85
  "underscore": "^1.4.4"
86
86
  },
@@ -112,8 +112,8 @@
112
112
  "jquery": "^2.1.1",
113
113
  "lodash.debounce": "^4.0.8",
114
114
  "prop-types": "15.6.1",
115
- "react": "16.14.0",
116
- "react-dom": "16.14.0",
115
+ "react": ">= 18",
116
+ "react-dom": ">= 18",
117
117
  "react-popper": "^2.2.5",
118
118
  "underscore": "^1.4.4"
119
119
  },
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export default function AxisArrows(): JSX.Element;
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export default function AxisLabels(): JSX.Element;