@pie-element/match 12.1.2-next.2 → 12.1.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 +1462 -0
  2. package/CHANGELOG.md +2337 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +1 -0
  5. package/configure/CHANGELOG.json +892 -0
  6. package/configure/CHANGELOG.md +2040 -0
  7. package/configure/lib/add-row.js +40 -0
  8. package/configure/lib/add-row.js.map +1 -0
  9. package/configure/lib/answer-config-block.js +288 -0
  10. package/configure/lib/answer-config-block.js.map +1 -0
  11. package/configure/lib/common.js +31 -0
  12. package/configure/lib/common.js.map +1 -0
  13. package/configure/lib/configure.js +410 -0
  14. package/configure/lib/configure.js.map +1 -0
  15. package/configure/lib/defaults.js +201 -0
  16. package/configure/lib/defaults.js.map +1 -0
  17. package/configure/lib/general-config-block.js +144 -0
  18. package/configure/lib/general-config-block.js.map +1 -0
  19. package/configure/lib/index.js +152 -0
  20. package/configure/lib/index.js.map +1 -0
  21. package/configure/lib/row.js +321 -0
  22. package/configure/lib/row.js.map +1 -0
  23. package/configure/lib/utils.js +12 -0
  24. package/configure/lib/utils.js.map +1 -0
  25. package/configure/package.json +29 -0
  26. package/configure/utils.js +19 -0
  27. package/controller/CHANGELOG.json +502 -0
  28. package/controller/CHANGELOG.md +1363 -0
  29. package/controller/lib/defaults.js +25 -0
  30. package/controller/lib/defaults.js.map +1 -0
  31. package/controller/lib/index.js +424 -0
  32. package/controller/lib/index.js.map +1 -0
  33. package/controller/package.json +24 -0
  34. package/docs/config-schema.json +2929 -0
  35. package/docs/config-schema.json.md +2162 -0
  36. package/docs/demo/config.js +8 -0
  37. package/docs/demo/generate.js +49 -0
  38. package/docs/demo/index.html +1 -0
  39. package/docs/demo/session.js +11 -0
  40. package/docs/pie-schema.json +1530 -0
  41. package/docs/pie-schema.json.md +907 -0
  42. package/lib/answer-grid.js +166 -0
  43. package/lib/answer-grid.js.map +1 -0
  44. package/lib/index.js +85 -0
  45. package/lib/index.js.map +1 -0
  46. package/lib/main.js +163 -0
  47. package/lib/main.js.map +1 -0
  48. package/package.json +21 -87
  49. package/configure.js +0 -2
  50. package/controller.js +0 -1
  51. package/dist/author/add-row.d.ts +0 -17
  52. package/dist/author/add-row.js +0 -24
  53. package/dist/author/answer-config-block.d.ts +0 -36
  54. package/dist/author/answer-config-block.js +0 -176
  55. package/dist/author/common.d.ts +0 -22
  56. package/dist/author/configure.d.ts +0 -48
  57. package/dist/author/configure.js +0 -259
  58. package/dist/author/defaults.d.ts +0 -203
  59. package/dist/author/defaults.js +0 -151
  60. package/dist/author/general-config-block.d.ts +0 -22
  61. package/dist/author/general-config-block.js +0 -93
  62. package/dist/author/index.d.ts +0 -44
  63. package/dist/author/index.js +0 -76
  64. package/dist/author/row.d.ts +0 -51
  65. package/dist/author/row.js +0 -204
  66. package/dist/author/utils.d.ts +0 -10
  67. package/dist/author/utils.js +0 -10
  68. package/dist/browser/Typography-DSiRJjOv.js +0 -9224
  69. package/dist/browser/Typography-DSiRJjOv.js.map +0 -1
  70. package/dist/browser/author/index.js +0 -41596
  71. package/dist/browser/author/index.js.map +0 -1
  72. package/dist/browser/browser-kkT1XVKw.js +0 -219
  73. package/dist/browser/browser-kkT1XVKw.js.map +0 -1
  74. package/dist/browser/controller/index.js +0 -267
  75. package/dist/browser/controller/index.js.map +0 -1
  76. package/dist/browser/delivery/index.js +0 -1984
  77. package/dist/browser/delivery/index.js.map +0 -1
  78. package/dist/browser/dist-i687VHmY.js +0 -100
  79. package/dist/browser/dist-i687VHmY.js.map +0 -1
  80. package/dist/browser/match.css +0 -2
  81. package/dist/controller/defaults.d.ts +0 -27
  82. package/dist/controller/defaults.js +0 -25
  83. package/dist/controller/index.d.ts +0 -29
  84. package/dist/controller/index.js +0 -154
  85. package/dist/delivery/answer-grid.d.ts +0 -28
  86. package/dist/delivery/answer-grid.js +0 -99
  87. package/dist/delivery/index.d.ts +0 -21
  88. package/dist/delivery/index.js +0 -51
  89. package/dist/delivery/main.d.ts +0 -26
  90. package/dist/delivery/main.js +0 -112
  91. package/dist/index.d.ts +0 -1
  92. package/dist/index.iife.d.ts +0 -8
  93. package/dist/index.iife.js +0 -148
  94. package/dist/index.js +0 -2
  95. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +0 -16
  96. package/dist/runtime-support.d.ts +0 -12
  97. package/dist/runtime-support.js +0 -12
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.AddRowButton = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
12
+ var _styles = require("@mui/material/styles");
13
+ var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
14
+ const StyledButton = (0, _styles.styled)(_Button.default)({
15
+ display: 'flex',
16
+ alignSelf: 'flex-start',
17
+ margin: 0
18
+ });
19
+ const StyledAddButton = (0, _styles.styled)(_Add.default)(({
20
+ theme
21
+ }) => ({
22
+ marginRight: theme.spacing(0.5)
23
+ }));
24
+ class AddRowButton extends _react.default.Component {
25
+ render() {
26
+ const {
27
+ onAddClick
28
+ } = this.props;
29
+ return /*#__PURE__*/_react.default.createElement(StyledButton, {
30
+ disabled: false,
31
+ onClick: onAddClick
32
+ }, /*#__PURE__*/_react.default.createElement(StyledAddButton, null), "Add Another Row");
33
+ }
34
+ }
35
+ exports.AddRowButton = AddRowButton;
36
+ (0, _defineProperty2.default)(AddRowButton, "propTypes", {
37
+ onAddClick: _propTypes.default.func.isRequired
38
+ });
39
+ var _default = exports.default = AddRowButton;
40
+ //# sourceMappingURL=add-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-row.js","names":["_react","_interopRequireDefault","require","_propTypes","_Button","_styles","_Add","StyledButton","styled","Button","display","alignSelf","margin","StyledAddButton","AddButton","theme","marginRight","spacing","AddRowButton","React","Component","render","onAddClick","props","default","createElement","disabled","onClick","exports","_defineProperty2","PropTypes","func","isRequired","_default"],"sources":["../src/add-row.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@mui/material/Button';\nimport { styled } from '@mui/material/styles';\nimport AddButton from '@mui/icons-material/Add';\n\nconst StyledButton = styled(Button)({\n display: 'flex',\n alignSelf: 'flex-start',\n margin: 0,\n});\n\nconst StyledAddButton = styled(AddButton)(({ theme }) => ({\n marginRight: theme.spacing(0.5),\n}));\n\nexport class AddRowButton extends React.Component {\n static propTypes = {\n onAddClick: PropTypes.func.isRequired,\n };\n\n render() {\n const { onAddClick } = this.props;\n\n return (\n <StyledButton disabled={false} onClick={onAddClick}>\n <StyledAddButton />\n Add Another Row\n </StyledButton>\n );\n }\n}\n\nexport default AddRowButton;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,MAAMK,YAAY,GAAG,IAAAC,cAAM,EAACC,eAAM,CAAC,CAAC;EAClCC,OAAO,EAAE,MAAM;EACfC,SAAS,EAAE,YAAY;EACvBC,MAAM,EAAE;AACV,CAAC,CAAC;AAEF,MAAMC,eAAe,GAAG,IAAAL,cAAM,EAACM,YAAS,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EACxDC,WAAW,EAAED,KAAK,CAACE,OAAO,CAAC,GAAG;AAChC,CAAC,CAAC,CAAC;AAEI,MAAMC,YAAY,SAASC,cAAK,CAACC,SAAS,CAAC;EAKhDC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACC,KAAK;IAEjC,oBACEvB,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAAClB,YAAY;MAACmB,QAAQ,EAAE,KAAM;MAACC,OAAO,EAAEL;IAAW,gBACjDtB,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACZ,eAAe,MAAE,CAAC,mBAEP,CAAC;EAEnB;AACF;AAACe,OAAA,CAAAV,YAAA,GAAAA,YAAA;AAAA,IAAAW,gBAAA,CAAAL,OAAA,EAfYN,YAAY,eACJ;EACjBI,UAAU,EAAEQ,kBAAS,CAACC,IAAI,CAACC;AAC7B,CAAC;AAAA,IAAAC,QAAA,GAAAL,OAAA,CAAAJ,OAAA,GAcYN,YAAY","ignoreList":[]}
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _utils = require("./utils");
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
14
+ var _styles = require("@mui/material/styles");
15
+ var _addRow = _interopRequireDefault(require("./add-row"));
16
+ var _row = _interopRequireDefault(require("./row"));
17
+ var _debug = _interopRequireDefault(require("debug"));
18
+ var _lodashEs = require("lodash-es");
19
+ var _editableHtmlTipTap = _interopRequireWildcard(require("@pie-lib/editable-html-tip-tap"));
20
+ var _drag = require("@pie-lib/drag");
21
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
22
+ const log = (0, _debug.default)('pie-elements:match:configure');
23
+ const Container = (0, _styles.styled)('div')(({
24
+ theme
25
+ }) => ({
26
+ marginBottom: theme.spacing(2.5),
27
+ display: 'flex',
28
+ flexDirection: 'column'
29
+ }));
30
+ const RowContainer = (0, _styles.styled)('div')(({
31
+ theme
32
+ }) => ({
33
+ display: 'flex',
34
+ alignItems: 'center',
35
+ flex: 1,
36
+ width: '100%',
37
+ borderBottom: `2px solid ${theme.palette.grey['A100']}`,
38
+ paddingBottom: theme.spacing(2),
39
+ marginTop: theme.spacing(2),
40
+ marginBottom: theme.spacing(1)
41
+ }));
42
+ const RowItem = (0, _styles.styled)('div')(({
43
+ theme
44
+ }) => ({
45
+ flex: 1,
46
+ display: 'flex',
47
+ justifyContent: 'center',
48
+ alignItems: 'center',
49
+ flexDirection: 'column',
50
+ '&> div': {
51
+ width: '120px',
52
+ padding: `0 ${theme.spacing(1)}`,
53
+ textAlign: 'center'
54
+ }
55
+ }));
56
+ const DeleteIcon = (0, _styles.styled)('div')(({
57
+ theme
58
+ }) => ({
59
+ flex: 0.5,
60
+ minWidth: '45px',
61
+ padding: `0 ${theme.spacing(1)}`
62
+ }));
63
+ const RowTable = (0, _styles.styled)('div')({
64
+ display: 'flex',
65
+ flexDirection: 'column'
66
+ });
67
+ const ColumnErrorText = (0, _styles.styled)('div')(({
68
+ theme
69
+ }) => ({
70
+ fontSize: theme.typography.fontSize - 2,
71
+ color: theme.palette.error.main,
72
+ paddingTop: `${theme.spacing(1)} !important`,
73
+ width: 'fit-content !important'
74
+ }));
75
+ const ErrorText = (0, _styles.styled)('div')(({
76
+ theme
77
+ }) => ({
78
+ fontSize: theme.typography.fontSize - 2,
79
+ color: theme.palette.error.main,
80
+ paddingBottom: theme.spacing(1)
81
+ }));
82
+
83
+ // Global styles for EditableHtml components
84
+ const GlobalStyles = (0, _styles.styled)('div')(({
85
+ theme
86
+ }) => ({
87
+ '& .marginBottom': {
88
+ marginBottom: theme.typography.fontSize - 2 + theme.spacing(1)
89
+ },
90
+ '& .headerInput': {
91
+ '& > div': {
92
+ fontWeight: 'bold'
93
+ }
94
+ }
95
+ }));
96
+ class AnswerConfigBlock extends React.Component {
97
+ constructor(...args) {
98
+ super(...args);
99
+ (0, _defineProperty2.default)(this, "moveRow", event => {
100
+ const {
101
+ active,
102
+ over
103
+ } = event;
104
+ if (!over || !active) return;
105
+ const activeData = active.data.current;
106
+ const overData = over.data.current;
107
+ if (activeData?.type === 'row' && overData?.type === 'row') {
108
+ const from = activeData.index;
109
+ const to = overData.index;
110
+ const {
111
+ model,
112
+ onChange
113
+ } = this.props;
114
+ const newModel = {
115
+ ...model
116
+ };
117
+ const rows = newModel.rows || [];
118
+ log('[moveRow]: ', from, to);
119
+ const {
120
+ movedRow,
121
+ remainingRows
122
+ } = rows.reduce((acc, item, index) => {
123
+ if (index === from) {
124
+ acc.movedRow = item;
125
+ } else {
126
+ acc.remainingRows.push(item);
127
+ }
128
+ return acc;
129
+ }, {
130
+ movedRow: null,
131
+ remainingRows: []
132
+ });
133
+ const update = [...remainingRows.slice(0, to), movedRow, ...remainingRows.slice(to)];
134
+ log('update: ', update);
135
+ newModel.rows = update;
136
+ onChange(newModel);
137
+ }
138
+ });
139
+ (0, _defineProperty2.default)(this, "onChange", (name, isBoolean) => ({
140
+ target
141
+ }) => {
142
+ const {
143
+ model,
144
+ onChange
145
+ } = this.props;
146
+ let value;
147
+ if (isBoolean) {
148
+ value = target.checked;
149
+ } else {
150
+ value = target.value;
151
+ }
152
+ (0, _lodashEs.set)(model, name, value);
153
+ onChange(model, name);
154
+ });
155
+ (0, _defineProperty2.default)(this, "onHeaderChange", headerIndex => value => {
156
+ const {
157
+ model,
158
+ onChange
159
+ } = this.props;
160
+ const newModel = {
161
+ ...model
162
+ };
163
+ if (headerIndex === 0) {
164
+ newModel.headers[headerIndex] = value;
165
+ onChange(newModel);
166
+ return;
167
+ }
168
+ newModel.headers[headerIndex] = value;
169
+ onChange(newModel);
170
+ });
171
+ }
172
+ render() {
173
+ const {
174
+ model,
175
+ onAddRow,
176
+ imageSupport,
177
+ configuration,
178
+ toolbarOpts,
179
+ spellCheck,
180
+ uploadSoundSupport
181
+ } = this.props;
182
+ const {
183
+ baseInputConfiguration = {},
184
+ headers = {},
185
+ rows = {},
186
+ maxImageWidth = {},
187
+ maxImageHeight = {},
188
+ mathMlOptions = {},
189
+ minQuestions
190
+ } = configuration || {};
191
+ const {
192
+ errors
193
+ } = model || {};
194
+ const {
195
+ correctResponseError,
196
+ rowsErrors,
197
+ columnsErrors,
198
+ noOfRowsError,
199
+ columnsLengthError
200
+ } = errors || {};
201
+ const filteredDefaultPlugins = (_editableHtmlTipTap.DEFAULT_PLUGINS || []).filter(p => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list');
202
+ const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
203
+ const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
204
+ return /*#__PURE__*/React.createElement(GlobalStyles, null, /*#__PURE__*/React.createElement(_drag.DragProvider, {
205
+ onDragEnd: this.moveRow
206
+ }, /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(_Typography.default, {
207
+ type: "body1",
208
+ component: "div"
209
+ }, "Click on the labels to edit or remove. Set the correct answers by clicking each correct answer per row."), /*#__PURE__*/React.createElement(RowTable, {
210
+ style: configuration.width ? {
211
+ width: configuration.width,
212
+ overflow: 'scroll'
213
+ } : {}
214
+ }, /*#__PURE__*/React.createElement(RowContainer, null, headers.settings && (model.headers || []).map((header, idx) => /*#__PURE__*/React.createElement(RowItem, {
215
+ key: idx,
216
+ className: (0, _classnames.default)({
217
+ questionText: idx === 0
218
+ }),
219
+ sx: idx === 0 ? {
220
+ flex: 2,
221
+ display: 'flex',
222
+ justifyContent: 'flex-start',
223
+ marginRight: 1,
224
+ '&> div': {
225
+ width: '100%',
226
+ padding: 0,
227
+ maxWidth: 'unset',
228
+ textAlign: 'left',
229
+ minWidth: '200px'
230
+ }
231
+ } : {}
232
+ }, /*#__PURE__*/React.createElement(_editableHtmlTipTap.default, {
233
+ onChange: this.onHeaderChange(idx),
234
+ markup: header,
235
+ className: columnsErrors && !columnsErrors[idx] ? 'marginBottom' : 'headerInput',
236
+ label: 'column label',
237
+ activePlugins: filteredDefaultPlugins,
238
+ pluginProps: (0, _utils.getPluginProps)(headers?.inputConfiguration, baseInputConfiguration),
239
+ autoWidthToolbar: true,
240
+ spellCheck: spellCheck,
241
+ uploadSoundSupport: uploadSoundSupport,
242
+ languageCharactersProps: [{
243
+ language: 'spanish'
244
+ }, {
245
+ language: 'special'
246
+ }],
247
+ error: columnsErrors && columnsErrors[idx]
248
+ }), columnsErrors && columnsErrors[idx] && /*#__PURE__*/React.createElement(ColumnErrorText, null, columnsErrors[idx]))), /*#__PURE__*/React.createElement(DeleteIcon, null)), model.rows.map((row, idx) => /*#__PURE__*/React.createElement(_row.default, {
249
+ key: idx,
250
+ model: model,
251
+ row: row,
252
+ idx: idx,
253
+ onDeleteRow: this.props.onDeleteRow,
254
+ onChange: this.props.onChange,
255
+ imageSupport: imageSupport,
256
+ toolbarOpts: toolbarOpts,
257
+ spellCheck: spellCheck,
258
+ error: rowsErrors?.[row.id],
259
+ maxImageWidth: maxImageWidth && maxImageWidth.rowTitles || defaultImageMaxWidth,
260
+ maxImageHeight: maxImageHeight && maxImageHeight.rowTitles || defaultImageMaxHeight,
261
+ uploadSoundSupport: uploadSoundSupport,
262
+ mathMlOptions: mathMlOptions,
263
+ minQuestions: minQuestions,
264
+ inputConfiguration: (0, _utils.getPluginProps)(rows?.inputConfiguration, baseInputConfiguration)
265
+ })), correctResponseError && /*#__PURE__*/React.createElement(ErrorText, null, correctResponseError), noOfRowsError && /*#__PURE__*/React.createElement(ErrorText, null, noOfRowsError), columnsLengthError && /*#__PURE__*/React.createElement(ErrorText, null, columnsLengthError), /*#__PURE__*/React.createElement(_addRow.default, {
266
+ onAddClick: onAddRow
267
+ })))));
268
+ }
269
+ }
270
+ (0, _defineProperty2.default)(AnswerConfigBlock, "propTypes", {
271
+ model: _propTypes.default.object.isRequired,
272
+ configuration: _propTypes.default.object.isRequired,
273
+ onChange: _propTypes.default.func.isRequired,
274
+ onDeleteRow: _propTypes.default.func.isRequired,
275
+ onAddRow: _propTypes.default.func.isRequired,
276
+ imageSupport: _propTypes.default.shape({
277
+ add: _propTypes.default.func.isRequired,
278
+ delete: _propTypes.default.func.isRequired
279
+ }),
280
+ uploadSoundSupport: _propTypes.default.shape({
281
+ add: _propTypes.default.func.isRequired,
282
+ delete: _propTypes.default.func.isRequired
283
+ }),
284
+ toolbarOpts: _propTypes.default.object,
285
+ spellCheck: _propTypes.default.bool
286
+ });
287
+ var _default = exports.default = AnswerConfigBlock;
288
+ //# sourceMappingURL=answer-config-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer-config-block.js","names":["_utils","require","React","_interopRequireWildcard","_classnames","_interopRequireDefault","_propTypes","_Typography","_styles","_addRow","_row","_debug","_lodashEs","_editableHtmlTipTap","_drag","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","log","debug","Container","styled","theme","marginBottom","spacing","display","flexDirection","RowContainer","alignItems","flex","width","borderBottom","palette","grey","paddingBottom","marginTop","RowItem","justifyContent","padding","textAlign","DeleteIcon","minWidth","RowTable","ColumnErrorText","fontSize","typography","color","error","main","paddingTop","ErrorText","GlobalStyles","fontWeight","AnswerConfigBlock","Component","constructor","args","_defineProperty2","event","active","over","activeData","data","current","overData","type","from","index","to","model","onChange","props","newModel","rows","movedRow","remainingRows","reduce","acc","item","push","update","slice","name","isBoolean","target","value","checked","headerIndex","headers","render","onAddRow","imageSupport","configuration","toolbarOpts","spellCheck","uploadSoundSupport","baseInputConfiguration","maxImageWidth","maxImageHeight","mathMlOptions","minQuestions","errors","correctResponseError","rowsErrors","columnsErrors","noOfRowsError","columnsLengthError","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","defaultImageMaxWidth","prompt","defaultImageMaxHeight","createElement","DragProvider","onDragEnd","moveRow","component","style","overflow","settings","map","header","idx","key","className","cx","questionText","sx","marginRight","maxWidth","onHeaderChange","markup","label","activePlugins","pluginProps","getPluginProps","inputConfiguration","autoWidthToolbar","languageCharactersProps","language","row","onDeleteRow","id","rowTitles","onAddClick","PropTypes","object","isRequired","func","shape","add","delete","bool","_default","exports"],"sources":["../src/answer-config-block.jsx"],"sourcesContent":["import { getPluginProps } from './utils';\nimport * as React from 'react';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport Typography from '@mui/material/Typography';\nimport { styled } from '@mui/material/styles';\nimport AddRow from './add-row';\nimport Row from './row';\nimport debug from 'debug';\nimport { set } from 'lodash-es';\nimport EditableHtml, { DEFAULT_PLUGINS } from '@pie-lib/editable-html-tip-tap';\nimport { DragProvider } from '@pie-lib/drag';\n\nconst log = debug('pie-elements:match:configure');\n\nconst Container = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n display: 'flex',\n flexDirection: 'column',\n}));\n\nconst RowContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n width: '100%',\n borderBottom: `2px solid ${theme.palette.grey['A100']}`,\n paddingBottom: theme.spacing(2),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(1),\n}));\n\nconst RowItem = styled('div')(({ theme }) => ({\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n '&> div': {\n width: '120px',\n padding: `0 ${theme.spacing(1)}`,\n textAlign: 'center',\n },\n}));\n\nconst DeleteIcon = styled('div')(({ theme }) => ({\n flex: 0.5,\n minWidth: '45px',\n padding: `0 ${theme.spacing(1)}`,\n}));\n\nconst RowTable = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst ColumnErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: `${theme.spacing(1)} !important`,\n width: 'fit-content !important',\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingBottom: theme.spacing(1),\n}));\n\n// Global styles for EditableHtml components\nconst GlobalStyles = styled('div')(({ theme }) => ({\n '& .marginBottom': {\n marginBottom: theme.typography.fontSize - 2 + theme.spacing(1),\n },\n '& .headerInput': {\n '& > div': {\n fontWeight: 'bold',\n },\n },\n}));\n\nclass AnswerConfigBlock extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onDeleteRow: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n toolbarOpts: PropTypes.object,\n spellCheck: PropTypes.bool,\n };\n\n moveRow = (event) => {\n const { active, over } = event;\n\n if (!over || !active) return;\n\n const activeData = active.data.current;\n const overData = over.data.current;\n\n if (activeData?.type === 'row' && overData?.type === 'row') {\n const from = activeData.index;\n const to = overData.index;\n\n const { model, onChange } = this.props;\n const newModel = { ...model };\n const rows = newModel.rows || [];\n\n log('[moveRow]: ', from, to);\n\n const { movedRow, remainingRows } = rows.reduce(\n (acc, item, index) => {\n if (index === from) {\n acc.movedRow = item;\n } else {\n acc.remainingRows.push(item);\n }\n\n return acc;\n },\n { movedRow: null, remainingRows: [] },\n );\n\n const update = [...remainingRows.slice(0, to), movedRow, ...remainingRows.slice(to)];\n\n log('update: ', update);\n\n newModel.rows = update;\n\n onChange(newModel);\n }\n };\n\n onChange =\n (name, isBoolean) =>\n ({ target }) => {\n const { model, onChange } = this.props;\n let value;\n\n if (isBoolean) {\n value = target.checked;\n } else {\n value = target.value;\n }\n\n set(model, name, value);\n onChange(model, name);\n };\n\n onHeaderChange = (headerIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (headerIndex === 0) {\n newModel.headers[headerIndex] = value;\n onChange(newModel);\n\n return;\n }\n\n newModel.headers[headerIndex] = value;\n onChange(newModel);\n };\n\n render() {\n const { model, onAddRow, imageSupport, configuration, toolbarOpts, spellCheck, uploadSoundSupport } = this.props;\n const {\n baseInputConfiguration = {},\n headers = {},\n rows = {},\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n minQuestions,\n } = configuration || {};\n const { errors } = model || {};\n const { correctResponseError, rowsErrors, columnsErrors, noOfRowsError, columnsLengthError } = errors || {};\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list',\n );\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n return (\n <GlobalStyles>\n <DragProvider onDragEnd={this.moveRow}>\n <Container>\n <Typography type=\"body1\" component=\"div\">\n Click on the labels to edit or remove. Set the correct answers by clicking each correct answer per row.\n </Typography>\n\n <RowTable style={configuration.width ? { width: configuration.width, overflow: 'scroll' } : {}}>\n <RowContainer>\n {headers.settings &&\n (model.headers || []).map((header, idx) => (\n <RowItem\n key={idx}\n className={cx({\n questionText: idx === 0,\n })}\n sx={\n idx === 0\n ? {\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n marginRight: 1,\n '&> div': {\n width: '100%',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '200px',\n },\n }\n : {}\n }\n >\n <EditableHtml\n onChange={this.onHeaderChange(idx)}\n markup={header}\n className={columnsErrors && !columnsErrors[idx] ? 'marginBottom' : 'headerInput'}\n label={'column label'}\n activePlugins={filteredDefaultPlugins}\n pluginProps={getPluginProps(headers?.inputConfiguration, baseInputConfiguration)}\n autoWidthToolbar\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={columnsErrors && columnsErrors[idx]}\n />\n {columnsErrors && columnsErrors[idx] && <ColumnErrorText>{columnsErrors[idx]}</ColumnErrorText>}\n </RowItem>\n ))}\n <DeleteIcon />\n </RowContainer>\n\n {model.rows.map((row, idx) => (\n <Row\n key={idx}\n model={model}\n row={row}\n idx={idx}\n onDeleteRow={this.props.onDeleteRow}\n onChange={this.props.onChange}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n error={rowsErrors?.[row.id]}\n maxImageWidth={(maxImageWidth && maxImageWidth.rowTitles) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rowTitles) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n minQuestions={minQuestions}\n inputConfiguration={getPluginProps(rows?.inputConfiguration, baseInputConfiguration)}\n />\n ))}\n\n {correctResponseError && <ErrorText>{correctResponseError}</ErrorText>}\n {noOfRowsError && <ErrorText>{noOfRowsError}</ErrorText>}\n {columnsLengthError && <ErrorText>{columnsLengthError}</ErrorText>}\n\n <AddRow onAddClick={onAddRow} />\n </RowTable>\n </Container>\n </DragProvider>\n </GlobalStyles>\n );\n }\n}\n\nexport default AnswerConfigBlock;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.InfoDialog = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
11
+ var _DialogTitle = _interopRequireDefault(require("@mui/material/DialogTitle"));
12
+ var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
13
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ const InfoDialog = ({
16
+ title,
17
+ open,
18
+ onOk
19
+ }) => /*#__PURE__*/React.createElement(_Dialog.default, {
20
+ open: open
21
+ }, /*#__PURE__*/React.createElement(_DialogTitle.default, null, title), /*#__PURE__*/React.createElement(_DialogActions.default, null, onOk && /*#__PURE__*/React.createElement(_Button.default, {
22
+ onClick: onOk,
23
+ color: "primary"
24
+ }, "OK")));
25
+ exports.InfoDialog = InfoDialog;
26
+ InfoDialog.propTypes = {
27
+ title: _propTypes.default.string,
28
+ open: _propTypes.default.bool,
29
+ onOk: _propTypes.default.func
30
+ };
31
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_Dialog","_DialogTitle","_DialogActions","_Button","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","InfoDialog","title","open","onOk","createElement","onClick","color","exports","propTypes","PropTypes","string","bool","func"],"sources":["../src/common.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Dialog from '@mui/material/Dialog';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogActions from '@mui/material/DialogActions';\nimport Button from '@mui/material/Button';\n\nexport const InfoDialog = ({ title, open, onOk }) => (\n <Dialog open={open}>\n <DialogTitle>{title}</DialogTitle>\n <DialogActions>\n {onOk && (\n <Button onClick={onOk} color=\"primary\">\n OK\n </Button>\n )}\n </DialogActions>\n </Dialog>\n);\n\nInfoDialog.propTypes = {\n title: PropTypes.string,\n open: PropTypes.bool,\n onOk: PropTypes.func,\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,YAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,cAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,OAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAA0C,SAAAD,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEnC,MAAMkB,UAAU,GAAGA,CAAC;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAK,CAAC,kBAC9C/B,KAAA,CAAAgC,aAAA,CAAC3B,OAAA,CAAAc,OAAM;EAACW,IAAI,EAAEA;AAAK,gBACjB9B,KAAA,CAAAgC,aAAA,CAAC1B,YAAA,CAAAa,OAAW,QAAEU,KAAmB,CAAC,eAClC7B,KAAA,CAAAgC,aAAA,CAACzB,cAAA,CAAAY,OAAa,QACXY,IAAI,iBACH/B,KAAA,CAAAgC,aAAA,CAACxB,OAAA,CAAAW,OAAM;EAACc,OAAO,EAAEF,IAAK;EAACG,KAAK,EAAC;AAAS,GAAC,IAE/B,CAEG,CACT,CACT;AAACC,OAAA,CAAAP,UAAA,GAAAA,UAAA;AAEFA,UAAU,CAACQ,SAAS,GAAG;EACrBP,KAAK,EAAEQ,kBAAS,CAACC,MAAM;EACvBR,IAAI,EAAEO,kBAAS,CAACE,IAAI;EACpBR,IAAI,EAAEM,kBAAS,CAACG;AAClB,CAAC","ignoreList":[]}