@khanacademy/perseus 22.5.1 → 22.6.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.
@@ -100,9 +100,9 @@ export declare const ApiOptions: {
100
100
  circle?: boolean | undefined;
101
101
  polygon?: boolean | undefined;
102
102
  linear?: boolean | undefined;
103
- ray?: boolean | undefined;
104
103
  segment?: boolean | undefined;
105
104
  "linear-system"?: boolean | undefined;
105
+ ray?: boolean | undefined;
106
106
  } & {
107
107
  "interactive-graph-locked-features-m1"?: boolean | undefined;
108
108
  }) | undefined;
@@ -145,9 +145,9 @@ declare const ref: React.ForwardRefExoticComponent<Omit<Pick<OwnProps & HOCProps
145
145
  circle?: boolean | undefined;
146
146
  polygon?: boolean | undefined;
147
147
  linear?: boolean | undefined;
148
- ray?: boolean | undefined;
149
148
  segment?: boolean | undefined;
150
149
  "linear-system"?: boolean | undefined;
150
+ ray?: boolean | undefined;
151
151
  } & {
152
152
  "interactive-graph-locked-features-m1"?: boolean | undefined;
153
153
  }) | undefined;
@@ -139,9 +139,9 @@ declare const _default: Readonly<{
139
139
  circle?: boolean | undefined;
140
140
  polygon?: boolean | undefined;
141
141
  linear?: boolean | undefined;
142
- ray?: boolean | undefined;
143
142
  segment?: boolean | undefined;
144
143
  "linear-system"?: boolean | undefined;
144
+ ray?: boolean | undefined;
145
145
  } & {
146
146
  "interactive-graph-locked-features-m1"?: boolean | undefined;
147
147
  }) | undefined;
@@ -217,9 +217,9 @@ declare const _default: Readonly<{
217
217
  circle?: boolean | undefined;
218
218
  polygon?: boolean | undefined;
219
219
  linear?: boolean | undefined;
220
- ray?: boolean | undefined;
221
220
  segment?: boolean | undefined;
222
221
  "linear-system"?: boolean | undefined;
222
+ ray?: boolean | undefined;
223
223
  } & {
224
224
  "interactive-graph-locked-features-m1"?: boolean | undefined;
225
225
  }) | undefined;
@@ -295,9 +295,9 @@ declare const _default: Readonly<{
295
295
  circle?: boolean | undefined;
296
296
  polygon?: boolean | undefined;
297
297
  linear?: boolean | undefined;
298
- ray?: boolean | undefined;
299
298
  segment?: boolean | undefined;
300
299
  "linear-system"?: boolean | undefined;
300
+ ray?: boolean | undefined;
301
301
  } & {
302
302
  "interactive-graph-locked-features-m1"?: boolean | undefined;
303
303
  }) | undefined;
@@ -370,9 +370,9 @@ declare const _default: Readonly<{
370
370
  circle?: boolean | undefined;
371
371
  polygon?: boolean | undefined;
372
372
  linear?: boolean | undefined;
373
- ray?: boolean | undefined;
374
373
  segment?: boolean | undefined;
375
374
  "linear-system"?: boolean | undefined;
375
+ ray?: boolean | undefined;
376
376
  } & {
377
377
  "interactive-graph-locked-features-m1"?: boolean | undefined;
378
378
  }) | undefined;
@@ -448,9 +448,9 @@ declare const _default: Readonly<{
448
448
  circle?: boolean | undefined;
449
449
  polygon?: boolean | undefined;
450
450
  linear?: boolean | undefined;
451
- ray?: boolean | undefined;
452
451
  segment?: boolean | undefined;
453
452
  "linear-system"?: boolean | undefined;
453
+ ray?: boolean | undefined;
454
454
  } & {
455
455
  "interactive-graph-locked-features-m1"?: boolean | undefined;
456
456
  }) | undefined;
@@ -526,9 +526,9 @@ declare const _default: Readonly<{
526
526
  circle?: boolean | undefined;
527
527
  polygon?: boolean | undefined;
528
528
  linear?: boolean | undefined;
529
- ray?: boolean | undefined;
530
529
  segment?: boolean | undefined;
531
530
  "linear-system"?: boolean | undefined;
531
+ ray?: boolean | undefined;
532
532
  } & {
533
533
  "interactive-graph-locked-features-m1"?: boolean | undefined;
534
534
  }) | undefined;
@@ -1,10 +1,3 @@
1
1
  /// <reference types="react" />
2
- export declare const showTickLabel: (gridStep: number, tickStep: number, label: number) => boolean;
3
2
  export declare function generateTickLocations(tickStep: number, min: number, max: number): number[];
4
- type Props = {
5
- tickStep: [number, number];
6
- range: [[number, number], [number, number]];
7
- gridStep: [number, number];
8
- };
9
- export declare const AxisTicks: (props: Props) => JSX.Element;
10
- export {};
3
+ export declare const AxisTicks: () => JSX.Element;
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ type ShowTickLabelProps = {
3
+ gridStep: number;
4
+ tickStep: number;
5
+ label: number;
6
+ graphEdge: number;
7
+ position: number;
8
+ axisOutOfBounds: boolean;
9
+ };
10
+ export declare const AxisTickLabels: () => JSX.Element;
11
+ export declare const showTickLabel: ({ gridStep, tickStep, label, graphEdge, position, axisOutOfBounds, }: ShowTickLabelProps) => boolean;
12
+ export declare function generateTickLocations(tickStep: number, min: number, max: number): number[];
13
+ export {};
@@ -1,9 +1,5 @@
1
- import { type Interval, vec } from "mafs";
2
- export type GraphDimensions = {
3
- range: [Interval, Interval];
4
- width: number;
5
- height: number;
6
- };
1
+ import { vec } from "mafs";
2
+ import type { GraphDimensions } from "../types";
7
3
  export declare function vectorsToPixels(vectors: vec.Vector2[], graphState: GraphDimensions, translation?: vec.Vector2): vec.Vector2[];
8
4
  export declare function dimensionsToPixels(dimens: vec.Vector2[], graphState: GraphDimensions): vec.Vector2[];
9
5
  export declare function pointToPixel(point: vec.Vector2, graphState: GraphDimensions): vec.Vector2;
@@ -1,4 +1,5 @@
1
1
  import type { PerseusRenderer } from "../../perseus-types";
2
+ import type { vec } from "mafs";
2
3
  export declare function interactiveGraphQuestionBuilder(): InteractiveGraphQuestionBuilder;
3
4
  declare class InteractiveGraphQuestionBuilder {
4
5
  private gridStep;
@@ -9,6 +10,7 @@ declare class InteractiveGraphQuestionBuilder {
9
10
  private snapStep;
10
11
  private tickStep;
11
12
  private interactiveFigureConfig;
13
+ private lockedFigures;
12
14
  build(): PerseusRenderer;
13
15
  withGridStep(x: number, y: number): InteractiveGraphQuestionBuilder;
14
16
  withAxisLabels(x: string, y: string): InteractiveGraphQuestionBuilder;
@@ -19,5 +21,9 @@ declare class InteractiveGraphQuestionBuilder {
19
21
  withTickStep(x: number, y: number): InteractiveGraphQuestionBuilder;
20
22
  withSegments(numSegments: number): InteractiveGraphQuestionBuilder;
21
23
  withCircle(): InteractiveGraphQuestionBuilder;
24
+ addLockedPointAt(x: number, y: number): InteractiveGraphQuestionBuilder;
25
+ addLockedLine(point1: vec.Vector2, point2: vec.Vector2): InteractiveGraphQuestionBuilder;
26
+ private createLockedPoint;
27
+ private addLockedFigure;
22
28
  }
23
29
  export {};
@@ -1,7 +1,9 @@
1
1
  import React from "react";
2
2
  import type { Interval, vec } from "mafs";
3
- type GraphConfig = {
3
+ export type GraphConfig = {
4
4
  range: [Interval, Interval];
5
+ tickStep: vec.Vector2;
6
+ gridStep: vec.Vector2;
5
7
  snapStep: vec.Vector2;
6
8
  markings: "graph" | "grid" | "none";
7
9
  showTooltips: boolean;
@@ -12,4 +14,3 @@ type GraphConfig = {
12
14
  };
13
15
  export declare const GraphConfigContext: React.Context<GraphConfig>;
14
16
  export default function useGraphConfig(): GraphConfig;
15
- export {};
@@ -47,3 +47,8 @@ export interface CircleGraphState extends InteractiveGraphStateCommon {
47
47
  radiusPoint: Coord;
48
48
  }
49
49
  export type PairOfPoints = [Coord, Coord];
50
+ export type GraphDimensions = {
51
+ range: [Interval, Interval];
52
+ width: number;
53
+ height: number;
54
+ };
@@ -133,9 +133,9 @@ declare const _default: Readonly<{
133
133
  circle?: boolean | undefined;
134
134
  polygon?: boolean | undefined;
135
135
  linear?: boolean | undefined;
136
- ray?: boolean | undefined;
137
136
  segment?: boolean | undefined;
138
137
  "linear-system"?: boolean | undefined;
138
+ ray?: boolean | undefined;
139
139
  } & {
140
140
  "interactive-graph-locked-features-m1"?: boolean | undefined;
141
141
  }) | undefined;
@@ -193,9 +193,9 @@ declare const _default: Readonly<{
193
193
  circle?: boolean | undefined;
194
194
  polygon?: boolean | undefined;
195
195
  linear?: boolean | undefined;
196
- ray?: boolean | undefined;
197
196
  segment?: boolean | undefined;
198
197
  "linear-system"?: boolean | undefined;
198
+ ray?: boolean | undefined;
199
199
  } & {
200
200
  "interactive-graph-locked-features-m1"?: boolean | undefined;
201
201
  }) | undefined;
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": "22.5.1",
6
+ "version": "22.6.0",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -46,7 +46,7 @@
46
46
  "@khanacademy/perseus-linter": "^0.4.0",
47
47
  "@khanacademy/pure-markdown": "^0.3.4",
48
48
  "@khanacademy/simple-markdown": "^0.11.4",
49
- "mafs": "0.18.5"
49
+ "mafs": "0.18.6"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@khanacademy/wonder-blocks-banner": "3.0.42",