@pie-element/math-inline 12.1.1-next.147 → 12.1.1-next.16

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.
Files changed (101) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/configure.d.ts +25 -0
  4. package/dist/author/configure.js +114 -0
  5. package/dist/author/defaults.d.ts +186 -0
  6. package/dist/author/defaults.js +145 -0
  7. package/dist/author/general-config-block.d.ts +35 -0
  8. package/dist/author/general-config-block.js +390 -0
  9. package/dist/author/index.d.ts +61 -0
  10. package/dist/author/index.js +80 -0
  11. package/dist/author/response.d.ts +40 -0
  12. package/dist/author/response.js +238 -0
  13. package/dist/author/utils.d.ts +14 -0
  14. package/dist/author/utils.js +13 -0
  15. package/dist/browser/author/index.js +35601 -0
  16. package/dist/browser/author/index.js.map +1 -0
  17. package/dist/browser/controller/index.js +37791 -0
  18. package/dist/browser/controller/index.js.map +1 -0
  19. package/dist/browser/delivery/index.js +84 -0
  20. package/dist/browser/delivery/index.js.map +1 -0
  21. package/dist/browser/dist--pvq7WNe.js +324 -0
  22. package/dist/browser/dist--pvq7WNe.js.map +1 -0
  23. package/dist/browser/dist-D8taXDhz.js +16748 -0
  24. package/dist/browser/dist-D8taXDhz.js.map +1 -0
  25. package/dist/browser/dist-DiGNNRzu.js +1426 -0
  26. package/dist/browser/dist-DiGNNRzu.js.map +1 -0
  27. package/dist/browser/main-AjqUtC75.js +973 -0
  28. package/dist/browser/main-AjqUtC75.js.map +1 -0
  29. package/dist/browser/math-inline.css +2 -0
  30. package/dist/browser/print/index.js +50 -0
  31. package/dist/browser/print/index.js.map +1 -0
  32. package/dist/controller/defaults.d.ts +44 -0
  33. package/dist/controller/defaults.js +39 -0
  34. package/dist/controller/index.d.ts +22 -0
  35. package/dist/controller/index.js +171 -0
  36. package/dist/controller/utils.d.ts +12 -0
  37. package/dist/controller/utils.js +7 -0
  38. package/dist/delivery/index.d.ts +22 -0
  39. package/dist/delivery/index.js +55 -0
  40. package/dist/delivery/main.d.ts +44 -0
  41. package/dist/delivery/main.js +606 -0
  42. package/dist/delivery/simple-question-block.d.ts +27 -0
  43. package/dist/delivery/simple-question-block.js +94 -0
  44. package/dist/delivery/utils.d.ts +12 -0
  45. package/dist/delivery/utils.js +7 -0
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.iife.d.ts +8 -0
  48. package/dist/index.iife.js +224 -0
  49. package/dist/index.js +2 -0
  50. package/dist/math-inline.css +2 -0
  51. package/dist/print/index.d.ts +15 -0
  52. package/dist/print/index.js +50 -0
  53. package/dist/runtime-support.d.ts +12 -0
  54. package/dist/runtime-support.js +12 -0
  55. package/package.json +98 -25
  56. package/CHANGELOG.json +0 -2627
  57. package/CHANGELOG.md +0 -2473
  58. package/LICENSE.md +0 -5
  59. package/README.md +0 -3
  60. package/configure/CHANGELOG.json +0 -1652
  61. package/configure/CHANGELOG.md +0 -2101
  62. package/configure/lib/configure.js +0 -186
  63. package/configure/lib/configure.js.map +0 -1
  64. package/configure/lib/defaults.js +0 -185
  65. package/configure/lib/defaults.js.map +0 -1
  66. package/configure/lib/general-config-block.js +0 -525
  67. package/configure/lib/general-config-block.js.map +0 -1
  68. package/configure/lib/index.js +0 -140
  69. package/configure/lib/index.js.map +0 -1
  70. package/configure/lib/response.js +0 -369
  71. package/configure/lib/response.js.map +0 -1
  72. package/configure/lib/utils.js +0 -31
  73. package/configure/lib/utils.js.map +0 -1
  74. package/configure/package.json +0 -29
  75. package/controller/CHANGELOG.json +0 -1002
  76. package/controller/CHANGELOG.md +0 -1536
  77. package/controller/lib/defaults.js +0 -43
  78. package/controller/lib/defaults.js.map +0 -1
  79. package/controller/lib/index.js +0 -383
  80. package/controller/lib/index.js.map +0 -1
  81. package/controller/lib/utils.js +0 -11
  82. package/controller/lib/utils.js.map +0 -1
  83. package/controller/package.json +0 -26
  84. package/docs/config-schema.json +0 -2071
  85. package/docs/config-schema.json.md +0 -1533
  86. package/docs/demo/config.js +0 -8
  87. package/docs/demo/generate.js +0 -41
  88. package/docs/demo/index.html +0 -1
  89. package/docs/demo/session.js +0 -11
  90. package/docs/pie-schema.json +0 -1472
  91. package/docs/pie-schema.json.md +0 -845
  92. package/lib/index.js +0 -94
  93. package/lib/index.js.map +0 -1
  94. package/lib/main.js +0 -1030
  95. package/lib/main.js.map +0 -1
  96. package/lib/print.js +0 -92
  97. package/lib/print.js.map +0 -1
  98. package/lib/simple-question-block.js +0 -148
  99. package/lib/simple-question-block.js.map +0 -1
  100. package/lib/utils.js +0 -11
  101. package/lib/utils.js.map +0 -1
@@ -0,0 +1,238 @@
1
+ import * as e from "react";
2
+ import t from "prop-types";
3
+ import { color as n } from "@pie-lib/render-ui";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import { styled as a } from "@mui/material/styles";
6
+ import { MathToolbar as o } from "@pie-lib/math-toolbar";
7
+ import { InputContainer as s } from "@pie-lib/config-ui";
8
+ import c from "@mui/material/InputLabel";
9
+ import l from "@mui/material/Select";
10
+ import u from "@mui/material/MenuItem";
11
+ import d from "@mui/material/Card";
12
+ import f from "@mui/material/CardContent";
13
+ import p from "@mui/material/Button";
14
+ import m from "@mui/material/FormControlLabel";
15
+ import h from "@mui/material/Typography";
16
+ import g from "@mui/material/Checkbox";
17
+ //#region src/author/response.tsx
18
+ var _ = a(d)(({ theme: e }) => ({
19
+ marginBottom: e.spacing(2.5),
20
+ width: "100%",
21
+ minWidth: "548px",
22
+ border: `1px solid ${n.borderDark()}`,
23
+ display: "flex",
24
+ flexDirection: "column",
25
+ justifyContent: "space-between",
26
+ ".response-editor": {
27
+ display: "flex",
28
+ alignItems: "center",
29
+ justifyContent: "center",
30
+ width: "100%",
31
+ minWidth: "500px",
32
+ maxWidth: "900px",
33
+ height: "auto",
34
+ minHeight: "40px !important"
35
+ },
36
+ ".math-toolbar": {
37
+ width: "100%",
38
+ maxWidth: "900px"
39
+ }
40
+ })), v = a(f)(({ theme: e }) => ({ paddingBottom: `${e.spacing(2)} !important` })), y = a(h)({
41
+ fontWeight: 700,
42
+ fontSize: "1.2rem",
43
+ flex: 3
44
+ }), b = a(s)(({ theme: e }) => ({
45
+ flex: 2,
46
+ "& > *:not(label)": { marginTop: e.spacing(1) }
47
+ })), x = a("div")(({ theme: e }) => ({ marginBottom: e.spacing(2) })), S = a("div")({
48
+ display: "flex",
49
+ alignItems: "center",
50
+ justifyContent: "space-between"
51
+ }), C = a("div")({ display: "flex" }), w = a("div")({
52
+ display: "flex",
53
+ alignItems: "center",
54
+ justifyContent: "flex-start"
55
+ }), T = a("div")(({ theme: e }) => ({
56
+ fontSize: e.typography.fontSize - 2,
57
+ color: e.palette.error.main,
58
+ paddingTop: e.spacing(1)
59
+ })), E = a(g)({ color: `${n.tertiary()} !important` }), D = a(p)(() => ({
60
+ border: `1px solid ${n.border()}`,
61
+ color: n.text()
62
+ })), O = a(p)(({ theme: e }) => ({
63
+ marginLeft: e.spacing(2),
64
+ border: `1px solid ${n.border()}`,
65
+ color: n.disabled(),
66
+ fontSize: "0.8rem"
67
+ })), k = class extends e.Component {
68
+ static propTypes = {
69
+ defaultResponse: t.bool,
70
+ error: t.object,
71
+ mode: t.oneOfType([t.string, t.number]),
72
+ index: t.number,
73
+ onResponseChange: t.func.isRequired,
74
+ response: t.object.isRequired,
75
+ cIgnoreOrder: t.object.isRequired,
76
+ cAllowTrailingZeros: t.object.isRequired
77
+ };
78
+ static defaultProps = {
79
+ defaultResponse: !1,
80
+ mode: "miscellaneous"
81
+ };
82
+ constructor(e) {
83
+ super(e);
84
+ let { response: { alternates: t } = {} } = e || {}, n = Object.keys(t || {}).length;
85
+ this.state = {
86
+ alternateIdCounter: n + 1,
87
+ showKeypad: {
88
+ openCount: 0,
89
+ main: !1
90
+ }
91
+ };
92
+ }
93
+ onChange = (e) => (t) => {
94
+ let { response: n, onResponseChange: r, index: i } = this.props, a = { ...n };
95
+ a[e] = t.target.value, r(a, i);
96
+ };
97
+ onConfigChanged = (e) => (t) => {
98
+ let { response: n, onResponseChange: r, index: i } = this.props, a = { ...n };
99
+ a[e] = t.target.checked, r(a, i);
100
+ };
101
+ onLiteralOptionsChange = (e) => () => {
102
+ let { response: t, onResponseChange: n, index: r } = this.props, i = { ...t };
103
+ i[e] = !t[e], n(i, r);
104
+ };
105
+ onAnswerChange = (e) => {
106
+ let { response: t, onResponseChange: n, index: r } = this.props, i = { ...t };
107
+ i.answer = e, n(i, r);
108
+ };
109
+ onAlternateAnswerChange = (e) => (t) => {
110
+ let { response: n, onResponseChange: r, index: i } = this.props, a = { ...n };
111
+ a.alternates[e] = t, r(a, i);
112
+ };
113
+ onAddAlternate = () => {
114
+ let { response: e, onResponseChange: t, index: n } = this.props, { alternateIdCounter: r } = this.state, i = { ...e };
115
+ i.alternates ||= {}, i.alternates[r] = "", t(i, n), this.setState({ alternateIdCounter: r + 1 });
116
+ };
117
+ onRemoveAlternate = (e) => () => {
118
+ let { response: t, onResponseChange: n, index: r } = this.props, i = { ...t };
119
+ delete i.alternates[e], n(i, r), this.setState((t) => ({ showKeypad: {
120
+ ...t.showKeypad,
121
+ openCount: t.showKeypad[e] ? t.showKeypad.openCount - 1 : t.showKeypad.openCount
122
+ } }));
123
+ };
124
+ onDone = () => {
125
+ this.setState((e) => ({ showKeypad: {
126
+ ...e.showKeypad,
127
+ openCount: e.showKeypad.openCount - 1,
128
+ main: !1
129
+ } }));
130
+ };
131
+ onFocus = () => {
132
+ this.setState((e) => ({ showKeypad: {
133
+ ...e.showKeypad,
134
+ openCount: e.showKeypad.main ? e.showKeypad.openCount : e.showKeypad.openCount + 1,
135
+ main: !0
136
+ } }));
137
+ };
138
+ onAlternateFocus = (e) => () => {
139
+ this.setState((t) => ({ showKeypad: {
140
+ ...t.showKeypad,
141
+ openCount: t.showKeypad[e] ? t.showKeypad.openCount : t.showKeypad.openCount + 1,
142
+ [e]: !0
143
+ } }));
144
+ };
145
+ onAlternateDone = (e) => () => {
146
+ this.setState((t) => ({ showKeypad: {
147
+ ...t.showKeypad,
148
+ openCount: t.showKeypad.openCount - 1,
149
+ [e]: !1
150
+ } }));
151
+ };
152
+ render() {
153
+ let { mode: e, defaultResponse: t, index: n, response: a, cAllowTrailingZeros: s, cIgnoreOrder: d, error: f } = this.props, { showKeypad: p } = this.state, { validation: h, answer: g, alternates: k, ignoreOrder: A, allowTrailingZeros: j } = a, M = Object.keys(k || {}).length > 0, N = {
154
+ editor: "response-editor",
155
+ mathToolbar: "math-toolbar"
156
+ };
157
+ return /* @__PURE__ */ r(_, {
158
+ style: { minHeight: `${p.openCount > 0 ? 430 : 230}px` },
159
+ children: /* @__PURE__ */ i(v, { children: [
160
+ /* @__PURE__ */ i(S, { children: [/* @__PURE__ */ i(y, {
161
+ component: "div",
162
+ children: ["Response ", ""]
163
+ }), /* @__PURE__ */ r(b, {
164
+ label: "Validation",
165
+ children: /* @__PURE__ */ i(l, {
166
+ onChange: this.onChange("validation"),
167
+ value: h || "literal",
168
+ MenuProps: { transitionDuration: {
169
+ enter: 225,
170
+ exit: 195
171
+ } },
172
+ children: [/* @__PURE__ */ r(u, {
173
+ value: "literal",
174
+ children: "Literal Validation"
175
+ }), /* @__PURE__ */ r(u, {
176
+ value: "symbolic",
177
+ children: "Symbolic Validation"
178
+ })]
179
+ })
180
+ })] }),
181
+ h === "literal" && /* @__PURE__ */ i(C, { children: [s.enabled && /* @__PURE__ */ r(m, {
182
+ label: s.label,
183
+ control: /* @__PURE__ */ r(E, {
184
+ checked: j,
185
+ onChange: this.onLiteralOptionsChange("allowTrailingZeros")
186
+ })
187
+ }), d.enabled && /* @__PURE__ */ r(m, {
188
+ label: d.label,
189
+ control: /* @__PURE__ */ r(E, {
190
+ checked: A,
191
+ onChange: this.onLiteralOptionsChange("ignoreOrder")
192
+ })
193
+ })] }),
194
+ /* @__PURE__ */ i(x, { children: [
195
+ /* @__PURE__ */ r(c, { children: "Correct Answer" }),
196
+ /* @__PURE__ */ r(o, {
197
+ keypadMode: e,
198
+ classNames: N,
199
+ controlledKeypad: !0,
200
+ showKeypad: p.main,
201
+ latex: g || "",
202
+ onChange: this.onAnswerChange,
203
+ onFocus: this.onFocus,
204
+ onDone: this.onDone,
205
+ error: f && f.answer
206
+ }),
207
+ f && f.answer ? /* @__PURE__ */ r(T, { children: f.answer }) : null
208
+ ] }),
209
+ M && Object.keys(k).map((t, n) => /* @__PURE__ */ i(x, { children: [
210
+ /* @__PURE__ */ i(w, { children: [/* @__PURE__ */ i(c, { children: ["Alternate", Object.keys(k).length > 1 ? ` ${n + 1}` : ""] }), /* @__PURE__ */ r(O, {
211
+ type: "secondary",
212
+ onClick: this.onRemoveAlternate(t),
213
+ children: "Remove"
214
+ })] }),
215
+ /* @__PURE__ */ r(o, {
216
+ classNames: N,
217
+ controlledKeypad: !0,
218
+ keypadMode: e,
219
+ showKeypad: p[t] || !1,
220
+ latex: k[t] || "",
221
+ onChange: this.onAlternateAnswerChange(t),
222
+ onFocus: this.onAlternateFocus(t),
223
+ onDone: this.onAlternateDone(t),
224
+ error: f && f[t]
225
+ }),
226
+ f && f[t] ? /* @__PURE__ */ r(T, { children: f[t] }) : null
227
+ ] }, t)),
228
+ /* @__PURE__ */ r(D, {
229
+ type: "primary",
230
+ onClick: this.onAddAlternate,
231
+ children: "ADD ALTERNATE"
232
+ })
233
+ ] })
234
+ });
235
+ }
236
+ };
237
+ //#endregion
238
+ export { k as default };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/math-inline/configure/src/utils.js
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
+ export declare const ResponseTypes: {
10
+ advanced: string;
11
+ simple: string;
12
+ };
13
+ export declare const generateValidationMessage: (model?: {}, config?: {}) => string;
14
+ export declare const getPluginProps: (props?: {}, baseInputConfiguration?: {}) => {};
@@ -0,0 +1,13 @@
1
+ //#region src/author/utils.ts
2
+ var e = {
3
+ advanced: "Advanced Multi",
4
+ simple: "Simple"
5
+ }, t = (e = {}, t = {}) => {
6
+ let { maxResponseAreas: n } = t, { responseType: r } = e, i = "";
7
+ return r === "Advanced Multi" && (i = "\nThere should be at least 1 " + (n ? `and at most ${n} ` : "") + "response area" + (n ? "s" : "") + " defined."), "Validation requirements:\nAll correct answers (the primary and any alternates) should not be empty and should be unique." + i;
8
+ }, n = (e = {}, t = {}) => ({
9
+ ...t,
10
+ ...e
11
+ });
12
+ //#endregion
13
+ export { e as ResponseTypes, t as generateValidationMessage, n as getPluginProps };