@pie-element/match 12.1.1 → 12.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 (97) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/add-row.d.ts +17 -0
  4. package/dist/author/add-row.js +24 -0
  5. package/dist/author/answer-config-block.d.ts +36 -0
  6. package/dist/author/answer-config-block.js +176 -0
  7. package/dist/author/common.d.ts +22 -0
  8. package/dist/author/configure.d.ts +48 -0
  9. package/dist/author/configure.js +259 -0
  10. package/dist/author/defaults.d.ts +203 -0
  11. package/dist/author/defaults.js +151 -0
  12. package/dist/author/general-config-block.d.ts +22 -0
  13. package/dist/author/general-config-block.js +93 -0
  14. package/dist/author/index.d.ts +44 -0
  15. package/dist/author/index.js +76 -0
  16. package/dist/author/row.d.ts +51 -0
  17. package/dist/author/row.js +204 -0
  18. package/dist/author/utils.d.ts +10 -0
  19. package/dist/author/utils.js +10 -0
  20. package/dist/browser/Typography-CbSskKxx.js +9217 -0
  21. package/dist/browser/Typography-CbSskKxx.js.map +1 -0
  22. package/dist/browser/author/index.js +41596 -0
  23. package/dist/browser/author/index.js.map +1 -0
  24. package/dist/browser/browser-kkT1XVKw.js +219 -0
  25. package/dist/browser/browser-kkT1XVKw.js.map +1 -0
  26. package/dist/browser/controller/index.js +267 -0
  27. package/dist/browser/controller/index.js.map +1 -0
  28. package/dist/browser/delivery/index.js +1984 -0
  29. package/dist/browser/delivery/index.js.map +1 -0
  30. package/dist/browser/dist-i687VHmY.js +100 -0
  31. package/dist/browser/dist-i687VHmY.js.map +1 -0
  32. package/dist/browser/match.css +2 -0
  33. package/dist/controller/defaults.d.ts +27 -0
  34. package/dist/controller/defaults.js +25 -0
  35. package/dist/controller/index.d.ts +29 -0
  36. package/dist/controller/index.js +154 -0
  37. package/dist/delivery/answer-grid.d.ts +28 -0
  38. package/dist/delivery/answer-grid.js +99 -0
  39. package/dist/delivery/index.d.ts +21 -0
  40. package/dist/delivery/index.js +51 -0
  41. package/dist/delivery/main.d.ts +26 -0
  42. package/dist/delivery/main.js +112 -0
  43. package/dist/index.d.ts +1 -0
  44. package/dist/index.iife.d.ts +8 -0
  45. package/dist/index.iife.js +148 -0
  46. package/dist/index.js +2 -0
  47. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  48. package/dist/runtime-support.d.ts +12 -0
  49. package/dist/runtime-support.js +12 -0
  50. package/package.json +89 -22
  51. package/CHANGELOG.json +0 -1462
  52. package/CHANGELOG.md +0 -2331
  53. package/LICENSE.md +0 -5
  54. package/README.md +0 -1
  55. package/configure/CHANGELOG.json +0 -892
  56. package/configure/CHANGELOG.md +0 -2034
  57. package/configure/lib/add-row.js +0 -40
  58. package/configure/lib/add-row.js.map +0 -1
  59. package/configure/lib/answer-config-block.js +0 -288
  60. package/configure/lib/answer-config-block.js.map +0 -1
  61. package/configure/lib/common.js +0 -31
  62. package/configure/lib/common.js.map +0 -1
  63. package/configure/lib/configure.js +0 -410
  64. package/configure/lib/configure.js.map +0 -1
  65. package/configure/lib/defaults.js +0 -201
  66. package/configure/lib/defaults.js.map +0 -1
  67. package/configure/lib/general-config-block.js +0 -144
  68. package/configure/lib/general-config-block.js.map +0 -1
  69. package/configure/lib/index.js +0 -152
  70. package/configure/lib/index.js.map +0 -1
  71. package/configure/lib/row.js +0 -321
  72. package/configure/lib/row.js.map +0 -1
  73. package/configure/lib/utils.js +0 -12
  74. package/configure/lib/utils.js.map +0 -1
  75. package/configure/package.json +0 -29
  76. package/configure/utils.js +0 -19
  77. package/controller/CHANGELOG.json +0 -502
  78. package/controller/CHANGELOG.md +0 -1363
  79. package/controller/lib/defaults.js +0 -25
  80. package/controller/lib/defaults.js.map +0 -1
  81. package/controller/lib/index.js +0 -424
  82. package/controller/lib/index.js.map +0 -1
  83. package/controller/package.json +0 -24
  84. package/docs/config-schema.json +0 -2929
  85. package/docs/config-schema.json.md +0 -2162
  86. package/docs/demo/config.js +0 -8
  87. package/docs/demo/generate.js +0 -49
  88. package/docs/demo/index.html +0 -1
  89. package/docs/demo/session.js +0 -11
  90. package/docs/pie-schema.json +0 -1530
  91. package/docs/pie-schema.json.md +0 -907
  92. package/lib/answer-grid.js +0 -166
  93. package/lib/answer-grid.js.map +0 -1
  94. package/lib/index.js +0 -85
  95. package/lib/index.js.map +0 -1
  96. package/lib/main.js +0 -163
  97. package/lib/main.js.map +0 -1
@@ -0,0 +1,203 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/match/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
+ /** NOTE: teacherInstructions, studentInstructions, rationale & scoringType
10
+ * functionalities are not defined yet - the value for those can belong to
11
+ * model or to configuration
12
+ */
13
+ declare const _default: {
14
+ model: {
15
+ choiceMode: string;
16
+ feedbackEnabled: boolean;
17
+ headers: string[];
18
+ layout: number;
19
+ lockChoiceOrder: boolean;
20
+ partialScoring: boolean;
21
+ prompt: string;
22
+ promptEnabled: boolean;
23
+ rationale: string;
24
+ rationaleEnabled: boolean;
25
+ rows: never[];
26
+ scoringType: string;
27
+ studentInstructionsEnabled: boolean;
28
+ teacherInstructions: string;
29
+ teacherInstructionsEnabled: boolean;
30
+ toolbarEditorPosition: string;
31
+ };
32
+ configuration: {
33
+ baseInputConfiguration: {
34
+ h3: {
35
+ disabled: boolean;
36
+ };
37
+ audio: {
38
+ disabled: boolean;
39
+ };
40
+ video: {
41
+ disabled: boolean;
42
+ };
43
+ image: {
44
+ disabled: boolean;
45
+ };
46
+ textAlign: {
47
+ disabled: boolean;
48
+ };
49
+ showParagraphs: {
50
+ disabled: boolean;
51
+ };
52
+ separateParagraphs: {
53
+ disabled: boolean;
54
+ };
55
+ };
56
+ rows: {
57
+ inputConfiguration: {
58
+ audio: {
59
+ disabled: boolean;
60
+ };
61
+ video: {
62
+ disabled: boolean;
63
+ };
64
+ image: {
65
+ disabled: boolean;
66
+ };
67
+ };
68
+ };
69
+ feedback: {
70
+ settings: boolean;
71
+ label: string;
72
+ enabled: boolean;
73
+ };
74
+ headers: {
75
+ settings: boolean;
76
+ inputConfiguration: {
77
+ audio: {
78
+ disabled: boolean;
79
+ };
80
+ video: {
81
+ disabled: boolean;
82
+ };
83
+ image: {
84
+ disabled: boolean;
85
+ };
86
+ };
87
+ };
88
+ layout: {
89
+ settings: boolean;
90
+ label: string;
91
+ };
92
+ lockChoiceOrder: {
93
+ settings: boolean;
94
+ label: string;
95
+ };
96
+ partialScoring: {
97
+ settings: boolean;
98
+ label: string;
99
+ };
100
+ choiceMode: {
101
+ settings: boolean;
102
+ label: string;
103
+ };
104
+ prompt: {
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
+ rationale: {
121
+ settings: boolean;
122
+ label: string;
123
+ inputConfiguration: {
124
+ audio: {
125
+ disabled: boolean;
126
+ };
127
+ video: {
128
+ disabled: boolean;
129
+ };
130
+ image: {
131
+ disabled: boolean;
132
+ };
133
+ };
134
+ required: boolean;
135
+ };
136
+ settingsPanelDisabled: boolean;
137
+ spellCheck: {
138
+ label: string;
139
+ settings: boolean;
140
+ enabled: boolean;
141
+ };
142
+ scoringType: {
143
+ settings: boolean;
144
+ label: string;
145
+ };
146
+ studentInstructions: {
147
+ settings: boolean;
148
+ label: string;
149
+ };
150
+ teacherInstructions: {
151
+ settings: boolean;
152
+ label: string;
153
+ inputConfiguration: {
154
+ audio: {
155
+ disabled: boolean;
156
+ };
157
+ video: {
158
+ disabled: boolean;
159
+ };
160
+ image: {
161
+ disabled: boolean;
162
+ };
163
+ };
164
+ required: boolean;
165
+ };
166
+ maxImageWidth: {
167
+ teacherInstructions: number;
168
+ prompt: number;
169
+ rationale: number;
170
+ rowTitles: number;
171
+ };
172
+ maxImageHeight: {
173
+ teacherInstructions: number;
174
+ prompt: number;
175
+ rationale: number;
176
+ rowTitles: number;
177
+ };
178
+ withRubric: {
179
+ settings: boolean;
180
+ label: string;
181
+ };
182
+ minQuestions: number;
183
+ maxQuestions: number;
184
+ maxLengthQuestionsHeading: number;
185
+ maxAnswers: number;
186
+ maxLengthAnswers: number;
187
+ maxLengthFirstColumnHeading: number;
188
+ mathMlOptions: {
189
+ mmlOutput: boolean;
190
+ mmlEditing: boolean;
191
+ };
192
+ language: {
193
+ settings: boolean;
194
+ label: string;
195
+ enabled: boolean;
196
+ };
197
+ languageChoices: {
198
+ label: string;
199
+ options: never[];
200
+ };
201
+ };
202
+ };
203
+ export default _default;
@@ -0,0 +1,151 @@
1
+ //#region src/author/defaults.ts
2
+ var e = {
3
+ model: {
4
+ choiceMode: "radio",
5
+ feedbackEnabled: !1,
6
+ headers: [
7
+ "Column 1",
8
+ "Column 2",
9
+ "Column 3"
10
+ ],
11
+ layout: 3,
12
+ lockChoiceOrder: !0,
13
+ partialScoring: !1,
14
+ prompt: "",
15
+ promptEnabled: !0,
16
+ rationale: "",
17
+ rationaleEnabled: !0,
18
+ rows: [],
19
+ scoringType: "auto",
20
+ studentInstructionsEnabled: !0,
21
+ teacherInstructions: "",
22
+ teacherInstructionsEnabled: !0,
23
+ toolbarEditorPosition: "bottom"
24
+ },
25
+ configuration: {
26
+ baseInputConfiguration: {
27
+ h3: { disabled: !0 },
28
+ audio: { disabled: !1 },
29
+ video: { disabled: !1 },
30
+ image: { disabled: !1 },
31
+ textAlign: { disabled: !0 },
32
+ showParagraphs: { disabled: !1 },
33
+ separateParagraphs: { disabled: !0 }
34
+ },
35
+ rows: { inputConfiguration: {
36
+ audio: { disabled: !0 },
37
+ video: { disabled: !0 },
38
+ image: { disabled: !1 }
39
+ } },
40
+ feedback: {
41
+ settings: !0,
42
+ label: "Feedback",
43
+ enabled: !0
44
+ },
45
+ headers: {
46
+ settings: !0,
47
+ inputConfiguration: {
48
+ audio: { disabled: !0 },
49
+ video: { disabled: !0 },
50
+ image: { disabled: !1 }
51
+ }
52
+ },
53
+ layout: {
54
+ settings: !0,
55
+ label: "Layout"
56
+ },
57
+ lockChoiceOrder: {
58
+ settings: !1,
59
+ label: "Lock Choice Order"
60
+ },
61
+ partialScoring: {
62
+ settings: !1,
63
+ label: "Allow Partial Scoring"
64
+ },
65
+ choiceMode: {
66
+ settings: !0,
67
+ label: "Response Type"
68
+ },
69
+ prompt: {
70
+ settings: !0,
71
+ label: "Prompt",
72
+ inputConfiguration: {
73
+ audio: { disabled: !1 },
74
+ video: { disabled: !1 },
75
+ image: { disabled: !1 }
76
+ },
77
+ required: !1
78
+ },
79
+ rationale: {
80
+ settings: !0,
81
+ label: "Rationale",
82
+ inputConfiguration: {
83
+ audio: { disabled: !1 },
84
+ video: { disabled: !1 },
85
+ image: { disabled: !1 }
86
+ },
87
+ required: !1
88
+ },
89
+ settingsPanelDisabled: !1,
90
+ spellCheck: {
91
+ label: "Spellcheck",
92
+ settings: !1,
93
+ enabled: !0
94
+ },
95
+ scoringType: {
96
+ settings: !1,
97
+ label: "Scoring Type"
98
+ },
99
+ studentInstructions: {
100
+ settings: !1,
101
+ label: "Student Instructions"
102
+ },
103
+ teacherInstructions: {
104
+ settings: !0,
105
+ label: "Teacher Instructions",
106
+ inputConfiguration: {
107
+ audio: { disabled: !1 },
108
+ video: { disabled: !1 },
109
+ image: { disabled: !1 }
110
+ },
111
+ required: !1
112
+ },
113
+ maxImageWidth: {
114
+ teacherInstructions: 300,
115
+ prompt: 300,
116
+ rationale: 300,
117
+ rowTitles: 300
118
+ },
119
+ maxImageHeight: {
120
+ teacherInstructions: 300,
121
+ prompt: 300,
122
+ rationale: 300,
123
+ rowTitles: 150
124
+ },
125
+ withRubric: {
126
+ settings: !1,
127
+ label: "Add Rubric"
128
+ },
129
+ minQuestions: 2,
130
+ maxQuestions: 5,
131
+ maxLengthQuestionsHeading: 100,
132
+ maxAnswers: 5,
133
+ maxLengthAnswers: 100,
134
+ maxLengthFirstColumnHeading: 100,
135
+ mathMlOptions: {
136
+ mmlOutput: !1,
137
+ mmlEditing: !1
138
+ },
139
+ language: {
140
+ settings: !1,
141
+ label: "Specify Language",
142
+ enabled: !1
143
+ },
144
+ languageChoices: {
145
+ label: "Language Choices",
146
+ options: []
147
+ }
148
+ }
149
+ };
150
+ //#endregion
151
+ export { e as default };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/match/configure/src/general-config-block.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 * as React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ declare class GeneralConfigBlock extends React.Component {
12
+ static propTypes: {
13
+ model: PropTypes.Validator<object>;
14
+ configuration: PropTypes.Validator<object>;
15
+ onResponseTypeChange: PropTypes.Validator<(...args: any[]) => any>;
16
+ onLayoutChange: PropTypes.Validator<(...args: any[]) => any>;
17
+ };
18
+ onChangeResponseType: (name: any) => (event: any) => void;
19
+ onChangeColumns: any;
20
+ render(): React.JSX.Element;
21
+ }
22
+ export default GeneralConfigBlock;
@@ -0,0 +1,93 @@
1
+ import { generateValidationMessage as e } from "./utils.js";
2
+ import * as t from "react";
3
+ import n from "prop-types";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import a from "@mui/material/Typography";
6
+ import { styled as o } from "@mui/material/styles";
7
+ import { InputContainer as s, NumberTextField as c } from "@pie-lib/config-ui";
8
+ import l from "@mui/material/Select";
9
+ import u from "@mui/material/MenuItem";
10
+ import d from "@mui/icons-material/Info";
11
+ import f from "@mui/material/Tooltip";
12
+ //#region src/author/general-config-block.tsx
13
+ var p = o("div")(({ theme: e }) => ({
14
+ marginTop: e.spacing(2),
15
+ display: "flex"
16
+ })), m = o("div")({ flex: 1 }), h = o(c)({ flexDirection: "unset" }), g = o("div")(({ theme: e }) => ({
17
+ paddingTop: e.spacing(1),
18
+ paddingBottom: e.spacing(2),
19
+ ".select-input-container": { minWidth: "65%" }
20
+ })), _ = o("div")({
21
+ display: "flex",
22
+ alignItems: "center"
23
+ }), v = o(a)(({ theme: e }) => ({
24
+ fontSize: e.typography.fontSize + 2,
25
+ marginRight: e.spacing(1)
26
+ })), y = o(f)(({ theme: e }) => ({ "& .MuiTooltip-tooltip": {
27
+ fontSize: e.typography.fontSize - 2,
28
+ whiteSpace: "pre",
29
+ maxWidth: "500px"
30
+ } })), b = class extends t.Component {
31
+ static propTypes = {
32
+ model: n.object.isRequired,
33
+ configuration: n.object.isRequired,
34
+ onResponseTypeChange: n.func.isRequired,
35
+ onLayoutChange: n.func.isRequired
36
+ };
37
+ onChangeResponseType = (e) => (t) => {
38
+ let { model: n, onResponseTypeChange: r } = this.props, i = { ...n };
39
+ i[e] = t.target.value, r(i[e]);
40
+ };
41
+ onChangeColumns = (e, t) => {
42
+ let { model: n, onLayoutChange: r } = this.props, i = { ...n };
43
+ i[e] = t, r(i[e]);
44
+ };
45
+ render() {
46
+ let { model: n, configuration: a } = this.props, { layout: o = {}, choiceMode: c = {}, maxAnswers: f } = a || {}, b = e(n, a);
47
+ return /* @__PURE__ */ i(t.Fragment, { children: [/* @__PURE__ */ i(_, { children: [/* @__PURE__ */ r(v, {
48
+ component: "div",
49
+ children: "Define questions"
50
+ }), /* @__PURE__ */ r(y, {
51
+ disableFocusListener: !0,
52
+ disableTouchListener: !0,
53
+ placement: "right",
54
+ title: b,
55
+ children: /* @__PURE__ */ r(d, {
56
+ fontSize: "small",
57
+ color: "primary"
58
+ })
59
+ })] }), /* @__PURE__ */ i(p, { children: [/* @__PURE__ */ r(m, { children: o.settings && /* @__PURE__ */ r(g, { children: /* @__PURE__ */ r(s, {
60
+ label: o.label,
61
+ className: "input-container",
62
+ children: /* @__PURE__ */ r(h, {
63
+ type: "number",
64
+ min: 3,
65
+ max: f || 10,
66
+ value: n.layout,
67
+ onChange: (e, t) => this.onChangeColumns("layout", t),
68
+ suffix: "Columns"
69
+ })
70
+ }) }) }), /* @__PURE__ */ r(m, { children: c.settings && /* @__PURE__ */ r(g, { children: /* @__PURE__ */ r(s, {
71
+ label: c.label,
72
+ className: "select-input-container",
73
+ children: /* @__PURE__ */ i(l, {
74
+ variant: "standard",
75
+ onChange: this.onChangeResponseType("choiceMode"),
76
+ value: n.choiceMode,
77
+ MenuProps: { transitionDuration: {
78
+ enter: 225,
79
+ exit: 195
80
+ } },
81
+ children: [/* @__PURE__ */ r(u, {
82
+ value: "radio",
83
+ children: "Radio - One Answer"
84
+ }), /* @__PURE__ */ r(u, {
85
+ value: "checkbox",
86
+ children: "Checkbox - Multiple Answers"
87
+ })]
88
+ })
89
+ }) }) })] })] });
90
+ }
91
+ };
92
+ //#endregion
93
+ export { b as default };
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/match/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 MatchConfigure extends HTMLElement {
10
+ static createDefaultModel: (model?: {}) => {
11
+ choiceMode: string;
12
+ feedbackEnabled: boolean;
13
+ headers: string[];
14
+ layout: number;
15
+ lockChoiceOrder: boolean;
16
+ partialScoring: boolean;
17
+ prompt: string;
18
+ promptEnabled: boolean;
19
+ rationale: string;
20
+ rationaleEnabled: boolean;
21
+ rows: never[];
22
+ scoringType: string;
23
+ studentInstructionsEnabled: boolean;
24
+ teacherInstructions: string;
25
+ teacherInstructionsEnabled: boolean;
26
+ toolbarEditorPosition: string;
27
+ };
28
+ constructor();
29
+ set model(m: any);
30
+ resetModelAfterConfigurationIsSet: any;
31
+ set configuration(c: any);
32
+ onModelChanged(model: any): void;
33
+ onConfigurationChanged(config: any): void;
34
+ /**
35
+ *
36
+ * @param {done, progress, file} handler
37
+ */
38
+ insertImage(handler: any): void;
39
+ onDeleteImage(src: any, done: any): void;
40
+ insertSound(handler: any): void;
41
+ onDeleteSound(src: any, done: any): void;
42
+ _render(): void;
43
+ disconnectedCallback(): void;
44
+ }
@@ -0,0 +1,76 @@
1
+ import e from "./configure.js";
2
+ import t from "./defaults.js";
3
+ import n from "react";
4
+ import { createRoot as r } from "react-dom/client";
5
+ import { cloneDeep as i, isEmpty as a, set as o } from "@pie-element/shared-lodash";
6
+ import s from "debug";
7
+ import { DeleteImageEvent as c, DeleteSoundEvent as l, InsertImageEvent as u, InsertSoundEvent as d, ModelUpdatedEvent as f } from "@pie-element/shared-configure-events";
8
+ //#region src/author/index.ts
9
+ var p = s("pie-elements:match:configure"), m = class s extends HTMLElement {
10
+ static createDefaultModel = (e = {}) => ({
11
+ ...t.model,
12
+ ...e
13
+ });
14
+ constructor() {
15
+ super(), this._root = null, this._model = s.createDefaultModel(), this._configuration = t.configuration;
16
+ }
17
+ set model(e) {
18
+ this._model = s.createDefaultModel(e), this._modelCopy = i(this._model), this._render();
19
+ }
20
+ resetModelAfterConfigurationIsSet = () => {
21
+ let e = document.querySelectorAll("pie-author");
22
+ this.hasPlayerAsParent = Array.from(e).some((e) => e.contains(this)), this.hasPlayerAsParent && (this._modelCopy ? this._model = this._modelCopy : delete this._modelCopy);
23
+ };
24
+ set configuration(e) {
25
+ let n = {
26
+ ...t.configuration,
27
+ ...e
28
+ };
29
+ this._configuration = n, this.resetModelAfterConfigurationIsSet(), n?.language?.enabled ? n?.languageChoices?.options?.length && (this._model.language = n?.languageChoices.options[0].value) : n.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, a(e?.rows?.inputConfiguration) && (o(this._configuration.rows, "inputConfiguration.image.disabled", !this._model?.enableImages), o(this._configuration.rows, "inputConfiguration.video.disabled", !0), o(this._configuration.rows, "inputConfiguration.audio.disabled", !0)), this._render();
33
+ }
34
+ onModelChanged(e) {
35
+ this._model = e, p("[onModelChanged]: ", this._model), this._render(), this.dispatchEvent(new f(this._model));
36
+ }
37
+ onConfigurationChanged(e) {
38
+ this._configuration = e, this._render();
39
+ }
40
+ insertImage(e) {
41
+ this.dispatchEvent(new u(e));
42
+ }
43
+ onDeleteImage(e, t) {
44
+ this.dispatchEvent(new c(e, t));
45
+ }
46
+ insertSound(e) {
47
+ this.dispatchEvent(new d(e));
48
+ }
49
+ onDeleteSound(e, t) {
50
+ this.dispatchEvent(new l(e, t));
51
+ }
52
+ _render() {
53
+ if (this._model) {
54
+ let t = n.createElement(e, {
55
+ onModelChanged: this.onModelChanged.bind(this),
56
+ onConfigurationChanged: this.onConfigurationChanged.bind(this),
57
+ model: this._model,
58
+ configuration: this._configuration,
59
+ imageSupport: {
60
+ add: this.insertImage.bind(this),
61
+ delete: this.onDeleteImage.bind(this)
62
+ },
63
+ uploadSoundSupport: {
64
+ add: this.insertSound.bind(this),
65
+ delete: this.onDeleteSound.bind(this)
66
+ }
67
+ });
68
+ this._root ||= r(this), this._root.render(t);
69
+ }
70
+ }
71
+ disconnectedCallback() {
72
+ this._root && this._root.unmount();
73
+ }
74
+ };
75
+ //#endregion
76
+ export { m as default };
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/match/configure/src/row.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 let canDrag: boolean;
12
+ export declare class Row extends React.Component {
13
+ static propTypes: {
14
+ model: PropTypes.Validator<object>;
15
+ row: PropTypes.Validator<object>;
16
+ idx: PropTypes.Validator<number>;
17
+ maxImageWidth: PropTypes.Requireable<object>;
18
+ maxImageHeight: PropTypes.Requireable<object>;
19
+ onDeleteRow: PropTypes.Validator<(...args: any[]) => any>;
20
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
21
+ imageSupport: PropTypes.Requireable<PropTypes.InferProps<{
22
+ add: PropTypes.Validator<(...args: any[]) => any>;
23
+ delete: PropTypes.Validator<(...args: any[]) => any>;
24
+ }>>;
25
+ uploadSoundSupport: PropTypes.Requireable<PropTypes.InferProps<{
26
+ add: PropTypes.Validator<(...args: any[]) => any>;
27
+ delete: PropTypes.Validator<(...args: any[]) => any>;
28
+ }>>;
29
+ inputConfiguration: PropTypes.Requireable<object>;
30
+ toolbarOpts: PropTypes.Requireable<object>;
31
+ error: PropTypes.Requireable<string>;
32
+ spellCheck: PropTypes.Requireable<boolean>;
33
+ minQuestions: PropTypes.Requireable<number>;
34
+ };
35
+ static defaultProps: {};
36
+ state: {
37
+ dialog: {
38
+ open: boolean;
39
+ text: string;
40
+ };
41
+ };
42
+ componentDidMount(): void;
43
+ onRowTitleChange: (rowIndex: any) => (value: any) => void;
44
+ onRowValueChange: (rowIndex: any, rowValueIndex: any) => (event: any) => void;
45
+ onDeleteRow: (idx: any) => () => void;
46
+ onMouseDownOnHandle: any;
47
+ onMouseUpOnHandle: any;
48
+ render(): React.JSX.Element;
49
+ }
50
+ declare function DraggableRow(props: any): React.JSX.Element;
51
+ export default DraggableRow;