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

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/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/defaults.d.ts +348 -0
  4. package/dist/author/defaults.js +161 -0
  5. package/dist/author/index.d.ts +34 -0
  6. package/dist/author/index.js +78 -0
  7. package/dist/author/main.d.ts +22 -0
  8. package/dist/author/main.js +121 -0
  9. package/dist/browser/author/index.js +13940 -0
  10. package/dist/browser/author/index.js.map +1 -0
  11. package/dist/browser/browser-CdX8WGiZ.js +207 -0
  12. package/dist/browser/browser-CdX8WGiZ.js.map +1 -0
  13. package/dist/browser/controller/index.js +257 -0
  14. package/dist/browser/controller/index.js.map +1 -0
  15. package/dist/browser/delivery/index.js +133 -0
  16. package/dist/browser/delivery/index.js.map +1 -0
  17. package/dist/browser/dist-CaWRqnXk.js +62 -0
  18. package/dist/browser/dist-CaWRqnXk.js.map +1 -0
  19. package/dist/browser/dist-D9ARZhQk.js +1426 -0
  20. package/dist/browser/dist-D9ARZhQk.js.map +1 -0
  21. package/dist/browser/dist-DQkngCcw.js +36 -0
  22. package/dist/browser/dist-DQkngCcw.js.map +1 -0
  23. package/dist/browser/print/index.js +107 -0
  24. package/dist/browser/print/index.js.map +1 -0
  25. package/dist/controller/defaults.d.ts +15 -0
  26. package/dist/controller/defaults.js +26 -0
  27. package/dist/controller/index.d.ts +42 -0
  28. package/dist/controller/index.js +185 -0
  29. package/dist/controller/utils.d.ts +10 -0
  30. package/dist/controller/utils.js +8 -0
  31. package/dist/delivery/index.d.ts +26 -0
  32. package/dist/delivery/index.js +132 -0
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.iife.d.ts +8 -0
  35. package/dist/index.iife.js +165 -0
  36. package/dist/index.js +2 -0
  37. package/dist/print/index.d.ts +25 -0
  38. package/dist/print/index.js +106 -0
  39. package/dist/runtime-support.d.ts +12 -0
  40. package/dist/runtime-support.js +12 -0
  41. package/package.json +88 -19
  42. package/CHANGELOG.json +0 -1547
  43. package/CHANGELOG.md +0 -2285
  44. package/LICENSE.md +0 -5
  45. package/README.md +0 -62
  46. package/configure/CHANGELOG.json +0 -992
  47. package/configure/CHANGELOG.md +0 -2148
  48. package/configure/lib/defaults.js +0 -229
  49. package/configure/lib/defaults.js.map +0 -1
  50. package/configure/lib/index.js +0 -154
  51. package/configure/lib/index.js.map +0 -1
  52. package/configure/lib/main.js +0 -222
  53. package/configure/lib/main.js.map +0 -1
  54. package/configure/package.json +0 -23
  55. package/configure/src/__tests__/index.test.js +0 -492
  56. package/configure/src/defaults.js +0 -173
  57. package/configure/src/index.js +0 -174
  58. package/configure/src/main.jsx +0 -235
  59. package/controller/CHANGELOG.json +0 -552
  60. package/controller/CHANGELOG.md +0 -1286
  61. package/controller/lib/defaults.js +0 -31
  62. package/controller/lib/defaults.js.map +0 -1
  63. package/controller/lib/index.js +0 -448
  64. package/controller/lib/index.js.map +0 -1
  65. package/controller/lib/utils.js +0 -18
  66. package/controller/lib/utils.js.map +0 -1
  67. package/controller/package.json +0 -18
  68. package/controller/src/__tests__/index.test.js +0 -591
  69. package/controller/src/__tests__/utils.test.js +0 -48
  70. package/controller/src/defaults.js +0 -25
  71. package/controller/src/index.js +0 -442
  72. package/controller/src/utils.js +0 -18
  73. package/docs/config-schema.json +0 -5787
  74. package/docs/config-schema.json.md +0 -4278
  75. package/docs/demo/config.js +0 -8
  76. package/docs/demo/generate.js +0 -52
  77. package/docs/demo/index.html +0 -2
  78. package/docs/demo/session.js +0 -14
  79. package/docs/pie-schema.json +0 -2911
  80. package/docs/pie-schema.json.md +0 -2142
  81. package/ebsr.png +0 -0
  82. package/lib/index.js +0 -207
  83. package/lib/index.js.map +0 -1
  84. package/lib/print.js +0 -186
  85. package/lib/print.js.map +0 -1
  86. package/module/configure.js +0 -1
  87. package/module/controller.js +0 -5664
  88. package/module/demo.js +0 -77
  89. package/module/element.js +0 -1
  90. package/module/index.html +0 -21
  91. package/module/manifest.json +0 -14
  92. package/module/print-demo.js +0 -115
  93. package/module/print.html +0 -18
  94. package/module/print.js +0 -1
  95. package/src/__tests__/index.test.js +0 -129
  96. package/src/index.js +0 -222
  97. package/src/print.js +0 -207
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,348 @@
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;
@@ -0,0 +1,161 @@
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 };
@@ -0,0 +1,34 @@
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
+ }
@@ -0,0 +1,78 @@
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 };
@@ -0,0 +1,22 @@
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;