@pie-element/categorize 13.2.0-beta.0 → 13.2.0-next.9

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 (202) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/defaults.d.ts +222 -0
  4. package/dist/author/defaults.js +168 -0
  5. package/dist/author/design/builder.d.ts +10 -0
  6. package/dist/author/design/builder.js +24 -0
  7. package/dist/author/design/buttons.d.ts +28 -0
  8. package/dist/author/design/buttons.js +36 -0
  9. package/dist/author/design/categories/RowLabel.d.ts +23 -0
  10. package/dist/author/design/categories/RowLabel.js +47 -0
  11. package/dist/author/design/categories/alternateResponses.d.ts +31 -0
  12. package/dist/author/design/categories/alternateResponses.js +62 -0
  13. package/dist/author/design/categories/category.d.ts +44 -0
  14. package/dist/author/design/categories/category.js +98 -0
  15. package/dist/author/design/categories/choice-preview.d.ts +25 -0
  16. package/dist/author/design/categories/choice-preview.js +60 -0
  17. package/dist/author/design/categories/droppable-placeholder.d.ts +11 -0
  18. package/dist/author/design/categories/droppable-placeholder.js +71 -0
  19. package/dist/author/design/categories/index.d.ts +41 -0
  20. package/dist/author/design/categories/index.js +146 -0
  21. package/dist/author/design/choices/choice.d.ts +11 -0
  22. package/dist/author/design/choices/choice.js +129 -0
  23. package/dist/author/design/choices/config.d.ts +21 -0
  24. package/dist/author/design/choices/config.js +33 -0
  25. package/dist/author/design/choices/index.d.ts +41 -0
  26. package/dist/author/design/choices/index.js +110 -0
  27. package/dist/author/design/header.d.ts +24 -0
  28. package/dist/author/design/header.js +49 -0
  29. package/dist/author/design/index.d.ts +52 -0
  30. package/dist/author/design/index.js +427 -0
  31. package/dist/author/design/input-header.d.ts +39 -0
  32. package/dist/author/design/input-header.js +69 -0
  33. package/dist/author/design/utils.d.ts +9 -0
  34. package/dist/author/design/utils.js +7 -0
  35. package/dist/author/index.d.ts +50 -0
  36. package/dist/author/index.js +87 -0
  37. package/dist/author/main.d.ts +23 -0
  38. package/dist/author/main.js +30 -0
  39. package/dist/author/utils.d.ts +16 -0
  40. package/dist/author/utils.js +17 -0
  41. package/dist/browser/alert-dialog-BL9K_lnF.js +11511 -0
  42. package/dist/browser/alert-dialog-BL9K_lnF.js.map +1 -0
  43. package/dist/browser/author/index.js +43156 -0
  44. package/dist/browser/author/index.js.map +1 -0
  45. package/dist/browser/categorize.css +2 -0
  46. package/dist/browser/controller/index.js +372 -0
  47. package/dist/browser/controller/index.js.map +1 -0
  48. package/dist/browser/delivery/index.js +1205 -0
  49. package/dist/browser/delivery/index.js.map +1 -0
  50. package/dist/browser/dist-C11U2GIc.js +1871 -0
  51. package/dist/browser/dist-C11U2GIc.js.map +1 -0
  52. package/dist/browser/rolldown-runtime-CWhphoD1.js +32 -0
  53. package/dist/controller/defaults.d.ts +33 -0
  54. package/dist/controller/defaults.js +27 -0
  55. package/dist/controller/index.d.ts +62 -0
  56. package/dist/controller/index.js +168 -0
  57. package/dist/controller/utils.d.ts +20 -0
  58. package/dist/controller/utils.js +35 -0
  59. package/dist/delivery/categorize/__tests__/categories.test.d.ts +1 -0
  60. package/dist/delivery/categorize/__tests__/category.test.d.ts +1 -0
  61. package/dist/delivery/categorize/__tests__/choice.test.d.ts +1 -0
  62. package/dist/delivery/categorize/__tests__/choices.test.d.ts +1 -0
  63. package/dist/delivery/categorize/__tests__/droppable-placeholder.test.d.ts +1 -0
  64. package/dist/delivery/categorize/__tests__/grid-content.test.d.ts +1 -0
  65. package/dist/delivery/categorize/__tests__/index.test.d.ts +1 -0
  66. package/dist/delivery/categorize/__tests__/keyboard-coordinates.test.d.ts +1 -0
  67. package/dist/delivery/categorize/categories.d.ts +37 -0
  68. package/dist/delivery/categorize/categories.js +72 -0
  69. package/dist/delivery/categorize/category.d.ts +31 -0
  70. package/dist/delivery/categorize/category.js +55 -0
  71. package/dist/delivery/categorize/choice.d.ts +28 -0
  72. package/dist/delivery/categorize/choice.js +114 -0
  73. package/dist/delivery/categorize/choices.d.ts +42 -0
  74. package/dist/delivery/categorize/choices.js +58 -0
  75. package/dist/delivery/categorize/droppable-placeholder.d.ts +36 -0
  76. package/dist/delivery/categorize/droppable-placeholder.js +77 -0
  77. package/dist/delivery/categorize/grid-content.d.ts +25 -0
  78. package/dist/delivery/categorize/grid-content.js +39 -0
  79. package/dist/delivery/categorize/index.d.ts +70 -0
  80. package/dist/delivery/categorize/index.js +317 -0
  81. package/dist/delivery/categorize/keyboard-coordinates.d.ts +22 -0
  82. package/dist/delivery/categorize/keyboard-coordinates.js +49 -0
  83. package/dist/delivery/index.d.ts +27 -0
  84. package/dist/delivery/index.js +152 -0
  85. package/dist/index.d.ts +1 -0
  86. package/dist/index.iife.d.ts +8 -0
  87. package/dist/index.iife.js +152 -0
  88. package/dist/index.js +2 -0
  89. package/dist/runtime-support.d.ts +12 -0
  90. package/dist/runtime-support.js +12 -0
  91. package/package.json +97 -22
  92. package/CHANGELOG.json +0 -1637
  93. package/CHANGELOG.md +0 -2551
  94. package/LICENSE.md +0 -5
  95. package/README.md +0 -5
  96. package/configure/CHANGELOG.json +0 -1202
  97. package/configure/CHANGELOG.md +0 -2130
  98. package/configure/lib/__tests__/main.test.js +0 -100
  99. package/configure/lib/__tests__/utils.js +0 -39
  100. package/configure/lib/defaults.js +0 -220
  101. package/configure/lib/defaults.js.map +0 -1
  102. package/configure/lib/design/__tests__/builder.test.js +0 -34
  103. package/configure/lib/design/__tests__/buttons.test.js +0 -36
  104. package/configure/lib/design/__tests__/header.test.js +0 -37
  105. package/configure/lib/design/__tests__/index.test.js +0 -269
  106. package/configure/lib/design/__tests__/input-header.test.js +0 -41
  107. package/configure/lib/design/builder.js +0 -55
  108. package/configure/lib/design/builder.js.map +0 -1
  109. package/configure/lib/design/buttons.js +0 -59
  110. package/configure/lib/design/buttons.js.map +0 -1
  111. package/configure/lib/design/categories/RowLabel.js +0 -66
  112. package/configure/lib/design/categories/RowLabel.js.map +0 -1
  113. package/configure/lib/design/categories/__tests__/alternateResponses.test.js +0 -93
  114. package/configure/lib/design/categories/__tests__/category.test.js +0 -65
  115. package/configure/lib/design/categories/__tests__/choice-preview.test.js +0 -52
  116. package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +0 -63
  117. package/configure/lib/design/categories/__tests__/index.test.js +0 -91
  118. package/configure/lib/design/categories/alternateResponses.js +0 -116
  119. package/configure/lib/design/categories/alternateResponses.js.map +0 -1
  120. package/configure/lib/design/categories/category.js +0 -153
  121. package/configure/lib/design/categories/category.js.map +0 -1
  122. package/configure/lib/design/categories/choice-preview.js +0 -79
  123. package/configure/lib/design/categories/choice-preview.js.map +0 -1
  124. package/configure/lib/design/categories/droppable-placeholder.js +0 -93
  125. package/configure/lib/design/categories/droppable-placeholder.js.map +0 -1
  126. package/configure/lib/design/categories/index.js +0 -256
  127. package/configure/lib/design/categories/index.js.map +0 -1
  128. package/configure/lib/design/choices/__tests__/choice.test.js +0 -62
  129. package/configure/lib/design/choices/__tests__/config.test.js +0 -66
  130. package/configure/lib/design/choices/__tests__/index.test.js +0 -70
  131. package/configure/lib/design/choices/choice.js +0 -187
  132. package/configure/lib/design/choices/choice.js.map +0 -1
  133. package/configure/lib/design/choices/config.js +0 -58
  134. package/configure/lib/design/choices/config.js.map +0 -1
  135. package/configure/lib/design/choices/index.js +0 -197
  136. package/configure/lib/design/choices/index.js.map +0 -1
  137. package/configure/lib/design/header.js +0 -71
  138. package/configure/lib/design/header.js.map +0 -1
  139. package/configure/lib/design/index.js +0 -741
  140. package/configure/lib/design/index.js.map +0 -1
  141. package/configure/lib/design/input-header.js +0 -105
  142. package/configure/lib/design/input-header.js.map +0 -1
  143. package/configure/lib/design/utils.js +0 -12
  144. package/configure/lib/design/utils.js.map +0 -1
  145. package/configure/lib/index.js +0 -148
  146. package/configure/lib/index.js.map +0 -1
  147. package/configure/lib/main.js +0 -44
  148. package/configure/lib/main.js.map +0 -1
  149. package/configure/lib/utils.js +0 -43
  150. package/configure/lib/utils.js.map +0 -1
  151. package/configure/package.json +0 -32
  152. package/controller/CHANGELOG.json +0 -452
  153. package/controller/CHANGELOG.md +0 -1384
  154. package/controller/lib/__tests__/index.test.js +0 -526
  155. package/controller/lib/defaults.js +0 -31
  156. package/controller/lib/defaults.js.map +0 -1
  157. package/controller/lib/index.js +0 -506
  158. package/controller/lib/index.js.map +0 -1
  159. package/controller/lib/utils.js +0 -69
  160. package/controller/lib/utils.js.map +0 -1
  161. package/controller/package.json +0 -18
  162. package/docs/config-schema.json +0 -2897
  163. package/docs/config-schema.json.md +0 -2138
  164. package/docs/demo/.pie/.configure/package.json +0 -10
  165. package/docs/demo/.pie/.configure/yarn.lock +0 -2122
  166. package/docs/demo/.pie/.controllers/package.json +0 -10
  167. package/docs/demo/.pie/.controllers/yarn.lock +0 -110
  168. package/docs/demo/.pie/info.entry.js +0 -89
  169. package/docs/demo/.pie/info.webpack.config.js +0 -119
  170. package/docs/demo/.pie/package.json +0 -10
  171. package/docs/demo/.pie/yarn.lock +0 -2137
  172. package/docs/demo/config.js +0 -8
  173. package/docs/demo/generate.js +0 -357
  174. package/docs/demo/index.html +0 -1
  175. package/docs/demo/pie.manifest.json +0 -11
  176. package/docs/demo/session.js +0 -12
  177. package/docs/pie-schema.json +0 -1784
  178. package/docs/pie-schema.json.md +0 -1046
  179. package/lib/__tests__/index.test.js +0 -197
  180. package/lib/categorize/__tests__/categories.test.js +0 -138
  181. package/lib/categorize/__tests__/category.test.js +0 -137
  182. package/lib/categorize/__tests__/choice.test.js +0 -88
  183. package/lib/categorize/__tests__/choices.test.js +0 -118
  184. package/lib/categorize/__tests__/droppable-placeholder.test.js +0 -96
  185. package/lib/categorize/__tests__/grid-content.test.js +0 -48
  186. package/lib/categorize/__tests__/index.test.js +0 -250
  187. package/lib/categorize/categories.js +0 -135
  188. package/lib/categorize/categories.js.map +0 -1
  189. package/lib/categorize/category.js +0 -67
  190. package/lib/categorize/category.js.map +0 -1
  191. package/lib/categorize/choice.js +0 -140
  192. package/lib/categorize/choice.js.map +0 -1
  193. package/lib/categorize/choices.js +0 -99
  194. package/lib/categorize/choices.js.map +0 -1
  195. package/lib/categorize/droppable-placeholder.js +0 -84
  196. package/lib/categorize/droppable-placeholder.js.map +0 -1
  197. package/lib/categorize/grid-content.js +0 -55
  198. package/lib/categorize/grid-content.js.map +0 -1
  199. package/lib/categorize/index.js +0 -450
  200. package/lib/categorize/index.js.map +0 -1
  201. package/lib/index.js +0 -316
  202. package/lib/index.js.map +0 -1
@@ -1,197 +0,0 @@
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.Choices = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
- var _choice = _interopRequireDefault(require("./choice"));
13
- var _header = _interopRequireDefault(require("../header"));
14
- var _config = _interopRequireDefault(require("./config"));
15
- var _configUi = require("@pie-lib/config-ui");
16
- var _categorize = require("@pie-lib/categorize");
17
- const ChoicesContainer = (0, _styles.styled)('div')(({
18
- theme
19
- }) => ({
20
- marginBottom: theme.spacing(2.5)
21
- }));
22
- const ChoiceHolder = (0, _styles.styled)('div')(({
23
- theme
24
- }) => ({
25
- paddingTop: theme.spacing(1),
26
- paddingBottom: theme.spacing(1),
27
- display: 'grid',
28
- gridRowGap: theme.spacing(1),
29
- gridColumnGap: theme.spacing(1)
30
- }));
31
- const ErrorText = (0, _styles.styled)('div')(({
32
- theme
33
- }) => ({
34
- fontSize: theme.typography.fontSize - 2,
35
- color: theme.palette.error.main,
36
- paddingTop: theme.spacing(0.5)
37
- }));
38
- class Choices extends _react.default.Component {
39
- constructor(...args) {
40
- super(...args);
41
- (0, _defineProperty2.default)(this, "state", {
42
- focusedEl: null
43
- });
44
- (0, _defineProperty2.default)(this, "changeChoice", choice => {
45
- const {
46
- choices,
47
- onModelChanged
48
- } = this.props;
49
- const index = choices.findIndex(h => h.id === choice.id);
50
- if (index !== -1) {
51
- choices.splice(index, 1, choice);
52
- onModelChanged({
53
- choices
54
- });
55
- }
56
- });
57
- (0, _defineProperty2.default)(this, "allChoicesHaveCount", count => {
58
- const {
59
- choices
60
- } = this.props;
61
- return Array.isArray(choices) && choices.every(c => c.categoryCount === count);
62
- });
63
- (0, _defineProperty2.default)(this, "addChoice", () => {
64
- const {
65
- onModelChanged,
66
- model,
67
- choices: oldChoices
68
- } = this.props;
69
- let {
70
- maxAnswerChoices
71
- } = model || {};
72
- if (maxAnswerChoices && model.choices?.length >= maxAnswerChoices) {
73
- return;
74
- }
75
- const id = _configUi.choiceUtils.firstAvailableIndex(model.choices.map(a => a.id), 1);
76
- const data = {
77
- id,
78
- content: 'Choice ' + id
79
- };
80
- this.setState({
81
- focusedEl: oldChoices.length
82
- }, () => {
83
- onModelChanged({
84
- choices: model.choices.concat([data])
85
- });
86
- });
87
- });
88
- (0, _defineProperty2.default)(this, "deleteFocusedEl", () => {
89
- this.setState({
90
- focusedEl: null
91
- });
92
- });
93
- (0, _defineProperty2.default)(this, "deleteChoice", choice => {
94
- const {
95
- model,
96
- onModelChanged
97
- } = this.props;
98
- const index = model.choices.findIndex(a => a.id === choice.id);
99
- if (index !== -1) {
100
- model.choices.splice(index, 1);
101
- model.correctResponse = (0, _categorize.removeAllChoices)(choice.id, model.correctResponse);
102
- onModelChanged(model);
103
- }
104
- });
105
- }
106
- render() {
107
- const {
108
- focusedEl
109
- } = this.state;
110
- const {
111
- choices,
112
- model,
113
- imageSupport,
114
- uploadSoundSupport,
115
- onModelChanged,
116
- spellCheck,
117
- toolbarOpts,
118
- configuration,
119
- defaultImageMaxWidth,
120
- defaultImageMaxHeight
121
- } = this.props;
122
- const {
123
- errors,
124
- allowMultiplePlacementsEnabled,
125
- lockChoiceOrder,
126
- maxAnswerChoices
127
- } = model;
128
- const {
129
- choicesError,
130
- choicesErrors
131
- } = errors || {};
132
- const {
133
- maxImageWidth = {},
134
- maxImageHeight = {}
135
- } = configuration || {};
136
- const choiceHolderStyle = {
137
- gridTemplateColumns: `repeat(${model.categoriesPerRow}, 1fr)`
138
- };
139
- const addChoiceButtonTooltip = maxAnswerChoices && choices?.length >= maxAnswerChoices ? `Only ${maxAnswerChoices} allowed maximum` : '';
140
- return /*#__PURE__*/_react.default.createElement(ChoicesContainer, null, /*#__PURE__*/_react.default.createElement(_header.default, {
141
- label: "Choices",
142
- buttonLabel: "ADD A CHOICE",
143
- onAdd: this.addChoice,
144
- buttonDisabled: maxAnswerChoices && choices && choices?.length >= maxAnswerChoices,
145
- tooltip: addChoiceButtonTooltip
146
- }), /*#__PURE__*/_react.default.createElement(_config.default, {
147
- config: model,
148
- onModelChanged: onModelChanged,
149
- spellCheck: spellCheck
150
- }), /*#__PURE__*/_react.default.createElement(ChoiceHolder, {
151
- style: choiceHolderStyle
152
- }, choices.map((h, index) => {
153
- return /*#__PURE__*/_react.default.createElement(_choice.default, {
154
- key: h.id,
155
- choice: h,
156
- focusedEl: focusedEl,
157
- deleteFocusedEl: this.deleteFocusedEl,
158
- correctResponseCount: h.correctResponseCount,
159
- allowMultiplePlacements: allowMultiplePlacementsEnabled,
160
- lockChoiceOrder: lockChoiceOrder,
161
- index: index,
162
- imageSupport: imageSupport,
163
- onChange: this.changeChoice,
164
- onDelete: () => this.deleteChoice(h),
165
- toolbarOpts: toolbarOpts,
166
- spellCheck: spellCheck,
167
- error: choicesErrors && choicesErrors[h.id],
168
- maxImageWidth: maxImageWidth && maxImageWidth.choice || defaultImageMaxWidth,
169
- maxImageHeight: maxImageHeight && maxImageHeight.choice || defaultImageMaxHeight,
170
- uploadSoundSupport: uploadSoundSupport,
171
- configuration: configuration
172
- });
173
- })), choicesError && /*#__PURE__*/_react.default.createElement(ErrorText, null, choicesError));
174
- }
175
- }
176
- exports.Choices = Choices;
177
- (0, _defineProperty2.default)(Choices, "propTypes", {
178
- model: _propTypes.default.object.isRequired,
179
- configuration: _propTypes.default.object.isRequired,
180
- choices: _propTypes.default.array.isRequired,
181
- defaultImageMaxWidth: _propTypes.default.number,
182
- defaultImageMaxHeight: _propTypes.default.number,
183
- onModelChanged: _propTypes.default.func.isRequired,
184
- imageSupport: _propTypes.default.shape({
185
- add: _propTypes.default.func.isRequired,
186
- delete: _propTypes.default.func.isRequired
187
- }),
188
- uploadSoundSupport: _propTypes.default.shape({
189
- add: _propTypes.default.func.isRequired,
190
- delete: _propTypes.default.func.isRequired
191
- }),
192
- toolbarOpts: _propTypes.default.object,
193
- spellCheck: _propTypes.default.bool
194
- });
195
- (0, _defineProperty2.default)(Choices, "defaultProps", {});
196
- var _default = exports.default = Choices;
197
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_choice","_header","_config","_configUi","_categorize","ChoicesContainer","styled","theme","marginBottom","spacing","ChoiceHolder","paddingTop","paddingBottom","display","gridRowGap","gridColumnGap","ErrorText","fontSize","typography","color","palette","error","main","Choices","React","Component","constructor","args","_defineProperty2","default","focusedEl","choice","choices","onModelChanged","props","index","findIndex","h","id","splice","count","Array","isArray","every","c","categoryCount","model","oldChoices","maxAnswerChoices","length","utils","firstAvailableIndex","map","a","data","content","setState","concat","correctResponse","removeAllChoices","render","state","imageSupport","uploadSoundSupport","spellCheck","toolbarOpts","configuration","defaultImageMaxWidth","defaultImageMaxHeight","errors","allowMultiplePlacementsEnabled","lockChoiceOrder","choicesError","choicesErrors","maxImageWidth","maxImageHeight","choiceHolderStyle","gridTemplateColumns","categoriesPerRow","addChoiceButtonTooltip","createElement","label","buttonLabel","onAdd","addChoice","buttonDisabled","tooltip","config","style","key","deleteFocusedEl","correctResponseCount","allowMultiplePlacements","onChange","changeChoice","onDelete","deleteChoice","exports","PropTypes","object","isRequired","array","number","func","shape","add","delete","bool","_default"],"sources":["../../../src/design/choices/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Choice from './choice';\nimport Header from '../header';\nimport Config from './config';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport { removeAllChoices } from '@pie-lib/categorize';\n\nconst ChoicesContainer = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n}));\n\nconst ChoiceHolder = styled('div')(({ theme }) => ({\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n display: 'grid',\n gridRowGap: theme.spacing(1),\n gridColumnGap: theme.spacing(1),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(0.5),\n}));\n\nexport class Choices extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n choices: PropTypes.array.isRequired,\n defaultImageMaxWidth: PropTypes.number,\n defaultImageMaxHeight: PropTypes.number,\n onModelChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n toolbarOpts: PropTypes.object,\n spellCheck: PropTypes.bool,\n };\n\n static defaultProps = {};\n\n state = {\n focusedEl: null,\n };\n\n changeChoice = (choice) => {\n const { choices, onModelChanged } = this.props;\n const index = choices.findIndex((h) => h.id === choice.id);\n if (index !== -1) {\n choices.splice(index, 1, choice);\n onModelChanged({ choices });\n }\n };\n\n allChoicesHaveCount = (count) => {\n const { choices } = this.props;\n return Array.isArray(choices) && choices.every((c) => c.categoryCount === count);\n };\n\n addChoice = () => {\n const { onModelChanged, model, choices: oldChoices } = this.props;\n let { maxAnswerChoices } = model || {};\n\n if (maxAnswerChoices && model.choices?.length >= maxAnswerChoices) {\n return;\n }\n\n const id = utils.firstAvailableIndex(\n model.choices.map((a) => a.id),\n 1,\n );\n const data = { id, content: 'Choice ' + id };\n\n this.setState(\n {\n focusedEl: oldChoices.length,\n },\n () => {\n onModelChanged({ choices: model.choices.concat([data]) });\n },\n );\n };\n\n deleteFocusedEl = () => {\n this.setState({\n focusedEl: null,\n });\n };\n\n deleteChoice = (choice) => {\n const { model, onModelChanged } = this.props;\n const index = model.choices.findIndex((a) => a.id === choice.id);\n if (index !== -1) {\n model.choices.splice(index, 1);\n model.correctResponse = removeAllChoices(choice.id, model.correctResponse);\n onModelChanged(model);\n }\n };\n\n render() {\n const { focusedEl } = this.state;\n const {\n choices,\n model,\n imageSupport,\n uploadSoundSupport,\n onModelChanged,\n spellCheck,\n toolbarOpts,\n configuration,\n defaultImageMaxWidth,\n defaultImageMaxHeight,\n } = this.props;\n const { errors, allowMultiplePlacementsEnabled, lockChoiceOrder, maxAnswerChoices } = model;\n const { choicesError, choicesErrors } = errors || {};\n const { maxImageWidth = {}, maxImageHeight = {} } = configuration || {};\n const choiceHolderStyle = {\n gridTemplateColumns: `repeat(${model.categoriesPerRow}, 1fr)`,\n };\n const addChoiceButtonTooltip =\n maxAnswerChoices && choices?.length >= maxAnswerChoices ? `Only ${maxAnswerChoices} allowed maximum` : '';\n\n return (\n <ChoicesContainer>\n <Header\n label=\"Choices\"\n buttonLabel=\"ADD A CHOICE\"\n onAdd={this.addChoice}\n buttonDisabled={maxAnswerChoices && choices && choices?.length >= maxAnswerChoices}\n tooltip={addChoiceButtonTooltip}\n />\n\n <Config config={model} onModelChanged={onModelChanged} spellCheck={spellCheck} />\n\n <ChoiceHolder style={choiceHolderStyle}>\n {choices.map((h, index) => {\n return (\n <Choice\n key={h.id}\n choice={h}\n focusedEl={focusedEl}\n deleteFocusedEl={this.deleteFocusedEl}\n correctResponseCount={h.correctResponseCount}\n allowMultiplePlacements={allowMultiplePlacementsEnabled}\n lockChoiceOrder={lockChoiceOrder}\n index={index}\n imageSupport={imageSupport}\n onChange={this.changeChoice}\n onDelete={() => this.deleteChoice(h)}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n error={choicesErrors && choicesErrors[h.id]}\n maxImageWidth={(maxImageWidth && maxImageWidth.choice) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.choice) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n configuration={configuration}\n />\n );\n })}\n </ChoiceHolder>\n {choicesError && <ErrorText>{choicesError}</ErrorText>}\n </ChoicesContainer>\n );\n }\n}\n\nexport default Choices;\n"],"mappings":"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","ignoreList":[]}
@@ -1,71 +0,0 @@
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.Header = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
12
- var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
13
- var _styles = require("@mui/material/styles");
14
- var _buttons = require("./buttons");
15
- const HeaderContainer = (0, _styles.styled)('div')(({
16
- theme
17
- }) => ({
18
- display: 'flex',
19
- justifyContent: 'space-between',
20
- marginBottom: theme.spacing(1)
21
- }));
22
- const TitleContainer = (0, _styles.styled)('div')({
23
- display: 'flex',
24
- alignItems: 'center'
25
- });
26
- const StyledTooltip = (0, _styles.styled)(_Tooltip.default)(({
27
- theme
28
- }) => ({
29
- '& .MuiTooltip-tooltip': {
30
- fontSize: theme.typography.fontSize - 2,
31
- whiteSpace: 'pre',
32
- maxWidth: '500px'
33
- }
34
- }));
35
- class Header extends _react.default.Component {
36
- render() {
37
- const {
38
- onAdd,
39
- label,
40
- buttonLabel,
41
- info,
42
- buttonDisabled,
43
- variant,
44
- tooltip
45
- } = this.props;
46
- return /*#__PURE__*/_react.default.createElement(HeaderContainer, null, /*#__PURE__*/_react.default.createElement(TitleContainer, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
47
- variant: variant || 'title'
48
- }, label), info), /*#__PURE__*/_react.default.createElement(StyledTooltip, {
49
- title: tooltip || '',
50
- enterTouchDelay: 50,
51
- leaveTouchDelay: 3000
52
- }, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_buttons.AddButton, {
53
- onClick: onAdd,
54
- label: buttonLabel,
55
- disabled: buttonDisabled
56
- }))));
57
- }
58
- }
59
- exports.Header = Header;
60
- (0, _defineProperty2.default)(Header, "propTypes", {
61
- buttonLabel: _propTypes.default.string,
62
- onAdd: _propTypes.default.func.isRequired,
63
- label: _propTypes.default.string.isRequired,
64
- info: _propTypes.default.any,
65
- buttonDisabled: _propTypes.default.bool,
66
- variant: _propTypes.default.string,
67
- tooltip: _propTypes.default.string
68
- });
69
- (0, _defineProperty2.default)(Header, "defaultProps", {});
70
- var _default = exports.default = Header;
71
- //# sourceMappingURL=header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"header.js","names":["_react","_interopRequireDefault","require","_propTypes","_Tooltip","_Typography","_styles","_buttons","HeaderContainer","styled","theme","display","justifyContent","marginBottom","spacing","TitleContainer","alignItems","StyledTooltip","Tooltip","fontSize","typography","whiteSpace","maxWidth","Header","React","Component","render","onAdd","label","buttonLabel","info","buttonDisabled","variant","tooltip","props","default","createElement","title","enterTouchDelay","leaveTouchDelay","AddButton","onClick","disabled","exports","_defineProperty2","PropTypes","string","func","isRequired","any","bool","_default"],"sources":["../../src/design/header.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport { styled } from '@mui/material/styles';\nimport { AddButton } from './buttons';\n\nconst HeaderContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n marginBottom: theme.spacing(1),\n}));\n\nconst TitleContainer = styled('div')({\n display: 'flex',\n alignItems: 'center',\n});\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n '& .MuiTooltip-tooltip': {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n}));\n\nexport class Header extends React.Component {\n static propTypes = {\n buttonLabel: PropTypes.string,\n onAdd: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n info: PropTypes.any,\n buttonDisabled: PropTypes.bool,\n variant: PropTypes.string,\n tooltip: PropTypes.string,\n };\n\n static defaultProps = {};\n\n render() {\n const { onAdd, label, buttonLabel, info, buttonDisabled, variant, tooltip } = this.props;\n return (\n <HeaderContainer>\n <TitleContainer>\n <Typography variant={variant || 'title'}>\n {label}\n </Typography>\n {info}\n </TitleContainer>\n <StyledTooltip\n title={tooltip || ''}\n enterTouchDelay={50}\n leaveTouchDelay={3000}\n >\n <span>\n <AddButton onClick={onAdd} label={buttonLabel} disabled={buttonDisabled} />\n </span>\n </StyledTooltip>\n </HeaderContainer>\n );\n }\n}\n\nexport default Header;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAEA,MAAMM,eAAe,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EACpDC,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE,eAAe;EAC/BC,YAAY,EAAEH,KAAK,CAACI,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,MAAMC,cAAc,GAAG,IAAAN,cAAM,EAAC,KAAK,CAAC,CAAC;EACnCE,OAAO,EAAE,MAAM;EACfK,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,MAAMC,aAAa,GAAG,IAAAR,cAAM,EAACS,gBAAO,CAAC,CAAC,CAAC;EAAER;AAAM,CAAC,MAAM;EACpD,uBAAuB,EAAE;IACvBS,QAAQ,EAAET,KAAK,CAACU,UAAU,CAACD,QAAQ,GAAG,CAAC;IACvCE,UAAU,EAAE,KAAK;IACjBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC,CAAC;AAEI,MAAMC,MAAM,SAASC,cAAK,CAACC,SAAS,CAAC;EAa1CC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,KAAK;MAAEC,WAAW;MAAEC,IAAI;MAAEC,cAAc;MAAEC,OAAO;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACC,KAAK;IACxF,oBACElC,MAAA,CAAAmC,OAAA,CAAAC,aAAA,CAAC5B,eAAe,qBACdR,MAAA,CAAAmC,OAAA,CAAAC,aAAA,CAACrB,cAAc,qBACbf,MAAA,CAAAmC,OAAA,CAAAC,aAAA,CAAC/B,WAAA,CAAA8B,OAAU;MAACH,OAAO,EAAEA,OAAO,IAAI;IAAQ,GACrCJ,KACS,CAAC,EACZE,IACa,CAAC,eACjB9B,MAAA,CAAAmC,OAAA,CAAAC,aAAA,CAACnB,aAAa;MACVoB,KAAK,EAAEJ,OAAO,IAAI,EAAG;MACrBK,eAAe,EAAE,EAAG;MACpBC,eAAe,EAAE;IAAK,gBAExBvC,MAAA,CAAAmC,OAAA,CAAAC,aAAA,4BACEpC,MAAA,CAAAmC,OAAA,CAAAC,aAAA,CAAC7B,QAAA,CAAAiC,SAAS;MAACC,OAAO,EAAEd,KAAM;MAACC,KAAK,EAAEC,WAAY;MAACa,QAAQ,EAAEX;IAAe,CAAE,CACtE,CACO,CACA,CAAC;EAEtB;AACF;AAACY,OAAA,CAAApB,MAAA,GAAAA,MAAA;AAAA,IAAAqB,gBAAA,CAAAT,OAAA,EAnCYZ,MAAM,eACE;EACjBM,WAAW,EAAEgB,kBAAS,CAACC,MAAM;EAC7BnB,KAAK,EAAEkB,kBAAS,CAACE,IAAI,CAACC,UAAU;EAChCpB,KAAK,EAAEiB,kBAAS,CAACC,MAAM,CAACE,UAAU;EAClClB,IAAI,EAAEe,kBAAS,CAACI,GAAG;EACnBlB,cAAc,EAAEc,kBAAS,CAACK,IAAI;EAC9BlB,OAAO,EAAEa,kBAAS,CAACC,MAAM;EACzBb,OAAO,EAAEY,kBAAS,CAACC;AACrB,CAAC;AAAA,IAAAF,gBAAA,CAAAT,OAAA,EATUZ,MAAM,kBAWK,CAAC,CAAC;AAAA,IAAA4B,QAAA,GAAAR,OAAA,CAAAR,OAAA,GA0BXZ,MAAM","ignoreList":[]}