@pie-lib/math-toolbar 3.0.3-next.38 → 3.0.3-next.83

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.
@@ -0,0 +1,162 @@
1
+ import React from 'react';
2
+ import debug from 'debug';
3
+ import { styled } from '@mui/material/styles';
4
+ import PropTypes from 'prop-types';
5
+ import { mq } from '@pie-lib/math-input';
6
+ import { markFractionBaseSuperscripts } from './utils';
7
+
8
+ const { commonMqFontStyles, longdivStyles, supsubStyles } = mq.CommonMqStyles;
9
+
10
+ const log = debug('@pie-lib:math-toolbar:math-preview');
11
+
12
+ const MathPreviewContainer = styled('div')(({ theme, isSelected }) => ({
13
+ display: 'inline-flex',
14
+ alignItems: 'center',
15
+ position: 'relative',
16
+ '& *': commonMqFontStyles,
17
+ ...supsubStyles,
18
+ ...longdivStyles,
19
+ '& > .mq-math-mode': {
20
+ border: isSelected ? 'solid 0px lightgrey' : 'solid 1px lightgrey',
21
+ },
22
+ '& > .mq-focused': {
23
+ outline: 'none',
24
+ boxShadow: 'none',
25
+ border: 'solid 1px black',
26
+ borderRadius: '0px',
27
+ },
28
+ '& > .mq-math-mode .mq-root-block': {
29
+ paddingTop: '7px !important',
30
+ },
31
+ '& > .mq-math-mode .mq-overarc ': {
32
+ paddingTop: '0.45em !important',
33
+ },
34
+ '& > .mq-math-mode .mq-sqrt-prefix': {
35
+ verticalAlign: 'baseline !important',
36
+ top: '1px !important',
37
+ left: '-0.1em !important',
38
+ },
39
+ '& > .mq-math-mode .mq-denominator': {
40
+ marginTop: '-5px !important',
41
+ padding: '0.5em 0.1em 0.1em !important',
42
+ },
43
+ '& > .mq-math-mode .mq-numerator, .mq-math-mode .mq-over': {
44
+ padding: '0 0.1em !important',
45
+ paddingBottom: '0 !important',
46
+ marginBottom: '-2px',
47
+ },
48
+ '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner .mq-empty': {
49
+ paddingTop: '6px !important',
50
+ paddingLeft: '4px !important',
51
+ },
52
+ '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner': {
53
+ marginLeft: '0 !important',
54
+ },
55
+ '& > .mq-math-mode .mq-overarrow': {
56
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',
57
+ },
58
+ '& > .mq-math-mode .mq-paren': {
59
+ verticalAlign: 'top !important',
60
+ padding: '1px 0.1em !important',
61
+ },
62
+ '& > .mq-math-mode .mq-sqrt-stem': {
63
+ borderTop: '0.07em solid',
64
+ marginLeft: '-1.5px',
65
+ marginTop: '-2px !important',
66
+ paddingTop: '5px !important',
67
+ },
68
+ '& .mq-overarrow-inner': {
69
+ paddingTop: '0 !important',
70
+ border: 'none !important',
71
+ },
72
+ '& .mq-editable-field .mq-cursor': {
73
+ marginTop: '-15px !important',
74
+ },
75
+ '& .mq-overarrow.mq-arrow-both': {
76
+ top: '7.5px',
77
+ marginTop: '0px',
78
+ minWidth: '1.23em',
79
+ '& *': {
80
+ lineHeight: '1 !important',
81
+ },
82
+ '&:before': {
83
+ top: '-0.4em',
84
+ left: '-1px',
85
+ },
86
+ '&:after': {
87
+ top: '0px !important',
88
+ position: 'absolute !important',
89
+ right: '-2px',
90
+ },
91
+ '&.mq-empty:after': {
92
+ top: '-0.45em',
93
+ },
94
+ },
95
+ '& .mq-overarrow.mq-arrow-right': {
96
+ '&:before': {
97
+ top: '-0.4em',
98
+ right: '-1px',
99
+ },
100
+ },
101
+ '& .mq-overarrow-inner-right': {
102
+ display: 'none !important',
103
+ },
104
+ '& .mq-overarrow-inner-left': {
105
+ display: 'none !important',
106
+ },
107
+ '& .mq-longdiv-inner': {
108
+ borderTop: '1px solid !important',
109
+ paddingTop: '1.5px !important',
110
+ },
111
+ '& .mq-parallelogram': {
112
+ lineHeight: 0.85,
113
+ },
114
+ '& span[data-prime="true"]': {
115
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',
116
+ },
117
+ ...(isSelected && {
118
+ border: `solid 1px ${theme.palette.primary.main}`,
119
+ }),
120
+ }));
121
+
122
+ const InsideOverlay = styled('span')({
123
+ position: 'absolute',
124
+ bottom: 0,
125
+ left: 0,
126
+ right: 0,
127
+ top: 0,
128
+ });
129
+
130
+ export class RawMathPreview extends React.Component {
131
+ static propTypes = {
132
+ latex: PropTypes.string,
133
+ isSelected: PropTypes.bool,
134
+ onFocus: PropTypes.func,
135
+ onBlur: PropTypes.func,
136
+ };
137
+
138
+ componentDidMount() {
139
+ markFractionBaseSuperscripts();
140
+ }
141
+
142
+ componentDidUpdate(prevProps) {
143
+ // Re-run only if LaTeX changed
144
+ if (this.props.latex !== prevProps.latex) {
145
+ markFractionBaseSuperscripts();
146
+ }
147
+ }
148
+
149
+ render() {
150
+ const { isSelected, onFocus, onBlur, latex } = this.props;
151
+ log('[render] latex: ', latex);
152
+ return (
153
+ <MathPreviewContainer isSelected={isSelected}>
154
+ {' '}
155
+ <InsideOverlay />
156
+ <mq.Static latex={latex} onFocus={onFocus} onBlur={onBlur} />
157
+ </MathPreviewContainer>
158
+ );
159
+ }
160
+ }
161
+
162
+ export default RawMathPreview;
package/src/utils.js ADDED
@@ -0,0 +1,11 @@
1
+ export const markFractionBaseSuperscripts = () => {
2
+ document.querySelectorAll('.mq-supsub.mq-sup-only').forEach((supsub) => {
3
+ const prev = supsub.previousElementSibling;
4
+
5
+ if (prev && prev.classList.contains('mq-non-leaf') && prev.querySelector('.mq-fraction')) {
6
+ supsub.classList.add('mq-after-fraction-group');
7
+ } else {
8
+ supsub.classList.remove('mq-after-fraction-group');
9
+ }
10
+ });
11
+ };
@@ -1,30 +0,0 @@
1
- /**
2
- * @synced-from pie-lib/packages/math-toolbar/src/done-button.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- import PropTypes from 'prop-types';
11
- export declare const RawDoneButton: {
12
- ({ onClick, hideBackground }: {
13
- onClick: any;
14
- hideBackground: any;
15
- }): React.JSX.Element;
16
- propTypes: {
17
- onClick: PropTypes.Requireable<(...args: any[]) => any>;
18
- hideBackground: PropTypes.Requireable<boolean>;
19
- };
20
- };
21
- export declare const DoneButton: {
22
- ({ onClick, hideBackground }: {
23
- onClick: any;
24
- hideBackground: any;
25
- }): React.JSX.Element;
26
- propTypes: {
27
- onClick: PropTypes.Requireable<(...args: any[]) => any>;
28
- hideBackground: PropTypes.Requireable<boolean>;
29
- };
30
- };
@@ -1,34 +0,0 @@
1
- import "react";
2
- import e from "prop-types";
3
- import { styled as t } from "@mui/material/styles";
4
- import { jsx as n } from "react/jsx-runtime";
5
- import r from "@mui/material/IconButton";
6
- import i from "@mui/icons-material/Check";
7
- //#region src/done-button.tsx
8
- var a = t(r)(({ theme: e, hideBackground: t }) => ({
9
- verticalAlign: "top",
10
- width: "28px",
11
- height: "28px",
12
- color: "#00bb00",
13
- ...t && {
14
- backgroundColor: e.palette.common.white,
15
- "&:hover": { backgroundColor: e.palette.grey[200] }
16
- },
17
- "& .MuiIconButton-label": {
18
- position: "absolute",
19
- top: "2px"
20
- }
21
- })), o = ({ onClick: e, hideBackground: t }) => /* @__PURE__ */ n(a, {
22
- "aria-label": "Done",
23
- onClick: e,
24
- hideBackground: t,
25
- size: "large",
26
- children: /* @__PURE__ */ n(i, {})
27
- });
28
- o.propTypes = {
29
- onClick: e.func,
30
- hideBackground: e.bool
31
- };
32
- var s = o;
33
- //#endregion
34
- export { s as DoneButton };
@@ -1,47 +0,0 @@
1
- /**
2
- * @synced-from pie-lib/packages/math-toolbar/src/editor-and-pad.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- import PropTypes from 'prop-types';
11
- export declare class EditorAndPad extends React.Component {
12
- static propTypes: {
13
- classNames: PropTypes.Requireable<object>;
14
- keypadMode: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
15
- autoFocus: PropTypes.Requireable<boolean>;
16
- allowAnswerBlock: PropTypes.Requireable<boolean>;
17
- showKeypad: PropTypes.Requireable<boolean>;
18
- controlledKeypad: PropTypes.Requireable<boolean>;
19
- controlledKeypadMode: PropTypes.Requireable<boolean>;
20
- error: PropTypes.Requireable<string>;
21
- noDecimal: PropTypes.Requireable<boolean>;
22
- hideInput: PropTypes.Requireable<boolean>;
23
- noLatexHandling: PropTypes.Requireable<boolean>;
24
- layoutForKeyPad: PropTypes.Requireable<object>;
25
- maxResponseAreas: PropTypes.Requireable<number>;
26
- additionalKeys: PropTypes.Requireable<any[]>;
27
- latex: PropTypes.Validator<string>;
28
- onAnswerBlockAdd: PropTypes.Requireable<(...args: any[]) => any>;
29
- onFocus: PropTypes.Requireable<(...args: any[]) => any>;
30
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
31
- onChange: PropTypes.Validator<(...args: any[]) => any>;
32
- setKeypadInteraction: PropTypes.Requireable<(...args: any[]) => any>;
33
- };
34
- constructor(props: any);
35
- componentDidMount(): void;
36
- onClick: any;
37
- updateDisable: any;
38
- onAnswerBlockClick: any;
39
- onEditorChange: any;
40
- /** Only render if the mathquill instance's latex is different
41
- * or the keypad state changed from one state to the other (shown / hidden) */
42
- shouldComponentUpdate(nextProps: any, nextState: any): boolean;
43
- onEditorTypeChange: any;
44
- checkResponseAreasNumber: any;
45
- render(): React.JSX.Element;
46
- }
47
- export default EditorAndPad;
@@ -1,352 +0,0 @@
1
- import { markFractionBaseSuperscripts as e } from "./utils.js";
2
- import t from "react";
3
- import n from "prop-types";
4
- import r from "debug";
5
- import i from "@mui/material/Button";
6
- import { styled as a } from "@mui/material/styles";
7
- import o from "@mui/material/MenuItem";
8
- import s from "@mui/material/Select";
9
- import { isEqual as c } from "@pie-element/shared-lodash";
10
- import l from "@mui/material/FormControl";
11
- import u from "@mui/material/InputLabel";
12
- import { HorizontalKeypad as d, mq as f, updateSpans as p } from "@pie-lib/math-input";
13
- import { color as m } from "@pie-lib/render-ui";
14
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
15
- //#region src/editor-and-pad.tsx
16
- var { commonMqFontStyles: _, commonMqKeyboardStyles: v, longdivStyles: y, supsubStyles: b } = f.CommonMqStyles, x = r("@pie-lib:math-toolbar:editor-and-pad"), S = /\.|,/g, C = a("div")(({ theme: e }) => ({
17
- zIndex: 9,
18
- position: "relative",
19
- textAlign: "center",
20
- width: "auto",
21
- "& > .mq-math-mode": { border: "solid 1px lightgrey" },
22
- "& > .mq-focused": {
23
- outline: "none",
24
- boxShadow: "none",
25
- border: `dotted 1px ${e.palette.primary.main}`,
26
- borderRadius: "0px"
27
- },
28
- "& .mq-overarrow-inner": {
29
- border: "none !important",
30
- paddingTop: "0 !important"
31
- },
32
- "& .mq-overarrow-inner-right": { display: "none !important" },
33
- "& .mq-overarrow-inner-left": { display: "none !important" },
34
- "& .mq-longdiv-inner": {
35
- borderTop: "1px solid !important",
36
- paddingTop: "1.5px !important"
37
- },
38
- "& .mq-overarrow.mq-arrow-both": {
39
- top: "7.8px",
40
- marginTop: "0px",
41
- minWidth: "1.23em"
42
- },
43
- "& .mq-parallelogram": { lineHeight: .85 }
44
- })), w = a("div")(({ theme: e, hide: t }) => ({
45
- display: t ? "none" : "flex",
46
- alignItems: "center",
47
- "& .mq-editable-field .mq-cursor": { top: "-4px" },
48
- "& .mq-math-mode .mq-selection, .mq-editable-field .mq-selection": { paddingTop: "18px" },
49
- "& .mq-math-mode .mq-overarrow": { fontFamily: "Roboto, Helvetica, Arial, sans-serif !important" },
50
- "& .mq-math-mode .mq-overline .mq-overline-inner": { paddingTop: "0.4em !important" },
51
- "& .mq-overarrow.mq-arrow-both": {
52
- minWidth: "1.23em",
53
- "& *": { lineHeight: "1 !important" },
54
- "&:before": {
55
- top: "-0.45em",
56
- left: "-1px"
57
- },
58
- "&:after": {
59
- position: "absolute !important",
60
- top: "0px !important",
61
- right: "-2px"
62
- },
63
- "&.mq-empty:after": { top: "-0.45em" }
64
- },
65
- "& .mq-overarrow.mq-arrow-right": { "&:before": {
66
- top: "-0.4em",
67
- right: "-1px"
68
- } },
69
- "& *": {
70
- ..._,
71
- ...b,
72
- ...y,
73
- "& .mq-math-mode .mq-sqrt-prefix": {
74
- verticalAlign: "baseline !important",
75
- top: "1px !important",
76
- left: "-0.1em !important"
77
- },
78
- "& .mq-math-mode .mq-overarc ": { paddingTop: "0.45em !important" },
79
- "& .mq-math-mode .mq-empty": { padding: "9px 1px !important" },
80
- "& .mq-math-mode .mq-root-block": { paddingTop: "10px" },
81
- "& .mq-scaled .mq-sqrt-prefix": { top: "0 !important" },
82
- "& .mq-math-mode .mq-longdiv .mq-longdiv-inner": {
83
- marginLeft: "4px !important",
84
- paddingTop: "6px !important",
85
- paddingLeft: "6px !important"
86
- },
87
- "& .mq-math-mode .mq-paren": {
88
- verticalAlign: "top !important",
89
- padding: "1px 0.1em !important"
90
- },
91
- "& .mq-math-mode .mq-sqrt-stem": {
92
- borderTop: "0.07em solid",
93
- marginLeft: "-1.5px",
94
- marginTop: "-2px !important",
95
- paddingTop: "5px !important"
96
- },
97
- "& .mq-math-mode .mq-denominator": {
98
- marginTop: "-5px !important",
99
- padding: "0.5em 0.1em 0.1em !important"
100
- },
101
- "& .mq-math-mode .mq-numerator, .mq-math-mode .mq-over": {
102
- padding: "0 0.1em !important",
103
- paddingBottom: "0 !important",
104
- marginBottom: "-2px"
105
- }
106
- },
107
- "& span[data-prime=\"true\"]": { fontFamily: "Roboto, Helvetica, Arial, sans-serif !important" }
108
- })), T = a(l)({
109
- flex: "initial",
110
- width: "25%",
111
- minWidth: "100px",
112
- marginLeft: "15px",
113
- marginTop: "5px",
114
- marginBottom: "5px",
115
- marginRight: "5px",
116
- "& label": { fontFamily: "Roboto, Helvetica, Arial, sans-serif !important" },
117
- "& div": { fontFamily: "Roboto, Helvetica, Arial, sans-serif !important" }
118
- }), E = a(u)(() => ({ backgroundColor: "transparent" })), D = a("div")(({ theme: e, error: t }) => ({
119
- minWidth: "500px",
120
- maxWidth: "900px",
121
- minHeight: "30px",
122
- width: "100%",
123
- display: "flex",
124
- marginTop: e.spacing(1),
125
- marginBottom: e.spacing(1),
126
- ...t && { border: "2px solid red" },
127
- "& .mq-sqrt-prefix .mq-scaled": { verticalAlign: "middle !important" }
128
- })), O = a(f.Input)(({ controlledKeypadMode: e }) => ({
129
- maxWidth: e ? "400px" : "500px",
130
- color: m.text(),
131
- backgroundColor: m.background(),
132
- padding: "2px"
133
- })), k = a(i)({
134
- position: "absolute",
135
- right: "12px",
136
- border: "1px solid lightgrey",
137
- color: m.text()
138
- }), A = a("hr")(({ theme: e }) => ({
139
- padding: 0,
140
- margin: 0,
141
- height: "1px",
142
- border: "none",
143
- borderBottom: `solid 1px ${e.palette.primary.main}`
144
- })), j = a(d)(({ mode: e }) => ({
145
- ...v,
146
- ...e === "language" && { "& *": { fontFamily: "Roboto, Helvetica, Arial, sans-serif !important" } }
147
- })), M = (e) => {
148
- if (!e) return;
149
- let { type: t, value: n } = e;
150
- return t === "command" || t === "cursor" ? e : t === "answer" ? {
151
- type: "answer",
152
- ...e
153
- } : n === "clear" ? { type: "clear" } : {
154
- type: "write",
155
- value: n
156
- };
157
- }, N = class extends t.Component {
158
- static propTypes = {
159
- classNames: n.object,
160
- keypadMode: n.oneOfType([n.string, n.number]),
161
- autoFocus: n.bool,
162
- allowAnswerBlock: n.bool,
163
- showKeypad: n.bool,
164
- controlledKeypad: n.bool,
165
- controlledKeypadMode: n.bool,
166
- error: n.string,
167
- noDecimal: n.bool,
168
- hideInput: n.bool,
169
- noLatexHandling: n.bool,
170
- layoutForKeyPad: n.object,
171
- maxResponseAreas: n.number,
172
- additionalKeys: n.array,
173
- latex: n.string.isRequired,
174
- onAnswerBlockAdd: n.func,
175
- onFocus: n.func,
176
- onBlur: n.func,
177
- onChange: n.func.isRequired,
178
- setKeypadInteraction: n.func
179
- };
180
- constructor(e) {
181
- super(e), this.state = {
182
- equationEditor: "item-authoring",
183
- addDisabled: !1
184
- };
185
- }
186
- componentDidMount() {
187
- this.input && this.props.autoFocus && this.input.focus();
188
- }
189
- onClick = (e) => {
190
- let { noDecimal: t, noLatexHandling: n, onChange: r } = this.props, i = M(e);
191
- if (x("mathChange: ", i), n) {
192
- r(i.value);
193
- return;
194
- }
195
- t && (i.value === "." || i.value === ",") || i && (i.type === "clear" ? (x("call clear..."), this.input.clear()) : i.type === "command" ? this.input.command(i.value) : i.type === "cursor" ? this.input.keystroke(i.value) : i.type === "answer" ? this.input.write("%response%") : this.input.write(i.value));
196
- };
197
- updateDisable = (e) => {
198
- let { maxResponseAreas: t } = this.props;
199
- if (t) {
200
- let n = this.checkResponseAreasNumber(t, e);
201
- this.setState({ addDisabled: n });
202
- }
203
- };
204
- onAnswerBlockClick = () => {
205
- this.props.onAnswerBlockAdd(), this.onClick({ type: "answer" }), this.updateDisable(!0);
206
- };
207
- onEditorChange = (t) => {
208
- let { onChange: n, noDecimal: r } = this.props;
209
- if (p(), e(), this.updateDisable(!0), r && (t.indexOf(".") !== -1 || t.indexOf(",") !== -1) && this.input) {
210
- this.input.clear(), this.input.write(t.replace(S, ""));
211
- return;
212
- }
213
- let i = t.match(/[0-9]\\ \\frac\{[^\{]*\}\{ \}/);
214
- if (this.input && i && i?.length) {
215
- try {
216
- this.input.mathField.__controller.cursor.insLeftOf(this.input.mathField.__controller.cursor.parent[-1].parent), this.input.mathField.el().dispatchEvent(new KeyboardEvent("keydown", { keyCode: 8 }));
217
- } catch (e) {
218
- console.error(e.toString());
219
- }
220
- return;
221
- }
222
- n(t);
223
- };
224
- shouldComponentUpdate(e, t) {
225
- let n = this.input.mathField.latex() !== e.latex;
226
- return x("[shouldComponentUpdate] ", "inputIsDifferent: ", n), !c(this.props.error, e.error) || !n && this.props.keypadMode !== e.keypadMode || !n && this.props.noDecimal !== e.noDecimal || !n && this.state.equationEditor !== t.equationEditor ? !0 : !n && this.props.controlledKeypad ? this.props.showKeypad !== e.showKeypad : n;
227
- }
228
- onEditorTypeChange = (e) => {
229
- this.setState({ equationEditor: e.target.value });
230
- };
231
- checkResponseAreasNumber = (e, t) => {
232
- let { latex: n } = this.input && this.input.props || {};
233
- if (n) {
234
- let r = (n.match(/answerBlock/g) || []).length;
235
- return t ? r === e - 1 : r === e;
236
- }
237
- return !1;
238
- };
239
- render() {
240
- let { classNames: e, keypadMode: t, allowAnswerBlock: n, additionalKeys: r, controlledKeypad: i, controlledKeypadMode: a, showKeypad: c, setKeypadInteraction: l, noDecimal: u, hideInput: d, layoutForKeyPad: f, latex: p, onFocus: m, onBlur: _, error: v } = this.props, y = !i || i && c, { addDisabled: b } = this.state;
241
- return x("[render]", p), /* @__PURE__ */ g(C, {
242
- className: e.mathToolbar,
243
- children: [
244
- /* @__PURE__ */ g(w, {
245
- hide: d,
246
- children: [a && /* @__PURE__ */ g(T, {
247
- variant: "standard",
248
- children: [/* @__PURE__ */ h(E, {
249
- id: "equation-editor-label",
250
- children: "Equation Editor"
251
- }), /* @__PURE__ */ g(s, {
252
- labelId: "equation-editor-label",
253
- id: "equation-editor-select",
254
- name: "equationEditor",
255
- label: "Equation Editor",
256
- onChange: this.onEditorTypeChange,
257
- value: this.state.equationEditor,
258
- MenuProps: { transitionDuration: {
259
- enter: 225,
260
- exit: 195
261
- } },
262
- children: [
263
- /* @__PURE__ */ h(o, {
264
- value: "non-negative-integers",
265
- children: "Numeric - Non-Negative Integers"
266
- }),
267
- /* @__PURE__ */ h(o, {
268
- value: "integers",
269
- children: "Numeric - Integers"
270
- }),
271
- /* @__PURE__ */ h(o, {
272
- value: "decimals",
273
- children: "Numeric - Decimals"
274
- }),
275
- /* @__PURE__ */ h(o, {
276
- value: "fractions",
277
- children: "Numeric - Fractions"
278
- }),
279
- /* @__PURE__ */ h(o, {
280
- value: 1,
281
- children: "Grade 1 - 2"
282
- }),
283
- /* @__PURE__ */ h(o, {
284
- value: 3,
285
- children: "Grade 3 - 5"
286
- }),
287
- /* @__PURE__ */ h(o, {
288
- value: 6,
289
- children: "Grade 6 - 7"
290
- }),
291
- /* @__PURE__ */ h(o, {
292
- value: 8,
293
- children: "Grade 8 - HS"
294
- }),
295
- /* @__PURE__ */ h(o, {
296
- value: "geometry",
297
- children: "Geometry"
298
- }),
299
- /* @__PURE__ */ h(o, {
300
- value: "advanced-algebra",
301
- children: "Advanced Algebra"
302
- }),
303
- /* @__PURE__ */ h(o, {
304
- value: "statistics",
305
- children: "Statistics"
306
- }),
307
- /* @__PURE__ */ h(o, {
308
- value: "item-authoring",
309
- children: "Item Authoring"
310
- })
311
- ]
312
- })]
313
- }), /* @__PURE__ */ h(D, {
314
- error: v,
315
- children: /* @__PURE__ */ h(O, {
316
- onFocus: () => {
317
- m && m(), this.updateDisable(!1);
318
- },
319
- onBlur: (e) => {
320
- this.updateDisable(!1), _ && _(e);
321
- },
322
- className: e && e.editor || "",
323
- controlledKeypadMode: a,
324
- ref: (e) => this.input = e,
325
- latex: p,
326
- onChange: this.onEditorChange
327
- })
328
- })]
329
- }),
330
- n && /* @__PURE__ */ h(k, {
331
- type: "primary",
332
- style: { bottom: y ? "320px" : "20px" },
333
- onClick: this.onAnswerBlockClick,
334
- disabled: b,
335
- children: "+ Response Area"
336
- }),
337
- /* @__PURE__ */ h(A, {}),
338
- y && /* @__PURE__ */ h(j, {
339
- mode: a ? this.state.equationEditor : t,
340
- controlledKeypadMode: a,
341
- layoutForKeyPad: f,
342
- additionalKeys: r,
343
- onClick: this.onClick,
344
- noDecimal: u,
345
- setKeypadInteraction: l
346
- })
347
- ]
348
- });
349
- }
350
- };
351
- //#endregion
352
- export { N as default };