@pie-element/matrix 4.1.2-next.5 → 4.1.3

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 +1421 -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 +1347 -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-1GgjpmF9.js +0 -10145
  89. package/dist/browser/Radio-1GgjpmF9.js.map +0 -1
  90. package/dist/browser/author/index.js +0 -45674
  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-BjoC1dWE.js +0 -96
  97. package/dist/browser/dist-BjoC1dWE.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,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.NumberInputFormGroupWrapper = exports.IconWrapper = exports.ColumnsWrapper = exports.ColumnsHeader = void 0;
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ const ColumnsWrapper = exports.ColumnsWrapper = _styledComponents.default.div`
10
+ display: flex;
11
+ flex-direction: column;
12
+ align-items: center;
13
+ `;
14
+ const ColumnsHeader = exports.ColumnsHeader = _styledComponents.default.p`
15
+ margin: 10px 0;
16
+ color: #c3c3c3;
17
+ font-size: 12px;
18
+ `;
19
+ const NumberInputFormGroupWrapper = exports.NumberInputFormGroupWrapper = _styledComponents.default.div`
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: space-between;
23
+ width: 110px;
24
+ `;
25
+ const IconWrapper = exports.IconWrapper = _styledComponents.default.div`
26
+ cursor: pointer;
27
+ `;
28
+ //# sourceMappingURL=HeaderCommon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderCommon.js","names":["_styledComponents","_interopRequireDefault","require","ColumnsWrapper","exports","styled","div","ColumnsHeader","p","NumberInputFormGroupWrapper","IconWrapper"],"sources":["../src/HeaderCommon.js"],"sourcesContent":["import styled from 'styled-components';\n\nexport const ColumnsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\nexport const ColumnsHeader = styled.p`\n margin: 10px 0;\n color: #c3c3c3;\n font-size: 12px;\n`;\n\nexport const NumberInputFormGroupWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 110px;\n`;\n\nexport const IconWrapper = styled.div`\n cursor: pointer;\n`;\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAGE,yBAAM,CAACC,GAAG;AACxC;AACA;AACA;AACA,CAAC;AAEM,MAAMC,aAAa,GAAAH,OAAA,CAAAG,aAAA,GAAGF,yBAAM,CAACG,CAAC;AACrC;AACA;AACA;AACA,CAAC;AAEM,MAAMC,2BAA2B,GAAAL,OAAA,CAAAK,2BAAA,GAAGJ,yBAAM,CAACC,GAAG;AACrD;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMI,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAAGL,yBAAM,CAACC,GAAG;AACrC;AACA,CAAC","ignoreList":[]}
@@ -0,0 +1,179 @@
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.Main = 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 _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
13
+ var _configUi = require("@pie-lib/config-ui");
14
+ var _styles = require("@mui/material/styles");
15
+ var _MatrixColumnsSizeHeaderInput = _interopRequireDefault(require("./MatrixColumnsSizeHeaderInput"));
16
+ var _MatrixRowsSizeHeaderInput = _interopRequireDefault(require("./MatrixRowsSizeHeaderInput"));
17
+ var _MatrixLabelTypeHeaderInput = _interopRequireDefault(require("./MatrixLabelTypeHeaderInput"));
18
+ var _MatrixValues = _interopRequireDefault(require("./MatrixValues"));
19
+ const {
20
+ Panel,
21
+ toggle,
22
+ radio
23
+ } = _configUi.settings;
24
+ const StyledInputContainer = (0, _styles.styled)(_configUi.InputContainer)(({
25
+ theme
26
+ }) => ({
27
+ width: '100%',
28
+ paddingTop: theme.spacing(1),
29
+ marginTop: theme.spacing(2),
30
+ marginBottom: theme.spacing(2)
31
+ }));
32
+ const MatrixHeaderOptionsHolder = (0, _styles.styled)('div')(({
33
+ theme
34
+ }) => ({
35
+ display: 'flex',
36
+ flexWrap: 'wrap',
37
+ width: '100%',
38
+ paddingBottom: theme.spacing(2.5),
39
+ justifyContent: 'space-around'
40
+ }));
41
+ const ErrorText = (0, _styles.styled)('div')(({
42
+ theme
43
+ }) => ({
44
+ fontSize: theme.typography.fontSize - 2,
45
+ color: theme.palette.error.main,
46
+ paddingTop: theme.spacing(1)
47
+ }));
48
+ const Design = props => {
49
+ const {
50
+ model,
51
+ configuration,
52
+ onPromptChanged,
53
+ imageSupport,
54
+ uploadSoundSupport,
55
+ onChangeModel,
56
+ onConfigurationChanged,
57
+ onTeacherInstructionsChanged
58
+ } = props;
59
+ const {
60
+ baseInputConfiguration = {},
61
+ contentDimensions = {},
62
+ prompt = {},
63
+ scoringType = {},
64
+ settingsPanelDisabled,
65
+ spellCheck = {},
66
+ teacherInstructions = {}
67
+ } = configuration || {};
68
+ const {
69
+ errors = {},
70
+ extraCSSRules,
71
+ teacherInstructionsEnabled,
72
+ spellCheckEnabled
73
+ } = model || {};
74
+ const {
75
+ prompt: promptError,
76
+ teacherInstructions: teacherInstructionsError
77
+ } = errors;
78
+ const panelProperties = {
79
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
80
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
81
+ scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
82
+ };
83
+ const getPluginProps = (props = {}) => ({
84
+ ...baseInputConfiguration,
85
+ ...props
86
+ });
87
+ return /*#__PURE__*/_react.default.createElement(_configUi.layout.ConfigLayout, {
88
+ extraCSSRules: extraCSSRules,
89
+ dimensions: contentDimensions,
90
+ hideSettings: settingsPanelDisabled,
91
+ settings: /*#__PURE__*/_react.default.createElement(Panel, {
92
+ model: model,
93
+ onChangeModel: onChangeModel,
94
+ configuration: configuration,
95
+ onChangeConfiguration: onConfigurationChanged,
96
+ groups: {
97
+ Properties: panelProperties
98
+ }
99
+ })
100
+ }, teacherInstructionsEnabled && /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
101
+ label: teacherInstructions.label
102
+ }, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
103
+ markup: model.teacherInstructions || '',
104
+ onChange: onTeacherInstructionsChanged,
105
+ imageSupport: imageSupport,
106
+ error: teacherInstructionsError,
107
+ pluginProps: getPluginProps(teacherInstructions?.inputConfiguration),
108
+ nonEmpty: false,
109
+ spellCheck: spellCheckEnabled,
110
+ uploadSoundSupport: uploadSoundSupport
111
+ }), teacherInstructionsError && /*#__PURE__*/_react.default.createElement(ErrorText, null, teacherInstructionsError)), /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
112
+ label: prompt.label
113
+ }, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
114
+ markup: model.prompt,
115
+ onChange: onPromptChanged,
116
+ imageSupport: imageSupport,
117
+ error: promptError,
118
+ pluginProps: getPluginProps(prompt?.inputConfiguration),
119
+ nonEmpty: !prompt.settings,
120
+ spellCheck: spellCheckEnabled,
121
+ uploadSoundSupport: uploadSoundSupport,
122
+ disableUnderline: true
123
+ }), promptError && /*#__PURE__*/_react.default.createElement(ErrorText, null, promptError)), /*#__PURE__*/_react.default.createElement(MatrixHeaderOptionsHolder, null, /*#__PURE__*/_react.default.createElement(_MatrixRowsSizeHeaderInput.default, {
124
+ model: model,
125
+ onChangeModel: onChangeModel
126
+ }), /*#__PURE__*/_react.default.createElement(_MatrixColumnsSizeHeaderInput.default, {
127
+ model: model,
128
+ onChangeModel: onChangeModel
129
+ }), /*#__PURE__*/_react.default.createElement(_MatrixLabelTypeHeaderInput.default, {
130
+ model: model,
131
+ onChangeModel: onChangeModel
132
+ })), /*#__PURE__*/_react.default.createElement(_MatrixValues.default, {
133
+ model: model,
134
+ onChangeModel: onChangeModel
135
+ }));
136
+ };
137
+ class Main extends _react.default.Component {
138
+ constructor(...args) {
139
+ super(...args);
140
+ (0, _defineProperty2.default)(this, "onPromptChanged", prompt => {
141
+ this.props.onModelChanged({
142
+ ...this.props.model,
143
+ prompt
144
+ });
145
+ });
146
+ (0, _defineProperty2.default)(this, "onChangeModel", data => {
147
+ this.props.onModelChanged({
148
+ ...this.props.model,
149
+ ...data
150
+ });
151
+ });
152
+ (0, _defineProperty2.default)(this, "onTeacherInstructionsChanged", teacherInstructions => {
153
+ this.props.onModelChanged({
154
+ ...this.props.model,
155
+ teacherInstructions
156
+ });
157
+ });
158
+ }
159
+ render() {
160
+ return /*#__PURE__*/_react.default.createElement(Design, (0, _extends2.default)({}, this.props, {
161
+ onChangeModel: this.props.onModelChanged,
162
+ onPromptChanged: this.onPromptChanged,
163
+ onTeacherInstructionsChanged: this.onTeacherInstructionsChanged
164
+ }));
165
+ }
166
+ }
167
+ exports.Main = Main;
168
+ (0, _defineProperty2.default)(Main, "propTypes", {
169
+ model: _propTypes.default.object.isRequired,
170
+ disableSidePanel: _propTypes.default.bool,
171
+ onModelChanged: _propTypes.default.func.isRequired,
172
+ onConfigurationChanged: _propTypes.default.func.isRequired,
173
+ imageSupport: _propTypes.default.shape({
174
+ add: _propTypes.default.func.isRequired,
175
+ delete: _propTypes.default.func.isRequired
176
+ })
177
+ });
178
+ var _default = exports.default = Main;
179
+ //# sourceMappingURL=Main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Main.js","names":["_react","_interopRequireDefault","require","_propTypes","_editableHtmlTipTap","_configUi","_styles","_MatrixColumnsSizeHeaderInput","_MatrixRowsSizeHeaderInput","_MatrixLabelTypeHeaderInput","_MatrixValues","Panel","toggle","radio","settings","StyledInputContainer","styled","InputContainer","theme","width","paddingTop","spacing","marginTop","marginBottom","MatrixHeaderOptionsHolder","display","flexWrap","paddingBottom","justifyContent","ErrorText","fontSize","typography","color","palette","error","main","Design","props","model","configuration","onPromptChanged","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","baseInputConfiguration","contentDimensions","prompt","scoringType","settingsPanelDisabled","spellCheck","teacherInstructions","errors","extraCSSRules","teacherInstructionsEnabled","spellCheckEnabled","promptError","teacherInstructionsError","panelProperties","label","getPluginProps","default","createElement","layout","ConfigLayout","dimensions","hideSettings","onChangeConfiguration","groups","Properties","markup","onChange","pluginProps","inputConfiguration","nonEmpty","disableUnderline","Main","React","Component","constructor","args","_defineProperty2","onModelChanged","data","render","_extends2","exports","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","delete","_default"],"sources":["../src/Main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { InputContainer, settings, layout } from '@pie-lib/config-ui';\nimport { styled } from '@mui/material/styles';\nimport MatrixColumnsSizeHeaderInput from './MatrixColumnsSizeHeaderInput';\nimport MatrixRowsSizeHeaderInput from './MatrixRowsSizeHeaderInput';\nimport MatrixLabelTypeHeaderInput from './MatrixLabelTypeHeaderInput';\nimport MatrixValues from './MatrixValues';\n\nconst { Panel, toggle, radio } = settings;\n\nconst StyledInputContainer = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(1),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst MatrixHeaderOptionsHolder = styled('div')(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n paddingBottom: theme.spacing(2.5),\n justifyContent: 'space-around',\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst Design = (props) => {\n const {\n model,\n configuration,\n onPromptChanged,\n imageSupport,\n uploadSoundSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged,\n } = props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n prompt = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n } = configuration || {};\n const { errors = {}, extraCSSRules, teacherInstructionsEnabled, spellCheckEnabled } = model || {};\n const { prompt: promptError, teacherInstructions: teacherInstructionsError } = errors;\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <StyledInputContainer label={teacherInstructions.label}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n error={teacherInstructionsError}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n {teacherInstructionsError && <ErrorText>{teacherInstructionsError}</ErrorText>}\n </StyledInputContainer>\n )}\n\n <StyledInputContainer label={prompt.label}>\n <EditableHtml\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n error={promptError}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n nonEmpty={!prompt.settings}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n disableUnderline\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </StyledInputContainer>\n\n <MatrixHeaderOptionsHolder>\n <MatrixRowsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixColumnsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixLabelTypeHeaderInput model={model} onChangeModel={onChangeModel} />\n </MatrixHeaderOptionsHolder>\n\n <MatrixValues model={model} onChangeModel={onChangeModel} />\n </layout.ConfigLayout>\n );\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onChangeModel = (data) => {\n this.props.onModelChanged({ ...this.props.model, ...data });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nexport default Main;\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 _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _HeaderCommon = require("./HeaderCommon");
13
+ var _matrixEntities = require("./matrixEntities");
14
+ const MatrixColumnsSizeHeaderInput = ({
15
+ model,
16
+ onChangeModel
17
+ }) => {
18
+ const onIncrementColumnsSize = () => {
19
+ onChangeModel({
20
+ ...model,
21
+ columnLabels: [...model.columnLabels, `COLUMN ${model.columnLabels.length + 1}`],
22
+ labelType: _matrixEntities.MATRIX_LABEL_TYPE.custom
23
+ });
24
+ };
25
+ const onDecrementColumnsSize = () => {
26
+ const columnLabelsLength = model.columnLabels.length;
27
+ if (columnLabelsLength <= 1) {
28
+ return;
29
+ }
30
+ const columnLabelsNext = [...model.columnLabels];
31
+ columnLabelsNext.pop();
32
+ const matrixValuesClone = {
33
+ ...model.matrixValues
34
+ };
35
+ model.rowLabels.forEach((rowLabel, rowIndex) => {
36
+ delete matrixValuesClone[`${rowIndex}-${columnLabelsLength - 1}`];
37
+ });
38
+ onChangeModel({
39
+ ...model,
40
+ columnLabels: columnLabelsNext,
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 Columns"), /*#__PURE__*/_react.default.createElement(_HeaderCommon.NumberInputFormGroupWrapper, null, /*#__PURE__*/_react.default.createElement(_HeaderCommon.IconWrapper, null, /*#__PURE__*/_react.default.createElement(_Remove.default, {
46
+ onClick: onDecrementColumnsSize
47
+ })), /*#__PURE__*/_react.default.createElement("p", null, model.columnLabels.length), /*#__PURE__*/_react.default.createElement(_HeaderCommon.IconWrapper, null, /*#__PURE__*/_react.default.createElement(_Add.default, {
48
+ onClick: onIncrementColumnsSize
49
+ }))));
50
+ };
51
+ MatrixColumnsSizeHeaderInput.propTypes = {
52
+ model: _propTypes.default.object.isRequired,
53
+ onChangeModel: _propTypes.default.func.isRequired
54
+ };
55
+ var _default = exports.default = MatrixColumnsSizeHeaderInput;
56
+ //# sourceMappingURL=MatrixColumnsSizeHeaderInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixColumnsSizeHeaderInput.js","names":["_react","_interopRequireDefault","require","_Add","_Remove","_propTypes","_HeaderCommon","_matrixEntities","MatrixColumnsSizeHeaderInput","model","onChangeModel","onIncrementColumnsSize","columnLabels","length","labelType","MATRIX_LABEL_TYPE","custom","onDecrementColumnsSize","columnLabelsLength","columnLabelsNext","pop","matrixValuesClone","matrixValues","rowLabels","forEach","rowLabel","rowIndex","default","createElement","ColumnsWrapper","ColumnsHeader","NumberInputFormGroupWrapper","IconWrapper","onClick","propTypes","PropTypes","object","isRequired","func","_default","exports"],"sources":["../src/MatrixColumnsSizeHeaderInput.jsx"],"sourcesContent":["import React from 'react';\nimport AddIcon from '@mui/icons-material/Add';\nimport RemoveIcon from '@mui/icons-material/Remove';\nimport PropTypes from 'prop-types';\n\nimport { ColumnsHeader, ColumnsWrapper, IconWrapper, NumberInputFormGroupWrapper } from './HeaderCommon';\nimport { MATRIX_LABEL_TYPE } from './matrixEntities';\n\nconst MatrixColumnsSizeHeaderInput = ({ model, onChangeModel }) => {\n const onIncrementColumnsSize = () => {\n onChangeModel({\n ...model,\n columnLabels: [...model.columnLabels, `COLUMN ${model.columnLabels.length + 1}`],\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n\n const onDecrementColumnsSize = () => {\n const columnLabelsLength = model.columnLabels.length;\n if (columnLabelsLength <= 1) {\n return;\n }\n const columnLabelsNext = [...model.columnLabels];\n columnLabelsNext.pop();\n\n const matrixValuesClone = { ...model.matrixValues };\n model.rowLabels.forEach((rowLabel, rowIndex) => {\n delete matrixValuesClone[`${rowIndex}-${columnLabelsLength - 1}`];\n });\n\n onChangeModel({\n ...model,\n columnLabels: columnLabelsNext,\n matrixValues: matrixValuesClone,\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n return (\n <ColumnsWrapper>\n <ColumnsHeader>Matrix Columns</ColumnsHeader>\n <NumberInputFormGroupWrapper>\n <IconWrapper>\n <RemoveIcon onClick={onDecrementColumnsSize} />\n </IconWrapper>\n <p>{model.columnLabels.length}</p>\n <IconWrapper>\n <AddIcon onClick={onIncrementColumnsSize} />\n </IconWrapper>\n </NumberInputFormGroupWrapper>\n </ColumnsWrapper>\n );\n};\n\nMatrixColumnsSizeHeaderInput.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired,\n};\n\nexport default MatrixColumnsSizeHeaderInput;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AAEA,MAAMM,4BAA4B,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAc,CAAC,KAAK;EACjE,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACnCD,aAAa,CAAC;MACZ,GAAGD,KAAK;MACRG,YAAY,EAAE,CAAC,GAAGH,KAAK,CAACG,YAAY,EAAE,UAAUH,KAAK,CAACG,YAAY,CAACC,MAAM,GAAG,CAAC,EAAE,CAAC;MAChFC,SAAS,EAAEC,iCAAiB,CAACC;IAC/B,CAAC,CAAC;EACJ,CAAC;EAED,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACnC,MAAMC,kBAAkB,GAAGT,KAAK,CAACG,YAAY,CAACC,MAAM;IACpD,IAAIK,kBAAkB,IAAI,CAAC,EAAE;MAC3B;IACF;IACA,MAAMC,gBAAgB,GAAG,CAAC,GAAGV,KAAK,CAACG,YAAY,CAAC;IAChDO,gBAAgB,CAACC,GAAG,CAAC,CAAC;IAEtB,MAAMC,iBAAiB,GAAG;MAAE,GAAGZ,KAAK,CAACa;IAAa,CAAC;IACnDb,KAAK,CAACc,SAAS,CAACC,OAAO,CAAC,CAACC,QAAQ,EAAEC,QAAQ,KAAK;MAC9C,OAAOL,iBAAiB,CAAC,GAAGK,QAAQ,IAAIR,kBAAkB,GAAG,CAAC,EAAE,CAAC;IACnE,CAAC,CAAC;IAEFR,aAAa,CAAC;MACZ,GAAGD,KAAK;MACRG,YAAY,EAAEO,gBAAgB;MAC9BG,YAAY,EAAED,iBAAiB;MAC/BP,SAAS,EAAEC,iCAAiB,CAACC;IAC/B,CAAC,CAAC;EACJ,CAAC;EACD,oBACEhB,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACtB,aAAA,CAAAuB,cAAc,qBACb7B,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACtB,aAAA,CAAAwB,aAAa,QAAC,gBAA6B,CAAC,eAC7C9B,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACtB,aAAA,CAAAyB,2BAA2B,qBAC1B/B,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACtB,aAAA,CAAA0B,WAAW,qBACVhC,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACxB,OAAA,CAAAuB,OAAU;IAACM,OAAO,EAAEhB;EAAuB,CAAE,CACnC,CAAC,eACdjB,MAAA,CAAA2B,OAAA,CAAAC,aAAA,YAAInB,KAAK,CAACG,YAAY,CAACC,MAAU,CAAC,eAClCb,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACtB,aAAA,CAAA0B,WAAW,qBACVhC,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACzB,IAAA,CAAAwB,OAAO;IAACM,OAAO,EAAEtB;EAAuB,CAAE,CAChC,CACc,CACf,CAAC;AAErB,CAAC;AAEDH,4BAA4B,CAAC0B,SAAS,GAAG;EACvCzB,KAAK,EAAE0B,kBAAS,CAACC,MAAM,CAACC,UAAU;EAClC3B,aAAa,EAAEyB,kBAAS,CAACG,IAAI,CAACD;AAChC,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAb,OAAA,GAEanB,4BAA4B","ignoreList":[]}
@@ -0,0 +1,224 @@
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.ACTION_TYPE = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _KeyboardArrowDown = _interopRequireDefault(require("@mui/icons-material/KeyboardArrowDown"));
11
+ var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
12
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _NumberInput = _interopRequireDefault(require("./NumberInput"));
15
+ var _isNumeric = _interopRequireDefault(require("./isNumeric"));
16
+ 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); }
17
+ const MatrixEditableButtonWrapper = _styledComponents.default.div`
18
+ width: 100%;
19
+ height: 50px;
20
+ margin: 1px;
21
+ background: #04b26e;
22
+ border-radius: 5px;
23
+ color: white;
24
+ font-size: 14px;
25
+ white-space: nowrap;
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: space-between;
29
+ `;
30
+ const MatrixEditableButtonContent = _styledComponents.default.div`
31
+ padding: 0 5px 0 12px;
32
+ width: 100%;
33
+ display: flex;
34
+ align-items: center;
35
+ overflow: hidden;
36
+ `;
37
+ const MatrixEditableButtonText = _styledComponents.default.p`
38
+ margin: 0;
39
+ padding: 3px 0 3px 4px;
40
+ cursor: pointer;
41
+ width: 100%;
42
+
43
+ white-space: nowrap;
44
+ overflow: hidden;
45
+ text-overflow: ellipsis;
46
+
47
+ :hover {
48
+ background: #00985d;
49
+ }
50
+
51
+ transition: all 0.1s ease-in-out;
52
+ `;
53
+ const MatrixEditableButtonActions = _styledComponents.default.div`
54
+ padding: 0 3px;
55
+ height: 100%;
56
+ cursor: pointer;
57
+ display: flex;
58
+ align-items: center;
59
+ border-left: 3px solid #00985d;
60
+ :hover {
61
+ background: #00985d;
62
+ border-top-right-radius: 5px;
63
+ border-bottom-right-radius: 5px;
64
+ }
65
+ transition: all 0.1s ease-in-out;
66
+ `;
67
+ const IconWrapper = _styledComponents.default.div`
68
+ font-size: 18px;
69
+ `;
70
+ const InputWrapper = _styledComponents.default.input`
71
+ margin: 0;
72
+ padding: 0 0 0 4px;
73
+ font-size: 14px;
74
+ border: none;
75
+ outline: none;
76
+ color: white;
77
+ width: 50px;
78
+ width: 100%;
79
+ background: #00985d;
80
+ height: 22px;
81
+ display: flex;
82
+ align-items: center;
83
+ `;
84
+ const SetScoresToWrapper = _styledComponents.default.div`
85
+ display: flex;
86
+ align-items: center;
87
+ `;
88
+ const SetScoresToInputWrapper = _styledComponents.default.div`
89
+ width: 50px;
90
+ margin-left: 10px;
91
+ `;
92
+ const ACTION_TYPE = exports.ACTION_TYPE = {
93
+ clear: 'clear',
94
+ sortAscending: 'sortAscending',
95
+ sortDescending: 'sortDescending',
96
+ set: 'set'
97
+ };
98
+ const MatrixLabelEditableButton = props => {
99
+ const {
100
+ onLabelUpdate,
101
+ value,
102
+ resourceIndex,
103
+ onAction,
104
+ spellCheck
105
+ } = props;
106
+ const [labelValue, setLabelValue] = (0, _react.useState)(null);
107
+ const [scoreValue, setScoreValue] = (0, _react.useState)('');
108
+ const [showInput, setShowInput] = (0, _react.useState)(false);
109
+ const [anchorEl, setAnchorEl] = _react.default.useState(null);
110
+ const [scoresToRef] = _react.default.useState(/*#__PURE__*/_react.default.createRef());
111
+ const open = Boolean(anchorEl);
112
+ const onActionClick = event => {
113
+ setAnchorEl(event.currentTarget);
114
+ };
115
+ const handleClose = e => {
116
+ e.stopPropagation();
117
+ setAnchorEl(null);
118
+ setScoreValue('');
119
+ };
120
+ const onClearScores = e => {
121
+ handleClose(e);
122
+ onAction({
123
+ resourceIndex,
124
+ actionType: ACTION_TYPE.clear
125
+ });
126
+ };
127
+ const onSetScoresAscending = e => {
128
+ handleClose(e);
129
+ onAction({
130
+ resourceIndex,
131
+ actionType: ACTION_TYPE.sortAscending
132
+ });
133
+ };
134
+ const onSetScoresDescending = e => {
135
+ handleClose(e);
136
+ onAction({
137
+ resourceIndex,
138
+ actionType: ACTION_TYPE.sortDescending
139
+ });
140
+ };
141
+ const onSetScores = value => {
142
+ if (!(0, _isNumeric.default)(value)) {
143
+ setScoreValue('');
144
+ return;
145
+ }
146
+ const scoreValueNew = parseInt(value, 10);
147
+ setScoreValue(scoreValueNew);
148
+ onAction({
149
+ resourceIndex,
150
+ actionType: ACTION_TYPE.set,
151
+ setValue: scoreValueNew
152
+ });
153
+ };
154
+ const onBlur = () => {
155
+ const labeValueTrimmed = labelValue.trim();
156
+ if (labeValueTrimmed) {
157
+ onLabelUpdate(labeValueTrimmed);
158
+ }
159
+ setLabelValue(null);
160
+ setShowInput(false);
161
+ };
162
+ const onShowInput = () => {
163
+ setShowInput(true);
164
+ setLabelValue(value);
165
+ };
166
+ const onSetScoreToFocus = () => {
167
+ scoresToRef.current.focus();
168
+ };
169
+ return /*#__PURE__*/_react.default.createElement(MatrixEditableButtonWrapper, null, /*#__PURE__*/_react.default.createElement(MatrixEditableButtonContent, null, showInput ? /*#__PURE__*/_react.default.createElement(InputWrapper, {
170
+ autoFocus: true,
171
+ value: labelValue,
172
+ onChange: e => setLabelValue(e.target.value),
173
+ onBlur: onBlur,
174
+ spellCheck: spellCheck
175
+ }) : /*#__PURE__*/_react.default.createElement(MatrixEditableButtonText, {
176
+ onClick: onShowInput
177
+ }, value)), /*#__PURE__*/_react.default.createElement(MatrixEditableButtonActions, {
178
+ onClick: onActionClick
179
+ }, /*#__PURE__*/_react.default.createElement(IconWrapper, null, /*#__PURE__*/_react.default.createElement(_KeyboardArrowDown.default, {
180
+ fontSize: "inherit"
181
+ })), /*#__PURE__*/_react.default.createElement(_Menu.default, {
182
+ anchorEl: anchorEl,
183
+ open: open,
184
+ onClose: handleClose,
185
+ transitionDuration: {
186
+ enter: 225,
187
+ exit: 195
188
+ }
189
+ }, /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
190
+ key: "item1",
191
+ selected: false,
192
+ onClick: onClearScores
193
+ }, "Clear Scores"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
194
+ key: "item2",
195
+ selected: false,
196
+ onClick: onSetScoresAscending
197
+ }, "Set Scores Ascending"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
198
+ key: "item3",
199
+ selected: false,
200
+ onClick: onSetScoresDescending
201
+ }, "Set Scores Descending"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
202
+ key: "item4",
203
+ selected: false
204
+ }, /*#__PURE__*/_react.default.createElement(SetScoresToWrapper, null, /*#__PURE__*/_react.default.createElement("p", {
205
+ onClick: onSetScoreToFocus
206
+ }, "Set Scores To"), /*#__PURE__*/_react.default.createElement(SetScoresToInputWrapper, null, /*#__PURE__*/_react.default.createElement(_NumberInput.default, {
207
+ onFieldUpdate: onSetScores,
208
+ name: 'setScoreTo',
209
+ placeholder: "#",
210
+ fieldValue: {
211
+ value: scoreValue,
212
+ ref: scoresToRef
213
+ }
214
+ })))))));
215
+ };
216
+ MatrixLabelEditableButton.propTypes = {
217
+ value: _propTypes.default.string.isRequired,
218
+ resourceIndex: _propTypes.default.number.isRequired,
219
+ onLabelUpdate: _propTypes.default.func.isRequired,
220
+ onAction: _propTypes.default.func.isRequired,
221
+ spellCheck: _propTypes.default.bool
222
+ };
223
+ var _default = exports.default = MatrixLabelEditableButton;
224
+ //# sourceMappingURL=MatrixLabelEditableButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixLabelEditableButton.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_KeyboardArrowDown","_Menu","_MenuItem","_propTypes","_NumberInput","_isNumeric","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MatrixEditableButtonWrapper","styled","div","MatrixEditableButtonContent","MatrixEditableButtonText","p","MatrixEditableButtonActions","IconWrapper","InputWrapper","input","SetScoresToWrapper","SetScoresToInputWrapper","ACTION_TYPE","exports","clear","sortAscending","sortDescending","MatrixLabelEditableButton","props","onLabelUpdate","value","resourceIndex","onAction","spellCheck","labelValue","setLabelValue","useState","scoreValue","setScoreValue","showInput","setShowInput","anchorEl","setAnchorEl","React","scoresToRef","createRef","open","Boolean","onActionClick","event","currentTarget","handleClose","stopPropagation","onClearScores","actionType","onSetScoresAscending","onSetScoresDescending","onSetScores","isNumeric","scoreValueNew","parseInt","setValue","onBlur","labeValueTrimmed","trim","onShowInput","onSetScoreToFocus","current","focus","createElement","autoFocus","onChange","target","onClick","fontSize","onClose","transitionDuration","enter","exit","key","selected","onFieldUpdate","name","placeholder","fieldValue","ref","propTypes","PropTypes","string","isRequired","number","func","bool","_default"],"sources":["../src/MatrixLabelEditableButton.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport PropTypes from 'prop-types';\n\nimport NumberInput from './NumberInput';\nimport isNumeric from './isNumeric';\n\nconst MatrixEditableButtonWrapper = styled.div`\n width: 100%;\n height: 50px;\n margin: 1px;\n background: #04b26e;\n border-radius: 5px;\n color: white;\n font-size: 14px;\n white-space: nowrap;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst MatrixEditableButtonContent = styled.div`\n padding: 0 5px 0 12px;\n width: 100%;\n display: flex;\n align-items: center;\n overflow: hidden;\n`;\n\nconst MatrixEditableButtonText = styled.p`\n margin: 0;\n padding: 3px 0 3px 4px;\n cursor: pointer;\n width: 100%;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n :hover {\n background: #00985d;\n }\n\n transition: all 0.1s ease-in-out;\n`;\n\nconst MatrixEditableButtonActions = styled.div`\n padding: 0 3px;\n height: 100%;\n cursor: pointer;\n display: flex;\n align-items: center;\n border-left: 3px solid #00985d;\n :hover {\n background: #00985d;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n transition: all 0.1s ease-in-out;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 18px;\n`;\n\nconst InputWrapper = styled.input`\n margin: 0;\n padding: 0 0 0 4px;\n font-size: 14px;\n border: none;\n outline: none;\n color: white;\n width: 50px;\n width: 100%;\n background: #00985d;\n height: 22px;\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToInputWrapper = styled.div`\n width: 50px;\n margin-left: 10px;\n`;\n\nexport const ACTION_TYPE = {\n clear: 'clear',\n sortAscending: 'sortAscending',\n sortDescending: 'sortDescending',\n set: 'set',\n};\n\nconst MatrixLabelEditableButton = (props) => {\n const { onLabelUpdate, value, resourceIndex, onAction, spellCheck } = props;\n const [labelValue, setLabelValue] = useState(null);\n const [scoreValue, setScoreValue] = useState('');\n const [showInput, setShowInput] = useState(false);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [scoresToRef] = React.useState(React.createRef());\n\n const open = Boolean(anchorEl);\n\n const onActionClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = (e) => {\n e.stopPropagation();\n setAnchorEl(null);\n setScoreValue('');\n };\n\n const onClearScores = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.clear });\n };\n\n const onSetScoresAscending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortAscending });\n };\n\n const onSetScoresDescending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortDescending });\n };\n\n const onSetScores = (value) => {\n if (!isNumeric(value)) {\n setScoreValue('');\n return;\n }\n const scoreValueNew = parseInt(value, 10);\n setScoreValue(scoreValueNew);\n onAction({ resourceIndex, actionType: ACTION_TYPE.set, setValue: scoreValueNew });\n };\n\n const onBlur = () => {\n const labeValueTrimmed = labelValue.trim();\n if (labeValueTrimmed) {\n onLabelUpdate(labeValueTrimmed);\n }\n setLabelValue(null);\n setShowInput(false);\n };\n\n const onShowInput = () => {\n setShowInput(true);\n setLabelValue(value);\n };\n\n const onSetScoreToFocus = () => {\n scoresToRef.current.focus();\n };\n\n return (\n <MatrixEditableButtonWrapper>\n <MatrixEditableButtonContent>\n {showInput ? (\n <InputWrapper\n autoFocus\n value={labelValue}\n onChange={(e) => setLabelValue(e.target.value)}\n onBlur={onBlur}\n spellCheck={spellCheck}\n />\n ) : (\n <MatrixEditableButtonText onClick={onShowInput}>{value}</MatrixEditableButtonText>\n )}\n </MatrixEditableButtonContent>\n <MatrixEditableButtonActions onClick={onActionClick}>\n <IconWrapper>\n <KeyboardArrowDownIcon fontSize=\"inherit\" />\n </IconWrapper>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n transitionDuration={{ enter: 225, exit: 195 }}\n >\n <MenuItem key=\"item1\" selected={false} onClick={onClearScores}>\n Clear Scores\n </MenuItem>\n <MenuItem key=\"item2\" selected={false} onClick={onSetScoresAscending}>\n Set Scores Ascending\n </MenuItem>\n <MenuItem key=\"item3\" selected={false} onClick={onSetScoresDescending}>\n Set Scores Descending\n </MenuItem>\n <MenuItem key=\"item4\" selected={false}>\n <SetScoresToWrapper>\n <p onClick={onSetScoreToFocus}>Set Scores To</p>\n <SetScoresToInputWrapper>\n <NumberInput\n onFieldUpdate={onSetScores}\n name={'setScoreTo'}\n placeholder=\"#\"\n fieldValue={{\n value: scoreValue,\n ref: scoresToRef,\n }}\n />\n </SetScoresToInputWrapper>\n </SetScoresToWrapper>\n </MenuItem>\n </Menu>\n </MatrixEditableButtonActions>\n </MatrixEditableButtonWrapper>\n );\n};\n\nMatrixLabelEditableButton.propTypes = {\n value: PropTypes.string.isRequired,\n resourceIndex: PropTypes.number.isRequired,\n onLabelUpdate: PropTypes.func.isRequired,\n onAction: PropTypes.func.isRequired,\n spellCheck: PropTypes.bool,\n};\n\nexport default MatrixLabelEditableButton;\n"],"mappings":"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","ignoreList":[]}