@khanacademy/perseus-editor 4.1.9 → 4.2.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/components/widget-editor.d.ts +1 -1
- package/dist/es/index.js +115 -59
- package/dist/es/index.js.map +1 -1
- package/dist/index.js +118 -59
- package/dist/index.js.map +1 -1
- package/dist/widgets/plotter-editor.d.ts +1 -1
- package/dist/widgets/python-program-editor.d.ts +27 -0
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -64,7 +64,7 @@ var i18n__namespace = /*#__PURE__*/_interopNamespace(i18n$1);
|
|
|
64
64
|
|
|
65
65
|
// This file is processed by a Rollup plugin (replace) to inject the production
|
|
66
66
|
const libName = "@khanacademy/perseus-editor";
|
|
67
|
-
const libVersion = "4.
|
|
67
|
+
const libVersion = "4.2.0";
|
|
68
68
|
perseusCore.addLibraryVersionToPerseusDebug(libName, libVersion);
|
|
69
69
|
|
|
70
70
|
function _extends() {
|
|
@@ -25916,7 +25916,7 @@ class CSProgramEditor extends React__namespace.Component {
|
|
|
25916
25916
|
|
|
25917
25917
|
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
25918
25918
|
const {
|
|
25919
|
-
TextInput: TextInput$
|
|
25919
|
+
TextInput: TextInput$9
|
|
25920
25920
|
} = perseus.components;
|
|
25921
25921
|
class DefinitionEditor extends React__namespace.Component {
|
|
25922
25922
|
static propTypes = {
|
|
@@ -25950,7 +25950,7 @@ class DefinitionEditor extends React__namespace.Component {
|
|
|
25950
25950
|
target: "_blank"
|
|
25951
25951
|
}, "Definition style guide"), /*#__PURE__*/React__namespace.createElement("div", {
|
|
25952
25952
|
className: "perseus-widget-row"
|
|
25953
|
-
}, /*#__PURE__*/React__namespace.createElement("label", null, "Word to be defined:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$
|
|
25953
|
+
}, /*#__PURE__*/React__namespace.createElement("label", null, "Word to be defined:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$9, {
|
|
25954
25954
|
value: this.props.togglePrompt
|
|
25955
25955
|
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
|
|
25956
25956
|
,
|
|
@@ -26366,7 +26366,7 @@ class ExampleWidgetEditor extends React__namespace.Component {
|
|
|
26366
26366
|
|
|
26367
26367
|
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
26368
26368
|
const {
|
|
26369
|
-
TextInput: TextInput$
|
|
26369
|
+
TextInput: TextInput$8
|
|
26370
26370
|
} = perseus.components;
|
|
26371
26371
|
const defaultExplanationProps = {
|
|
26372
26372
|
showPrompt: "Explain",
|
|
@@ -26403,14 +26403,14 @@ class ExplanationEditor extends React__namespace.Component {
|
|
|
26403
26403
|
className: "perseus-widget-explanation-editor"
|
|
26404
26404
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
26405
26405
|
className: "perseus-widget-row"
|
|
26406
|
-
}, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to show explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$
|
|
26406
|
+
}, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to show explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$8, {
|
|
26407
26407
|
value: this.props.showPrompt
|
|
26408
26408
|
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
|
|
26409
26409
|
,
|
|
26410
26410
|
onChange: this.change("showPrompt")
|
|
26411
26411
|
}))), /*#__PURE__*/React__namespace.createElement("div", {
|
|
26412
26412
|
className: "perseus-widget-row"
|
|
26413
|
-
}, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to hide explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$
|
|
26413
|
+
}, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to hide explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$8, {
|
|
26414
26414
|
value: this.props.hidePrompt
|
|
26415
26415
|
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
|
|
26416
26416
|
,
|
|
@@ -26988,7 +26988,7 @@ class AnswerOption extends React__namespace.Component {
|
|
|
26988
26988
|
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
26989
26989
|
const {
|
|
26990
26990
|
InlineIcon: InlineIcon$5,
|
|
26991
|
-
TextInput: TextInput$
|
|
26991
|
+
TextInput: TextInput$7
|
|
26992
26992
|
} = perseus.components;
|
|
26993
26993
|
const {
|
|
26994
26994
|
iconPlus: iconPlus$2,
|
|
@@ -27044,7 +27044,7 @@ class GradedGroupEditor extends React__namespace.Component {
|
|
|
27044
27044
|
className: "perseus-widget-row"
|
|
27045
27045
|
}, /*#__PURE__*/React__namespace.createElement("label", {
|
|
27046
27046
|
className: aphrodite.css(styles$b.title)
|
|
27047
|
-
}, "Title:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$
|
|
27047
|
+
}, "Title:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$7, {
|
|
27048
27048
|
value: this.props.title,
|
|
27049
27049
|
className: aphrodite.css(styles$b.input)
|
|
27050
27050
|
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
|
|
@@ -28460,7 +28460,7 @@ const styles$a = aphrodite.StyleSheet.create({
|
|
|
28460
28460
|
});
|
|
28461
28461
|
|
|
28462
28462
|
const {
|
|
28463
|
-
NumberInput: NumberInput$
|
|
28463
|
+
NumberInput: NumberInput$h
|
|
28464
28464
|
} = perseus.components;
|
|
28465
28465
|
const {
|
|
28466
28466
|
getDependencies: getDependencies$8
|
|
@@ -28520,7 +28520,7 @@ class FunctionEditor extends React__namespace.Component {
|
|
|
28520
28520
|
className: "perseus-widget-row"
|
|
28521
28521
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
28522
28522
|
className: "perseus-widget-left-col"
|
|
28523
|
-
}, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
28523
|
+
}, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$h, {
|
|
28524
28524
|
value: this.props.strokeWidth,
|
|
28525
28525
|
placeholder: 2,
|
|
28526
28526
|
onChange: this.change("strokeWidth")
|
|
@@ -28529,7 +28529,7 @@ class FunctionEditor extends React__namespace.Component {
|
|
|
28529
28529
|
}
|
|
28530
28530
|
|
|
28531
28531
|
const {
|
|
28532
|
-
TextInput: TextInput$
|
|
28532
|
+
TextInput: TextInput$6
|
|
28533
28533
|
} = perseus.components;
|
|
28534
28534
|
const {
|
|
28535
28535
|
getDependencies: getDependencies$7
|
|
@@ -28563,7 +28563,7 @@ class LabelEditor extends React__namespace.Component {
|
|
|
28563
28563
|
className: "graph-settings"
|
|
28564
28564
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
28565
28565
|
className: "perseus-widget-row"
|
|
28566
|
-
}, /*#__PURE__*/React__namespace.createElement(TextInput$
|
|
28566
|
+
}, /*#__PURE__*/React__namespace.createElement(TextInput$6, {
|
|
28567
28567
|
value: this.props.label,
|
|
28568
28568
|
onChange: this.change("label"),
|
|
28569
28569
|
style: {
|
|
@@ -28587,7 +28587,7 @@ class LabelEditor extends React__namespace.Component {
|
|
|
28587
28587
|
}
|
|
28588
28588
|
|
|
28589
28589
|
const {
|
|
28590
|
-
NumberInput: NumberInput$
|
|
28590
|
+
NumberInput: NumberInput$g
|
|
28591
28591
|
} = perseus.components;
|
|
28592
28592
|
const {
|
|
28593
28593
|
getDependencies: getDependencies$6
|
|
@@ -28655,7 +28655,7 @@ class LineEditor extends React__namespace.Component {
|
|
|
28655
28655
|
className: "perseus-widget-row"
|
|
28656
28656
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
28657
28657
|
className: "perseus-widget-left-col"
|
|
28658
|
-
}, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
28658
|
+
}, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$g, {
|
|
28659
28659
|
value: this.props.strokeWidth,
|
|
28660
28660
|
placeholder: 2,
|
|
28661
28661
|
onChange: this.change("strokeWidth")
|
|
@@ -28665,7 +28665,7 @@ class LineEditor extends React__namespace.Component {
|
|
|
28665
28665
|
|
|
28666
28666
|
const {
|
|
28667
28667
|
ButtonGroup: ButtonGroup$2,
|
|
28668
|
-
NumberInput: NumberInput$
|
|
28668
|
+
NumberInput: NumberInput$f
|
|
28669
28669
|
} = perseus.components;
|
|
28670
28670
|
class ConstraintEditor extends React__namespace.Component {
|
|
28671
28671
|
static defaultProps = {
|
|
@@ -28705,7 +28705,7 @@ class ConstraintEditor extends React__namespace.Component {
|
|
|
28705
28705
|
onChange: this.change("constraint")
|
|
28706
28706
|
})), this.props.constraint === "snap" && /*#__PURE__*/React__namespace.createElement("div", {
|
|
28707
28707
|
className: "perseus-widget-row"
|
|
28708
|
-
}, "Snap:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
28708
|
+
}, "Snap:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$f, {
|
|
28709
28709
|
value: this.props.snap,
|
|
28710
28710
|
placeholder: 0,
|
|
28711
28711
|
onChange: this.change("snap")
|
|
@@ -28748,7 +28748,7 @@ class ConstraintEditor extends React__namespace.Component {
|
|
|
28748
28748
|
}
|
|
28749
28749
|
|
|
28750
28750
|
const {
|
|
28751
|
-
NumberInput: NumberInput$
|
|
28751
|
+
NumberInput: NumberInput$e
|
|
28752
28752
|
} = perseus.components;
|
|
28753
28753
|
const {
|
|
28754
28754
|
getDependencies: getDependencies$5
|
|
@@ -28806,13 +28806,13 @@ class MovableLineEditor extends React__namespace.Component {
|
|
|
28806
28806
|
onChange: this.change("endY")
|
|
28807
28807
|
}), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
|
|
28808
28808
|
className: "perseus-widget-row"
|
|
28809
|
-
}, "Start updates ", /*#__PURE__*/React__namespace.createElement(TeX, null, "(x_n, y_n)"), " for ", /*#__PURE__*/React__namespace.createElement(TeX, null, "n ="), /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
28809
|
+
}, "Start updates ", /*#__PURE__*/React__namespace.createElement(TeX, null, "(x_n, y_n)"), " for ", /*#__PURE__*/React__namespace.createElement(TeX, null, "n ="), /*#__PURE__*/React__namespace.createElement(NumberInput$e, {
|
|
28810
28810
|
value: this.props.startSubscript,
|
|
28811
28811
|
placeholder: 0,
|
|
28812
28812
|
onChange: this.change("startSubscript")
|
|
28813
28813
|
})), /*#__PURE__*/React__namespace.createElement("div", {
|
|
28814
28814
|
className: "perseus-widget-row"
|
|
28815
|
-
}, "End updates ", /*#__PURE__*/React__namespace.createElement(TeX, null, "(x_m, y_m)"), " for ", /*#__PURE__*/React__namespace.createElement(TeX, null, "m ="), /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
28815
|
+
}, "End updates ", /*#__PURE__*/React__namespace.createElement(TeX, null, "(x_m, y_m)"), " for ", /*#__PURE__*/React__namespace.createElement(TeX, null, "m ="), /*#__PURE__*/React__namespace.createElement(NumberInput$e, {
|
|
28816
28816
|
value: this.props.endSubscript,
|
|
28817
28817
|
placeholder: 0,
|
|
28818
28818
|
onChange: this.change("endSubscript")
|
|
@@ -28823,7 +28823,7 @@ class MovableLineEditor extends React__namespace.Component {
|
|
|
28823
28823
|
}
|
|
28824
28824
|
|
|
28825
28825
|
const {
|
|
28826
|
-
NumberInput: NumberInput$
|
|
28826
|
+
NumberInput: NumberInput$d
|
|
28827
28827
|
} = perseus.components;
|
|
28828
28828
|
const {
|
|
28829
28829
|
getDependencies: getDependencies$4
|
|
@@ -28871,7 +28871,7 @@ class MovablePointEditor extends React__namespace.Component {
|
|
|
28871
28871
|
onChange: this.change("startY")
|
|
28872
28872
|
}), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
|
|
28873
28873
|
className: "perseus-widget-row"
|
|
28874
|
-
}, "Update ", /*#__PURE__*/React__namespace.createElement(TeX, null, "(x_n, y_n)"), " for ", /*#__PURE__*/React__namespace.createElement(TeX, null, "n ="), " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
28874
|
+
}, "Update ", /*#__PURE__*/React__namespace.createElement(TeX, null, "(x_n, y_n)"), " for ", /*#__PURE__*/React__namespace.createElement(TeX, null, "n ="), " ", /*#__PURE__*/React__namespace.createElement(NumberInput$d, {
|
|
28875
28875
|
value: this.props.varSubscript,
|
|
28876
28876
|
placeholder: 0,
|
|
28877
28877
|
onChange: this.change("varSubscript")
|
|
@@ -28880,7 +28880,7 @@ class MovablePointEditor extends React__namespace.Component {
|
|
|
28880
28880
|
}
|
|
28881
28881
|
|
|
28882
28882
|
const {
|
|
28883
|
-
NumberInput: NumberInput$
|
|
28883
|
+
NumberInput: NumberInput$c
|
|
28884
28884
|
} = perseus.components;
|
|
28885
28885
|
const {
|
|
28886
28886
|
getDependencies: getDependencies$3
|
|
@@ -28946,7 +28946,7 @@ class ParametricEditor extends React__namespace.Component {
|
|
|
28946
28946
|
className: "perseus-widget-row"
|
|
28947
28947
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
28948
28948
|
className: "perseus-widget-left-col"
|
|
28949
|
-
}, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
28949
|
+
}, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$c, {
|
|
28950
28950
|
value: this.props.strokeWidth,
|
|
28951
28951
|
placeholder: 2,
|
|
28952
28952
|
onChange: this.change("strokeWidth")
|
|
@@ -31423,7 +31423,7 @@ const styles = aphrodite.StyleSheet.create({
|
|
|
31423
31423
|
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
31424
31424
|
const {
|
|
31425
31425
|
InfoTip: InfoTip$c,
|
|
31426
|
-
NumberInput: NumberInput$
|
|
31426
|
+
NumberInput: NumberInput$b,
|
|
31427
31427
|
PropCheckBox: PropCheckBox$7
|
|
31428
31428
|
} = perseus.components;
|
|
31429
31429
|
const MAX_SIZE = 8;
|
|
@@ -31555,11 +31555,11 @@ class LightsPuzzleEditor extends React__namespace.Component {
|
|
|
31555
31555
|
};
|
|
31556
31556
|
})();
|
|
31557
31557
|
render() {
|
|
31558
|
-
return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, "Width:", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
31558
|
+
return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, "Width:", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
|
|
31559
31559
|
value: this._width(),
|
|
31560
31560
|
placeholder: 5,
|
|
31561
31561
|
onChange: this._changeWidth
|
|
31562
|
-
}), ", ", "Height:", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
31562
|
+
}), ", ", "Height:", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
|
|
31563
31563
|
value: this._height(),
|
|
31564
31564
|
placeholder: 5,
|
|
31565
31565
|
onChange: this._changeHeight
|
|
@@ -31840,7 +31840,7 @@ class MatrixEditor extends React__namespace.Component {
|
|
|
31840
31840
|
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
31841
31841
|
const {
|
|
31842
31842
|
InfoTip: InfoTip$a,
|
|
31843
|
-
NumberInput: NumberInput$
|
|
31843
|
+
NumberInput: NumberInput$a,
|
|
31844
31844
|
PropCheckBox: PropCheckBox$5,
|
|
31845
31845
|
RangeInput: RangeInput$2
|
|
31846
31846
|
} = perseus.components;
|
|
@@ -31893,14 +31893,14 @@ class MeasurerEditor extends React__namespace.Component {
|
|
|
31893
31893
|
className: "perseus-widget-row"
|
|
31894
31894
|
}, /*#__PURE__*/React__namespace.createElement("label", {
|
|
31895
31895
|
className: "perseus-widget-left-col"
|
|
31896
|
-
}, "Pixels from top:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
31896
|
+
}, "Pixels from top:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$a, {
|
|
31897
31897
|
placeholder: 0,
|
|
31898
31898
|
onChange: this._changeTop,
|
|
31899
31899
|
value: image.top,
|
|
31900
31900
|
useArrowKeys: true
|
|
31901
31901
|
})), /*#__PURE__*/React__namespace.createElement("label", {
|
|
31902
31902
|
className: "perseus-widget-right-col"
|
|
31903
|
-
}, "Pixels from left:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
31903
|
+
}, "Pixels from left:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$a, {
|
|
31904
31904
|
placeholder: 0,
|
|
31905
31905
|
onChange: this._changeLeft,
|
|
31906
31906
|
value: image.left,
|
|
@@ -31946,14 +31946,14 @@ class MeasurerEditor extends React__namespace.Component {
|
|
|
31946
31946
|
key: n,
|
|
31947
31947
|
value: n
|
|
31948
31948
|
}, n);
|
|
31949
|
-
})))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler pixels per unit:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
31949
|
+
})))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler pixels per unit:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$a, {
|
|
31950
31950
|
placeholder: 40
|
|
31951
31951
|
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
|
|
31952
31952
|
,
|
|
31953
31953
|
onChange: this.change("rulerPixels"),
|
|
31954
31954
|
value: this.props.rulerPixels,
|
|
31955
31955
|
useArrowKeys: true
|
|
31956
|
-
}))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler length in units:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
31956
|
+
}))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler length in units:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$a, {
|
|
31957
31957
|
placeholder: 10
|
|
31958
31958
|
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
|
|
31959
31959
|
,
|
|
@@ -32001,8 +32001,8 @@ class MeasurerEditor extends React__namespace.Component {
|
|
|
32001
32001
|
}
|
|
32002
32002
|
|
|
32003
32003
|
const {
|
|
32004
|
-
NumberInput: NumberInput$
|
|
32005
|
-
TextInput: TextInput$
|
|
32004
|
+
NumberInput: NumberInput$9,
|
|
32005
|
+
TextInput: TextInput$5
|
|
32006
32006
|
} = perseus.components;
|
|
32007
32007
|
class MoleculeWidgetEditor extends React__namespace.Component {
|
|
32008
32008
|
static propTypes = {
|
|
@@ -32036,10 +32036,10 @@ class MoleculeWidgetEditor extends React__namespace.Component {
|
|
|
32036
32036
|
return perseus.EditorJsonify.serialize.call(this);
|
|
32037
32037
|
};
|
|
32038
32038
|
render() {
|
|
32039
|
-
return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "SMILES:\xA0", /*#__PURE__*/React__namespace.createElement(TextInput$
|
|
32039
|
+
return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "SMILES:\xA0", /*#__PURE__*/React__namespace.createElement(TextInput$5, {
|
|
32040
32040
|
onChange: this.updateMolecule,
|
|
32041
32041
|
value: this.props.smiles
|
|
32042
|
-
}))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Rotation (deg):\xA0", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32042
|
+
}))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Rotation (deg):\xA0", /*#__PURE__*/React__namespace.createElement(NumberInput$9, {
|
|
32043
32043
|
onChange: this.updateRotation,
|
|
32044
32044
|
value: this.props.rotationAngle
|
|
32045
32045
|
}))));
|
|
@@ -32050,7 +32050,7 @@ class MoleculeWidgetEditor extends React__namespace.Component {
|
|
|
32050
32050
|
const {
|
|
32051
32051
|
ButtonGroup: ButtonGroup$1,
|
|
32052
32052
|
InfoTip: InfoTip$9,
|
|
32053
|
-
NumberInput: NumberInput$
|
|
32053
|
+
NumberInput: NumberInput$8,
|
|
32054
32054
|
PropCheckBox: PropCheckBox$4,
|
|
32055
32055
|
RangeInput: RangeInput$1
|
|
32056
32056
|
} = perseus.components;
|
|
@@ -32230,7 +32230,7 @@ class NumberLineEditor extends React__namespace.Component {
|
|
|
32230
32230
|
}, "\u2264"), /*#__PURE__*/React__namespace.createElement("option", {
|
|
32231
32231
|
value: "ge",
|
|
32232
32232
|
"aria-label": "Greater than or equal"
|
|
32233
|
-
}, "\u2265")), " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32233
|
+
}, "\u2265")), " ", /*#__PURE__*/React__namespace.createElement(NumberInput$8, {
|
|
32234
32234
|
value: this.props.correctX,
|
|
32235
32235
|
format: this.props.labelStyle
|
|
32236
32236
|
// eslint-disable-next-line react/jsx-no-bind
|
|
@@ -32242,7 +32242,7 @@ class NumberLineEditor extends React__namespace.Component {
|
|
|
32242
32242
|
useArrowKeys: true
|
|
32243
32243
|
}), /*#__PURE__*/React__namespace.createElement(InfoTip$9, null, /*#__PURE__*/React__namespace.createElement("p", null, "This is the correct answer. The answer is validated (as right or wrong) by using only the end position of the point and the relation (=, <, >, \u2264, \u2265)."))), /*#__PURE__*/React__namespace.createElement("div", {
|
|
32244
32244
|
className: "perseus-widget-row"
|
|
32245
|
-
}, this.props.static ? /*#__PURE__*/React__namespace.createElement("label", null, "Range:") : /*#__PURE__*/React__namespace.createElement("label", null, "Position:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32245
|
+
}, this.props.static ? /*#__PURE__*/React__namespace.createElement("label", null, "Range:") : /*#__PURE__*/React__namespace.createElement("label", null, "Position:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$8, {
|
|
32246
32246
|
value: this.props.initialX,
|
|
32247
32247
|
format: this.props.labelStyle
|
|
32248
32248
|
// eslint-disable-next-line react/jsx-no-bind
|
|
@@ -32262,7 +32262,7 @@ class NumberLineEditor extends React__namespace.Component {
|
|
|
32262
32262
|
className: "perseus-widget-row"
|
|
32263
32263
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
32264
32264
|
className: "perseus-widget-left-col"
|
|
32265
|
-
}, "Labels:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32265
|
+
}, "Labels:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$8, {
|
|
32266
32266
|
value: labelRange[0],
|
|
32267
32267
|
placeholder: range[0],
|
|
32268
32268
|
format: this.props.labelStyle,
|
|
@@ -32271,7 +32271,7 @@ class NumberLineEditor extends React__namespace.Component {
|
|
|
32271
32271
|
,
|
|
32272
32272
|
onChange: this.onLabelRangeChange.bind(this, 0),
|
|
32273
32273
|
useArrowKeys: true
|
|
32274
|
-
}), /*#__PURE__*/React__namespace.createElement("span", null, " & "), /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32274
|
+
}), /*#__PURE__*/React__namespace.createElement("span", null, " & "), /*#__PURE__*/React__namespace.createElement(NumberInput$8, {
|
|
32275
32275
|
value: labelRange[1],
|
|
32276
32276
|
placeholder: range[1],
|
|
32277
32277
|
format: this.props.labelStyle,
|
|
@@ -32309,7 +32309,7 @@ class NumberLineEditor extends React__namespace.Component {
|
|
|
32309
32309
|
onChange: this.props.onChange
|
|
32310
32310
|
})), /*#__PURE__*/React__namespace.createElement("div", {
|
|
32311
32311
|
className: "perseus-widget-row"
|
|
32312
|
-
}, isTickCtrl && /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement("label", null, "Start num divisions at", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32312
|
+
}, isTickCtrl && /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement("label", null, "Start num divisions at", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$8, {
|
|
32313
32313
|
value: this.props.numDivisions || null,
|
|
32314
32314
|
format: "decimal",
|
|
32315
32315
|
onChange: this.onNumDivisionsChange,
|
|
@@ -32318,7 +32318,7 @@ class NumberLineEditor extends React__namespace.Component {
|
|
|
32318
32318
|
},
|
|
32319
32319
|
placeholder: width / this.props.tickStep,
|
|
32320
32320
|
useArrowKeys: true
|
|
32321
|
-
})), /*#__PURE__*/React__namespace.createElement(InfoTip$9, null, /*#__PURE__*/React__namespace.createElement("p", null, "This controls the number (and position) of the tick marks. The number of divisions is constrained to", " " + divisionRange[0] + EN_DASH + divisionRange[1], ".", /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("strong", null, "Note:"), " The user will be able to specify the number of divisions in a number input."))), !isTickCtrl && /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement("label", null, "Num divisions:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32321
|
+
})), /*#__PURE__*/React__namespace.createElement(InfoTip$9, null, /*#__PURE__*/React__namespace.createElement("p", null, "This controls the number (and position) of the tick marks. The number of divisions is constrained to", " " + divisionRange[0] + EN_DASH + divisionRange[1], ".", /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("strong", null, "Note:"), " The user will be able to specify the number of divisions in a number input."))), !isTickCtrl && /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement("label", null, "Num divisions:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$8, {
|
|
32322
32322
|
value: this.props.numDivisions || null,
|
|
32323
32323
|
format: "decimal",
|
|
32324
32324
|
onChange: this.onNumDivisionsChange,
|
|
@@ -32327,7 +32327,7 @@ class NumberLineEditor extends React__namespace.Component {
|
|
|
32327
32327
|
},
|
|
32328
32328
|
placeholder: width / this.props.tickStep,
|
|
32329
32329
|
useArrowKeys: true
|
|
32330
|
-
})), " ", /*#__PURE__*/React__namespace.createElement("label", null, "or tick step:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32330
|
+
})), " ", /*#__PURE__*/React__namespace.createElement("label", null, "or tick step:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$8, {
|
|
32331
32331
|
value: this.props.tickStep || null,
|
|
32332
32332
|
format: this.props.labelStyle,
|
|
32333
32333
|
onChange: this.onTickStepChange,
|
|
@@ -32338,7 +32338,7 @@ class NumberLineEditor extends React__namespace.Component {
|
|
|
32338
32338
|
useArrowKeys: true
|
|
32339
32339
|
})), /*#__PURE__*/React__namespace.createElement(InfoTip$9, null, /*#__PURE__*/React__namespace.createElement("p", null, "This controls the number (and position) of the tick marks; you can either set the number of divisions (2 divisions would split the entire range in two halves), or the tick step (the distance between ticks) and the other value will be updated accordingly.", " ", /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("strong", null, "Note:"), " There is no check to see if labels coordinate with the tick marks, which may be confusing for users if the blue labels and black ticks are off-step.")))), /*#__PURE__*/React__namespace.createElement("div", {
|
|
32340
32340
|
className: "perseus-widget-row"
|
|
32341
|
-
}, /*#__PURE__*/React__namespace.createElement("label", null, "Snap increments per tick:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32341
|
+
}, /*#__PURE__*/React__namespace.createElement("label", null, "Snap increments per tick:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$8, {
|
|
32342
32342
|
value: snapDivisions,
|
|
32343
32343
|
checkValidity: val => val > 0,
|
|
32344
32344
|
format: this.props.labelStyle
|
|
@@ -32356,9 +32356,9 @@ const {
|
|
|
32356
32356
|
InfoTip: InfoTip$8,
|
|
32357
32357
|
InlineIcon: InlineIcon$3,
|
|
32358
32358
|
MultiButtonGroup,
|
|
32359
|
-
NumberInput: NumberInput$
|
|
32359
|
+
NumberInput: NumberInput$7,
|
|
32360
32360
|
PropCheckBox: PropCheckBox$3,
|
|
32361
|
-
TextInput: TextInput$
|
|
32361
|
+
TextInput: TextInput$4
|
|
32362
32362
|
} = perseus.components;
|
|
32363
32363
|
const {
|
|
32364
32364
|
iconGear,
|
|
@@ -32462,7 +32462,7 @@ const NumericInputEditor = createReactClass__default["default"]({
|
|
|
32462
32462
|
})));
|
|
32463
32463
|
const maxError = i => /*#__PURE__*/React__namespace.createElement("div", {
|
|
32464
32464
|
className: "perseus-widget-row"
|
|
32465
|
-
}, /*#__PURE__*/React__namespace.createElement("label", null, "Max error", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32465
|
+
}, /*#__PURE__*/React__namespace.createElement("label", null, "Max error", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$7, {
|
|
32466
32466
|
className: "max-error",
|
|
32467
32467
|
value: answers[i]["maxError"],
|
|
32468
32468
|
onChange: this.updateAnswer(i, "maxError"),
|
|
@@ -32491,7 +32491,7 @@ const NumericInputEditor = createReactClass__default["default"]({
|
|
|
32491
32491
|
}));
|
|
32492
32492
|
const labelText = /*#__PURE__*/React__namespace.createElement("div", {
|
|
32493
32493
|
className: "perseus-widget-row"
|
|
32494
|
-
}, /*#__PURE__*/React__namespace.createElement("label", null, "Label text:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$
|
|
32494
|
+
}, /*#__PURE__*/React__namespace.createElement("label", null, "Label text:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$4, {
|
|
32495
32495
|
value: this.props.labelText,
|
|
32496
32496
|
onChange: this.change("labelText")
|
|
32497
32497
|
})), /*#__PURE__*/React__namespace.createElement(InfoTip$8, null, /*#__PURE__*/React__namespace.createElement("p", null, "Text to describe this input. This will be shown to users using screenreaders.")));
|
|
@@ -32532,7 +32532,7 @@ const NumericInputEditor = createReactClass__default["default"]({
|
|
|
32532
32532
|
key: i
|
|
32533
32533
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
32534
32534
|
className: "input-answer-editor-value-container" + (answer.maxError ? " with-max-error" : "")
|
|
32535
|
-
}, /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32535
|
+
}, /*#__PURE__*/React__namespace.createElement(NumberInput$7, {
|
|
32536
32536
|
value: answer.value,
|
|
32537
32537
|
className: "numeric-input-value",
|
|
32538
32538
|
placeholder: "answer",
|
|
@@ -32579,7 +32579,7 @@ const NumericInputEditor = createReactClass__default["default"]({
|
|
|
32579
32579
|
className: "max-error-container"
|
|
32580
32580
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
32581
32581
|
className: "max-error-plusmn"
|
|
32582
|
-
}, "\xB1"), /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32582
|
+
}, "\xB1"), /*#__PURE__*/React__namespace.createElement(NumberInput$7, {
|
|
32583
32583
|
placeholder: 0,
|
|
32584
32584
|
value: answers[i]["maxError"],
|
|
32585
32585
|
format: ___default["default"].last(answer.answerForms),
|
|
@@ -32909,8 +32909,8 @@ class PassageEditor extends React__namespace.Component {
|
|
|
32909
32909
|
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
32910
32910
|
const {
|
|
32911
32911
|
InfoTip: InfoTip$5,
|
|
32912
|
-
NumberInput: NumberInput$
|
|
32913
|
-
TextInput: TextInput$
|
|
32912
|
+
NumberInput: NumberInput$6,
|
|
32913
|
+
TextInput: TextInput$3
|
|
32914
32914
|
} = perseus.components;
|
|
32915
32915
|
class PassageRefEditor extends React__namespace.Component {
|
|
32916
32916
|
static propTypes = {
|
|
@@ -32938,17 +32938,17 @@ class PassageRefEditor extends React__namespace.Component {
|
|
|
32938
32938
|
return perseus.EditorJsonify.serialize.call(this);
|
|
32939
32939
|
};
|
|
32940
32940
|
render() {
|
|
32941
|
-
return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Passage Number: ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32941
|
+
return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Passage Number: ", /*#__PURE__*/React__namespace.createElement(NumberInput$6, {
|
|
32942
32942
|
value: this.props.passageNumber
|
|
32943
32943
|
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
|
|
32944
32944
|
,
|
|
32945
32945
|
onChange: this.change("passageNumber")
|
|
32946
|
-
}))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Reference Number: ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
32946
|
+
}))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Reference Number: ", /*#__PURE__*/React__namespace.createElement(NumberInput$6, {
|
|
32947
32947
|
value: this.props.referenceNumber
|
|
32948
32948
|
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
|
|
32949
32949
|
,
|
|
32950
32950
|
onChange: this.change("referenceNumber")
|
|
32951
|
-
}))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Summary Text: ", /*#__PURE__*/React__namespace.createElement(TextInput$
|
|
32951
|
+
}))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Summary Text: ", /*#__PURE__*/React__namespace.createElement(TextInput$3, {
|
|
32952
32952
|
value: this.props.summaryText
|
|
32953
32953
|
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
|
|
32954
32954
|
,
|
|
@@ -32995,7 +32995,7 @@ class PassageRefTargetEditor extends React__namespace.Component {
|
|
|
32995
32995
|
|
|
32996
32996
|
const {
|
|
32997
32997
|
InfoTip: InfoTip$4,
|
|
32998
|
-
NumberInput: NumberInput$
|
|
32998
|
+
NumberInput: NumberInput$5,
|
|
32999
32999
|
RangeInput,
|
|
33000
33000
|
TextListEditor: TextListEditor$1
|
|
33001
33001
|
} = perseus.components;
|
|
@@ -33245,7 +33245,7 @@ class PlotterEditor extends React__namespace.Component {
|
|
|
33245
33245
|
className: "set-from-scale-box"
|
|
33246
33246
|
}, /*#__PURE__*/React__namespace.createElement("span", {
|
|
33247
33247
|
className: "categories-title"
|
|
33248
|
-
}, "Set Categories From Scale"), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Tick Step:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
33248
|
+
}, "Set Categories From Scale"), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Tick Step:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$5, {
|
|
33249
33249
|
placeholder: 1,
|
|
33250
33250
|
useArrowKeys: true,
|
|
33251
33251
|
value: this.state.tickStep,
|
|
@@ -33257,7 +33257,7 @@ class PlotterEditor extends React__namespace.Component {
|
|
|
33257
33257
|
onChange: this.handleChangeRange
|
|
33258
33258
|
}))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("button", {
|
|
33259
33259
|
onClick: this.setCategoriesFromScale
|
|
33260
|
-
}, "Set Categories", " "))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Label Interval:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$
|
|
33260
|
+
}, "Set Categories", " "))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Label Interval:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$5, {
|
|
33261
33261
|
useArrowKeys: true,
|
|
33262
33262
|
value: this.props.labelInterval,
|
|
33263
33263
|
onChange: this.changeLabelInterval
|
|
@@ -33303,6 +33303,65 @@ class PlotterEditor extends React__namespace.Component {
|
|
|
33303
33303
|
}
|
|
33304
33304
|
}
|
|
33305
33305
|
|
|
33306
|
+
/**
|
|
33307
|
+
* This editor is for embedding Khan Academy Python programs.
|
|
33308
|
+
*/
|
|
33309
|
+
const {
|
|
33310
|
+
NumberInput: NumberInput$4,
|
|
33311
|
+
TextInput: TextInput$2
|
|
33312
|
+
} = perseus.components;
|
|
33313
|
+
function validateOptions(height, programID) {
|
|
33314
|
+
const errors = [];
|
|
33315
|
+
if (programID === "") {
|
|
33316
|
+
errors.push("The program ID is required.");
|
|
33317
|
+
}
|
|
33318
|
+
if (!Number.isInteger(height) || height < 1) {
|
|
33319
|
+
errors.push("The height must be a positive integer.");
|
|
33320
|
+
}
|
|
33321
|
+
return errors;
|
|
33322
|
+
}
|
|
33323
|
+
|
|
33324
|
+
/**
|
|
33325
|
+
* This is the main editor for this widget, to specify all the options.
|
|
33326
|
+
*/
|
|
33327
|
+
class PythonProgramEditor extends React__namespace.Component {
|
|
33328
|
+
static widgetName = "python-program";
|
|
33329
|
+
static defaultProps = {
|
|
33330
|
+
programID: "",
|
|
33331
|
+
height: 400
|
|
33332
|
+
};
|
|
33333
|
+
change = (() => {
|
|
33334
|
+
var _this = this;
|
|
33335
|
+
return function () {
|
|
33336
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
33337
|
+
args[_key] = arguments[_key];
|
|
33338
|
+
}
|
|
33339
|
+
// @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
|
|
33340
|
+
return perseus.Changeable.change.apply(_this, args);
|
|
33341
|
+
};
|
|
33342
|
+
})();
|
|
33343
|
+
serialize() {
|
|
33344
|
+
return {
|
|
33345
|
+
programID: this.props.programID,
|
|
33346
|
+
height: this.props.height
|
|
33347
|
+
};
|
|
33348
|
+
}
|
|
33349
|
+
getSaveWarnings = () => {
|
|
33350
|
+
return validateOptions(this.props.height, this.props.programID);
|
|
33351
|
+
};
|
|
33352
|
+
render() {
|
|
33353
|
+
return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "User Program ID:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$2, {
|
|
33354
|
+
value: this.props.programID,
|
|
33355
|
+
onChange: this.change("programID"),
|
|
33356
|
+
placeholder: "123"
|
|
33357
|
+
})), /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("label", null, "Height:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$4, {
|
|
33358
|
+
value: this.props.height,
|
|
33359
|
+
onChange: this.change("height"),
|
|
33360
|
+
placeholder: "400"
|
|
33361
|
+
})));
|
|
33362
|
+
}
|
|
33363
|
+
}
|
|
33364
|
+
|
|
33306
33365
|
/* eslint-disable jsx-a11y/anchor-is-valid, react/forbid-prop-types, react/sort-comp */
|
|
33307
33366
|
const {
|
|
33308
33367
|
InlineIcon: InlineIcon$2,
|
|
@@ -34435,7 +34494,7 @@ class VideoEditor extends React__namespace.Component {
|
|
|
34435
34494
|
}
|
|
34436
34495
|
}
|
|
34437
34496
|
|
|
34438
|
-
var AllEditors = [CategorizerEditor, CSProgramEditor, DefinitionEditor, DropdownEditor, ExampleGraphieWidgetEditor, ExampleWidgetEditor, ExplanationEditor, ExpressionEditor, GradedGroupEditor, GradedGroupSetEditor, GrapherEditor, GroupEditor, IframeEditor, ImageEditor, InputNumberEditor, InteractionEditor, InteractiveGraphEditor, LabelImageEditor, LightsPuzzleEditor, MatcherEditor, MatrixEditor, MeasurerEditor, MoleculeWidgetEditor, NumberLineEditor, NumericInputEditor, OrdererEditor, PassageEditor, PassageRefEditor, PassageRefTargetEditor, PlotterEditor, ReactionDiagramWidgetEditor, SequenceEditor, SimpleMarkdownTesterEditor, SimulatorEditor, SorterEditor, TableEditor, UnitInputEditor, VideoEditor, RadioEditor, DeprecatedStandinEditor];
|
|
34497
|
+
var AllEditors = [CategorizerEditor, CSProgramEditor, DefinitionEditor, DropdownEditor, ExampleGraphieWidgetEditor, ExampleWidgetEditor, ExplanationEditor, ExpressionEditor, GradedGroupEditor, GradedGroupSetEditor, GrapherEditor, GroupEditor, IframeEditor, ImageEditor, InputNumberEditor, InteractionEditor, InteractiveGraphEditor, LabelImageEditor, LightsPuzzleEditor, MatcherEditor, MatrixEditor, MeasurerEditor, MoleculeWidgetEditor, NumberLineEditor, NumericInputEditor, OrdererEditor, PassageEditor, PassageRefEditor, PassageRefTargetEditor, PlotterEditor, PythonProgramEditor, ReactionDiagramWidgetEditor, SequenceEditor, SimpleMarkdownTesterEditor, SimulatorEditor, SorterEditor, TableEditor, UnitInputEditor, VideoEditor, RadioEditor, DeprecatedStandinEditor];
|
|
34439
34498
|
|
|
34440
34499
|
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
34441
34500
|
class TextInput extends React__namespace.Component {
|