@khanacademy/perseus 19.3.0 → 19.4.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.
@@ -1,6 +1,10 @@
1
1
  import type { Coord } from "./interactive2/types";
2
2
  export type Range = [number, number];
3
3
  export type Size = [number, number];
4
+ type StyleParams = {
5
+ fill?: string;
6
+ stroke?: string;
7
+ };
4
8
  type Empty = Record<never, never>;
5
9
  export type PerseusItem = {
6
10
  question: PerseusRenderer;
@@ -240,7 +244,7 @@ export type PerseusInteractiveGraphWidgetOptions = {
240
244
  gridStep: [number, number];
241
245
  snapStep: [number, number];
242
246
  backgroundImage?: PerseusImageBackground;
243
- markings: string;
247
+ markings: "graph" | "grid" | "none";
244
248
  labels: ReadonlyArray<string>;
245
249
  showProtractor: boolean;
246
250
  showRuler: boolean;
@@ -250,6 +254,13 @@ export type PerseusInteractiveGraphWidgetOptions = {
250
254
  range: [[number, number], [number, number]];
251
255
  graph: PerseusGraphType;
252
256
  correct: PerseusGraphType;
257
+ lockedFigures?: ReadonlyArray<LockedFigure>;
258
+ };
259
+ export type LockedFigure = LockedPoint;
260
+ export type LockedPoint = {
261
+ type: "point";
262
+ coord: Coord;
263
+ style?: StyleParams;
253
264
  };
254
265
  export type PerseusGraphType = PerseusGraphTypeAngle | PerseusGraphTypeCircle | PerseusGraphTypeLinear | PerseusGraphTypeLinearSystem | PerseusGraphTypePoint | PerseusGraphTypePolygon | PerseusGraphTypeQuadratic | PerseusGraphTypeRay | PerseusGraphTypeSegment | PerseusGraphTypeSinusoid;
255
266
  export type PerseusGraphTypeCommon = {
@@ -507,7 +518,7 @@ export type PerseusInteractionGraph = {
507
518
  labels: ReadonlyArray<string>;
508
519
  range: [Range, Range];
509
520
  gridStep: [number, number];
510
- markings: string;
521
+ markings: "graph" | "grid" | "none";
511
522
  snapStep?: [number, number];
512
523
  valid?: boolean | string;
513
524
  backgroundImage?: PerseusImageBackground;
@@ -0,0 +1,12 @@
1
+ import type { PerseusItem } from "../perseus-types";
2
+ export declare const genericPerseusItemData: PerseusItem;
3
+ /**
4
+ * Generate a Perseus item object for testing purposes.
5
+ *
6
+ * In order to better type Perseus objects used in testing, this function
7
+ * uses a basic Perseus object and updates it with custom values as needed.
8
+ *
9
+ * @param {Partial<PerseusItem>} customFields
10
+ * @returns PerseusItem
11
+ */
12
+ export declare function generateTestPerseusItem(customFields?: Partial<PerseusItem>): PerseusItem;
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": "19.3.0",
6
+ "version": "19.4.0",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },