@pie-element/inline-dropdown 10.1.1 → 10.1.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 (86) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/defaults.d.ts +194 -0
  4. package/dist/author/defaults.js +130 -0
  5. package/dist/author/index.d.ts +43 -0
  6. package/dist/author/index.js +83 -0
  7. package/dist/author/inline-dropdown-toolbar.d.ts +48 -0
  8. package/dist/author/inline-dropdown-toolbar.js +268 -0
  9. package/dist/author/main.d.ts +49 -0
  10. package/dist/author/main.js +379 -0
  11. package/dist/author/markupUtils.d.ts +12 -0
  12. package/dist/author/markupUtils.js +23 -0
  13. package/dist/author/response-area.d.ts +20 -0
  14. package/dist/author/response-area.js +32 -0
  15. package/dist/author/utils.d.ts +10 -0
  16. package/dist/author/utils.js +10 -0
  17. package/dist/browser/Close-CMvmRhfL.js +9024 -0
  18. package/dist/browser/Close-CMvmRhfL.js.map +1 -0
  19. package/dist/browser/author/index.js +40578 -0
  20. package/dist/browser/author/index.js.map +1 -0
  21. package/dist/browser/controller/index.js +196 -0
  22. package/dist/browser/controller/index.js.map +1 -0
  23. package/dist/browser/delivery/index.js +2714 -0
  24. package/dist/browser/delivery/index.js.map +1 -0
  25. package/dist/browser/dist-CAsDMEWi.js +133 -0
  26. package/dist/browser/dist-CAsDMEWi.js.map +1 -0
  27. package/dist/browser/inline-dropdown.css +2 -0
  28. package/dist/controller/defaults.d.ts +27 -0
  29. package/dist/controller/defaults.js +21 -0
  30. package/dist/controller/index.d.ts +54 -0
  31. package/dist/controller/index.js +124 -0
  32. package/dist/controller/utils.d.ts +12 -0
  33. package/dist/controller/utils.js +13 -0
  34. package/dist/delivery/index.d.ts +20 -0
  35. package/dist/delivery/index.js +60 -0
  36. package/dist/delivery/inline-dropdown.d.ts +38 -0
  37. package/dist/delivery/inline-dropdown.js +109 -0
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.iife.d.ts +8 -0
  40. package/dist/index.iife.js +148 -0
  41. package/dist/index.js +2 -0
  42. package/dist/runtime-support.d.ts +12 -0
  43. package/dist/runtime-support.js +12 -0
  44. package/package.json +86 -21
  45. package/CHANGELOG.json +0 -1082
  46. package/CHANGELOG.md +0 -2185
  47. package/LICENSE.md +0 -5
  48. package/README.md +0 -1
  49. package/configure/CHANGELOG.json +0 -647
  50. package/configure/CHANGELOG.md +0 -1942
  51. package/configure/lib/defaults.js +0 -192
  52. package/configure/lib/defaults.js.map +0 -1
  53. package/configure/lib/index.js +0 -135
  54. package/configure/lib/index.js.map +0 -1
  55. package/configure/lib/inline-dropdown-toolbar.js +0 -457
  56. package/configure/lib/inline-dropdown-toolbar.js.map +0 -1
  57. package/configure/lib/main.js +0 -603
  58. package/configure/lib/main.js.map +0 -1
  59. package/configure/lib/markupUtils.js +0 -50
  60. package/configure/lib/markupUtils.js.map +0 -1
  61. package/configure/lib/response-area.js +0 -48
  62. package/configure/lib/response-area.js.map +0 -1
  63. package/configure/lib/utils.js +0 -22
  64. package/configure/lib/utils.js.map +0 -1
  65. package/configure/package.json +0 -24
  66. package/controller/CHANGELOG.json +0 -467
  67. package/controller/CHANGELOG.md +0 -1283
  68. package/controller/lib/defaults.js +0 -25
  69. package/controller/lib/defaults.js.map +0 -1
  70. package/controller/lib/index.js +0 -295
  71. package/controller/lib/index.js.map +0 -1
  72. package/controller/lib/utils.js +0 -32
  73. package/controller/lib/utils.js.map +0 -1
  74. package/controller/package.json +0 -16
  75. package/docs/config-schema.json +0 -2854
  76. package/docs/config-schema.json.md +0 -2106
  77. package/docs/demo/config.js +0 -8
  78. package/docs/demo/generate.js +0 -76
  79. package/docs/demo/index.html +0 -1
  80. package/docs/demo/session.js +0 -11
  81. package/docs/pie-schema.json +0 -1152
  82. package/docs/pie-schema.json.md +0 -814
  83. package/lib/index.js +0 -85
  84. package/lib/index.js.map +0 -1
  85. package/lib/inline-dropdown.js +0 -176
  86. package/lib/inline-dropdown.js.map +0 -1
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,194 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/inline-dropdown/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
+ alternateResponse: {};
12
+ choiceRationaleEnabled: boolean;
13
+ choices: {};
14
+ disabled: boolean;
15
+ displayType: string;
16
+ markup: string;
17
+ mode: string;
18
+ prompt: string;
19
+ promptEnabled: boolean;
20
+ rationale: string;
21
+ rationaleEnabled: boolean;
22
+ shuffle: boolean;
23
+ studentInstructionsEnabled: boolean;
24
+ teacherInstructions: string;
25
+ teacherInstructionsEnabled: boolean;
26
+ toolbarEditorPosition: string;
27
+ };
28
+ configuration: {
29
+ baseInputConfiguration: {
30
+ audio: {
31
+ disabled: boolean;
32
+ };
33
+ video: {
34
+ disabled: boolean;
35
+ };
36
+ image: {
37
+ disabled: boolean;
38
+ };
39
+ h3: {
40
+ disabled: boolean;
41
+ };
42
+ blockquote: {
43
+ disabled: boolean;
44
+ };
45
+ textAlign: {
46
+ disabled: boolean;
47
+ };
48
+ showParagraphs: {
49
+ disabled: boolean;
50
+ };
51
+ separateParagraphs: {
52
+ disabled: boolean;
53
+ };
54
+ };
55
+ prompt: {
56
+ settings: boolean;
57
+ label: string;
58
+ required: boolean;
59
+ inputConfiguration: {
60
+ audio: {
61
+ disabled: boolean;
62
+ };
63
+ video: {
64
+ disabled: boolean;
65
+ };
66
+ image: {
67
+ disabled: boolean;
68
+ };
69
+ };
70
+ };
71
+ responseAreaInputConfiguration: {
72
+ inputConfiguration: {
73
+ audio: {
74
+ disabled: boolean;
75
+ };
76
+ video: {
77
+ disabled: boolean;
78
+ };
79
+ image: {
80
+ disabled: boolean;
81
+ };
82
+ table: {
83
+ disabled: boolean;
84
+ };
85
+ ul_list: {
86
+ disabled: boolean;
87
+ };
88
+ ol_list: {
89
+ disabled: boolean;
90
+ };
91
+ };
92
+ };
93
+ settingsPanelDisabled: boolean;
94
+ spellCheck: {
95
+ label: string;
96
+ settings: boolean;
97
+ enabled: boolean;
98
+ };
99
+ lockChoiceOrder: {
100
+ settings: boolean;
101
+ label: string;
102
+ };
103
+ partialScoring: {
104
+ settings: boolean;
105
+ label: string;
106
+ };
107
+ rationale: {
108
+ settings: boolean;
109
+ label: string;
110
+ required: boolean;
111
+ inputConfiguration: {
112
+ audio: {
113
+ disabled: boolean;
114
+ };
115
+ video: {
116
+ disabled: boolean;
117
+ };
118
+ image: {
119
+ disabled: boolean;
120
+ };
121
+ textAlign: {
122
+ disabled: boolean;
123
+ };
124
+ };
125
+ };
126
+ teacherInstructions: {
127
+ settings: boolean;
128
+ label: string;
129
+ required: boolean;
130
+ inputConfiguration: {
131
+ audio: {
132
+ disabled: boolean;
133
+ };
134
+ video: {
135
+ disabled: boolean;
136
+ };
137
+ image: {
138
+ disabled: boolean;
139
+ };
140
+ };
141
+ };
142
+ template: {
143
+ inputConfiguration: {
144
+ audio: {
145
+ disabled: boolean;
146
+ };
147
+ video: {
148
+ disabled: boolean;
149
+ };
150
+ image: {
151
+ disabled: boolean;
152
+ };
153
+ };
154
+ };
155
+ choiceRationale: {
156
+ settings: boolean;
157
+ label: string;
158
+ };
159
+ toolbarEditorPosition: {
160
+ settings: boolean;
161
+ label: string;
162
+ };
163
+ maxResponseAreas: number;
164
+ maxResponseAreaChoices: number;
165
+ maxImageWidth: {
166
+ teacherInstructions: number;
167
+ prompt: number;
168
+ rationale: number;
169
+ };
170
+ maxImageHeight: {
171
+ teacherInstructions: number;
172
+ prompt: number;
173
+ rationale: number;
174
+ };
175
+ withRubric: {
176
+ settings: boolean;
177
+ label: string;
178
+ };
179
+ mathMlOptions: {
180
+ mmlOutput: boolean;
181
+ mmlEditing: boolean;
182
+ };
183
+ language: {
184
+ settings: boolean;
185
+ label: string;
186
+ enabled: boolean;
187
+ };
188
+ languageChoices: {
189
+ label: string;
190
+ options: never[];
191
+ };
192
+ };
193
+ };
194
+ export default _default;
@@ -0,0 +1,130 @@
1
+ //#region src/author/defaults.ts
2
+ var e = {
3
+ model: {
4
+ alternateResponse: {},
5
+ choiceRationaleEnabled: !0,
6
+ choices: {},
7
+ disabled: !1,
8
+ displayType: "block",
9
+ markup: "",
10
+ mode: "gather",
11
+ prompt: "",
12
+ promptEnabled: !0,
13
+ rationale: "",
14
+ rationaleEnabled: !0,
15
+ shuffle: !0,
16
+ studentInstructionsEnabled: !0,
17
+ teacherInstructions: "",
18
+ teacherInstructionsEnabled: !0,
19
+ toolbarEditorPosition: "bottom"
20
+ },
21
+ configuration: {
22
+ baseInputConfiguration: {
23
+ audio: { disabled: !1 },
24
+ video: { disabled: !1 },
25
+ image: { disabled: !1 },
26
+ h3: { disabled: !0 },
27
+ blockquote: { disabled: !0 },
28
+ textAlign: { disabled: !0 },
29
+ showParagraphs: { disabled: !1 },
30
+ separateParagraphs: { disabled: !0 }
31
+ },
32
+ prompt: {
33
+ settings: !0,
34
+ label: "Prompt",
35
+ required: !1,
36
+ inputConfiguration: {
37
+ audio: { disabled: !1 },
38
+ video: { disabled: !1 },
39
+ image: { disabled: !1 }
40
+ }
41
+ },
42
+ responseAreaInputConfiguration: { inputConfiguration: {
43
+ audio: { disabled: !0 },
44
+ video: { disabled: !0 },
45
+ image: { disabled: !0 },
46
+ table: { disabled: !0 },
47
+ ul_list: { disabled: !0 },
48
+ ol_list: { disabled: !0 }
49
+ } },
50
+ settingsPanelDisabled: !1,
51
+ spellCheck: {
52
+ label: "Spellcheck",
53
+ settings: !1,
54
+ enabled: !0
55
+ },
56
+ lockChoiceOrder: {
57
+ settings: !0,
58
+ label: "Lock Choice Order"
59
+ },
60
+ partialScoring: {
61
+ settings: !1,
62
+ label: "Allow Partial Scoring"
63
+ },
64
+ rationale: {
65
+ settings: !0,
66
+ label: "Rationale",
67
+ required: !1,
68
+ inputConfiguration: {
69
+ audio: { disabled: !1 },
70
+ video: { disabled: !1 },
71
+ image: { disabled: !1 },
72
+ textAlign: { disabled: !0 }
73
+ }
74
+ },
75
+ teacherInstructions: {
76
+ settings: !0,
77
+ label: "Teacher Instructions",
78
+ required: !1,
79
+ inputConfiguration: {
80
+ audio: { disabled: !1 },
81
+ video: { disabled: !1 },
82
+ image: { disabled: !1 }
83
+ }
84
+ },
85
+ template: { inputConfiguration: {
86
+ audio: { disabled: !1 },
87
+ video: { disabled: !1 },
88
+ image: { disabled: !1 }
89
+ } },
90
+ choiceRationale: {
91
+ settings: !0,
92
+ label: "Choice Rationale"
93
+ },
94
+ toolbarEditorPosition: {
95
+ settings: !1,
96
+ label: "Toolbar Editor Position"
97
+ },
98
+ maxResponseAreas: 10,
99
+ maxResponseAreaChoices: 10,
100
+ maxImageWidth: {
101
+ teacherInstructions: 300,
102
+ prompt: 300,
103
+ rationale: 300
104
+ },
105
+ maxImageHeight: {
106
+ teacherInstructions: 300,
107
+ prompt: 300,
108
+ rationale: 300
109
+ },
110
+ withRubric: {
111
+ settings: !1,
112
+ label: "Add Rubric"
113
+ },
114
+ mathMlOptions: {
115
+ mmlOutput: !1,
116
+ mmlEditing: !1
117
+ },
118
+ language: {
119
+ settings: !1,
120
+ label: "Specify Language",
121
+ enabled: !1
122
+ },
123
+ languageChoices: {
124
+ label: "Language Choices",
125
+ options: []
126
+ }
127
+ }
128
+ };
129
+ //#endregion
130
+ export { e as default };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/inline-dropdown/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 InlineDropdown extends HTMLElement {
10
+ static prepareModel: (model?: {}) => {
11
+ slateMarkup: any;
12
+ markup: string;
13
+ alternateResponse: {};
14
+ choiceRationaleEnabled: boolean;
15
+ choices: {};
16
+ disabled: boolean;
17
+ displayType: string;
18
+ mode: string;
19
+ prompt: string;
20
+ promptEnabled: boolean;
21
+ rationale: string;
22
+ rationaleEnabled: boolean;
23
+ shuffle: boolean;
24
+ studentInstructionsEnabled: boolean;
25
+ teacherInstructions: string;
26
+ teacherInstructionsEnabled: boolean;
27
+ toolbarEditorPosition: string;
28
+ };
29
+ constructor();
30
+ set model(s: any);
31
+ set configuration(c: any);
32
+ set disableSidePanel(s: any);
33
+ dispatchModelUpdated(reset: any): void;
34
+ onModelChanged(m: any, reset: any): void;
35
+ onConfigurationChanged(c: any): void;
36
+ /** @param {done, progress, file} handler */
37
+ insertImage(handler: any): void;
38
+ onDeleteImage(src: any, done: any): void;
39
+ insertSound(handler: any): void;
40
+ onDeleteSound(src: any, done: any): void;
41
+ _render(): void;
42
+ disconnectedCallback(): void;
43
+ }
@@ -0,0 +1,83 @@
1
+ import e from "./main.js";
2
+ import t from "./defaults.js";
3
+ import { createSlateMarkup as n, processMarkup as r } from "./markupUtils.js";
4
+ import i from "react";
5
+ import { createRoot as a } from "react-dom/client";
6
+ import { defaults as o } from "@pie-element/shared-lodash";
7
+ import { DeleteImageEvent as s, DeleteSoundEvent as c, InsertImageEvent as l, InsertSoundEvent as u, ModelUpdatedEvent as d } from "@pie-element/shared-configure-events";
8
+ import f from "debug";
9
+ //#region src/author/index.ts
10
+ var p = f("multiple-choice:configure"), m = class f extends HTMLElement {
11
+ static prepareModel = (e = {}) => {
12
+ let i = {
13
+ ...t.model,
14
+ ...e
15
+ }, a = e.slateMarkup || n(i.markup, i.choices), o = r(a);
16
+ return {
17
+ ...i,
18
+ slateMarkup: a,
19
+ markup: o
20
+ };
21
+ };
22
+ constructor() {
23
+ super(), this._root = null, this._model = f.prepareModel(), this._configuration = t.configuration, this.onModelChanged = this.onModelChanged.bind(this), this.onConfigurationChanged = this.onConfigurationChanged.bind(this);
24
+ }
25
+ set model(e) {
26
+ this._model = f.prepareModel(e), this._render();
27
+ }
28
+ set configuration(e) {
29
+ this._configuration = o(e, t.configuration), e.language?.enabled ? e.languageChoices?.options?.length && (this._model.language = e.languageChoices.options[0].value) : e.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({
30
+ value: this._model.language,
31
+ label: this._model.language
32
+ })) : delete this._model.language, this._render();
33
+ }
34
+ set disableSidePanel(e) {
35
+ this._disableSidePanel = e, this._render();
36
+ }
37
+ dispatchModelUpdated(e) {
38
+ let t = !!e;
39
+ this.dispatchEvent(new d(this._model, t));
40
+ }
41
+ onModelChanged(e, t) {
42
+ this._model = f.prepareModel(e), this._render(), this.dispatchModelUpdated(t);
43
+ }
44
+ onConfigurationChanged(e) {
45
+ this._configuration = e, this._render();
46
+ }
47
+ insertImage(e) {
48
+ this.dispatchEvent(new l(e));
49
+ }
50
+ onDeleteImage(e, t) {
51
+ this.dispatchEvent(new s(e, t));
52
+ }
53
+ insertSound(e) {
54
+ this.dispatchEvent(new u(e));
55
+ }
56
+ onDeleteSound(e, t) {
57
+ this.dispatchEvent(new c(e, t));
58
+ }
59
+ _render() {
60
+ p("_render");
61
+ let t = i.createElement(e, {
62
+ model: this._model,
63
+ configuration: this._configuration,
64
+ onModelChanged: this.onModelChanged,
65
+ onConfigurationChanged: this.onConfigurationChanged,
66
+ disableSidePanel: this._disableSidePanel,
67
+ imageSupport: {
68
+ add: this.insertImage.bind(this),
69
+ delete: this.onDeleteImage.bind(this)
70
+ },
71
+ uploadSoundSupport: {
72
+ add: this.insertSound.bind(this),
73
+ delete: this.onDeleteSound.bind(this)
74
+ }
75
+ });
76
+ this._root ||= a(this), this._root.render(t);
77
+ }
78
+ disconnectedCallback() {
79
+ this._root && this._root.unmount();
80
+ }
81
+ };
82
+ //#endregion
83
+ export { m as default };
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/inline-dropdown/configure/src/inline-dropdown-toolbar.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
+ declare class RespAreaToolbar extends React.Component {
12
+ static propTypes: {
13
+ node: PropTypes.Requireable<object>;
14
+ pos: PropTypes.Requireable<number>;
15
+ uploadSoundSupport: PropTypes.Requireable<object>;
16
+ onDone: PropTypes.Requireable<(...args: any[]) => any>;
17
+ choices: PropTypes.Requireable<any[]>;
18
+ onAddChoice: PropTypes.Validator<(...args: any[]) => any>;
19
+ editorCallback: PropTypes.Requireable<(...args: any[]) => any>;
20
+ onRemoveChoice: PropTypes.Validator<(...args: any[]) => any>;
21
+ onSelectChoice: PropTypes.Validator<(...args: any[]) => any>;
22
+ onToolbarDone: PropTypes.Validator<(...args: any[]) => any>;
23
+ editor: PropTypes.Requireable<object>;
24
+ spellCheck: PropTypes.Requireable<boolean>;
25
+ };
26
+ clickedInside: boolean;
27
+ preventDone: boolean;
28
+ state: {
29
+ respAreaMarkup: string;
30
+ editedChoiceIndex: number;
31
+ };
32
+ componentDidMount(): void;
33
+ componentDidUpdate(): void;
34
+ componentWillUnmount(): void;
35
+ commitPendingEdit: any;
36
+ onRespAreaChange: any;
37
+ onAddChoice: any;
38
+ onDone: any;
39
+ onSelectChoice: any;
40
+ onRemoveChoice: any;
41
+ onEditChoice: any;
42
+ onKeyDown: any;
43
+ onBlur: any;
44
+ onClickInside: any;
45
+ render(): React.JSX.Element | null;
46
+ }
47
+ declare const StyledRespAreaToolbar: typeof RespAreaToolbar;
48
+ export default StyledRespAreaToolbar;