@khanacademy/perseus 41.2.0 → 41.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.
- package/dist/all-widgets.d.ts +1 -1
- package/dist/article-renderer.d.ts +2 -2
- package/dist/basic-widgets.d.ts +1 -1
- package/dist/es/index.js +1643 -354
- package/dist/es/index.js.map +1 -1
- package/dist/extra-widgets.d.ts +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +1562 -272
- package/dist/index.js.map +1 -1
- package/dist/perseus-api.d.ts +3 -3
- package/dist/perseus-types.d.ts +7 -2
- package/dist/prompt-types.d.ts +33 -0
- package/dist/renderer.d.ts +8 -2
- package/dist/server-item-renderer.d.ts +6 -4
- package/dist/types.d.ts +4 -2
- package/dist/util/answer-types.d.ts +45 -2
- package/dist/util/parse-perseus-json/error-tracking-parse-context.d.ts +9 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/any.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/array.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/array.typetest.d.ts +1 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/boolean.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/compose-parsers.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/constant.d.ts +4 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/defaulted.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/enumeration.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/enumeration.typetest.d.ts +1 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/index.d.ts +15 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/is-object.d.ts +1 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/nullable.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/number.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/object.d.ts +6 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/optional.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/pair.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/record.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/string.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/test-helpers.d.ts +8 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/trio.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/union.d.ts +7 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/union.typetest.d.ts +1 -0
- package/dist/util/{parse-perseus-json.d.ts → parse-perseus-json/index.d.ts} +7 -1
- package/dist/util/parse-perseus-json/object-path.d.ts +2 -0
- package/dist/util/parse-perseus-json/parse-failure-detail.d.ts +2 -0
- package/dist/util/parse-perseus-json/parse.d.ts +3 -0
- package/dist/util/parse-perseus-json/parser-types.d.ts +30 -0
- package/dist/util/parse-perseus-json/perseus-parsers/categorizer-widget.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/cs-program-widget.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/definition-widget.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/dropdown-widget.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/explanation-widget.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/expression-widget.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/hint.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/interactive-graph-widget.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/perseus-image-background.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/perseus-item.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/perseus-renderer.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/widget.d.ts +3 -0
- package/dist/util/parse-perseus-json/perseus-parsers/widgets-map.d.ts +3 -0
- package/dist/util/parse-perseus-json/result.d.ts +16 -0
- package/dist/validation.types.d.ts +4 -5
- package/dist/widget-ai-utils/categorizer/prompt-utils.d.ts +14 -0
- package/dist/widget-ai-utils/cs-program/prompt-utils.d.ts +2 -0
- package/dist/widget-ai-utils/definition/prompt-utils.d.ts +8 -0
- package/dist/widget-ai-utils/dropdown/prompt-utils.d.ts +13 -0
- package/dist/widget-ai-utils/explanation/prompt-utils.d.ts +8 -0
- package/dist/widget-ai-utils/expression/prompt-utils.d.ts +11 -0
- package/dist/widget-ai-utils/graded-group/prompt-utils.d.ts +7 -0
- package/dist/widget-ai-utils/graded-group-set/prompt-utils.d.ts +11 -0
- package/dist/widget-ai-utils/grapher/prompt-utils.d.ts +18 -0
- package/dist/widget-ai-utils/group/prompt-utils.d.ts +5 -0
- package/dist/widget-ai-utils/iframe/prompt-utils.d.ts +2 -0
- package/dist/widget-ai-utils/image/prompt-utils.d.ts +12 -0
- package/dist/widget-ai-utils/input-number/prompt-utils.d.ts +14 -0
- package/dist/widget-ai-utils/interaction/prompt-utils.d.ts +2 -0
- package/dist/widget-ai-utils/interactive-graph/prompt-utils.d.ts +94 -0
- package/dist/widget-ai-utils/label-image/prompt-utils.d.ts +24 -0
- package/dist/widget-ai-utils/matcher/prompt-utils.d.ts +17 -0
- package/dist/widget-ai-utils/matrix/prompt-utils.d.ts +14 -0
- package/dist/widget-ai-utils/measurer/prompt-utils.d.ts +2 -0
- package/dist/widget-ai-utils/number-line/prompt-utils.d.ts +16 -0
- package/dist/widget-ai-utils/numeric-input/prompt-utils.d.ts +11 -0
- package/dist/widget-ai-utils/orderer/prompt-utils.d.ts +13 -0
- package/dist/widget-ai-utils/passage/prompt-utils.d.ts +11 -0
- package/dist/widget-ai-utils/passage-ref/prompt-utils.d.ts +11 -0
- package/dist/widget-ai-utils/phet-simulation/prompt-utils.d.ts +2 -0
- package/dist/widget-ai-utils/plotter/prompt-utils.d.ts +2 -0
- package/dist/widget-ai-utils/python-program/prompt-utils.d.ts +2 -0
- package/dist/widget-ai-utils/radio/prompt-utils.d.ts +15 -0
- package/dist/widget-ai-utils/sorter/prompt-utils.d.ts +9 -0
- package/dist/widget-ai-utils/unsupported-widget.d.ts +11 -0
- package/dist/widget-ai-utils/video/prompt-utils.d.ts +2 -0
- package/dist/widgets/__shared__/{noop-validator.d.ts → score-noop.d.ts} +4 -4
- package/dist/widgets/categorizer/categorizer.d.ts +10 -19
- package/dist/widgets/categorizer/{categorizer-validator.d.ts → score-categorizer.d.ts} +2 -2
- package/dist/widgets/cs-program/cs-program.d.ts +8 -19
- package/dist/widgets/cs-program/{cs-program-validator.d.ts → score-cs-program.d.ts} +2 -1
- package/dist/widgets/definition/definition.d.ts +8 -19
- package/dist/widgets/deprecated-standin/deprecated-standin.d.ts +4 -19
- package/dist/widgets/dropdown/dropdown.d.ts +10 -19
- package/dist/widgets/dropdown/score-dropdown.d.ts +4 -0
- package/dist/widgets/explanation/explanation.d.ts +9 -19
- package/dist/widgets/expression/expression.d.ts +26 -290
- package/dist/widgets/expression/{expression-validator.d.ts → score-expression.d.ts} +2 -2
- package/dist/widgets/graded-group/graded-group.d.ts +13 -21
- package/dist/widgets/graded-group-set/graded-group-set.d.ts +9 -20
- package/dist/widgets/grapher/grapher.d.ts +9 -19
- package/dist/widgets/grapher/score-grapher.d.ts +4 -0
- package/dist/widgets/group/group.d.ts +7 -19
- package/dist/widgets/iframe/iframe.d.ts +7 -19
- package/dist/widgets/iframe/{iframe-validator.d.ts → score-iframe.d.ts} +1 -1
- package/dist/widgets/image/image.d.ts +9 -19
- package/dist/widgets/input-number/input-number.d.ts +11 -19
- package/dist/widgets/input-number/{input-number-validator.d.ts → score-input-number.d.ts} +2 -2
- package/dist/widgets/interaction/interaction.d.ts +7 -19
- package/dist/widgets/interactive-graph.d.ts +8 -19
- package/dist/widgets/interactive-graphs/score-interactive-graph.d.ts +4 -0
- package/dist/widgets/interactive-graphs/utils.d.ts +1 -1
- package/dist/widgets/label-image/label-image.d.ts +10 -86
- package/dist/widgets/label-image/{label-image-validator.d.ts → score-label-image.d.ts} +2 -2
- package/dist/widgets/matcher/matcher.d.ts +7 -19
- package/dist/widgets/matcher/score-matcher.d.ts +4 -0
- package/dist/widgets/matrix/matrix.d.ts +10 -19
- package/dist/widgets/matrix/{matrix-validator.d.ts → score-matrix.d.ts} +2 -2
- package/dist/widgets/measurer/measurer.d.ts +13 -19
- package/dist/widgets/molecule/molecule.d.ts +4 -19
- package/dist/widgets/number-line/number-line.d.ts +8 -19
- package/dist/widgets/number-line/score-number-line.d.ts +4 -0
- package/dist/widgets/numeric-input/numeric-input.d.ts +22 -19
- package/dist/widgets/numeric-input/{numeric-input-validator.d.ts → score-numeric-input.d.ts} +2 -2
- package/dist/widgets/orderer/orderer.d.ts +8 -19
- package/dist/widgets/orderer/{orderer-validator.d.ts → score-orderer.d.ts} +1 -1
- package/dist/widgets/passage/passage.d.ts +8 -19
- package/dist/widgets/passage-ref/passage-ref.d.ts +12 -19
- package/dist/widgets/passage-ref-target/passage-ref-target.d.ts +11 -19
- package/dist/widgets/phet-simulation/phet-simulation.d.ts +5 -19
- package/dist/widgets/plotter/plotter.d.ts +8 -19
- package/dist/widgets/plotter/score-plotter.d.ts +4 -0
- package/dist/widgets/python-program/python-program.d.ts +4 -19
- package/dist/widgets/radio/radio-component.d.ts +3 -1
- package/dist/widgets/radio/radio.d.ts +18 -19
- package/dist/widgets/radio/{radio-validator.d.ts → score-radio.d.ts} +2 -2
- package/dist/widgets/sorter/score-sorter.d.ts +4 -0
- package/dist/widgets/sorter/sorter.d.ts +7 -19
- package/dist/widgets/table/{table-validator.d.ts → score-table.d.ts} +2 -2
- package/dist/widgets/table/table.d.ts +8 -19
- package/dist/widgets/table/utils.d.ts +7 -0
- package/dist/widgets/table/validate-table.d.ts +6 -0
- package/dist/widgets/video/video.d.ts +7 -19
- package/dist/widgets.d.ts +2 -2
- package/package.json +5 -5
- package/dist/widgets/dropdown/dropdown-validator.d.ts +0 -4
- package/dist/widgets/grapher/grapher-validator.d.ts +0 -4
- package/dist/widgets/interactive-graphs/interactive-graph-validator.d.ts +0 -4
- package/dist/widgets/matcher/matcher-validator.d.ts +0 -4
- package/dist/widgets/number-line/number-line-validator.d.ts +0 -4
- package/dist/widgets/plotter/plotter-validator.d.ts +0 -4
- package/dist/widgets/sorter/sorter-validator.d.ts +0 -4
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import type { PerseusMeasurerWidgetOptions } from "../../perseus-types";
|
|
3
3
|
import type { Widget, WidgetProps } from "../../types";
|
|
4
|
+
import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
|
|
4
5
|
type Props = WidgetProps<PerseusMeasurerWidgetOptions, PerseusMeasurerWidgetOptions> & {
|
|
5
6
|
protractorX: number;
|
|
6
7
|
protractorY: number;
|
|
@@ -26,28 +27,21 @@ declare class Measurer extends React.Component<Props> implements Widget {
|
|
|
26
27
|
componentDidMount(): void;
|
|
27
28
|
componentDidUpdate(prevProps: any): void;
|
|
28
29
|
setupGraphie(): void;
|
|
30
|
+
getPromptJSON(): UnsupportedWidgetPromptJSON;
|
|
29
31
|
render(): React.JSX.Element;
|
|
30
32
|
}
|
|
31
|
-
declare const _default:
|
|
33
|
+
declare const _default: {
|
|
32
34
|
name: string;
|
|
33
35
|
displayName: string;
|
|
34
|
-
|
|
36
|
+
hidden: true;
|
|
35
37
|
widget: typeof Measurer;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
46
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
47
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
48
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
49
|
-
propUpgrades?: {
|
|
50
|
-
[key: string]: (arg1: any) => any;
|
|
51
|
-
} | undefined;
|
|
52
|
-
}>;
|
|
38
|
+
version: {
|
|
39
|
+
major: number;
|
|
40
|
+
minor: number;
|
|
41
|
+
};
|
|
42
|
+
propUpgrades: {
|
|
43
|
+
readonly "1": (v0props: any) => any;
|
|
44
|
+
};
|
|
45
|
+
scorer: () => import("../../types").PerseusScore;
|
|
46
|
+
};
|
|
53
47
|
export default _default;
|
|
@@ -14,26 +14,11 @@ declare class MoleculeWidget extends React.Component<Props> implements Widget {
|
|
|
14
14
|
isWidget: true;
|
|
15
15
|
render(): React.ReactNode;
|
|
16
16
|
}
|
|
17
|
-
declare const _default:
|
|
17
|
+
declare const _default: {
|
|
18
18
|
name: string;
|
|
19
19
|
displayName: string;
|
|
20
|
-
|
|
20
|
+
hidden: true;
|
|
21
21
|
widget: typeof MoleculeWidget;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
version?: import("../../types").Version | undefined;
|
|
25
|
-
supportedAlignments?: readonly import("../../types").Alignment[] | undefined;
|
|
26
|
-
defaultAlignment?: import("../../types").Alignment | undefined;
|
|
27
|
-
getDefaultAlignment?: (() => import("../../types").Alignment) | undefined;
|
|
28
|
-
isLintable?: boolean | undefined;
|
|
29
|
-
tracking?: import("../../types").Tracking | undefined;
|
|
30
|
-
traverseChildWidgets?: any;
|
|
31
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
32
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
33
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
34
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
35
|
-
propUpgrades?: {
|
|
36
|
-
[key: string]: (arg1: any) => any;
|
|
37
|
-
} | undefined;
|
|
38
|
-
}>;
|
|
22
|
+
scorer: () => import("../../types").PerseusScore;
|
|
23
|
+
};
|
|
39
24
|
export default _default;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { PerseusI18nContext } from "../../components/i18n-context";
|
|
3
|
+
import scoreNumberLine from "./score-number-line";
|
|
3
4
|
import type { ChangeableProps } from "../../mixins/changeable";
|
|
4
5
|
import type { APIOptions, FocusPath, Widget } from "../../types";
|
|
5
6
|
import type { PerseusNumberLineUserInput } from "../../validation.types";
|
|
7
|
+
import type { NumberLinePromptJSON } from "../../widget-ai-utils/number-line/prompt-utils";
|
|
6
8
|
export type Relationship = "lt" | "gt" | "le" | "ge";
|
|
7
9
|
type Props = ChangeableProps & {
|
|
8
10
|
range: [number, number];
|
|
@@ -71,28 +73,15 @@ declare class NumberLine extends React.Component<Props, State> implements Widget
|
|
|
71
73
|
_renderInequality: (arg1: any) => React.ReactElement;
|
|
72
74
|
_setupGraphie: (arg1: any, arg2: any) => void;
|
|
73
75
|
getUserInput(): PerseusNumberLineUserInput;
|
|
76
|
+
getPromptJSON(): NumberLinePromptJSON;
|
|
74
77
|
render(): React.ReactNode;
|
|
75
78
|
}
|
|
76
|
-
declare const _default:
|
|
79
|
+
declare const _default: {
|
|
77
80
|
name: string;
|
|
78
81
|
displayName: string;
|
|
79
|
-
getWidget?: (() => typeof NumberLine) | undefined;
|
|
80
82
|
widget: typeof NumberLine;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
defaultAlignment?: import("../../types").Alignment | undefined;
|
|
86
|
-
getDefaultAlignment?: (() => import("../../types").Alignment) | undefined;
|
|
87
|
-
isLintable?: boolean | undefined;
|
|
88
|
-
tracking?: import("../../types").Tracking | undefined;
|
|
89
|
-
traverseChildWidgets?: any;
|
|
90
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
91
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
92
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
93
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
94
|
-
propUpgrades?: {
|
|
95
|
-
[key: string]: (arg1: any) => any;
|
|
96
|
-
} | undefined;
|
|
97
|
-
}>;
|
|
83
|
+
transform: (arg1: any) => any;
|
|
84
|
+
staticTransform: (arg1: any) => any;
|
|
85
|
+
scorer: typeof scoreNumberLine;
|
|
86
|
+
};
|
|
98
87
|
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PerseusScore } from "../../types";
|
|
2
|
+
import type { PerseusNumberLineRubric, PerseusNumberLineUserInput } from "../../validation.types";
|
|
3
|
+
declare function scoreNumberLine(state: PerseusNumberLineUserInput, rubric: PerseusNumberLineRubric): PerseusScore;
|
|
4
|
+
export default scoreNumberLine;
|
|
@@ -2,10 +2,12 @@ import * as React from "react";
|
|
|
2
2
|
import { PerseusI18nContext } from "../../components/i18n-context";
|
|
3
3
|
import InputWithExamples from "../../components/input-with-examples";
|
|
4
4
|
import SimpleKeypadInput from "../../components/simple-keypad-input";
|
|
5
|
+
import scoreNumericInput from "./score-numeric-input";
|
|
5
6
|
import type { PerseusNumericInputWidgetOptions, PerseusNumericInputAnswerForm } from "../../perseus-types";
|
|
6
7
|
import type { PerseusStrings } from "../../strings";
|
|
7
8
|
import type { FocusPath, Widget, WidgetProps } from "../../types";
|
|
8
9
|
import type { PerseusNumericInputRubric, PerseusNumericInputUserInput } from "../../validation.types";
|
|
10
|
+
import type { NumericInputPromptJSON } from "../../widget-ai-utils/numeric-input/prompt-utils";
|
|
9
11
|
type ExternalProps = WidgetProps<PerseusNumericInputWidgetOptions, PerseusNumericInputRubric>;
|
|
10
12
|
type Props = ExternalProps & {
|
|
11
13
|
size: NonNullable<ExternalProps["size"]>;
|
|
@@ -48,32 +50,33 @@ export declare class NumericInput extends React.Component<Props, State> implemen
|
|
|
48
50
|
getInputPaths: () => ReadonlyArray<ReadonlyArray<string>>;
|
|
49
51
|
setInputValue: (arg1: FocusPath, arg2: string, arg3?: () => unknown | null | undefined) => void;
|
|
50
52
|
getUserInput(): PerseusNumericInputUserInput;
|
|
53
|
+
getPromptJSON(): NumericInputPromptJSON;
|
|
51
54
|
handleChange: (arg1: string, arg2?: () => unknown | null | undefined) => void;
|
|
52
55
|
_handleFocus: () => void;
|
|
53
56
|
_handleBlur: () => void;
|
|
54
57
|
render(): React.ReactNode;
|
|
55
58
|
}
|
|
56
59
|
export declare const unionAnswerForms: (arg1: ReadonlyArray<ReadonlyArray<PerseusNumericInputAnswerForm>>) => ReadonlyArray<PerseusNumericInputAnswerForm>;
|
|
57
|
-
|
|
60
|
+
type RenderProps = {
|
|
61
|
+
answerForms: ReadonlyArray<{
|
|
62
|
+
simplify: "required" | "correct" | "enforced" | null | undefined;
|
|
63
|
+
name: "integer" | "decimal" | "proper" | "improper" | "mixed" | "pi";
|
|
64
|
+
}>;
|
|
65
|
+
labelText: string;
|
|
66
|
+
size: "normal" | "small";
|
|
67
|
+
coefficient: boolean;
|
|
68
|
+
rightAlign?: boolean;
|
|
69
|
+
static: boolean;
|
|
70
|
+
};
|
|
71
|
+
declare const _default: {
|
|
58
72
|
name: string;
|
|
59
73
|
displayName: string;
|
|
60
|
-
|
|
74
|
+
defaultAlignment: "inline-block";
|
|
75
|
+
accessible: true;
|
|
61
76
|
widget: typeof NumericInput;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
getDefaultAlignment?: (() => import("../../types").Alignment) | undefined;
|
|
68
|
-
isLintable?: boolean | undefined;
|
|
69
|
-
tracking?: import("../../types").Tracking | undefined;
|
|
70
|
-
traverseChildWidgets?: any;
|
|
71
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
72
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
73
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
74
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
75
|
-
propUpgrades?: {
|
|
76
|
-
[key: string]: (arg1: any) => any;
|
|
77
|
-
} | undefined;
|
|
78
|
-
}>;
|
|
77
|
+
transform: (widgetOptions: PerseusNumericInputWidgetOptions) => RenderProps;
|
|
78
|
+
isLintable: true;
|
|
79
|
+
scorer: typeof scoreNumericInput;
|
|
80
|
+
getOneCorrectAnswerFromRubric(rubric: PerseusNumericInputRubric): string | null | undefined;
|
|
81
|
+
};
|
|
79
82
|
export default _default;
|
package/dist/widgets/numeric-input/{numeric-input-validator.d.ts → score-numeric-input.d.ts}
RENAMED
|
@@ -2,5 +2,5 @@ import type { PerseusStrings } from "../../strings";
|
|
|
2
2
|
import type { PerseusScore } from "../../types";
|
|
3
3
|
import type { PerseusNumericInputRubric, PerseusNumericInputUserInput } from "../../validation.types";
|
|
4
4
|
export declare function maybeParsePercentInput(inputValue: string | number, normalizedAnswerExpected: boolean): string | number;
|
|
5
|
-
declare function
|
|
6
|
-
export default
|
|
5
|
+
declare function scoreNumericInput(userInput: PerseusNumericInputUserInput, rubric: PerseusNumericInputRubric, strings: PerseusStrings): PerseusScore;
|
|
6
|
+
export default scoreNumericInput;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { scoreOrderer } from "./score-orderer";
|
|
2
3
|
import type { PerseusOrdererWidgetOptions } from "../../perseus-types";
|
|
3
4
|
import type { WidgetProps, Widget } from "../../types";
|
|
4
5
|
import type { PerseusOrdererRubric, PerseusOrdererUserInput } from "../../validation.types";
|
|
6
|
+
import type { OrdererPromptJSON } from "../../widget-ai-utils/orderer/prompt-utils";
|
|
5
7
|
type Position = {
|
|
6
8
|
left: number;
|
|
7
9
|
top: number;
|
|
@@ -44,28 +46,15 @@ declare class Orderer extends React.Component<OrdererProps, OrdererState> implem
|
|
|
44
46
|
isCardInBank: (arg1: any) => boolean;
|
|
45
47
|
setListValues: (arg1: ReadonlyArray<string>) => void;
|
|
46
48
|
getUserInput(): PerseusOrdererUserInput;
|
|
49
|
+
getPromptJSON(): OrdererPromptJSON;
|
|
47
50
|
render(): React.ReactNode;
|
|
48
51
|
}
|
|
49
|
-
declare const _default:
|
|
52
|
+
declare const _default: {
|
|
50
53
|
name: string;
|
|
51
54
|
displayName: string;
|
|
52
|
-
|
|
55
|
+
hidden: true;
|
|
53
56
|
widget: typeof Orderer;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
supportedAlignments?: readonly import("../../types").Alignment[] | undefined;
|
|
58
|
-
defaultAlignment?: import("../../types").Alignment | undefined;
|
|
59
|
-
getDefaultAlignment?: (() => import("../../types").Alignment) | undefined;
|
|
60
|
-
isLintable?: boolean | undefined;
|
|
61
|
-
tracking?: import("../../types").Tracking | undefined;
|
|
62
|
-
traverseChildWidgets?: any;
|
|
63
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
64
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
65
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
66
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
67
|
-
propUpgrades?: {
|
|
68
|
-
[key: string]: (arg1: any) => any;
|
|
69
|
-
} | undefined;
|
|
70
|
-
}>;
|
|
57
|
+
isLintable: true;
|
|
58
|
+
scorer: typeof scoreOrderer;
|
|
59
|
+
};
|
|
71
60
|
export default _default;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { PerseusScore } from "../../types";
|
|
2
2
|
import type { PerseusOrdererRubric, PerseusOrdererUserInput } from "../../validation.types";
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function scoreOrderer(userInput: PerseusOrdererUserInput, rubric: PerseusOrdererRubric): PerseusScore;
|
|
@@ -5,6 +5,7 @@ import type { SerializedHighlightSet } from "../../components/highlighting/types
|
|
|
5
5
|
import type { ChangeableProps } from "../../mixins/changeable";
|
|
6
6
|
import type { PerseusPassageWidgetOptions, PerseusWidget } from "../../perseus-types";
|
|
7
7
|
import type { WidgetProps, Widget } from "../../types";
|
|
8
|
+
import type { PassagePromptJSON } from "../../widget-ai-utils/passage/prompt-utils";
|
|
8
9
|
import type { SingleASTNode } from "@khanacademy/simple-markdown";
|
|
9
10
|
export declare class LineHeightMeasurer extends React.Component<Record<any, any>> {
|
|
10
11
|
_line: HTMLDivElement | null | undefined;
|
|
@@ -87,6 +88,7 @@ export declare class Passage extends React.Component<PassageProps, PassageState>
|
|
|
87
88
|
_convertPosToLineNumber(absoluteVPos: number): number;
|
|
88
89
|
_getRefContent(referenceNumber: number): string | null | undefined;
|
|
89
90
|
getReference(referenceNumber: number): Reference | null | undefined;
|
|
91
|
+
getPromptJSON(): PassagePromptJSON;
|
|
90
92
|
/**
|
|
91
93
|
* Rendering
|
|
92
94
|
*
|
|
@@ -99,26 +101,13 @@ export declare class Passage extends React.Component<PassageProps, PassageState>
|
|
|
99
101
|
_renderFootnotes(): React.ReactNode;
|
|
100
102
|
render(): React.ReactNode;
|
|
101
103
|
}
|
|
102
|
-
declare const _default:
|
|
104
|
+
declare const _default: {
|
|
103
105
|
name: string;
|
|
104
106
|
displayName: string;
|
|
105
|
-
|
|
107
|
+
hidden: true;
|
|
106
108
|
widget: typeof Passage;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
defaultAlignment?: import("../../types").Alignment | undefined;
|
|
112
|
-
getDefaultAlignment?: (() => import("../../types").Alignment) | undefined;
|
|
113
|
-
isLintable?: boolean | undefined;
|
|
114
|
-
tracking?: import("../../types").Tracking | undefined;
|
|
115
|
-
traverseChildWidgets?: any;
|
|
116
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
117
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
118
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
119
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
120
|
-
propUpgrades?: {
|
|
121
|
-
[key: string]: (arg1: any) => any;
|
|
122
|
-
} | undefined;
|
|
123
|
-
}>;
|
|
109
|
+
transform: (editorProps: any) => RenderProps;
|
|
110
|
+
isLintable: true;
|
|
111
|
+
scorer: () => import("../../types").PerseusScore;
|
|
112
|
+
};
|
|
124
113
|
export default _default;
|
|
@@ -2,6 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { PerseusI18nContext } from "../../components/i18n-context";
|
|
3
3
|
import type { PerseusPassageRefWidgetOptions } from "../../perseus-types";
|
|
4
4
|
import type { ChangeFn, Widget, WidgetProps } from "../../types";
|
|
5
|
+
import type { PassageRefPromptJSON } from "../../widget-ai-utils/passage-ref/prompt-utils";
|
|
5
6
|
type RenderProps = {
|
|
6
7
|
passageNumber: PerseusPassageRefWidgetOptions["passageNumber"];
|
|
7
8
|
referenceNumber: PerseusPassageRefWidgetOptions["referenceNumber"];
|
|
@@ -34,30 +35,22 @@ declare class PassageRef extends React.Component<Props, State> implements Widget
|
|
|
34
35
|
componentDidUpdate(): void;
|
|
35
36
|
componentWillUnmount(): void;
|
|
36
37
|
change: ChangeFn;
|
|
38
|
+
getPromptJSON(): PassageRefPromptJSON;
|
|
37
39
|
_deferredUpdateRange: () => void;
|
|
38
40
|
_updateRange: () => void;
|
|
39
41
|
render(): React.ReactNode;
|
|
40
42
|
}
|
|
41
|
-
declare const _default:
|
|
43
|
+
declare const _default: {
|
|
42
44
|
name: string;
|
|
43
45
|
displayName: string;
|
|
44
|
-
|
|
46
|
+
hidden: true;
|
|
47
|
+
defaultAlignment: "inline";
|
|
45
48
|
widget: typeof PassageRef;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
tracking?: import("../../types").Tracking | undefined;
|
|
54
|
-
traverseChildWidgets?: any;
|
|
55
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
56
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
57
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
58
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
59
|
-
propUpgrades?: {
|
|
60
|
-
[key: string]: (arg1: any) => any;
|
|
61
|
-
} | undefined;
|
|
62
|
-
}>;
|
|
49
|
+
transform: (widgetOptions: PerseusPassageRefWidgetOptions) => RenderProps;
|
|
50
|
+
version: {
|
|
51
|
+
major: number;
|
|
52
|
+
minor: number;
|
|
53
|
+
};
|
|
54
|
+
scorer: () => import("../../types").PerseusScore;
|
|
55
|
+
};
|
|
63
56
|
export default _default;
|
|
@@ -24,26 +24,18 @@ declare class PassageRefTarget extends React.Component<Props> implements Widget
|
|
|
24
24
|
change: (arg1: any, arg2: any, arg3: any) => any;
|
|
25
25
|
render(): React.ReactNode;
|
|
26
26
|
}
|
|
27
|
-
declare const _default:
|
|
27
|
+
declare const _default: {
|
|
28
28
|
name: string;
|
|
29
29
|
displayName: string;
|
|
30
|
-
|
|
30
|
+
defaultAlignment: "inline";
|
|
31
31
|
widget: typeof PassageRefTarget;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
version
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
isLintable
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
42
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
43
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
44
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
45
|
-
propUpgrades?: {
|
|
46
|
-
[key: string]: (arg1: any) => any;
|
|
47
|
-
} | undefined;
|
|
48
|
-
}>;
|
|
32
|
+
hidden: true;
|
|
33
|
+
transform: (editorProps: any) => any;
|
|
34
|
+
version: {
|
|
35
|
+
major: number;
|
|
36
|
+
minor: number;
|
|
37
|
+
};
|
|
38
|
+
isLintable: true;
|
|
39
|
+
scorer: () => import("../../types").PerseusScore;
|
|
40
|
+
};
|
|
49
41
|
export default _default;
|
|
@@ -6,6 +6,7 @@ import * as React from "react";
|
|
|
6
6
|
import { PerseusI18nContext } from "../../components/i18n-context";
|
|
7
7
|
import type { PerseusPhetSimulationWidgetOptions } from "../../perseus-types";
|
|
8
8
|
import type { WidgetProps, Widget } from "../../types";
|
|
9
|
+
import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
|
|
9
10
|
type RenderProps = PerseusPhetSimulationWidgetOptions;
|
|
10
11
|
type Props = WidgetProps<RenderProps, PerseusPhetSimulationWidgetOptions>;
|
|
11
12
|
type State = {
|
|
@@ -29,32 +30,17 @@ export declare class PhetSimulation extends React.Component<Props, State> implem
|
|
|
29
30
|
componentDidMount(): Promise<void>;
|
|
30
31
|
componentDidUpdate(prevProps: any): Promise<void>;
|
|
31
32
|
getPhetCompatibleLocale: (arg1: string) => string;
|
|
33
|
+
getPromptJSON(): UnsupportedWidgetPromptJSON;
|
|
32
34
|
displayLoadFailure: () => void;
|
|
33
35
|
updateSimState(urlString: string): Promise<void>;
|
|
34
36
|
showLocaleWarning(url: URL): Promise<boolean>;
|
|
35
37
|
render(): React.ReactNode;
|
|
36
38
|
}
|
|
37
39
|
export declare const makeSafeUrl: (urlString: string, locale: string) => URL | null;
|
|
38
|
-
declare const _default:
|
|
40
|
+
declare const _default: {
|
|
39
41
|
name: string;
|
|
40
42
|
displayName: string;
|
|
41
|
-
getWidget?: (() => typeof PhetSimulation) | undefined;
|
|
42
43
|
widget: typeof PhetSimulation;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
version?: import("../../types").Version | undefined;
|
|
46
|
-
supportedAlignments?: readonly import("../../types").Alignment[] | undefined;
|
|
47
|
-
defaultAlignment?: import("../../types").Alignment | undefined;
|
|
48
|
-
getDefaultAlignment?: (() => import("../../types").Alignment) | undefined;
|
|
49
|
-
isLintable?: boolean | undefined;
|
|
50
|
-
tracking?: import("../../types").Tracking | undefined;
|
|
51
|
-
traverseChildWidgets?: any;
|
|
52
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
53
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
54
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
55
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
56
|
-
propUpgrades?: {
|
|
57
|
-
[key: string]: (arg1: any) => any;
|
|
58
|
-
} | undefined;
|
|
59
|
-
}>;
|
|
44
|
+
isLintable: true;
|
|
45
|
+
};
|
|
60
46
|
export default _default;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { PerseusI18nContext } from "../../components/i18n-context";
|
|
3
|
+
import scorePlotter from "./score-plotter";
|
|
3
4
|
import type { PerseusPlotterWidgetOptions } from "../../perseus-types";
|
|
4
5
|
import type { Widget, WidgetProps } from "../../types";
|
|
5
6
|
import type { PerseusPlotterRubric, PerseusPlotterUserInput } from "../../validation.types";
|
|
7
|
+
import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
|
|
6
8
|
type RenderProps = PerseusPlotterWidgetOptions;
|
|
7
9
|
type Props = WidgetProps<RenderProps, PerseusPlotterRubric> & {
|
|
8
10
|
labelInterval: NonNullable<PerseusPlotterWidgetOptions["labelInterval"]>;
|
|
@@ -68,28 +70,15 @@ export declare class Plotter extends React.Component<Props, State> implements Wi
|
|
|
68
70
|
changeAndTrack: (arg1: any) => void;
|
|
69
71
|
drawPicHeights: (arg1: any, arg2: any) => void;
|
|
70
72
|
getUserInput(): PerseusPlotterUserInput;
|
|
73
|
+
getPromptJSON(): UnsupportedWidgetPromptJSON;
|
|
71
74
|
render(): React.ReactNode;
|
|
72
75
|
}
|
|
73
|
-
declare const _default:
|
|
76
|
+
declare const _default: {
|
|
74
77
|
name: string;
|
|
75
78
|
displayName: string;
|
|
76
|
-
|
|
79
|
+
hidden: true;
|
|
77
80
|
widget: typeof Plotter;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
supportedAlignments?: readonly import("../../types").Alignment[] | undefined;
|
|
82
|
-
defaultAlignment?: import("../../types").Alignment | undefined;
|
|
83
|
-
getDefaultAlignment?: (() => import("../../types").Alignment) | undefined;
|
|
84
|
-
isLintable?: boolean | undefined;
|
|
85
|
-
tracking?: import("../../types").Tracking | undefined;
|
|
86
|
-
traverseChildWidgets?: any;
|
|
87
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
88
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
89
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
90
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
91
|
-
propUpgrades?: {
|
|
92
|
-
[key: string]: (arg1: any) => any;
|
|
93
|
-
} | undefined;
|
|
94
|
-
}>;
|
|
81
|
+
staticTransform: <T>(value: T) => T;
|
|
82
|
+
scorer: typeof scorePlotter;
|
|
83
|
+
};
|
|
95
84
|
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PerseusScore } from "../../types";
|
|
2
|
+
import type { PerseusPlotterRubric, PerseusPlotterUserInput } from "../../validation.types";
|
|
3
|
+
declare function scorePlotter(userInput: PerseusPlotterUserInput, rubric: PerseusPlotterRubric): PerseusScore;
|
|
4
|
+
export default scorePlotter;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import type { FocusPath, Widget } from "../../types";
|
|
3
|
+
import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
|
|
3
4
|
type Props = {
|
|
4
5
|
programID: string;
|
|
5
6
|
height: number;
|
|
@@ -13,28 +14,12 @@ type DefaultProps = {
|
|
|
13
14
|
declare class PythonProgram extends React.Component<Props> implements Widget {
|
|
14
15
|
static defaultProps: DefaultProps;
|
|
15
16
|
getDOMNodeForPath(path: FocusPath): null;
|
|
17
|
+
getPromptJSON(): UnsupportedWidgetPromptJSON;
|
|
16
18
|
render(): React.ReactNode;
|
|
17
19
|
}
|
|
18
|
-
declare const _default:
|
|
20
|
+
declare const _default: {
|
|
19
21
|
name: string;
|
|
20
22
|
displayName: string;
|
|
21
|
-
getWidget?: (() => typeof PythonProgram) | undefined;
|
|
22
23
|
widget: typeof PythonProgram;
|
|
23
|
-
|
|
24
|
-
hidden?: boolean | undefined;
|
|
25
|
-
version?: import("../../types").Version | undefined;
|
|
26
|
-
supportedAlignments?: readonly import("../../types").Alignment[] | undefined;
|
|
27
|
-
defaultAlignment?: import("../../types").Alignment | undefined;
|
|
28
|
-
getDefaultAlignment?: (() => import("../../types").Alignment) | undefined;
|
|
29
|
-
isLintable?: boolean | undefined;
|
|
30
|
-
tracking?: import("../../types").Tracking | undefined;
|
|
31
|
-
traverseChildWidgets?: any;
|
|
32
|
-
transform?: import("../../types").WidgetTransform | undefined;
|
|
33
|
-
staticTransform?: import("../../types").WidgetTransform | undefined;
|
|
34
|
-
validator?: import("../../types").WidgetValidatorFunction | undefined;
|
|
35
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
36
|
-
propUpgrades?: {
|
|
37
|
-
[key: string]: (arg1: any) => any;
|
|
38
|
-
} | undefined;
|
|
39
|
-
}>;
|
|
24
|
+
};
|
|
40
25
|
export default _default;
|
|
@@ -4,6 +4,7 @@ import type { FocusFunction } from "./base-radio";
|
|
|
4
4
|
import type { PerseusRadioChoice, PerseusRadioWidgetOptions, ShowSolutions } from "../../perseus-types";
|
|
5
5
|
import type { WidgetProps, ChoiceState, Widget } from "../../types";
|
|
6
6
|
import type { PerseusRadioRubric, PerseusRadioUserInput } from "../../validation.types";
|
|
7
|
+
import type { RadioPromptJSON } from "../../widget-ai-utils/radio/prompt-utils";
|
|
7
8
|
export type RenderProps = {
|
|
8
9
|
numCorrect: number;
|
|
9
10
|
hasNoneOfTheAbove?: boolean;
|
|
@@ -30,7 +31,7 @@ declare class Radio extends React.Component<Props> implements Widget {
|
|
|
30
31
|
context: React.ContextType<typeof PerseusI18nContext>;
|
|
31
32
|
focusFunction: FocusFunction;
|
|
32
33
|
static defaultProps: DefaultProps;
|
|
33
|
-
static getUserInputFromProps(props: Props): PerseusRadioUserInput;
|
|
34
|
+
static getUserInputFromProps(props: Props, unshuffle?: boolean): PerseusRadioUserInput;
|
|
34
35
|
componentDidUpdate(prevProps: Props): void;
|
|
35
36
|
_renderRenderer: (content?: string) => React.ReactElement;
|
|
36
37
|
focus(choiceIndex?: number | null): boolean;
|
|
@@ -40,6 +41,7 @@ declare class Radio extends React.Component<Props> implements Widget {
|
|
|
40
41
|
crossedOut: ReadonlyArray<boolean>;
|
|
41
42
|
}>) => void;
|
|
42
43
|
getUserInput(): PerseusRadioUserInput;
|
|
44
|
+
getPromptJSON(): RadioPromptJSON;
|
|
43
45
|
/**
|
|
44
46
|
* Turn on rationale display for the currently selected choices. Note that
|
|
45
47
|
* this leaves rationales on for choices that are already showing
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
import Radio from "./radio-component";
|
|
2
|
-
|
|
2
|
+
import scoreRadio from "./score-radio";
|
|
3
|
+
import type { RenderProps } from "./radio-component";
|
|
4
|
+
import type { PerseusRadioWidgetOptions } from "../../perseus-types";
|
|
5
|
+
import type { PerseusStrings } from "../../strings";
|
|
6
|
+
declare const _default: {
|
|
3
7
|
name: string;
|
|
4
8
|
displayName: string;
|
|
5
|
-
|
|
9
|
+
accessible: true;
|
|
6
10
|
widget: typeof Radio;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
version
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
|
|
20
|
-
propUpgrades?: {
|
|
21
|
-
[key: string]: (arg1: any) => any;
|
|
22
|
-
} | undefined;
|
|
23
|
-
}>;
|
|
11
|
+
transform: (widgetOptions: PerseusRadioWidgetOptions, strings: PerseusStrings, problemNum?: number | null | undefined) => RenderProps;
|
|
12
|
+
staticTransform: (widgetOptions: PerseusRadioWidgetOptions, strings: PerseusStrings, problemNum?: number | null | undefined) => RenderProps;
|
|
13
|
+
version: {
|
|
14
|
+
major: number;
|
|
15
|
+
minor: number;
|
|
16
|
+
};
|
|
17
|
+
propUpgrades: {
|
|
18
|
+
readonly "1": (v0props: any) => any;
|
|
19
|
+
};
|
|
20
|
+
isLintable: true;
|
|
21
|
+
scorer: typeof scoreRadio;
|
|
22
|
+
};
|
|
24
23
|
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PerseusStrings } from "../../strings";
|
|
2
2
|
import type { PerseusScore } from "../../types";
|
|
3
3
|
import type { PerseusRadioRubric, PerseusRadioUserInput } from "../../validation.types";
|
|
4
|
-
declare function
|
|
5
|
-
export default
|
|
4
|
+
declare function scoreRadio(userInput: PerseusRadioUserInput, rubric: PerseusRadioRubric, strings: PerseusStrings): PerseusScore;
|
|
5
|
+
export default scoreRadio;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PerseusScore } from "../../types";
|
|
2
|
+
import type { PerseusSorterRubric, PerseusSorterUserInput } from "../../validation.types";
|
|
3
|
+
declare function scoreSorter(userInput: PerseusSorterUserInput, rubric: PerseusSorterRubric): PerseusScore;
|
|
4
|
+
export default scoreSorter;
|