@khanacademy/perseus-core 9.0.0 → 10.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.
- package/dist/data-schema.d.ts +20 -22
- package/dist/es/index.js +66 -52
- package/dist/es/index.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +70 -51
- package/dist/index.js.map +1 -1
- package/dist/parse-perseus-json/general-purpose-parsers/defaulted.d.ts +1 -1
- package/dist/parse-perseus-json/general-purpose-parsers/index.d.ts +1 -1
- package/dist/parse-perseus-json/general-purpose-parsers/is-plain-object.d.ts +8 -0
- package/dist/parse-perseus-json/general-purpose-parsers/test-helpers.d.ts +5 -0
- package/dist/parse-perseus-json/perseus-parsers/categorizer-widget.d.ts +13 -3
- package/dist/parse-perseus-json/perseus-parsers/categorizer-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/cs-program-widget.d.ts +12 -3
- package/dist/parse-perseus-json/perseus-parsers/cs-program-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/definition-widget.d.ts +5 -3
- package/dist/parse-perseus-json/perseus-parsers/definition-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/dropdown-widget.d.ts +10 -3
- package/dist/parse-perseus-json/perseus-parsers/dropdown-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/explanation-widget.d.ts +7 -3
- package/dist/parse-perseus-json/perseus-parsers/explanation-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/expression-widget.d.ts +16 -3
- package/dist/parse-perseus-json/perseus-parsers/expression-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/graded-group-set-widget.d.ts +15 -3
- package/dist/parse-perseus-json/perseus-parsers/graded-group-set-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/graded-group-widget.d.ts +14 -4
- package/dist/parse-perseus-json/perseus-parsers/graded-group-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/grapher-widget.d.ts +51 -3
- package/dist/parse-perseus-json/perseus-parsers/grapher-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/group-widget.d.ts +1 -3
- package/dist/parse-perseus-json/perseus-parsers/group-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/hint.d.ts +9 -3
- package/dist/parse-perseus-json/perseus-parsers/hint.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/iframe-widget.d.ts +12 -3
- package/dist/parse-perseus-json/perseus-parsers/iframe-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/image-widget.d.ts +22 -3
- package/dist/parse-perseus-json/perseus-parsers/image-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/input-number-widget.d.ts +10 -2
- package/dist/parse-perseus-json/perseus-parsers/input-number-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/interaction-widget.d.ts +125 -3
- package/dist/parse-perseus-json/perseus-parsers/interaction-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/interactive-graph-user-input.d.ts +60 -1
- package/dist/parse-perseus-json/perseus-parsers/interactive-graph-widget.d.ts +326 -5
- package/dist/parse-perseus-json/perseus-parsers/interactive-graph-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/label-image-widget.d.ts +16 -3
- package/dist/parse-perseus-json/perseus-parsers/label-image-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/legacy-button-sets.d.ts +1 -3
- package/dist/parse-perseus-json/perseus-parsers/matcher-widget.d.ts +7 -3
- package/dist/parse-perseus-json/perseus-parsers/matcher-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/matrix-widget.d.ts +8 -3
- package/dist/parse-perseus-json/perseus-parsers/matrix-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/measurer-widget.d.ts +18 -3
- package/dist/parse-perseus-json/perseus-parsers/measurer-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/molecule-renderer-widget.d.ts +5 -3
- package/dist/parse-perseus-json/perseus-parsers/molecule-renderer-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/number-line-widget.d.ts +17 -3
- package/dist/parse-perseus-json/perseus-parsers/number-line-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/numeric-input-widget.d.ts +21 -4
- package/dist/parse-perseus-json/perseus-parsers/numeric-input-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/orderer-widget.d.ts +7 -3
- package/dist/parse-perseus-json/perseus-parsers/orderer-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/passage-ref-widget.d.ts +5 -3
- package/dist/parse-perseus-json/perseus-parsers/passage-ref-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/passage-widget.d.ts +7 -3
- package/dist/parse-perseus-json/perseus-parsers/passage-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/perseus-answer-area.d.ts +11 -2
- package/dist/parse-perseus-json/perseus-parsers/perseus-answer-area.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/perseus-image-background.d.ts +9 -3
- package/dist/parse-perseus-json/perseus-parsers/perseus-image-background.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/perseus-image-detail.d.ts +4 -0
- package/dist/parse-perseus-json/perseus-parsers/perseus-image-detail.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/phet-simulation-widget.d.ts +4 -3
- package/dist/parse-perseus-json/perseus-parsers/phet-simulation-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/plotter-widget.d.ts +15 -3
- package/dist/parse-perseus-json/perseus-parsers/plotter-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/python-program-widget.d.ts +4 -3
- package/dist/parse-perseus-json/perseus-parsers/python-program-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/sorter-widget.d.ts +5 -3
- package/dist/parse-perseus-json/perseus-parsers/sorter-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/table-widget.d.ts +6 -3
- package/dist/parse-perseus-json/perseus-parsers/table-widget.typetest.d.ts +1 -0
- package/dist/parse-perseus-json/perseus-parsers/video-widget.d.ts +4 -3
- package/dist/parse-perseus-json/perseus-parsers/video-widget.typetest.d.ts +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/utils/deep-clone.d.ts +1 -2
- package/dist/utils/item-has-hints.d.ts +5 -0
- package/dist/utils/item-has-rationales.d.ts +5 -0
- package/dist/utils/split-perseus-item.d.ts +3 -3
- package/dist/utils/split-perseus-renderer.d.ts +7 -0
- package/dist/utils/test-utils.d.ts +2 -1
- package/dist/widgets/core-widget-registry.d.ts +8 -0
- package/dist/widgets/group/group-util.d.ts +12 -0
- package/dist/widgets/input-number/input-number-util.d.ts +12 -0
- package/dist/widgets/logic-export.types.d.ts +3 -1
- package/dist/widgets/matrix/matrix-util.d.ts +1 -2
- package/dist/widgets/number-line/number-line-util.d.ts +1 -2
- package/dist/widgets/orderer/orderer-util.d.ts +2 -6
- package/dist/widgets/plotter/plotter-util.d.ts +1 -1
- package/package.json +4 -3
- package/dist/parse-perseus-json/general-purpose-parsers/is-object.d.ts +0 -1
package/dist/data-schema.d.ts
CHANGED
|
@@ -503,7 +503,7 @@ export type PerseusInteractiveGraphWidgetOptions = {
|
|
|
503
503
|
range: GraphRange;
|
|
504
504
|
graph: PerseusGraphType;
|
|
505
505
|
correct: PerseusGraphType;
|
|
506
|
-
lockedFigures
|
|
506
|
+
lockedFigures: LockedFigure[];
|
|
507
507
|
fullGraphAriaLabel?: string;
|
|
508
508
|
fullGraphAriaDescription?: string;
|
|
509
509
|
};
|
|
@@ -518,7 +518,7 @@ export type LockedPointType = {
|
|
|
518
518
|
coord: Coord;
|
|
519
519
|
color: LockedFigureColor;
|
|
520
520
|
filled: boolean;
|
|
521
|
-
labels
|
|
521
|
+
labels: LockedLabelType[];
|
|
522
522
|
ariaLabel?: string;
|
|
523
523
|
};
|
|
524
524
|
export type LockedLineType = {
|
|
@@ -529,14 +529,14 @@ export type LockedLineType = {
|
|
|
529
529
|
lineStyle: LockedLineStyle;
|
|
530
530
|
showPoint1: boolean;
|
|
531
531
|
showPoint2: boolean;
|
|
532
|
-
labels
|
|
532
|
+
labels: LockedLabelType[];
|
|
533
533
|
ariaLabel?: string;
|
|
534
534
|
};
|
|
535
535
|
export type LockedVectorType = {
|
|
536
536
|
type: "vector";
|
|
537
537
|
points: [tail: Coord, tip: Coord];
|
|
538
538
|
color: LockedFigureColor;
|
|
539
|
-
labels
|
|
539
|
+
labels: LockedLabelType[];
|
|
540
540
|
ariaLabel?: string;
|
|
541
541
|
};
|
|
542
542
|
export type LockedFigureFillType = "none" | "white" | "translucent" | "solid";
|
|
@@ -549,7 +549,7 @@ export type LockedEllipseType = {
|
|
|
549
549
|
color: LockedFigureColor;
|
|
550
550
|
fillStyle: LockedFigureFillType;
|
|
551
551
|
strokeStyle: LockedLineStyle;
|
|
552
|
-
labels
|
|
552
|
+
labels: LockedLabelType[];
|
|
553
553
|
ariaLabel?: string;
|
|
554
554
|
};
|
|
555
555
|
export type LockedPolygonType = {
|
|
@@ -559,7 +559,7 @@ export type LockedPolygonType = {
|
|
|
559
559
|
showVertices: boolean;
|
|
560
560
|
fillStyle: LockedFigureFillType;
|
|
561
561
|
strokeStyle: LockedLineStyle;
|
|
562
|
-
labels
|
|
562
|
+
labels: LockedLabelType[];
|
|
563
563
|
ariaLabel?: string;
|
|
564
564
|
};
|
|
565
565
|
export type LockedFunctionType = {
|
|
@@ -580,7 +580,7 @@ export type LockedFunctionType = {
|
|
|
580
580
|
* allowed. Note that infinite values are serialized as `null` in JSON.
|
|
581
581
|
*/
|
|
582
582
|
domain: [min: number, max: number];
|
|
583
|
-
labels
|
|
583
|
+
labels: LockedLabelType[];
|
|
584
584
|
ariaLabel?: string;
|
|
585
585
|
};
|
|
586
586
|
export type LockedLabelType = {
|
|
@@ -591,9 +591,6 @@ export type LockedLabelType = {
|
|
|
591
591
|
size: "small" | "medium" | "large";
|
|
592
592
|
};
|
|
593
593
|
export type PerseusGraphType = PerseusGraphTypeAngle | PerseusGraphTypeCircle | PerseusGraphTypeLinear | PerseusGraphTypeLinearSystem | PerseusGraphTypeNone | PerseusGraphTypePoint | PerseusGraphTypePolygon | PerseusGraphTypeQuadratic | PerseusGraphTypeRay | PerseusGraphTypeSegment | PerseusGraphTypeSinusoid;
|
|
594
|
-
type PerseusGraphTypeCommon = {
|
|
595
|
-
coord?: Coord;
|
|
596
|
-
};
|
|
597
594
|
export type PerseusGraphTypeAngle = {
|
|
598
595
|
type: "angle";
|
|
599
596
|
showAngles?: boolean;
|
|
@@ -601,7 +598,7 @@ export type PerseusGraphTypeAngle = {
|
|
|
601
598
|
angleOffsetDeg?: number;
|
|
602
599
|
snapDegrees?: number;
|
|
603
600
|
match?: "congruent";
|
|
604
|
-
coords?: [Coord, Coord, Coord]
|
|
601
|
+
coords?: [Coord, Coord, Coord];
|
|
605
602
|
startCoords?: [Coord, Coord, Coord];
|
|
606
603
|
};
|
|
607
604
|
export type PerseusGraphTypeCircle = {
|
|
@@ -612,17 +609,17 @@ export type PerseusGraphTypeCircle = {
|
|
|
612
609
|
center: Coord;
|
|
613
610
|
radius: number;
|
|
614
611
|
};
|
|
615
|
-
}
|
|
612
|
+
};
|
|
616
613
|
export type PerseusGraphTypeLinear = {
|
|
617
614
|
type: "linear";
|
|
618
615
|
coords?: CollinearTuple | null;
|
|
619
616
|
startCoords?: CollinearTuple;
|
|
620
|
-
}
|
|
617
|
+
};
|
|
621
618
|
export type PerseusGraphTypeLinearSystem = {
|
|
622
619
|
type: "linear-system";
|
|
623
620
|
coords?: CollinearTuple[] | null;
|
|
624
621
|
startCoords?: CollinearTuple[];
|
|
625
|
-
}
|
|
622
|
+
};
|
|
626
623
|
export type PerseusGraphTypeNone = {
|
|
627
624
|
type: "none";
|
|
628
625
|
};
|
|
@@ -631,7 +628,8 @@ export type PerseusGraphTypePoint = {
|
|
|
631
628
|
numPoints?: number | "unlimited";
|
|
632
629
|
coords?: Coord[] | null;
|
|
633
630
|
startCoords?: Coord[];
|
|
634
|
-
|
|
631
|
+
coord?: Coord;
|
|
632
|
+
};
|
|
635
633
|
export type PerseusGraphTypePolygon = {
|
|
636
634
|
type: "polygon";
|
|
637
635
|
numSides?: number | "unlimited";
|
|
@@ -641,28 +639,28 @@ export type PerseusGraphTypePolygon = {
|
|
|
641
639
|
match?: "similar" | "congruent" | "approx" | "exact";
|
|
642
640
|
coords?: Coord[] | null;
|
|
643
641
|
startCoords?: Coord[];
|
|
644
|
-
}
|
|
642
|
+
};
|
|
645
643
|
export type PerseusGraphTypeQuadratic = {
|
|
646
644
|
type: "quadratic";
|
|
647
645
|
coords?: [Coord, Coord, Coord] | null;
|
|
648
646
|
startCoords?: [Coord, Coord, Coord];
|
|
649
|
-
}
|
|
647
|
+
};
|
|
650
648
|
export type PerseusGraphTypeSegment = {
|
|
651
649
|
type: "segment";
|
|
652
650
|
numSegments?: number;
|
|
653
651
|
coords?: CollinearTuple[] | null;
|
|
654
652
|
startCoords?: CollinearTuple[];
|
|
655
|
-
}
|
|
653
|
+
};
|
|
656
654
|
export type PerseusGraphTypeSinusoid = {
|
|
657
655
|
type: "sinusoid";
|
|
658
656
|
coords?: Coord[] | null;
|
|
659
657
|
startCoords?: Coord[];
|
|
660
|
-
}
|
|
658
|
+
};
|
|
661
659
|
export type PerseusGraphTypeRay = {
|
|
662
660
|
type: "ray";
|
|
663
661
|
coords?: CollinearTuple | null;
|
|
664
662
|
startCoords?: CollinearTuple;
|
|
665
|
-
}
|
|
663
|
+
};
|
|
666
664
|
type AngleGraphCorrect = {
|
|
667
665
|
type: "angle";
|
|
668
666
|
allowReflexAngles: boolean;
|
|
@@ -753,7 +751,6 @@ export type PerseusMeasurerWidgetOptions = {
|
|
|
753
751
|
rulerPixels: number;
|
|
754
752
|
rulerLength: number;
|
|
755
753
|
box: [number, number];
|
|
756
|
-
static: boolean;
|
|
757
754
|
};
|
|
758
755
|
export type MathFormat = "integer" | "mixed" | "improper" | "proper" | "decimal" | "percent" | "pi";
|
|
759
756
|
export type PerseusNumericInputAnswerForm = {
|
|
@@ -792,11 +789,12 @@ export type PerseusNumberLineWidgetOptions = {
|
|
|
792
789
|
labelStyle: string;
|
|
793
790
|
labelTicks: boolean;
|
|
794
791
|
isTickCtrl?: boolean | null;
|
|
792
|
+
isInequality: boolean;
|
|
795
793
|
divisionRange: number[];
|
|
796
794
|
numDivisions?: number | null;
|
|
797
795
|
snapDivisions: number;
|
|
798
796
|
tickStep?: number | null;
|
|
799
|
-
correctRel?:
|
|
797
|
+
correctRel?: "eq" | "lt" | "gt" | "le" | "ge";
|
|
800
798
|
correctX: number | null;
|
|
801
799
|
initialX?: number | null;
|
|
802
800
|
showTooltips?: boolean;
|