@pie-element/matrix 4.1.2-next.1 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +1 -0
- package/CHANGELOG.md +1415 -0
- package/LICENSE.md +5 -0
- package/README.md +59 -0
- package/configure/CHANGELOG.json +1 -0
- package/configure/CHANGELOG.md +1341 -0
- package/configure/lib/HeaderCommon.js +28 -0
- package/configure/lib/HeaderCommon.js.map +1 -0
- package/configure/lib/Main.js +179 -0
- package/configure/lib/Main.js.map +1 -0
- package/configure/lib/MatrixColumnsSizeHeaderInput.js +56 -0
- package/configure/lib/MatrixColumnsSizeHeaderInput.js.map +1 -0
- package/configure/lib/MatrixLabelEditableButton.js +224 -0
- package/configure/lib/MatrixLabelEditableButton.js.map +1 -0
- package/configure/lib/MatrixLabelTypeHeaderInput.js +98 -0
- package/configure/lib/MatrixLabelTypeHeaderInput.js.map +1 -0
- package/configure/lib/MatrixRowsSizeHeaderInput.js +56 -0
- package/configure/lib/MatrixRowsSizeHeaderInput.js.map +1 -0
- package/configure/lib/MatrixValues.js +217 -0
- package/configure/lib/MatrixValues.js.map +1 -0
- package/configure/lib/NumberInput.js +77 -0
- package/configure/lib/NumberInput.js.map +1 -0
- package/configure/lib/columnLabelsGenerator.js +49 -0
- package/configure/lib/columnLabelsGenerator.js.map +1 -0
- package/configure/lib/defaults.js +86 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +98 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/isNumeric.js +11 -0
- package/configure/lib/isNumeric.js.map +1 -0
- package/configure/lib/matrixEntities.js +16 -0
- package/configure/lib/matrixEntities.js.map +1 -0
- package/configure/package.json +28 -0
- package/controller/CHANGELOG.json +1 -0
- package/controller/CHANGELOG.md +88 -0
- package/controller/lib/defaults.js +17 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +96 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/package.json +17 -0
- package/docs/config-schema.json +1475 -0
- package/docs/config-schema.json.md +1093 -0
- package/docs/demo/config.js +8 -0
- package/docs/demo/generate.js +9 -0
- package/docs/demo/index.html +1 -0
- package/docs/demo/session.js +6 -0
- package/docs/pie-schema.json +1 -0
- package/docs/pie-schema.json.md +1 -0
- package/lib/ChoiceInput.js +59 -0
- package/lib/ChoiceInput.js.map +1 -0
- package/lib/Main.js +42 -0
- package/lib/Main.js.map +1 -0
- package/lib/Matrix.js +104 -0
- package/lib/Matrix.js.map +1 -0
- package/lib/index.js +80 -0
- package/lib/index.js.map +1 -0
- package/lib/session-updater.js +10 -0
- package/lib/session-updater.js.map +1 -0
- package/package.json +19 -84
- package/configure.js +0 -2
- package/controller.js +0 -1
- package/dist/author/HeaderCommon.d.ts +0 -12
- package/dist/author/HeaderCommon.js +0 -20
- package/dist/author/Main.d.ts +0 -27
- package/dist/author/Main.js +0 -134
- package/dist/author/MatrixColumnsSizeHeaderInput.d.ts +0 -21
- package/dist/author/MatrixColumnsSizeHeaderInput.js +0 -39
- package/dist/author/MatrixLabelEditableButton.d.ts +0 -27
- package/dist/author/MatrixLabelEditableButton.js +0 -191
- package/dist/author/MatrixLabelTypeHeaderInput.d.ts +0 -21
- package/dist/author/MatrixLabelTypeHeaderInput.js +0 -96
- package/dist/author/MatrixRowsSizeHeaderInput.d.ts +0 -21
- package/dist/author/MatrixRowsSizeHeaderInput.js +0 -39
- package/dist/author/MatrixValues.d.ts +0 -29
- package/dist/author/MatrixValues.js +0 -156
- package/dist/author/NumberInput.d.ts +0 -20
- package/dist/author/NumberInput.js +0 -61
- package/dist/author/columnLabelsGenerator.d.ts +0 -11
- package/dist/author/columnLabelsGenerator.js +0 -101
- package/dist/author/defaults.d.ts +0 -88
- package/dist/author/defaults.js +0 -56
- package/dist/author/index.d.ts +0 -31
- package/dist/author/index.js +0 -66
- package/dist/author/isNumeric.d.ts +0 -10
- package/dist/author/isNumeric.js +0 -4
- package/dist/author/matrixEntities.d.ts +0 -17
- package/dist/author/matrixEntities.js +0 -12
- package/dist/browser/Radio-DJhIYuTn.js +0 -10138
- package/dist/browser/Radio-DJhIYuTn.js.map +0 -1
- package/dist/browser/author/index.js +0 -39771
- package/dist/browser/author/index.js.map +0 -1
- package/dist/browser/controller/index.js +0 -60
- package/dist/browser/controller/index.js.map +0 -1
- package/dist/browser/delivery/index.js +0 -205
- package/dist/browser/delivery/index.js.map +0 -1
- package/dist/browser/dist-DHz-aOnW.js +0 -92
- package/dist/browser/dist-DHz-aOnW.js.map +0 -1
- package/dist/browser/matrix.css +0 -2
- package/dist/controller/defaults.d.ts +0 -19
- package/dist/controller/defaults.js +0 -17
- package/dist/controller/index.d.ts +0 -19
- package/dist/controller/index.js +0 -46
- package/dist/delivery/ChoiceInput.d.ts +0 -25
- package/dist/delivery/ChoiceInput.js +0 -36
- package/dist/delivery/Main.d.ts +0 -23
- package/dist/delivery/Main.js +0 -37
- package/dist/delivery/Matrix.d.ts +0 -29
- package/dist/delivery/Matrix.js +0 -81
- package/dist/delivery/index.d.ts +0 -22
- package/dist/delivery/index.js +0 -45
- package/dist/delivery/session-updater.d.ts +0 -9
- package/dist/index.d.ts +0 -1
- package/dist/index.iife.d.ts +0 -8
- package/dist/index.iife.js +0 -164
- package/dist/index.js +0 -2
- package/dist/runtime-support.d.ts +0 -12
- package/dist/runtime-support.js +0 -12
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
exports.model = (id, element) => ({
|
|
2
|
+
id,
|
|
3
|
+
element,
|
|
4
|
+
labelType: 'agreement',
|
|
5
|
+
rowLabels: ['I\'m interested in politics.', 'I\'m interested in economics.'],
|
|
6
|
+
columnLabels: ['Disagree', 'Unsure', 'Agree'],
|
|
7
|
+
matrixValues: {},
|
|
8
|
+
prompt: 'How interested are you in the following domains?',
|
|
9
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<matrix-element pie-id="1"> </matrix-element>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _styles = require("@mui/material/styles");
|
|
11
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
12
|
+
var _Radio = _interopRequireDefault(require("@mui/material/Radio"));
|
|
13
|
+
const StyledRadio = (0, _styles.styled)(_Radio.default)({
|
|
14
|
+
'&.MuiRadio-root': {
|
|
15
|
+
color: `var(--choice-input-color, ${_renderUi.color.text()})`
|
|
16
|
+
},
|
|
17
|
+
'&.MuiRadio-root.Mui-checked': {
|
|
18
|
+
color: `var(--choice-input-selected-color, ${_renderUi.color.primary()})`
|
|
19
|
+
},
|
|
20
|
+
'&.MuiRadio-root.Mui-disabled': {
|
|
21
|
+
color: `var(--choice-input-disabled-color, ${_renderUi.color.defaults.DISABLED})`
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
const ChoiceInput = props => {
|
|
25
|
+
const {
|
|
26
|
+
disabled,
|
|
27
|
+
checked,
|
|
28
|
+
matrixKey,
|
|
29
|
+
matrixValue,
|
|
30
|
+
onChange
|
|
31
|
+
} = props;
|
|
32
|
+
const onChangeWrapper = () => {
|
|
33
|
+
if (disabled) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
onChange({
|
|
37
|
+
matrixValue,
|
|
38
|
+
matrixKey
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement(StyledRadio, {
|
|
42
|
+
checked: checked,
|
|
43
|
+
onChange: onChangeWrapper,
|
|
44
|
+
disabled: disabled
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
ChoiceInput.propTypes = {
|
|
48
|
+
checked: _propTypes.default.bool.isRequired,
|
|
49
|
+
disabled: _propTypes.default.bool.isRequired,
|
|
50
|
+
matrixValue: _propTypes.default.number.isRequired,
|
|
51
|
+
matrixKey: _propTypes.default.string.isRequired,
|
|
52
|
+
onChange: _propTypes.default.func.isRequired
|
|
53
|
+
};
|
|
54
|
+
ChoiceInput.defaultProps = {
|
|
55
|
+
checked: false,
|
|
56
|
+
disabled: false
|
|
57
|
+
};
|
|
58
|
+
var _default = exports.default = ChoiceInput;
|
|
59
|
+
//# sourceMappingURL=ChoiceInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChoiceInput.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_renderUi","_Radio","StyledRadio","styled","Radio","color","text","primary","defaults","DISABLED","ChoiceInput","props","disabled","checked","matrixKey","matrixValue","onChange","onChangeWrapper","default","createElement","propTypes","PropTypes","bool","isRequired","number","string","func","defaultProps","_default","exports"],"sources":["../src/ChoiceInput.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport Radio from '@mui/material/Radio';\n\nconst StyledRadio = styled(Radio)({\n '&.MuiRadio-root': {\n color: `var(--choice-input-color, ${color.text()})`,\n },\n '&.MuiRadio-root.Mui-checked': {\n color: `var(--choice-input-selected-color, ${color.primary()})`,\n },\n '&.MuiRadio-root.Mui-disabled': {\n color: `var(--choice-input-disabled-color, ${color.defaults.DISABLED})`,\n },\n});\n\nconst ChoiceInput = (props) => {\n const { disabled, checked, matrixKey, matrixValue, onChange } = props;\n\n const onChangeWrapper = () => {\n if (disabled) {\n return;\n }\n onChange({\n matrixValue,\n matrixKey,\n });\n };\n\n return (\n <StyledRadio\n checked={checked}\n onChange={onChangeWrapper}\n disabled={disabled}\n />\n );\n};\n\nChoiceInput.propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n matrixValue: PropTypes.number.isRequired,\n matrixKey: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nChoiceInput.defaultProps = {\n checked: false,\n disabled: false,\n};\n\nexport default ChoiceInput;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,MAAMK,WAAW,GAAG,IAAAC,cAAM,EAACC,cAAK,CAAC,CAAC;EAChC,iBAAiB,EAAE;IACjBC,KAAK,EAAE,6BAA6BA,eAAK,CAACC,IAAI,CAAC,CAAC;EAClD,CAAC;EACD,6BAA6B,EAAE;IAC7BD,KAAK,EAAE,sCAAsCA,eAAK,CAACE,OAAO,CAAC,CAAC;EAC9D,CAAC;EACD,8BAA8B,EAAE;IAC9BF,KAAK,EAAE,sCAAsCA,eAAK,CAACG,QAAQ,CAACC,QAAQ;EACtE;AACF,CAAC,CAAC;AAEF,MAAMC,WAAW,GAAIC,KAAK,IAAK;EAC7B,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,SAAS;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAGL,KAAK;EAErE,MAAMM,eAAe,GAAGA,CAAA,KAAM;IAC5B,IAAIL,QAAQ,EAAE;MACZ;IACF;IACAI,QAAQ,CAAC;MACPD,WAAW;MACXD;IACF,CAAC,CAAC;EACJ,CAAC;EAED,oBACEnB,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACjB,WAAW;IACVW,OAAO,EAAEA,OAAQ;IACjBG,QAAQ,EAAEC,eAAgB;IAC1BL,QAAQ,EAAEA;EAAS,CACpB,CAAC;AAEN,CAAC;AAEDF,WAAW,CAACU,SAAS,GAAG;EACtBP,OAAO,EAAEQ,kBAAS,CAACC,IAAI,CAACC,UAAU;EAClCX,QAAQ,EAAES,kBAAS,CAACC,IAAI,CAACC,UAAU;EACnCR,WAAW,EAAEM,kBAAS,CAACG,MAAM,CAACD,UAAU;EACxCT,SAAS,EAAEO,kBAAS,CAACI,MAAM,CAACF,UAAU;EACtCP,QAAQ,EAAEK,kBAAS,CAACK,IAAI,CAACH;AAC3B,CAAC;AAEDb,WAAW,CAACiB,YAAY,GAAG;EACzBd,OAAO,EAAE,KAAK;EACdD,QAAQ,EAAE;AACZ,CAAC;AAAC,IAAAgB,QAAA,GAAAC,OAAA,CAAAX,OAAA,GAEaR,WAAW","ignoreList":[]}
|
package/lib/Main.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
13
|
+
var _Matrix = _interopRequireDefault(require("./Matrix"));
|
|
14
|
+
class Main extends _react.default.Component {
|
|
15
|
+
render() {
|
|
16
|
+
const {
|
|
17
|
+
model,
|
|
18
|
+
onSessionChange,
|
|
19
|
+
session
|
|
20
|
+
} = this.props;
|
|
21
|
+
const {
|
|
22
|
+
extraCSSRules
|
|
23
|
+
} = model;
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_renderUi.PreviewLayout, {
|
|
25
|
+
extraCSSRules: extraCSSRules
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_Matrix.default, (0, _extends2.default)({}, model, {
|
|
27
|
+
session: session,
|
|
28
|
+
onSessionChange: onSessionChange
|
|
29
|
+
})));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
(0, _defineProperty2.default)(Main, "propTypes", {
|
|
33
|
+
model: _propTypes.default.object,
|
|
34
|
+
session: _propTypes.default.object,
|
|
35
|
+
onSessionChange: _propTypes.default.func
|
|
36
|
+
});
|
|
37
|
+
(0, _defineProperty2.default)(Main, "defaultProps", {
|
|
38
|
+
model: {},
|
|
39
|
+
session: {}
|
|
40
|
+
});
|
|
41
|
+
var _default = exports.default = Main;
|
|
42
|
+
//# sourceMappingURL=Main.js.map
|
package/lib/Main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Main.js","names":["_react","_interopRequireDefault","require","_propTypes","_renderUi","_Matrix","Main","React","Component","render","model","onSessionChange","session","props","extraCSSRules","default","createElement","PreviewLayout","_extends2","_defineProperty2","PropTypes","object","func","_default","exports"],"sources":["../src/Main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewLayout } from '@pie-lib/render-ui';\nimport Matrix from './Matrix';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const { model, onSessionChange, session } = this.props;\n const { extraCSSRules } = model;\n return (\n <PreviewLayout extraCSSRules={extraCSSRules}>\n <Matrix {...model} session={session} onSessionChange={onSessionChange} />\n </PreviewLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,MAAMI,IAAI,SAASC,cAAK,CAACC,SAAS,CAAC;EAYjCC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,eAAe;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACC,KAAK;IACtD,MAAM;MAAEC;IAAc,CAAC,GAAGJ,KAAK;IAC/B,oBACEV,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,SAAA,CAAAa,aAAa;MAACH,aAAa,EAAEA;IAAc,gBAC1Cd,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACX,OAAA,CAAAU,OAAM,MAAAG,SAAA,CAAAH,OAAA,MAAKL,KAAK;MAAEE,OAAO,EAAEA,OAAQ;MAACD,eAAe,EAAEA;IAAgB,EAAE,CAC3D,CAAC;EAEpB;AACF;AAAC,IAAAQ,gBAAA,CAAAJ,OAAA,EArBKT,IAAI,eACW;EACjBI,KAAK,EAAEU,kBAAS,CAACC,MAAM;EACvBT,OAAO,EAAEQ,kBAAS,CAACC,MAAM;EACzBV,eAAe,EAAES,kBAAS,CAACE;AAC7B,CAAC;AAAA,IAAAH,gBAAA,CAAAJ,OAAA,EALGT,IAAI,kBAOc;EACpBI,KAAK,EAAE,CAAC,CAAC;EACTE,OAAO,EAAE,CAAC;AACZ,CAAC;AAAA,IAAAW,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAaYT,IAAI","ignoreList":[]}
|
package/lib/Matrix.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
var _ChoiceInput = _interopRequireDefault(require("./ChoiceInput"));
|
|
12
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
13
|
+
const MatrixWrapper = _styledComponents.default.div`
|
|
14
|
+
color: ${_renderUi.color.text()};
|
|
15
|
+
background-color: ${_renderUi.color.background()};
|
|
16
|
+
font-family: Roboto, Arial, Helvetica, sans-serif;
|
|
17
|
+
`;
|
|
18
|
+
const MatrixGridWrapper = _styledComponents.default.div`
|
|
19
|
+
display: grid;
|
|
20
|
+
grid-template-columns: ${props => props.gridTemplateColumns};
|
|
21
|
+
grid-column-gap: 30px;
|
|
22
|
+
grid-row-gap: 20px;
|
|
23
|
+
margin-top: 20px;
|
|
24
|
+
`;
|
|
25
|
+
const TeacherInstructions = (0, _styledComponents.default)(_renderUi.Collapsible)`
|
|
26
|
+
margin-bottom: 16px;
|
|
27
|
+
`;
|
|
28
|
+
const MatrixGridItem = _styledComponents.default.div`
|
|
29
|
+
align-self: center;
|
|
30
|
+
justify-self: center;
|
|
31
|
+
white-space: nowrap;
|
|
32
|
+
`;
|
|
33
|
+
const Matrix = props => {
|
|
34
|
+
const {
|
|
35
|
+
disabled,
|
|
36
|
+
prompt,
|
|
37
|
+
onSessionChange,
|
|
38
|
+
columnLabels,
|
|
39
|
+
matrixValues,
|
|
40
|
+
rowLabels,
|
|
41
|
+
session,
|
|
42
|
+
teacherInstructions
|
|
43
|
+
} = props;
|
|
44
|
+
const gridMatrixItems = [];
|
|
45
|
+
for (let rowIndex = 0; rowIndex < rowLabels.length + 1; rowIndex++) {
|
|
46
|
+
for (let columnIndex = 0; columnIndex < columnLabels.length + 1; columnIndex++) {
|
|
47
|
+
let gridMatrixItem;
|
|
48
|
+
if (rowIndex === 0 && columnIndex === 0) {
|
|
49
|
+
gridMatrixItem = null;
|
|
50
|
+
} else if (rowIndex === 0) {
|
|
51
|
+
gridMatrixItem = columnLabels[columnIndex - 1];
|
|
52
|
+
} else if (columnIndex === 0) {
|
|
53
|
+
gridMatrixItem = rowLabels[rowIndex - 1];
|
|
54
|
+
} else {
|
|
55
|
+
const matrixKey = `${rowIndex - 1}-${columnIndex - 1}`;
|
|
56
|
+
const matrixValue = matrixValues[matrixKey];
|
|
57
|
+
gridMatrixItem = /*#__PURE__*/_react.default.createElement(_ChoiceInput.default, {
|
|
58
|
+
matrixKey: matrixKey,
|
|
59
|
+
matrixValue: matrixValue || 0,
|
|
60
|
+
disabled: disabled,
|
|
61
|
+
onChange: onSessionChange,
|
|
62
|
+
checked: session.value && Object.prototype.hasOwnProperty.call(session.value, matrixKey)
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
gridMatrixItems.push(gridMatrixItem);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const gridTemplateColumns = [...columnLabels, {}].map(() => 'min-content').join(' ');
|
|
69
|
+
return /*#__PURE__*/_react.default.createElement(MatrixWrapper, null, teacherInstructions && /*#__PURE__*/_react.default.createElement(TeacherInstructions, {
|
|
70
|
+
className: teacherInstructions,
|
|
71
|
+
labels: {
|
|
72
|
+
hidden: 'Show Teacher Instructions',
|
|
73
|
+
visible: 'Hide Teacher Instructions'
|
|
74
|
+
}
|
|
75
|
+
}, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
76
|
+
prompt: teacherInstructions
|
|
77
|
+
})), /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
78
|
+
className: "prompt",
|
|
79
|
+
prompt: prompt
|
|
80
|
+
}), /*#__PURE__*/_react.default.createElement(MatrixGridWrapper, {
|
|
81
|
+
gridTemplateColumns: gridTemplateColumns
|
|
82
|
+
}, gridMatrixItems.map((gridMatrixItem, gridMatrixIndex) => {
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement(MatrixGridItem, {
|
|
84
|
+
key: `${gridMatrixIndex}`
|
|
85
|
+
}, gridMatrixItem);
|
|
86
|
+
})));
|
|
87
|
+
};
|
|
88
|
+
Matrix.propTypes = {
|
|
89
|
+
prompt: _propTypes.default.string,
|
|
90
|
+
teacherInstructions: _propTypes.default.string,
|
|
91
|
+
session: _propTypes.default.object,
|
|
92
|
+
matrixValues: _propTypes.default.object,
|
|
93
|
+
rowLabels: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
94
|
+
columnLabels: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
95
|
+
disabled: _propTypes.default.bool.isRequired,
|
|
96
|
+
onSessionChange: _propTypes.default.func.isRequired
|
|
97
|
+
};
|
|
98
|
+
Matrix.defaultProps = {
|
|
99
|
+
session: {
|
|
100
|
+
value: {}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
var _default = exports.default = Matrix;
|
|
104
|
+
//# sourceMappingURL=Matrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Matrix.js","names":["_react","_interopRequireDefault","require","_propTypes","_styledComponents","_ChoiceInput","_renderUi","MatrixWrapper","styled","div","color","text","background","MatrixGridWrapper","props","gridTemplateColumns","TeacherInstructions","Collapsible","MatrixGridItem","Matrix","disabled","prompt","onSessionChange","columnLabels","matrixValues","rowLabels","session","teacherInstructions","gridMatrixItems","rowIndex","length","columnIndex","gridMatrixItem","matrixKey","matrixValue","default","createElement","onChange","checked","value","Object","prototype","hasOwnProperty","call","push","map","join","className","labels","hidden","visible","PreviewPrompt","gridMatrixIndex","key","propTypes","PropTypes","string","object","arrayOf","bool","isRequired","func","defaultProps","_default","exports"],"sources":["../src/Matrix.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport ChoiceInput from './ChoiceInput';\nimport { color, Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\n\nconst MatrixWrapper = styled.div`\n color: ${color.text()};\n background-color: ${color.background()};\n font-family: Roboto, Arial, Helvetica, sans-serif;\n`;\n\nconst MatrixGridWrapper = styled.div`\n display: grid;\n grid-template-columns: ${(props) => props.gridTemplateColumns};\n grid-column-gap: 30px;\n grid-row-gap: 20px;\n margin-top: 20px;\n`;\n\nconst TeacherInstructions = styled(Collapsible)`\n margin-bottom: 16px;\n`;\n\nconst MatrixGridItem = styled.div`\n align-self: center;\n justify-self: center;\n white-space: nowrap;\n`;\n\nconst Matrix = (props) => {\n const { disabled, prompt, onSessionChange, columnLabels, matrixValues, rowLabels, session, teacherInstructions } =\n props;\n\n const gridMatrixItems = [];\n\n for (let rowIndex = 0; rowIndex < rowLabels.length + 1; rowIndex++) {\n for (let columnIndex = 0; columnIndex < columnLabels.length + 1; columnIndex++) {\n let gridMatrixItem;\n\n if (rowIndex === 0 && columnIndex === 0) {\n gridMatrixItem = null;\n } else if (rowIndex === 0) {\n gridMatrixItem = columnLabels[columnIndex - 1];\n } else if (columnIndex === 0) {\n gridMatrixItem = rowLabels[rowIndex - 1];\n } else {\n const matrixKey = `${rowIndex - 1}-${columnIndex - 1}`;\n const matrixValue = matrixValues[matrixKey];\n\n gridMatrixItem = (\n <ChoiceInput\n matrixKey={matrixKey}\n matrixValue={matrixValue || 0}\n disabled={disabled}\n onChange={onSessionChange}\n checked={session.value && Object.prototype.hasOwnProperty.call(session.value, matrixKey)}\n />\n );\n }\n\n gridMatrixItems.push(gridMatrixItem);\n }\n }\n const gridTemplateColumns = [...columnLabels, {}].map(() => 'min-content').join(' ');\n\n return (\n <MatrixWrapper>\n {teacherInstructions && (\n <TeacherInstructions\n className={teacherInstructions}\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </TeacherInstructions>\n )}\n\n <PreviewPrompt className=\"prompt\" prompt={prompt} />\n\n <MatrixGridWrapper gridTemplateColumns={gridTemplateColumns}>\n {gridMatrixItems.map((gridMatrixItem, gridMatrixIndex) => {\n return <MatrixGridItem key={`${gridMatrixIndex}`}>{gridMatrixItem}</MatrixGridItem>;\n })}\n </MatrixGridWrapper>\n </MatrixWrapper>\n );\n};\n\nMatrix.propTypes = {\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n matrixValues: PropTypes.object,\n rowLabels: PropTypes.arrayOf(PropTypes.string),\n columnLabels: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n};\n\nMatrix.defaultProps = {\n session: {\n value: {},\n },\n};\n\nexport default Matrix;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.isComplete = exports.default = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _client = require("react-dom/client");
|
|
10
|
+
var _piePlayerEvents = require("@pie-framework/pie-player-events");
|
|
11
|
+
var _mathRendering = require("@pie-lib/math-rendering");
|
|
12
|
+
var _Main = _interopRequireDefault(require("./Main"));
|
|
13
|
+
const isComplete = session => {
|
|
14
|
+
if (!session || !session.value) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return !!Object.keys(session.value).length;
|
|
18
|
+
};
|
|
19
|
+
exports.isComplete = isComplete;
|
|
20
|
+
class Matrix extends HTMLElement {
|
|
21
|
+
constructor() {
|
|
22
|
+
super();
|
|
23
|
+
this._root = null;
|
|
24
|
+
}
|
|
25
|
+
set model(m) {
|
|
26
|
+
this._model = m;
|
|
27
|
+
this._render();
|
|
28
|
+
}
|
|
29
|
+
set session(s) {
|
|
30
|
+
this._session = s;
|
|
31
|
+
this._render();
|
|
32
|
+
}
|
|
33
|
+
get session() {
|
|
34
|
+
return this._session;
|
|
35
|
+
}
|
|
36
|
+
sessionChanged({
|
|
37
|
+
matrixKey,
|
|
38
|
+
matrixValue
|
|
39
|
+
}) {
|
|
40
|
+
const matrixRowKey = matrixKey.split('-')[0];
|
|
41
|
+
const sessionValueClone = Object.keys(this._session.value || {}).reduce((acc, key) => {
|
|
42
|
+
if (!key.startsWith(matrixRowKey)) {
|
|
43
|
+
acc[key] = this._session.value[key];
|
|
44
|
+
}
|
|
45
|
+
return acc;
|
|
46
|
+
}, {});
|
|
47
|
+
sessionValueClone[matrixKey] = matrixValue;
|
|
48
|
+
this._session.value = sessionValueClone;
|
|
49
|
+
const complete = isComplete(this._session, this._model);
|
|
50
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), complete));
|
|
51
|
+
this._render();
|
|
52
|
+
}
|
|
53
|
+
connectedCallback() {
|
|
54
|
+
this._render();
|
|
55
|
+
}
|
|
56
|
+
_render() {
|
|
57
|
+
if (!this._model || !this._session) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const el = /*#__PURE__*/_react.default.createElement(_Main.default, {
|
|
61
|
+
model: this._model,
|
|
62
|
+
session: this._session,
|
|
63
|
+
onSessionChange: this.sessionChanged.bind(this)
|
|
64
|
+
});
|
|
65
|
+
if (!this._root) {
|
|
66
|
+
this._root = (0, _client.createRoot)(this);
|
|
67
|
+
}
|
|
68
|
+
this._root.render(el);
|
|
69
|
+
queueMicrotask(() => {
|
|
70
|
+
(0, _mathRendering.renderMath)(this);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
disconnectedCallback() {
|
|
74
|
+
if (this._root) {
|
|
75
|
+
this._root.unmount();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.default = Matrix;
|
|
80
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_mathRendering","_Main","isComplete","session","value","Object","keys","length","exports","Matrix","HTMLElement","constructor","_root","model","m","_model","_render","s","_session","sessionChanged","matrixKey","matrixValue","matrixRowKey","split","sessionValueClone","reduce","acc","key","startsWith","complete","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","connectedCallback","el","React","createElement","Main","onSessionChange","bind","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","default"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport Main from './Main';\n\nexport const isComplete = (session) => {\n if (!session || !session.value) {\n return false;\n }\n return !!Object.keys(session.value).length;\n};\n\nexport default class Matrix extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n sessionChanged({ matrixKey, matrixValue }) {\n const matrixRowKey = matrixKey.split('-')[0];\n const sessionValueClone = Object.keys(this._session.value || {}).reduce((acc, key) => {\n if (!key.startsWith(matrixRowKey)) {\n acc[key] = this._session.value[key];\n }\n return acc;\n }, {});\n sessionValueClone[matrixKey] = matrixValue;\n this._session.value = sessionValueClone;\n const complete = isComplete(this._session, this._model);\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), complete));\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.updateSessionValue = updateSessionValue;
|
|
7
|
+
function updateSessionValue(session, data) {
|
|
8
|
+
session.value = data.value || session.value || {};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=session-updater.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-updater.js","names":["updateSessionValue","session","data","value"],"sources":["../src/session-updater.js"],"sourcesContent":["export function updateSessionValue(session, data) {\n session.value = data.value || session.value || {};\n}\n"],"mappings":";;;;;;AAAO,SAASA,kBAAkBA,CAACC,OAAO,EAAEC,IAAI,EAAE;EAChDD,OAAO,CAACE,KAAK,GAAGD,IAAI,CAACC,KAAK,IAAIF,OAAO,CAACE,KAAK,IAAI,CAAC,CAAC;AACnD","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,96 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/matrix",
|
|
3
|
-
"
|
|
3
|
+
"repository": "pie-framework/pie-elements",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"version": "4.1.2",
|
|
4
8
|
"description": "",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
11
|
+
},
|
|
5
12
|
"dependencies": {
|
|
6
13
|
"@emotion/react": "^11.14.0",
|
|
7
14
|
"@emotion/style": "^0.8.0",
|
|
8
15
|
"@mui/icons-material": "^7.3.4",
|
|
9
16
|
"@mui/material": "^7.3.4",
|
|
10
|
-
"@pie-
|
|
17
|
+
"@pie-framework/pie-player-events": "^0.1.0",
|
|
18
|
+
"@pie-lib/math-rendering": "5.0.2",
|
|
19
|
+
"@pie-lib/render-ui": "6.1.1",
|
|
11
20
|
"debug": "^4.1.1",
|
|
12
21
|
"prop-types": "^15.8.1",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"@pie-element/shared-configure-events": "0.1.0",
|
|
17
|
-
"@pie-element/shared-lodash": "0.1.1-next.0",
|
|
18
|
-
"@pie-element/shared-player-events": "0.1.0",
|
|
19
|
-
"@pie-element/shared-math-rendering-mathjax": "0.1.0",
|
|
20
|
-
"@emotion/core": "0.x.x",
|
|
21
|
-
"react-is": "^18.3.1"
|
|
22
|
-
},
|
|
23
|
-
"peerDependencies": {
|
|
24
|
-
"react": "^18.0.0",
|
|
25
|
-
"react-dom": "^18.0.0"
|
|
26
|
-
},
|
|
27
|
-
"exports": {
|
|
28
|
-
".": {
|
|
29
|
-
"types": "./dist/index.d.ts",
|
|
30
|
-
"default": "./dist/index.js"
|
|
31
|
-
},
|
|
32
|
-
"./delivery": {
|
|
33
|
-
"types": "./dist/delivery/index.d.ts",
|
|
34
|
-
"default": "./dist/delivery/index.js"
|
|
35
|
-
},
|
|
36
|
-
"./browser/delivery": {
|
|
37
|
-
"default": "./dist/browser/delivery/index.js"
|
|
38
|
-
},
|
|
39
|
-
"./author": {
|
|
40
|
-
"types": "./dist/author/index.d.ts",
|
|
41
|
-
"default": "./dist/author/index.js"
|
|
42
|
-
},
|
|
43
|
-
"./browser/author": {
|
|
44
|
-
"default": "./dist/browser/author/index.js"
|
|
45
|
-
},
|
|
46
|
-
"./configure": {
|
|
47
|
-
"types": "./dist/author/index.d.ts",
|
|
48
|
-
"default": "./dist/author/index.js"
|
|
49
|
-
},
|
|
50
|
-
"./controller": {
|
|
51
|
-
"types": "./dist/controller/index.d.ts",
|
|
52
|
-
"default": "./dist/controller/index.js"
|
|
53
|
-
},
|
|
54
|
-
"./controller.js": {
|
|
55
|
-
"types": "./dist/controller/index.d.ts",
|
|
56
|
-
"default": "./dist/controller/index.js"
|
|
57
|
-
},
|
|
58
|
-
"./browser/controller": {
|
|
59
|
-
"default": "./dist/browser/controller/index.js"
|
|
60
|
-
},
|
|
61
|
-
"./runtime-support": {
|
|
62
|
-
"types": "./dist/runtime-support.d.ts",
|
|
63
|
-
"default": "./dist/runtime-support.js"
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
"type": "module",
|
|
67
|
-
"main": "./dist/index.js",
|
|
68
|
-
"types": "./dist/index.d.ts",
|
|
69
|
-
"files": [
|
|
70
|
-
"configure.js",
|
|
71
|
-
"controller.js",
|
|
72
|
-
"dist"
|
|
73
|
-
],
|
|
74
|
-
"sideEffects": false,
|
|
75
|
-
"devDependencies": {
|
|
76
|
-
"vite": "^8.0.1",
|
|
77
|
-
"typescript": "^5.9.3",
|
|
78
|
-
"@vitejs/plugin-react": "^6.0.1",
|
|
79
|
-
"@types/react": "^18.2.0",
|
|
80
|
-
"@types/react-dom": "^18.2.0"
|
|
81
|
-
},
|
|
82
|
-
"scripts": {
|
|
83
|
-
"build": "bun x vite build && bun x vite build --config ../../../tools/vite/element-browser.config.ts && bun x vite build --config vite.config.iife.ts && bun x tsc --emitDeclarationOnly",
|
|
84
|
-
"dev": "bun x vite",
|
|
85
|
-
"demo": "bun x vite --mode demo",
|
|
86
|
-
"test": "bun x vitest run"
|
|
22
|
+
"react": "18.3.1",
|
|
23
|
+
"react-dom": "18.3.1",
|
|
24
|
+
"styled-components": "^5.2.1"
|
|
87
25
|
},
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
"react-dom": "18.2.0"
|
|
94
|
-
}
|
|
95
|
-
}
|
|
26
|
+
"author": "",
|
|
27
|
+
"license": "ISC",
|
|
28
|
+
"gitHead": "206ff17a94e8e197744d059f97ad2b9a1bc9145d",
|
|
29
|
+
"main": "lib/index.js",
|
|
30
|
+
"module": "src/index.js"
|
|
96
31
|
}
|
package/configure.js
DELETED
package/controller.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './dist/controller/index.js';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @synced-from pie-elements/packages/matrix/configure/src/HeaderCommon.js
|
|
3
|
-
* @auto-generated
|
|
4
|
-
*
|
|
5
|
-
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
6
|
-
* Manual edits will be overwritten on next sync.
|
|
7
|
-
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
8
|
-
*/
|
|
9
|
-
export declare const ColumnsWrapper: any;
|
|
10
|
-
export declare const ColumnsHeader: any;
|
|
11
|
-
export declare const NumberInputFormGroupWrapper: any;
|
|
12
|
-
export declare const IconWrapper: any;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import e from "styled-components";
|
|
2
|
-
//#region src/author/HeaderCommon.ts
|
|
3
|
-
var t = e.div`
|
|
4
|
-
display: flex;
|
|
5
|
-
flex-direction: column;
|
|
6
|
-
align-items: center;
|
|
7
|
-
`, n = e.p`
|
|
8
|
-
margin: 10px 0;
|
|
9
|
-
color: #c3c3c3;
|
|
10
|
-
font-size: 12px;
|
|
11
|
-
`, r = e.div`
|
|
12
|
-
display: flex;
|
|
13
|
-
align-items: center;
|
|
14
|
-
justify-content: space-between;
|
|
15
|
-
width: 110px;
|
|
16
|
-
`, i = e.div`
|
|
17
|
-
cursor: pointer;
|
|
18
|
-
`;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { n as ColumnsHeader, t as ColumnsWrapper, i as IconWrapper, r as NumberInputFormGroupWrapper };
|
package/dist/author/Main.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @synced-from pie-elements/packages/matrix/configure/src/Main.jsx
|
|
3
|
-
* @auto-generated
|
|
4
|
-
*
|
|
5
|
-
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
6
|
-
* Manual edits will be overwritten on next sync.
|
|
7
|
-
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import PropTypes from 'prop-types';
|
|
11
|
-
export declare class Main extends React.Component {
|
|
12
|
-
static propTypes: {
|
|
13
|
-
model: PropTypes.Validator<object>;
|
|
14
|
-
disableSidePanel: PropTypes.Requireable<boolean>;
|
|
15
|
-
onModelChanged: PropTypes.Validator<(...args: any[]) => any>;
|
|
16
|
-
onConfigurationChanged: PropTypes.Validator<(...args: any[]) => any>;
|
|
17
|
-
imageSupport: PropTypes.Requireable<PropTypes.InferProps<{
|
|
18
|
-
add: PropTypes.Validator<(...args: any[]) => any>;
|
|
19
|
-
delete: PropTypes.Validator<(...args: any[]) => any>;
|
|
20
|
-
}>>;
|
|
21
|
-
};
|
|
22
|
-
onPromptChanged: any;
|
|
23
|
-
onChangeModel: any;
|
|
24
|
-
onTeacherInstructionsChanged: any;
|
|
25
|
-
render(): React.JSX.Element;
|
|
26
|
-
}
|
|
27
|
-
export default Main;
|