@pie-element/matrix 4.1.2-next.2 → 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.
Files changed (117) hide show
  1. package/CHANGELOG.json +1 -0
  2. package/CHANGELOG.md +1415 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +59 -0
  5. package/configure/CHANGELOG.json +1 -0
  6. package/configure/CHANGELOG.md +1341 -0
  7. package/configure/lib/HeaderCommon.js +28 -0
  8. package/configure/lib/HeaderCommon.js.map +1 -0
  9. package/configure/lib/Main.js +179 -0
  10. package/configure/lib/Main.js.map +1 -0
  11. package/configure/lib/MatrixColumnsSizeHeaderInput.js +56 -0
  12. package/configure/lib/MatrixColumnsSizeHeaderInput.js.map +1 -0
  13. package/configure/lib/MatrixLabelEditableButton.js +224 -0
  14. package/configure/lib/MatrixLabelEditableButton.js.map +1 -0
  15. package/configure/lib/MatrixLabelTypeHeaderInput.js +98 -0
  16. package/configure/lib/MatrixLabelTypeHeaderInput.js.map +1 -0
  17. package/configure/lib/MatrixRowsSizeHeaderInput.js +56 -0
  18. package/configure/lib/MatrixRowsSizeHeaderInput.js.map +1 -0
  19. package/configure/lib/MatrixValues.js +217 -0
  20. package/configure/lib/MatrixValues.js.map +1 -0
  21. package/configure/lib/NumberInput.js +77 -0
  22. package/configure/lib/NumberInput.js.map +1 -0
  23. package/configure/lib/columnLabelsGenerator.js +49 -0
  24. package/configure/lib/columnLabelsGenerator.js.map +1 -0
  25. package/configure/lib/defaults.js +86 -0
  26. package/configure/lib/defaults.js.map +1 -0
  27. package/configure/lib/index.js +98 -0
  28. package/configure/lib/index.js.map +1 -0
  29. package/configure/lib/isNumeric.js +11 -0
  30. package/configure/lib/isNumeric.js.map +1 -0
  31. package/configure/lib/matrixEntities.js +16 -0
  32. package/configure/lib/matrixEntities.js.map +1 -0
  33. package/configure/package.json +28 -0
  34. package/controller/CHANGELOG.json +1 -0
  35. package/controller/CHANGELOG.md +88 -0
  36. package/controller/lib/defaults.js +17 -0
  37. package/controller/lib/defaults.js.map +1 -0
  38. package/controller/lib/index.js +96 -0
  39. package/controller/lib/index.js.map +1 -0
  40. package/controller/package.json +17 -0
  41. package/docs/config-schema.json +1475 -0
  42. package/docs/config-schema.json.md +1093 -0
  43. package/docs/demo/config.js +8 -0
  44. package/docs/demo/generate.js +9 -0
  45. package/docs/demo/index.html +1 -0
  46. package/docs/demo/session.js +6 -0
  47. package/docs/pie-schema.json +1 -0
  48. package/docs/pie-schema.json.md +1 -0
  49. package/lib/ChoiceInput.js +59 -0
  50. package/lib/ChoiceInput.js.map +1 -0
  51. package/lib/Main.js +42 -0
  52. package/lib/Main.js.map +1 -0
  53. package/lib/Matrix.js +104 -0
  54. package/lib/Matrix.js.map +1 -0
  55. package/lib/index.js +80 -0
  56. package/lib/index.js.map +1 -0
  57. package/lib/session-updater.js +10 -0
  58. package/lib/session-updater.js.map +1 -0
  59. package/package.json +19 -83
  60. package/configure.js +0 -2
  61. package/controller.js +0 -1
  62. package/dist/author/HeaderCommon.d.ts +0 -12
  63. package/dist/author/HeaderCommon.js +0 -20
  64. package/dist/author/Main.d.ts +0 -27
  65. package/dist/author/Main.js +0 -134
  66. package/dist/author/MatrixColumnsSizeHeaderInput.d.ts +0 -21
  67. package/dist/author/MatrixColumnsSizeHeaderInput.js +0 -39
  68. package/dist/author/MatrixLabelEditableButton.d.ts +0 -27
  69. package/dist/author/MatrixLabelEditableButton.js +0 -191
  70. package/dist/author/MatrixLabelTypeHeaderInput.d.ts +0 -21
  71. package/dist/author/MatrixLabelTypeHeaderInput.js +0 -96
  72. package/dist/author/MatrixRowsSizeHeaderInput.d.ts +0 -21
  73. package/dist/author/MatrixRowsSizeHeaderInput.js +0 -39
  74. package/dist/author/MatrixValues.d.ts +0 -29
  75. package/dist/author/MatrixValues.js +0 -156
  76. package/dist/author/NumberInput.d.ts +0 -20
  77. package/dist/author/NumberInput.js +0 -61
  78. package/dist/author/columnLabelsGenerator.d.ts +0 -11
  79. package/dist/author/columnLabelsGenerator.js +0 -101
  80. package/dist/author/defaults.d.ts +0 -88
  81. package/dist/author/defaults.js +0 -56
  82. package/dist/author/index.d.ts +0 -31
  83. package/dist/author/index.js +0 -66
  84. package/dist/author/isNumeric.d.ts +0 -10
  85. package/dist/author/isNumeric.js +0 -4
  86. package/dist/author/matrixEntities.d.ts +0 -17
  87. package/dist/author/matrixEntities.js +0 -12
  88. package/dist/browser/Radio-CKUPMCLi.js +0 -10145
  89. package/dist/browser/Radio-CKUPMCLi.js.map +0 -1
  90. package/dist/browser/author/index.js +0 -39771
  91. package/dist/browser/author/index.js.map +0 -1
  92. package/dist/browser/controller/index.js +0 -60
  93. package/dist/browser/controller/index.js.map +0 -1
  94. package/dist/browser/delivery/index.js +0 -205
  95. package/dist/browser/delivery/index.js.map +0 -1
  96. package/dist/browser/dist-DHz-aOnW.js +0 -92
  97. package/dist/browser/dist-DHz-aOnW.js.map +0 -1
  98. package/dist/browser/matrix.css +0 -2
  99. package/dist/controller/defaults.d.ts +0 -19
  100. package/dist/controller/defaults.js +0 -17
  101. package/dist/controller/index.d.ts +0 -19
  102. package/dist/controller/index.js +0 -46
  103. package/dist/delivery/ChoiceInput.d.ts +0 -25
  104. package/dist/delivery/ChoiceInput.js +0 -36
  105. package/dist/delivery/Main.d.ts +0 -23
  106. package/dist/delivery/Main.js +0 -37
  107. package/dist/delivery/Matrix.d.ts +0 -29
  108. package/dist/delivery/Matrix.js +0 -81
  109. package/dist/delivery/index.d.ts +0 -22
  110. package/dist/delivery/index.js +0 -45
  111. package/dist/delivery/session-updater.d.ts +0 -9
  112. package/dist/index.d.ts +0 -1
  113. package/dist/index.iife.d.ts +0 -8
  114. package/dist/index.iife.js +0 -164
  115. package/dist/index.js +0 -2
  116. package/dist/runtime-support.d.ts +0 -12
  117. package/dist/runtime-support.js +0 -12
@@ -0,0 +1,8 @@
1
+ const { model } = require('./generate');
2
+
3
+ module.exports = {
4
+ elements: {
5
+ 'matrix-element': '../..',
6
+ },
7
+ models: [model('1', 'matrix-element')],
8
+ };
@@ -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,6 @@
1
+ module.exports = [
2
+ {
3
+ id: '1',
4
+ element: 'matrix-element',
5
+ },
6
+ ];
@@ -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
@@ -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
@@ -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,95 +1,31 @@
1
1
  {
2
2
  "name": "@pie-element/matrix",
3
- "version": "4.1.2-next.2",
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-lib/render-ui": "6.1.1-next.37",
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
- "styled-components": "^5.2.1",
14
- "@pie-lib/editable-html-tip-tap": "2.1.2-next.30",
15
- "@pie-lib/config-ui": "13.0.4-next.30",
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.1-next.0",
20
- "react-is": "^18.3.1"
21
- },
22
- "peerDependencies": {
23
- "react": "^18.0.0",
24
- "react-dom": "^18.0.0"
25
- },
26
- "exports": {
27
- ".": {
28
- "types": "./dist/index.d.ts",
29
- "default": "./dist/index.js"
30
- },
31
- "./delivery": {
32
- "types": "./dist/delivery/index.d.ts",
33
- "default": "./dist/delivery/index.js"
34
- },
35
- "./browser/delivery": {
36
- "default": "./dist/browser/delivery/index.js"
37
- },
38
- "./author": {
39
- "types": "./dist/author/index.d.ts",
40
- "default": "./dist/author/index.js"
41
- },
42
- "./browser/author": {
43
- "default": "./dist/browser/author/index.js"
44
- },
45
- "./configure": {
46
- "types": "./dist/author/index.d.ts",
47
- "default": "./dist/author/index.js"
48
- },
49
- "./controller": {
50
- "types": "./dist/controller/index.d.ts",
51
- "default": "./dist/controller/index.js"
52
- },
53
- "./controller.js": {
54
- "types": "./dist/controller/index.d.ts",
55
- "default": "./dist/controller/index.js"
56
- },
57
- "./browser/controller": {
58
- "default": "./dist/browser/controller/index.js"
59
- },
60
- "./runtime-support": {
61
- "types": "./dist/runtime-support.d.ts",
62
- "default": "./dist/runtime-support.js"
63
- }
64
- },
65
- "type": "module",
66
- "main": "./dist/index.js",
67
- "types": "./dist/index.d.ts",
68
- "files": [
69
- "configure.js",
70
- "controller.js",
71
- "dist"
72
- ],
73
- "sideEffects": false,
74
- "devDependencies": {
75
- "vite": "^8.0.1",
76
- "typescript": "^5.9.3",
77
- "@vitejs/plugin-react": "^6.0.1",
78
- "@types/react": "^18.2.0",
79
- "@types/react-dom": "^18.2.0"
80
- },
81
- "scripts": {
82
- "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",
83
- "dev": "bun x vite",
84
- "demo": "bun x vite --mode demo",
85
- "test": "bun x vitest run"
22
+ "react": "18.3.1",
23
+ "react-dom": "18.3.1",
24
+ "styled-components": "^5.2.1"
86
25
  },
87
- "pie": {
88
- "controller": "@pie-element/matrix/controller",
89
- "configure": "@pie-element/matrix/configure",
90
- "browserSharedDependencies": {
91
- "react": "18.2.0",
92
- "react-dom": "18.2.0"
93
- }
94
- }
26
+ "author": "",
27
+ "license": "ISC",
28
+ "gitHead": "206ff17a94e8e197744d059f97ad2b9a1bc9145d",
29
+ "main": "lib/index.js",
30
+ "module": "src/index.js"
95
31
  }
package/configure.js DELETED
@@ -1,2 +0,0 @@
1
- export { default } from './dist/author/index.js';
2
- export * from './dist/author/index.js';
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 };
@@ -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;