@pie-element/match 11.0.0-beta.0 → 11.0.0-next.0

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/CHANGELOG.md CHANGED
@@ -3,17 +3,6 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [10.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/match@10.3.2...@pie-element/match@10.3.3) (2025-11-27)
7
-
8
-
9
- ### Bug Fixes
10
-
11
- * bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
12
-
13
-
14
-
15
-
16
-
17
6
  ## [10.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/match@10.3.1...@pie-element/match@10.3.2) (2025-10-22)
18
7
 
19
8
 
@@ -3,17 +3,6 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [8.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-configure@8.3.2...@pie-element/match-configure@8.3.3) (2025-11-27)
7
-
8
-
9
- ### Bug Fixes
10
-
11
- * bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
12
-
13
-
14
-
15
-
16
-
17
6
  ## [8.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-configure@8.3.1...@pie-element/match-configure@8.3.2) (2025-10-22)
18
7
 
19
8
 
@@ -15,8 +15,8 @@ var _styles = require("@mui/material/styles");
15
15
  var _addRow = _interopRequireDefault(require("./add-row"));
16
16
  var _row = _interopRequireDefault(require("./row"));
17
17
  var _debug = _interopRequireDefault(require("debug"));
18
- var _lodash = _interopRequireDefault(require("lodash"));
19
- var _editableHtml = _interopRequireWildcard(require("@pie-lib/editable-html"));
18
+ var _lodashEs = require("lodash-es");
19
+ var _editableHtmlTipTap = _interopRequireWildcard(require("@pie-lib/editable-html-tip-tap"));
20
20
  var _drag = require("@pie-lib/drag");
21
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
22
  const log = (0, _debug.default)('pie-elements:match:configure');
@@ -149,7 +149,7 @@ class AnswerConfigBlock extends React.Component {
149
149
  } else {
150
150
  value = target.value;
151
151
  }
152
- _lodash.default.set(model, name, value);
152
+ (0, _lodashEs.set)(model, name, value);
153
153
  onChange(model, name);
154
154
  });
155
155
  (0, _defineProperty2.default)(this, "onHeaderChange", headerIndex => value => {
@@ -198,7 +198,7 @@ class AnswerConfigBlock extends React.Component {
198
198
  noOfRowsError,
199
199
  columnsLengthError
200
200
  } = errors || {};
201
- const filteredDefaultPlugins = (_editableHtml.DEFAULT_PLUGINS || []).filter(p => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list');
201
+ const filteredDefaultPlugins = (_editableHtmlTipTap.DEFAULT_PLUGINS || []).filter(p => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list');
202
202
  const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
203
203
  const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
204
204
  return /*#__PURE__*/React.createElement(GlobalStyles, null, /*#__PURE__*/React.createElement(_drag.DragProvider, {
@@ -229,7 +229,7 @@ class AnswerConfigBlock extends React.Component {
229
229
  minWidth: '200px'
230
230
  }
231
231
  } : {}
232
- }, /*#__PURE__*/React.createElement(_editableHtml.default, {
232
+ }, /*#__PURE__*/React.createElement(_editableHtmlTipTap.default, {
233
233
  onChange: this.onHeaderChange(idx),
234
234
  markup: header,
235
235
  className: columnsErrors && !columnsErrors[idx] ? 'marginBottom' : 'headerInput',
@@ -1 +1 @@
1
- {"version":3,"file":"answer-config-block.js","names":["_utils","require","React","_interopRequireWildcard","_classnames","_interopRequireDefault","_propTypes","_Typography","_styles","_addRow","_row","_debug","_lodash","_editableHtml","_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","lodash","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 lodash from 'lodash';\nimport EditableHtml, { DEFAULT_PLUGINS } from '@pie-lib/editable-html';\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 lodash.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 } =\n 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\n style={configuration.width ? { width: configuration.width, overflow: 'scroll' } : {}}\n >\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={idx === 0 ? {\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 <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] && (\n <ColumnErrorText>{columnsErrors[idx]}</ColumnErrorText>\n )}\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":[]}
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":[]}
@@ -10,7 +10,7 @@ var _utils = require("./utils");
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _styles = require("@mui/material/styles");
12
12
  var _configUi = require("@pie-lib/config-ui");
13
- var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
13
+ var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
  var _debug = _interopRequireDefault(require("debug"));
16
16
  var _generalConfigBlock = _interopRequireDefault(require("./general-config-block"));
@@ -299,7 +299,7 @@ class Configure extends _react.default.Component {
299
299
  }, teacherInstructionsEnabled && /*#__PURE__*/_react.default.createElement(_configUi.InputContainer, {
300
300
  label: teacherInstructions.label,
301
301
  className: "promptHolder"
302
- }, /*#__PURE__*/_react.default.createElement(PromptHolder, null, /*#__PURE__*/_react.default.createElement(_editableHtml.default, {
302
+ }, /*#__PURE__*/_react.default.createElement(PromptHolder, null, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
303
303
  className: "prompt",
304
304
  markup: model.teacherInstructions || '',
305
305
  onChange: this.onTeacherInstructionsChanged,
@@ -320,7 +320,7 @@ class Configure extends _react.default.Component {
320
320
  }), teacherInstructionsError && /*#__PURE__*/_react.default.createElement(ErrorText, null, teacherInstructionsError))), promptEnabled && /*#__PURE__*/_react.default.createElement(_configUi.InputContainer, {
321
321
  label: prompt.label,
322
322
  className: "promptHolder"
323
- }, /*#__PURE__*/_react.default.createElement(PromptHolder, null, /*#__PURE__*/_react.default.createElement(_editableHtml.default, {
323
+ }, /*#__PURE__*/_react.default.createElement(PromptHolder, null, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
324
324
  className: "prompt",
325
325
  markup: model.prompt,
326
326
  onChange: this.onPromptChanged,
@@ -357,7 +357,7 @@ class Configure extends _react.default.Component {
357
357
  }), rationaleEnabled && /*#__PURE__*/_react.default.createElement(_configUi.InputContainer, {
358
358
  label: rationale.label,
359
359
  className: "promptHolder"
360
- }, /*#__PURE__*/_react.default.createElement(PromptHolder, null, /*#__PURE__*/_react.default.createElement(_editableHtml.default, {
360
+ }, /*#__PURE__*/_react.default.createElement(PromptHolder, null, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
361
361
  className: "prompt",
362
362
  markup: model.rationale || '',
363
363
  onChange: this.onRationaleChanged,
@@ -1 +1 @@
1
- {"version":3,"file":"configure.js","names":["_utils","require","_react","_interopRequireDefault","_styles","_configUi","_editableHtml","_propTypes","_debug","_generalConfigBlock","_answerConfigBlock","log","debug","Panel","toggle","radio","dropdown","settings","MainLayout","styled","width","PromptHolder","theme","paddingTop","spacing","marginBottom","ErrorText","fontSize","typography","color","palette","error","main","Configure","React","Component","constructor","props","_defineProperty2","default","event","value","setState","activeTab","index","model","onModelChanged","feedback","rowIndex","newModel","rows","splice","onChange","configuration","maxQuestions","length","dialog","open","text","concat","id","rowIdCounter","title","values","Array","layout","fill","newLayout","oldLayout","i","headers","push","forEach","row","newChoiceMode","trueCount","reduce","total","current","choiceMode","partialScoring","prompt","teacherInstructions","rationale","maxId","Math","max","map","state","componentDidMount","updatedRows","wasChanged","validateRowsID","render","imageSupport","onConfigurationChanged","uploadSoundSupport","baseInputConfiguration","contentDimensions","lockChoiceOrder","maxImageWidth","maxImageHeight","settingsPanelDisabled","scoringType","spellCheck","studentInstructions","withRubric","language","languageChoices","errors","extraCSSRules","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","promptError","rationaleError","teacherInstructionsError","toolbarOpts","position","defaultImageMaxWidth","defaultImageMaxHeight","panelSettings","label","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","createElement","ConfigLayout","dimensions","hideSettings","onChangeModel","onChangeConfiguration","config","groups","Settings","Properties","InputContainer","className","markup","onTeacherInstructionsChanged","nonEmpty","pluginProps","getPluginProps","inputConfiguration","languageCharactersProps","onPromptChanged","disableUnderline","onResponseTypeChange","onLayoutChange","onAddRow","onDeleteRow","onRationaleChanged","FeedbackConfig","onFeedbackChange","AlertDialog","onConfirm","PropTypes","func","object","isRequired","shape","add","delete","Config","exports","_default"],"sources":["../src/configure.jsx"],"sourcesContent":["import { getPluginProps } from './utils';\nimport React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { FeedbackConfig, settings, layout, InputContainer, AlertDialog } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport GeneralConfigBlock from './general-config-block';\nimport AnswerConfigBlock from './answer-config-block';\n\nconst log = debug('@pie-element:match:configure');\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst MainLayout = styled('div')(() => ({\n '& .promptHolder': {\n width: '100%',\n },\n}));\n\nconst PromptHolder = styled('div')(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nclass Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.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 };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n let maxId = 0;\n\n if (props.model.rows && props.model.rows.length > 0) {\n maxId = Math.max(...props.model.rows.map((row) => row.id));\n }\n\n this.rowIdCounter = maxId + 1;\n\n this.state = {\n activeTab: 0,\n dialog: {\n open: false,\n text: '',\n },\n };\n }\n\n componentDidMount() {\n const { updatedRows, wasChanged } = this.validateRowsID(this.props.model.rows);\n\n if (wasChanged) {\n const newModel = { ...this.props.model, rows: updatedRows };\n this.props.onModelChanged(newModel);\n }\n }\n\n validateRowsID(rows) {\n let wasChanged = false;\n\n const updatedRows = (rows || []).map((row, index) => {\n if (row.id !== index + 1) {\n wasChanged = true;\n\n return { ...row, id: index + 1 };\n }\n\n return row;\n });\n\n return { updatedRows, wasChanged };\n }\n\n onTabChange = (event, value) => {\n this.setState({ activeTab: value });\n };\n\n onChangeTabIndex = (index) => {\n this.setState({ activeTab: index });\n };\n\n onChange = (model) => {\n this.props.onModelChanged(model);\n };\n\n onFeedbackChange = (feedback) => {\n const { model, onModelChanged } = this.props;\n model.feedback = feedback;\n\n onModelChanged(model);\n };\n\n onDeleteRow = (rowIndex) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n newModel.rows.splice(rowIndex, 1);\n\n this.onChange(newModel);\n };\n\n onAddRow = () => {\n const { model, configuration } = this.props;\n const newModel = { ...model };\n const { maxQuestions } = configuration || {};\n\n if (maxQuestions && (newModel.rows || []).length >= maxQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There can be maximum ${maxQuestions} question row` + (maxQuestions > 1 ? 's' : '') + '.',\n },\n });\n return;\n }\n\n newModel.rows = newModel.rows.concat({\n id: this.rowIdCounter + 1,\n title: `Question Text ${(newModel.rows || []).length + 1}`,\n values: new Array(model.layout - 1).fill(false),\n });\n\n this.rowIdCounter += 1;\n\n this.onChange(newModel);\n };\n\n onLayoutChange = (newLayout) => {\n const { model } = this.props;\n const oldLayout = model.layout;\n const newModel = { ...model };\n\n if (newLayout > oldLayout) {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n newModel.headers.push(`Column ${newModel.headers.length + 1}`);\n }\n\n newModel.rows.forEach((row) => {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n row.values.push(false);\n }\n });\n } else if (newLayout < oldLayout) {\n newModel.headers.splice(newLayout);\n\n newModel.rows.forEach((row) => {\n row.values.splice(newLayout - 1);\n });\n }\n\n newModel.layout = newLayout;\n\n this.onChange(newModel);\n };\n\n onResponseTypeChange = (newChoiceMode) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n // if we're switching to radio and we have more than one true, reset\n if (newChoiceMode === 'radio') {\n newModel.rows.forEach((row) => {\n const trueCount = row.values.reduce((total, current) => (current === true ? total + 1 : total));\n\n if (trueCount > 1) {\n row.values = new Array(model.layout - 1).fill(false);\n }\n });\n }\n\n newModel.choiceMode = newChoiceMode;\n\n this.onChange(newModel);\n };\n\n onPartialScoringChange = (partialScoring) => {\n this.props.model.partialScoring = partialScoring;\n\n this.props.onModelChanged(this.props.model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n onRationaleChanged = (rationale) => {\n this.props.onModelChanged({ ...this.props.model, rationale });\n };\n\n render() {\n const { model, imageSupport, onModelChanged, configuration, onConfigurationChanged, uploadSoundSupport } =\n this.props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n feedback = {},\n lockChoiceOrder = {},\n maxImageWidth = {},\n maxImageHeight = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n withRubric = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const {\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n const { dialog } = this.state;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n log('[render] model', model);\n\n return (\n <MainLayout>\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className=\"promptHolder\">\n <PromptHolder>\n <EditableHtml\n className=\"prompt\"\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n error={teacherInstructionsError}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n {teacherInstructionsError && <ErrorText>{teacherInstructionsError}</ErrorText>}\n </PromptHolder>\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className=\"promptHolder\">\n <PromptHolder>\n <EditableHtml\n className=\"prompt\"\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n error={promptError}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </PromptHolder>\n </InputContainer>\n )}\n\n <GeneralConfigBlock\n model={model}\n configuration={configuration}\n onResponseTypeChange={this.onResponseTypeChange}\n onLayoutChange={this.onLayoutChange}\n />\n\n <AnswerConfigBlock\n model={model}\n configuration={configuration}\n imageSupport={imageSupport}\n onChange={this.onChange}\n onAddRow={this.onAddRow}\n onDeleteRow={this.onDeleteRow}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className=\"promptHolder\">\n <PromptHolder>\n <EditableHtml\n className=\"prompt\"\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rationale?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n {rationaleError && <ErrorText>{rationaleError}</ErrorText>}\n </PromptHolder>\n </InputContainer>\n )}\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.onFeedbackChange} toolbarOpts={toolbarOpts} />\n )}\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </layout.ConfigLayout>\n </MainLayout>\n );\n }\n}\n\nexport const Config = Configure;\n\nexport default Configure;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"configure.js","names":["_utils","require","_react","_interopRequireDefault","_styles","_configUi","_editableHtmlTipTap","_propTypes","_debug","_generalConfigBlock","_answerConfigBlock","log","debug","Panel","toggle","radio","dropdown","settings","MainLayout","styled","width","PromptHolder","theme","paddingTop","spacing","marginBottom","ErrorText","fontSize","typography","color","palette","error","main","Configure","React","Component","constructor","props","_defineProperty2","default","event","value","setState","activeTab","index","model","onModelChanged","feedback","rowIndex","newModel","rows","splice","onChange","configuration","maxQuestions","length","dialog","open","text","concat","id","rowIdCounter","title","values","Array","layout","fill","newLayout","oldLayout","i","headers","push","forEach","row","newChoiceMode","trueCount","reduce","total","current","choiceMode","partialScoring","prompt","teacherInstructions","rationale","maxId","Math","max","map","state","componentDidMount","updatedRows","wasChanged","validateRowsID","render","imageSupport","onConfigurationChanged","uploadSoundSupport","baseInputConfiguration","contentDimensions","lockChoiceOrder","maxImageWidth","maxImageHeight","settingsPanelDisabled","scoringType","spellCheck","studentInstructions","withRubric","language","languageChoices","errors","extraCSSRules","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","promptError","rationaleError","teacherInstructionsError","toolbarOpts","position","defaultImageMaxWidth","defaultImageMaxHeight","panelSettings","label","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","createElement","ConfigLayout","dimensions","hideSettings","onChangeModel","onChangeConfiguration","config","groups","Settings","Properties","InputContainer","className","markup","onTeacherInstructionsChanged","nonEmpty","pluginProps","getPluginProps","inputConfiguration","languageCharactersProps","onPromptChanged","disableUnderline","onResponseTypeChange","onLayoutChange","onAddRow","onDeleteRow","onRationaleChanged","FeedbackConfig","onFeedbackChange","AlertDialog","onConfirm","PropTypes","func","object","isRequired","shape","add","delete","Config","exports","_default"],"sources":["../src/configure.jsx"],"sourcesContent":["import { getPluginProps } from './utils';\nimport React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { FeedbackConfig, settings, layout, InputContainer, AlertDialog } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport GeneralConfigBlock from './general-config-block';\nimport AnswerConfigBlock from './answer-config-block';\n\nconst log = debug('@pie-element:match:configure');\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst MainLayout = styled('div')(() => ({\n '& .promptHolder': {\n width: '100%',\n },\n}));\n\nconst PromptHolder = styled('div')(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nclass Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.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 };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n let maxId = 0;\n\n if (props.model.rows && props.model.rows.length > 0) {\n maxId = Math.max(...props.model.rows.map((row) => row.id));\n }\n\n this.rowIdCounter = maxId + 1;\n\n this.state = {\n activeTab: 0,\n dialog: {\n open: false,\n text: '',\n },\n };\n }\n\n componentDidMount() {\n const { updatedRows, wasChanged } = this.validateRowsID(this.props.model.rows);\n\n if (wasChanged) {\n const newModel = { ...this.props.model, rows: updatedRows };\n this.props.onModelChanged(newModel);\n }\n }\n\n validateRowsID(rows) {\n let wasChanged = false;\n\n const updatedRows = (rows || []).map((row, index) => {\n if (row.id !== index + 1) {\n wasChanged = true;\n\n return { ...row, id: index + 1 };\n }\n\n return row;\n });\n\n return { updatedRows, wasChanged };\n }\n\n onTabChange = (event, value) => {\n this.setState({ activeTab: value });\n };\n\n onChangeTabIndex = (index) => {\n this.setState({ activeTab: index });\n };\n\n onChange = (model) => {\n this.props.onModelChanged(model);\n };\n\n onFeedbackChange = (feedback) => {\n const { model, onModelChanged } = this.props;\n model.feedback = feedback;\n\n onModelChanged(model);\n };\n\n onDeleteRow = (rowIndex) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n newModel.rows.splice(rowIndex, 1);\n\n this.onChange(newModel);\n };\n\n onAddRow = () => {\n const { model, configuration } = this.props;\n const newModel = { ...model };\n const { maxQuestions } = configuration || {};\n\n if (maxQuestions && (newModel.rows || []).length >= maxQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There can be maximum ${maxQuestions} question row` + (maxQuestions > 1 ? 's' : '') + '.',\n },\n });\n return;\n }\n\n newModel.rows = newModel.rows.concat({\n id: this.rowIdCounter + 1,\n title: `Question Text ${(newModel.rows || []).length + 1}`,\n values: new Array(model.layout - 1).fill(false),\n });\n\n this.rowIdCounter += 1;\n\n this.onChange(newModel);\n };\n\n onLayoutChange = (newLayout) => {\n const { model } = this.props;\n const oldLayout = model.layout;\n const newModel = { ...model };\n\n if (newLayout > oldLayout) {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n newModel.headers.push(`Column ${newModel.headers.length + 1}`);\n }\n\n newModel.rows.forEach((row) => {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n row.values.push(false);\n }\n });\n } else if (newLayout < oldLayout) {\n newModel.headers.splice(newLayout);\n\n newModel.rows.forEach((row) => {\n row.values.splice(newLayout - 1);\n });\n }\n\n newModel.layout = newLayout;\n\n this.onChange(newModel);\n };\n\n onResponseTypeChange = (newChoiceMode) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n // if we're switching to radio and we have more than one true, reset\n if (newChoiceMode === 'radio') {\n newModel.rows.forEach((row) => {\n const trueCount = row.values.reduce((total, current) => (current === true ? total + 1 : total));\n\n if (trueCount > 1) {\n row.values = new Array(model.layout - 1).fill(false);\n }\n });\n }\n\n newModel.choiceMode = newChoiceMode;\n\n this.onChange(newModel);\n };\n\n onPartialScoringChange = (partialScoring) => {\n this.props.model.partialScoring = partialScoring;\n\n this.props.onModelChanged(this.props.model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n onRationaleChanged = (rationale) => {\n this.props.onModelChanged({ ...this.props.model, rationale });\n };\n\n render() {\n const { model, imageSupport, onModelChanged, configuration, onConfigurationChanged, uploadSoundSupport } =\n this.props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n feedback = {},\n lockChoiceOrder = {},\n maxImageWidth = {},\n maxImageHeight = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n withRubric = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const {\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n const { dialog } = this.state;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n log('[render] model', model);\n\n return (\n <MainLayout>\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className=\"promptHolder\">\n <PromptHolder>\n <EditableHtml\n className=\"prompt\"\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n error={teacherInstructionsError}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n {teacherInstructionsError && <ErrorText>{teacherInstructionsError}</ErrorText>}\n </PromptHolder>\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className=\"promptHolder\">\n <PromptHolder>\n <EditableHtml\n className=\"prompt\"\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n error={promptError}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </PromptHolder>\n </InputContainer>\n )}\n\n <GeneralConfigBlock\n model={model}\n configuration={configuration}\n onResponseTypeChange={this.onResponseTypeChange}\n onLayoutChange={this.onLayoutChange}\n />\n\n <AnswerConfigBlock\n model={model}\n configuration={configuration}\n imageSupport={imageSupport}\n onChange={this.onChange}\n onAddRow={this.onAddRow}\n onDeleteRow={this.onDeleteRow}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className=\"promptHolder\">\n <PromptHolder>\n <EditableHtml\n className=\"prompt\"\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rationale?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n {rationaleError && <ErrorText>{rationaleError}</ErrorText>}\n </PromptHolder>\n </InputContainer>\n )}\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.onFeedbackChange} toolbarOpts={toolbarOpts} />\n )}\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </layout.ConfigLayout>\n </MainLayout>\n );\n }\n}\n\nexport const Config = Configure;\n\nexport default Configure;\n"],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,9 @@ var _default = exports.default = {
29
29
  },
30
30
  configuration: {
31
31
  baseInputConfiguration: {
32
+ h3: {
33
+ disabled: true
34
+ },
32
35
  audio: {
33
36
  disabled: false
34
37
  },
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","names":["_default","exports","default","model","choiceMode","feedbackEnabled","headers","layout","lockChoiceOrder","partialScoring","prompt","promptEnabled","rationale","rationaleEnabled","rows","scoringType","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","inputConfiguration","feedback","settings","label","enabled","required","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","rowTitles","maxImageHeight","withRubric","minQuestions","maxQuestions","maxLengthQuestionsHeading","maxAnswers","maxLengthAnswers","maxLengthFirstColumnHeading","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"sources":["../src/defaults.js"],"sourcesContent":["/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configuration\n */\n\nexport default {\n model: {\n choiceMode: 'radio',\n feedbackEnabled: false,\n headers: ['Column 1', 'Column 2', 'Column 3'],\n layout: 3,\n lockChoiceOrder: true,\n partialScoring: false,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n rows: [],\n scoringType: 'auto',\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n rows: {\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: false },\n },\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n enabled: true,\n },\n headers: {\n settings: true,\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: false },\n },\n },\n layout: {\n settings: true,\n label: 'Layout',\n },\n lockChoiceOrder: {\n settings: false,\n label: 'Lock Choice Order',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n choiceMode: {\n settings: true,\n label: 'Response Type',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowTitles: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowTitles: 150,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n minQuestions: 2,\n maxQuestions: 5,\n maxLengthQuestionsHeading: 100,\n maxAnswers: 5,\n maxLengthAnswers: 100,\n maxLengthFirstColumnHeading: 100,\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"defaults.js","names":["_default","exports","default","model","choiceMode","feedbackEnabled","headers","layout","lockChoiceOrder","partialScoring","prompt","promptEnabled","rationale","rationaleEnabled","rows","scoringType","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","configuration","baseInputConfiguration","h3","disabled","audio","video","image","textAlign","showParagraphs","separateParagraphs","inputConfiguration","feedback","settings","label","enabled","required","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","rowTitles","maxImageHeight","withRubric","minQuestions","maxQuestions","maxLengthQuestionsHeading","maxAnswers","maxLengthAnswers","maxLengthFirstColumnHeading","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"sources":["../src/defaults.js"],"sourcesContent":["/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configuration\n */\n\nexport default {\n model: {\n choiceMode: 'radio',\n feedbackEnabled: false,\n headers: ['Column 1', 'Column 2', 'Column 3'],\n layout: 3,\n lockChoiceOrder: true,\n partialScoring: false,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n rows: [],\n scoringType: 'auto',\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n },\n configuration: {\n baseInputConfiguration: {\n h3: { disabled: true },\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n rows: {\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: false },\n },\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n enabled: true,\n },\n headers: {\n settings: true,\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: false },\n },\n },\n layout: {\n settings: true,\n label: 'Layout',\n },\n lockChoiceOrder: {\n settings: false,\n label: 'Lock Choice Order',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n choiceMode: {\n settings: true,\n label: 'Response Type',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowTitles: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowTitles: 150,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n minQuestions: 2,\n maxQuestions: 5,\n maxLengthQuestionsHeading: 100,\n maxAnswers: 5,\n maxLengthAnswers: 100,\n maxLengthFirstColumnHeading: 100,\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -6,14 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _lodash = require("lodash");
9
+ var _lodashEs = require("lodash-es");
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _client = require("react-dom/client");
12
12
  var _configure = _interopRequireDefault(require("./configure"));
13
13
  var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
14
14
  var _debug = _interopRequireDefault(require("debug"));
15
15
  var _defaults = _interopRequireDefault(require("./defaults"));
16
- var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
17
16
  const log = (0, _debug.default)('pie-elements:match:configure');
18
17
  class MatchConfigure extends HTMLElement {
19
18
  constructor() {
@@ -40,7 +39,7 @@ class MatchConfigure extends HTMLElement {
40
39
  }
41
40
  set model(m) {
42
41
  this._model = MatchConfigure.createDefaultModel(m);
43
- this._modelCopy = (0, _cloneDeep.default)(this._model);
42
+ this._modelCopy = (0, _lodashEs.cloneDeep)(this._model);
44
43
  this._render();
45
44
  }
46
45
  set configuration(c) {
@@ -83,10 +82,10 @@ class MatchConfigure extends HTMLElement {
83
82
  * This flag 'enableImages' will be removed in the future
84
83
  */
85
84
 
86
- if ((0, _lodash.isEmpty)(c?.rows?.inputConfiguration)) {
87
- (0, _lodash.set)(this._configuration.rows, 'inputConfiguration.image.disabled', !this._model?.enableImages);
88
- (0, _lodash.set)(this._configuration.rows, 'inputConfiguration.video.disabled', true);
89
- (0, _lodash.set)(this._configuration.rows, 'inputConfiguration.audio.disabled', true);
85
+ if ((0, _lodashEs.isEmpty)(c?.rows?.inputConfiguration)) {
86
+ (0, _lodashEs.set)(this._configuration.rows, 'inputConfiguration.image.disabled', !this._model?.enableImages);
87
+ (0, _lodashEs.set)(this._configuration.rows, 'inputConfiguration.video.disabled', true);
88
+ (0, _lodashEs.set)(this._configuration.rows, 'inputConfiguration.audio.disabled', true);
90
89
  }
91
90
  this._render();
92
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_lodash","require","_react","_interopRequireDefault","_client","_configure","_pieConfigureEvents","_debug","_defaults","_cloneDeep","log","debug","MatchConfigure","HTMLElement","constructor","_defineProperty2","default","pieAuthors","document","querySelectorAll","hasPlayerAsParent","Array","from","some","author","contains","_modelCopy","_model","_root","createDefaultModel","_configuration","defaultValues","configuration","model","m","cloneDeep","_render","c","newConfiguration","resetModelAfterConfigurationIsSet","language","enabled","languageChoices","options","length","value","settings","find","option","push","label","isEmpty","rows","inputConfiguration","set","enableImages","onModelChanged","dispatchEvent","ModelUpdatedEvent","onConfigurationChanged","config","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Configure","bind","imageSupport","add","delete","uploadSoundSupport","createRoot","render","disconnectedCallback","unmount","exports"],"sources":["../src/index.js"],"sourcesContent":["import { isEmpty, set } from 'lodash';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Configure from './configure';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\nimport cloneDeep from 'lodash/cloneDeep';\n\nconst log = debug('pie-elements:match:configure');\n\nexport default class MatchConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaultValues.model,\n ...model,\n });\n\n constructor() {\n super();\n this._root = null;\n this._model = MatchConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = MatchConfigure.createDefaultModel(m);\n this._modelCopy = cloneDeep(this._model);\n\n this._render();\n }\n\n resetModelAfterConfigurationIsSet = () => {\n // In environments that use pie-player-components, model is set before configuration.\n // This is the reason why sometimes the model gets altered non-reversible\n // (altered using default configuration instead of client configuration, because at that point client configuration was not set yet)\n // Therefore, in such environments, we will make sure to keep a modelCopy (initialised in set model) and use it to reset\n // the model in set configuration (resetModelAfterConfigurationIsSet) if set configuration is ever called\n const pieAuthors = document.querySelectorAll('pie-author');\n this.hasPlayerAsParent = Array.from(pieAuthors).some((author) => author.contains(this));\n\n if (this.hasPlayerAsParent) {\n if (this._modelCopy) {\n this._model = this._modelCopy;\n } else {\n delete this._modelCopy;\n }\n }\n };\n\n set configuration(c) {\n const newConfiguration = {\n ...defaultValues.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n this.resetModelAfterConfigurationIsSet();\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n /**\n * @Deprecated we added rows.inputConfiguration to handle the plugins in the editable html fields\n * if rows.inputConfiguration is not defined we try to default to the old enableImages flag\n * This flag 'enableImages' will be removed in the future\n */\n \n if (isEmpty(c?.rows?.inputConfiguration)) {\n set(this._configuration.rows, 'inputConfiguration.image.disabled', !this._model?.enableImages);\n set(this._configuration.rows, 'inputConfiguration.video.disabled', true);\n set(this._configuration.rows, 'inputConfiguration.audio.disabled', true);\n }\n\n this._render();\n }\n\n onModelChanged(model) {\n this._model = model;\n log('[onModelChanged]: ', this._model);\n this._render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n\n onConfigurationChanged(config) {\n this._configuration = config;\n this._render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_lodashEs","require","_react","_interopRequireDefault","_client","_configure","_pieConfigureEvents","_debug","_defaults","log","debug","MatchConfigure","HTMLElement","constructor","_defineProperty2","default","pieAuthors","document","querySelectorAll","hasPlayerAsParent","Array","from","some","author","contains","_modelCopy","_model","_root","createDefaultModel","_configuration","defaultValues","configuration","model","m","cloneDeep","_render","c","newConfiguration","resetModelAfterConfigurationIsSet","language","enabled","languageChoices","options","length","value","settings","find","option","push","label","isEmpty","rows","inputConfiguration","set","enableImages","onModelChanged","dispatchEvent","ModelUpdatedEvent","onConfigurationChanged","config","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Configure","bind","imageSupport","add","delete","uploadSoundSupport","createRoot","render","disconnectedCallback","unmount","exports"],"sources":["../src/index.js"],"sourcesContent":["import { isEmpty, set } from 'lodash-es';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Configure from './configure';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\nimport { cloneDeep } from 'lodash-es';\n\nconst log = debug('pie-elements:match:configure');\n\nexport default class MatchConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaultValues.model,\n ...model,\n });\n\n constructor() {\n super();\n this._root = null;\n this._model = MatchConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = MatchConfigure.createDefaultModel(m);\n this._modelCopy = cloneDeep(this._model);\n\n this._render();\n }\n\n resetModelAfterConfigurationIsSet = () => {\n // In environments that use pie-player-components, model is set before configuration.\n // This is the reason why sometimes the model gets altered non-reversible\n // (altered using default configuration instead of client configuration, because at that point client configuration was not set yet)\n // Therefore, in such environments, we will make sure to keep a modelCopy (initialised in set model) and use it to reset\n // the model in set configuration (resetModelAfterConfigurationIsSet) if set configuration is ever called\n const pieAuthors = document.querySelectorAll('pie-author');\n this.hasPlayerAsParent = Array.from(pieAuthors).some((author) => author.contains(this));\n\n if (this.hasPlayerAsParent) {\n if (this._modelCopy) {\n this._model = this._modelCopy;\n } else {\n delete this._modelCopy;\n }\n }\n };\n\n set configuration(c) {\n const newConfiguration = {\n ...defaultValues.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n this.resetModelAfterConfigurationIsSet();\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n /**\n * @Deprecated we added rows.inputConfiguration to handle the plugins in the editable html fields\n * if rows.inputConfiguration is not defined we try to default to the old enableImages flag\n * This flag 'enableImages' will be removed in the future\n */\n\n if (isEmpty(c?.rows?.inputConfiguration)) {\n set(this._configuration.rows, 'inputConfiguration.image.disabled', !this._model?.enableImages);\n set(this._configuration.rows, 'inputConfiguration.video.disabled', true);\n set(this._configuration.rows, 'inputConfiguration.audio.disabled', true);\n }\n\n this._render();\n }\n\n onModelChanged(model) {\n this._model = model;\n log('[onModelChanged]: ', this._model);\n this._render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n\n onConfigurationChanged(config) {\n this._configuration = config;\n this._render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AAOA,IAAAM,MAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,SAAA,GAAAL,sBAAA,CAAAF,OAAA;AAGA,MAAMQ,GAAG,GAAG,IAAAC,cAAK,EAAC,8BAA8B,CAAC;AAElC,MAAMC,cAAc,SAASC,WAAW,CAAC;EAMtDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA,6CAa0B,MAAM;MACxC;MACA;MACA;MACA;MACA;MACA,MAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,YAAY,CAAC;MAC1D,IAAI,CAACC,iBAAiB,GAAGC,KAAK,CAACC,IAAI,CAACL,UAAU,CAAC,CAACM,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAAC,IAAI,CAAC,CAAC;MAEvF,IAAI,IAAI,CAACL,iBAAiB,EAAE;QAC1B,IAAI,IAAI,CAACM,UAAU,EAAE;UACnB,IAAI,CAACC,MAAM,GAAG,IAAI,CAACD,UAAU;QAC/B,CAAC,MAAM;UACL,OAAO,IAAI,CAACA,UAAU;QACxB;MACF;IACF,CAAC;IA5BC,IAAI,CAACE,KAAK,GAAG,IAAI;IACjB,IAAI,CAACD,MAAM,GAAGf,cAAc,CAACiB,kBAAkB,CAAC,CAAC;IACjD,IAAI,CAACC,cAAc,GAAGC,iBAAa,CAACC,aAAa;EACnD;EAEA,IAAIC,KAAKA,CAACC,CAAC,EAAE;IACX,IAAI,CAACP,MAAM,GAAGf,cAAc,CAACiB,kBAAkB,CAACK,CAAC,CAAC;IAClD,IAAI,CAACR,UAAU,GAAG,IAAAS,mBAAS,EAAC,IAAI,CAACR,MAAM,CAAC;IAExC,IAAI,CAACS,OAAO,CAAC,CAAC;EAChB;EAoBA,IAAIJ,aAAaA,CAACK,CAAC,EAAE;IACnB,MAAMC,gBAAgB,GAAG;MACvB,GAAGP,iBAAa,CAACC,aAAa;MAC9B,GAAGK;IACL,CAAC;IAED,IAAI,CAACP,cAAc,GAAGQ,gBAAgB;IAEtC,IAAI,CAACC,iCAAiC,CAAC,CAAC;;IAExC;IACA;IACA;IACA;IACA,IAAID,gBAAgB,EAAEE,QAAQ,EAAEC,OAAO,EAAE;MACvC,IAAIH,gBAAgB,EAAEI,eAAe,EAAEC,OAAO,EAAEC,MAAM,EAAE;QACtD,IAAI,CAACjB,MAAM,CAACa,QAAQ,GAAGF,gBAAgB,EAAEI,eAAe,CAACC,OAAO,CAAC,CAAC,CAAC,CAACE,KAAK;MAC3E;IACF,CAAC,MAAM,IAAIP,gBAAgB,CAACE,QAAQ,CAACM,QAAQ,IAAI,IAAI,CAACnB,MAAM,CAACa,QAAQ,EAAE;MACrE,IAAI,CAACV,cAAc,CAACU,QAAQ,CAACC,OAAO,GAAG,IAAI;MAE3C,IAAI,CAAC,IAAI,CAACX,cAAc,CAACY,eAAe,CAACC,OAAO,IAAI,CAAC,IAAI,CAACb,cAAc,CAACY,eAAe,CAACC,OAAO,CAACC,MAAM,EAAE;QACvG,IAAI,CAACd,cAAc,CAACY,eAAe,CAACC,OAAO,GAAG,EAAE;MAClD;;MAEA;MACA;MACA,IAAI,CAAC,IAAI,CAACb,cAAc,CAACY,eAAe,CAACC,OAAO,CAACI,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACH,KAAK,KAAK,IAAI,CAAClB,MAAM,CAACa,QAAQ,CAAC,EAAE;QACxG,IAAI,CAACV,cAAc,CAACY,eAAe,CAACC,OAAO,CAACM,IAAI,CAAC;UAC/CJ,KAAK,EAAE,IAAI,CAAClB,MAAM,CAACa,QAAQ;UAC3BU,KAAK,EAAE,IAAI,CAACvB,MAAM,CAACa;QACrB,CAAC,CAAC;MACJ;IACF,CAAC,MAAM;MACL,OAAO,IAAI,CAACb,MAAM,CAACa,QAAQ;IAC7B;;IAEA;AACJ;AACA;AACA;AACA;;IAEI,IAAI,IAAAW,iBAAO,EAACd,CAAC,EAAEe,IAAI,EAAEC,kBAAkB,CAAC,EAAE;MACxC,IAAAC,aAAG,EAAC,IAAI,CAACxB,cAAc,CAACsB,IAAI,EAAE,mCAAmC,EAAE,CAAC,IAAI,CAACzB,MAAM,EAAE4B,YAAY,CAAC;MAC9F,IAAAD,aAAG,EAAC,IAAI,CAACxB,cAAc,CAACsB,IAAI,EAAE,mCAAmC,EAAE,IAAI,CAAC;MACxE,IAAAE,aAAG,EAAC,IAAI,CAACxB,cAAc,CAACsB,IAAI,EAAE,mCAAmC,EAAE,IAAI,CAAC;IAC1E;IAEA,IAAI,CAAChB,OAAO,CAAC,CAAC;EAChB;EAEAoB,cAAcA,CAACvB,KAAK,EAAE;IACpB,IAAI,CAACN,MAAM,GAAGM,KAAK;IACnBvB,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAACiB,MAAM,CAAC;IACtC,IAAI,CAACS,OAAO,CAAC,CAAC;IACd,IAAI,CAACqB,aAAa,CAAC,IAAIC,qCAAiB,CAAC,IAAI,CAAC/B,MAAM,CAAC,CAAC;EACxD;EAEAgC,sBAAsBA,CAACC,MAAM,EAAE;IAC7B,IAAI,CAAC9B,cAAc,GAAG8B,MAAM;IAC5B,IAAI,CAACxB,OAAO,CAAC,CAAC;EAChB;;EAEA;AACF;AACA;AACA;EACEyB,WAAWA,CAACC,OAAO,EAAE;IACnB,IAAI,CAACL,aAAa,CAAC,IAAIM,oCAAgB,CAACD,OAAO,CAAC,CAAC;EACnD;EAEAE,aAAaA,CAACC,GAAG,EAAEC,IAAI,EAAE;IACvB,IAAI,CAACT,aAAa,CAAC,IAAIU,oCAAgB,CAACF,GAAG,EAAEC,IAAI,CAAC,CAAC;EACrD;EAEAE,WAAWA,CAACN,OAAO,EAAE;IACnB,IAAI,CAACL,aAAa,CAAC,IAAIY,oCAAgB,CAACP,OAAO,CAAC,CAAC;EACnD;EAEAQ,aAAaA,CAACL,GAAG,EAAEC,IAAI,EAAE;IACvB,IAAI,CAACT,aAAa,CAAC,IAAIc,oCAAgB,CAACN,GAAG,EAAEC,IAAI,CAAC,CAAC;EACrD;EAEA9B,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAACT,MAAM,EAAE;MACf,MAAM6C,EAAE,gBAAGC,cAAK,CAACC,aAAa,CAACC,kBAAS,EAAE;QACxCnB,cAAc,EAAE,IAAI,CAACA,cAAc,CAACoB,IAAI,CAAC,IAAI,CAAC;QAC9CjB,sBAAsB,EAAE,IAAI,CAACA,sBAAsB,CAACiB,IAAI,CAAC,IAAI,CAAC;QAC9D3C,KAAK,EAAE,IAAI,CAACN,MAAM;QAClBK,aAAa,EAAE,IAAI,CAACF,cAAc;QAClC+C,YAAY,EAAE;UACZC,GAAG,EAAE,IAAI,CAACjB,WAAW,CAACe,IAAI,CAAC,IAAI,CAAC;UAChCG,MAAM,EAAE,IAAI,CAACf,aAAa,CAACY,IAAI,CAAC,IAAI;QACtC,CAAC;QACDI,kBAAkB,EAAE;UAClBF,GAAG,EAAE,IAAI,CAACV,WAAW,CAACQ,IAAI,CAAC,IAAI,CAAC;UAChCG,MAAM,EAAE,IAAI,CAACT,aAAa,CAACM,IAAI,CAAC,IAAI;QACtC;MACF,CAAC,CAAC;MACF,IAAI,CAAC,IAAI,CAAChD,KAAK,EAAE;QACf,IAAI,CAACA,KAAK,GAAG,IAAAqD,kBAAU,EAAC,IAAI,CAAC;MAC/B;MACA,IAAI,CAACrD,KAAK,CAACsD,MAAM,CAACV,EAAE,CAAC;IACvB;EACF;EAEAW,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACvD,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAACwD,OAAO,CAAC,CAAC;IACtB;EACF;AACF;AAACC,OAAA,CAAArE,OAAA,GAAAJ,cAAA;AAAA,IAAAG,gBAAA,CAAAC,OAAA,EAtJoBJ,cAAc,wBACL,CAACqB,KAAK,GAAG,CAAC,CAAC,MAAM;EAC3C,GAAGF,iBAAa,CAACE,KAAK;EACtB,GAAGA;AACL,CAAC,CAAC","ignoreList":[]}
@@ -17,7 +17,7 @@ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
17
17
  var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
18
18
  var _core = require("@dnd-kit/core");
19
19
  var _debug = _interopRequireDefault(require("debug"));
20
- var _editableHtml = _interopRequireWildcard(require("@pie-lib/editable-html"));
20
+ var _editableHtmlTipTap = _interopRequireWildcard(require("@pie-lib/editable-html-tip-tap"));
21
21
  var _renderUi = require("@pie-lib/render-ui");
22
22
  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); }
23
23
  const log = (0, _debug.default)('@pie-element:categorize:configure:choice');
@@ -174,7 +174,7 @@ class Row extends _react.default.Component {
174
174
  const {
175
175
  dialog
176
176
  } = this.state;
177
- const filteredDefaultPlugins = (_editableHtml.DEFAULT_PLUGINS || []).filter(p => p !== 'bulleted-list' && p !== 'numbered-list');
177
+ const filteredDefaultPlugins = (_editableHtmlTipTap.DEFAULT_PLUGINS || []).filter(p => p !== 'bulleted-list' && p !== 'numbered-list');
178
178
  const content = /*#__PURE__*/_react.default.createElement("div", {
179
179
  style: {
180
180
  width: '100%'
@@ -184,7 +184,7 @@ class Row extends _react.default.Component {
184
184
  onMouseDown: this.onMouseDownOnHandle
185
185
  }, /*#__PURE__*/_react.default.createElement(_DragHandle.default, {
186
186
  color: 'primary'
187
- })), /*#__PURE__*/_react.default.createElement(RowContainer, null, /*#__PURE__*/_react.default.createElement(QuestionText, null, /*#__PURE__*/_react.default.createElement(_editableHtml.default, {
187
+ })), /*#__PURE__*/_react.default.createElement(RowContainer, null, /*#__PURE__*/_react.default.createElement(QuestionText, null, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
188
188
  imageSupport: imageSupport,
189
189
  autoWidthToolbar: true,
190
190
  disableUnderline: true,
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_configUi","_DragHandle","_Radio","_IconButton","_Delete","_core","_debug","_editableHtml","_interopRequireWildcard","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","log","debug","canDrag","exports","DragHandleStyled","styled","cursor","RowContainer","theme","marginTop","spacing","display","alignItems","flex","RowItem","justifyContent","minWidth","padding","RadioButtonStyled","Radio","error","width","color","palette","main","tertiary","DeleteIcon","QuestionText","maxWidth","textAlign","marginRight","Separator","border","borderTop","grey","ErrorText","fontSize","typography","paddingTop","Row","React","Component","constructor","args","_defineProperty2","dialog","open","text","rowIndex","value","model","onChange","props","newModel","rows","title","rowValueIndex","event","choiceMode","values","length","target","checked","idx","onDeleteRow","minQuestions","setState","componentDidMount","document","addEventListener","onMouseUpOnHandle","render","imageSupport","row","inputConfiguration","toolbarOpts","spellCheck","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","state","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","content","createElement","style","itemID","onMouseDown","onMouseDownOnHandle","autoWidthToolbar","disableUnderline","label","markup","onRowTitleChange","pluginProps","activePlugins","languageCharactersProps","language","map","rowValue","rowIdx","key","includes","onRowValueChange","Checkbox","onClick","size","AlertDialog","onConfirm","PropTypes","object","isRequired","number","func","shape","add","delete","string","bool","DraggableRow","attributes","listeners","setNodeRef","setDragRef","transform","transition","isDragging","useDraggable","id","data","type","index","setDropRef","isOver","useDroppable","x","y","undefined","opacity","backgroundColor","ref","_extends2","_default"],"sources":["../src/row.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { AlertDialog, Checkbox } from '@pie-lib/config-ui';\nimport DragHandle from '@mui/icons-material/DragHandle';\nimport Radio from '@mui/material/Radio';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport debug from 'debug';\nimport EditableHtml, { DEFAULT_PLUGINS } from '@pie-lib/editable-html';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nexport let canDrag = false;\n\nconst DragHandleStyled = styled('span')({\n cursor: 'move',\n});\n\nconst RowContainer = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n}));\n\nconst RowItem = styled('div')(({ theme }) => ({\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minWidth: '120px',\n padding: `0 ${theme.spacing(1)}`,\n}));\n\nconst RadioButtonStyled = styled(Radio)(({ theme, error }) => ({\n '& input': {\n width: '100% !important',\n },\n '&.MuiRadio-root': {\n color: `${error ? theme.palette.error.main : color.tertiary()} !important`,\n },\n}));\n\nconst DeleteIcon = styled('div')(({ theme }) => ({\n flex: 0.5,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '45px',\n padding: `0 ${theme.spacing(1)}`,\n}));\n\nconst QuestionText = styled(RowItem)(({ theme }) => ({\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '200px',\n marginRight: theme.spacing(1),\n '&> div': {\n width: '100%',\n },\n}));\n\nconst Separator = styled('hr')(({ theme }) => ({\n marginTop: theme.spacing(2),\n border: 0,\n borderTop: `2px solid ${theme.palette.grey['A100']}`,\n width: '100%',\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nexport class Row extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n row: PropTypes.object.isRequired,\n idx: PropTypes.number.isRequired,\n maxImageWidth: PropTypes.object,\n maxImageHeight: PropTypes.object,\n onDeleteRow: PropTypes.func.isRequired,\n onChange: 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 inputConfiguration: PropTypes.object,\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n spellCheck: PropTypes.bool,\n minQuestions: PropTypes.number,\n };\n\n static defaultProps = {};\n\n state = {\n dialog: {\n open: false,\n text: '',\n },\n };\n\n componentDidMount() {\n document.addEventListener('mouseup', this.onMouseUpOnHandle);\n }\n\n onRowTitleChange = (rowIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.rows[rowIndex].title = value;\n onChange(newModel);\n };\n\n onRowValueChange = (rowIndex, rowValueIndex) => (event) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (model.choiceMode === 'radio') {\n for (let i = 0; i < newModel.rows[rowIndex].values.length; i++) {\n newModel.rows[rowIndex].values[i] = false;\n }\n }\n\n newModel.rows[rowIndex].values[rowValueIndex] = event.target.checked;\n\n onChange(newModel);\n };\n\n onDeleteRow = (idx) => () => {\n const { model, onDeleteRow, minQuestions } = this.props;\n\n if (model.rows && model.rows.length === minQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There should be at least ${minQuestions} question row` + (minQuestions > 1 ? 's' : '') + '.',\n },\n });\n } else {\n onDeleteRow(idx);\n }\n };\n\n onMouseDownOnHandle = () => {\n canDrag = true;\n };\n\n onMouseUpOnHandle = () => {\n canDrag = false;\n };\n\n render() {\n const {\n imageSupport,\n model,\n row,\n idx,\n inputConfiguration = {},\n toolbarOpts,\n spellCheck,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n const { dialog } = this.state;\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'bulleted-list' && p !== 'numbered-list',\n );\n\n const content = (\n <div style={{ width: '100%' }}>\n <DragHandleStyled itemID={'handle'} onMouseDown={this.onMouseDownOnHandle}>\n <DragHandle color={'primary'} />\n </DragHandleStyled>\n\n <RowContainer>\n <QuestionText>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n disableUnderline\n label={'label'}\n markup={row.title}\n onChange={this.onRowTitleChange(idx)}\n pluginProps={inputConfiguration}\n toolbarOpts={toolbarOpts}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={error && error !== 'No correct response defined.'}\n mathMlOptions={mathMlOptions}\n />\n </QuestionText>\n\n {row.values.map((rowValue, rowIdx) => (\n <RowItem key={rowIdx}>\n {model.choiceMode === 'radio' ? (\n <RadioButtonStyled\n error={error?.includes('No correct response defined.')}\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n />\n ) : (\n <Checkbox\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n label={''}\n error={error?.includes('No correct response defined.')}\n />\n )}\n </RowItem>\n ))}\n\n <DeleteIcon>\n <IconButton onClick={this.onDeleteRow(idx)} aria-label=\"Delete\" size=\"large\">\n <Delete />\n </IconButton>\n </DeleteIcon>\n </RowContainer>\n\n {error && <ErrorText>{error}</ErrorText>}\n <Separator />\n\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </div>\n );\n\n return content;\n }\n}\n\n// Create a wrapper component for drag and drop functionality\nfunction DraggableRow(props) {\n const {\n attributes,\n listeners,\n setNodeRef: setDragRef,\n transform,\n transition,\n isDragging,\n } = useDraggable({\n id: `row-${props.row.id}`,\n data: {\n type: 'row',\n index: props.idx,\n id: props.row.id,\n },\n });\n\n const {\n setNodeRef: setDropRef,\n isOver,\n } = useDroppable({\n id: `row-drop-${props.row.id}`,\n data: {\n type: 'row',\n index: props.idx,\n id: props.row.id,\n },\n });\n\n const style = {\n transform: transform ? `translate3d(${transform.x}px, ${transform.y}px, 0)` : undefined,\n transition,\n opacity: isDragging ? 0.5 : 1,\n backgroundColor: isOver ? 'rgba(0, 0, 0, 0.1)' : 'transparent',\n };\n\n return (\n <div ref={setDropRef} style={style}>\n <div ref={setDragRef} {...listeners} {...attributes}>\n <Row {...props} />\n </div>\n </div>\n );\n}\n\nexport default DraggableRow;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"row.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_configUi","_DragHandle","_Radio","_IconButton","_Delete","_core","_debug","_editableHtmlTipTap","_interopRequireWildcard","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","log","debug","canDrag","exports","DragHandleStyled","styled","cursor","RowContainer","theme","marginTop","spacing","display","alignItems","flex","RowItem","justifyContent","minWidth","padding","RadioButtonStyled","Radio","error","width","color","palette","main","tertiary","DeleteIcon","QuestionText","maxWidth","textAlign","marginRight","Separator","border","borderTop","grey","ErrorText","fontSize","typography","paddingTop","Row","React","Component","constructor","args","_defineProperty2","dialog","open","text","rowIndex","value","model","onChange","props","newModel","rows","title","rowValueIndex","event","choiceMode","values","length","target","checked","idx","onDeleteRow","minQuestions","setState","componentDidMount","document","addEventListener","onMouseUpOnHandle","render","imageSupport","row","inputConfiguration","toolbarOpts","spellCheck","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","state","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","content","createElement","style","itemID","onMouseDown","onMouseDownOnHandle","autoWidthToolbar","disableUnderline","label","markup","onRowTitleChange","pluginProps","activePlugins","languageCharactersProps","language","map","rowValue","rowIdx","key","includes","onRowValueChange","Checkbox","onClick","size","AlertDialog","onConfirm","PropTypes","object","isRequired","number","func","shape","add","delete","string","bool","DraggableRow","attributes","listeners","setNodeRef","setDragRef","transform","transition","isDragging","useDraggable","id","data","type","index","setDropRef","isOver","useDroppable","x","y","undefined","opacity","backgroundColor","ref","_extends2","_default"],"sources":["../src/row.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { AlertDialog, Checkbox } from '@pie-lib/config-ui';\nimport DragHandle from '@mui/icons-material/DragHandle';\nimport Radio from '@mui/material/Radio';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport debug from 'debug';\nimport EditableHtml, { DEFAULT_PLUGINS } from '@pie-lib/editable-html-tip-tap';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nexport let canDrag = false;\n\nconst DragHandleStyled = styled('span')({\n cursor: 'move',\n});\n\nconst RowContainer = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n}));\n\nconst RowItem = styled('div')(({ theme }) => ({\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minWidth: '120px',\n padding: `0 ${theme.spacing(1)}`,\n}));\n\nconst RadioButtonStyled = styled(Radio)(({ theme, error }) => ({\n '& input': {\n width: '100% !important',\n },\n '&.MuiRadio-root': {\n color: `${error ? theme.palette.error.main : color.tertiary()} !important`,\n },\n}));\n\nconst DeleteIcon = styled('div')(({ theme }) => ({\n flex: 0.5,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '45px',\n padding: `0 ${theme.spacing(1)}`,\n}));\n\nconst QuestionText = styled(RowItem)(({ theme }) => ({\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '200px',\n marginRight: theme.spacing(1),\n '&> div': {\n width: '100%',\n },\n}));\n\nconst Separator = styled('hr')(({ theme }) => ({\n marginTop: theme.spacing(2),\n border: 0,\n borderTop: `2px solid ${theme.palette.grey['A100']}`,\n width: '100%',\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nexport class Row extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n row: PropTypes.object.isRequired,\n idx: PropTypes.number.isRequired,\n maxImageWidth: PropTypes.object,\n maxImageHeight: PropTypes.object,\n onDeleteRow: PropTypes.func.isRequired,\n onChange: 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 inputConfiguration: PropTypes.object,\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n spellCheck: PropTypes.bool,\n minQuestions: PropTypes.number,\n };\n\n static defaultProps = {};\n\n state = {\n dialog: {\n open: false,\n text: '',\n },\n };\n\n componentDidMount() {\n document.addEventListener('mouseup', this.onMouseUpOnHandle);\n }\n\n onRowTitleChange = (rowIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.rows[rowIndex].title = value;\n onChange(newModel);\n };\n\n onRowValueChange = (rowIndex, rowValueIndex) => (event) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (model.choiceMode === 'radio') {\n for (let i = 0; i < newModel.rows[rowIndex].values.length; i++) {\n newModel.rows[rowIndex].values[i] = false;\n }\n }\n\n newModel.rows[rowIndex].values[rowValueIndex] = event.target.checked;\n\n onChange(newModel);\n };\n\n onDeleteRow = (idx) => () => {\n const { model, onDeleteRow, minQuestions } = this.props;\n\n if (model.rows && model.rows.length === minQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There should be at least ${minQuestions} question row` + (minQuestions > 1 ? 's' : '') + '.',\n },\n });\n } else {\n onDeleteRow(idx);\n }\n };\n\n onMouseDownOnHandle = () => {\n canDrag = true;\n };\n\n onMouseUpOnHandle = () => {\n canDrag = false;\n };\n\n render() {\n const {\n imageSupport,\n model,\n row,\n idx,\n inputConfiguration = {},\n toolbarOpts,\n spellCheck,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n const { dialog } = this.state;\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'bulleted-list' && p !== 'numbered-list',\n );\n\n const content = (\n <div style={{ width: '100%' }}>\n <DragHandleStyled itemID={'handle'} onMouseDown={this.onMouseDownOnHandle}>\n <DragHandle color={'primary'} />\n </DragHandleStyled>\n\n <RowContainer>\n <QuestionText>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n disableUnderline\n label={'label'}\n markup={row.title}\n onChange={this.onRowTitleChange(idx)}\n pluginProps={inputConfiguration}\n toolbarOpts={toolbarOpts}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={error && error !== 'No correct response defined.'}\n mathMlOptions={mathMlOptions}\n />\n </QuestionText>\n\n {row.values.map((rowValue, rowIdx) => (\n <RowItem key={rowIdx}>\n {model.choiceMode === 'radio' ? (\n <RadioButtonStyled\n error={error?.includes('No correct response defined.')}\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n />\n ) : (\n <Checkbox\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n label={''}\n error={error?.includes('No correct response defined.')}\n />\n )}\n </RowItem>\n ))}\n\n <DeleteIcon>\n <IconButton onClick={this.onDeleteRow(idx)} aria-label=\"Delete\" size=\"large\">\n <Delete />\n </IconButton>\n </DeleteIcon>\n </RowContainer>\n\n {error && <ErrorText>{error}</ErrorText>}\n <Separator />\n\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </div>\n );\n\n return content;\n }\n}\n\n// Create a wrapper component for drag and drop functionality\nfunction DraggableRow(props) {\n const {\n attributes,\n listeners,\n setNodeRef: setDragRef,\n transform,\n transition,\n isDragging,\n } = useDraggable({\n id: `row-${props.row.id}`,\n data: {\n type: 'row',\n index: props.idx,\n id: props.row.id,\n },\n });\n\n const {\n setNodeRef: setDropRef,\n isOver,\n } = useDroppable({\n id: `row-drop-${props.row.id}`,\n data: {\n type: 'row',\n index: props.idx,\n id: props.row.id,\n },\n });\n\n const style = {\n transform: transform ? `translate3d(${transform.x}px, ${transform.y}px, 0)` : undefined,\n transition,\n opacity: isDragging ? 0.5 : 1,\n backgroundColor: isOver ? 'rgba(0, 0, 0, 0.1)' : 'transparent',\n };\n\n return (\n <div ref={setDropRef} style={style}>\n <div ref={setDragRef} {...listeners} {...attributes}>\n <Row {...props} />\n </div>\n </div>\n );\n}\n\nexport default DraggableRow;\n"],"mappings":"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","ignoreList":[]}
@@ -1,30 +1,29 @@
1
1
  {
2
2
  "name": "@pie-element/match-configure",
3
3
  "private": true,
4
- "version": "9.0.0-beta.0",
4
+ "version": "9.0.0-beta.1",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "",
9
9
  "dependencies": {
10
- "@dnd-kit/core": "6.1.0",
10
+ "@dnd-kit/core": "6.3.1",
11
11
  "@emotion/react": "^11.14.0",
12
12
  "@emotion/style": "^0.8.0",
13
13
  "@mui/icons-material": "^7.3.4",
14
14
  "@mui/material": "^7.3.4",
15
15
  "@pie-framework/pie-configure-events": "^1.3.0",
16
- "@pie-lib/config-ui": "11.30.4-next.0",
17
- "@pie-lib/drag": "2.22.4-next.0",
18
- "@pie-lib/editable-html": "11.21.4-next.0",
19
- "@pie-lib/render-ui": "4.35.4-next.0",
20
- "@pie-lib/test-utils": "0.22.3-next.0",
16
+ "@pie-lib/config-ui": "12.1.1-next.3",
17
+ "@pie-lib/drag": "3.1.1-next.1",
18
+ "@pie-lib/editable-html-tip-tap": "1.1.1-next.3",
19
+ "@pie-lib/render-ui": "5.1.1-next.1",
20
+ "@pie-lib/test-utils": "1.1.1-next.1",
21
21
  "classnames": "^2.2.5",
22
- "debug": "^3.1.0",
23
- "lodash": "^4.17.15",
22
+ "debug": "^4.1.1",
23
+ "lodash-es": "^4.17.23",
24
24
  "prop-types": "^15.6.2",
25
- "react": "18.2.0",
26
- "react-dom": "18.2.0",
27
- "react-swipeable-views": "^0.12.17"
25
+ "react": "18.3.1",
26
+ "react-dom": "18.3.1"
28
27
  },
29
28
  "license": "ISC"
30
29
  }
@@ -3,17 +3,6 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [8.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@8.3.2...@pie-element/match-controller@8.3.3) (2025-11-27)
7
-
8
-
9
- ### Bug Fixes
10
-
11
- * bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
12
-
13
-
14
-
15
-
16
-
17
6
  ## [8.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@8.3.1...@pie-element/match-controller@8.3.2) (2025-10-22)
18
7
 
19
8
 
@@ -8,9 +8,7 @@ exports.createCorrectResponseSession = void 0;
8
8
  exports.createDefaultModel = createDefaultModel;
9
9
  exports.model = model;
10
10
  exports.validate = exports.outcome = exports.normalize = void 0;
11
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
12
- var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
13
- var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
11
+ var _lodashEs = require("lodash-es");
14
12
  var _feedback = require("@pie-lib/feedback");
15
13
  var _controllerUtils = require("@pie-lib/controller-utils");
16
14
  var _debug = _interopRequireDefault(require("debug"));
@@ -70,7 +68,7 @@ const getCheckboxes = (rows, answers) => {
70
68
  const getCorrectRadios = (rows, answers) => {
71
69
  let correctAnswers = 0;
72
70
  rows.forEach(row => {
73
- if ((0, _isEqual.default)(row.values, answers[row.id])) {
71
+ if ((0, _lodashEs.isEqual)(row.values, answers[row.id])) {
74
72
  correctAnswers += 1;
75
73
  }
76
74
  });
@@ -127,7 +125,7 @@ const outcome = (question, session, env) => {
127
125
  completed: undefined
128
126
  });
129
127
  } else {
130
- if (!session || (0, _isEmpty.default)(session)) {
128
+ if (!session || (0, _lodashEs.isEmpty)(session)) {
131
129
  resolve({
132
130
  score: 0,
133
131
  empty: true
@@ -163,9 +161,9 @@ const normalize = question => ({
163
161
  */
164
162
  exports.normalize = normalize;
165
163
  async function model(question, session, env, updateSession) {
166
- const normalizedQuestion = (0, _cloneDeep.default)(normalize(question));
164
+ const normalizedQuestion = (0, _lodashEs.cloneDeep)(normalize(question));
167
165
  let correctness, score;
168
- if ((!session || (0, _isEmpty.default)(session)) && env.mode === 'evaluate') {
166
+ if ((!session || (0, _lodashEs.isEmpty)(session)) && env.mode === 'evaluate') {
169
167
  correctness = 'unanswered';
170
168
  score = '0%';
171
169
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_isEqual","_interopRequireDefault","require","_isEmpty","_cloneDeep","_feedback","_controllerUtils","_debug","_defaults","log","debug","getResponseCorrectness","model","answers","env","isPartialScoring","partialScoring","enabled","rows","checkboxMode","choiceMode","Object","keys","length","totalCorrectAnswers","getTotalCorrectAnswers","getTotalCorrect","correctAnswers","incorrectAnswers","checkboxes","getCheckboxes","getCorrectRadios","getCorrectness","question","mode","forEach","row","answer","id","values","v","i","isEqual","matchingTable","layout","noOfTotalCorrectAnswers","value","getPartialScore","totalCorrect","total","extraAnswers","score","parseFloat","toFixed","getOutComeScore","correctness","outcome","session","Promise","resolve","undefined","completed","isEmpty","empty","out","exports","createDefaultModel","defaults","normalize","updateSession","normalizedQuestion","cloneDeep","correctResponse","correctInfo","lockChoiceOrder","lockChoices","getShuffledChoices","feedback","feedbackEnabled","getFeedbackForCorrectness","extraCSSRules","promptEnabled","prompt","_","essentials","allowFeedback","shuffled","disabled","view","role","teacherInstructions","teacherInstructionsEnabled","rationale","rationaleEnabled","assign","createCorrectResponseSession","r","getInnerText","html","replaceAll","getContent","replace","validate","config","headers","minQuestions","maxQuestions","maxLengthQuestionsHeading","maxAnswers","maxLengthAnswers","maxLengthFirstColumnHeading","rowsErrors","columnsErrors","errors","field","required","noOfRowsError","index","title","identicalAnswer","slice","some","hasCorrectResponse","columnsLengthError","headersContent","map","heading","shift","headerIndex","head","hasRowErrors","error","noCorrectAnswer","includes","correctResponseError","hasColumnErrors"],"sources":["../src/index.js"],"sourcesContent":["import isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { getFeedbackForCorrectness } from '@pie-lib/feedback';\nimport { lockChoices, getShuffledChoices, partialScoring } from '@pie-lib/controller-utils';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:match:controller');\n\nimport defaults from './defaults';\n\nconst getResponseCorrectness = (model, answers, env = {}) => {\n const isPartialScoring = partialScoring.enabled(model, env);\n const rows = model.rows;\n const checkboxMode = model.choiceMode === 'checkbox';\n\n if (!answers || Object.keys(answers).length === 0) {\n return 'unanswered';\n }\n\n const totalCorrectAnswers = checkboxMode ? getTotalCorrectAnswers(model) : getTotalCorrect(model);\n let correctAnswers;\n let incorrectAnswers = 0;\n\n if (checkboxMode) {\n const checkboxes = getCheckboxes(rows, answers);\n\n correctAnswers = checkboxes.correctAnswers;\n incorrectAnswers = checkboxes.incorrectAnswers;\n } else {\n correctAnswers = getCorrectRadios(rows, answers);\n }\n\n if (totalCorrectAnswers === correctAnswers && !incorrectAnswers) {\n return 'correct';\n } else if (correctAnswers === 0) {\n return 'incorrect';\n } else if (isPartialScoring) {\n return 'partial';\n }\n\n return 'incorrect';\n};\n\nconst getCorrectness = (question, env, answers = {}) => {\n if (env.mode === 'evaluate') {\n return getResponseCorrectness(question, answers, env);\n }\n};\n\nconst getCheckboxes = (rows, answers) => {\n let correctAnswers = 0;\n let incorrectAnswers = 0;\n\n rows.forEach((row) => {\n const answer = answers[row.id];\n\n if (answer) {\n row.values.forEach((v, i) => {\n if (answer[i] && answer[i] === v) {\n correctAnswers += 1;\n } else if (answer[i] && answer[i] !== v) {\n incorrectAnswers += 1;\n }\n });\n }\n });\n\n return { correctAnswers, incorrectAnswers };\n};\n\nconst getCorrectRadios = (rows, answers) => {\n let correctAnswers = 0;\n\n rows.forEach((row) => {\n if (isEqual(row.values, answers[row.id])) {\n correctAnswers += 1;\n }\n });\n\n return correctAnswers;\n};\n\nconst getTotalCorrect = (question) => {\n const checkboxMode = question.choiceMode === 'checkbox';\n const matchingTable = checkboxMode ? question.layout - 1 : 1;\n return (question.rows.length || 0) * matchingTable;\n};\n\nconst getTotalCorrectAnswers = (question) => {\n let noOfTotalCorrectAnswers = 0;\n\n question.rows.forEach((row) => {\n row.values.forEach((value) => {\n if (value) {\n noOfTotalCorrectAnswers += 1;\n }\n });\n });\n\n return noOfTotalCorrectAnswers;\n};\n\nconst getPartialScore = (question, answers) => {\n const checkboxMode = question.choiceMode === 'checkbox';\n\n if (checkboxMode) {\n const { correctAnswers, incorrectAnswers } = getCheckboxes(question.rows, answers);\n const totalCorrect = getTotalCorrectAnswers(question);\n\n const total = totalCorrect === 0 ? 1 : totalCorrect;\n\n if (correctAnswers + incorrectAnswers > totalCorrect) {\n const extraAnswers = correctAnswers + incorrectAnswers - totalCorrect;\n const score = parseFloat(((correctAnswers - extraAnswers) / total).toFixed(2));\n\n return score < 0 ? 0 : score;\n } else {\n return parseFloat((correctAnswers / total).toFixed(2));\n }\n } else {\n const correctAnswers = getCorrectRadios(question.rows, answers);\n const totalCorrect = getTotalCorrect(question) === 0 ? 1 : getTotalCorrect(question);\n\n return parseFloat((correctAnswers / totalCorrect).toFixed(2));\n }\n};\n\nconst getOutComeScore = (question, env, answers = {}) => {\n const correctness = getCorrectness(question, env, answers);\n const isPartialScoring = partialScoring.enabled(question, env);\n\n return correctness === 'correct'\n ? 1\n : correctness === 'partial' && isPartialScoring\n ? getPartialScore(question, answers)\n : 0;\n};\n\nexport const outcome = (question, session, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n const out = {\n score: getOutComeScore(question, env, session.answers),\n };\n\n resolve(out);\n }\n });\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport async function model(question, session, env, updateSession) {\n const normalizedQuestion = cloneDeep(normalize(question));\n let correctness, score;\n\n if ((!session || isEmpty(session)) && env.mode === 'evaluate') {\n correctness = 'unanswered';\n score = '0%';\n } else {\n correctness = getCorrectness(normalizedQuestion, env, session && session.answers);\n score = `${getOutComeScore(normalizedQuestion, env, session && session.answers) * 100}%`;\n }\n\n const correctResponse = {};\n const correctInfo = {\n score,\n correctness,\n };\n\n const lockChoiceOrder = lockChoices(normalizedQuestion, session, env);\n\n if (!lockChoiceOrder) {\n normalizedQuestion.rows = await getShuffledChoices(normalizedQuestion.rows, session, updateSession, 'id');\n }\n\n normalizedQuestion.rows.forEach((row) => {\n correctResponse[row.id] = row.values;\n\n if (env.mode !== 'evaluate') {\n delete row.values;\n }\n });\n\n const feedback =\n env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled\n ? await getFeedbackForCorrectness(correctInfo.correctness, normalizedQuestion.feedback)\n : undefined;\n\n const { extraCSSRules, feedbackEnabled, promptEnabled, prompt, lockChoiceOrder: _, ...essentials } =\n normalizedQuestion;\n const out = {\n ...essentials,\n extraCSSRules,\n allowFeedback: feedbackEnabled,\n prompt: promptEnabled ? prompt : null,\n shuffled: !lockChoiceOrder,\n feedback,\n disabled: env.mode !== 'gather',\n view: env.mode === 'view',\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n out.rationale = normalizedQuestion.rationaleEnabled ? normalizedQuestion.rationale : null;\n } else {\n out.rationale = null;\n out.teacherInstructions = null;\n }\n\n if (env.mode === 'evaluate') {\n Object.assign(out, {\n correctResponse,\n correctness: correctInfo,\n });\n }\n\n log('out: ', out);\n return out;\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { rows } = question;\n const answers = {};\n\n rows.forEach((r) => {\n answers[r.id] = r.values;\n });\n\n resolve({\n answers,\n id: '1',\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { rows, choiceMode, headers } = model;\n const {\n minQuestions,\n maxQuestions,\n maxLengthQuestionsHeading,\n maxAnswers,\n maxLengthAnswers,\n maxLengthFirstColumnHeading,\n } = config;\n const rowsErrors = {};\n const columnsErrors = {};\n const errors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n if (rows.length < minQuestions) {\n errors.noOfRowsError = `There should be at least ${minQuestions} question rows.`;\n } else if (rows.length > maxQuestions) {\n errors.noOfRowsError = `No more than ${maxQuestions} question rows should be defined.`;\n }\n\n (rows || []).forEach((row, index) => {\n const { id, values = [], title } = row;\n rowsErrors[id] = '';\n\n if (maxLengthQuestionsHeading && getInnerText(title).length > maxLengthQuestionsHeading) {\n rowsErrors[id] += `Content length should be maximum ${maxLengthQuestionsHeading} characters. `;\n }\n\n if (!getContent(title)) {\n rowsErrors[id] += 'Content should not be empty. ';\n } else {\n // check for identical content with the previous answers\n const identicalAnswer = rows.slice(0, index).some((r) => getContent(r.title) === getContent(title));\n\n if (identicalAnswer) {\n rowsErrors[id] += 'Content should be unique. ';\n }\n }\n\n const hasCorrectResponse = values.some((value) => !!value);\n\n if (!hasCorrectResponse) {\n rowsErrors[id] += 'No correct response defined.';\n }\n });\n\n if (maxAnswers && headers.length - 1 > maxAnswers) {\n errors.columnsLengthError = `There should be maximum ${maxAnswers} answers.`;\n }\n\n if (maxLengthFirstColumnHeading && headers[0].length > maxLengthFirstColumnHeading) {\n columnsErrors[0] = `Content length should be maximum ${maxLengthFirstColumnHeading} characters.`;\n }\n\n const headersContent = (headers || []).map((heading) => getContent(heading));\n headersContent.shift(); // remove first column since it does not require validation\n\n headersContent.forEach((heading, index) => {\n const headerIndex = index + 1; // we need to add 1 because we removed first header from validation\n columnsErrors[headerIndex] = '';\n\n if (maxLengthAnswers && getInnerText(heading).length > maxLengthAnswers) {\n columnsErrors[headerIndex] += `Content length should be maximum ${maxLengthAnswers} characters. `;\n }\n\n if (!heading) {\n columnsErrors[headerIndex] += 'Content should not be empty.';\n } else {\n // check for identical content with the previous headers\n const identicalAnswer = headersContent.slice(0, index).some((head) => head === heading);\n\n if (identicalAnswer) {\n columnsErrors[index + 1] += 'Content should be unique.';\n }\n }\n });\n\n const hasRowErrors = Object.values(rowsErrors).some((error) => (error || '').length);\n\n if (hasRowErrors) {\n errors.rowsErrors = rowsErrors;\n\n const noCorrectAnswer = Object.values(rowsErrors).some((error) =>\n (error || '').includes('No correct response defined.'),\n );\n\n if (noCorrectAnswer) {\n errors.correctResponseError =\n choiceMode === 'radio'\n ? 'There should be a correct response defined for every row.'\n : 'There should be at least one correct response defined for every row.';\n }\n }\n\n const hasColumnErrors = Object.values(columnsErrors).some((error) => (error || '').length);\n\n if (hasColumnErrors) {\n errors.columnsErrors = columnsErrors;\n }\n\n return errors;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_lodashEs","require","_feedback","_controllerUtils","_debug","_interopRequireDefault","_defaults","log","debug","getResponseCorrectness","model","answers","env","isPartialScoring","partialScoring","enabled","rows","checkboxMode","choiceMode","Object","keys","length","totalCorrectAnswers","getTotalCorrectAnswers","getTotalCorrect","correctAnswers","incorrectAnswers","checkboxes","getCheckboxes","getCorrectRadios","getCorrectness","question","mode","forEach","row","answer","id","values","v","i","isEqual","matchingTable","layout","noOfTotalCorrectAnswers","value","getPartialScore","totalCorrect","total","extraAnswers","score","parseFloat","toFixed","getOutComeScore","correctness","outcome","session","Promise","resolve","undefined","completed","isEmpty","empty","out","exports","createDefaultModel","defaults","normalize","updateSession","normalizedQuestion","cloneDeep","correctResponse","correctInfo","lockChoiceOrder","lockChoices","getShuffledChoices","feedback","feedbackEnabled","getFeedbackForCorrectness","extraCSSRules","promptEnabled","prompt","_","essentials","allowFeedback","shuffled","disabled","view","role","teacherInstructions","teacherInstructionsEnabled","rationale","rationaleEnabled","assign","createCorrectResponseSession","r","getInnerText","html","replaceAll","getContent","replace","validate","config","headers","minQuestions","maxQuestions","maxLengthQuestionsHeading","maxAnswers","maxLengthAnswers","maxLengthFirstColumnHeading","rowsErrors","columnsErrors","errors","field","required","noOfRowsError","index","title","identicalAnswer","slice","some","hasCorrectResponse","columnsLengthError","headersContent","map","heading","shift","headerIndex","head","hasRowErrors","error","noCorrectAnswer","includes","correctResponseError","hasColumnErrors"],"sources":["../src/index.js"],"sourcesContent":["import { cloneDeep, isEmpty, isEqual } from 'lodash-es';\nimport { getFeedbackForCorrectness } from '@pie-lib/feedback';\nimport { lockChoices, getShuffledChoices, partialScoring } from '@pie-lib/controller-utils';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:match:controller');\n\nimport defaults from './defaults';\n\nconst getResponseCorrectness = (model, answers, env = {}) => {\n const isPartialScoring = partialScoring.enabled(model, env);\n const rows = model.rows;\n const checkboxMode = model.choiceMode === 'checkbox';\n\n if (!answers || Object.keys(answers).length === 0) {\n return 'unanswered';\n }\n\n const totalCorrectAnswers = checkboxMode ? getTotalCorrectAnswers(model) : getTotalCorrect(model);\n let correctAnswers;\n let incorrectAnswers = 0;\n\n if (checkboxMode) {\n const checkboxes = getCheckboxes(rows, answers);\n\n correctAnswers = checkboxes.correctAnswers;\n incorrectAnswers = checkboxes.incorrectAnswers;\n } else {\n correctAnswers = getCorrectRadios(rows, answers);\n }\n\n if (totalCorrectAnswers === correctAnswers && !incorrectAnswers) {\n return 'correct';\n } else if (correctAnswers === 0) {\n return 'incorrect';\n } else if (isPartialScoring) {\n return 'partial';\n }\n\n return 'incorrect';\n};\n\nconst getCorrectness = (question, env, answers = {}) => {\n if (env.mode === 'evaluate') {\n return getResponseCorrectness(question, answers, env);\n }\n};\n\nconst getCheckboxes = (rows, answers) => {\n let correctAnswers = 0;\n let incorrectAnswers = 0;\n\n rows.forEach((row) => {\n const answer = answers[row.id];\n\n if (answer) {\n row.values.forEach((v, i) => {\n if (answer[i] && answer[i] === v) {\n correctAnswers += 1;\n } else if (answer[i] && answer[i] !== v) {\n incorrectAnswers += 1;\n }\n });\n }\n });\n\n return { correctAnswers, incorrectAnswers };\n};\n\nconst getCorrectRadios = (rows, answers) => {\n let correctAnswers = 0;\n\n rows.forEach((row) => {\n if (isEqual(row.values, answers[row.id])) {\n correctAnswers += 1;\n }\n });\n\n return correctAnswers;\n};\n\nconst getTotalCorrect = (question) => {\n const checkboxMode = question.choiceMode === 'checkbox';\n const matchingTable = checkboxMode ? question.layout - 1 : 1;\n return (question.rows.length || 0) * matchingTable;\n};\n\nconst getTotalCorrectAnswers = (question) => {\n let noOfTotalCorrectAnswers = 0;\n\n question.rows.forEach((row) => {\n row.values.forEach((value) => {\n if (value) {\n noOfTotalCorrectAnswers += 1;\n }\n });\n });\n\n return noOfTotalCorrectAnswers;\n};\n\nconst getPartialScore = (question, answers) => {\n const checkboxMode = question.choiceMode === 'checkbox';\n\n if (checkboxMode) {\n const { correctAnswers, incorrectAnswers } = getCheckboxes(question.rows, answers);\n const totalCorrect = getTotalCorrectAnswers(question);\n\n const total = totalCorrect === 0 ? 1 : totalCorrect;\n\n if (correctAnswers + incorrectAnswers > totalCorrect) {\n const extraAnswers = correctAnswers + incorrectAnswers - totalCorrect;\n const score = parseFloat(((correctAnswers - extraAnswers) / total).toFixed(2));\n\n return score < 0 ? 0 : score;\n } else {\n return parseFloat((correctAnswers / total).toFixed(2));\n }\n } else {\n const correctAnswers = getCorrectRadios(question.rows, answers);\n const totalCorrect = getTotalCorrect(question) === 0 ? 1 : getTotalCorrect(question);\n\n return parseFloat((correctAnswers / totalCorrect).toFixed(2));\n }\n};\n\nconst getOutComeScore = (question, env, answers = {}) => {\n const correctness = getCorrectness(question, env, answers);\n const isPartialScoring = partialScoring.enabled(question, env);\n\n return correctness === 'correct'\n ? 1\n : correctness === 'partial' && isPartialScoring\n ? getPartialScore(question, answers)\n : 0;\n};\n\nexport const outcome = (question, session, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n const out = {\n score: getOutComeScore(question, env, session.answers),\n };\n\n resolve(out);\n }\n });\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport async function model(question, session, env, updateSession) {\n const normalizedQuestion = cloneDeep(normalize(question));\n let correctness, score;\n\n if ((!session || isEmpty(session)) && env.mode === 'evaluate') {\n correctness = 'unanswered';\n score = '0%';\n } else {\n correctness = getCorrectness(normalizedQuestion, env, session && session.answers);\n score = `${getOutComeScore(normalizedQuestion, env, session && session.answers) * 100}%`;\n }\n\n const correctResponse = {};\n const correctInfo = {\n score,\n correctness,\n };\n\n const lockChoiceOrder = lockChoices(normalizedQuestion, session, env);\n\n if (!lockChoiceOrder) {\n normalizedQuestion.rows = await getShuffledChoices(normalizedQuestion.rows, session, updateSession, 'id');\n }\n\n normalizedQuestion.rows.forEach((row) => {\n correctResponse[row.id] = row.values;\n\n if (env.mode !== 'evaluate') {\n delete row.values;\n }\n });\n\n const feedback =\n env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled\n ? await getFeedbackForCorrectness(correctInfo.correctness, normalizedQuestion.feedback)\n : undefined;\n\n const {\n extraCSSRules,\n feedbackEnabled,\n promptEnabled,\n prompt,\n lockChoiceOrder: _,\n ...essentials\n } = normalizedQuestion;\n const out = {\n ...essentials,\n extraCSSRules,\n allowFeedback: feedbackEnabled,\n prompt: promptEnabled ? prompt : null,\n shuffled: !lockChoiceOrder,\n feedback,\n disabled: env.mode !== 'gather',\n view: env.mode === 'view',\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n out.rationale = normalizedQuestion.rationaleEnabled ? normalizedQuestion.rationale : null;\n } else {\n out.rationale = null;\n out.teacherInstructions = null;\n }\n\n if (env.mode === 'evaluate') {\n Object.assign(out, {\n correctResponse,\n correctness: correctInfo,\n });\n }\n\n log('out: ', out);\n return out;\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { rows } = question;\n const answers = {};\n\n rows.forEach((r) => {\n answers[r.id] = r.values;\n });\n\n resolve({\n answers,\n id: '1',\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { rows, choiceMode, headers } = model;\n const {\n minQuestions,\n maxQuestions,\n maxLengthQuestionsHeading,\n maxAnswers,\n maxLengthAnswers,\n maxLengthFirstColumnHeading,\n } = config;\n const rowsErrors = {};\n const columnsErrors = {};\n const errors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n if (rows.length < minQuestions) {\n errors.noOfRowsError = `There should be at least ${minQuestions} question rows.`;\n } else if (rows.length > maxQuestions) {\n errors.noOfRowsError = `No more than ${maxQuestions} question rows should be defined.`;\n }\n\n (rows || []).forEach((row, index) => {\n const { id, values = [], title } = row;\n rowsErrors[id] = '';\n\n if (maxLengthQuestionsHeading && getInnerText(title).length > maxLengthQuestionsHeading) {\n rowsErrors[id] += `Content length should be maximum ${maxLengthQuestionsHeading} characters. `;\n }\n\n if (!getContent(title)) {\n rowsErrors[id] += 'Content should not be empty. ';\n } else {\n // check for identical content with the previous answers\n const identicalAnswer = rows.slice(0, index).some((r) => getContent(r.title) === getContent(title));\n\n if (identicalAnswer) {\n rowsErrors[id] += 'Content should be unique. ';\n }\n }\n\n const hasCorrectResponse = values.some((value) => !!value);\n\n if (!hasCorrectResponse) {\n rowsErrors[id] += 'No correct response defined.';\n }\n });\n\n if (maxAnswers && headers.length - 1 > maxAnswers) {\n errors.columnsLengthError = `There should be maximum ${maxAnswers} answers.`;\n }\n\n if (maxLengthFirstColumnHeading && headers[0].length > maxLengthFirstColumnHeading) {\n columnsErrors[0] = `Content length should be maximum ${maxLengthFirstColumnHeading} characters.`;\n }\n\n const headersContent = (headers || []).map((heading) => getContent(heading));\n headersContent.shift(); // remove first column since it does not require validation\n\n headersContent.forEach((heading, index) => {\n const headerIndex = index + 1; // we need to add 1 because we removed first header from validation\n columnsErrors[headerIndex] = '';\n\n if (maxLengthAnswers && getInnerText(heading).length > maxLengthAnswers) {\n columnsErrors[headerIndex] += `Content length should be maximum ${maxLengthAnswers} characters. `;\n }\n\n if (!heading) {\n columnsErrors[headerIndex] += 'Content should not be empty.';\n } else {\n // check for identical content with the previous headers\n const identicalAnswer = headersContent.slice(0, index).some((head) => head === heading);\n\n if (identicalAnswer) {\n columnsErrors[index + 1] += 'Content should be unique.';\n }\n }\n });\n\n const hasRowErrors = Object.values(rowsErrors).some((error) => (error || '').length);\n\n if (hasRowErrors) {\n errors.rowsErrors = rowsErrors;\n\n const noCorrectAnswer = Object.values(rowsErrors).some((error) =>\n (error || '').includes('No correct response defined.'),\n );\n\n if (noCorrectAnswer) {\n errors.correctResponseError =\n choiceMode === 'radio'\n ? 'There should be a correct response defined for every row.'\n : 'There should be at least one correct response defined for every row.';\n }\n }\n\n const hasColumnErrors = Object.values(columnsErrors).some((error) => (error || '').length);\n\n if (hasColumnErrors) {\n errors.columnsErrors = columnsErrors;\n }\n\n return errors;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/match-controller",
3
3
  "private": true,
4
- "version": "9.0.0-beta.0",
4
+ "version": "9.0.0-beta.1",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,9 +9,9 @@
9
9
  "test": "./node_modules/.bin/jest"
10
10
  },
11
11
  "dependencies": {
12
- "@pie-lib/controller-utils": "0.22.4-next.0",
13
- "@pie-lib/feedback": "0.24.3-next.0",
14
- "debug": "^3.1.0"
12
+ "@pie-lib/controller-utils": "1.1.1-next.1",
13
+ "@pie-lib/feedback": "1.1.1-next.1",
14
+ "debug": "^4.1.1"
15
15
  },
16
16
  "devDependencies": {
17
17
  "babel-jest": "^29.7.0",
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "11.0.0-beta.0",
7
+ "version": "11.0.0-next.0+67da381",
8
8
  "main": "lib/index.js",
9
9
  "description": "",
10
10
  "scripts": {
@@ -16,19 +16,19 @@
16
16
  "@mui/icons-material": "^7.3.4",
17
17
  "@mui/material": "^7.3.4",
18
18
  "@pie-framework/pie-player-events": "^0.1.0",
19
- "@pie-lib/correct-answer-toggle": "2.25.4-next.0",
20
- "@pie-lib/math-rendering": "3.22.3-next.0",
21
- "@pie-lib/render-ui": "4.35.4-next.0",
22
- "@pie-lib/test-utils": "0.22.3-next.0",
19
+ "@pie-lib/correct-answer-toggle": "3.1.1-next.1",
20
+ "@pie-lib/math-rendering": "4.1.1-next.1",
21
+ "@pie-lib/render-ui": "5.1.1-next.1",
22
+ "@pie-lib/test-utils": "1.1.1-next.1",
23
23
  "classnames": "^2.2.5",
24
24
  "debug": "^4.1.1",
25
- "lodash": "^4.17.10",
25
+ "lodash-es": "^4.17.23",
26
26
  "prop-types": "^15.6.1",
27
- "react": "18.2.0",
28
- "react-dom": "18.2.0"
27
+ "react": "18.3.1",
28
+ "react-dom": "18.3.1"
29
29
  },
30
30
  "author": "",
31
31
  "license": "ISC",
32
- "gitHead": "c47957cb243457f62111caf9d07deaad04b39545",
32
+ "gitHead": "67da3818d2af966110c6e85f6e8e238b79515eb2",
33
33
  "module": "src/index.js"
34
34
  }