@pie-element/inline-dropdown 11.0.4-next.20261011174919 → 11.0.4
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.
- package/dist/author/defaults.d.ts +56 -55
- package/dist/author/index.d.ts +18 -29
- package/dist/author/index.js +6 -1
- package/dist/author/inline-dropdown-toolbar.d.ts +3 -0
- package/dist/author/inline-dropdown-toolbar.js +4 -1
- package/dist/author/main.d.ts +58 -34
- package/dist/author/main.js +86 -102
- package/dist/browser/author/index.js +65 -75
- package/dist/browser/author/index.js.map +1 -1
- package/dist/browser/controller/index.js +5 -3
- package/dist/browser/controller/index.js.map +1 -1
- package/dist/browser/editor-runtime/author/index.js +65 -75
- package/dist/browser/editor-runtime/author/index.js.map +1 -1
- package/dist/browser/editor-runtime/controller/index.js +5 -3
- package/dist/browser/editor-runtime/controller/index.js.map +1 -1
- package/dist/controller/defaults.d.ts +9 -9
- package/dist/controller/index.d.ts +66 -17
- package/dist/controller/index.js +5 -3
- package/dist/controller/utils.d.ts +2 -4
- package/dist/index.d.ts +1 -0
- package/dist/schemas/configuration.schema.json +414 -0
- package/dist/schemas/model.schema.json +453 -0
- package/dist/schemas/session.schema.json +43 -0
- package/dist/types.d.ts +164 -0
- package/package.json +20 -16
|
@@ -1,155 +1,156 @@
|
|
|
1
|
+
import type { ConfigureLanguageOptionsProp } from '@pie-element/shared-types';
|
|
1
2
|
declare const _default: {
|
|
2
3
|
model: {
|
|
3
4
|
alternateResponse: {};
|
|
4
|
-
choiceRationaleEnabled:
|
|
5
|
+
choiceRationaleEnabled: true;
|
|
5
6
|
choices: {};
|
|
6
|
-
disabled:
|
|
7
|
+
disabled: false;
|
|
7
8
|
displayType: string;
|
|
8
9
|
markup: string;
|
|
9
|
-
mode:
|
|
10
|
+
mode: "gather";
|
|
10
11
|
prompt: string;
|
|
11
|
-
promptEnabled:
|
|
12
|
+
promptEnabled: true;
|
|
12
13
|
rationale: string;
|
|
13
|
-
rationaleEnabled:
|
|
14
|
-
shuffle:
|
|
15
|
-
studentInstructionsEnabled:
|
|
14
|
+
rationaleEnabled: true;
|
|
15
|
+
shuffle: true;
|
|
16
|
+
studentInstructionsEnabled: true;
|
|
16
17
|
teacherInstructions: string;
|
|
17
|
-
teacherInstructionsEnabled:
|
|
18
|
-
toolbarEditorPosition:
|
|
18
|
+
teacherInstructionsEnabled: true;
|
|
19
|
+
toolbarEditorPosition: "bottom";
|
|
19
20
|
};
|
|
20
21
|
configuration: {
|
|
21
22
|
baseInputConfiguration: {
|
|
22
23
|
audio: {
|
|
23
|
-
disabled:
|
|
24
|
+
disabled: false;
|
|
24
25
|
};
|
|
25
26
|
video: {
|
|
26
|
-
disabled:
|
|
27
|
+
disabled: false;
|
|
27
28
|
};
|
|
28
29
|
image: {
|
|
29
|
-
disabled:
|
|
30
|
+
disabled: false;
|
|
30
31
|
};
|
|
31
32
|
h3: {
|
|
32
|
-
disabled:
|
|
33
|
+
disabled: true;
|
|
33
34
|
};
|
|
34
35
|
blockquote: {
|
|
35
|
-
disabled:
|
|
36
|
+
disabled: true;
|
|
36
37
|
};
|
|
37
38
|
textAlign: {
|
|
38
|
-
disabled:
|
|
39
|
+
disabled: true;
|
|
39
40
|
};
|
|
40
41
|
showParagraphs: {
|
|
41
|
-
disabled:
|
|
42
|
+
disabled: false;
|
|
42
43
|
};
|
|
43
44
|
separateParagraphs: {
|
|
44
|
-
disabled:
|
|
45
|
+
disabled: true;
|
|
45
46
|
};
|
|
46
47
|
};
|
|
47
48
|
prompt: {
|
|
48
|
-
settings:
|
|
49
|
+
settings: true;
|
|
49
50
|
label: string;
|
|
50
|
-
required:
|
|
51
|
+
required: false;
|
|
51
52
|
inputConfiguration: {
|
|
52
53
|
audio: {
|
|
53
|
-
disabled:
|
|
54
|
+
disabled: false;
|
|
54
55
|
};
|
|
55
56
|
video: {
|
|
56
|
-
disabled:
|
|
57
|
+
disabled: false;
|
|
57
58
|
};
|
|
58
59
|
image: {
|
|
59
|
-
disabled:
|
|
60
|
+
disabled: false;
|
|
60
61
|
};
|
|
61
62
|
};
|
|
62
63
|
};
|
|
63
64
|
responseAreaInputConfiguration: {
|
|
64
65
|
inputConfiguration: {
|
|
65
66
|
audio: {
|
|
66
|
-
disabled:
|
|
67
|
+
disabled: true;
|
|
67
68
|
};
|
|
68
69
|
video: {
|
|
69
|
-
disabled:
|
|
70
|
+
disabled: true;
|
|
70
71
|
};
|
|
71
72
|
image: {
|
|
72
|
-
disabled:
|
|
73
|
+
disabled: true;
|
|
73
74
|
};
|
|
74
75
|
table: {
|
|
75
|
-
disabled:
|
|
76
|
+
disabled: true;
|
|
76
77
|
};
|
|
77
78
|
ul_list: {
|
|
78
|
-
disabled:
|
|
79
|
+
disabled: true;
|
|
79
80
|
};
|
|
80
81
|
ol_list: {
|
|
81
|
-
disabled:
|
|
82
|
+
disabled: true;
|
|
82
83
|
};
|
|
83
84
|
};
|
|
84
85
|
};
|
|
85
|
-
settingsPanelDisabled:
|
|
86
|
+
settingsPanelDisabled: false;
|
|
86
87
|
spellCheck: {
|
|
87
88
|
label: string;
|
|
88
|
-
settings:
|
|
89
|
-
enabled:
|
|
89
|
+
settings: false;
|
|
90
|
+
enabled: true;
|
|
90
91
|
};
|
|
91
92
|
lockChoiceOrder: {
|
|
92
|
-
settings:
|
|
93
|
+
settings: true;
|
|
93
94
|
label: string;
|
|
94
95
|
};
|
|
95
96
|
partialScoring: {
|
|
96
|
-
settings:
|
|
97
|
+
settings: false;
|
|
97
98
|
label: string;
|
|
98
99
|
};
|
|
99
100
|
rationale: {
|
|
100
|
-
settings:
|
|
101
|
+
settings: true;
|
|
101
102
|
label: string;
|
|
102
|
-
required:
|
|
103
|
+
required: false;
|
|
103
104
|
inputConfiguration: {
|
|
104
105
|
audio: {
|
|
105
|
-
disabled:
|
|
106
|
+
disabled: false;
|
|
106
107
|
};
|
|
107
108
|
video: {
|
|
108
|
-
disabled:
|
|
109
|
+
disabled: false;
|
|
109
110
|
};
|
|
110
111
|
image: {
|
|
111
|
-
disabled:
|
|
112
|
+
disabled: false;
|
|
112
113
|
};
|
|
113
114
|
textAlign: {
|
|
114
|
-
disabled:
|
|
115
|
+
disabled: true;
|
|
115
116
|
};
|
|
116
117
|
};
|
|
117
118
|
};
|
|
118
119
|
teacherInstructions: {
|
|
119
|
-
settings:
|
|
120
|
+
settings: true;
|
|
120
121
|
label: string;
|
|
121
|
-
required:
|
|
122
|
+
required: false;
|
|
122
123
|
inputConfiguration: {
|
|
123
124
|
audio: {
|
|
124
|
-
disabled:
|
|
125
|
+
disabled: false;
|
|
125
126
|
};
|
|
126
127
|
video: {
|
|
127
|
-
disabled:
|
|
128
|
+
disabled: false;
|
|
128
129
|
};
|
|
129
130
|
image: {
|
|
130
|
-
disabled:
|
|
131
|
+
disabled: false;
|
|
131
132
|
};
|
|
132
133
|
};
|
|
133
134
|
};
|
|
134
135
|
template: {
|
|
135
136
|
inputConfiguration: {
|
|
136
137
|
audio: {
|
|
137
|
-
disabled:
|
|
138
|
+
disabled: false;
|
|
138
139
|
};
|
|
139
140
|
video: {
|
|
140
|
-
disabled:
|
|
141
|
+
disabled: false;
|
|
141
142
|
};
|
|
142
143
|
image: {
|
|
143
|
-
disabled:
|
|
144
|
+
disabled: false;
|
|
144
145
|
};
|
|
145
146
|
};
|
|
146
147
|
};
|
|
147
148
|
choiceRationale: {
|
|
148
|
-
settings:
|
|
149
|
+
settings: true;
|
|
149
150
|
label: string;
|
|
150
151
|
};
|
|
151
152
|
toolbarEditorPosition: {
|
|
152
|
-
settings:
|
|
153
|
+
settings: false;
|
|
153
154
|
label: string;
|
|
154
155
|
};
|
|
155
156
|
maxResponseAreas: number;
|
|
@@ -165,21 +166,21 @@ declare const _default: {
|
|
|
165
166
|
rationale: number;
|
|
166
167
|
};
|
|
167
168
|
withRubric: {
|
|
168
|
-
settings:
|
|
169
|
+
settings: false;
|
|
169
170
|
label: string;
|
|
170
171
|
};
|
|
171
172
|
mathMlOptions: {
|
|
172
|
-
mmlOutput:
|
|
173
|
-
mmlEditing:
|
|
173
|
+
mmlOutput: false;
|
|
174
|
+
mmlEditing: false;
|
|
174
175
|
};
|
|
175
176
|
language: {
|
|
176
|
-
settings:
|
|
177
|
+
settings: false;
|
|
177
178
|
label: string;
|
|
178
|
-
enabled:
|
|
179
|
+
enabled: false;
|
|
179
180
|
};
|
|
180
181
|
languageChoices: {
|
|
181
182
|
label: string;
|
|
182
|
-
options:
|
|
183
|
+
options: ConfigureLanguageOptionsProp[];
|
|
183
184
|
};
|
|
184
185
|
};
|
|
185
186
|
};
|
package/dist/author/index.d.ts
CHANGED
|
@@ -1,35 +1,24 @@
|
|
|
1
|
+
import { type DeleteDone, type ImageHandler, type SoundHandler } from '@pie-element/shared-configure-events';
|
|
2
|
+
import { type AuthorModel } from './main.js';
|
|
3
|
+
import type { InlineDropdownConfiguration, InlineDropdownModel } from '../types.js';
|
|
1
4
|
export default class InlineDropdown extends HTMLElement {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
choices: {};
|
|
8
|
-
disabled: boolean;
|
|
9
|
-
displayType: string;
|
|
10
|
-
mode: string;
|
|
11
|
-
prompt: string;
|
|
12
|
-
promptEnabled: boolean;
|
|
13
|
-
rationale: string;
|
|
14
|
-
rationaleEnabled: boolean;
|
|
15
|
-
shuffle: boolean;
|
|
16
|
-
studentInstructionsEnabled: boolean;
|
|
17
|
-
teacherInstructions: string;
|
|
18
|
-
teacherInstructionsEnabled: boolean;
|
|
19
|
-
toolbarEditorPosition: string;
|
|
20
|
-
};
|
|
5
|
+
private _root;
|
|
6
|
+
private _model;
|
|
7
|
+
private _configuration;
|
|
8
|
+
private _disableSidePanel?;
|
|
9
|
+
static prepareModel: (model?: Partial<InlineDropdownModel>) => AuthorModel;
|
|
21
10
|
constructor();
|
|
22
|
-
set model(s:
|
|
23
|
-
set configuration(c:
|
|
24
|
-
set disableSidePanel(s:
|
|
25
|
-
dispatchModelUpdated(reset
|
|
26
|
-
onModelChanged(m:
|
|
27
|
-
onConfigurationChanged(c:
|
|
11
|
+
set model(s: Partial<InlineDropdownModel>);
|
|
12
|
+
set configuration(c: InlineDropdownConfiguration);
|
|
13
|
+
set disableSidePanel(s: boolean);
|
|
14
|
+
dispatchModelUpdated(reset?: boolean): void;
|
|
15
|
+
onModelChanged(m: Partial<InlineDropdownModel>, reset?: boolean): void;
|
|
16
|
+
onConfigurationChanged(c: InlineDropdownConfiguration): void;
|
|
28
17
|
/** @param {done, progress, file} handler */
|
|
29
|
-
insertImage(handler:
|
|
30
|
-
onDeleteImage(src:
|
|
31
|
-
insertSound(handler:
|
|
32
|
-
onDeleteSound(src:
|
|
18
|
+
insertImage(handler: ImageHandler): void;
|
|
19
|
+
onDeleteImage(src: string, done: DeleteDone): void;
|
|
20
|
+
insertSound(handler: SoundHandler): void;
|
|
21
|
+
onDeleteSound(src: string, done: DeleteDone): void;
|
|
33
22
|
_render(): void;
|
|
34
23
|
connectedCallback(): void;
|
|
35
24
|
disconnectedCallback(): void;
|
package/dist/author/index.js
CHANGED
|
@@ -8,6 +8,10 @@ import { DeleteImageEvent as s, DeleteSoundEvent as c, InsertImageEvent as l, In
|
|
|
8
8
|
import f from "debug";
|
|
9
9
|
//#region src/author/index.ts
|
|
10
10
|
var p = f("multiple-choice:configure"), m = class f extends HTMLElement {
|
|
11
|
+
_root;
|
|
12
|
+
_model;
|
|
13
|
+
_configuration;
|
|
14
|
+
_disableSidePanel;
|
|
11
15
|
static prepareModel = (e = {}) => {
|
|
12
16
|
let i = {
|
|
13
17
|
...t.model,
|
|
@@ -26,7 +30,8 @@ var p = f("multiple-choice:configure"), m = class f extends HTMLElement {
|
|
|
26
30
|
this._model = f.prepareModel(e), this._render();
|
|
27
31
|
}
|
|
28
32
|
set configuration(e) {
|
|
29
|
-
|
|
33
|
+
let n = o(e, t.configuration);
|
|
34
|
+
this._configuration = n, e.language?.enabled ? e.languageChoices?.options?.length && (this._model.language = e.languageChoices.options[0].value) : e.language.settings && this._model.language ? (n.language.enabled = !0, (!n.languageChoices.options || !n.languageChoices.options.length) && (n.languageChoices.options = []), n.languageChoices.options.find((e) => e.value === this._model.language) || n.languageChoices.options.push({
|
|
30
35
|
value: this._model.language,
|
|
31
36
|
label: this._model.language
|
|
32
37
|
})) : delete this._model.language, this._render();
|
|
@@ -14,6 +14,9 @@ declare class RespAreaToolbar extends React.Component {
|
|
|
14
14
|
onToolbarDone: PropTypes.Validator<(...args: any[]) => any>;
|
|
15
15
|
editor: PropTypes.Requireable<object>;
|
|
16
16
|
spellCheck: PropTypes.Requireable<boolean>;
|
|
17
|
+
mathMlOptions: PropTypes.Requireable<object>;
|
|
18
|
+
baseInputConfiguration: PropTypes.Requireable<object>;
|
|
19
|
+
responseAreaInputConfiguration: PropTypes.Requireable<object>;
|
|
17
20
|
};
|
|
18
21
|
clickedInside: boolean;
|
|
19
22
|
preventDone: boolean;
|
|
@@ -127,7 +127,10 @@ var _ = u("div")(() => ({
|
|
|
127
127
|
onSelectChoice: i.func.isRequired,
|
|
128
128
|
onToolbarDone: i.func.isRequired,
|
|
129
129
|
editor: i.object,
|
|
130
|
-
spellCheck: i.bool
|
|
130
|
+
spellCheck: i.bool,
|
|
131
|
+
mathMlOptions: i.object,
|
|
132
|
+
baseInputConfiguration: i.object,
|
|
133
|
+
responseAreaInputConfiguration: i.object
|
|
131
134
|
};
|
|
132
135
|
clickedInside = !1;
|
|
133
136
|
preventDone = !1;
|
package/dist/author/main.d.ts
CHANGED
|
@@ -1,41 +1,65 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
2
|
+
import type { DeleteDone, ImageHandler, SoundHandler } from '@pie-element/shared-configure-events';
|
|
3
|
+
import type { InlineDropdownValidationErrors } from '../controller/index.js';
|
|
4
|
+
import type { Choice, Choices, InlineDropdownConfiguration, InlineDropdownModel } from '../types.js';
|
|
5
|
+
/** The model the author edits; the host sets `errors` from the controller's `validate()`. */
|
|
6
|
+
export type AuthorModel = Partial<InlineDropdownModel> & {
|
|
7
|
+
choices: Choices;
|
|
8
|
+
markup: string;
|
|
9
|
+
slateMarkup: string;
|
|
10
|
+
errors?: InlineDropdownValidationErrors;
|
|
11
|
+
};
|
|
12
|
+
type MediaSupport<Handler> = {
|
|
13
|
+
add: (handler: Handler) => void;
|
|
14
|
+
delete: (src: string, done: DeleteDone) => void;
|
|
15
|
+
};
|
|
16
|
+
export type MainProps = {
|
|
17
|
+
model: AuthorModel;
|
|
18
|
+
configuration: InlineDropdownConfiguration;
|
|
19
|
+
disableSidePanel?: boolean;
|
|
20
|
+
onModelChanged: (model: Partial<AuthorModel>, reset?: boolean) => void;
|
|
21
|
+
onConfigurationChanged: (configuration: InlineDropdownConfiguration, reset?: boolean) => void;
|
|
22
|
+
imageSupport?: MediaSupport<ImageHandler>;
|
|
23
|
+
uploadSoundSupport?: MediaSupport<SoundHandler>;
|
|
24
|
+
};
|
|
25
|
+
type Warning = {
|
|
26
|
+
open: boolean;
|
|
27
|
+
text?: string;
|
|
28
|
+
onClose?: () => void;
|
|
29
|
+
onConfirm?: () => void;
|
|
30
|
+
};
|
|
31
|
+
type State = {
|
|
32
|
+
warning: Warning;
|
|
33
|
+
/** The choices of each response area as the toolbar edits them; set on mount */
|
|
34
|
+
respAreaChoices?: Choices;
|
|
35
|
+
};
|
|
36
|
+
/** A response area node in the template editor */
|
|
37
|
+
type ResponseAreaNode = {
|
|
38
|
+
attrs: {
|
|
39
|
+
index: string;
|
|
23
40
|
};
|
|
41
|
+
};
|
|
42
|
+
/** The template editor; it keeps a response area's toolbar open while this holds the area's index */
|
|
43
|
+
type TemplateEditor = {
|
|
44
|
+
_holdInlineDropdownToolbarIndex?: string;
|
|
45
|
+
};
|
|
46
|
+
export declare class Main extends React.Component<MainProps, State> {
|
|
47
|
+
state: State;
|
|
24
48
|
componentDidMount(): void;
|
|
25
|
-
UNSAFE_componentWillReceiveProps(nProps:
|
|
49
|
+
UNSAFE_componentWillReceiveProps(nProps: MainProps): void;
|
|
26
50
|
componentDidUpdate(): void;
|
|
27
|
-
onModelChange:
|
|
28
|
-
onPromptChanged:
|
|
29
|
-
onRationaleChanged:
|
|
30
|
-
onChoiceRationaleChanged:
|
|
31
|
-
onTeacherInstructionsChanged:
|
|
32
|
-
onMarkupChanged:
|
|
33
|
-
onCheck:
|
|
34
|
-
validateResponseAreaClose:
|
|
35
|
-
onChange:
|
|
36
|
-
onAddChoice:
|
|
37
|
-
onRemoveChoice:
|
|
38
|
-
onSelectChoice:
|
|
51
|
+
onModelChange: (newVal: Partial<AuthorModel>) => void;
|
|
52
|
+
onPromptChanged: (prompt: string) => void;
|
|
53
|
+
onRationaleChanged: (rationale: string) => void;
|
|
54
|
+
onChoiceRationaleChanged: (index: string, choice: Choice) => void;
|
|
55
|
+
onTeacherInstructionsChanged: (teacherInstructions: string) => void;
|
|
56
|
+
onMarkupChanged: (slateMarkup: string) => void;
|
|
57
|
+
onCheck: (confirmCallback: () => void, cancelCallback: () => void) => void;
|
|
58
|
+
validateResponseAreaClose: (node: ResponseAreaNode, pos: number, editor: TemplateEditor, closeToolbar: () => void, onCancel: () => void) => void;
|
|
59
|
+
onChange: (markup: string) => void;
|
|
60
|
+
onAddChoice: (index: string, label: string, choiceIndex: number) => void;
|
|
61
|
+
onRemoveChoice: (respIndex: string, index: number) => void;
|
|
62
|
+
onSelectChoice: (respIndex: string, selectedIndex: number) => void;
|
|
39
63
|
render(): React.JSX.Element;
|
|
40
64
|
}
|
|
41
65
|
export default Main;
|