@khanacademy/perseus-core 12.1.0 → 13.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 (26) hide show
  1. package/dist/es/index.js +38 -41
  2. package/dist/es/index.js.map +1 -1
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.js +40 -42
  5. package/dist/index.js.map +1 -1
  6. package/dist/parse-perseus-json/perseus-parsers/cs-program-user-input.d.ts +4 -0
  7. package/dist/parse-perseus-json/perseus-parsers/cs-program-user-input.typetest.d.ts +1 -0
  8. package/dist/parse-perseus-json/perseus-parsers/free-response-user-input.d.ts +3 -0
  9. package/dist/parse-perseus-json/perseus-parsers/free-response-user-input.typetest.d.ts +1 -0
  10. package/dist/parse-perseus-json/perseus-parsers/grapher-user-input.d.ts +24 -0
  11. package/dist/parse-perseus-json/perseus-parsers/grapher-user-input.typetest.d.ts +1 -0
  12. package/dist/parse-perseus-json/perseus-parsers/iframe-user-input.d.ts +4 -0
  13. package/dist/parse-perseus-json/perseus-parsers/iframe-user-input.typetest.d.ts +1 -0
  14. package/dist/utils/get-default-answer-area.d.ts +2 -0
  15. package/dist/widgets/apply-defaults.d.ts +3 -0
  16. package/dist/widgets/core-widget-registry.d.ts +0 -1
  17. package/dist/widgets/expression/index.d.ts +7 -1
  18. package/dist/widgets/logic-export.types.d.ts +0 -1
  19. package/dist/widgets/measurer/index.d.ts +7 -1
  20. package/dist/widgets/radio/derive-num-correct.d.ts +2 -0
  21. package/dist/widgets/radio/index.d.ts +7 -1
  22. package/package.json +4 -4
  23. package/dist/widgets/expression/expression-upgrade.d.ts +0 -11
  24. package/dist/widgets/measurer/measurer-upgrade.d.ts +0 -10
  25. package/dist/widgets/radio/radio-upgrade.d.ts +0 -12
  26. package/dist/widgets/upgrade.d.ts +0 -3
@@ -0,0 +1,4 @@
1
+ export declare const parseCSProgramUserInput: import("../parser-types").Parser<import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ status: "correct" | "incorrect" | "incomplete";
3
+ message: string | null;
4
+ }>>;
@@ -0,0 +1,3 @@
1
+ export declare const parseFreeResponseUserInput: import("../parser-types").Parser<import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ currentValue: string;
3
+ }>>;
@@ -0,0 +1,24 @@
1
+ export declare const parseGrapherUserInput: import("../parser-types").Parser<import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ type: "absolute_value";
3
+ coords: [[number, number], [number, number]] | null;
4
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
5
+ type: "exponential";
6
+ asymptote: [[number, number], [number, number]];
7
+ coords: [[number, number], [number, number]] | null;
8
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
9
+ type: "linear";
10
+ coords: [[number, number], [number, number]] | null;
11
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
12
+ type: "logarithm";
13
+ asymptote: [[number, number], [number, number]];
14
+ coords: [[number, number], [number, number]] | null;
15
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
16
+ type: "quadratic";
17
+ coords: [[number, number], [number, number]] | null;
18
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
19
+ type: "sinusoid";
20
+ coords: [[number, number], [number, number]] | null;
21
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
22
+ type: "tangent";
23
+ coords: [[number, number], [number, number]] | null;
24
+ }>>;
@@ -0,0 +1,4 @@
1
+ export declare const parseIFrameUserInput: import("../parser-types").Parser<import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ status: "correct" | "incorrect" | "incomplete";
3
+ message: string | null;
4
+ }>>;
@@ -0,0 +1,2 @@
1
+ import { type PerseusAnswerArea } from "../data-schema";
2
+ export default function getDefaultAnswerArea(): PerseusAnswerArea;
@@ -0,0 +1,3 @@
1
+ import type { PerseusWidget, PerseusWidgetsMap } from "../data-schema";
2
+ export declare const applyDefaultsToWidget: (oldWidgetInfo: PerseusWidget) => PerseusWidget;
3
+ export declare function applyDefaultsToWidgets(oldWidgetOptions: PerseusWidgetsMap): PerseusWidgetsMap;
@@ -3,7 +3,6 @@ import type { Alignment } from "../types";
3
3
  export declare function isWidgetRegistered(type: string): boolean;
4
4
  export declare function getCurrentVersion(type: string): import("..").Version;
5
5
  export declare const getPublicWidgetOptionsFunction: (type: string) => PublicWidgetOptionsFunction;
6
- export declare function getWidgetOptionsUpgrades(type: string): import("./logic-export.types").WidgetOptionsUpgradeMap;
7
6
  export declare function getDefaultWidgetOptions(type: string): any;
8
7
  /**
9
8
  * Handling for the optional alignments for widgets
@@ -1,4 +1,10 @@
1
+ import type { PerseusExpressionWidgetOptions } from "../../data-schema";
1
2
  import type { WidgetLogic } from "../logic-export.types";
2
- export type { ExpressionDefaultWidgetOptions } from "./expression-upgrade";
3
+ export declare const currentVersion: {
4
+ major: number;
5
+ minor: number;
6
+ };
7
+ export type ExpressionDefaultWidgetOptions = Pick<PerseusExpressionWidgetOptions, "answerForms" | "times" | "buttonSets" | "functions">;
8
+ export declare const defaultWidgetOptions: ExpressionDefaultWidgetOptions;
3
9
  declare const expressionWidgetLogic: WidgetLogic;
4
10
  export default expressionWidgetLogic;
@@ -33,7 +33,6 @@ export type PublicWidgetOptionsFunction = typeof getCategorizerPublicWidgetOptio
33
33
  export type WidgetLogic = {
34
34
  name: string;
35
35
  version?: Version;
36
- widgetOptionsUpgrades?: WidgetOptionsUpgradeMap;
37
36
  defaultWidgetOptions?: any;
38
37
  supportedAlignments?: ReadonlyArray<Alignment>;
39
38
  defaultAlignment?: Alignment;
@@ -1,4 +1,10 @@
1
+ import type { PerseusMeasurerWidgetOptions } from "../../data-schema";
1
2
  import type { WidgetLogic } from "../logic-export.types";
2
- export type { MeasurerDefaultWidgetOptions } from "./measurer-upgrade";
3
+ export declare const currentVersion: {
4
+ major: number;
5
+ minor: number;
6
+ };
7
+ export type MeasurerDefaultWidgetOptions = Pick<PerseusMeasurerWidgetOptions, "box" | "image" | "showProtractor" | "showRuler" | "rulerLabel" | "rulerTicks" | "rulerPixels" | "rulerLength">;
8
+ export declare const defaultWidgetOptions: MeasurerDefaultWidgetOptions;
3
9
  declare const measurerWidgetLogic: WidgetLogic;
4
10
  export default measurerWidgetLogic;
@@ -0,0 +1,2 @@
1
+ import type { PerseusRadioWidgetOptions } from "../../data-schema";
2
+ export declare function deriveNumCorrect(options: PerseusRadioWidgetOptions): number;
@@ -1,4 +1,10 @@
1
+ import type { PerseusRadioWidgetOptions } from "../../data-schema";
1
2
  import type { WidgetLogic } from "../logic-export.types";
2
- export type { RadioDefaultWidgetOptions } from "./radio-upgrade";
3
+ export declare const currentVersion: {
4
+ major: number;
5
+ minor: number;
6
+ };
7
+ export type RadioDefaultWidgetOptions = Pick<PerseusRadioWidgetOptions, "choices" | "displayCount" | "randomize" | "hasNoneOfTheAbove" | "multipleSelect" | "countChoices" | "deselectEnabled">;
8
+ export declare const defaultWidgetOptions: RadioDefaultWidgetOptions;
3
9
  declare const radioWidgetLogic: WidgetLogic;
4
10
  export default radioWidgetLogic;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Shared Perseus infrastructure",
4
4
  "author": "Khan Academy",
5
5
  "license": "MIT",
6
- "version": "12.1.0",
6
+ "version": "13.0.0",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -22,17 +22,17 @@
22
22
  "dist"
23
23
  ],
24
24
  "dependencies": {
25
- "tiny-invariant": "^1.3.1",
25
+ "tiny-invariant": "1.3.1",
26
26
  "@khanacademy/kas": "2.0.5",
27
27
  "@khanacademy/perseus-utils": "2.0.4"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@khanacademy/wonder-stuff-core": "1.5.4",
31
- "underscore": "^1.4.4",
31
+ "underscore": "1.4.4",
32
32
  "perseus-build-settings": "0.6.2"
33
33
  },
34
34
  "peerDependencies": {
35
- "@khanacademy/wonder-stuff-core": "1.5.4",
35
+ "@khanacademy/wonder-stuff-core": "^1.5.4",
36
36
  "underscore": "^1.4.4"
37
37
  },
38
38
  "keywords": [],
@@ -1,11 +0,0 @@
1
- import type { PerseusExpressionWidgetOptions } from "../../data-schema";
2
- export declare const currentVersion: {
3
- major: number;
4
- minor: number;
5
- };
6
- export declare const widgetOptionsUpgrades: {
7
- readonly "2": (v1options: any) => PerseusExpressionWidgetOptions;
8
- readonly "1": (v0options: any) => PerseusExpressionWidgetOptions;
9
- };
10
- export type ExpressionDefaultWidgetOptions = Pick<PerseusExpressionWidgetOptions, "answerForms" | "times" | "buttonSets" | "functions">;
11
- export declare const defaultWidgetOptions: ExpressionDefaultWidgetOptions;
@@ -1,10 +0,0 @@
1
- import type { PerseusMeasurerWidgetOptions } from "../../data-schema";
2
- export declare const currentVersion: {
3
- major: number;
4
- minor: number;
5
- };
6
- export declare const widgetOptionsUpgrades: {
7
- readonly "1": (v0options: any) => PerseusMeasurerWidgetOptions;
8
- };
9
- export type MeasurerDefaultWidgetOptions = Pick<PerseusMeasurerWidgetOptions, "box" | "image" | "showProtractor" | "showRuler" | "rulerLabel" | "rulerTicks" | "rulerPixels" | "rulerLength">;
10
- export declare const defaultWidgetOptions: MeasurerDefaultWidgetOptions;
@@ -1,12 +0,0 @@
1
- import type { PerseusRadioWidgetOptions } from "../../data-schema";
2
- export declare const currentVersion: {
3
- major: number;
4
- minor: number;
5
- };
6
- export declare function deriveNumCorrect(options: PerseusRadioWidgetOptions): number;
7
- export declare const widgetOptionsUpgrades: {
8
- readonly "2": (v1props: any) => PerseusRadioWidgetOptions;
9
- readonly "1": (v0props: any) => PerseusRadioWidgetOptions;
10
- };
11
- export type RadioDefaultWidgetOptions = Pick<PerseusRadioWidgetOptions, "choices" | "displayCount" | "randomize" | "hasNoneOfTheAbove" | "multipleSelect" | "countChoices" | "deselectEnabled">;
12
- export declare const defaultWidgetOptions: RadioDefaultWidgetOptions;
@@ -1,3 +0,0 @@
1
- import type { PerseusWidget, PerseusWidgetsMap } from "../data-schema";
2
- export declare const upgradeWidgetInfoToLatestVersion: (oldWidgetInfo: PerseusWidget) => PerseusWidget;
3
- export declare function getUpgradedWidgetOptions(oldWidgetOptions: PerseusWidgetsMap): PerseusWidgetsMap;