@khanacademy/perseus-core 8.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 +82 -84
- package/dist/es/index.js +67 -53
- package/dist/es/index.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.js +71 -52
- package/dist/index.js.map +1 -1
- package/dist/keypad.d.ts +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 -2
- 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 +6 -3
- 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/random-util.d.ts +1 -1
- 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/validation.types.d.ts +27 -27
- 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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare const parsePythonProgramWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"python-program", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
|
|
2
|
+
programID: string;
|
|
3
|
+
height: number;
|
|
4
|
+
}>>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare const parseSorterWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"sorter", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
|
|
2
|
+
correct: string[];
|
|
3
|
+
padding: boolean;
|
|
4
|
+
layout: "horizontal" | "vertical";
|
|
5
|
+
}>>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare const parseTableWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"table", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
|
|
2
|
+
headers: string[];
|
|
3
|
+
rows: number;
|
|
4
|
+
columns: number;
|
|
5
|
+
answers: string[][];
|
|
6
|
+
}>>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare const parseVideoWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"video", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
|
|
2
|
+
location: string;
|
|
3
|
+
static: boolean | undefined;
|
|
4
|
+
}>>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types.d.ts
CHANGED
|
@@ -15,16 +15,19 @@ export type KEScore = {
|
|
|
15
15
|
state: any;
|
|
16
16
|
};
|
|
17
17
|
export type MarkerType = {
|
|
18
|
-
answers:
|
|
18
|
+
answers: string[];
|
|
19
19
|
label: string;
|
|
20
20
|
x: number;
|
|
21
21
|
y: number;
|
|
22
22
|
};
|
|
23
23
|
export type InteractiveMarkerType = MarkerType & {
|
|
24
|
-
selected?:
|
|
24
|
+
selected?: string[];
|
|
25
25
|
showCorrectness?: "correct" | "incorrect";
|
|
26
26
|
focused?: boolean;
|
|
27
27
|
};
|
|
28
|
-
export type Relationship = "lt" | "gt" | "le" | "ge";
|
|
28
|
+
export type Relationship = "eq" | "lt" | "gt" | "le" | "ge";
|
|
29
29
|
export type Alignment = "default" | "block" | "inline-block" | "inline" | "float-left" | "float-right" | "full-width";
|
|
30
|
+
export type RecursiveReadonly<T> = {
|
|
31
|
+
readonly [K in keyof T]: RecursiveReadonly<T[K]>;
|
|
32
|
+
};
|
|
30
33
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type RNG = () => number;
|
|
2
2
|
export declare const seededRNG: (seed: number) => RNG;
|
|
3
|
-
export declare function shuffle<T>(array: ReadonlyArray<T>, randomSeed: number | RNG, ensurePermuted?: boolean):
|
|
3
|
+
export declare function shuffle<T>(array: ReadonlyArray<T>, randomSeed: number | RNG, ensurePermuted?: boolean): T[];
|
|
4
4
|
export declare const random: RNG;
|
|
5
5
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PerseusItem } from "../data-schema";
|
|
2
2
|
/**
|
|
3
|
-
* Return a copy of a
|
|
3
|
+
* Return a copy of a PerseusItem with rubric data removed (ie answers)
|
|
4
4
|
*
|
|
5
|
-
* @param
|
|
5
|
+
* @param original - the original, full PerseusItem (which includes the rubric - aka answer data)
|
|
6
6
|
*/
|
|
7
|
-
export default function splitPerseusItem(
|
|
7
|
+
export default function splitPerseusItem(original: PerseusItem): PerseusItem;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PerseusRenderer } from "../data-schema";
|
|
2
|
+
/**
|
|
3
|
+
* Return a copy of a PerseusRenderer with rubric data removed (ie answers)
|
|
4
|
+
*
|
|
5
|
+
* @param original - the original, full PerseusRenderer (which includes the rubric - aka answer data)
|
|
6
|
+
*/
|
|
7
|
+
export default function splitPerseusRenderer(original: PerseusRenderer): PerseusRenderer;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { PerseusItem } from "../data-schema";
|
|
1
|
+
import type { PerseusItem, PerseusRenderer } from "../data-schema";
|
|
2
|
+
export declare function generateTestPerseusRenderer(customFields?: Partial<PerseusRenderer>): PerseusRenderer;
|
|
2
3
|
/**
|
|
3
4
|
* Generate a Perseus item object for testing purposes.
|
|
4
5
|
*
|
|
@@ -47,27 +47,27 @@ export type ValidationResult = Extract<PerseusScore, {
|
|
|
47
47
|
}> | null;
|
|
48
48
|
export type UserInputStatus = "correct" | "incorrect" | "incomplete";
|
|
49
49
|
export type PerseusCategorizerRubric = {
|
|
50
|
-
values:
|
|
50
|
+
values: number[];
|
|
51
51
|
} & PerseusCategorizerValidationData;
|
|
52
52
|
export type PerseusCategorizerUserInput = {
|
|
53
53
|
values: PerseusCategorizerRubric["values"];
|
|
54
54
|
};
|
|
55
55
|
export type PerseusCategorizerValidationData = {
|
|
56
|
-
items:
|
|
56
|
+
items: string[];
|
|
57
57
|
};
|
|
58
58
|
export type PerseusCSProgramUserInput = {
|
|
59
59
|
status: UserInputStatus;
|
|
60
60
|
message: string | null;
|
|
61
61
|
};
|
|
62
62
|
export type PerseusDropdownRubric = {
|
|
63
|
-
choices:
|
|
63
|
+
choices: Array<PerseusDropdownChoice>;
|
|
64
64
|
};
|
|
65
65
|
export type PerseusDropdownUserInput = {
|
|
66
66
|
value: number;
|
|
67
67
|
};
|
|
68
68
|
export type PerseusExpressionRubric = {
|
|
69
|
-
answerForms:
|
|
70
|
-
functions:
|
|
69
|
+
answerForms: Array<PerseusExpressionAnswerForm>;
|
|
70
|
+
functions: string[];
|
|
71
71
|
};
|
|
72
72
|
export type PerseusExpressionUserInput = string;
|
|
73
73
|
export type PerseusGroupRubric = PerseusGroupWidgetOptions;
|
|
@@ -101,24 +101,24 @@ export type PerseusInteractiveGraphRubric = {
|
|
|
101
101
|
};
|
|
102
102
|
export type PerseusInteractiveGraphUserInput = PerseusGraphType;
|
|
103
103
|
export type PerseusLabelImageRubric = {
|
|
104
|
-
markers:
|
|
105
|
-
answers:
|
|
104
|
+
markers: Array<{
|
|
105
|
+
answers: string[];
|
|
106
106
|
label: string;
|
|
107
107
|
}>;
|
|
108
108
|
};
|
|
109
109
|
export type PerseusLabelImageUserInput = {
|
|
110
|
-
markers:
|
|
111
|
-
selected?:
|
|
110
|
+
markers: Array<{
|
|
111
|
+
selected?: string[];
|
|
112
112
|
label: string;
|
|
113
113
|
}>;
|
|
114
114
|
};
|
|
115
115
|
export type PerseusMatcherRubric = {
|
|
116
|
-
left:
|
|
117
|
-
right:
|
|
116
|
+
left: string[];
|
|
117
|
+
right: string[];
|
|
118
118
|
};
|
|
119
119
|
export type PerseusMatcherUserInput = {
|
|
120
|
-
left:
|
|
121
|
-
right:
|
|
120
|
+
left: string[];
|
|
121
|
+
right: string[];
|
|
122
122
|
};
|
|
123
123
|
export type PerseusMatrixRubric = {
|
|
124
124
|
answers: PerseusMatrixWidgetAnswers;
|
|
@@ -130,7 +130,7 @@ export type PerseusMatrixUserInput = {
|
|
|
130
130
|
export type PerseusNumberLineRubric = {
|
|
131
131
|
correctRel: string | null | undefined;
|
|
132
132
|
correctX: number;
|
|
133
|
-
range:
|
|
133
|
+
range: number[];
|
|
134
134
|
initialX: number | null | undefined;
|
|
135
135
|
isInequality: boolean;
|
|
136
136
|
};
|
|
@@ -139,10 +139,10 @@ export type PerseusNumberLineUserInput = {
|
|
|
139
139
|
numLinePosition: number;
|
|
140
140
|
rel: Relationship | "eq";
|
|
141
141
|
numDivisions: number;
|
|
142
|
-
divisionRange:
|
|
142
|
+
divisionRange: number[];
|
|
143
143
|
};
|
|
144
144
|
export type PerseusNumericInputRubric = {
|
|
145
|
-
answers:
|
|
145
|
+
answers: PerseusNumericInputAnswer[];
|
|
146
146
|
coefficient: boolean;
|
|
147
147
|
};
|
|
148
148
|
export type PerseusNumericInputUserInput = {
|
|
@@ -150,32 +150,32 @@ export type PerseusNumericInputUserInput = {
|
|
|
150
150
|
};
|
|
151
151
|
export type PerseusOrdererRubric = PerseusOrdererWidgetOptions;
|
|
152
152
|
export type PerseusOrdererUserInput = {
|
|
153
|
-
current:
|
|
153
|
+
current: string[];
|
|
154
154
|
};
|
|
155
155
|
export type PerseusPlotterRubric = {
|
|
156
|
-
correct:
|
|
156
|
+
correct: number[];
|
|
157
157
|
} & PerseusPlotterValidationData;
|
|
158
158
|
export type PerseusPlotterValidationData = {
|
|
159
|
-
starting:
|
|
159
|
+
starting: number[];
|
|
160
160
|
};
|
|
161
|
-
export type PerseusPlotterUserInput =
|
|
161
|
+
export type PerseusPlotterUserInput = number[];
|
|
162
162
|
export type PerseusRadioRubric = {
|
|
163
|
-
choices:
|
|
163
|
+
choices: PerseusRadioChoice[];
|
|
164
164
|
};
|
|
165
165
|
export type PerseusRadioUserInput = {
|
|
166
|
-
choicesSelected:
|
|
166
|
+
choicesSelected: boolean[];
|
|
167
167
|
};
|
|
168
168
|
export type PerseusSorterRubric = {
|
|
169
|
-
correct:
|
|
169
|
+
correct: string[];
|
|
170
170
|
};
|
|
171
171
|
export type PerseusSorterUserInput = {
|
|
172
|
-
options:
|
|
172
|
+
options: string[];
|
|
173
173
|
changed: boolean;
|
|
174
174
|
};
|
|
175
175
|
export type PerseusTableRubric = {
|
|
176
|
-
answers:
|
|
176
|
+
answers: string[][];
|
|
177
177
|
};
|
|
178
|
-
export type PerseusTableUserInput =
|
|
178
|
+
export type PerseusTableUserInput = string[][];
|
|
179
179
|
export interface RubricRegistry {
|
|
180
180
|
categorizer: PerseusCategorizerRubric;
|
|
181
181
|
dropdown: PerseusDropdownRubric;
|
|
@@ -251,7 +251,7 @@ export type UserInputMap = MakeWidgetMap<UserInputRegistry>;
|
|
|
251
251
|
/**
|
|
252
252
|
* deprecated prefer using UserInputMap
|
|
253
253
|
*/
|
|
254
|
-
export type UserInputArray =
|
|
254
|
+
export type UserInputArray = Array<UserInputArray | UserInput | null | undefined>;
|
|
255
255
|
export interface ValidationDataTypes {
|
|
256
256
|
categorizer: PerseusCategorizerValidationData;
|
|
257
257
|
group: PerseusGroupValidationData;
|
|
@@ -28,3 +28,11 @@ export declare const getSupportedAlignments: (type: string) => ReadonlyArray<Ali
|
|
|
28
28
|
* the exports of a widget's module.
|
|
29
29
|
*/
|
|
30
30
|
export declare const getDefaultAlignment: (type: string) => Alignment;
|
|
31
|
+
/**
|
|
32
|
+
* We use a function here rather than registering widgets
|
|
33
|
+
* at the top-level of the file to avoid circular dependencies.
|
|
34
|
+
* Logic that needs core widget functionality
|
|
35
|
+
* (like a prod or in tests)
|
|
36
|
+
* need to call this function before trying to use that logic.
|
|
37
|
+
*/
|
|
38
|
+
export declare function registerCoreWidgets(): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PerseusGroupWidgetOptions, PerseusRenderer } from "../../data-schema";
|
|
2
|
+
/**
|
|
3
|
+
* For details on the individual options, see the
|
|
4
|
+
* PerseusGroupWidgetOptions type
|
|
5
|
+
*/
|
|
6
|
+
export type GroupPublicWidgetOptions = PerseusRenderer;
|
|
7
|
+
/**
|
|
8
|
+
* Given a PerseusGroupWidgetOptions object, return a new object with only
|
|
9
|
+
* the public options that should be exposed to the client.
|
|
10
|
+
*/
|
|
11
|
+
declare function getGroupPublicWidgetOptions(options: PerseusGroupWidgetOptions): GroupPublicWidgetOptions;
|
|
12
|
+
export default getGroupPublicWidgetOptions;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PerseusInputNumberWidgetOptions } from "../../data-schema";
|
|
2
|
+
/**
|
|
3
|
+
* For details on the individual options, see the
|
|
4
|
+
* PerseusInputNumberWidgetOptions type
|
|
5
|
+
*/
|
|
6
|
+
type InputNumberPublicWidgetOptions = Pick<PerseusInputNumberWidgetOptions, "answerType" | "inexact" | "maxError" | "rightAlign" | "simplify" | "size" | "customKeypad">;
|
|
7
|
+
/**
|
|
8
|
+
* Given a PerseusInputNumberWidgetOptions object, return a new object with only
|
|
9
|
+
* the public options that should be exposed to the client.
|
|
10
|
+
*/
|
|
11
|
+
declare function getInputNumberPublicWidgetOptions(options: PerseusInputNumberWidgetOptions): InputNumberPublicWidgetOptions;
|
|
12
|
+
export default getInputNumberPublicWidgetOptions;
|
|
@@ -3,7 +3,9 @@ import type getCSProgramPublicWidgetOptions from "./cs-program/cs-program-util";
|
|
|
3
3
|
import type getDropdownPublicWidgetOptions from "./dropdown/dropdown-util";
|
|
4
4
|
import type getExpressionPublicWidgetOptions from "./expression/expression-util";
|
|
5
5
|
import type getGrapherPublicWidgetOptions from "./grapher/grapher-util";
|
|
6
|
+
import type getGroupPublicWidgetOptions from "./group/group-util";
|
|
6
7
|
import type getIFramePublicWidgetOptions from "./iframe/iframe-util";
|
|
8
|
+
import type getInputNumberPublicWidgetOptions from "./input-number/input-number-util";
|
|
7
9
|
import type getInteractiveGraphPublicWidgetOptions from "./interactive-graph/interactive-graph-util";
|
|
8
10
|
import type getLabelImagePublicWidgetOptions from "./label-image/label-image-util";
|
|
9
11
|
import type getMatcherPublicWidgetOptions from "./matcher/matcher-util";
|
|
@@ -26,7 +28,7 @@ export type WidgetOptionsUpgradeMap = {
|
|
|
26
28
|
* TODO(LEMS-2870): figure out how to make this generic so we don't need to be
|
|
27
29
|
* so reliant on a set group of widgets
|
|
28
30
|
*/
|
|
29
|
-
export type PublicWidgetOptionsFunction = typeof
|
|
31
|
+
export type PublicWidgetOptionsFunction = typeof getCategorizerPublicWidgetOptions | typeof getCSProgramPublicWidgetOptions | typeof getDropdownPublicWidgetOptions | typeof getExpressionPublicWidgetOptions | typeof getGrapherPublicWidgetOptions | typeof getGroupPublicWidgetOptions | typeof getIFramePublicWidgetOptions | typeof getInputNumberPublicWidgetOptions | typeof getInteractiveGraphPublicWidgetOptions | typeof getLabelImagePublicWidgetOptions | typeof getMatcherPublicWidgetOptions | typeof getMatrixPublicWidgetOptions | typeof getNumberLinePublicWidgetOptions | typeof getNumericInputPublicWidgetOptions | typeof getOrdererPublicWidgetOptions | typeof getPlotterPublicWidgetOptions | typeof getRadioPublicWidgetOptions | typeof getSorterPublicWidgetOptions | typeof getTablePublicWidgetOptions;
|
|
30
32
|
export type WidgetLogic = {
|
|
31
33
|
name: string;
|
|
32
34
|
version?: Version;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { PerseusMatrixWidgetOptions } from "../../data-schema";
|
|
2
|
-
type MatrixPublicWidgetOptions = Pick<PerseusMatrixWidgetOptions, "prefix" | "suffix" | "cursorPosition" | "matrixBoardSize" | "static">;
|
|
2
|
+
export type MatrixPublicWidgetOptions = Pick<PerseusMatrixWidgetOptions, "prefix" | "suffix" | "cursorPosition" | "matrixBoardSize" | "static">;
|
|
3
3
|
export default function getMatrixPublicWidgetOptions(options: PerseusMatrixWidgetOptions): MatrixPublicWidgetOptions;
|
|
4
|
-
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { PerseusNumberLineWidgetOptions } from "../../data-schema";
|
|
2
|
-
type NumberLinePublicWidgetOptions = Pick<PerseusNumberLineWidgetOptions, "range" | "labelRange" | "labelStyle" | "labelTicks" | "isTickCtrl" | "divisionRange" | "numDivisions" | "snapDivisions" | "tickStep" | "initialX" | "showTooltips" | "static">;
|
|
2
|
+
export type NumberLinePublicWidgetOptions = Pick<PerseusNumberLineWidgetOptions, "range" | "labelRange" | "labelStyle" | "labelTicks" | "isTickCtrl" | "isInequality" | "divisionRange" | "numDivisions" | "snapDivisions" | "tickStep" | "initialX" | "showTooltips" | "static">;
|
|
3
3
|
export default function getNumberLinePublicWidgetOptions(options: PerseusNumberLineWidgetOptions): NumberLinePublicWidgetOptions;
|
|
4
|
-
export {};
|
|
@@ -3,14 +3,10 @@ import type { PerseusOrdererWidgetOptions } from "../../data-schema";
|
|
|
3
3
|
* For details on the individual options, see the
|
|
4
4
|
* PerseusOrdererWidgetOptions type
|
|
5
5
|
*/
|
|
6
|
-
type OrdererPublicWidgetOptions =
|
|
7
|
-
options: PerseusOrdererWidgetOptions["options"];
|
|
8
|
-
height: PerseusOrdererWidgetOptions["height"];
|
|
9
|
-
layout: PerseusOrdererWidgetOptions["layout"];
|
|
10
|
-
};
|
|
6
|
+
export type OrdererPublicWidgetOptions = Pick<PerseusOrdererWidgetOptions, "options" | "height" | "layout">;
|
|
11
7
|
/**
|
|
12
8
|
* Given a PerseusOrdererWidgetOptions object, return a new object with only
|
|
13
9
|
* the public options that should be exposed to the client.
|
|
14
10
|
*/
|
|
15
|
-
declare function getOrdererPublicWidgetOptions(
|
|
11
|
+
declare function getOrdererPublicWidgetOptions(fullOptions: PerseusOrdererWidgetOptions): OrdererPublicWidgetOptions;
|
|
16
12
|
export default getOrdererPublicWidgetOptions;
|
|
@@ -3,7 +3,7 @@ import type { PerseusPlotterWidgetOptions } from "../../data-schema";
|
|
|
3
3
|
* For details on the individual options, see the
|
|
4
4
|
* PerseusPlotterWidgetOptions type
|
|
5
5
|
*/
|
|
6
|
-
type PlotterPublicWidgetOptions = Omit<PerseusPlotterWidgetOptions, "correct">;
|
|
6
|
+
export type PlotterPublicWidgetOptions = Omit<PerseusPlotterWidgetOptions, "correct">;
|
|
7
7
|
/**
|
|
8
8
|
* Given a PerseusPlotterWidgetOptions object, return a new object with only
|
|
9
9
|
* the public options that should be exposed to the client.
|
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": "
|
|
6
|
+
"version": "10.0.0",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -22,8 +22,9 @@
|
|
|
22
22
|
"dist"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"
|
|
26
|
-
"@khanacademy/
|
|
25
|
+
"tiny-invariant": "^1.3.1",
|
|
26
|
+
"@khanacademy/kas": "2.0.3",
|
|
27
|
+
"@khanacademy/perseus-utils": "2.0.2"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
29
30
|
"@khanacademy/wonder-stuff-core": "1.5.4",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function isObject(x: unknown): x is Record<keyof any, unknown>;
|