@khanacademy/perseus-editor 14.10.3 → 14.11.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/es/index.js +44 -37
- package/dist/es/index.js.map +1 -1
- package/dist/index.js +44 -37
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/es/index.js
CHANGED
|
@@ -46,7 +46,7 @@ import arrowCounterClockwise from '@phosphor-icons/core/bold/arrow-counter-clock
|
|
|
46
46
|
|
|
47
47
|
// This file is processed by a Rollup plugin (replace) to inject the production
|
|
48
48
|
const libName = "@khanacademy/perseus-editor";
|
|
49
|
-
const libVersion = "14.
|
|
49
|
+
const libVersion = "14.11.0";
|
|
50
50
|
addLibraryVersionToPerseusDebug(libName, libVersion);
|
|
51
51
|
|
|
52
52
|
function _extends() {
|
|
@@ -23628,7 +23628,7 @@ class StructuredItemDiff extends React.Component {
|
|
|
23628
23628
|
|
|
23629
23629
|
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
23630
23630
|
const {
|
|
23631
|
-
InfoTip: InfoTip$
|
|
23631
|
+
InfoTip: InfoTip$o,
|
|
23632
23632
|
InlineIcon: InlineIcon$7
|
|
23633
23633
|
} = components;
|
|
23634
23634
|
/* Renders a hint editor box
|
|
@@ -23694,7 +23694,7 @@ class HintEditor extends React.Component {
|
|
|
23694
23694
|
type: "button",
|
|
23695
23695
|
className: this.props.isFirst ? "hidden" : "",
|
|
23696
23696
|
onClick: _.partial(this.props.onMove, -1)
|
|
23697
|
-
}, /*#__PURE__*/React.createElement(InlineIcon$7, iconCircleArrowUp)), " ", this.props.isLast && /*#__PURE__*/React.createElement(InfoTip$
|
|
23697
|
+
}, /*#__PURE__*/React.createElement(InlineIcon$7, iconCircleArrowUp)), " ", this.props.isLast && /*#__PURE__*/React.createElement(InfoTip$o, null, /*#__PURE__*/React.createElement("p", null, "The last hint is automatically bolded."))), /*#__PURE__*/React.createElement("input", {
|
|
23698
23698
|
type: "checkbox"
|
|
23699
23699
|
// @ts-expect-error - TS2322 - Type 'boolean | null | undefined' is not assignable to type 'boolean | undefined'.
|
|
23700
23700
|
,
|
|
@@ -23940,7 +23940,7 @@ CombinedHintsEditor.defaultProps = {
|
|
|
23940
23940
|
};
|
|
23941
23941
|
|
|
23942
23942
|
const {
|
|
23943
|
-
InfoTip: InfoTip$
|
|
23943
|
+
InfoTip: InfoTip$n
|
|
23944
23944
|
} = components;
|
|
23945
23945
|
class ItemExtrasEditor extends React.Component {
|
|
23946
23946
|
constructor(...args) {
|
|
@@ -24085,7 +24085,7 @@ const ItemExtraCheckbox = props => /*#__PURE__*/React.createElement(View, {
|
|
|
24085
24085
|
style: {
|
|
24086
24086
|
flexDirection: "row"
|
|
24087
24087
|
}
|
|
24088
|
-
}, props.label, " ", /*#__PURE__*/React.createElement(InfoTip$
|
|
24088
|
+
}, props.label, " ", /*#__PURE__*/React.createElement(InfoTip$n, null, props.infoTip)),
|
|
24089
24089
|
checked: props.checked,
|
|
24090
24090
|
onChange: newCheckedState => props.onChange(newCheckedState)
|
|
24091
24091
|
}));
|
|
@@ -25776,7 +25776,7 @@ class BlurInput extends React.Component {
|
|
|
25776
25776
|
}
|
|
25777
25777
|
|
|
25778
25778
|
const {
|
|
25779
|
-
InfoTip: InfoTip$
|
|
25779
|
+
InfoTip: InfoTip$m
|
|
25780
25780
|
} = components;
|
|
25781
25781
|
const DEFAULT_WIDTH = 400;
|
|
25782
25782
|
const DEFAULT_HEIGHT = 400;
|
|
@@ -25940,7 +25940,7 @@ class CSProgramEditor extends React.Component {
|
|
|
25940
25940
|
showEditor: value
|
|
25941
25941
|
});
|
|
25942
25942
|
}
|
|
25943
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
25943
|
+
}), /*#__PURE__*/React.createElement(InfoTip$m, null, "If you show the editor, you should use the \"full-width\" alignment to make room for the width of the editor."), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement(Checkbox$1, {
|
|
25944
25944
|
label: "Show Buttons",
|
|
25945
25945
|
checked: this.props.showButtons,
|
|
25946
25946
|
onChange: value => {
|
|
@@ -25952,7 +25952,7 @@ class CSProgramEditor extends React.Component {
|
|
|
25952
25952
|
name: "settings",
|
|
25953
25953
|
pairs: this.props.settings,
|
|
25954
25954
|
onChange: this._handleSettingsChange
|
|
25955
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
25955
|
+
}), /*#__PURE__*/React.createElement(InfoTip$m, null, "Settings that you add here are available to the program as an object returned by ", /*#__PURE__*/React.createElement("code", null, "Program.settings()"))));
|
|
25956
25956
|
}
|
|
25957
25957
|
}
|
|
25958
25958
|
CSProgramEditor.propTypes = _extends({}, Changeable.propTypes);
|
|
@@ -26038,7 +26038,7 @@ DeprecatedStandinEditor.widgetName = "deprecated-standin";
|
|
|
26038
26038
|
|
|
26039
26039
|
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
26040
26040
|
const {
|
|
26041
|
-
InfoTip: InfoTip$
|
|
26041
|
+
InfoTip: InfoTip$l,
|
|
26042
26042
|
InlineIcon: InlineIcon$5
|
|
26043
26043
|
} = components;
|
|
26044
26044
|
class DropdownEditor extends React.Component {
|
|
@@ -26103,14 +26103,14 @@ class DropdownEditor extends React.Component {
|
|
|
26103
26103
|
className: "perseus-widget-dropdown"
|
|
26104
26104
|
}, /*#__PURE__*/React.createElement("div", {
|
|
26105
26105
|
className: "dropdown-info"
|
|
26106
|
-
}, "Dropdown", /*#__PURE__*/React.createElement(InfoTip$
|
|
26106
|
+
}, "Dropdown", /*#__PURE__*/React.createElement(InfoTip$l, null, /*#__PURE__*/React.createElement("p", null, "The drop down is useful for making inequalities in a custom format. We normally use the symbols ", "<", ",", " ", ">", ", \u2264, \u2265 (in that order) which you can copy into the choices. When possible, use the \"multiple choice\" answer type instead."))), /*#__PURE__*/React.createElement("div", {
|
|
26107
26107
|
className: "dropdown-placeholder"
|
|
26108
26108
|
}, /*#__PURE__*/React.createElement("input", {
|
|
26109
26109
|
type: "text",
|
|
26110
26110
|
placeholder: "Placeholder value",
|
|
26111
26111
|
value: this.props.placeholder,
|
|
26112
26112
|
onChange: this.onPlaceholderChange
|
|
26113
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
26113
|
+
}), /*#__PURE__*/React.createElement(InfoTip$l, null, /*#__PURE__*/React.createElement("p", null, "This value will appear as the drop down default. It should give the user some indication of the values available in the drop down itself, e.g., Yes/No/Maybe."))), /*#__PURE__*/React.createElement("div", {
|
|
26114
26114
|
className: "clearfix"
|
|
26115
26115
|
}), /*#__PURE__*/React.createElement("ul", {
|
|
26116
26116
|
className: "dropdown-choices"
|
|
@@ -26438,7 +26438,7 @@ const styles$N = StyleSheet.create({
|
|
|
26438
26438
|
});
|
|
26439
26439
|
|
|
26440
26440
|
const {
|
|
26441
|
-
InfoTip: InfoTip$
|
|
26441
|
+
InfoTip: InfoTip$k
|
|
26442
26442
|
} = components;
|
|
26443
26443
|
|
|
26444
26444
|
// types for iterables
|
|
@@ -26684,13 +26684,13 @@ class ExpressionEditor extends React.Component {
|
|
|
26684
26684
|
label: "Visible label",
|
|
26685
26685
|
value: this.props.visibleLabel || "",
|
|
26686
26686
|
onChange: this.change("visibleLabel")
|
|
26687
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
26687
|
+
}), /*#__PURE__*/React.createElement(InfoTip$k, null, /*#__PURE__*/React.createElement("p", null, "Optional visible text; strongly encouraged to help learners using dictation software, but can be omitted if the surrounding content provides enough context."))), /*#__PURE__*/React.createElement("div", {
|
|
26688
26688
|
className: css(styles$M.paddedY)
|
|
26689
26689
|
}, /*#__PURE__*/React.createElement(LabeledTextField, {
|
|
26690
26690
|
label: "Aria label",
|
|
26691
26691
|
value: this.props.ariaLabel || "",
|
|
26692
26692
|
onChange: this.change("ariaLabel")
|
|
26693
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
26693
|
+
}), /*#__PURE__*/React.createElement(InfoTip$k, null, /*#__PURE__*/React.createElement("p", null, "Label text that's read by screen readers. Highly recommend adding a label here to ensure your exercise is accessible. For more information on writting accessible labels, please see", " ", /*#__PURE__*/React.createElement("a", {
|
|
26694
26694
|
href: "https://www.w3.org/WAI/tips/designing/#ensure-that-form-elements-include-clearly-associated-labels",
|
|
26695
26695
|
target: "_blank"
|
|
26696
26696
|
}, "this article.")))), /*#__PURE__*/React.createElement("div", {
|
|
@@ -26699,7 +26699,7 @@ class ExpressionEditor extends React.Component {
|
|
|
26699
26699
|
label: "Function variables",
|
|
26700
26700
|
value: this.state.functionsInternal,
|
|
26701
26701
|
onChange: this.handleFunctions
|
|
26702
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
26702
|
+
}), /*#__PURE__*/React.createElement(InfoTip$k, null, /*#__PURE__*/React.createElement("p", null, "Single-letter variables listed here will be interpreted as functions. This let us know that f(x) means \"f of x\" and not \"f times x\"."))), /*#__PURE__*/React.createElement("div", {
|
|
26703
26703
|
className: css(styles$M.paddedY)
|
|
26704
26704
|
}, /*#__PURE__*/React.createElement(Checkbox$1, {
|
|
26705
26705
|
label: "Use \xD7 instead of \u22C5 for multiplication",
|
|
@@ -26709,7 +26709,7 @@ class ExpressionEditor extends React.Component {
|
|
|
26709
26709
|
times: value
|
|
26710
26710
|
});
|
|
26711
26711
|
}
|
|
26712
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
26712
|
+
}), /*#__PURE__*/React.createElement(InfoTip$k, null, /*#__PURE__*/React.createElement("p", null, "For pre-algebra problems this option displays multiplication as \\times instead of \\cdot in both the rendered output and the acceptable formats examples."))), /*#__PURE__*/React.createElement("div", {
|
|
26713
26713
|
className: css(styles$M.paddedY)
|
|
26714
26714
|
}, /*#__PURE__*/React.createElement(HeadingXSmall, null, "Button Sets"), buttonSetChoices), /*#__PURE__*/React.createElement(HeadingSmall, null, "Answers"), /*#__PURE__*/React.createElement("p", {
|
|
26715
26715
|
style: {
|
|
@@ -26801,7 +26801,7 @@ class AnswerOption extends React.Component {
|
|
|
26801
26801
|
form: value
|
|
26802
26802
|
});
|
|
26803
26803
|
}
|
|
26804
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
26804
|
+
}), /*#__PURE__*/React.createElement(InfoTip$k, null, /*#__PURE__*/React.createElement("p", null, "The student's answer must be in the same form. Commutativity and excess negative signs are ignored."))), /*#__PURE__*/React.createElement("div", {
|
|
26805
26805
|
className: css(styles$M.paddedY, styles$M.paddedX)
|
|
26806
26806
|
}, /*#__PURE__*/React.createElement(Checkbox$1, {
|
|
26807
26807
|
label: "Answer expression must be fully expanded and simplified.",
|
|
@@ -26811,7 +26811,7 @@ class AnswerOption extends React.Component {
|
|
|
26811
26811
|
simplify: value
|
|
26812
26812
|
});
|
|
26813
26813
|
}
|
|
26814
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
26814
|
+
}), /*#__PURE__*/React.createElement(InfoTip$k, null, /*#__PURE__*/React.createElement("p", null, "The student's answer must be fully expanded and simplified. Answering this equation (x^2+2x+1) with this factored equation (x+1)^2 will render this response \"Your answer is not fully expanded and simplified.\""))), /*#__PURE__*/React.createElement("div", {
|
|
26815
26815
|
className: css(styles$M.buttonRow, styles$M.paddedY)
|
|
26816
26816
|
}, removeButton)));
|
|
26817
26817
|
}
|
|
@@ -27050,7 +27050,7 @@ const setArrayItem = (list, i, value) => [...list.slice(0, i), value, ...list.sl
|
|
|
27050
27050
|
|
|
27051
27051
|
const {
|
|
27052
27052
|
ButtonGroup: ButtonGroup$7,
|
|
27053
|
-
InfoTip: InfoTip$
|
|
27053
|
+
InfoTip: InfoTip$j,
|
|
27054
27054
|
RangeInput: RangeInput$6
|
|
27055
27055
|
} = components;
|
|
27056
27056
|
const defaultBackgroundImage$3 = {
|
|
@@ -27509,7 +27509,7 @@ const GraphSettings = createReactClass({
|
|
|
27509
27509
|
},
|
|
27510
27510
|
onKeyPress: this.changeBackgroundUrl,
|
|
27511
27511
|
onBlur: this.changeBackgroundUrl
|
|
27512
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
27512
|
+
}), /*#__PURE__*/React.createElement(InfoTip$j, null, /*#__PURE__*/React.createElement("p", null, "Create an image in graphie, or use the \"Add image\" function to create a background.")))), _.contains(this.props.editableSettings, "measure") && /*#__PURE__*/React.createElement("div", {
|
|
27513
27513
|
className: "misc-settings"
|
|
27514
27514
|
}, /*#__PURE__*/React.createElement("div", {
|
|
27515
27515
|
className: "perseus-widget-row"
|
|
@@ -27555,7 +27555,7 @@ const GraphSettings = createReactClass({
|
|
|
27555
27555
|
});
|
|
27556
27556
|
|
|
27557
27557
|
const {
|
|
27558
|
-
InfoTip: InfoTip$
|
|
27558
|
+
InfoTip: InfoTip$i,
|
|
27559
27559
|
MultiButtonGroup: MultiButtonGroup$1
|
|
27560
27560
|
} = components;
|
|
27561
27561
|
const Grapher = GrapherWidget.widget;
|
|
@@ -27634,7 +27634,7 @@ class GrapherEditor extends React.Component {
|
|
|
27634
27634
|
className: "perseus-error"
|
|
27635
27635
|
}, this.props.graph.valid);
|
|
27636
27636
|
}
|
|
27637
|
-
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, "Correct answer", " ", /*#__PURE__*/React.createElement(InfoTip$
|
|
27637
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, "Correct answer", " ", /*#__PURE__*/React.createElement(InfoTip$i, null, /*#__PURE__*/React.createElement("p", null, "Graph the correct answer in the graph below and ensure the equation or point coordinates displayed represent the correct answer.")), " ", ": ", equationString), /*#__PURE__*/React.createElement(GraphSettings, {
|
|
27638
27638
|
editableSettings: ["graph", "snap", "image"],
|
|
27639
27639
|
box: getInteractiveBoxFromSizeClass(sizeClass),
|
|
27640
27640
|
range: this.props.graph.range,
|
|
@@ -27884,7 +27884,7 @@ IframeEditor.defaultProps = {
|
|
|
27884
27884
|
|
|
27885
27885
|
/* eslint-disable jsx-a11y/anchor-is-valid */
|
|
27886
27886
|
const {
|
|
27887
|
-
InfoTip: InfoTip$
|
|
27887
|
+
InfoTip: InfoTip$h,
|
|
27888
27888
|
InlineIcon: InlineIcon$3,
|
|
27889
27889
|
RangeInput: RangeInput$5
|
|
27890
27890
|
} = components;
|
|
@@ -28074,7 +28074,7 @@ class ImageEditor extends React.Component {
|
|
|
28074
28074
|
style: {
|
|
28075
28075
|
width: "100%"
|
|
28076
28076
|
}
|
|
28077
|
-
}))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("div", null, "Dimensions:"), /*#__PURE__*/React.createElement("p", null, backgroundImage.width, "x", backgroundImage.height))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("div", null, "Alt text:", /*#__PURE__*/React.createElement(InfoTip$
|
|
28077
|
+
}))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("div", null, "Dimensions:"), /*#__PURE__*/React.createElement("p", null, backgroundImage.width, "x", backgroundImage.height))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("div", null, "Alt text:", /*#__PURE__*/React.createElement(InfoTip$h, null, "This is important for screenreaders. The content of this alt text will be formatted as markdown (tables, emphasis, etc. are supported).")), /*#__PURE__*/React.createElement(Editor, {
|
|
28078
28078
|
apiOptions: this.props.apiOptions,
|
|
28079
28079
|
content: this.props.alt,
|
|
28080
28080
|
onChange: props => {
|
|
@@ -28098,7 +28098,7 @@ class ImageEditor extends React.Component {
|
|
|
28098
28098
|
}, this.state.backgroundImageError);
|
|
28099
28099
|
return /*#__PURE__*/React.createElement("div", {
|
|
28100
28100
|
className: "perseus-image-editor"
|
|
28101
|
-
}, /*#__PURE__*/React.createElement("label", null, "Image url:", /*#__PURE__*/React.createElement(InfoTip$
|
|
28101
|
+
}, /*#__PURE__*/React.createElement("label", null, "Image url:", /*#__PURE__*/React.createElement(InfoTip$h, null, "Paste an image or graphie image URL."), this.state.backgroundImageError && backgroundImageErrorText, /*#__PURE__*/React.createElement(BlurInput, {
|
|
28102
28102
|
value: backgroundImage.url || "",
|
|
28103
28103
|
style: {
|
|
28104
28104
|
width: 332
|
|
@@ -28120,7 +28120,7 @@ ImageEditor.defaultProps = {
|
|
|
28120
28120
|
};
|
|
28121
28121
|
|
|
28122
28122
|
const {
|
|
28123
|
-
InfoTip: InfoTip$
|
|
28123
|
+
InfoTip: InfoTip$g
|
|
28124
28124
|
} = components;
|
|
28125
28125
|
const answerTypes = {
|
|
28126
28126
|
number: {
|
|
@@ -28206,7 +28206,7 @@ class InputNumberEditor extends React.Component {
|
|
|
28206
28206
|
value: "optional"
|
|
28207
28207
|
}, "will be accepted"), /*#__PURE__*/React.createElement("option", {
|
|
28208
28208
|
value: "enforced"
|
|
28209
|
-
}, "will be marked wrong"))), /*#__PURE__*/React.createElement(InfoTip$
|
|
28209
|
+
}, "will be marked wrong"))), /*#__PURE__*/React.createElement(InfoTip$g, null, /*#__PURE__*/React.createElement("p", null, "Normally select \"will not be graded\". This will give the user a message saying the answer is correct but not simplified. The user will then have to simplify it and re-enter, but will not be penalized. (5th grade and anything after)"), /*#__PURE__*/React.createElement("p", null, "Select \"will be accepted\" only if the user is not expected to know how to simplify fractions yet. (Anything prior to 5th grade)"), /*#__PURE__*/React.createElement("p", null, "Select \"will be marked wrong\" only if we are specifically assessing the ability to simplify."))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("input", {
|
|
28210
28210
|
type: "checkbox",
|
|
28211
28211
|
checked: this.props.inexact,
|
|
28212
28212
|
onChange: e => {
|
|
@@ -28242,7 +28242,7 @@ class InputNumberEditor extends React.Component {
|
|
|
28242
28242
|
});
|
|
28243
28243
|
},
|
|
28244
28244
|
"aria-label": "Answer type"
|
|
28245
|
-
}, answerTypeOptions), /*#__PURE__*/React.createElement(InfoTip$
|
|
28245
|
+
}, answerTypeOptions), /*#__PURE__*/React.createElement(InfoTip$g, null, /*#__PURE__*/React.createElement("p", null, "Use the default \"Numbers\" unless the answer must be in a specific form (e.g., question is about converting decimals to fractions)."))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", null, "Width", " ", /*#__PURE__*/React.createElement("select", {
|
|
28246
28246
|
value: this.props.size,
|
|
28247
28247
|
onChange: e => {
|
|
28248
28248
|
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"small" | "normal" | undefined'.
|
|
@@ -28254,7 +28254,7 @@ class InputNumberEditor extends React.Component {
|
|
|
28254
28254
|
value: "normal"
|
|
28255
28255
|
}, "Normal (80px)"), /*#__PURE__*/React.createElement("option", {
|
|
28256
28256
|
value: "small"
|
|
28257
|
-
}, "Small (40px)"))), /*#__PURE__*/React.createElement(InfoTip$
|
|
28257
|
+
}, "Small (40px)"))), /*#__PURE__*/React.createElement(InfoTip$g, null, /*#__PURE__*/React.createElement("p", null, "Use size \"Normal\" for all text boxes, unless there are multiple text boxes in one line and the answer area is too narrow to fit them."))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("input", {
|
|
28258
28258
|
type: "checkbox",
|
|
28259
28259
|
checked: this.props.rightAlign,
|
|
28260
28260
|
onChange: e => {
|
|
@@ -29764,7 +29764,7 @@ const styles$F = StyleSheet.create({
|
|
|
29764
29764
|
|
|
29765
29765
|
const {
|
|
29766
29766
|
ButtonGroup: ButtonGroup$2,
|
|
29767
|
-
InfoTip: InfoTip$
|
|
29767
|
+
InfoTip: InfoTip$f,
|
|
29768
29768
|
RangeInput: RangeInput$4
|
|
29769
29769
|
} = components;
|
|
29770
29770
|
const defaultBackgroundImage$1 = {
|
|
@@ -30154,7 +30154,7 @@ class InteractiveGraphSettings extends React.Component {
|
|
|
30154
30154
|
},
|
|
30155
30155
|
onKeyPress: this.changeBackgroundUrl,
|
|
30156
30156
|
onBlur: this.changeBackgroundUrl
|
|
30157
|
-
}), /*#__PURE__*/React.createElement(InfoTip$
|
|
30157
|
+
}), /*#__PURE__*/React.createElement(InfoTip$f, null, /*#__PURE__*/React.createElement("p", null, "Create an image in graphie, or use the \"Add image\" function to create a background."))), /*#__PURE__*/React.createElement(View, {
|
|
30158
30158
|
style: styles$E.protractorSection
|
|
30159
30159
|
}, /*#__PURE__*/React.createElement(View, {
|
|
30160
30160
|
style: styles$E.checkboxRow
|
|
@@ -30666,7 +30666,7 @@ const styles$v = StyleSheet.create({
|
|
|
30666
30666
|
});
|
|
30667
30667
|
|
|
30668
30668
|
const {
|
|
30669
|
-
InfoTip: InfoTip$
|
|
30669
|
+
InfoTip: InfoTip$e
|
|
30670
30670
|
} = components;
|
|
30671
30671
|
function LockedFigureAria(props) {
|
|
30672
30672
|
const {
|
|
@@ -30683,7 +30683,7 @@ function LockedFigureAria(props) {
|
|
|
30683
30683
|
}, /*#__PURE__*/React.createElement(LabelMedium, {
|
|
30684
30684
|
tag: "label",
|
|
30685
30685
|
htmlFor: ariaLabelId
|
|
30686
|
-
}, "Aria label"), /*#__PURE__*/React.createElement(Spring, null), /*#__PURE__*/React.createElement(InfoTip$
|
|
30686
|
+
}, "Aria label"), /*#__PURE__*/React.createElement(Spring, null), /*#__PURE__*/React.createElement(InfoTip$e, null, "Aria label is used by screen readers to describe content to users who may be visually impaired. ", /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), "Populating this field will make it so that users can use a screen reader to navigate to this point and hear the description.", /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), "If you leave this field blank, the point will be hidden from screen readers. Users will not be able to navigate to this point using a screen reader.")), /*#__PURE__*/React.createElement(Strut, {
|
|
30687
30687
|
size: spacing.xxSmall_6
|
|
30688
30688
|
}), /*#__PURE__*/React.createElement(LabelXSmall, {
|
|
30689
30689
|
style: styles$u.caption
|
|
@@ -30795,6 +30795,9 @@ const styles$t = StyleSheet.create({
|
|
|
30795
30795
|
*
|
|
30796
30796
|
* Used in the interactive graph editor's locked figures section.
|
|
30797
30797
|
*/
|
|
30798
|
+
const {
|
|
30799
|
+
InfoTip: InfoTip$d
|
|
30800
|
+
} = components;
|
|
30798
30801
|
function LockedLabelSettings(props) {
|
|
30799
30802
|
const {
|
|
30800
30803
|
type,
|
|
@@ -30831,10 +30834,14 @@ function LockedLabelSettings(props) {
|
|
|
30831
30834
|
});
|
|
30832
30835
|
},
|
|
30833
30836
|
style: styles$s.spaceUnder
|
|
30834
|
-
}), /*#__PURE__*/React.createElement(
|
|
30837
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
30838
|
+
style: styles$s.row
|
|
30839
|
+
}, /*#__PURE__*/React.createElement(LabelMedium, {
|
|
30835
30840
|
tag: "label",
|
|
30836
|
-
style: [styles$s.row, styles$s.spaceUnder
|
|
30837
|
-
|
|
30841
|
+
style: [styles$s.row, styles$s.spaceUnder, {
|
|
30842
|
+
flexGrow: 1
|
|
30843
|
+
}]
|
|
30844
|
+
}, "text", /*#__PURE__*/React.createElement(Strut, {
|
|
30838
30845
|
size: spacing.xSmall_8
|
|
30839
30846
|
}), /*#__PURE__*/React.createElement(TextField, {
|
|
30840
30847
|
value: text,
|
|
@@ -30842,7 +30849,7 @@ function LockedLabelSettings(props) {
|
|
|
30842
30849
|
onChange: newValue => onChangeProps({
|
|
30843
30850
|
text: newValue
|
|
30844
30851
|
})
|
|
30845
|
-
})), /*#__PURE__*/React.createElement(View, {
|
|
30852
|
+
})), /*#__PURE__*/React.createElement(InfoTip$d, null, "Surround your text with $ for TeX.", /*#__PURE__*/React.createElement("br", null), "Example: ", `This circle has radius $\\frac{1}{2}$ units.`, /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), "It is important to use TeX when appropriate for accessibility. The above example would be read as \"This circle has radius one-half units\" by screen readers.")), /*#__PURE__*/React.createElement(View, {
|
|
30846
30853
|
style: styles$s.row
|
|
30847
30854
|
}, /*#__PURE__*/React.createElement(ColorSelect, {
|
|
30848
30855
|
selectedValue: color$1,
|