@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.
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 -84
  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-DJhIYuTn.js +0 -10138
  89. package/dist/browser/Radio-DJhIYuTn.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,98 @@
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 _styles = require("@mui/material/styles");
10
+ var _Radio = _interopRequireDefault(require("@mui/material/Radio"));
11
+ var _RadioGroup = _interopRequireDefault(require("@mui/material/RadioGroup"));
12
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
13
+ var _matrixEntities = require("./matrixEntities");
14
+ var _HeaderCommon = require("./HeaderCommon");
15
+ var _columnLabelsGenerator = _interopRequireDefault(require("./columnLabelsGenerator"));
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+ var _renderUi = require("@pie-lib/render-ui");
18
+ const Flex = (0, _styles.styled)('div')({
19
+ display: 'flex'
20
+ });
21
+ const StyledRadio = (0, _styles.styled)(_Radio.default)({
22
+ '&.MuiRadio-root': {
23
+ color: `${_renderUi.color.tertiary()} !important`
24
+ }
25
+ });
26
+ const MatrixLabelTypeHeaderInput = ({
27
+ model,
28
+ onChangeModel
29
+ }) => {
30
+ const onChangeLabelType = e => {
31
+ const labelType = e.target.value;
32
+ const modelNew = {
33
+ ...model,
34
+ labelType
35
+ };
36
+ if (labelType !== _matrixEntities.MATRIX_LABEL_TYPE.custom) {
37
+ modelNew.columnLabels = (0, _columnLabelsGenerator.default)(labelType, model.columnLabels.length);
38
+ }
39
+ onChangeModel(modelNew);
40
+ };
41
+ const isMatrixTypeSelectionEnabled = [3, 5, 7].includes(model.columnLabels.length);
42
+ return /*#__PURE__*/_react.default.createElement(_HeaderCommon.ColumnsWrapper, null, /*#__PURE__*/_react.default.createElement(_HeaderCommon.ColumnsHeader, null, "Matrix Type"), /*#__PURE__*/_react.default.createElement(Flex, null, /*#__PURE__*/_react.default.createElement(_RadioGroup.default, {
43
+ "aria-label": "matrixLabelType",
44
+ name: "matrixLabelType",
45
+ value: model.labelType,
46
+ onChange: onChangeLabelType
47
+ }, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
48
+ disabled: !isMatrixTypeSelectionEnabled,
49
+ value: _matrixEntities.MATRIX_LABEL_TYPE.agreement,
50
+ control: /*#__PURE__*/_react.default.createElement(StyledRadio, null),
51
+ label: "Agreement"
52
+ }), /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
53
+ disabled: !isMatrixTypeSelectionEnabled,
54
+ value: _matrixEntities.MATRIX_LABEL_TYPE.frequency,
55
+ control: /*#__PURE__*/_react.default.createElement(StyledRadio, null),
56
+ label: "Frequency"
57
+ }), /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
58
+ disabled: !isMatrixTypeSelectionEnabled,
59
+ value: _matrixEntities.MATRIX_LABEL_TYPE.yesNo,
60
+ control: /*#__PURE__*/_react.default.createElement(StyledRadio, null),
61
+ label: "Yes/No"
62
+ })), /*#__PURE__*/_react.default.createElement(_RadioGroup.default, {
63
+ "aria-label": "matrixLabelType",
64
+ name: "matrixLabelType",
65
+ value: model.labelType,
66
+ onChange: onChangeLabelType
67
+ }, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
68
+ disabled: !isMatrixTypeSelectionEnabled,
69
+ value: _matrixEntities.MATRIX_LABEL_TYPE.importance,
70
+ control: /*#__PURE__*/_react.default.createElement(StyledRadio, null),
71
+ label: "Importance"
72
+ }), /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
73
+ disabled: !isMatrixTypeSelectionEnabled,
74
+ value: _matrixEntities.MATRIX_LABEL_TYPE.likelihood,
75
+ control: /*#__PURE__*/_react.default.createElement(StyledRadio, null),
76
+ label: "Likelihood"
77
+ }), /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
78
+ disabled: !isMatrixTypeSelectionEnabled,
79
+ value: _matrixEntities.MATRIX_LABEL_TYPE.like,
80
+ control: /*#__PURE__*/_react.default.createElement(StyledRadio, null),
81
+ label: "Like"
82
+ })), /*#__PURE__*/_react.default.createElement(_RadioGroup.default, {
83
+ "aria-label": "matrixLabelType",
84
+ name: "matrixLabelType",
85
+ value: model.labelType,
86
+ onChange: onChangeLabelType
87
+ }, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
88
+ value: _matrixEntities.MATRIX_LABEL_TYPE.custom,
89
+ control: /*#__PURE__*/_react.default.createElement(StyledRadio, null),
90
+ label: "Custom"
91
+ }))));
92
+ };
93
+ MatrixLabelTypeHeaderInput.propTypes = {
94
+ model: _propTypes.default.object.isRequired,
95
+ onChangeModel: _propTypes.default.func.isRequired
96
+ };
97
+ var _default = exports.default = MatrixLabelTypeHeaderInput;
98
+ //# sourceMappingURL=MatrixLabelTypeHeaderInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixLabelTypeHeaderInput.js","names":["_react","_interopRequireDefault","require","_styles","_Radio","_RadioGroup","_FormControlLabel","_matrixEntities","_HeaderCommon","_columnLabelsGenerator","_propTypes","_renderUi","Flex","styled","display","StyledRadio","Radio","color","tertiary","MatrixLabelTypeHeaderInput","model","onChangeModel","onChangeLabelType","e","labelType","target","value","modelNew","MATRIX_LABEL_TYPE","custom","columnLabels","columnLabelsGenerator","length","isMatrixTypeSelectionEnabled","includes","default","createElement","ColumnsWrapper","ColumnsHeader","name","onChange","disabled","agreement","control","label","frequency","yesNo","importance","likelihood","like","propTypes","PropTypes","object","isRequired","func","_default","exports"],"sources":["../src/MatrixLabelTypeHeaderInput.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport FormControlLabel from '@mui/material/FormControlLabel';\n\nimport { MATRIX_LABEL_TYPE } from './matrixEntities';\nimport { ColumnsWrapper, ColumnsHeader } from './HeaderCommon';\nimport columnLabelsGenerator from './columnLabelsGenerator';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\n\nconst Flex = styled('div')({\n display: 'flex',\n});\n\nconst StyledRadio = styled(Radio)({\n '&.MuiRadio-root': {\n color: `${color.tertiary()} !important`,\n },\n});\n\nconst MatrixLabelTypeHeaderInput = ({ model, onChangeModel }) => {\n const onChangeLabelType = (e) => {\n const labelType = e.target.value;\n const modelNew = { ...model, labelType };\n if (labelType !== MATRIX_LABEL_TYPE.custom) {\n modelNew.columnLabels = columnLabelsGenerator(labelType, model.columnLabels.length);\n }\n onChangeModel(modelNew);\n };\n const isMatrixTypeSelectionEnabled = [3, 5, 7].includes(model.columnLabels.length);\n return (\n <ColumnsWrapper>\n <ColumnsHeader>Matrix Type</ColumnsHeader>\n\n <Flex>\n <RadioGroup\n aria-label=\"matrixLabelType\"\n name=\"matrixLabelType\"\n value={model.labelType}\n onChange={onChangeLabelType}\n >\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.agreement}\n control={<StyledRadio />}\n label=\"Agreement\"\n />\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.frequency}\n control={<StyledRadio />}\n label=\"Frequency\"\n />\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.yesNo}\n control={<StyledRadio />}\n label=\"Yes/No\"\n />\n </RadioGroup>\n\n <RadioGroup\n aria-label=\"matrixLabelType\"\n name=\"matrixLabelType\"\n value={model.labelType}\n onChange={onChangeLabelType}\n >\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.importance}\n control={<StyledRadio />}\n label=\"Importance\"\n />\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.likelihood}\n control={<StyledRadio />}\n label=\"Likelihood\"\n />\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.like}\n control={<StyledRadio />}\n label=\"Like\"\n />\n </RadioGroup>\n\n <RadioGroup\n aria-label=\"matrixLabelType\"\n name=\"matrixLabelType\"\n value={model.labelType}\n onChange={onChangeLabelType}\n >\n <FormControlLabel\n value={MATRIX_LABEL_TYPE.custom}\n control={<StyledRadio />}\n label=\"Custom\"\n />\n </RadioGroup>\n </Flex>\n </ColumnsWrapper>\n );\n};\n\nMatrixLabelTypeHeaderInput.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired,\n};\n\nexport default MatrixLabelTypeHeaderInput;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,56 @@
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 _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
10
+ var _Remove = _interopRequireDefault(require("@mui/icons-material/Remove"));
11
+ var _HeaderCommon = require("./HeaderCommon");
12
+ var _matrixEntities = require("./matrixEntities");
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ const MatrixColumnsRowInput = ({
15
+ model,
16
+ onChangeModel
17
+ }) => {
18
+ const onIncrementSize = () => {
19
+ onChangeModel({
20
+ ...model,
21
+ rowLabels: [...model.rowLabels, `STATEMENT ${model.rowLabels.length + 1}`],
22
+ labelType: _matrixEntities.MATRIX_LABEL_TYPE.custom
23
+ });
24
+ };
25
+ const onDecrementSize = () => {
26
+ const rowLabelsLength = model.rowLabels.length;
27
+ if (rowLabelsLength <= 1) {
28
+ return;
29
+ }
30
+ const rowLabelsNext = [...model.rowLabels];
31
+ rowLabelsNext.pop();
32
+ const matrixValuesClone = {
33
+ ...model.matrixValues
34
+ };
35
+ model.columnLabels.forEach((columnLabel, columnIndex) => {
36
+ delete matrixValuesClone[`${rowLabelsLength - 1}-${columnIndex}`];
37
+ });
38
+ onChangeModel({
39
+ ...model,
40
+ rowLabels: rowLabelsNext,
41
+ matrixValues: matrixValuesClone,
42
+ labelType: _matrixEntities.MATRIX_LABEL_TYPE.custom
43
+ });
44
+ };
45
+ return /*#__PURE__*/_react.default.createElement(_HeaderCommon.ColumnsWrapper, null, /*#__PURE__*/_react.default.createElement(_HeaderCommon.ColumnsHeader, null, "Matrix Rows"), /*#__PURE__*/_react.default.createElement(_HeaderCommon.NumberInputFormGroupWrapper, null, /*#__PURE__*/_react.default.createElement(_HeaderCommon.IconWrapper, null, /*#__PURE__*/_react.default.createElement(_Remove.default, {
46
+ onClick: onDecrementSize
47
+ })), /*#__PURE__*/_react.default.createElement("p", null, model.rowLabels.length), /*#__PURE__*/_react.default.createElement(_HeaderCommon.IconWrapper, null, /*#__PURE__*/_react.default.createElement(_Add.default, {
48
+ onClick: onIncrementSize
49
+ }))));
50
+ };
51
+ MatrixColumnsRowInput.propTypes = {
52
+ model: _propTypes.default.object.isRequired,
53
+ onChangeModel: _propTypes.default.func.isRequired
54
+ };
55
+ var _default = exports.default = MatrixColumnsRowInput;
56
+ //# sourceMappingURL=MatrixRowsSizeHeaderInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixRowsSizeHeaderInput.js","names":["_react","_interopRequireDefault","require","_Add","_Remove","_HeaderCommon","_matrixEntities","_propTypes","MatrixColumnsRowInput","model","onChangeModel","onIncrementSize","rowLabels","length","labelType","MATRIX_LABEL_TYPE","custom","onDecrementSize","rowLabelsLength","rowLabelsNext","pop","matrixValuesClone","matrixValues","columnLabels","forEach","columnLabel","columnIndex","default","createElement","ColumnsWrapper","ColumnsHeader","NumberInputFormGroupWrapper","IconWrapper","onClick","propTypes","PropTypes","object","isRequired","func","_default","exports"],"sources":["../src/MatrixRowsSizeHeaderInput.jsx"],"sourcesContent":["import React from 'react';\nimport AddIcon from '@mui/icons-material/Add';\nimport RemoveIcon from '@mui/icons-material/Remove';\n\nimport { ColumnsHeader, ColumnsWrapper, IconWrapper, NumberInputFormGroupWrapper } from './HeaderCommon';\nimport { MATRIX_LABEL_TYPE } from './matrixEntities';\nimport PropTypes from 'prop-types';\n\nconst MatrixColumnsRowInput = ({ model, onChangeModel }) => {\n const onIncrementSize = () => {\n onChangeModel({\n ...model,\n rowLabels: [...model.rowLabels, `STATEMENT ${model.rowLabels.length + 1}`],\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n\n const onDecrementSize = () => {\n const rowLabelsLength = model.rowLabels.length;\n if (rowLabelsLength <= 1) {\n return;\n }\n const rowLabelsNext = [...model.rowLabels];\n rowLabelsNext.pop();\n const matrixValuesClone = { ...model.matrixValues };\n model.columnLabels.forEach((columnLabel, columnIndex) => {\n delete matrixValuesClone[`${rowLabelsLength - 1}-${columnIndex}`];\n });\n onChangeModel({\n ...model,\n rowLabels: rowLabelsNext,\n matrixValues: matrixValuesClone,\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n\n return (\n <ColumnsWrapper>\n <ColumnsHeader>Matrix Rows</ColumnsHeader>\n <NumberInputFormGroupWrapper>\n <IconWrapper>\n <RemoveIcon onClick={onDecrementSize} />\n </IconWrapper>\n <p>{model.rowLabels.length}</p>\n <IconWrapper>\n <AddIcon onClick={onIncrementSize} />\n </IconWrapper>\n </NumberInputFormGroupWrapper>\n </ColumnsWrapper>\n );\n};\n\nMatrixColumnsRowInput.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired,\n};\n\nexport default MatrixColumnsRowInput;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA;AAEA,MAAMM,qBAAqB,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAc,CAAC,KAAK;EAC1D,MAAMC,eAAe,GAAGA,CAAA,KAAM;IAC5BD,aAAa,CAAC;MACZ,GAAGD,KAAK;MACRG,SAAS,EAAE,CAAC,GAAGH,KAAK,CAACG,SAAS,EAAE,aAAaH,KAAK,CAACG,SAAS,CAACC,MAAM,GAAG,CAAC,EAAE,CAAC;MAC1EC,SAAS,EAAEC,iCAAiB,CAACC;IAC/B,CAAC,CAAC;EACJ,CAAC;EAED,MAAMC,eAAe,GAAGA,CAAA,KAAM;IAC5B,MAAMC,eAAe,GAAGT,KAAK,CAACG,SAAS,CAACC,MAAM;IAC9C,IAAIK,eAAe,IAAI,CAAC,EAAE;MACxB;IACF;IACA,MAAMC,aAAa,GAAG,CAAC,GAAGV,KAAK,CAACG,SAAS,CAAC;IAC1CO,aAAa,CAACC,GAAG,CAAC,CAAC;IACnB,MAAMC,iBAAiB,GAAG;MAAE,GAAGZ,KAAK,CAACa;IAAa,CAAC;IACnDb,KAAK,CAACc,YAAY,CAACC,OAAO,CAAC,CAACC,WAAW,EAAEC,WAAW,KAAK;MACvD,OAAOL,iBAAiB,CAAC,GAAGH,eAAe,GAAG,CAAC,IAAIQ,WAAW,EAAE,CAAC;IACnE,CAAC,CAAC;IACFhB,aAAa,CAAC;MACZ,GAAGD,KAAK;MACRG,SAAS,EAAEO,aAAa;MACxBG,YAAY,EAAED,iBAAiB;MAC/BP,SAAS,EAAEC,iCAAiB,CAACC;IAC/B,CAAC,CAAC;EACJ,CAAC;EAED,oBACEhB,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACvB,aAAA,CAAAwB,cAAc,qBACb7B,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACvB,aAAA,CAAAyB,aAAa,QAAC,aAA0B,CAAC,eAC1C9B,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACvB,aAAA,CAAA0B,2BAA2B,qBAC1B/B,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACvB,aAAA,CAAA2B,WAAW,qBACVhC,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACxB,OAAA,CAAAuB,OAAU;IAACM,OAAO,EAAEhB;EAAgB,CAAE,CAC5B,CAAC,eACdjB,MAAA,CAAA2B,OAAA,CAAAC,aAAA,YAAInB,KAAK,CAACG,SAAS,CAACC,MAAU,CAAC,eAC/Bb,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACvB,aAAA,CAAA2B,WAAW,qBACVhC,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACzB,IAAA,CAAAwB,OAAO;IAACM,OAAO,EAAEtB;EAAgB,CAAE,CACzB,CACc,CACf,CAAC;AAErB,CAAC;AAEDH,qBAAqB,CAAC0B,SAAS,GAAG;EAChCzB,KAAK,EAAE0B,kBAAS,CAACC,MAAM,CAACC,UAAU;EAClC3B,aAAa,EAAEyB,kBAAS,CAACG,IAAI,CAACD;AAChC,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAb,OAAA,GAEanB,qBAAqB","ignoreList":[]}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ValueRowWrapper = exports.ValueItemWrapper = exports.ScoringRows = exports.ScoringNumberInputWrapper = exports.ScoringContainer = exports.RowLabelWrapper = exports.MatrixColumns = exports.GridSeparatorVertical = exports.GridSeparatorHorizontal = exports.Content = exports.ColumnLabelWrapper = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _MatrixLabelEditableButton = _interopRequireWildcard(require("./MatrixLabelEditableButton"));
11
+ var _isNumeric = _interopRequireDefault(require("./isNumeric"));
12
+ var _NumberInput = _interopRequireDefault(require("./NumberInput"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ const columnWidth = '120px';
16
+ const ScoringContainer = exports.ScoringContainer = _styledComponents.default.div`
17
+ display: grid;
18
+ grid-template-columns: min-content min-content auto;
19
+ `;
20
+ const MatrixColumns = exports.MatrixColumns = _styledComponents.default.div`
21
+ display: flex;
22
+ justify-content: space-between;
23
+ padding: 5px;
24
+ `;
25
+ const ColumnLabelWrapper = exports.ColumnLabelWrapper = _styledComponents.default.div`
26
+ width: ${columnWidth};
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+ `;
31
+ const RowLabelWrapper = exports.RowLabelWrapper = _styledComponents.default.div`
32
+ width: 200px;
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: center;
36
+ `;
37
+ const ValueRowWrapper = exports.ValueRowWrapper = _styledComponents.default.div`
38
+ display: flex;
39
+ justify-content: space-between;
40
+ `;
41
+ const ValueItemWrapper = exports.ValueItemWrapper = _styledComponents.default.div`
42
+ width: ${columnWidth};
43
+ height: 50px;
44
+ margin: 1px;
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ `;
49
+ const ScoringRows = exports.ScoringRows = _styledComponents.default.div`
50
+ display: flex;
51
+ flex-direction: column;
52
+ justify-content: space-between;
53
+ padding: 5px;
54
+ `;
55
+ const ScoringNumberInputWrapper = exports.ScoringNumberInputWrapper = _styledComponents.default.div`
56
+ width: 60px;
57
+ justify-self: center;
58
+ align-self: center;
59
+ `;
60
+ const GridSeparatorHorizontal = exports.GridSeparatorHorizontal = _styledComponents.default.div`
61
+ background: gray;
62
+ width: 100%;
63
+ height: 1px;
64
+ `;
65
+ const GridSeparatorVertical = exports.GridSeparatorVertical = _styledComponents.default.div`
66
+ background: gray;
67
+ width: 1px;
68
+ height: 100%;
69
+ `;
70
+ const Content = exports.Content = _styledComponents.default.div`
71
+ padding: 5px;
72
+ `;
73
+ const MatrixValues = props => {
74
+ const {
75
+ model,
76
+ onChangeModel
77
+ } = props;
78
+ const {
79
+ rowLabels,
80
+ columnLabels,
81
+ matrixValues,
82
+ spellCheckEnabled
83
+ } = model;
84
+ const onSetMatrixValue = (matrixValueIndex, value) => {
85
+ const matrixValuesClone = {
86
+ ...matrixValues
87
+ };
88
+ if ((0, _isNumeric.default)(value)) {
89
+ matrixValuesClone[matrixValueIndex] = parseInt(value, 10);
90
+ } else {
91
+ delete matrixValuesClone[matrixValueIndex];
92
+ }
93
+ onChangeModel({
94
+ ...model,
95
+ matrixValues: matrixValuesClone
96
+ });
97
+ };
98
+ const onSetColumnLabel = (index, labelValue) => {
99
+ const columnLabelsClone = [...columnLabels];
100
+ columnLabelsClone[index] = labelValue;
101
+ onChangeModel({
102
+ ...model,
103
+ columnLabels: columnLabelsClone
104
+ });
105
+ };
106
+ const onSetRowLabel = (index, labelValue) => {
107
+ const rowLabelsClone = [...rowLabels];
108
+ rowLabelsClone[index] = labelValue;
109
+ onChangeModel({
110
+ ...model,
111
+ rowLabels: rowLabelsClone
112
+ });
113
+ };
114
+ const onActionByColumn = ({
115
+ resourceIndex,
116
+ actionType,
117
+ setValue
118
+ }) => {
119
+ const columnLabelIndex = resourceIndex;
120
+ const matrixValuesClone = {
121
+ ...matrixValues
122
+ };
123
+ rowLabels.forEach((rowLabel, rowLabelIndex) => {
124
+ switch (actionType) {
125
+ case _MatrixLabelEditableButton.ACTION_TYPE.clear:
126
+ delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];
127
+ break;
128
+ case _MatrixLabelEditableButton.ACTION_TYPE.sortAscending:
129
+ matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;
130
+ break;
131
+ case _MatrixLabelEditableButton.ACTION_TYPE.sortDescending:
132
+ matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;
133
+ break;
134
+ case _MatrixLabelEditableButton.ACTION_TYPE.set:
135
+ matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;
136
+ break;
137
+ default:
138
+ throw 'Incorrect actionType';
139
+ }
140
+ });
141
+ onChangeModel({
142
+ ...model,
143
+ matrixValues: matrixValuesClone
144
+ });
145
+ };
146
+ const onActionByRow = ({
147
+ resourceIndex,
148
+ actionType,
149
+ setValue
150
+ }) => {
151
+ const rowLabelIndex = resourceIndex;
152
+ const matrixValuesClone = {
153
+ ...matrixValues
154
+ };
155
+ columnLabels.forEach((columnLabel, columnLabelIndex) => {
156
+ switch (actionType) {
157
+ case _MatrixLabelEditableButton.ACTION_TYPE.clear:
158
+ delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];
159
+ break;
160
+ case _MatrixLabelEditableButton.ACTION_TYPE.sortAscending:
161
+ matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;
162
+ break;
163
+ case _MatrixLabelEditableButton.ACTION_TYPE.sortDescending:
164
+ matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;
165
+ break;
166
+ case _MatrixLabelEditableButton.ACTION_TYPE.set:
167
+ matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;
168
+ break;
169
+ default:
170
+ throw 'Incorrect actionType';
171
+ }
172
+ });
173
+ onChangeModel({
174
+ ...model,
175
+ matrixValues: matrixValuesClone
176
+ });
177
+ };
178
+ return /*#__PURE__*/_react.default.createElement(ScoringContainer, null, /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement(GridSeparatorVertical, null), /*#__PURE__*/_react.default.createElement(MatrixColumns, null, columnLabels.map((value, columnLabelIndex) => /*#__PURE__*/_react.default.createElement(ColumnLabelWrapper, {
179
+ key: columnLabelIndex
180
+ }, /*#__PURE__*/_react.default.createElement(_MatrixLabelEditableButton.default, {
181
+ resourceIndex: columnLabelIndex,
182
+ onAction: onActionByColumn,
183
+ value: value,
184
+ onLabelUpdate: labelValue => onSetColumnLabel(columnLabelIndex, labelValue),
185
+ spellCheck: spellCheckEnabled
186
+ })))), /*#__PURE__*/_react.default.createElement(GridSeparatorHorizontal, null), /*#__PURE__*/_react.default.createElement(GridSeparatorVertical, null), /*#__PURE__*/_react.default.createElement(GridSeparatorHorizontal, null), /*#__PURE__*/_react.default.createElement(ScoringRows, null, rowLabels.map((value, rowLabelIndex) => /*#__PURE__*/_react.default.createElement(RowLabelWrapper, {
187
+ key: rowLabelIndex
188
+ }, /*#__PURE__*/_react.default.createElement(_MatrixLabelEditableButton.default, {
189
+ resourceIndex: rowLabelIndex,
190
+ onAction: onActionByRow,
191
+ value: value,
192
+ onLabelUpdate: labelValue => onSetRowLabel(rowLabelIndex, labelValue),
193
+ spellCheck: spellCheckEnabled
194
+ })))), /*#__PURE__*/_react.default.createElement(GridSeparatorVertical, null), /*#__PURE__*/_react.default.createElement(Content, null, rowLabels.map((row, rowIndex) => {
195
+ return /*#__PURE__*/_react.default.createElement(ValueRowWrapper, {
196
+ key: rowIndex
197
+ }, columnLabels.map((column, entryIndex) => {
198
+ const matrixValueIndex = `${rowIndex}-${entryIndex}`;
199
+ return /*#__PURE__*/_react.default.createElement(ValueItemWrapper, {
200
+ key: entryIndex
201
+ }, /*#__PURE__*/_react.default.createElement(ScoringNumberInputWrapper, null, /*#__PURE__*/_react.default.createElement(_NumberInput.default, {
202
+ onFieldUpdate: e => onSetMatrixValue(matrixValueIndex, e),
203
+ name: matrixValueIndex,
204
+ placeholder: "#",
205
+ fieldValue: {
206
+ value: (0, _isNumeric.default)(matrixValues[matrixValueIndex]) ? matrixValues[matrixValueIndex] : ''
207
+ }
208
+ })));
209
+ }));
210
+ })));
211
+ };
212
+ MatrixValues.propTypes = {
213
+ model: _propTypes.default.object.isRequired,
214
+ onChangeModel: _propTypes.default.func.isRequired
215
+ };
216
+ var _default = exports.default = MatrixValues;
217
+ //# sourceMappingURL=MatrixValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixValues.js","names":["_react","_interopRequireDefault","require","_styledComponents","_MatrixLabelEditableButton","_interopRequireWildcard","_isNumeric","_NumberInput","_propTypes","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","columnWidth","ScoringContainer","exports","styled","div","MatrixColumns","ColumnLabelWrapper","RowLabelWrapper","ValueRowWrapper","ValueItemWrapper","ScoringRows","ScoringNumberInputWrapper","GridSeparatorHorizontal","GridSeparatorVertical","Content","MatrixValues","props","model","onChangeModel","rowLabels","columnLabels","matrixValues","spellCheckEnabled","onSetMatrixValue","matrixValueIndex","value","matrixValuesClone","isNumeric","parseInt","onSetColumnLabel","index","labelValue","columnLabelsClone","onSetRowLabel","rowLabelsClone","onActionByColumn","resourceIndex","actionType","setValue","columnLabelIndex","forEach","rowLabel","rowLabelIndex","ACTION_TYPE","clear","sortAscending","sortDescending","length","onActionByRow","columnLabel","createElement","map","key","onAction","onLabelUpdate","spellCheck","row","rowIndex","column","entryIndex","onFieldUpdate","name","placeholder","fieldValue","propTypes","PropTypes","object","isRequired","func","_default"],"sources":["../src/MatrixValues.jsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport MatrixLabelEditableButton, { ACTION_TYPE } from './MatrixLabelEditableButton';\nimport isNumeric from './isNumeric';\nimport NumberInput from './NumberInput';\nimport PropTypes from 'prop-types';\n\nconst columnWidth = '120px';\n\nexport const ScoringContainer = styled.div`\n display: grid;\n grid-template-columns: min-content min-content auto;\n`;\n\nexport const MatrixColumns = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ColumnLabelWrapper = styled.div`\n width: ${columnWidth};\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const RowLabelWrapper = styled.div`\n width: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ValueRowWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport const ValueItemWrapper = styled.div`\n width: ${columnWidth};\n height: 50px;\n margin: 1px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ScoringRows = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ScoringNumberInputWrapper = styled.div`\n width: 60px;\n justify-self: center;\n align-self: center;\n`;\n\nexport const GridSeparatorHorizontal = styled.div`\n background: gray;\n width: 100%;\n height: 1px;\n`;\n\nexport const GridSeparatorVertical = styled.div`\n background: gray;\n width: 1px;\n height: 100%;\n`;\n\nexport const Content = styled.div`\n padding: 5px;\n`;\n\nconst MatrixValues = (props) => {\n const { model, onChangeModel } = props;\n const { rowLabels, columnLabels, matrixValues, spellCheckEnabled } = model;\n\n const onSetMatrixValue = (matrixValueIndex, value) => {\n const matrixValuesClone = {\n ...matrixValues,\n };\n if (isNumeric(value)) {\n matrixValuesClone[matrixValueIndex] = parseInt(value, 10);\n } else {\n delete matrixValuesClone[matrixValueIndex];\n }\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone,\n });\n };\n\n const onSetColumnLabel = (index, labelValue) => {\n const columnLabelsClone = [...columnLabels];\n columnLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n columnLabels: columnLabelsClone,\n });\n };\n\n const onSetRowLabel = (index, labelValue) => {\n const rowLabelsClone = [...rowLabels];\n rowLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n rowLabels: rowLabelsClone,\n });\n };\n\n const onActionByColumn = ({ resourceIndex, actionType, setValue }) => {\n const columnLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n rowLabels.forEach((rowLabel, rowLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone,\n });\n };\n\n const onActionByRow = ({ resourceIndex, actionType, setValue }) => {\n const rowLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n columnLabels.forEach((columnLabel, columnLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone,\n });\n };\n\n return (\n <ScoringContainer>\n <div />\n <GridSeparatorVertical />\n <MatrixColumns>\n {columnLabels.map((value, columnLabelIndex) => (\n <ColumnLabelWrapper key={columnLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={columnLabelIndex}\n onAction={onActionByColumn}\n value={value}\n onLabelUpdate={(labelValue) => onSetColumnLabel(columnLabelIndex, labelValue)}\n spellCheck={spellCheckEnabled}\n />\n </ColumnLabelWrapper>\n ))}\n </MatrixColumns>\n <GridSeparatorHorizontal />\n <GridSeparatorVertical />\n <GridSeparatorHorizontal />\n <ScoringRows>\n {rowLabels.map((value, rowLabelIndex) => (\n <RowLabelWrapper key={rowLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={rowLabelIndex}\n onAction={onActionByRow}\n value={value}\n onLabelUpdate={(labelValue) => onSetRowLabel(rowLabelIndex, labelValue)}\n spellCheck={spellCheckEnabled}\n />\n </RowLabelWrapper>\n ))}\n </ScoringRows>\n <GridSeparatorVertical />\n <Content>\n {rowLabels.map((row, rowIndex) => {\n return (\n <ValueRowWrapper key={rowIndex}>\n {columnLabels.map((column, entryIndex) => {\n const matrixValueIndex = `${rowIndex}-${entryIndex}`;\n return (\n <ValueItemWrapper key={entryIndex}>\n <ScoringNumberInputWrapper>\n <NumberInput\n onFieldUpdate={(e) => onSetMatrixValue(matrixValueIndex, e)}\n name={matrixValueIndex}\n placeholder=\"#\"\n fieldValue={{\n value: isNumeric(matrixValues[matrixValueIndex]) ? matrixValues[matrixValueIndex] : '',\n }}\n />\n </ScoringNumberInputWrapper>\n </ValueItemWrapper>\n );\n })}\n </ValueRowWrapper>\n );\n })}\n </Content>\n </ScoringContainer>\n );\n};\n\nMatrixValues.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired,\n};\n\nexport default MatrixValues;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,77 @@
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 = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _styles = require("@mui/material/styles");
11
+ var _material = require("@mui/material");
12
+ 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); }
13
+ const InputWrapper = (0, _styles.styled)('div')`
14
+ width: 100%;
15
+ height: 100%;
16
+ input[type='number'] {
17
+ -moz-appearance: textfield;
18
+ }
19
+
20
+ input::-webkit-outer-spin-button,
21
+ input::-webkit-inner-spin-button {
22
+ -webkit-appearance: none;
23
+ }
24
+ `;
25
+ const StyledTextField = (0, _styles.styled)(_material.TextField)({
26
+ '& .MuiOutlinedInput-root': {
27
+ fontSize: '16px',
28
+ textAlign: 'center!important',
29
+ padding: '0!important',
30
+ margin: '5px 0',
31
+ '&:hover .MuiOutlinedInput-notchedOutline': {
32
+ borderColor: 'gray !important'
33
+ },
34
+ '&.Mui-focused .MuiOutlinedInput-notchedOutline': {
35
+ borderColor: 'green !important',
36
+ borderWidth: '1px !important'
37
+ }
38
+ },
39
+ '& .MuiOutlinedInput-input': {
40
+ fontSize: '16px',
41
+ textAlign: 'center',
42
+ padding: '0',
43
+ margin: '5px 0'
44
+ },
45
+ '& .MuiOutlinedInput-notchedOutline': {
46
+ borderWidth: '1px !important',
47
+ borderColor: '#d6d6d6 !important'
48
+ }
49
+ });
50
+ const NumericInput = props => {
51
+ const {
52
+ onFieldUpdate,
53
+ name,
54
+ placeholder,
55
+ fieldValue
56
+ } = props;
57
+ const onFieldUpdateWrapper = e => {
58
+ onFieldUpdate(e.target.value);
59
+ };
60
+ return /*#__PURE__*/React.createElement(InputWrapper, null, /*#__PURE__*/React.createElement(StyledTextField, {
61
+ name: name,
62
+ value: fieldValue.value,
63
+ inputRef: fieldValue.ref,
64
+ type: "number",
65
+ placeholder: placeholder,
66
+ onChange: onFieldUpdateWrapper,
67
+ variant: "outlined"
68
+ }));
69
+ };
70
+ NumericInput.propTypes = {
71
+ name: _propTypes.default.string.isRequired,
72
+ placeholder: _propTypes.default.string.isRequired,
73
+ fieldValue: _propTypes.default.object.isRequired,
74
+ onFieldUpdate: _propTypes.default.func.isRequired
75
+ };
76
+ var _default = exports.default = NumericInput;
77
+ //# sourceMappingURL=NumberInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInput.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_material","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","InputWrapper","styled","StyledTextField","TextField","fontSize","textAlign","padding","margin","borderColor","borderWidth","NumericInput","props","onFieldUpdate","name","placeholder","fieldValue","onFieldUpdateWrapper","target","value","createElement","inputRef","ref","type","onChange","variant","propTypes","PropTypes","string","isRequired","object","func","_default","exports"],"sources":["../src/NumberInput.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { TextField } from '@mui/material';\n\nconst InputWrapper = styled('div')`\n width: 100%;\n height: 100%;\n input[type='number'] {\n -moz-appearance: textfield;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n }\n`;\n\nconst StyledTextField = styled(TextField)({\n '& .MuiOutlinedInput-root': {\n fontSize: '16px',\n textAlign: 'center!important',\n padding: '0!important',\n margin: '5px 0',\n '&:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: 'gray !important',\n },\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: 'green !important',\n borderWidth: '1px !important',\n },\n },\n '& .MuiOutlinedInput-input': {\n fontSize: '16px',\n textAlign: 'center',\n padding: '0',\n margin: '5px 0',\n },\n '& .MuiOutlinedInput-notchedOutline': {\n borderWidth: '1px !important',\n borderColor: '#d6d6d6 !important',\n },\n});\n\nconst NumericInput = (props) => {\n const { onFieldUpdate, name, placeholder, fieldValue } = props;\n\n const onFieldUpdateWrapper = (e) => {\n onFieldUpdate(e.target.value);\n };\n\n return (\n <InputWrapper>\n <StyledTextField\n name={name}\n value={fieldValue.value}\n inputRef={fieldValue.ref}\n type=\"number\"\n placeholder={placeholder}\n onChange={onFieldUpdateWrapper}\n variant=\"outlined\"\n />\n </InputWrapper>\n );\n};\n\nNumericInput.propTypes = {\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n fieldValue: PropTypes.object.isRequired,\n onFieldUpdate: PropTypes.func.isRequired,\n};\n\nexport default NumericInput;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.AGREEMENT_3 = void 0;
7
+ const AGREEMENT_3 = exports.AGREEMENT_3 = ['Disagree', 'Unsure', 'Agree'];
8
+ const AGREEMENT_5 = ['Strongly Disagree', ...AGREEMENT_3, 'Strongly Agree'];
9
+ const AGREEMENT_7 = ['Extremely Disagree', ...AGREEMENT_5, 'Extremely Agree'];
10
+ const FREQUENCY_3 = ['Infrequently', 'Unsure', 'Frequently'];
11
+ const FREQUENCY_5 = ['Very Infrequently', ...FREQUENCY_3, 'Very Frequently'];
12
+ const FREQUENCY_7 = ['Never', ...FREQUENCY_5, 'Always'];
13
+ const YES_NO_3 = ['No', 'Unsure', 'Yes'];
14
+ const YES_NO_5 = ['No', 'Not really', 'Unsure', 'Sometimes', 'Yes'];
15
+ const YES_NO_7 = ['No', 'Rarely', 'Not really', 'Unsure', 'Sometimes', 'Very Often', 'Always'];
16
+ const LIKELIHOOD_3 = ['Not Likely', 'Unsure', 'Likely'];
17
+ const LIKELIHOOD_5 = ['Very Unlikely', ...LIKELIHOOD_3, 'Very Likely'];
18
+ const LIKELIHOOD_7 = ['Extremely Unlikely', ...LIKELIHOOD_5, 'Extremely Likely'];
19
+ const IMPORTANCE_3 = ['Not Important', 'Unsure', 'Important'];
20
+ const IMPORTANCE_5 = ['Very Not Important', ...IMPORTANCE_3, 'Very Important'];
21
+ const IMPORTANCE_7 = ['Extremely Not Important', ...IMPORTANCE_5, 'Extremely Important'];
22
+ const LIKE_3 = ['Dislike', 'Unsure', 'Like'];
23
+ const LIKE_5 = ['Really Dislike', ...LIKE_3, 'Really Like'];
24
+ const LIKE_7 = ['Extremely Dislike', ...LIKE_5, 'Extremely Like'];
25
+ const config = {
26
+ agreement_3: AGREEMENT_3,
27
+ agreement_5: AGREEMENT_5,
28
+ agreement_7: AGREEMENT_7,
29
+ frequency_3: FREQUENCY_3,
30
+ frequency_5: FREQUENCY_5,
31
+ frequency_7: FREQUENCY_7,
32
+ yesNo_3: YES_NO_3,
33
+ yesNo_5: YES_NO_5,
34
+ yesNo_7: YES_NO_7,
35
+ likelihood_3: LIKELIHOOD_3,
36
+ likelihood_5: LIKELIHOOD_5,
37
+ likelihood_7: LIKELIHOOD_7,
38
+ importance_3: IMPORTANCE_3,
39
+ importance_5: IMPORTANCE_5,
40
+ importance_7: IMPORTANCE_7,
41
+ like_3: LIKE_3,
42
+ like_5: LIKE_5,
43
+ like_7: LIKE_7
44
+ };
45
+ const generateColumnLabels = (labelType, size) => {
46
+ return config[`${labelType}_${size}`];
47
+ };
48
+ var _default = exports.default = generateColumnLabels;
49
+ //# sourceMappingURL=columnLabelsGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnLabelsGenerator.js","names":["AGREEMENT_3","exports","AGREEMENT_5","AGREEMENT_7","FREQUENCY_3","FREQUENCY_5","FREQUENCY_7","YES_NO_3","YES_NO_5","YES_NO_7","LIKELIHOOD_3","LIKELIHOOD_5","LIKELIHOOD_7","IMPORTANCE_3","IMPORTANCE_5","IMPORTANCE_7","LIKE_3","LIKE_5","LIKE_7","config","agreement_3","agreement_5","agreement_7","frequency_3","frequency_5","frequency_7","yesNo_3","yesNo_5","yesNo_7","likelihood_3","likelihood_5","likelihood_7","importance_3","importance_5","importance_7","like_3","like_5","like_7","generateColumnLabels","labelType","size","_default","default"],"sources":["../src/columnLabelsGenerator.js"],"sourcesContent":["export const AGREEMENT_3 = ['Disagree', 'Unsure', 'Agree'];\nconst AGREEMENT_5 = ['Strongly Disagree', ...AGREEMENT_3, 'Strongly Agree'];\nconst AGREEMENT_7 = ['Extremely Disagree', ...AGREEMENT_5, 'Extremely Agree'];\nconst FREQUENCY_3 = ['Infrequently', 'Unsure', 'Frequently'];\nconst FREQUENCY_5 = ['Very Infrequently', ...FREQUENCY_3, 'Very Frequently'];\nconst FREQUENCY_7 = ['Never', ...FREQUENCY_5, 'Always'];\nconst YES_NO_3 = ['No', 'Unsure', 'Yes'];\nconst YES_NO_5 = ['No', 'Not really', 'Unsure', 'Sometimes', 'Yes'];\nconst YES_NO_7 = ['No', 'Rarely', 'Not really', 'Unsure', 'Sometimes', 'Very Often', 'Always'];\nconst LIKELIHOOD_3 = ['Not Likely', 'Unsure', 'Likely'];\nconst LIKELIHOOD_5 = ['Very Unlikely', ...LIKELIHOOD_3, 'Very Likely'];\nconst LIKELIHOOD_7 = ['Extremely Unlikely', ...LIKELIHOOD_5, 'Extremely Likely'];\nconst IMPORTANCE_3 = ['Not Important', 'Unsure', 'Important'];\nconst IMPORTANCE_5 = ['Very Not Important', ...IMPORTANCE_3, 'Very Important'];\nconst IMPORTANCE_7 = ['Extremely Not Important', ...IMPORTANCE_5, 'Extremely Important'];\nconst LIKE_3 = ['Dislike', 'Unsure', 'Like'];\nconst LIKE_5 = ['Really Dislike', ...LIKE_3, 'Really Like'];\nconst LIKE_7 = ['Extremely Dislike', ...LIKE_5, 'Extremely Like'];\n\nconst config = {\n agreement_3: AGREEMENT_3,\n agreement_5: AGREEMENT_5,\n agreement_7: AGREEMENT_7,\n frequency_3: FREQUENCY_3,\n frequency_5: FREQUENCY_5,\n frequency_7: FREQUENCY_7,\n yesNo_3: YES_NO_3,\n yesNo_5: YES_NO_5,\n yesNo_7: YES_NO_7,\n likelihood_3: LIKELIHOOD_3,\n likelihood_5: LIKELIHOOD_5,\n likelihood_7: LIKELIHOOD_7,\n importance_3: IMPORTANCE_3,\n importance_5: IMPORTANCE_5,\n importance_7: IMPORTANCE_7,\n like_3: LIKE_3,\n like_5: LIKE_5,\n like_7: LIKE_7,\n};\n\nconst generateColumnLabels = (labelType, size) => {\n return config[`${labelType}_${size}`];\n};\n\nexport default generateColumnLabels;\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC1D,MAAME,WAAW,GAAG,CAAC,mBAAmB,EAAE,GAAGF,WAAW,EAAE,gBAAgB,CAAC;AAC3E,MAAMG,WAAW,GAAG,CAAC,oBAAoB,EAAE,GAAGD,WAAW,EAAE,iBAAiB,CAAC;AAC7E,MAAME,WAAW,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC;AAC5D,MAAMC,WAAW,GAAG,CAAC,mBAAmB,EAAE,GAAGD,WAAW,EAAE,iBAAiB,CAAC;AAC5E,MAAME,WAAW,GAAG,CAAC,OAAO,EAAE,GAAGD,WAAW,EAAE,QAAQ,CAAC;AACvD,MAAME,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;AACxC,MAAMC,QAAQ,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC;AACnE,MAAMC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC;AAC9F,MAAMC,YAAY,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACvD,MAAMC,YAAY,GAAG,CAAC,eAAe,EAAE,GAAGD,YAAY,EAAE,aAAa,CAAC;AACtE,MAAME,YAAY,GAAG,CAAC,oBAAoB,EAAE,GAAGD,YAAY,EAAE,kBAAkB,CAAC;AAChF,MAAME,YAAY,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC;AAC7D,MAAMC,YAAY,GAAG,CAAC,oBAAoB,EAAE,GAAGD,YAAY,EAAE,gBAAgB,CAAC;AAC9E,MAAME,YAAY,GAAG,CAAC,yBAAyB,EAAE,GAAGD,YAAY,EAAE,qBAAqB,CAAC;AACxF,MAAME,MAAM,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;AAC5C,MAAMC,MAAM,GAAG,CAAC,gBAAgB,EAAE,GAAGD,MAAM,EAAE,aAAa,CAAC;AAC3D,MAAME,MAAM,GAAG,CAAC,mBAAmB,EAAE,GAAGD,MAAM,EAAE,gBAAgB,CAAC;AAEjE,MAAME,MAAM,GAAG;EACbC,WAAW,EAAEpB,WAAW;EACxBqB,WAAW,EAAEnB,WAAW;EACxBoB,WAAW,EAAEnB,WAAW;EACxBoB,WAAW,EAAEnB,WAAW;EACxBoB,WAAW,EAAEnB,WAAW;EACxBoB,WAAW,EAAEnB,WAAW;EACxBoB,OAAO,EAAEnB,QAAQ;EACjBoB,OAAO,EAAEnB,QAAQ;EACjBoB,OAAO,EAAEnB,QAAQ;EACjBoB,YAAY,EAAEnB,YAAY;EAC1BoB,YAAY,EAAEnB,YAAY;EAC1BoB,YAAY,EAAEnB,YAAY;EAC1BoB,YAAY,EAAEnB,YAAY;EAC1BoB,YAAY,EAAEnB,YAAY;EAC1BoB,YAAY,EAAEnB,YAAY;EAC1BoB,MAAM,EAAEnB,MAAM;EACdoB,MAAM,EAAEnB,MAAM;EACdoB,MAAM,EAAEnB;AACV,CAAC;AAED,MAAMoB,oBAAoB,GAAGA,CAACC,SAAS,EAAEC,IAAI,KAAK;EAChD,OAAOrB,MAAM,CAAC,GAAGoB,SAAS,IAAIC,IAAI,EAAE,CAAC;AACvC,CAAC;AAAC,IAAAC,QAAA,GAAAxC,OAAA,CAAAyC,OAAA,GAEaJ,oBAAoB","ignoreList":[]}