@pie-lib/mask-markup 2.0.0-beta.1 → 2.0.0-next.0

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 (67) hide show
  1. package/CHANGELOG.json +1 -871
  2. package/CHANGELOG.md +434 -32
  3. package/LICENSE.md +5 -0
  4. package/NEXT.CHANGELOG.json +1 -0
  5. package/lib/choices/choice.js +101 -129
  6. package/lib/choices/choice.js.map +1 -1
  7. package/lib/choices/index.js +28 -48
  8. package/lib/choices/index.js.map +1 -1
  9. package/lib/componentize.js +2 -6
  10. package/lib/componentize.js.map +1 -1
  11. package/lib/components/blank.js +315 -246
  12. package/lib/components/blank.js.map +1 -1
  13. package/lib/components/correct-input.js +47 -66
  14. package/lib/components/correct-input.js.map +1 -1
  15. package/lib/components/dropdown.js +399 -156
  16. package/lib/components/dropdown.js.map +1 -1
  17. package/lib/components/input.js +15 -19
  18. package/lib/components/input.js.map +1 -1
  19. package/lib/constructed-response.js +81 -28
  20. package/lib/constructed-response.js.map +1 -1
  21. package/lib/customizable.js +44 -0
  22. package/lib/customizable.js.map +1 -0
  23. package/lib/drag-in-the-blank.js +160 -96
  24. package/lib/drag-in-the-blank.js.map +1 -1
  25. package/lib/index.js +8 -7
  26. package/lib/index.js.map +1 -1
  27. package/lib/inline-dropdown.js +10 -14
  28. package/lib/inline-dropdown.js.map +1 -1
  29. package/lib/mask.js +93 -101
  30. package/lib/mask.js.map +1 -1
  31. package/lib/serialization.js +36 -81
  32. package/lib/serialization.js.map +1 -1
  33. package/lib/with-mask.js +53 -49
  34. package/lib/with-mask.js.map +1 -1
  35. package/package.json +26 -15
  36. package/src/__tests__/drag-in-the-blank.test.js +111 -0
  37. package/src/__tests__/index.test.js +39 -0
  38. package/src/__tests__/mask.test.js +187 -0
  39. package/src/__tests__/serialization.test.js +54 -0
  40. package/src/__tests__/utils.js +1 -0
  41. package/src/__tests__/with-mask.test.js +76 -0
  42. package/src/choices/__tests__/index.test.js +75 -0
  43. package/src/choices/choice.jsx +84 -83
  44. package/src/choices/index.jsx +25 -15
  45. package/src/components/__tests__/blank.test.js +138 -0
  46. package/src/components/__tests__/correct-input.test.js +90 -0
  47. package/src/components/__tests__/dropdown.test.js +93 -0
  48. package/src/components/__tests__/input.test.js +102 -0
  49. package/src/components/blank.jsx +319 -195
  50. package/src/components/correct-input.jsx +45 -46
  51. package/src/components/dropdown.jsx +374 -139
  52. package/src/components/input.jsx +6 -3
  53. package/src/constructed-response.jsx +81 -18
  54. package/src/customizable.jsx +35 -0
  55. package/src/drag-in-the-blank.jsx +159 -47
  56. package/src/index.js +3 -1
  57. package/src/inline-dropdown.jsx +6 -3
  58. package/src/mask.jsx +75 -30
  59. package/src/serialization.js +37 -44
  60. package/src/with-mask.jsx +36 -3
  61. package/README.md +0 -14
  62. package/lib/new-serialization.js +0 -320
  63. package/lib/parse-html.js +0 -16
  64. package/lib/test-serializer.js +0 -215
  65. package/src/new-serialization.jsx +0 -291
  66. package/src/parse-html.js +0 -8
  67. package/src/test-serializer.js +0 -163
@@ -1,216 +1,459 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
22
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
14
  var _react = _interopRequireDefault(require("react"));
25
-
26
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
29
-
30
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
31
-
32
- var _correctInput = _interopRequireDefault(require("./correct-input"));
33
-
34
- var _styles = require("@material-ui/core/styles");
35
-
16
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
17
+ var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
18
+ var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
19
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
20
+ var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
21
+ var _ArrowDropUp = _interopRequireDefault(require("@mui/icons-material/ArrowDropUp"));
22
+ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
23
+ var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
24
+ var _styles = require("@mui/material/styles");
36
25
  var _renderUi = require("@pie-lib/render-ui");
37
-
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
-
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
-
26
+ var _mathRendering = require("@pie-lib/math-rendering");
27
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
30
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
31
+ var StyledButton = (0, _styles.styled)(_Button["default"])(function () {
32
+ return {
33
+ color: _renderUi.color.text(),
34
+ border: "1px solid ".concat(_renderUi.color.borderGray()),
35
+ borderRadius: '4px',
36
+ justifyContent: 'space-between',
37
+ backgroundColor: _renderUi.color.background(),
38
+ position: 'relative',
39
+ height: '45px',
40
+ width: 'fit-content',
41
+ margin: '2px',
42
+ textTransform: 'none',
43
+ '& span': {
44
+ paddingRight: '5px'
45
+ },
46
+ '& svg': {
47
+ position: 'absolute',
48
+ right: 0,
49
+ top: 'calc(50% - 12px)',
50
+ pointerEvents: 'none',
51
+ color: _renderUi.color.text(),
52
+ marginLeft: '5px'
53
+ },
54
+ '&.Mui-focused': {
55
+ outline: "3px solid ".concat(_renderUi.color.tertiary()),
56
+ outlineOffset: '2px',
57
+ borderWidth: '3px'
58
+ },
59
+ '&.disabledCorrect': {
60
+ borderWidth: '2px',
61
+ borderColor: _renderUi.color.correct(),
62
+ color: "".concat(_renderUi.color.text(), " !important")
63
+ },
64
+ '&.disabledIncorrect': {
65
+ borderWidth: '2px',
66
+ borderColor: _renderUi.color.incorrectWithIcon(),
67
+ color: "".concat(_renderUi.color.text(), " !important")
68
+ }
69
+ };
70
+ });
71
+ var StyledMenu = (0, _styles.styled)(_Menu["default"])(function () {
72
+ return {
73
+ backgroundColor: _renderUi.color.background(),
74
+ border: "1px solid ".concat(_renderUi.color.correct(), " !important"),
75
+ '&:hover': {
76
+ border: "1px solid ".concat(_renderUi.color.text(), " "),
77
+ borderColor: 'initial'
78
+ },
79
+ '&:focus': {
80
+ border: "1px solid ".concat(_renderUi.color.text()),
81
+ borderColor: 'initial'
82
+ },
83
+ // remove default padding on the inner list
84
+ '& .MuiList-root': {
85
+ padding: 0
86
+ }
87
+ };
88
+ });
89
+ var StyledMenuItem = (0, _styles.styled)(_MenuItem["default"])(function () {
90
+ return {
91
+ color: _renderUi.color.text(),
92
+ backgroundColor: _renderUi.color.background(),
93
+ '&.Mui-focused': {
94
+ outline: "3px solid ".concat(_renderUi.color.tertiary()),
95
+ outlineOffset: '-1px',
96
+ // keeps it inside the item
97
+ color: _renderUi.color.text(),
98
+ backgroundColor: _renderUi.color.background()
99
+ },
100
+ '&:hover': {
101
+ color: _renderUi.color.text(),
102
+ backgroundColor: _renderUi.color.dropdownBackground()
103
+ },
104
+ boxSizing: 'border-box',
105
+ padding: '25px',
106
+ borderRadius: '4px',
107
+ '&.selected': {
108
+ color: "".concat(_renderUi.color.text(), " !important"),
109
+ backgroundColor: "".concat(_renderUi.color.background(), " !important"),
110
+ '&:hover': {
111
+ color: _renderUi.color.text(),
112
+ backgroundColor: "".concat(_renderUi.color.dropdownBackground(), " !important")
113
+ }
114
+ }
115
+ };
116
+ });
117
+ var StyledLabel = (0, _styles.styled)('span')(function () {
118
+ return {
119
+ fontSize: 'max(1rem, 14px)'
120
+ };
121
+ });
122
+ var StyledSelectedIndicator = (0, _styles.styled)('span')(function () {
123
+ return {
124
+ fontSize: 'max(1rem, 14px)',
125
+ position: 'absolute',
126
+ right: '10px'
127
+ };
128
+ });
129
+ var StyledInputLabel = (0, _styles.styled)(_InputLabel["default"])(function () {
130
+ return {
131
+ position: 'absolute',
132
+ left: '-10000px',
133
+ top: 'auto',
134
+ width: '1px',
135
+ height: '1px',
136
+ overflow: 'hidden'
137
+ };
138
+ });
139
+ var StyledCorrectnessIcon = (0, _styles.styled)(_Check["default"])(function () {
140
+ return {
141
+ color: "".concat(_renderUi.color.white(), " !important"),
142
+ position: 'absolute',
143
+ top: '-8px !important',
144
+ left: '-8px',
145
+ marginLeft: '0 !important',
146
+ borderRadius: '50%',
147
+ fontSize: '16px',
148
+ padding: '2px',
149
+ '&.correct': {
150
+ backgroundColor: _renderUi.color.correct()
151
+ },
152
+ '&.incorrect': {
153
+ backgroundColor: _renderUi.color.incorrectWithIcon()
154
+ }
155
+ };
156
+ });
157
+ var StyledIncorrectnessIcon = (0, _styles.styled)(_Close["default"])(function () {
158
+ return {
159
+ color: "".concat(_renderUi.color.white(), " !important"),
160
+ position: 'absolute',
161
+ top: '-8px !important',
162
+ left: '-8px',
163
+ marginLeft: '0 !important',
164
+ borderRadius: '50%',
165
+ fontSize: '16px',
166
+ padding: '2px',
167
+ '&.correct': {
168
+ backgroundColor: _renderUi.color.correct()
169
+ },
170
+ '&.incorrect': {
171
+ backgroundColor: _renderUi.color.incorrectWithIcon()
172
+ }
173
+ };
174
+ });
42
175
  var Dropdown = /*#__PURE__*/function (_React$Component) {
43
- (0, _inherits2["default"])(Dropdown, _React$Component);
44
-
45
- var _super = _createSuper(Dropdown);
46
-
47
176
  function Dropdown(props) {
48
177
  var _this;
49
-
50
178
  (0, _classCallCheck2["default"])(this, Dropdown);
51
- _this = _super.call(this, props);
52
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showCheckmarkAndOpen", function () {
179
+ _this = _callSuper(this, Dropdown, [props]);
180
+ (0, _defineProperty2["default"])(_this, "handleClick", function (event) {
181
+ return _this.setState({
182
+ anchorEl: event.currentTarget
183
+ });
184
+ });
185
+ (0, _defineProperty2["default"])(_this, "handleClose", function () {
186
+ var value = _this.props.value;
53
187
  _this.setState({
54
- showCheckmark: true,
55
- open: true
188
+ anchorEl: null,
189
+ previewValue: null,
190
+ highlightedOptionId: null
56
191
  });
192
+ // clear displayed preview if no selection
193
+ if (!value && _this.previewRef.current) {
194
+ _this.previewRef.current.innerHTML = '';
195
+ }
57
196
  });
58
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideCheckmarkAndClose", function () {
197
+ (0, _defineProperty2["default"])(_this, "handleHighlight", function (index) {
198
+ var highlightedOptionId = "dropdown-option-".concat(_this.props.id, "-").concat(index);
199
+
200
+ // preview on hover if nothing selected
201
+ var stateUpdate = {
202
+ highlightedOptionId: highlightedOptionId
203
+ };
204
+ if (!_this.props.value) {
205
+ stateUpdate.previewValue = _this.props.choices[index].value;
206
+ }
207
+ _this.setState(stateUpdate);
208
+ });
209
+ (0, _defineProperty2["default"])(_this, "handleSelect", function (value, index) {
210
+ _this.props.onChange(_this.props.id, value);
211
+ _this.handleHighlight(index);
212
+ _this.handleClose();
213
+ });
214
+ (0, _defineProperty2["default"])(_this, "handleHover", function (index) {
215
+ var selectedValue = _this.props.value;
216
+ if (selectedValue) return;
217
+ var highlightedOptionId = "dropdown-option-".concat(_this.props.id, "-").concat(index);
218
+ var previewValue = _this.state.previewValue;
59
219
  _this.setState({
60
- showCheckmark: false,
61
- open: false
220
+ highlightedOptionId: highlightedOptionId,
221
+ previewValue: previewValue
222
+ }, function () {
223
+ // On hover, preview the math-rendered content inside the button if no value is selected.
224
+ var ref = _this.elementRefs[index];
225
+ var preview = _this.previewRef.current;
226
+ if (ref && preview) {
227
+ preview.innerHTML = ref.innerHTML;
228
+ }
62
229
  });
63
230
  });
64
231
  _this.state = {
65
- showCheckmark: false,
66
- open: false
232
+ anchorEl: null,
233
+ highlightedOptionId: null,
234
+ menuWidth: null,
235
+ previewValue: null
67
236
  };
237
+ _this.hiddenRef = /*#__PURE__*/_react["default"].createRef();
238
+ _this.buttonRef = /*#__PURE__*/_react["default"].createRef();
239
+ _this.previewRef = /*#__PURE__*/_react["default"].createRef();
240
+ _this.elementRefs = [];
68
241
  return _this;
69
242
  }
70
-
71
- (0, _createClass2["default"])(Dropdown, [{
243
+ (0, _inherits2["default"])(Dropdown, _React$Component);
244
+ return (0, _createClass2["default"])(Dropdown, [{
245
+ key: "componentDidMount",
246
+ value: function componentDidMount() {
247
+ // measure hidden menu width once
248
+ if (this.hiddenRef.current && this.state.menuWidth === null) {
249
+ this.setState({
250
+ menuWidth: this.hiddenRef.current.clientWidth
251
+ });
252
+ }
253
+ }
254
+ }, {
255
+ key: "componentDidUpdate",
256
+ value: function componentDidUpdate(prevProps, prevState) {
257
+ var hiddenEl = this.hiddenRef.current;
258
+ var dropdownJustOpened = !prevState.anchorEl && this.state.anchorEl;
259
+ if (dropdownJustOpened) {
260
+ this.elementRefs.forEach(function (ref) {
261
+ if (!ref) return;
262
+ var containsLatex = ref.querySelector('[data-latex], [data-raw]');
263
+ var hasMathJax = ref.querySelector('mjx-container');
264
+ var mathHandled = ref.querySelector('[data-math-handled="true"]');
265
+ if (containsLatex && (!mathHandled || !hasMathJax)) {
266
+ (0, _mathRendering.renderMath)(ref);
267
+ }
268
+ });
269
+ }
270
+ if (hiddenEl) {
271
+ var newWidth = hiddenEl.clientWidth;
272
+ if (newWidth !== this.state.menuWidth) {
273
+ this.elementRefs.forEach(function (ref) {
274
+ if (ref) (0, _mathRendering.renderMath)(ref);
275
+ });
276
+ (0, _mathRendering.renderMath)(hiddenEl);
277
+ this.setState({
278
+ menuWidth: newWidth
279
+ });
280
+ }
281
+ }
282
+ }
283
+ }, {
284
+ key: "getLabel",
285
+ value: function getLabel(choices, value) {
286
+ var found = (choices || []).find(function (choice) {
287
+ return choice.value === value;
288
+ });
289
+ return found ? found.label.trim() : undefined;
290
+ }
291
+ }, {
72
292
  key: "render",
73
293
  value: function render() {
294
+ var _this2 = this;
74
295
  var _this$props = this.props,
75
- classes = _this$props.classes,
76
- id = _this$props.id,
77
- correct = _this$props.correct,
78
- disabled = _this$props.disabled,
79
- value = _this$props.value,
80
- _onChange = _this$props.onChange,
81
- choices = _this$props.choices,
82
- showCorrectAnswer = _this$props.showCorrectAnswer;
83
- var _this$state = this.state,
84
- showCheckmark = _this$state.showCheckmark,
85
- open = _this$state.open;
86
- return /*#__PURE__*/_react["default"].createElement(_Select["default"], {
87
- classes: {
88
- root: classes.root,
89
- icon: classes.icon,
90
- selectMenu: classes.selectMenu,
91
- select: classes.select
296
+ id = _this$props.id,
297
+ correct = _this$props.correct,
298
+ disabled = _this$props.disabled,
299
+ value = _this$props.value,
300
+ choices = _this$props.choices,
301
+ showCorrectAnswer = _this$props.showCorrectAnswer,
302
+ singleQuery = _this$props.singleQuery,
303
+ correctValue = _this$props.correctValue;
304
+ var anchorEl = this.state.anchorEl;
305
+ var open = Boolean(anchorEl);
306
+ var buttonId = "dropdown-button-".concat(id);
307
+ var menuId = "dropdown-menu-".concat(id);
308
+ var valueDisplayId = "dropdown-value-".concat(id);
309
+
310
+ // Determine the class for disabled state, view mode and evaluate mode
311
+ var disabledClass;
312
+ // Reset elementRefs before each render to avoid stale references
313
+ this.elementRefs = [];
314
+ if (disabled && correct !== undefined) {
315
+ disabledClass = correct || showCorrectAnswer ? 'disabledCorrect' : 'disabledIncorrect';
316
+ }
317
+
318
+ // Create distinct, visually hidden labels for each dropdown
319
+ var incrementedId = parseInt(id, 10) + 1;
320
+ var labelId = singleQuery ? 'Query-label' : "Query-label-".concat(incrementedId);
321
+ var labelText = singleQuery ? 'Query' : "Query ".concat(incrementedId);
322
+
323
+ // Changed from Select to Button for dropdown to enhance accessibility. This modification offers explicit control over aria attributes and focuses management, ensuring the dropdown is compliant with accessibility standards. The use of Button and Menu components allows for better handling of keyboard interactions and provides accessible labels and menus, aligning with WCAG guidelines and improving usability for assistive technology users.
324
+ var correctnessIcon = null;
325
+ if (disabled && correct !== undefined) {
326
+ correctnessIcon = correct || showCorrectAnswer ? /*#__PURE__*/_react["default"].createElement(StyledCorrectnessIcon, {
327
+ className: "correct"
328
+ }) : /*#__PURE__*/_react["default"].createElement(StyledIncorrectnessIcon, {
329
+ className: "incorrect"
330
+ });
331
+ }
332
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
333
+ ref: this.hiddenRef,
334
+ style: {
335
+ position: 'absolute',
336
+ visibility: 'hidden',
337
+ top: 0,
338
+ left: 0
92
339
  },
340
+ tabIndex: -1,
341
+ "aria-hidden": "true"
342
+ }, (choices || []).map(function (c, index) {
343
+ return /*#__PURE__*/_react["default"].createElement(StyledMenuItem, {
344
+ key: index,
345
+ tabIndex: -1,
346
+ "aria-hidden": "true"
347
+ }, /*#__PURE__*/_react["default"].createElement(StyledLabel, {
348
+ dangerouslySetInnerHTML: {
349
+ __html: c.label
350
+ }
351
+ }));
352
+ })), /*#__PURE__*/_react["default"].createElement(StyledInputLabel, {
353
+ id: labelId,
354
+ tabIndex: -1,
355
+ "aria-hidden": "true"
356
+ }, labelText), /*#__PURE__*/_react["default"].createElement(StyledButton, {
357
+ ref: this.buttonRef,
358
+ style: _objectSpread(_objectSpread({}, this.state.menuWidth && {
359
+ minWidth: "calc(".concat(this.state.menuWidth, "px + 8px)")
360
+ }), {}, {
361
+ borderWidth: open ? '2px' : '1px',
362
+ transition: 'border-width 0.2s ease-in-out'
363
+ }),
364
+ "aria-controls": open ? menuId : undefined,
365
+ "aria-haspopup": "listbox",
366
+ "aria-expanded": open ? 'true' : undefined,
367
+ "aria-activedescendant": this.state.highlightedOptionId,
368
+ onClick: this.handleClick,
369
+ className: disabledClass,
93
370
  disabled: disabled,
94
- value: value || '',
95
- onOpen: this.showCheckmarkAndOpen,
96
- onClose: this.hideCheckmarkAndClose,
371
+ id: buttonId,
372
+ role: "combobox",
373
+ "aria-label": "Select an option for ".concat(labelText),
374
+ "aria-labelledby": valueDisplayId
375
+ }, correctnessIcon, /*#__PURE__*/_react["default"].createElement(StyledLabel, {
376
+ id: valueDisplayId,
377
+ ref: this.previewRef,
378
+ dangerouslySetInnerHTML: {
379
+ __html: correctValue ? correctValue : open && this.state.previewValue ? this.getLabel(choices, this.state.previewValue) : this.getLabel(choices, value) || ''
380
+ }
381
+ }), open ? /*#__PURE__*/_react["default"].createElement(_ArrowDropUp["default"], null) : /*#__PURE__*/_react["default"].createElement(_ArrowDropDown["default"], null)), /*#__PURE__*/_react["default"].createElement(StyledMenu, {
382
+ id: menuId,
383
+ anchorEl: anchorEl,
384
+ keepMounted: true,
97
385
  open: open,
98
- input: /*#__PURE__*/_react["default"].createElement(_correctInput["default"], {
99
- correct: showCorrectAnswer || correct
100
- }),
101
- MenuProps: {
102
- keepMounted: true,
103
- disablePortal: true
386
+ onClose: this.handleClose,
387
+ getContentAnchorEl: null,
388
+ anchorOrigin: {
389
+ vertical: 'bottom',
390
+ horizontal: 'left'
391
+ },
392
+ transformOrigin: {
393
+ vertical: 'top',
394
+ horizontal: 'left'
395
+ },
396
+ transitionDuration: {
397
+ enter: 225,
398
+ exit: 195
104
399
  },
105
- onChange: function onChange(e) {
106
- _onChange(id, e.target.value);
400
+ slotProps: {
401
+ paper: this.state.menuWidth ? {
402
+ style: {
403
+ minWidth: this.state.menuWidth,
404
+ padding: '4px'
405
+ }
406
+ } : undefined,
407
+ list: {
408
+ 'aria-labelledby': buttonId,
409
+ role: 'listbox',
410
+ disablePadding: true
411
+ }
107
412
  }
108
413
  }, (choices || []).map(function (c, index) {
109
- return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
110
- classes: {
111
- root: classes.menuRoot,
112
- selected: classes.selected
113
- },
414
+ var optionId = "dropdown-option-".concat(id, "-").concat(index);
415
+ return /*#__PURE__*/_react["default"].createElement(StyledMenuItem, {
416
+ id: optionId,
417
+ className: c.value === value ? 'selected' : '',
114
418
  key: "".concat(c.label, "-").concat(index),
115
- value: c.value
116
- }, /*#__PURE__*/_react["default"].createElement("span", {
117
- className: classes.label,
419
+ value: c.value,
420
+ onClick: function onClick() {
421
+ return _this2.handleSelect(c.value, index);
422
+ },
423
+ role: "option",
424
+ "aria-selected": _this2.state.highlightedOptionId === optionId ? 'true' : undefined,
425
+ onMouseOver: function onMouseOver() {
426
+ return _this2.handleHover(index);
427
+ }
428
+ }, /*#__PURE__*/_react["default"].createElement(StyledLabel, {
429
+ ref: function ref(_ref) {
430
+ return _this2.elementRefs[index] = _ref;
431
+ },
118
432
  dangerouslySetInnerHTML: {
119
433
  __html: c.label
120
434
  }
121
- }), showCheckmark && /*#__PURE__*/_react["default"].createElement("span", {
122
- className: classes.label,
435
+ }), /*#__PURE__*/_react["default"].createElement(StyledSelectedIndicator, {
123
436
  dangerouslySetInnerHTML: {
124
437
  __html: c.value === value ? ' &check;' : ''
125
438
  }
126
439
  }));
127
- }));
440
+ })));
128
441
  }
129
442
  }]);
130
- return Dropdown;
131
443
  }(_react["default"].Component);
132
-
133
444
  (0, _defineProperty2["default"])(Dropdown, "propTypes", {
134
445
  id: _propTypes["default"].string,
135
446
  value: _propTypes["default"].string,
136
447
  disabled: _propTypes["default"].bool,
137
448
  onChange: _propTypes["default"].func,
138
- classes: _propTypes["default"].object,
139
449
  correct: _propTypes["default"].bool,
140
450
  choices: _propTypes["default"].arrayOf(_propTypes["default"].shape({
141
451
  value: _propTypes["default"].string,
142
452
  label: _propTypes["default"].string
143
453
  })),
144
- showCorrectAnswer: _propTypes["default"].bool
454
+ showCorrectAnswer: _propTypes["default"].bool,
455
+ singleQuery: _propTypes["default"].bool,
456
+ correctValue: _propTypes["default"].string
145
457
  });
146
-
147
- var styles = function styles() {
148
- return {
149
- root: {
150
- color: _renderUi.color.text(),
151
- backgroundColor: _renderUi.color.background(),
152
- borderColor: _renderUi.color.secondaryLight(),
153
- '& ul': {
154
- paddingTop: 0,
155
- paddingBottom: 0,
156
- border: "1px solid ".concat(_renderUi.color.text()),
157
- borderRadius: '5px',
158
- color: _renderUi.color.text(),
159
- backgroundColor: _renderUi.color.background()
160
- }
161
- },
162
- select: {
163
- '&:focus': {
164
- borderRadius: '4px'
165
- }
166
- },
167
- selectMenu: {
168
- backgroundColor: _renderUi.color.background(),
169
- '&:hover': {
170
- borderColor: 'initial'
171
- },
172
- '&:focus': {
173
- borderColor: 'initial'
174
- }
175
- },
176
- icon: {
177
- color: _renderUi.color.text()
178
- },
179
- selected: {
180
- color: "".concat(_renderUi.color.text(), " !important"),
181
- backgroundColor: "".concat(_renderUi.color.background(), " !important"),
182
- '&:hover': {
183
- color: _renderUi.color.text(),
184
- backgroundColor: "".concat(_renderUi.color.secondaryLight(), " !important")
185
- }
186
- },
187
- menuRoot: {
188
- color: _renderUi.color.text(),
189
- backgroundColor: _renderUi.color.background(),
190
- '&:focus': {
191
- color: _renderUi.color.text(),
192
- backgroundColor: _renderUi.color.background()
193
- },
194
- '&:hover': {
195
- color: _renderUi.color.text(),
196
- backgroundColor: _renderUi.color.secondaryLight()
197
- },
198
- boxSizing: 'border-box',
199
- padding: '25px',
200
- '&:first-of-type': {
201
- borderRadius: '3px 3px 0 0'
202
- },
203
- '&:last-of-type': {
204
- borderRadius: '0 0 3px 3px'
205
- }
206
- },
207
- label: {
208
- fontSize: 'max(1rem, 14px)'
209
- }
210
- };
211
- };
212
-
213
- var _default = (0, _styles.withStyles)(styles)(Dropdown);
214
-
215
- exports["default"] = _default;
216
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcm9wZG93biIsInByb3BzIiwic2V0U3RhdGUiLCJzaG93Q2hlY2ttYXJrIiwib3BlbiIsInN0YXRlIiwiY2xhc3NlcyIsImlkIiwiY29ycmVjdCIsImRpc2FibGVkIiwidmFsdWUiLCJvbkNoYW5nZSIsImNob2ljZXMiLCJzaG93Q29ycmVjdEFuc3dlciIsInJvb3QiLCJpY29uIiwic2VsZWN0TWVudSIsInNlbGVjdCIsInNob3dDaGVja21hcmtBbmRPcGVuIiwiaGlkZUNoZWNrbWFya0FuZENsb3NlIiwia2VlcE1vdW50ZWQiLCJkaXNhYmxlUG9ydGFsIiwiZSIsInRhcmdldCIsIm1hcCIsImMiLCJpbmRleCIsIm1lbnVSb290Iiwic2VsZWN0ZWQiLCJsYWJlbCIsIl9faHRtbCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsImZ1bmMiLCJvYmplY3QiLCJhcnJheU9mIiwic2hhcGUiLCJzdHlsZXMiLCJjb2xvciIsInRleHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyQ29sb3IiLCJzZWNvbmRhcnlMaWdodCIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwiYm94U2l6aW5nIiwicGFkZGluZyIsImZvbnRTaXplIiwid2l0aFN0eWxlcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBTZWxlY3QgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvU2VsZWN0JztcbmltcG9ydCBNZW51SXRlbSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9NZW51SXRlbSc7XG5pbXBvcnQgQ29ycmVjdElucHV0IGZyb20gJy4vY29ycmVjdC1pbnB1dCc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcblxuY2xhc3MgRHJvcGRvd24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjb3JyZWN0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjaG9pY2VzOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgIFByb3BUeXBlcy5zaGFwZSh7IHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLCBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyB9KVxuICAgICksXG4gICAgc2hvd0NvcnJlY3RBbnN3ZXI6IFByb3BUeXBlcy5ib29sXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgc2hvd0NoZWNrbWFyazogZmFsc2UsXG4gICAgICBvcGVuOiBmYWxzZVxuICAgIH07XG4gIH1cblxuICBzaG93Q2hlY2ttYXJrQW5kT3BlbiA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNob3dDaGVja21hcms6IHRydWUsXG4gICAgICBvcGVuOiB0cnVlXG4gICAgfSk7XG4gIH07XG5cbiAgaGlkZUNoZWNrbWFya0FuZENsb3NlID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgc2hvd0NoZWNrbWFyazogZmFsc2UsXG4gICAgICBvcGVuOiBmYWxzZVxuICAgIH0pO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjbGFzc2VzLFxuICAgICAgaWQsXG4gICAgICBjb3JyZWN0LFxuICAgICAgZGlzYWJsZWQsXG4gICAgICB2YWx1ZSxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgY2hvaWNlcyxcbiAgICAgIHNob3dDb3JyZWN0QW5zd2VyXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB7IHNob3dDaGVja21hcmssIG9wZW4gfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNlbGVjdFxuICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgcm9vdDogY2xhc3Nlcy5yb290LFxuICAgICAgICAgIGljb246IGNsYXNzZXMuaWNvbixcbiAgICAgICAgICBzZWxlY3RNZW51OiBjbGFzc2VzLnNlbGVjdE1lbnUsXG4gICAgICAgICAgc2VsZWN0OiBjbGFzc2VzLnNlbGVjdFxuICAgICAgICB9fVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHZhbHVlPXt2YWx1ZSB8fCAnJ31cbiAgICAgICAgb25PcGVuPXt0aGlzLnNob3dDaGVja21hcmtBbmRPcGVufVxuICAgICAgICBvbkNsb3NlPXt0aGlzLmhpZGVDaGVja21hcmtBbmRDbG9zZX1cbiAgICAgICAgb3Blbj17b3Blbn1cbiAgICAgICAgaW5wdXQ9ezxDb3JyZWN0SW5wdXQgY29ycmVjdD17c2hvd0NvcnJlY3RBbnN3ZXIgfHwgY29ycmVjdH0gLz59XG4gICAgICAgIE1lbnVQcm9wcz17e1xuICAgICAgICAgIGtlZXBNb3VudGVkOiB0cnVlLFxuICAgICAgICAgIGRpc2FibGVQb3J0YWw6IHRydWVcbiAgICAgICAgfX1cbiAgICAgICAgb25DaGFuZ2U9e2UgPT4ge1xuICAgICAgICAgIG9uQ2hhbmdlKGlkLCBlLnRhcmdldC52YWx1ZSk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsoY2hvaWNlcyB8fCBbXSkubWFwKChjLCBpbmRleCkgPT4gKFxuICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgY2xhc3Nlcz17eyByb290OiBjbGFzc2VzLm1lbnVSb290LCBzZWxlY3RlZDogY2xhc3Nlcy5zZWxlY3RlZCB9fVxuICAgICAgICAgICAga2V5PXtgJHtjLmxhYmVsfS0ke2luZGV4fWB9XG4gICAgICAgICAgICB2YWx1ZT17Yy52YWx1ZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubGFiZWx9XG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBjLmxhYmVsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge3Nob3dDaGVja21hcmsgJiYgKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5sYWJlbH1cbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IGMudmFsdWUgPT09IHZhbHVlID8gJyAmY2hlY2s7JyA6ICcnIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICkpfVxuICAgICAgPC9TZWxlY3Q+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSAoKSA9PiAoe1xuICByb290OiB7XG4gICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgICBib3JkZXJDb2xvcjogY29sb3Iuc2Vjb25kYXJ5TGlnaHQoKSxcbiAgICAnJiB1bCc6IHtcbiAgICAgIHBhZGRpbmdUb3A6IDAsXG4gICAgICBwYWRkaW5nQm90dG9tOiAwLFxuICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Y29sb3IudGV4dCgpfWAsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1cHgnLFxuICAgICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpXG4gICAgfVxuICB9LFxuICBzZWxlY3Q6IHtcbiAgICAnJjpmb2N1cyc6IHtcbiAgICAgIGJvcmRlclJhZGl1czogJzRweCdcbiAgICB9XG4gIH0sXG4gIHNlbGVjdE1lbnU6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGJvcmRlckNvbG9yOiAnaW5pdGlhbCdcbiAgICB9LFxuICAgICcmOmZvY3VzJzoge1xuICAgICAgYm9yZGVyQ29sb3I6ICdpbml0aWFsJ1xuICAgIH1cbiAgfSxcbiAgaWNvbjoge1xuICAgIGNvbG9yOiBjb2xvci50ZXh0KClcbiAgfSxcbiAgc2VsZWN0ZWQ6IHtcbiAgICBjb2xvcjogYCR7Y29sb3IudGV4dCgpfSAhaW1wb3J0YW50YCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9yLmJhY2tncm91bmQoKX0gIWltcG9ydGFudGAsXG4gICAgJyY6aG92ZXInOiB7XG4gICAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvci5zZWNvbmRhcnlMaWdodCgpfSAhaW1wb3J0YW50YFxuICAgIH1cbiAgfSxcbiAgbWVudVJvb3Q6IHtcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAgICcmOmZvY3VzJzoge1xuICAgICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpXG4gICAgfSxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLnNlY29uZGFyeUxpZ2h0KClcbiAgICB9LFxuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIHBhZGRpbmc6ICcyNXB4JyxcbiAgICAnJjpmaXJzdC1vZi10eXBlJzoge1xuICAgICAgYm9yZGVyUmFkaXVzOiAnM3B4IDNweCAwIDAnXG4gICAgfSxcbiAgICAnJjpsYXN0LW9mLXR5cGUnOiB7XG4gICAgICBib3JkZXJSYWRpdXM6ICcwIDAgM3B4IDNweCdcbiAgICB9XG4gIH0sXG4gIGxhYmVsOiB7XG4gICAgZm9udFNpemU6ICdtYXgoMXJlbSwgMTRweCknXG4gIH1cbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoRHJvcGRvd24pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7SUFFTUEsUTs7Ozs7RUFjSixrQkFBWUMsS0FBWixFQUFtQjtJQUFBOztJQUFBO0lBQ2pCLDBCQUFNQSxLQUFOO0lBRGlCLHlHQVNJLFlBQU07TUFDM0IsTUFBS0MsUUFBTCxDQUFjO1FBQ1pDLGFBQWEsRUFBRSxJQURIO1FBRVpDLElBQUksRUFBRTtNQUZNLENBQWQ7SUFJRCxDQWRrQjtJQUFBLDBHQWdCSyxZQUFNO01BQzVCLE1BQUtGLFFBQUwsQ0FBYztRQUNaQyxhQUFhLEVBQUUsS0FESDtRQUVaQyxJQUFJLEVBQUU7TUFGTSxDQUFkO0lBSUQsQ0FyQmtCO0lBR2pCLE1BQUtDLEtBQUwsR0FBYTtNQUNYRixhQUFhLEVBQUUsS0FESjtNQUVYQyxJQUFJLEVBQUU7SUFGSyxDQUFiO0lBSGlCO0VBT2xCOzs7O1dBZ0JELGtCQUFTO01BQ1Asa0JBU0ksS0FBS0gsS0FUVDtNQUFBLElBQ0VLLE9BREYsZUFDRUEsT0FERjtNQUFBLElBRUVDLEVBRkYsZUFFRUEsRUFGRjtNQUFBLElBR0VDLE9BSEYsZUFHRUEsT0FIRjtNQUFBLElBSUVDLFFBSkYsZUFJRUEsUUFKRjtNQUFBLElBS0VDLEtBTEYsZUFLRUEsS0FMRjtNQUFBLElBTUVD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
458
+ var _default = exports["default"] = Dropdown;
459
+ //# sourceMappingURL=dropdown.js.map