@pie-element/drag-in-the-blank 10.2.0-beta.0 → 10.2.0-next.18

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 (95) hide show
  1. package/author.js +2 -0
  2. package/configure.js +2 -0
  3. package/controller.js +1 -0
  4. package/dist/author/choice.d.ts +22 -0
  5. package/dist/author/choice.js +89 -0
  6. package/dist/author/choices.d.ts +41 -0
  7. package/dist/author/choices.js +175 -0
  8. package/dist/author/defaults.d.ts +171 -0
  9. package/dist/author/defaults.js +123 -0
  10. package/dist/author/index.d.ts +43 -0
  11. package/dist/author/index.js +95 -0
  12. package/dist/author/main.d.ts +36 -0
  13. package/dist/author/main.js +301 -0
  14. package/dist/author/markupUtils.d.ts +17 -0
  15. package/dist/author/markupUtils.js +38 -0
  16. package/dist/author/utils.d.ts +9 -0
  17. package/dist/author/utils.js +7 -0
  18. package/dist/browser/assets/Symbola-4c507403.woff2 +0 -0
  19. package/dist/browser/author/index.js +34963 -0
  20. package/dist/browser/author/index.js.map +1 -0
  21. package/dist/browser/controller/index.js +176 -0
  22. package/dist/browser/controller/index.js.map +1 -0
  23. package/dist/browser/delivery/index.js +3673 -0
  24. package/dist/browser/delivery/index.js.map +1 -0
  25. package/dist/browser/dist-CqufoV2m.js +125 -0
  26. package/dist/browser/dist-CqufoV2m.js.map +1 -0
  27. package/dist/browser/drag-provider-oO_3Bb5T.js +10902 -0
  28. package/dist/browser/drag-provider-oO_3Bb5T.js.map +1 -0
  29. package/dist/browser/rolldown-runtime-CWhphoD1.js +32 -0
  30. package/dist/controller/defaults.d.ts +26 -0
  31. package/dist/controller/defaults.js +20 -0
  32. package/dist/controller/index.d.ts +41 -0
  33. package/dist/controller/index.js +104 -0
  34. package/dist/controller/utils.d.ts +16 -0
  35. package/dist/controller/utils.js +14 -0
  36. package/dist/delivery/index.d.ts +21 -0
  37. package/dist/delivery/index.js +107 -0
  38. package/dist/delivery/main.d.ts +28 -0
  39. package/dist/delivery/main.js +83 -0
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.iife.d.ts +8 -0
  42. package/dist/index.iife.js +152 -0
  43. package/dist/index.js +2 -0
  44. package/dist/runtime-support.d.ts +12 -0
  45. package/dist/runtime-support.js +12 -0
  46. package/package.json +88 -22
  47. package/CHANGELOG.json +0 -1042
  48. package/CHANGELOG.md +0 -2187
  49. package/LICENSE.md +0 -5
  50. package/README.md +0 -1
  51. package/configure/CHANGELOG.json +0 -652
  52. package/configure/CHANGELOG.md +0 -1887
  53. package/configure/lib/__tests__/choice.test.js +0 -114
  54. package/configure/lib/__tests__/choices.test.js +0 -157
  55. package/configure/lib/__tests__/main.test.js +0 -167
  56. package/configure/lib/__tests__/markupUtils.test.js +0 -105
  57. package/configure/lib/choice.js +0 -137
  58. package/configure/lib/choice.js.map +0 -1
  59. package/configure/lib/choices.js +0 -332
  60. package/configure/lib/choices.js.map +0 -1
  61. package/configure/lib/defaults.js +0 -169
  62. package/configure/lib/defaults.js.map +0 -1
  63. package/configure/lib/index.js +0 -148
  64. package/configure/lib/index.js.map +0 -1
  65. package/configure/lib/main.js +0 -440
  66. package/configure/lib/main.js.map +0 -1
  67. package/configure/lib/markupUtils.js +0 -83
  68. package/configure/lib/markupUtils.js.map +0 -1
  69. package/configure/package.json +0 -25
  70. package/configure/utils.js +0 -17
  71. package/controller/CHANGELOG.json +0 -457
  72. package/controller/CHANGELOG.md +0 -1286
  73. package/controller/lib/__tests__/index.test.js +0 -775
  74. package/controller/lib/defaults.js +0 -24
  75. package/controller/lib/defaults.js.map +0 -1
  76. package/controller/lib/index.js +0 -251
  77. package/controller/lib/index.js.map +0 -1
  78. package/controller/lib/utils.js +0 -39
  79. package/controller/lib/utils.js.map +0 -1
  80. package/controller/package.json +0 -16
  81. package/docs/config-schema.json +0 -2580
  82. package/docs/config-schema.json.md +0 -1905
  83. package/docs/demo/config.js +0 -8
  84. package/docs/demo/generate.js +0 -41
  85. package/docs/demo/index.html +0 -1
  86. package/docs/demo/pie.manifest.json +0 -11
  87. package/docs/demo/session.js +0 -10
  88. package/docs/pie-schema.json +0 -1181
  89. package/docs/pie-schema.json.md +0 -853
  90. package/lib/__tests__/index.test.js +0 -118
  91. package/lib/__tests__/main.test.js +0 -139
  92. package/lib/index.js +0 -207
  93. package/lib/index.js.map +0 -1
  94. package/lib/main.js +0 -126
  95. package/lib/main.js.map +0 -1
package/author.js ADDED
@@ -0,0 +1,2 @@
1
+ export { default } from './dist/author/index.js';
2
+ export * from './dist/author/index.js';
package/configure.js ADDED
@@ -0,0 +1,2 @@
1
+ export { default } from './dist/author/index.js';
2
+ export * from './dist/author/index.js';
package/controller.js ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/controller/index.js';
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drag-in-the-blank/configure/src/choice.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 BlankContent: {
12
+ (props: any): React.JSX.Element;
13
+ propTypes: {
14
+ choice: PropTypes.Validator<object>;
15
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
16
+ onRemoveChoice: PropTypes.Validator<(...args: any[]) => any>;
17
+ error: PropTypes.Requireable<boolean>;
18
+ instanceId: PropTypes.Requireable<string>;
19
+ disabled: PropTypes.Requireable<boolean>;
20
+ };
21
+ };
22
+ export default BlankContent;
@@ -0,0 +1,89 @@
1
+ import { choiceIsEmpty as e } from "./markupUtils.js";
2
+ import "react";
3
+ import { color as t } from "@pie-lib/render-ui";
4
+ import n from "prop-types";
5
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
+ import { styled as a } from "@mui/material/styles";
7
+ import { useDraggable as o } from "@dnd-kit/core";
8
+ import s from "@mui/icons-material/MoreVert";
9
+ import c from "@mui/icons-material/Delete";
10
+ //#region src/author/choice.tsx
11
+ var l = ({ style: e }) => /* @__PURE__ */ i("span", {
12
+ style: e,
13
+ children: [/* @__PURE__ */ r(s, { style: { margin: "0 -16px" } }), /* @__PURE__ */ r(s, {})]
14
+ });
15
+ l.propTypes = { style: n.object };
16
+ var u = a("div", { shouldForwardProp: (e) => !["error", "isDragging"].includes(e) })(({ theme: e, error: n }) => ({
17
+ display: "inline-flex",
18
+ minWidth: "178px",
19
+ minHeight: "36px",
20
+ background: e.palette.common.white,
21
+ boxSizing: "border-box",
22
+ borderRadius: "3px",
23
+ overflow: "hidden",
24
+ position: "relative",
25
+ padding: "8px 35px 8px 35px",
26
+ cursor: "grab",
27
+ border: `1px solid ${n ? "#f44336" : t.border()}`,
28
+ "& img": { display: "flex" },
29
+ "& p": { margin: 0 },
30
+ "& mjx-frac": { fontSize: "120% !important" }
31
+ })), d = a(c)(({ theme: e }) => ({
32
+ position: "absolute",
33
+ top: "6px",
34
+ right: "0",
35
+ color: t.text(),
36
+ zIndex: 2,
37
+ "&:hover": {
38
+ cursor: "pointer",
39
+ color: e.palette.common.black
40
+ }
41
+ })), f = (n) => {
42
+ let { choice: a, onClick: s, onRemoveChoice: c, error: f, instanceId: p, disabled: m } = n, { attributes: h, listeners: g, setNodeRef: _, isDragging: v } = o({
43
+ id: `choice-${a.id}-${p || "default"}`,
44
+ data: {
45
+ type: "drag-in-the-blank-choice",
46
+ id: a.id,
47
+ value: a,
48
+ instanceId: p
49
+ },
50
+ disabled: m || e(a)
51
+ }), y = (t) => {
52
+ if (e(a)) {
53
+ t.preventDefault(), alert("You need to define a value for an answer choice before it can be associated with a response area.");
54
+ return;
55
+ }
56
+ };
57
+ return /* @__PURE__ */ i(u, {
58
+ ref: _,
59
+ error: f,
60
+ isDragging: v,
61
+ onClick: s,
62
+ ...h,
63
+ ...g,
64
+ onDragStart: y,
65
+ children: [
66
+ /* @__PURE__ */ r(l, { style: {
67
+ position: "absolute",
68
+ top: "6px",
69
+ left: "15px",
70
+ color: t.borderGray(),
71
+ zIndex: 2
72
+ } }),
73
+ /* @__PURE__ */ r("span", { dangerouslySetInnerHTML: { __html: a.value } }),
74
+ /* @__PURE__ */ r(d, { onClick: (e) => {
75
+ e.preventDefault(), e.stopPropagation(), c(e);
76
+ } })
77
+ ]
78
+ });
79
+ };
80
+ f.propTypes = {
81
+ choice: n.object.isRequired,
82
+ onClick: n.func,
83
+ onRemoveChoice: n.func.isRequired,
84
+ error: n.bool,
85
+ instanceId: n.string,
86
+ disabled: n.bool
87
+ };
88
+ //#endregion
89
+ export { f as BlankContent, f as default };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drag-in-the-blank/configure/src/choices.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 Choices extends React.Component {
12
+ static propTypes: {
13
+ duplicates: PropTypes.Requireable<boolean>;
14
+ error: PropTypes.Requireable<string>;
15
+ model: PropTypes.Validator<object>;
16
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
17
+ toolbarOpts: PropTypes.Requireable<object>;
18
+ pluginProps: PropTypes.Requireable<object>;
19
+ maxChoices: PropTypes.Requireable<number>;
20
+ uploadSoundSupport: PropTypes.Requireable<object>;
21
+ maxImageWidth: PropTypes.Requireable<number>;
22
+ maxImageHeight: PropTypes.Requireable<number>;
23
+ maxLength: PropTypes.Requireable<number>;
24
+ };
25
+ state: {
26
+ warning: {
27
+ open: boolean;
28
+ };
29
+ };
30
+ preventDone: boolean;
31
+ wrapperRef: React.RefObject<unknown>;
32
+ componentDidUpdate(): void;
33
+ onChoiceChanged: any;
34
+ onChoiceDone: any;
35
+ onChoiceFocus: (id: any) => void;
36
+ onAddChoice: any;
37
+ onChoiceRemove: any;
38
+ getVisibleChoices: any;
39
+ render(): React.JSX.Element;
40
+ }
41
+ export default Choices;
@@ -0,0 +1,175 @@
1
+ import { choiceIsEmpty as e } from "./markupUtils.js";
2
+ import { BlankContent as t } from "./choice.js";
3
+ import n from "react";
4
+ import { renderMath as r } from "@pie-element/shared-math-rendering-mathjax";
5
+ import i from "prop-types";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
+ import { styled as s } from "@mui/material/styles";
8
+ import c from "@pie-lib/editable-html-tip-tap";
9
+ import { AlertDialog as l } from "@pie-lib/config-ui";
10
+ import u from "@mui/material/Button";
11
+ //#region src/author/choices.tsx
12
+ var d = s("div")(({ theme: e }) => ({
13
+ display: "flex",
14
+ flexDirection: "column",
15
+ marginBottom: e.spacing(1.5)
16
+ })), f = s(u)({ marginLeft: "auto" }), p = s("div")(({ theme: e }) => ({
17
+ alignItems: "flex-start",
18
+ display: "flex",
19
+ flexWrap: "wrap",
20
+ justifyContent: "space-evenly",
21
+ marginTop: e.spacing(1),
22
+ "& > *": { margin: e.spacing(1) }
23
+ })), m = s("div")(({ theme: e }) => ({
24
+ fontSize: e.typography.fontSize - 2,
25
+ color: e.palette.error.main,
26
+ paddingBottom: e.spacing(2)
27
+ })), h = class extends n.Component {
28
+ static propTypes = {
29
+ duplicates: i.bool,
30
+ error: i.string,
31
+ model: i.object.isRequired,
32
+ onChange: i.func.isRequired,
33
+ toolbarOpts: i.object,
34
+ pluginProps: i.object,
35
+ maxChoices: i.number,
36
+ uploadSoundSupport: i.object,
37
+ maxImageWidth: i.number,
38
+ maxImageHeight: i.number,
39
+ maxLength: i.number
40
+ };
41
+ state = { warning: { open: !1 } };
42
+ preventDone = !1;
43
+ wrapperRef = n.createRef(null);
44
+ componentDidUpdate() {
45
+ this.focusedNodeRef && this.focusedNodeRef.focus("end"), r(this.wrapperRef.current);
46
+ }
47
+ onChoiceChanged = (t, n, r) => {
48
+ let { onChange: i, model: a } = this.props, { choices: o, correctResponse: s, alternateResponses: c } = a;
49
+ if (e({ value: t }) && e({ value: n })) return;
50
+ if ((o || []).find((e) => e.value === n && e.id !== r)) {
51
+ t === "" && i((o || []).filter((e) => e.id !== r)), this.setState({ warning: {
52
+ open: !0,
53
+ text: "Identical answer choices are not allowed and the changes will be discarded."
54
+ } });
55
+ return;
56
+ }
57
+ let l = o?.map((e) => e.id === r ? {
58
+ ...e,
59
+ value: n
60
+ } : e) || [];
61
+ if (!e({ value: n })) {
62
+ i(l);
63
+ return;
64
+ }
65
+ let u = !1;
66
+ if (s && Object.keys(s).forEach((e) => {
67
+ s[e] === r && (u = !0);
68
+ }), c && !u && Object.values(c).forEach((e) => {
69
+ e.indexOf(r) >= 0 && (u = !0);
70
+ }), u) {
71
+ this.setState({ warning: {
72
+ open: !0,
73
+ text: "Answer choices cannot be blank and the changes will be discarded."
74
+ } });
75
+ return;
76
+ }
77
+ i(l);
78
+ };
79
+ onChoiceDone = (t, n) => {
80
+ let { onChange: r, model: i } = this.props, { choices: a } = i, o = (a || []).find((e) => e.id === t), s = n === void 0 ? o && o.value : n;
81
+ if (!o || !e({ value: s })) {
82
+ o && o.value !== s && r((a || []).map((e) => e.id === t ? {
83
+ ...e,
84
+ value: s
85
+ } : e)), this.setState({ focusedEl: void 0 });
86
+ return;
87
+ }
88
+ r((a || []).filter((e) => e.id !== t)), this.setState({
89
+ focusedEl: void 0,
90
+ warning: {
91
+ open: !0,
92
+ text: "Answer choices cannot be blank."
93
+ }
94
+ });
95
+ };
96
+ onChoiceFocus = (e) => this.setState({ focusedEl: e });
97
+ onAddChoice = () => {
98
+ let { model: { choices: e }, onChange: t } = this.props, n = `${(e.length > 0 ? Math.max(...e.map((e) => parseInt(e.id, 10) || 0)) : -1) + 1}`;
99
+ this.setState({ focusedEl: n }, () => {
100
+ t([...e, {
101
+ id: n,
102
+ value: ""
103
+ }]);
104
+ });
105
+ };
106
+ onChoiceRemove = (e) => {
107
+ let { onChange: t, model: { choices: n } } = this.props;
108
+ t((n || []).filter((t) => t.id !== e));
109
+ };
110
+ getVisibleChoices = () => {
111
+ let { duplicates: e, model: { choices: t, correctResponse: n } } = this.props;
112
+ return t ? e ? t : t.filter((e) => !(n && Object.values(n).includes(e.id))) : [];
113
+ };
114
+ render() {
115
+ let { focusedEl: e, warning: n } = this.state, { duplicates: r, error: i, mathMlOptions: s = {}, maxChoices: u, model: { choices: h }, toolbarOpts: g, uploadSoundSupport: _, imageSupport: v = {}, pluginProps: y = {}, maxImageWidth: b, maxImageHeight: x, maxLength: S } = this.props, C = this.getVisibleChoices() || [];
116
+ return /* @__PURE__ */ o(d, {
117
+ ref: this.wrapperRef,
118
+ children: [
119
+ /* @__PURE__ */ a(f, {
120
+ variant: "contained",
121
+ color: "primary",
122
+ onClick: this.onAddChoice,
123
+ disabled: u && h && u === h.length,
124
+ children: "Add Choice"
125
+ }),
126
+ /* @__PURE__ */ a(p, { children: C.map((n, o) => !n || !n.id ? null : e === n.id ? /* @__PURE__ */ a("div", {
127
+ style: {
128
+ minWidth: "100%",
129
+ zIndex: "100"
130
+ },
131
+ children: /* @__PURE__ */ a(c, {
132
+ ref: (e) => this.focusedNodeRef = e,
133
+ autoFocus: !0,
134
+ imageSupport: v,
135
+ markup: n.value,
136
+ pluginProps: y,
137
+ languageCharactersProps: [{ language: "spanish" }, { language: "special" }],
138
+ onChange: (e) => {
139
+ this.preventDone || this.onChoiceChanged(n.value, e, n.id);
140
+ },
141
+ onDone: (e) => {
142
+ this.preventDone || this.onChoiceDone(n.id, e);
143
+ },
144
+ onBlur: (e) => {
145
+ let t = e.relatedTarget && e.relatedTarget.closest(".insert-character-dialog");
146
+ this.preventDone = t;
147
+ },
148
+ disableUnderline: !0,
149
+ toolbarOpts: g,
150
+ uploadSoundSupport: _,
151
+ mathMlOptions: s,
152
+ maxImageHeight: x,
153
+ maxImageWidth: b,
154
+ charactersLimit: S
155
+ })
156
+ }, o) : /* @__PURE__ */ a(t, {
157
+ duplicates: r,
158
+ choice: n,
159
+ error: i,
160
+ onClick: () => this.onChoiceFocus(n.id),
161
+ onRemoveChoice: () => this.onChoiceRemove(n.id)
162
+ }, o)) }),
163
+ i && /* @__PURE__ */ a(m, { children: i }),
164
+ /* @__PURE__ */ a(l, {
165
+ open: n.open,
166
+ title: "Warning",
167
+ text: n.text,
168
+ onConfirm: () => this.setState({ warning: { open: !1 } })
169
+ })
170
+ ]
171
+ });
172
+ }
173
+ };
174
+ //#endregion
175
+ export { h as Choices, h as default };
@@ -0,0 +1,171 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drag-in-the-blank/configure/src/defaults.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
+ declare const _default: {
10
+ model: {
11
+ choices: never[];
12
+ choicesPosition: string;
13
+ correctResponse: {};
14
+ disabled: boolean;
15
+ duplicates: boolean;
16
+ markup: string;
17
+ mode: string;
18
+ prompt: string;
19
+ promptEnabled: boolean;
20
+ rationale: string;
21
+ rationaleEnabled: boolean;
22
+ studentInstructionsEnabled: boolean;
23
+ teacherInstructions: string;
24
+ teacherInstructionsEnabled: boolean;
25
+ toolbarEditorPosition: string;
26
+ };
27
+ configuration: {
28
+ baseInputConfiguration: {
29
+ audio: {
30
+ disabled: boolean;
31
+ };
32
+ video: {
33
+ disabled: boolean;
34
+ };
35
+ image: {
36
+ disabled: boolean;
37
+ };
38
+ h3: {
39
+ disabled: boolean;
40
+ };
41
+ blockquote: {
42
+ disabled: boolean;
43
+ };
44
+ textAlign: {
45
+ disabled: boolean;
46
+ };
47
+ showParagraphs: {
48
+ disabled: boolean;
49
+ };
50
+ separateParagraphs: {
51
+ disabled: boolean;
52
+ };
53
+ };
54
+ spellCheck: {
55
+ label: string;
56
+ settings: boolean;
57
+ enabled: boolean;
58
+ };
59
+ choicesPosition: {
60
+ settings: boolean;
61
+ label: string;
62
+ };
63
+ prompt: {
64
+ settings: boolean;
65
+ label: string;
66
+ inputConfiguration: {
67
+ audio: {
68
+ disabled: boolean;
69
+ };
70
+ video: {
71
+ disabled: boolean;
72
+ };
73
+ image: {
74
+ disabled: boolean;
75
+ };
76
+ };
77
+ required: boolean;
78
+ };
79
+ addChoice: {
80
+ inputConfiguration: {
81
+ audio: {
82
+ disabled: boolean;
83
+ };
84
+ video: {
85
+ disabled: boolean;
86
+ };
87
+ image: {
88
+ disabled: boolean;
89
+ };
90
+ };
91
+ };
92
+ duplicates: {
93
+ settings: boolean;
94
+ label: string;
95
+ };
96
+ lockChoiceOrder: {
97
+ settings: boolean;
98
+ label: string;
99
+ };
100
+ partialScoring: {
101
+ settings: boolean;
102
+ label: string;
103
+ };
104
+ rationale: {
105
+ settings: boolean;
106
+ label: string;
107
+ inputConfiguration: {
108
+ audio: {
109
+ disabled: boolean;
110
+ };
111
+ video: {
112
+ disabled: boolean;
113
+ };
114
+ image: {
115
+ disabled: boolean;
116
+ };
117
+ };
118
+ required: boolean;
119
+ };
120
+ settingsPanelDisabled: boolean;
121
+ teacherInstructions: {
122
+ settings: boolean;
123
+ label: string;
124
+ inputConfiguration: {
125
+ audio: {
126
+ disabled: boolean;
127
+ };
128
+ video: {
129
+ disabled: boolean;
130
+ };
131
+ image: {
132
+ disabled: boolean;
133
+ };
134
+ };
135
+ required: boolean;
136
+ };
137
+ minChoices: number;
138
+ maxResponseAreas: number;
139
+ maxImageWidth: {
140
+ teacherInstructions: number;
141
+ prompt: number;
142
+ rationale: number;
143
+ choice: number;
144
+ };
145
+ maxImageHeight: {
146
+ teacherInstructions: number;
147
+ prompt: number;
148
+ rationale: number;
149
+ choice: number;
150
+ };
151
+ withRubric: {
152
+ settings: boolean;
153
+ label: string;
154
+ };
155
+ mathMlOptions: {
156
+ mmlOutput: boolean;
157
+ mmlEditing: boolean;
158
+ };
159
+ language: {
160
+ settings: boolean;
161
+ label: string;
162
+ enabled: boolean;
163
+ };
164
+ languageChoices: {
165
+ label: string;
166
+ options: never[];
167
+ };
168
+ maxLength: number;
169
+ };
170
+ };
171
+ export default _default;
@@ -0,0 +1,123 @@
1
+ //#region src/author/defaults.ts
2
+ var e = {
3
+ model: {
4
+ choices: [],
5
+ choicesPosition: "below",
6
+ correctResponse: {},
7
+ disabled: !1,
8
+ duplicates: !0,
9
+ markup: "",
10
+ mode: "gather",
11
+ prompt: "",
12
+ promptEnabled: !0,
13
+ rationale: "",
14
+ rationaleEnabled: !0,
15
+ studentInstructionsEnabled: !0,
16
+ teacherInstructions: "",
17
+ teacherInstructionsEnabled: !0,
18
+ toolbarEditorPosition: "bottom"
19
+ },
20
+ configuration: {
21
+ baseInputConfiguration: {
22
+ audio: { disabled: !1 },
23
+ video: { disabled: !1 },
24
+ image: { disabled: !1 },
25
+ h3: { disabled: !0 },
26
+ blockquote: { disabled: !0 },
27
+ textAlign: { disabled: !0 },
28
+ showParagraphs: { disabled: !1 },
29
+ separateParagraphs: { disabled: !0 }
30
+ },
31
+ spellCheck: {
32
+ label: "Spellcheck",
33
+ settings: !1,
34
+ enabled: !0
35
+ },
36
+ choicesPosition: {
37
+ settings: !0,
38
+ label: "Choices Position"
39
+ },
40
+ prompt: {
41
+ settings: !0,
42
+ label: "Prompt",
43
+ inputConfiguration: {
44
+ audio: { disabled: !1 },
45
+ video: { disabled: !1 },
46
+ image: { disabled: !1 }
47
+ },
48
+ required: !1
49
+ },
50
+ addChoice: { inputConfiguration: {
51
+ audio: { disabled: !0 },
52
+ video: { disabled: !0 },
53
+ image: { disabled: !1 }
54
+ } },
55
+ duplicates: {
56
+ settings: !0,
57
+ label: "Duplicates"
58
+ },
59
+ lockChoiceOrder: {
60
+ settings: !0,
61
+ label: "Lock Choice Order"
62
+ },
63
+ partialScoring: {
64
+ settings: !1,
65
+ label: "Allow Partial Scoring"
66
+ },
67
+ rationale: {
68
+ settings: !0,
69
+ label: "Rationale",
70
+ inputConfiguration: {
71
+ audio: { disabled: !1 },
72
+ video: { disabled: !1 },
73
+ image: { disabled: !1 }
74
+ },
75
+ required: !1
76
+ },
77
+ settingsPanelDisabled: !1,
78
+ teacherInstructions: {
79
+ settings: !0,
80
+ label: "Teacher Instructions",
81
+ inputConfiguration: {
82
+ audio: { disabled: !1 },
83
+ video: { disabled: !1 },
84
+ image: { disabled: !1 }
85
+ },
86
+ required: !1
87
+ },
88
+ minChoices: 2,
89
+ maxResponseAreas: 10,
90
+ maxImageWidth: {
91
+ teacherInstructions: 300,
92
+ prompt: 300,
93
+ rationale: 300,
94
+ choice: 300
95
+ },
96
+ maxImageHeight: {
97
+ teacherInstructions: 300,
98
+ prompt: 300,
99
+ rationale: 300,
100
+ choice: 300
101
+ },
102
+ withRubric: {
103
+ settings: !1,
104
+ label: "Add Rubric"
105
+ },
106
+ mathMlOptions: {
107
+ mmlOutput: !1,
108
+ mmlEditing: !1
109
+ },
110
+ language: {
111
+ settings: !1,
112
+ label: "Specify Language",
113
+ enabled: !1
114
+ },
115
+ languageChoices: {
116
+ label: "Language Choices",
117
+ options: []
118
+ },
119
+ maxLength: 200
120
+ }
121
+ };
122
+ //#endregion
123
+ export { e as default };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drag-in-the-blank/configure/src/index.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 default class DragInTheBlank extends HTMLElement {
10
+ static prepareModel: (model?: {}) => {
11
+ slateMarkup: any;
12
+ markup: string;
13
+ correctResponse: any;
14
+ choices: never[];
15
+ choicesPosition: string;
16
+ disabled: boolean;
17
+ duplicates: boolean;
18
+ mode: string;
19
+ prompt: string;
20
+ promptEnabled: boolean;
21
+ rationale: string;
22
+ rationaleEnabled: boolean;
23
+ studentInstructionsEnabled: boolean;
24
+ teacherInstructions: string;
25
+ teacherInstructionsEnabled: boolean;
26
+ toolbarEditorPosition: string;
27
+ };
28
+ constructor();
29
+ set model(m: any);
30
+ set configuration(c: any);
31
+ set disableSidePanel(s: any);
32
+ dispatchModelUpdated(reset: any): void;
33
+ onModelChanged(m: any, reset: any): void;
34
+ onConfigurationChanged(c: any): void;
35
+ /** @param {done, progress, file} handler */
36
+ insertImage(handler: any): void;
37
+ onDeleteImage(src: any, done: any): void;
38
+ insertSound(handler: any): void;
39
+ onDeleteSound(src: any, done: any): void;
40
+ _render(): void;
41
+ connectedCallback(): void;
42
+ disconnectedCallback(): void;
43
+ }