@pie-element/ebsr 14.2.2-next.1 → 14.2.2

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 (97) hide show
  1. package/CHANGELOG.json +1547 -0
  2. package/CHANGELOG.md +2291 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +62 -0
  5. package/configure/CHANGELOG.json +992 -0
  6. package/configure/CHANGELOG.md +2154 -0
  7. package/configure/lib/defaults.js +229 -0
  8. package/configure/lib/defaults.js.map +1 -0
  9. package/configure/lib/index.js +154 -0
  10. package/configure/lib/index.js.map +1 -0
  11. package/configure/lib/main.js +222 -0
  12. package/configure/lib/main.js.map +1 -0
  13. package/configure/package.json +23 -0
  14. package/configure/src/__tests__/index.test.js +492 -0
  15. package/configure/src/defaults.js +173 -0
  16. package/configure/src/index.js +174 -0
  17. package/configure/src/main.jsx +235 -0
  18. package/controller/CHANGELOG.json +552 -0
  19. package/controller/CHANGELOG.md +1286 -0
  20. package/controller/lib/defaults.js +31 -0
  21. package/controller/lib/defaults.js.map +1 -0
  22. package/controller/lib/index.js +448 -0
  23. package/controller/lib/index.js.map +1 -0
  24. package/controller/lib/utils.js +18 -0
  25. package/controller/lib/utils.js.map +1 -0
  26. package/controller/package.json +18 -0
  27. package/controller/src/__tests__/index.test.js +591 -0
  28. package/controller/src/__tests__/utils.test.js +48 -0
  29. package/controller/src/defaults.js +25 -0
  30. package/controller/src/index.js +442 -0
  31. package/controller/src/utils.js +18 -0
  32. package/docs/config-schema.json +5787 -0
  33. package/docs/config-schema.json.md +4278 -0
  34. package/docs/demo/config.js +8 -0
  35. package/docs/demo/generate.js +52 -0
  36. package/docs/demo/index.html +2 -0
  37. package/docs/demo/session.js +14 -0
  38. package/docs/pie-schema.json +2911 -0
  39. package/docs/pie-schema.json.md +2142 -0
  40. package/ebsr.png +0 -0
  41. package/lib/index.js +207 -0
  42. package/lib/index.js.map +1 -0
  43. package/lib/print.js +186 -0
  44. package/lib/print.js.map +1 -0
  45. package/module/configure.js +1 -0
  46. package/module/controller.js +5664 -0
  47. package/module/demo.js +77 -0
  48. package/module/element.js +1 -0
  49. package/module/index.html +21 -0
  50. package/module/manifest.json +14 -0
  51. package/module/print-demo.js +115 -0
  52. package/module/print.html +18 -0
  53. package/module/print.js +1 -0
  54. package/package.json +19 -88
  55. package/src/__tests__/index.test.js +129 -0
  56. package/src/index.js +222 -0
  57. package/src/print.js +207 -0
  58. package/configure.js +0 -2
  59. package/controller.js +0 -1
  60. package/dist/author/defaults.d.ts +0 -348
  61. package/dist/author/defaults.js +0 -161
  62. package/dist/author/index.d.ts +0 -34
  63. package/dist/author/index.js +0 -78
  64. package/dist/author/main.d.ts +0 -22
  65. package/dist/author/main.js +0 -121
  66. package/dist/browser/author/index.js +0 -13940
  67. package/dist/browser/author/index.js.map +0 -1
  68. package/dist/browser/browser-CdX8WGiZ.js +0 -207
  69. package/dist/browser/browser-CdX8WGiZ.js.map +0 -1
  70. package/dist/browser/controller/index.js +0 -257
  71. package/dist/browser/controller/index.js.map +0 -1
  72. package/dist/browser/delivery/index.js +0 -133
  73. package/dist/browser/delivery/index.js.map +0 -1
  74. package/dist/browser/dist-CaWRqnXk.js +0 -62
  75. package/dist/browser/dist-CaWRqnXk.js.map +0 -1
  76. package/dist/browser/dist-D9ARZhQk.js +0 -1426
  77. package/dist/browser/dist-D9ARZhQk.js.map +0 -1
  78. package/dist/browser/dist-DQkngCcw.js +0 -36
  79. package/dist/browser/dist-DQkngCcw.js.map +0 -1
  80. package/dist/browser/print/index.js +0 -107
  81. package/dist/browser/print/index.js.map +0 -1
  82. package/dist/controller/defaults.d.ts +0 -15
  83. package/dist/controller/defaults.js +0 -26
  84. package/dist/controller/index.d.ts +0 -42
  85. package/dist/controller/index.js +0 -185
  86. package/dist/controller/utils.d.ts +0 -10
  87. package/dist/controller/utils.js +0 -8
  88. package/dist/delivery/index.d.ts +0 -26
  89. package/dist/delivery/index.js +0 -132
  90. package/dist/index.d.ts +0 -1
  91. package/dist/index.iife.d.ts +0 -8
  92. package/dist/index.iife.js +0 -165
  93. package/dist/index.js +0 -2
  94. package/dist/print/index.d.ts +0 -25
  95. package/dist/print/index.js +0 -106
  96. package/dist/runtime-support.d.ts +0 -12
  97. package/dist/runtime-support.js +0 -12
@@ -1,348 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/ebsr/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
- partLabels: boolean;
12
- partLabelType: string;
13
- partA: any;
14
- partB: any;
15
- };
16
- configuration: {
17
- baseInputConfiguration: {
18
- h3: {
19
- disabled: boolean;
20
- };
21
- audio: {
22
- disabled: boolean;
23
- };
24
- video: {
25
- disabled: boolean;
26
- };
27
- image: {
28
- disabled: boolean;
29
- };
30
- textAlign: {
31
- disabled: boolean;
32
- };
33
- showParagraphs: {
34
- disabled: boolean;
35
- };
36
- separateParagraphs: {
37
- disabled: boolean;
38
- };
39
- };
40
- partialScoring: {
41
- label: string;
42
- settings: boolean;
43
- };
44
- scoringType: {
45
- settings: boolean;
46
- label: string;
47
- };
48
- partA: {
49
- addChoiceButton: {
50
- settings: boolean;
51
- label: string;
52
- };
53
- choiceMode: {
54
- settings: boolean;
55
- label: string;
56
- };
57
- choicePrefix: {
58
- settings: boolean;
59
- label: string;
60
- };
61
- deleteChoice: {
62
- settings: boolean;
63
- };
64
- feedback: {
65
- settings: boolean;
66
- label: string;
67
- };
68
- lockChoiceOrder: {
69
- settings: boolean;
70
- label: string;
71
- };
72
- prompt: {
73
- settings: boolean;
74
- label: string;
75
- inputConfiguration: {
76
- audio: {
77
- disabled: boolean;
78
- };
79
- video: {
80
- disabled: boolean;
81
- };
82
- image: {
83
- disabled: boolean;
84
- };
85
- };
86
- required: boolean;
87
- };
88
- rationale: {
89
- settings: boolean;
90
- label: string;
91
- inputConfiguration: {
92
- audio: {
93
- disabled: boolean;
94
- };
95
- video: {
96
- disabled: boolean;
97
- };
98
- image: {
99
- disabled: boolean;
100
- };
101
- };
102
- required: boolean;
103
- };
104
- settingsPanelDisabled: boolean;
105
- studentInstructions: {
106
- settings: boolean;
107
- label: string;
108
- };
109
- teacherInstructions: {
110
- settings: boolean;
111
- label: string;
112
- inputConfiguration: {
113
- audio: {
114
- disabled: boolean;
115
- };
116
- video: {
117
- disabled: boolean;
118
- };
119
- image: {
120
- disabled: boolean;
121
- };
122
- };
123
- required: boolean;
124
- };
125
- choicesLayout: {
126
- settings: boolean;
127
- label: string;
128
- };
129
- gridColumns: {
130
- label: string;
131
- };
132
- spellCheck: {
133
- label: string;
134
- settings: boolean;
135
- enabled: boolean;
136
- };
137
- maxImageWidth: {
138
- teacherInstructions: number;
139
- prompt: number;
140
- rationale: number;
141
- choices: number;
142
- };
143
- maxImageHeight: {
144
- teacherInstructions: number;
145
- prompt: number;
146
- rationale: number;
147
- choices: number;
148
- };
149
- mathMlOptions: {
150
- mmlOutput: boolean;
151
- mmlEditing: boolean;
152
- };
153
- choices: {
154
- inputConfiguration: {
155
- audio: {
156
- disabled: boolean;
157
- };
158
- video: {
159
- disabled: boolean;
160
- };
161
- image: {
162
- disabled: boolean;
163
- };
164
- };
165
- };
166
- baseInputConfiguration: {
167
- h3: {
168
- disabled: boolean;
169
- };
170
- audio: {
171
- disabled: boolean;
172
- };
173
- video: {
174
- disabled: boolean;
175
- };
176
- image: {
177
- disabled: boolean;
178
- };
179
- textAlign: {
180
- disabled: boolean;
181
- };
182
- showParagraphs: {
183
- disabled: boolean;
184
- };
185
- separateParagraphs: {
186
- disabled: boolean;
187
- };
188
- };
189
- };
190
- partB: {
191
- addChoiceButton: {
192
- settings: boolean;
193
- label: string;
194
- };
195
- choiceMode: {
196
- settings: boolean;
197
- label: string;
198
- };
199
- choicePrefix: {
200
- settings: boolean;
201
- label: string;
202
- };
203
- deleteChoice: {
204
- settings: boolean;
205
- };
206
- feedback: {
207
- settings: boolean;
208
- label: string;
209
- };
210
- lockChoiceOrder: {
211
- settings: boolean;
212
- label: string;
213
- };
214
- prompt: {
215
- settings: boolean;
216
- label: string;
217
- inputConfiguration: {
218
- audio: {
219
- disabled: boolean;
220
- };
221
- video: {
222
- disabled: boolean;
223
- };
224
- image: {
225
- disabled: boolean;
226
- };
227
- };
228
- required: boolean;
229
- };
230
- rationale: {
231
- settings: boolean;
232
- label: string;
233
- inputConfiguration: {
234
- audio: {
235
- disabled: boolean;
236
- };
237
- video: {
238
- disabled: boolean;
239
- };
240
- image: {
241
- disabled: boolean;
242
- };
243
- };
244
- required: boolean;
245
- };
246
- settingsPanelDisabled: boolean;
247
- studentInstructions: {
248
- settings: boolean;
249
- label: string;
250
- };
251
- teacherInstructions: {
252
- settings: boolean;
253
- label: string;
254
- inputConfiguration: {
255
- audio: {
256
- disabled: boolean;
257
- };
258
- video: {
259
- disabled: boolean;
260
- };
261
- image: {
262
- disabled: boolean;
263
- };
264
- };
265
- required: boolean;
266
- };
267
- choicesLayout: {
268
- settings: boolean;
269
- label: string;
270
- };
271
- gridColumns: {
272
- label: string;
273
- };
274
- spellCheck: {
275
- label: string;
276
- settings: boolean;
277
- enabled: boolean;
278
- };
279
- maxImageWidth: {
280
- teacherInstructions: number;
281
- prompt: number;
282
- rationale: number;
283
- choices: number;
284
- };
285
- maxImageHeight: {
286
- teacherInstructions: number;
287
- prompt: number;
288
- rationale: number;
289
- choices: number;
290
- };
291
- mathMlOptions: {
292
- mmlOutput: boolean;
293
- mmlEditing: boolean;
294
- };
295
- choices: {
296
- inputConfiguration: {
297
- audio: {
298
- disabled: boolean;
299
- };
300
- video: {
301
- disabled: boolean;
302
- };
303
- image: {
304
- disabled: boolean;
305
- };
306
- };
307
- };
308
- baseInputConfiguration: {
309
- h3: {
310
- disabled: boolean;
311
- };
312
- audio: {
313
- disabled: boolean;
314
- };
315
- video: {
316
- disabled: boolean;
317
- };
318
- image: {
319
- disabled: boolean;
320
- };
321
- textAlign: {
322
- disabled: boolean;
323
- };
324
- showParagraphs: {
325
- disabled: boolean;
326
- };
327
- separateParagraphs: {
328
- disabled: boolean;
329
- };
330
- };
331
- };
332
- partLabels: {
333
- settings: boolean;
334
- label: string;
335
- };
336
- settingsPanelDisabled: boolean;
337
- language: {
338
- settings: boolean;
339
- label: string;
340
- enabled: boolean;
341
- };
342
- languageChoices: {
343
- label: string;
344
- options: never[];
345
- };
346
- };
347
- };
348
- export default _default;
@@ -1,161 +0,0 @@
1
- import { cloneDeep as e } from "@pie-element/shared-lodash";
2
- //#region src/author/defaults.ts
3
- var t = {
4
- addChoiceButton: {
5
- settings: !0,
6
- label: "Add a Choice"
7
- },
8
- choiceMode: {
9
- settings: !0,
10
- label: "Response Type"
11
- },
12
- choicePrefix: {
13
- settings: !0,
14
- label: "Choice Labels"
15
- },
16
- deleteChoice: { settings: !0 },
17
- feedback: {
18
- settings: !0,
19
- label: "Feedback"
20
- },
21
- lockChoiceOrder: {
22
- settings: !0,
23
- label: "Lock Choice Order"
24
- },
25
- prompt: {
26
- settings: !0,
27
- label: "Prompt",
28
- inputConfiguration: {
29
- audio: { disabled: !1 },
30
- video: { disabled: !1 },
31
- image: { disabled: !1 }
32
- },
33
- required: !1
34
- },
35
- rationale: {
36
- settings: !0,
37
- label: "Rationale",
38
- inputConfiguration: {
39
- audio: { disabled: !1 },
40
- video: { disabled: !1 },
41
- image: { disabled: !1 }
42
- },
43
- required: !1
44
- },
45
- settingsPanelDisabled: !0,
46
- studentInstructions: {
47
- settings: !1,
48
- label: "Student Instructions"
49
- },
50
- teacherInstructions: {
51
- settings: !0,
52
- label: "Teacher Instructions",
53
- inputConfiguration: {
54
- audio: { disabled: !1 },
55
- video: { disabled: !1 },
56
- image: { disabled: !1 }
57
- },
58
- required: !1
59
- },
60
- choicesLayout: {
61
- settings: !1,
62
- label: "Choices Layout"
63
- },
64
- gridColumns: { label: "Grid columns" },
65
- spellCheck: {
66
- label: "Spellcheck",
67
- settings: !1,
68
- enabled: !0
69
- },
70
- maxImageWidth: {
71
- teacherInstructions: 300,
72
- prompt: 300,
73
- rationale: 636,
74
- choices: 636
75
- },
76
- maxImageHeight: {
77
- teacherInstructions: 300,
78
- prompt: 300,
79
- rationale: 300,
80
- choices: 300
81
- },
82
- mathMlOptions: {
83
- mmlOutput: !1,
84
- mmlEditing: !1
85
- },
86
- choices: { inputConfiguration: {
87
- audio: { disabled: !1 },
88
- video: { disabled: !1 },
89
- image: { disabled: !1 }
90
- } },
91
- baseInputConfiguration: {
92
- h3: { disabled: !0 },
93
- audio: { disabled: !1 },
94
- video: { disabled: !1 },
95
- image: { disabled: !1 },
96
- textAlign: { disabled: !0 },
97
- showParagraphs: { disabled: !1 },
98
- separateParagraphs: { disabled: !0 }
99
- }
100
- }, n = (e) => ({
101
- choiceMode: "radio",
102
- choicePrefix: "letters",
103
- choices: [],
104
- choicesLayout: "vertical",
105
- feedbackEnabled: !1,
106
- gridColumns: 2,
107
- prompt: "",
108
- promptEnabled: !0,
109
- rationale: "",
110
- rationaleEnabled: !0,
111
- spellCheckEnabled: !0,
112
- studentInstructionsEnabled: !0,
113
- teacherInstructions: "",
114
- teacherInstructionsEnabled: !0,
115
- toolbarEditorPosition: "bottom",
116
- ...e
117
- }), r = {
118
- model: {
119
- partLabels: !1,
120
- partLabelType: "Letters",
121
- partA: n(),
122
- partB: n()
123
- },
124
- configuration: {
125
- baseInputConfiguration: {
126
- h3: { disabled: !0 },
127
- audio: { disabled: !1 },
128
- video: { disabled: !1 },
129
- image: { disabled: !1 },
130
- textAlign: { disabled: !0 },
131
- showParagraphs: { disabled: !1 },
132
- separateParagraphs: { disabled: !0 }
133
- },
134
- partialScoring: {
135
- label: "Allow Partial Scoring",
136
- settings: !1
137
- },
138
- scoringType: {
139
- settings: !1,
140
- label: "Scoring Type"
141
- },
142
- partA: e(t),
143
- partB: e(t),
144
- partLabels: {
145
- settings: !0,
146
- label: "Part Labels"
147
- },
148
- settingsPanelDisabled: !1,
149
- language: {
150
- settings: !1,
151
- label: "Specify Language",
152
- enabled: !1
153
- },
154
- languageChoices: {
155
- label: "Language Choices",
156
- options: []
157
- }
158
- }
159
- };
160
- //#endregion
161
- export { r as default };
@@ -1,34 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/ebsr/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 EbsrConfigure extends HTMLElement {
10
- static createDefaultModel: ({ partA, partB, ...model }?: {
11
- partA?: {} | undefined;
12
- partB?: {} | undefined;
13
- }, defaults?: {
14
- partLabels: boolean;
15
- partLabelType: string;
16
- partA: any;
17
- partB: any;
18
- }) => {
19
- partA: any;
20
- partB: any;
21
- partLabels: boolean;
22
- partLabelType: string;
23
- };
24
- constructor();
25
- set model(m: any);
26
- dispatchModelUpdated(reset: any): void;
27
- onModelChanged: any;
28
- set configuration(c: any);
29
- onConfigurationChanged(c: any): void;
30
- onModelUpdated: any;
31
- connectedCallback(): void;
32
- _render(): void;
33
- disconnectedCallback(): void;
34
- }
@@ -1,78 +0,0 @@
1
- import e from "./main.js";
2
- import t from "./defaults.js";
3
- import { defaults as n } from "@pie-element/shared-lodash";
4
- import r from "react";
5
- import { createRoot as i } from "react-dom/client";
6
- import { ModelUpdatedEvent as a } from "@pie-element/shared-configure-events";
7
- import o from "@pie-element/multiple-choice/author";
8
- //#region src/author/index.ts
9
- var s = a.TYPE, c = "ebsr-multiple-choice-configure", l = class extends o {};
10
- customElements.get(c) || customElements.define(c, l);
11
- var u = (e, r) => ({
12
- configuration: n(e, t.configuration),
13
- model: r
14
- }), { model: d } = t || {}, f = class n extends HTMLElement {
15
- static createDefaultModel = ({ partA: e = {}, partB: t = {}, ...n } = {}, r = d) => ({
16
- ...r,
17
- ...n,
18
- partA: {
19
- ...r.partA,
20
- ...e,
21
- choicesLayout: e.choicesLayout || e.verticalMode === !1 && "horizontal" || r.partA.choicesLayout
22
- },
23
- partB: {
24
- ...r.partB,
25
- ...t,
26
- choicesLayout: t.choicesLayout || t.verticalMode === !1 && "horizontal" || r.partB.choicesLayout
27
- }
28
- });
29
- constructor() {
30
- super(), this._root = null, this._model = n.createDefaultModel(), this._configuration = t.configuration, this.onConfigurationChanged = this.onConfigurationChanged.bind(this);
31
- }
32
- set model(e) {
33
- this._model = n.createDefaultModel(e, this._model), this._render();
34
- }
35
- dispatchModelUpdated(e) {
36
- let t = !!e;
37
- this.dispatchEvent(new a(this._model, t));
38
- }
39
- onModelChanged = (e, t) => {
40
- this._model = n.createDefaultModel(e, this._model), this.dispatchModelUpdated(t), this._render();
41
- };
42
- set configuration(e) {
43
- let n = u(e, this._model), r = {
44
- ...t.configuration,
45
- ...n.configuration
46
- };
47
- this._configuration = r, r?.language?.enabled ? r?.languageChoices?.options?.length && (this._model.language = r?.languageChoices.options[0].value) : r.language.settings && this._model.language ? (this._configuration.language.enabled = !0, (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) && (this._configuration.languageChoices.options = []), this._configuration.languageChoices.options.find((e) => e.value === this._model.language) || this._configuration.languageChoices.options.push({
48
- value: this._model.language,
49
- label: this._model.language
50
- })) : delete this._model.language, this._render();
51
- }
52
- onConfigurationChanged(e) {
53
- this._configuration = u(e, this._model).configuration, this._model && this.onModelChanged(this._model), this._render();
54
- }
55
- onModelUpdated = (e) => {
56
- if (e.target === this) return;
57
- e.preventDefault(), e.stopImmediatePropagation();
58
- let t = e.target && e.target.getAttribute("id");
59
- t && (e.update && (this._model[`part${t}`] = e.update), this.dispatchEvent(new a(this._model)));
60
- };
61
- connectedCallback() {
62
- this.addEventListener(s, this.onModelUpdated), this._render();
63
- }
64
- _render() {
65
- let t = r.createElement(e, {
66
- model: this._model,
67
- configuration: this._configuration,
68
- onModelChanged: this.onModelChanged,
69
- onConfigurationChanged: this.onConfigurationChanged
70
- });
71
- this._root ||= i(this), this._root.render(t);
72
- }
73
- disconnectedCallback() {
74
- this.removeEventListener(s, this.onModelUpdated), this._root && this._root.unmount();
75
- }
76
- };
77
- //#endregion
78
- export { f as default };
@@ -1,22 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/ebsr/configure/src/main.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 Main extends React.Component {
12
- static propTypes: {
13
- configuration: PropTypes.Requireable<object>;
14
- model: PropTypes.Requireable<object>;
15
- onModelChanged: PropTypes.Requireable<(...args: any[]) => any>;
16
- onConfigurationChanged: PropTypes.Requireable<(...args: any[]) => any>;
17
- };
18
- removeExtraChoices: any;
19
- onModelChanged: any;
20
- render(): React.JSX.Element;
21
- }
22
- export default Main;