@pie-lib/mask-markup 1.33.3-next.2 → 1.33.4-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 (72) hide show
  1. package/CHANGELOG.md +6 -76
  2. package/lib/__tests__/drag-in-the-blank.test.js +129 -0
  3. package/lib/__tests__/index.test.js +42 -0
  4. package/lib/__tests__/mask.test.js +163 -0
  5. package/lib/__tests__/serialization.test.js +44 -0
  6. package/lib/__tests__/utils.js +14 -0
  7. package/lib/__tests__/with-mask.test.js +110 -0
  8. package/lib/choices/__tests__/index.test.js +101 -0
  9. package/lib/choices/choice.js +99 -204
  10. package/lib/choices/choice.js.map +1 -1
  11. package/lib/choices/index.js +22 -54
  12. package/lib/choices/index.js.map +1 -1
  13. package/lib/componentize.js +2 -6
  14. package/lib/componentize.js.map +1 -1
  15. package/lib/components/__tests__/blank.test.js +189 -0
  16. package/lib/components/__tests__/correct-input.test.js +132 -0
  17. package/lib/components/__tests__/dropdown.test.js +134 -0
  18. package/lib/components/__tests__/input.test.js +129 -0
  19. package/lib/components/blank.js +304 -362
  20. package/lib/components/blank.js.map +1 -1
  21. package/lib/components/correct-input.js +42 -66
  22. package/lib/components/correct-input.js.map +1 -1
  23. package/lib/components/dropdown.js +219 -258
  24. package/lib/components/dropdown.js.map +1 -1
  25. package/lib/components/input.js +11 -18
  26. package/lib/components/input.js.map +1 -1
  27. package/lib/constructed-response.js +39 -53
  28. package/lib/constructed-response.js.map +1 -1
  29. package/lib/customizable.js +6 -10
  30. package/lib/customizable.js.map +1 -1
  31. package/lib/drag-in-the-blank.js +141 -106
  32. package/lib/drag-in-the-blank.js.map +1 -1
  33. package/lib/index.js +1 -8
  34. package/lib/index.js.map +1 -1
  35. package/lib/inline-dropdown.js +5 -13
  36. package/lib/inline-dropdown.js.map +1 -1
  37. package/lib/mask.js +61 -119
  38. package/lib/mask.js.map +1 -1
  39. package/lib/serialization.js +9 -49
  40. package/lib/serialization.js.map +1 -1
  41. package/lib/with-mask.js +31 -59
  42. package/lib/with-mask.js.map +1 -1
  43. package/package.json +12 -20
  44. package/src/__tests__/drag-in-the-blank.test.js +66 -26
  45. package/src/__tests__/mask.test.js +147 -112
  46. package/src/__tests__/with-mask.test.js +44 -19
  47. package/src/choices/__tests__/index.test.js +38 -25
  48. package/src/choices/choice.jsx +86 -153
  49. package/src/choices/index.jsx +9 -3
  50. package/src/components/__tests__/blank.test.js +92 -156
  51. package/src/components/__tests__/correct-input.test.js +60 -19
  52. package/src/components/__tests__/dropdown.test.js +61 -19
  53. package/src/components/__tests__/input.test.js +72 -20
  54. package/src/components/blank.jsx +273 -272
  55. package/src/components/correct-input.jsx +33 -39
  56. package/src/components/dropdown.jsx +173 -161
  57. package/src/constructed-response.jsx +22 -18
  58. package/src/drag-in-the-blank.jsx +131 -42
  59. package/src/mask.jsx +38 -29
  60. package/src/with-mask.jsx +7 -4
  61. package/esm/index.css +0 -847
  62. package/esm/index.js +0 -195939
  63. package/esm/index.js.map +0 -1
  64. package/esm/package.json +0 -3
  65. package/src/__tests__/__snapshots__/drag-in-the-blank.test.js.snap +0 -316
  66. package/src/__tests__/__snapshots__/mask.test.js.snap +0 -55
  67. package/src/__tests__/__snapshots__/with-mask.test.js.snap +0 -62
  68. package/src/choices/__tests__/__snapshots__/index.test.js.snap +0 -209
  69. package/src/components/__tests__/__snapshots__/blank.test.js.snap +0 -111
  70. package/src/components/__tests__/__snapshots__/correct-input.test.js.snap +0 -64
  71. package/src/components/__tests__/__snapshots__/dropdown.test.js.snap +0 -136
  72. package/src/components/__tests__/__snapshots__/input.test.js.snap +0 -34
@@ -1,62 +1,45 @@
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 _mathRendering = require("@pie-lib/math-rendering");
29
-
16
+ var _drag = require("@pie-lib/drag");
17
+ var _core = require("@dnd-kit/core");
30
18
  var _choices = _interopRequireDefault(require("./choices"));
31
-
19
+ var _choice = _interopRequireDefault(require("./choices/choice"));
32
20
  var _blank = _interopRequireDefault(require("./components/blank"));
33
-
34
21
  var _withMask = require("./with-mask");
35
-
36
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
-
38
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
-
40
- 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); }; }
41
-
42
- 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; } }
43
-
44
- // eslint-disable-next-line react/display-name
22
+ 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)); }
23
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
24
+ 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; }
25
+ 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; }
45
26
  var Masked = (0, _withMask.withMask)('blank', function (props) {
46
- return function (node, data, onChange) {
47
- var dataset = node.data ? node.data.dataset || {} : {};
48
-
27
+ return function (node, data, _onChange) {
28
+ var _node$data;
29
+ var dataset = ((_node$data = node.data) === null || _node$data === void 0 ? void 0 : _node$data.dataset) || {};
49
30
  if (dataset.component === 'blank') {
50
31
  // eslint-disable-next-line react/prop-types
51
32
  var disabled = props.disabled,
52
- duplicates = props.duplicates,
53
- correctResponse = props.correctResponse,
54
- feedback = props.feedback,
55
- showCorrectAnswer = props.showCorrectAnswer,
56
- emptyResponseAreaWidth = props.emptyResponseAreaWidth,
57
- emptyResponseAreaHeight = props.emptyResponseAreaHeight;
58
- var choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id]; // eslint-disable-next-line react/prop-types
59
-
33
+ duplicates = props.duplicates,
34
+ correctResponse = props.correctResponse,
35
+ feedback = props.feedback,
36
+ showCorrectAnswer = props.showCorrectAnswer,
37
+ emptyResponseAreaWidth = props.emptyResponseAreaWidth,
38
+ emptyResponseAreaHeight = props.emptyResponseAreaHeight,
39
+ instanceId = props.instanceId,
40
+ isDragging = props.isDragging;
41
+ var choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];
42
+ // eslint-disable-next-line react/prop-types
60
43
  var choice = choiceId && props.choices.find(function (c) {
61
44
  return c.id === choiceId;
62
45
  });
@@ -69,114 +52,162 @@ var Masked = (0, _withMask.withMask)('blank', function (props) {
69
52
  id: dataset.id,
70
53
  emptyResponseAreaWidth: emptyResponseAreaWidth,
71
54
  emptyResponseAreaHeight: emptyResponseAreaHeight,
72
- onChange: onChange
55
+ onChange: function onChange(id, choiceId) {
56
+ var newData = _objectSpread({}, data);
57
+ if (choiceId === undefined) {
58
+ delete newData[id];
59
+ } else {
60
+ newData[id] = choiceId;
61
+ }
62
+ _onChange(newData);
63
+ },
64
+ instanceId: instanceId,
65
+ isDragging: isDragging
73
66
  });
74
67
  }
75
68
  };
76
69
  });
77
-
78
- var DragInTheBlank = /*#__PURE__*/function (_React$Component) {
79
- (0, _inherits2["default"])(DragInTheBlank, _React$Component);
80
-
81
- var _super = _createSuper(DragInTheBlank);
82
-
83
- function DragInTheBlank() {
70
+ var DragInTheBlank = exports["default"] = /*#__PURE__*/function (_React$Component) {
71
+ function DragInTheBlank(props) {
84
72
  var _this;
85
-
86
73
  (0, _classCallCheck2["default"])(this, DragInTheBlank);
87
-
88
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
89
- args[_key] = arguments[_key];
90
- }
91
-
92
- _this = _super.call.apply(_super, [this].concat(args));
93
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getPositionDirection", function (choicePosition) {
74
+ _this = _callSuper(this, DragInTheBlank, [props]);
75
+ (0, _defineProperty2["default"])(_this, "handleDragStart", function (event) {
76
+ var _active$data;
77
+ var active = event.active;
78
+ if (active !== null && active !== void 0 && (_active$data = active.data) !== null && _active$data !== void 0 && _active$data.current) {
79
+ _this.setState({
80
+ activeDragItem: active.data.current
81
+ });
82
+ }
83
+ });
84
+ (0, _defineProperty2["default"])(_this, "renderDragOverlay", function () {
85
+ var activeDragItem = _this.state.activeDragItem;
86
+ if (!activeDragItem) return null;
87
+ if (activeDragItem.type === 'MaskBlank') {
88
+ return /*#__PURE__*/_react["default"].createElement(_choice["default"], {
89
+ disabled: activeDragItem.disabled,
90
+ choice: activeDragItem.choice,
91
+ instanceId: activeDragItem.instanceId
92
+ });
93
+ }
94
+ return null;
95
+ });
96
+ (0, _defineProperty2["default"])(_this, "handleDragEnd", function (event) {
97
+ var _dropData$accepts;
98
+ var active = event.active,
99
+ over = event.over;
100
+ var _this$props = _this.props,
101
+ onChange = _this$props.onChange,
102
+ value = _this$props.value;
103
+ if (!over || !active || !onChange) {
104
+ return;
105
+ }
106
+ var draggedData = active.data.current;
107
+ var dropData = over.data.current;
108
+ if ((draggedData === null || draggedData === void 0 ? void 0 : draggedData.type) === 'MaskBlank' && dropData !== null && dropData !== void 0 && (_dropData$accepts = dropData.accepts) !== null && _dropData$accepts !== void 0 && _dropData$accepts.includes('MaskBlank')) {
109
+ var draggedItem = draggedData;
110
+ var targetId = dropData.id;
111
+
112
+ // drop from choice to blank (placing choice into response)
113
+ if (draggedItem.fromChoice === true) {
114
+ var newValue = _objectSpread({}, value);
115
+ newValue[targetId] = draggedItem.choice.id;
116
+ onChange(newValue);
117
+ } else if (dropData.toChoiceBoard === true) {
118
+ // handle drop from blank to choice board (removal from blank)
119
+ var _newValue = _objectSpread({}, value);
120
+ delete _newValue[draggedItem.id];
121
+ onChange(_newValue);
122
+ }
123
+ // handle drop from blank to blank (changing position)
124
+ else if (draggedItem.id !== targetId) {
125
+ var _newValue2 = _objectSpread({}, value);
126
+ _newValue2[targetId] = draggedItem.choice.id;
127
+ delete _newValue2[draggedItem.id];
128
+ onChange(_newValue2);
129
+ }
130
+ }
131
+ _this.setState({
132
+ activeDragItem: null
133
+ });
134
+ });
135
+ (0, _defineProperty2["default"])(_this, "getPositionDirection", function (choicePosition) {
94
136
  var flexDirection;
95
137
  var justifyContent;
96
138
  var alignItems;
97
-
98
139
  switch (choicePosition) {
99
140
  case 'left':
100
141
  flexDirection = 'row';
101
142
  alignItems = 'center';
102
143
  break;
103
-
104
144
  case 'right':
105
145
  flexDirection = 'row-reverse';
106
146
  justifyContent = 'flex-end';
107
147
  alignItems = 'center';
108
148
  break;
109
-
110
149
  case 'below':
111
150
  flexDirection = 'column-reverse';
112
151
  break;
113
-
114
152
  default:
115
153
  // above
116
154
  flexDirection = 'column';
117
155
  break;
118
156
  }
119
-
120
157
  return {
121
158
  flexDirection: flexDirection,
122
159
  justifyContent: justifyContent,
123
160
  alignItems: alignItems
124
161
  };
125
162
  });
163
+ _this.state = {
164
+ activeDragItem: null
165
+ };
126
166
  return _this;
127
167
  }
128
-
129
- (0, _createClass2["default"])(DragInTheBlank, [{
130
- key: "UNSAFE_componentWillReceiveProps",
131
- value: function UNSAFE_componentWillReceiveProps() {
132
- if (this.rootRef) {
133
- (0, _mathRendering.renderMath)(this.rootRef);
134
- }
135
- }
136
- }, {
137
- key: "componentDidUpdate",
138
- value: function componentDidUpdate() {
139
- (0, _mathRendering.renderMath)(this.rootRef);
140
- }
141
- }, {
168
+ (0, _inherits2["default"])(DragInTheBlank, _React$Component);
169
+ return (0, _createClass2["default"])(DragInTheBlank, [{
142
170
  key: "render",
143
171
  value: function render() {
144
172
  var _this2 = this;
145
-
146
- var _this$props = this.props,
147
- markup = _this$props.markup,
148
- duplicates = _this$props.duplicates,
149
- layout = _this$props.layout,
150
- value = _this$props.value,
151
- onChange = _this$props.onChange,
152
- choicesPosition = _this$props.choicesPosition,
153
- choices = _this$props.choices,
154
- correctResponse = _this$props.correctResponse,
155
- disabled = _this$props.disabled,
156
- feedback = _this$props.feedback,
157
- showCorrectAnswer = _this$props.showCorrectAnswer,
158
- emptyResponseAreaWidth = _this$props.emptyResponseAreaWidth,
159
- emptyResponseAreaHeight = _this$props.emptyResponseAreaHeight;
173
+ var _this$props2 = this.props,
174
+ markup = _this$props2.markup,
175
+ duplicates = _this$props2.duplicates,
176
+ value = _this$props2.value,
177
+ onChange = _this$props2.onChange,
178
+ choicesPosition = _this$props2.choicesPosition,
179
+ choices = _this$props2.choices,
180
+ correctResponse = _this$props2.correctResponse,
181
+ disabled = _this$props2.disabled,
182
+ feedback = _this$props2.feedback,
183
+ showCorrectAnswer = _this$props2.showCorrectAnswer,
184
+ emptyResponseAreaWidth = _this$props2.emptyResponseAreaWidth,
185
+ emptyResponseAreaHeight = _this$props2.emptyResponseAreaHeight,
186
+ layout = _this$props2.layout,
187
+ instanceId = _this$props2.instanceId;
160
188
  var choicePosition = choicesPosition || 'below';
161
-
162
189
  var style = _objectSpread({
163
190
  display: 'flex',
164
191
  minWidth: '100px'
165
192
  }, this.getPositionDirection(choicePosition));
166
-
167
- return /*#__PURE__*/_react["default"].createElement("div", {
193
+ return /*#__PURE__*/_react["default"].createElement(_drag.DragProvider, {
194
+ onDragStart: this.handleDragStart,
195
+ onDragEnd: this.handleDragEnd,
196
+ collisionDetection: _core.closestCenter
197
+ }, /*#__PURE__*/_react["default"].createElement("div", {
168
198
  ref: function ref(_ref) {
169
- return _ref && (_this2.rootRef = _ref);
199
+ return _this2.rootRef = _ref;
170
200
  },
171
201
  style: style
172
202
  }, /*#__PURE__*/_react["default"].createElement(_choices["default"], {
173
203
  choicePosition: choicePosition,
174
- duplicates: duplicates,
175
204
  choices: choices,
176
205
  value: value,
177
- disabled: disabled
206
+ duplicates: duplicates,
207
+ disabled: disabled,
208
+ instanceId: instanceId
178
209
  }), /*#__PURE__*/_react["default"].createElement(Masked, {
179
- elementType: 'drag-in-the-blank',
210
+ elementType: "drag-in-the-blank",
180
211
  markup: markup,
181
212
  layout: layout,
182
213
  value: value,
@@ -188,22 +219,22 @@ var DragInTheBlank = /*#__PURE__*/function (_React$Component) {
188
219
  correctResponse: correctResponse,
189
220
  showCorrectAnswer: showCorrectAnswer,
190
221
  emptyResponseAreaWidth: emptyResponseAreaWidth,
191
- emptyResponseAreaHeight: emptyResponseAreaHeight
192
- }));
222
+ emptyResponseAreaHeight: emptyResponseAreaHeight,
223
+ instanceId: instanceId,
224
+ isDragging: !!this.state.activeDragItem
225
+ }), /*#__PURE__*/_react["default"].createElement(_core.DragOverlay, {
226
+ style: {
227
+ pointerEvents: "none"
228
+ }
229
+ }, this.renderDragOverlay())));
193
230
  }
194
231
  }]);
195
- return DragInTheBlank;
196
232
  }(_react["default"].Component);
197
-
198
- exports["default"] = DragInTheBlank;
199
233
  (0, _defineProperty2["default"])(DragInTheBlank, "propTypes", {
200
234
  markup: _propTypes["default"].string,
201
235
  layout: _propTypes["default"].object,
202
236
  choicesPosition: _propTypes["default"].string,
203
- choices: _propTypes["default"].arrayOf(_propTypes["default"].shape({
204
- label: _propTypes["default"].string,
205
- value: _propTypes["default"].string
206
- })),
237
+ choices: _propTypes["default"].array,
207
238
  value: _propTypes["default"].object,
208
239
  onChange: _propTypes["default"].func,
209
240
  duplicates: _propTypes["default"].bool,
@@ -212,6 +243,10 @@ exports["default"] = DragInTheBlank;
212
243
  correctResponse: _propTypes["default"].object,
213
244
  showCorrectAnswer: _propTypes["default"].bool,
214
245
  emptyResponseAreaWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
215
- emptyResponseAreaHeight: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
246
+ emptyResponseAreaHeight: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
247
+ instanceId: _propTypes["default"].string
248
+ });
249
+ (0, _defineProperty2["default"])(DragInTheBlank, "defaultProps", {
250
+ instanceId: 'drag-in-the-blank'
216
251
  });
217
- //# sourceMappingURL=drag-in-the-blank.js.map
252
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZHJhZyIsIl9jb3JlIiwiX2Nob2ljZXMiLCJfY2hvaWNlIiwiX2JsYW5rIiwiX3dpdGhNYXNrIiwiX2NhbGxTdXBlciIsInQiLCJvIiwiZSIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJvd25LZXlzIiwiciIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJNYXNrZWQiLCJ3aXRoTWFzayIsInByb3BzIiwibm9kZSIsImRhdGEiLCJvbkNoYW5nZSIsIl9ub2RlJGRhdGEiLCJkYXRhc2V0IiwiY29tcG9uZW50IiwiZGlzYWJsZWQiLCJkdXBsaWNhdGVzIiwiY29ycmVjdFJlc3BvbnNlIiwiZmVlZGJhY2siLCJzaG93Q29ycmVjdEFuc3dlciIsImVtcHR5UmVzcG9uc2VBcmVhV2lkdGgiLCJlbXB0eVJlc3BvbnNlQXJlYUhlaWdodCIsImluc3RhbmNlSWQiLCJpc0RyYWdnaW5nIiwiY2hvaWNlSWQiLCJpZCIsImNob2ljZSIsImNob2ljZXMiLCJmaW5kIiwiYyIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJjb25jYXQiLCJ0eXBlIiwiY29ycmVjdCIsIm5ld0RhdGEiLCJ1bmRlZmluZWQiLCJEcmFnSW5UaGVCbGFuayIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiZXZlbnQiLCJfYWN0aXZlJGRhdGEiLCJhY3RpdmUiLCJjdXJyZW50Iiwic2V0U3RhdGUiLCJhY3RpdmVEcmFnSXRlbSIsInN0YXRlIiwiX2Ryb3BEYXRhJGFjY2VwdHMiLCJvdmVyIiwiX3RoaXMkcHJvcHMiLCJ2YWx1ZSIsImRyYWdnZWREYXRhIiwiZHJvcERhdGEiLCJhY2NlcHRzIiwiaW5jbHVkZXMiLCJkcmFnZ2VkSXRlbSIsInRhcmdldElkIiwiZnJvbUNob2ljZSIsIm5ld1ZhbHVlIiwidG9DaG9pY2VCb2FyZCIsImNob2ljZVBvc2l0aW9uIiwiZmxleERpcmVjdGlvbiIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwicmVuZGVyIiwiX3RoaXMyIiwiX3RoaXMkcHJvcHMyIiwibWFya3VwIiwiY2hvaWNlc1Bvc2l0aW9uIiwibGF5b3V0Iiwic3R5bGUiLCJkaXNwbGF5IiwibWluV2lkdGgiLCJnZXRQb3NpdGlvbkRpcmVjdGlvbiIsIkRyYWdQcm92aWRlciIsIm9uRHJhZ1N0YXJ0IiwiaGFuZGxlRHJhZ1N0YXJ0Iiwib25EcmFnRW5kIiwiaGFuZGxlRHJhZ0VuZCIsImNvbGxpc2lvbkRldGVjdGlvbiIsImNsb3Nlc3RDZW50ZXIiLCJyZWYiLCJyb290UmVmIiwiZWxlbWVudFR5cGUiLCJEcmFnT3ZlcmxheSIsInBvaW50ZXJFdmVudHMiLCJyZW5kZXJEcmFnT3ZlcmxheSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib2JqZWN0IiwiYXJyYXkiLCJmdW5jIiwiYm9vbCIsIm9uZU9mVHlwZSIsIm51bWJlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kcmFnLWluLXRoZS1ibGFuay5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBEcmFnUHJvdmlkZXIgfSBmcm9tICdAcGllLWxpYi9kcmFnJztcbmltcG9ydCB7IERyYWdPdmVybGF5LCBjbG9zZXN0Q2VudGVyIH0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5cbmltcG9ydCBDaG9pY2VzIGZyb20gJy4vY2hvaWNlcyc7XG5pbXBvcnQgQ2hvaWNlIGZyb20gJy4vY2hvaWNlcy9jaG9pY2UnO1xuaW1wb3J0IEJsYW5rIGZyb20gJy4vY29tcG9uZW50cy9ibGFuayc7XG5pbXBvcnQgeyB3aXRoTWFzayB9IGZyb20gJy4vd2l0aC1tYXNrJztcblxuY29uc3QgTWFza2VkID0gd2l0aE1hc2soJ2JsYW5rJywgKHByb3BzKSA9PiAobm9kZSwgZGF0YSwgb25DaGFuZ2UpID0+IHtcbiAgY29uc3QgZGF0YXNldCA9IG5vZGUuZGF0YT8uZGF0YXNldCB8fCB7fTtcbiAgaWYgKGRhdGFzZXQuY29tcG9uZW50ID09PSAnYmxhbmsnKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L3Byb3AtdHlwZXNcbiAgICBjb25zdCB7XG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGR1cGxpY2F0ZXMsXG4gICAgICBjb3JyZWN0UmVzcG9uc2UsXG4gICAgICBmZWVkYmFjayxcbiAgICAgIHNob3dDb3JyZWN0QW5zd2VyLFxuICAgICAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aCxcbiAgICAgIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0LFxuICAgICAgaW5zdGFuY2VJZCxcbiAgICAgIGlzRHJhZ2dpbmdcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2hvaWNlSWQgPSBzaG93Q29ycmVjdEFuc3dlciA/IGNvcnJlY3RSZXNwb25zZVtkYXRhc2V0LmlkXSA6IGRhdGFbZGF0YXNldC5pZF07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L3Byb3AtdHlwZXNcbiAgICBjb25zdCBjaG9pY2UgPSBjaG9pY2VJZCAmJiBwcm9wcy5jaG9pY2VzLmZpbmQoKGMpID0+IGMuaWQgPT09IGNob2ljZUlkKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8QmxhbmtcbiAgICAgICAga2V5PXtgJHtub2RlLnR5cGV9LSR7ZGF0YXNldC5pZH1gfVxuICAgICAgICBjb3JyZWN0PXtzaG93Q29ycmVjdEFuc3dlciB8fCAoZmVlZGJhY2sgJiYgZmVlZGJhY2tbZGF0YXNldC5pZF0pfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGR1cGxpY2F0ZXM9e2R1cGxpY2F0ZXN9XG4gICAgICAgIGNob2ljZT17Y2hvaWNlfVxuICAgICAgICBpZD17ZGF0YXNldC5pZH1cbiAgICAgICAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aD17ZW1wdHlSZXNwb25zZUFyZWFXaWR0aH1cbiAgICAgICAgZW1wdHlSZXNwb25zZUFyZWFIZWlnaHQ9e2VtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0fVxuICAgICAgICBvbkNoYW5nZT17KGlkLCBjaG9pY2VJZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSB7IC4uLmRhdGEgfTtcbiAgICAgICAgICBpZiAoY2hvaWNlSWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZGVsZXRlIG5ld0RhdGFbaWRdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdEYXRhW2lkXSA9IGNob2ljZUlkO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvbkNoYW5nZShuZXdEYXRhKTtcbiAgICAgICAgfX1cbiAgICAgICAgaW5zdGFuY2VJZD17aW5zdGFuY2VJZH1cbiAgICAgICAgaXNEcmFnZ2luZz17aXNEcmFnZ2luZ31cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyYWdJblRoZUJsYW5rIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGFjdGl2ZURyYWdJdGVtOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG1hcmt1cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY2hvaWNlc1Bvc2l0aW9uOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNob2ljZXM6IFByb3BUeXBlcy5hcnJheSxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZHVwbGljYXRlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGZlZWRiYWNrOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNvcnJlY3RSZXNwb25zZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBzaG93Q29ycmVjdEFuc3dlcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gICAgaW5zdGFuY2VJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGluc3RhbmNlSWQ6ICdkcmFnLWluLXRoZS1ibGFuaycsXG4gIH07XG5cbiAgaGFuZGxlRHJhZ1N0YXJ0ID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBhY3RpdmUgfSA9IGV2ZW50O1xuXG4gICAgaWYgKGFjdGl2ZT8uZGF0YT8uY3VycmVudCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGFjdGl2ZURyYWdJdGVtOiBhY3RpdmUuZGF0YS5jdXJyZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlckRyYWdPdmVybGF5ID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlRHJhZ0l0ZW0gfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKCFhY3RpdmVEcmFnSXRlbSkgcmV0dXJuIG51bGw7XG5cbiAgICBpZiAoYWN0aXZlRHJhZ0l0ZW0udHlwZSA9PT0gJ01hc2tCbGFuaycpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDaG9pY2VcbiAgICAgICAgICBkaXNhYmxlZD17YWN0aXZlRHJhZ0l0ZW0uZGlzYWJsZWR9XG4gICAgICAgICAgY2hvaWNlPXthY3RpdmVEcmFnSXRlbS5jaG9pY2V9XG4gICAgICAgICAgaW5zdGFuY2VJZD17YWN0aXZlRHJhZ0l0ZW0uaW5zdGFuY2VJZH1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgaGFuZGxlRHJhZ0VuZCA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlLCBvdmVyIH0gPSBldmVudDtcbiAgICBjb25zdCB7IG9uQ2hhbmdlLCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICghb3ZlciB8fCAhYWN0aXZlIHx8ICFvbkNoYW5nZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRyYWdnZWREYXRhID0gYWN0aXZlLmRhdGEuY3VycmVudDtcbiAgICBjb25zdCBkcm9wRGF0YSA9IG92ZXIuZGF0YS5jdXJyZW50O1xuXG4gICAgaWYgKGRyYWdnZWREYXRhPy50eXBlID09PSAnTWFza0JsYW5rJyAmJiBkcm9wRGF0YT8uYWNjZXB0cz8uaW5jbHVkZXMoJ01hc2tCbGFuaycpKSB7XG4gICAgICBjb25zdCBkcmFnZ2VkSXRlbSA9IGRyYWdnZWREYXRhO1xuICAgICAgY29uc3QgdGFyZ2V0SWQgPSBkcm9wRGF0YS5pZDtcblxuICAgICAgLy8gZHJvcCBmcm9tIGNob2ljZSB0byBibGFuayAocGxhY2luZyBjaG9pY2UgaW50byByZXNwb25zZSlcbiAgICAgIGlmIChkcmFnZ2VkSXRlbS5mcm9tQ2hvaWNlID09PSB0cnVlKSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0geyAuLi52YWx1ZSB9O1xuICAgICAgICBuZXdWYWx1ZVt0YXJnZXRJZF0gPSBkcmFnZ2VkSXRlbS5jaG9pY2UuaWQ7XG4gICAgICAgIG9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoZHJvcERhdGEudG9DaG9pY2VCb2FyZCA9PT0gdHJ1ZSkge1xuICAgICAgICAvLyBoYW5kbGUgZHJvcCBmcm9tIGJsYW5rIHRvIGNob2ljZSBib2FyZCAocmVtb3ZhbCBmcm9tIGJsYW5rKVxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHsgLi4udmFsdWUgfTtcbiAgICAgICAgZGVsZXRlIG5ld1ZhbHVlW2RyYWdnZWRJdGVtLmlkXTtcbiAgICAgICAgb25DaGFuZ2UobmV3VmFsdWUpO1xuICAgICAgfVxuICAgICAgLy8gaGFuZGxlIGRyb3AgZnJvbSBibGFuayB0byBibGFuayAoY2hhbmdpbmcgcG9zaXRpb24pXG4gICAgICBlbHNlIGlmIChkcmFnZ2VkSXRlbS5pZCAhPT0gdGFyZ2V0SWQpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB7IC4uLnZhbHVlIH07XG4gICAgICAgIG5ld1ZhbHVlW3RhcmdldElkXSA9IGRyYWdnZWRJdGVtLmNob2ljZS5pZDtcbiAgICAgICAgZGVsZXRlIG5ld1ZhbHVlW2RyYWdnZWRJdGVtLmlkXTtcbiAgICAgICAgb25DaGFuZ2UobmV3VmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKHsgYWN0aXZlRHJhZ0l0ZW06IG51bGwgfSk7XG4gIH07XG5cbiAgZ2V0UG9zaXRpb25EaXJlY3Rpb24gPSAoY2hvaWNlUG9zaXRpb24pID0+IHtcbiAgICBsZXQgZmxleERpcmVjdGlvbjtcbiAgICBsZXQganVzdGlmeUNvbnRlbnQ7XG4gICAgbGV0IGFsaWduSXRlbXM7XG5cbiAgICBzd2l0Y2ggKGNob2ljZVBvc2l0aW9uKSB7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdyb3cnO1xuICAgICAgICBhbGlnbkl0ZW1zID0gJ2NlbnRlcic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBmbGV4RGlyZWN0aW9uID0gJ3Jvdy1yZXZlcnNlJztcbiAgICAgICAganVzdGlmeUNvbnRlbnQgPSAnZmxleC1lbmQnO1xuICAgICAgICBhbGlnbkl0ZW1zID0gJ2NlbnRlcic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmVsb3cnOlxuICAgICAgICBmbGV4RGlyZWN0aW9uID0gJ2NvbHVtbi1yZXZlcnNlJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvLyBhYm92ZVxuICAgICAgICBmbGV4RGlyZWN0aW9uID0gJ2NvbHVtbic7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiB7IGZsZXhEaXJlY3Rpb24sIGp1c3RpZnlDb250ZW50LCBhbGlnbkl0ZW1zIH07XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIG1hcmt1cCxcbiAgICAgIGR1cGxpY2F0ZXMsXG4gICAgICB2YWx1ZSxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgY2hvaWNlc1Bvc2l0aW9uLFxuICAgICAgY2hvaWNlcyxcbiAgICAgIGNvcnJlY3RSZXNwb25zZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZmVlZGJhY2ssXG4gICAgICBzaG93Q29ycmVjdEFuc3dlcixcbiAgICAgIGVtcHR5UmVzcG9uc2VBcmVhV2lkdGgsXG4gICAgICBlbXB0eVJlc3BvbnNlQXJlYUhlaWdodCxcbiAgICAgIGxheW91dCxcbiAgICAgIGluc3RhbmNlSWRcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNob2ljZVBvc2l0aW9uID0gY2hvaWNlc1Bvc2l0aW9uIHx8ICdiZWxvdyc7XG4gICAgY29uc3Qgc3R5bGUgPSB7IGRpc3BsYXk6ICdmbGV4JywgbWluV2lkdGg6ICcxMDBweCcsIC4uLnRoaXMuZ2V0UG9zaXRpb25EaXJlY3Rpb24oY2hvaWNlUG9zaXRpb24pIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERyYWdQcm92aWRlclxuICAgICAgICBvbkRyYWdTdGFydD17dGhpcy5oYW5kbGVEcmFnU3RhcnR9XG4gICAgICAgIG9uRHJhZ0VuZD17dGhpcy5oYW5kbGVEcmFnRW5kfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICA+XG4gICAgICAgIDxkaXYgcmVmPXsocmVmKSA9PiAodGhpcy5yb290UmVmID0gcmVmKX0gc3R5bGU9e3N0eWxlfT5cbiAgICAgICAgICA8Q2hvaWNlc1xuICAgICAgICAgICAgY2hvaWNlUG9zaXRpb249e2Nob2ljZVBvc2l0aW9ufVxuICAgICAgICAgICAgY2hvaWNlcz17Y2hvaWNlc31cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIGR1cGxpY2F0ZXM9e2R1cGxpY2F0ZXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBpbnN0YW5jZUlkPXtpbnN0YW5jZUlkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPE1hc2tlZFxuICAgICAgICAgICAgZWxlbWVudFR5cGU9XCJkcmFnLWluLXRoZS1ibGFua1wiXG4gICAgICAgICAgICBtYXJrdXA9e21hcmt1cH1cbiAgICAgICAgICAgIGxheW91dD17bGF5b3V0fVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgY2hvaWNlcz17Y2hvaWNlc31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGR1cGxpY2F0ZXM9e2R1cGxpY2F0ZXN9XG4gICAgICAgICAgICBmZWVkYmFjaz17ZmVlZGJhY2t9XG4gICAgICAgICAgICBjb3JyZWN0UmVzcG9uc2U9e2NvcnJlY3RSZXNwb25zZX1cbiAgICAgICAgICAgIHNob3dDb3JyZWN0QW5zd2VyPXtzaG93Q29ycmVjdEFuc3dlcn1cbiAgICAgICAgICAgIGVtcHR5UmVzcG9uc2VBcmVhV2lkdGg9e2VtcHR5UmVzcG9uc2VBcmVhV2lkdGh9XG4gICAgICAgICAgICBlbXB0eVJlc3BvbnNlQXJlYUhlaWdodD17ZW1wdHlSZXNwb25zZUFyZWFIZWlnaHR9XG4gICAgICAgICAgICBpbnN0YW5jZUlkPXtpbnN0YW5jZUlkfVxuICAgICAgICAgICAgaXNEcmFnZ2luZz17ISF0aGlzLnN0YXRlLmFjdGl2ZURyYWdJdGVtfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPERyYWdPdmVybGF5IHN0eWxlPXt7IHBvaW50ZXJFdmVudHM6IFwibm9uZVwiIH19PlxuICAgICAgICAgICAge3RoaXMucmVuZGVyRHJhZ092ZXJsYXkoKX1cbiAgICAgICAgICA8L0RyYWdPdmVybGF5PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvRHJhZ1Byb3ZpZGVyPlxuICAgICk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLFFBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUF1QyxTQUFBUSxXQUFBQyxDQUFBLEVB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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/drag-in-the-blank.jsx"],"names":["Masked","props","node","data","onChange","dataset","component","disabled","duplicates","correctResponse","feedback","showCorrectAnswer","emptyResponseAreaWidth","emptyResponseAreaHeight","choiceId","id","choice","choices","find","c","type","DragInTheBlank","choicePosition","flexDirection","justifyContent","alignItems","rootRef","markup","layout","value","choicesPosition","style","display","minWidth","getPositionDirection","ref","React","Component","PropTypes","string","object","arrayOf","shape","label","func","bool","oneOfType","number"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport Choices from './choices';\nimport Blank from './components/blank';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nconst Masked = withMask('blank', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'blank') {\n // eslint-disable-next-line react/prop-types\n const {\n disabled,\n duplicates,\n correctResponse,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\n // eslint-disable-next-line react/prop-types\n const choice = choiceId && props.choices.find((c) => c.id === choiceId);\n\n return (\n <Blank\n key={`${node.type}-${dataset.id}`}\n correct={showCorrectAnswer || (feedback && feedback[dataset.id])}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n id={dataset.id}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n onChange={onChange}\n />\n );\n }\n});\n\nexport default class DragInTheBlank extends React.Component {\n static propTypes = {\n markup: PropTypes.string,\n layout: PropTypes.object,\n choicesPosition: PropTypes.string,\n choices: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })),\n value: PropTypes.object,\n onChange: PropTypes.func,\n duplicates: PropTypes.bool,\n disabled: PropTypes.bool,\n feedback: PropTypes.object,\n correctResponse: PropTypes.object,\n showCorrectAnswer: PropTypes.bool,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n };\n\n UNSAFE_componentWillReceiveProps() {\n if (this.rootRef) {\n renderMath(this.rootRef);\n }\n }\n\n componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n let justifyContent;\n let alignItems;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n alignItems = 'center';\n break;\n case 'right':\n flexDirection = 'row-reverse';\n justifyContent = 'flex-end';\n alignItems = 'center';\n break;\n case 'below':\n flexDirection = 'column-reverse';\n break;\n default:\n // above\n flexDirection = 'column';\n break;\n }\n\n return { flexDirection, justifyContent, alignItems };\n };\n\n render() {\n const {\n markup,\n duplicates,\n layout,\n value,\n onChange,\n choicesPosition,\n choices,\n correctResponse,\n disabled,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = {\n display: 'flex',\n minWidth: '100px',\n ...this.getPositionDirection(choicePosition),\n };\n\n return (\n <div ref={(ref) => ref && (this.rootRef = ref)} style={style}>\n <Choices\n choicePosition={choicePosition}\n duplicates={duplicates}\n choices={choices}\n value={value}\n disabled={disabled}\n />\n <Masked\n elementType={'drag-in-the-blank'}\n markup={markup}\n layout={layout}\n value={value}\n choices={choices}\n onChange={onChange}\n disabled={disabled}\n duplicates={duplicates}\n feedback={feedback}\n correctResponse={correctResponse}\n showCorrectAnswer={showCorrectAnswer}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n />\n </div>\n );\n }\n}\n"],"file":"drag-in-the-blank.js"}
1
+ {"version":3,"file":"drag-in-the-blank.js","names":["_react","_interopRequireDefault","require","_propTypes","_drag","_core","_choices","_choice","_blank","_withMask","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Masked","withMask","props","node","data","onChange","_node$data","dataset","component","disabled","duplicates","correctResponse","feedback","showCorrectAnswer","emptyResponseAreaWidth","emptyResponseAreaHeight","instanceId","isDragging","choiceId","id","choice","choices","find","c","createElement","key","concat","type","correct","newData","undefined","DragInTheBlank","exports","_React$Component","_this","_classCallCheck2","event","_active$data","active","current","setState","activeDragItem","state","_dropData$accepts","over","_this$props","value","draggedData","dropData","accepts","includes","draggedItem","targetId","fromChoice","newValue","toChoiceBoard","choicePosition","flexDirection","justifyContent","alignItems","_inherits2","_createClass2","render","_this2","_this$props2","markup","choicesPosition","layout","style","display","minWidth","getPositionDirection","DragProvider","onDragStart","handleDragStart","onDragEnd","handleDragEnd","collisionDetection","closestCenter","ref","rootRef","elementType","DragOverlay","pointerEvents","renderDragOverlay","React","Component","PropTypes","string","object","array","func","bool","oneOfType","number"],"sources":["../src/drag-in-the-blank.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DragProvider } from '@pie-lib/drag';\nimport { DragOverlay, closestCenter } from '@dnd-kit/core';\n\nimport Choices from './choices';\nimport Choice from './choices/choice';\nimport Blank from './components/blank';\nimport { withMask } from './with-mask';\n\nconst Masked = withMask('blank', (props) => (node, data, onChange) => {\n const dataset = node.data?.dataset || {};\n if (dataset.component === 'blank') {\n // eslint-disable-next-line react/prop-types\n const {\n disabled,\n duplicates,\n correctResponse,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n instanceId,\n isDragging\n } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\n // eslint-disable-next-line react/prop-types\n const choice = choiceId && props.choices.find((c) => c.id === choiceId);\n\n return (\n <Blank\n key={`${node.type}-${dataset.id}`}\n correct={showCorrectAnswer || (feedback && feedback[dataset.id])}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n id={dataset.id}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n onChange={(id, choiceId) => {\n const newData = { ...data };\n if (choiceId === undefined) {\n delete newData[id];\n } else {\n newData[id] = choiceId;\n }\n onChange(newData);\n }}\n instanceId={instanceId}\n isDragging={isDragging}\n />\n );\n }\n});\n\nexport default class DragInTheBlank extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n activeDragItem: null,\n };\n }\n\n static propTypes = {\n markup: PropTypes.string,\n layout: PropTypes.object,\n choicesPosition: PropTypes.string,\n choices: PropTypes.array,\n value: PropTypes.object,\n onChange: PropTypes.func,\n duplicates: PropTypes.bool,\n disabled: PropTypes.bool,\n feedback: PropTypes.object,\n correctResponse: PropTypes.object,\n showCorrectAnswer: PropTypes.bool,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n instanceId: PropTypes.string,\n };\n\n static defaultProps = {\n instanceId: 'drag-in-the-blank',\n };\n\n handleDragStart = (event) => {\n const { active } = event;\n\n if (active?.data?.current) {\n this.setState({\n activeDragItem: active.data.current,\n });\n }\n };\n\n renderDragOverlay = () => {\n const { activeDragItem } = this.state;\n if (!activeDragItem) return null;\n\n if (activeDragItem.type === 'MaskBlank') {\n return (\n <Choice\n disabled={activeDragItem.disabled}\n choice={activeDragItem.choice}\n instanceId={activeDragItem.instanceId}\n />\n );\n }\n\n return null;\n };\n\n handleDragEnd = (event) => {\n const { active, over } = event;\n const { onChange, value } = this.props;\n\n if (!over || !active || !onChange) {\n return;\n }\n\n const draggedData = active.data.current;\n const dropData = over.data.current;\n\n if (draggedData?.type === 'MaskBlank' && dropData?.accepts?.includes('MaskBlank')) {\n const draggedItem = draggedData;\n const targetId = dropData.id;\n\n // drop from choice to blank (placing choice into response)\n if (draggedItem.fromChoice === true) {\n const newValue = { ...value };\n newValue[targetId] = draggedItem.choice.id;\n onChange(newValue);\n } else if (dropData.toChoiceBoard === true) {\n // handle drop from blank to choice board (removal from blank)\n const newValue = { ...value };\n delete newValue[draggedItem.id];\n onChange(newValue);\n }\n // handle drop from blank to blank (changing position)\n else if (draggedItem.id !== targetId) {\n const newValue = { ...value };\n newValue[targetId] = draggedItem.choice.id;\n delete newValue[draggedItem.id];\n onChange(newValue);\n }\n }\n this.setState({ activeDragItem: null });\n };\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n let justifyContent;\n let alignItems;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n alignItems = 'center';\n break;\n case 'right':\n flexDirection = 'row-reverse';\n justifyContent = 'flex-end';\n alignItems = 'center';\n break;\n case 'below':\n flexDirection = 'column-reverse';\n break;\n default:\n // above\n flexDirection = 'column';\n break;\n }\n\n return { flexDirection, justifyContent, alignItems };\n };\n\n render() {\n const {\n markup,\n duplicates,\n value,\n onChange,\n choicesPosition,\n choices,\n correctResponse,\n disabled,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n layout,\n instanceId\n } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = { display: 'flex', minWidth: '100px', ...this.getPositionDirection(choicePosition) };\n\n return (\n <DragProvider\n onDragStart={this.handleDragStart}\n onDragEnd={this.handleDragEnd}\n collisionDetection={closestCenter}\n >\n <div ref={(ref) => (this.rootRef = ref)} style={style}>\n <Choices\n choicePosition={choicePosition}\n choices={choices}\n value={value}\n duplicates={duplicates}\n disabled={disabled}\n instanceId={instanceId}\n />\n <Masked\n elementType=\"drag-in-the-blank\"\n markup={markup}\n layout={layout}\n value={value}\n choices={choices}\n onChange={onChange}\n disabled={disabled}\n duplicates={duplicates}\n feedback={feedback}\n correctResponse={correctResponse}\n showCorrectAnswer={showCorrectAnswer}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n instanceId={instanceId}\n isDragging={!!this.state.activeDragItem}\n />\n <DragOverlay style={{ pointerEvents: \"none\" }}>\n {this.renderDragOverlay()}\n </DragOverlay>\n </div>\n </DragProvider>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,OAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AAAuC,SAAAQ,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,SAAAc,QAAAZ,CAAA,EAAAa,CAAA,QAAAf,CAAA,GAAAgB,MAAA,CAAAC,IAAA,CAAAf,CAAA,OAAAc,MAAA,CAAAE,qBAAA,QAAAjB,CAAA,GAAAe,MAAA,CAAAE,qBAAA,CAAAhB,CAAA,GAAAa,CAAA,KAAAd,CAAA,GAAAA,CAAA,CAAAkB,MAAA,WAAAJ,CAAA,WAAAC,MAAA,CAAAI,wBAAA,CAAAlB,CAAA,EAAAa,CAAA,EAAAM,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAb,KAAA,CAAAT,CAAA,EAAAC,CAAA,YAAAD,CAAA;AAAA,SAAAuB,cAAArB,CAAA,aAAAa,CAAA,MAAAA,CAAA,GAAAS,SAAA,CAAAC,MAAA,EAAAV,CAAA,UAAAf,CAAA,WAAAwB,SAAA,CAAAT,CAAA,IAAAS,SAAA,CAAAT,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAE,MAAA,CAAAhB,CAAA,OAAA0B,OAAA,WAAAX,CAAA,QAAAY,gBAAA,aAAAzB,CAAA,EAAAa,CAAA,EAAAf,CAAA,CAAAe,CAAA,SAAAC,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA3B,CAAA,EAAAc,MAAA,CAAAY,yBAAA,CAAA5B,CAAA,KAAAc,OAAA,CAAAE,MAAA,CAAAhB,CAAA,GAAA0B,OAAA,WAAAX,CAAA,IAAAC,MAAA,CAAAc,cAAA,CAAA5B,CAAA,EAAAa,CAAA,EAAAC,MAAA,CAAAI,wBAAA,CAAApB,CAAA,EAAAe,CAAA,iBAAAb,CAAA;AAEvC,IAAM6B,MAAM,GAAG,IAAAC,kBAAQ,EAAC,OAAO,EAAE,UAACC,KAAK;EAAA,OAAK,UAACC,IAAI,EAAEC,IAAI,EAAEC,SAAQ,EAAK;IAAA,IAAAC,UAAA;IACpE,IAAMC,OAAO,GAAG,EAAAD,UAAA,GAAAH,IAAI,CAACC,IAAI,cAAAE,UAAA,uBAATA,UAAA,CAAWC,OAAO,KAAI,CAAC,CAAC;IACxC,IAAIA,OAAO,CAACC,SAAS,KAAK,OAAO,EAAE;MACjC;MACA,IACEC,QAAQ,GASNP,KAAK,CATPO,QAAQ;QACRC,UAAU,GAQRR,KAAK,CARPQ,UAAU;QACVC,eAAe,GAObT,KAAK,CAPPS,eAAe;QACfC,QAAQ,GAMNV,KAAK,CANPU,QAAQ;QACRC,iBAAiB,GAKfX,KAAK,CALPW,iBAAiB;QACjBC,sBAAsB,GAIpBZ,KAAK,CAJPY,sBAAsB;QACtBC,uBAAuB,GAGrBb,KAAK,CAHPa,uBAAuB;QACvBC,UAAU,GAERd,KAAK,CAFPc,UAAU;QACVC,UAAU,GACRf,KAAK,CADPe,UAAU;MAEZ,IAAMC,QAAQ,GAAGL,iBAAiB,GAAGF,eAAe,CAACJ,OAAO,CAACY,EAAE,CAAC,GAAGf,IAAI,CAACG,OAAO,CAACY,EAAE,CAAC;MACnF;MACA,IAAMC,MAAM,GAAGF,QAAQ,IAAIhB,KAAK,CAACmB,OAAO,CAACC,IAAI,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAACJ,EAAE,KAAKD,QAAQ;MAAA,EAAC;MAEvE,oBACE5D,MAAA,YAAAkE,aAAA,CAAC1D,MAAA,WAAK;QACJ2D,GAAG,KAAAC,MAAA,CAAKvB,IAAI,CAACwB,IAAI,OAAAD,MAAA,CAAInB,OAAO,CAACY,EAAE,CAAG;QAClCS,OAAO,EAAEf,iBAAiB,IAAKD,QAAQ,IAAIA,QAAQ,CAACL,OAAO,CAACY,EAAE,CAAG;QACjEV,QAAQ,EAAEA,QAAS;QACnBC,UAAU,EAAEA,UAAW;QACvBU,MAAM,EAAEA,MAAO;QACfD,EAAE,EAAEZ,OAAO,CAACY,EAAG;QACfL,sBAAsB,EAAEA,sBAAuB;QAC/CC,uBAAuB,EAAEA,uBAAwB;QACjDV,QAAQ,EAAE,SAAVA,QAAQA,CAAGc,EAAE,EAAED,QAAQ,EAAK;UAC1B,IAAMW,OAAO,GAAArC,aAAA,KAAQY,IAAI,CAAE;UAC3B,IAAIc,QAAQ,KAAKY,SAAS,EAAE;YAC1B,OAAOD,OAAO,CAACV,EAAE,CAAC;UACpB,CAAC,MAAM;YACLU,OAAO,CAACV,EAAE,CAAC,GAAGD,QAAQ;UACxB;UACAb,SAAQ,CAACwB,OAAO,CAAC;QACnB,CAAE;QACFb,UAAU,EAAEA,UAAW;QACvBC,UAAU,EAAEA;MAAW,CACxB,CAAC;IAEN;EACF,CAAC;AAAA,EAAC;AAAC,IAEkBc,cAAc,GAAAC,OAAA,qCAAAC,gBAAA;EACjC,SAAAF,eAAY7B,KAAK,EAAE;IAAA,IAAAgC,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,cAAA;IACjBG,KAAA,GAAAlE,UAAA,OAAA+D,cAAA,GAAM7B,KAAK;IAAE,IAAAN,gBAAA,aAAAsC,KAAA,qBA2BG,UAACE,KAAK,EAAK;MAAA,IAAAC,YAAA;MAC3B,IAAQC,MAAM,GAAKF,KAAK,CAAhBE,MAAM;MAEd,IAAIA,MAAM,aAANA,MAAM,gBAAAD,YAAA,GAANC,MAAM,CAAElC,IAAI,cAAAiC,YAAA,eAAZA,YAAA,CAAcE,OAAO,EAAE;QACzBL,KAAA,CAAKM,QAAQ,CAAC;UACZC,cAAc,EAAEH,MAAM,CAAClC,IAAI,CAACmC;QAC9B,CAAC,CAAC;MACJ;IACF,CAAC;IAAA,IAAA3C,gBAAA,aAAAsC,KAAA,uBAEmB,YAAM;MACxB,IAAQO,cAAc,GAAKP,KAAA,CAAKQ,KAAK,CAA7BD,cAAc;MACtB,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;MAEhC,IAAIA,cAAc,CAACd,IAAI,KAAK,WAAW,EAAE;QACvC,oBACErE,MAAA,YAAAkE,aAAA,CAAC3D,OAAA,WAAM;UACL4C,QAAQ,EAAEgC,cAAc,CAAChC,QAAS;UAClCW,MAAM,EAAEqB,cAAc,CAACrB,MAAO;UAC9BJ,UAAU,EAAEyB,cAAc,CAACzB;QAAW,CACvC,CAAC;MAEN;MAEA,OAAO,IAAI;IACb,CAAC;IAAA,IAAApB,gBAAA,aAAAsC,KAAA,mBAEe,UAACE,KAAK,EAAK;MAAA,IAAAO,iBAAA;MACzB,IAAQL,MAAM,GAAWF,KAAK,CAAtBE,MAAM;QAAEM,IAAI,GAAKR,KAAK,CAAdQ,IAAI;MACpB,IAAAC,WAAA,GAA4BX,KAAA,CAAKhC,KAAK;QAA9BG,QAAQ,GAAAwC,WAAA,CAARxC,QAAQ;QAAEyC,KAAK,GAAAD,WAAA,CAALC,KAAK;MAEvB,IAAI,CAACF,IAAI,IAAI,CAACN,MAAM,IAAI,CAACjC,QAAQ,EAAE;QACjC;MACF;MAEA,IAAM0C,WAAW,GAAGT,MAAM,CAAClC,IAAI,CAACmC,OAAO;MACvC,IAAMS,QAAQ,GAAGJ,IAAI,CAACxC,IAAI,CAACmC,OAAO;MAElC,IAAI,CAAAQ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEpB,IAAI,MAAK,WAAW,IAAIqB,QAAQ,aAARA,QAAQ,gBAAAL,iBAAA,GAARK,QAAQ,CAAEC,OAAO,cAAAN,iBAAA,eAAjBA,iBAAA,CAAmBO,QAAQ,CAAC,WAAW,CAAC,EAAE;QACjF,IAAMC,WAAW,GAAGJ,WAAW;QAC/B,IAAMK,QAAQ,GAAGJ,QAAQ,CAAC7B,EAAE;;QAE5B;QACA,IAAIgC,WAAW,CAACE,UAAU,KAAK,IAAI,EAAE;UACnC,IAAMC,QAAQ,GAAA9D,aAAA,KAAQsD,KAAK,CAAE;UAC7BQ,QAAQ,CAACF,QAAQ,CAAC,GAAGD,WAAW,CAAC/B,MAAM,CAACD,EAAE;UAC1Cd,QAAQ,CAACiD,QAAQ,CAAC;QACpB,CAAC,MAAM,IAAIN,QAAQ,CAACO,aAAa,KAAK,IAAI,EAAE;UAC1C;UACA,IAAMD,SAAQ,GAAA9D,aAAA,KAAQsD,KAAK,CAAE;UAC7B,OAAOQ,SAAQ,CAACH,WAAW,CAAChC,EAAE,CAAC;UAC/Bd,QAAQ,CAACiD,SAAQ,CAAC;QACpB;QACA;QAAA,KACK,IAAIH,WAAW,CAAChC,EAAE,KAAKiC,QAAQ,EAAE;UACpC,IAAME,UAAQ,GAAA9D,aAAA,KAAQsD,KAAK,CAAE;UAC7BQ,UAAQ,CAACF,QAAQ,CAAC,GAAGD,WAAW,CAAC/B,MAAM,CAACD,EAAE;UAC1C,OAAOmC,UAAQ,CAACH,WAAW,CAAChC,EAAE,CAAC;UAC/Bd,QAAQ,CAACiD,UAAQ,CAAC;QACpB;MACF;MACApB,KAAA,CAAKM,QAAQ,CAAC;QAAEC,cAAc,EAAE;MAAK,CAAC,CAAC;IACzC,CAAC;IAAA,IAAA7C,gBAAA,aAAAsC,KAAA,0BAEsB,UAACsB,cAAc,EAAK;MACzC,IAAIC,aAAa;MACjB,IAAIC,cAAc;MAClB,IAAIC,UAAU;MAEd,QAAQH,cAAc;QACpB,KAAK,MAAM;UACTC,aAAa,GAAG,KAAK;UACrBE,UAAU,GAAG,QAAQ;UACrB;QACF,KAAK,OAAO;UACVF,aAAa,GAAG,aAAa;UAC7BC,cAAc,GAAG,UAAU;UAC3BC,UAAU,GAAG,QAAQ;UACrB;QACF,KAAK,OAAO;UACVF,aAAa,GAAG,gBAAgB;UAChC;QACF;UACE;UACAA,aAAa,GAAG,QAAQ;UACxB;MACJ;MAEA,OAAO;QAAEA,aAAa,EAAbA,aAAa;QAAEC,cAAc,EAAdA,cAAc;QAAEC,UAAU,EAAVA;MAAW,CAAC;IACtD,CAAC;IAnHCzB,KAAA,CAAKQ,KAAK,GAAG;MACXD,cAAc,EAAE;IAClB,CAAC;IAAC,OAAAP,KAAA;EACJ;EAAC,IAAA0B,UAAA,aAAA7B,cAAA,EAAAE,gBAAA;EAAA,WAAA4B,aAAA,aAAA9B,cAAA;IAAAN,GAAA;IAAAqB,KAAA,EAkHD,SAAAgB,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,YAAA,GAeI,IAAI,CAAC9D,KAAK;QAdZ+D,MAAM,GAAAD,YAAA,CAANC,MAAM;QACNvD,UAAU,GAAAsD,YAAA,CAAVtD,UAAU;QACVoC,KAAK,GAAAkB,YAAA,CAALlB,KAAK;QACLzC,QAAQ,GAAA2D,YAAA,CAAR3D,QAAQ;QACR6D,eAAe,GAAAF,YAAA,CAAfE,eAAe;QACf7C,OAAO,GAAA2C,YAAA,CAAP3C,OAAO;QACPV,eAAe,GAAAqD,YAAA,CAAfrD,eAAe;QACfF,QAAQ,GAAAuD,YAAA,CAARvD,QAAQ;QACRG,QAAQ,GAAAoD,YAAA,CAARpD,QAAQ;QACRC,iBAAiB,GAAAmD,YAAA,CAAjBnD,iBAAiB;QACjBC,sBAAsB,GAAAkD,YAAA,CAAtBlD,sBAAsB;QACtBC,uBAAuB,GAAAiD,YAAA,CAAvBjD,uBAAuB;QACvBoD,MAAM,GAAAH,YAAA,CAANG,MAAM;QACNnD,UAAU,GAAAgD,YAAA,CAAVhD,UAAU;MAGZ,IAAMwC,cAAc,GAAGU,eAAe,IAAI,OAAO;MACjD,IAAME,KAAK,GAAA5E,aAAA;QAAK6E,OAAO,EAAE,MAAM;QAAEC,QAAQ,EAAE;MAAO,GAAK,IAAI,CAACC,oBAAoB,CAACf,cAAc,CAAC,CAAE;MAElG,oBACElG,MAAA,YAAAkE,aAAA,CAAC9D,KAAA,CAAA8G,YAAY;QACXC,WAAW,EAAE,IAAI,CAACC,eAAgB;QAClCC,SAAS,EAAE,IAAI,CAACC,aAAc;QAC9BC,kBAAkB,EAAEC;MAAc,gBAElCxH,MAAA,YAAAkE,aAAA;QAAKuD,GAAG,EAAE,SAALA,GAAGA,CAAGA,IAAG;UAAA,OAAMhB,MAAI,CAACiB,OAAO,GAAGD,IAAG;QAAA,CAAE;QAACX,KAAK,EAAEA;MAAM,gBACpD9G,MAAA,YAAAkE,aAAA,CAAC5D,QAAA,WAAO;QACN4F,cAAc,EAAEA,cAAe;QAC/BnC,OAAO,EAAEA,OAAQ;QACjByB,KAAK,EAAEA,KAAM;QACbpC,UAAU,EAAEA,UAAW;QACvBD,QAAQ,EAAEA,QAAS;QACnBO,UAAU,EAAEA;MAAW,CACxB,CAAC,eACF1D,MAAA,YAAAkE,aAAA,CAACxB,MAAM;QACLiF,WAAW,EAAC,mBAAmB;QAC/BhB,MAAM,EAAEA,MAAO;QACfE,MAAM,EAAEA,MAAO;QACfrB,KAAK,EAAEA,KAAM;QACbzB,OAAO,EAAEA,OAAQ;QACjBhB,QAAQ,EAAEA,QAAS;QACnBI,QAAQ,EAAEA,QAAS;QACnBC,UAAU,EAAEA,UAAW;QACvBE,QAAQ,EAAEA,QAAS;QACnBD,eAAe,EAAEA,eAAgB;QACjCE,iBAAiB,EAAEA,iBAAkB;QACrCC,sBAAsB,EAAEA,sBAAuB;QAC/CC,uBAAuB,EAAEA,uBAAwB;QACjDC,UAAU,EAAEA,UAAW;QACvBC,UAAU,EAAE,CAAC,CAAC,IAAI,CAACyB,KAAK,CAACD;MAAe,CACzC,CAAC,eACFnF,MAAA,YAAAkE,aAAA,CAAC7D,KAAA,CAAAuH,WAAW;QAACd,KAAK,EAAE;UAAEe,aAAa,EAAE;QAAO;MAAE,GAC3C,IAAI,CAACC,iBAAiB,CAAC,CACb,CACV,CACO,CAAC;IAEnB;EAAC;AAAA,EAnLyCC,iBAAK,CAACC,SAAS;AAAA,IAAA1F,gBAAA,aAAtCmC,cAAc,eAQd;EACjBkC,MAAM,EAAEsB,qBAAS,CAACC,MAAM;EACxBrB,MAAM,EAAEoB,qBAAS,CAACE,MAAM;EACxBvB,eAAe,EAAEqB,qBAAS,CAACC,MAAM;EACjCnE,OAAO,EAAEkE,qBAAS,CAACG,KAAK;EACxB5C,KAAK,EAAEyC,qBAAS,CAACE,MAAM;EACvBpF,QAAQ,EAAEkF,qBAAS,CAACI,IAAI;EACxBjF,UAAU,EAAE6E,qBAAS,CAACK,IAAI;EAC1BnF,QAAQ,EAAE8E,qBAAS,CAACK,IAAI;EACxBhF,QAAQ,EAAE2E,qBAAS,CAACE,MAAM;EAC1B9E,eAAe,EAAE4E,qBAAS,CAACE,MAAM;EACjC5E,iBAAiB,EAAE0E,qBAAS,CAACK,IAAI;EACjC9E,sBAAsB,EAAEyE,qBAAS,CAACM,SAAS,CAAC,CAACN,qBAAS,CAACC,MAAM,EAAED,qBAAS,CAACO,MAAM,CAAC,CAAC;EACjF/E,uBAAuB,EAAEwE,qBAAS,CAACM,SAAS,CAAC,CAACN,qBAAS,CAACC,MAAM,EAAED,qBAAS,CAACO,MAAM,CAAC,CAAC;EAClF9E,UAAU,EAAEuE,qBAAS,CAACC;AACxB,CAAC;AAAA,IAAA5F,gBAAA,aAvBkBmC,cAAc,kBAyBX;EACpBf,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
package/lib/index.js CHANGED
@@ -1,7 +1,6 @@
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
  });
@@ -47,16 +46,10 @@ Object.defineProperty(exports, "withMask", {
47
46
  return _withMask.withMask;
48
47
  }
49
48
  });
50
-
51
49
  var _withMask = require("./with-mask");
52
-
53
50
  var _dragInTheBlank = _interopRequireDefault(require("./drag-in-the-blank"));
54
-
55
51
  var _constructedResponse = _interopRequireDefault(require("./constructed-response"));
56
-
57
52
  var _customizable = _interopRequireDefault(require("./customizable"));
58
-
59
53
  var _inlineDropdown = _interopRequireDefault(require("./inline-dropdown"));
60
-
61
54
  var _componentize = _interopRequireDefault(require("./componentize"));
62
- //# sourceMappingURL=index.js.map
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2l0aE1hc2siLCJyZXF1aXJlIiwiX2RyYWdJblRoZUJsYW5rIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb25zdHJ1Y3RlZFJlc3BvbnNlIiwiX2N1c3RvbWl6YWJsZSIsIl9pbmxpbmVEcm9wZG93biIsIl9jb21wb25lbnRpemUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd2l0aE1hc2ssIGJ1aWxkTGF5b3V0RnJvbU1hcmt1cCB9IGZyb20gJy4vd2l0aC1tYXNrJztcbmltcG9ydCBEcmFnSW5UaGVCbGFuayBmcm9tICcuL2RyYWctaW4tdGhlLWJsYW5rJztcbmltcG9ydCBDb25zdHJ1Y3RlZFJlc3BvbnNlIGZyb20gJy4vY29uc3RydWN0ZWQtcmVzcG9uc2UnO1xuaW1wb3J0IEN1c3RvbWl6YWJsZSBmcm9tICcuL2N1c3RvbWl6YWJsZSc7XG5pbXBvcnQgSW5saW5lRHJvcGRvd24gZnJvbSAnLi9pbmxpbmUtZHJvcGRvd24nO1xuaW1wb3J0IGNvbXBvbmVudGl6ZSBmcm9tICcuL2NvbXBvbmVudGl6ZSc7XG5cbmV4cG9ydCB7XG4gIHdpdGhNYXNrLFxuICBidWlsZExheW91dEZyb21NYXJrdXAsXG4gIERyYWdJblRoZUJsYW5rLFxuICBDb25zdHJ1Y3RlZFJlc3BvbnNlLFxuICBJbmxpbmVEcm9wZG93bixcbiAgY29tcG9uZW50aXplLFxuICBDdXN0b21pemFibGUsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxTQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssZUFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sYUFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBIiwiaWdub3JlTGlzdCI6W119
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import { withMask, buildLayoutFromMarkup } from './with-mask';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ConstructedResponse from './constructed-response';\nimport Customizable from './customizable';\nimport InlineDropdown from './inline-dropdown';\nimport componentize from './componentize';\n\nexport {\n withMask,\n buildLayoutFromMarkup,\n DragInTheBlank,\n ConstructedResponse,\n InlineDropdown,\n componentize,\n Customizable,\n};\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_withMask","require","_dragInTheBlank","_interopRequireDefault","_constructedResponse","_customizable","_inlineDropdown","_componentize"],"sources":["../src/index.js"],"sourcesContent":["import { withMask, buildLayoutFromMarkup } from './with-mask';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ConstructedResponse from './constructed-response';\nimport Customizable from './customizable';\nimport InlineDropdown from './inline-dropdown';\nimport componentize from './componentize';\n\nexport {\n withMask,\n buildLayoutFromMarkup,\n DragInTheBlank,\n ConstructedResponse,\n InlineDropdown,\n componentize,\n Customizable,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,eAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA","ignoreList":[]}
@@ -1,29 +1,23 @@
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 _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _dropdown = _interopRequireDefault(require("./components/dropdown"));
13
-
14
10
  var _withMask = require("./with-mask");
15
-
16
11
  // eslint-disable-next-line react/display-name
17
- var _default = (0, _withMask.withMask)('dropdown', function (props) {
12
+ var _default = exports["default"] = (0, _withMask.withMask)('dropdown', function (props) {
18
13
  return function (node, data, onChange) {
19
14
  var dataset = node.data ? node.data.dataset || {} : {};
20
-
21
15
  if (dataset.component === 'dropdown') {
22
16
  // eslint-disable-next-line react/prop-types
23
17
  var choices = props.choices,
24
- disabled = props.disabled,
25
- feedback = props.feedback,
26
- showCorrectAnswer = props.showCorrectAnswer;
18
+ disabled = props.disabled,
19
+ feedback = props.feedback,
20
+ showCorrectAnswer = props.showCorrectAnswer;
27
21
  var correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find(function (c) {
28
22
  return c.correct;
29
23
  });
@@ -43,6 +37,4 @@ var _default = (0, _withMask.withMask)('dropdown', function (props) {
43
37
  }
44
38
  };
45
39
  });
46
-
47
- exports["default"] = _default;
48
- //# sourceMappingURL=inline-dropdown.js.map
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kcm9wZG93biIsIl93aXRoTWFzayIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIndpdGhNYXNrIiwicHJvcHMiLCJub2RlIiwiZGF0YSIsIm9uQ2hhbmdlIiwiZGF0YXNldCIsImNvbXBvbmVudCIsImNob2ljZXMiLCJkaXNhYmxlZCIsImZlZWRiYWNrIiwic2hvd0NvcnJlY3RBbnN3ZXIiLCJjb3JyZWN0QW5zd2VyIiwiaWQiLCJmaW5kIiwiYyIsImNvcnJlY3QiLCJmaW5hbENob2ljZSIsInZhbHVlIiwiY3JlYXRlRWxlbWVudCIsImtleSIsImNvbmNhdCIsInR5cGUiLCJjb3JyZWN0VmFsdWUiLCJsYWJlbCIsInVuZGVmaW5lZCIsInNpbmdsZVF1ZXJ5IiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmxpbmUtZHJvcGRvd24uanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgRHJvcGRvd24gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IHdpdGhNYXNrIH0gZnJvbSAnLi93aXRoLW1hc2snO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG5leHBvcnQgZGVmYXVsdCB3aXRoTWFzaygnZHJvcGRvd24nLCAocHJvcHMpID0+IChub2RlLCBkYXRhLCBvbkNoYW5nZSkgPT4ge1xuICBjb25zdCBkYXRhc2V0ID0gbm9kZS5kYXRhID8gbm9kZS5kYXRhLmRhdGFzZXQgfHwge30gOiB7fTtcbiAgaWYgKGRhdGFzZXQuY29tcG9uZW50ID09PSAnZHJvcGRvd24nKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L3Byb3AtdHlwZXNcbiAgICBjb25zdCB7IGNob2ljZXMsIGRpc2FibGVkLCBmZWVkYmFjaywgc2hvd0NvcnJlY3RBbnN3ZXIgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvcnJlY3RBbnN3ZXIgPSBjaG9pY2VzICYmIGNob2ljZXNbZGF0YXNldC5pZF0gJiYgY2hvaWNlc1tkYXRhc2V0LmlkXS5maW5kKChjKSA9PiBjLmNvcnJlY3QpO1xuICAgIGNvbnN0IGZpbmFsQ2hvaWNlID0gc2hvd0NvcnJlY3RBbnN3ZXIgPyBjb3JyZWN0QW5zd2VyICYmIGNvcnJlY3RBbnN3ZXIudmFsdWUgOiBkYXRhW2RhdGFzZXQuaWRdO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxEcm9wZG93blxuICAgICAgICBrZXk9e2Ake25vZGUudHlwZX0tZHJvcGRvd24tJHtkYXRhc2V0LmlkfWB9XG4gICAgICAgIGNvcnJlY3Q9e2ZlZWRiYWNrICYmIGZlZWRiYWNrW2RhdGFzZXQuaWRdICYmIGZlZWRiYWNrW2RhdGFzZXQuaWRdID09PSAnY29ycmVjdCd9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCB8fCBzaG93Q29ycmVjdEFuc3dlcn1cbiAgICAgICAgdmFsdWU9e2ZpbmFsQ2hvaWNlfVxuICAgICAgICBjb3JyZWN0VmFsdWU9e3Nob3dDb3JyZWN0QW5zd2VyID8gY29ycmVjdEFuc3dlciAmJiBjb3JyZWN0QW5zd2VyLmxhYmVsIDogdW5kZWZpbmVkfVxuICAgICAgICBpZD17ZGF0YXNldC5pZH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBjaG9pY2VzPXtjaG9pY2VzW2RhdGFzZXQuaWRdfVxuICAgICAgICBzaG93Q29ycmVjdEFuc3dlcj17c2hvd0NvcnJlY3RBbnN3ZXJ9XG4gICAgICAgIHNpbmdsZVF1ZXJ5PXtPYmplY3Qua2V5cyhjaG9pY2VzKS5sZW5ndGggPT0gMX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFFQTtBQUFBLElBQUFHLFFBQUEsR0FBQUMsT0FBQSxjQUNlLElBQUFDLGtCQUFRLEVBQUMsVUFBVSxFQUFFLFVBQUNDLEtBQUs7RUFBQSxPQUFLLFVBQUNDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUs7SUFDdkUsSUFBTUMsT0FBTyxHQUFHSCxJQUFJLENBQUNDLElBQUksR0FBR0QsSUFBSSxDQUFDQyxJQUFJLENBQUNFLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEQsSUFBSUEsT0FBTyxDQUFDQyxTQUFTLEtBQUssVUFBVSxFQUFFO01BQ3BDO01BQ0EsSUFBUUMsT0FBTyxHQUE0Q04sS0FBSyxDQUF4RE0sT0FBTztRQUFFQyxRQUFRLEdBQWtDUCxLQUFLLENBQS9DTyxRQUFRO1FBQUVDLFFBQVEsR0FBd0JSLEtBQUssQ0FBckNRLFFBQVE7UUFBRUMsaUJBQWlCLEdBQUtULEtBQUssQ0FBM0JTLGlCQUFpQjtNQUN0RCxJQUFNQyxhQUFhLEdBQUdKLE9BQU8sSUFBSUEsT0FBTyxDQUFDRixPQUFPLENBQUNPLEVBQUUsQ0FBQyxJQUFJTCxPQUFPLENBQUNGLE9BQU8sQ0FBQ08sRUFBRSxDQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxDQUFDO1FBQUEsT0FBS0EsQ0FBQyxDQUFDQyxPQUFPO01BQUEsRUFBQztNQUNsRyxJQUFNQyxXQUFXLEdBQUdOLGlCQUFpQixHQUFHQyxhQUFhLElBQUlBLGFBQWEsQ0FBQ00sS0FBSyxHQUFHZCxJQUFJLENBQUNFLE9BQU8sQ0FBQ08sRUFBRSxDQUFDO01BRS9GLG9CQUNFbkIsTUFBQSxZQUFBeUIsYUFBQSxDQUFDdEIsU0FBQSxXQUFRO1FBQ1B1QixHQUFHLEtBQUFDLE1BQUEsQ0FBS2xCLElBQUksQ0FBQ21CLElBQUksZ0JBQUFELE1BQUEsQ0FBYWYsT0FBTyxDQUFDTyxFQUFFLENBQUc7UUFDM0NHLE9BQU8sRUFBRU4sUUFBUSxJQUFJQSxRQUFRLENBQUNKLE9BQU8sQ0FBQ08sRUFBRSxDQUFDLElBQUlILFFBQVEsQ0FBQ0osT0FBTyxDQUFDTyxFQUFFLENBQUMsS0FBSyxTQUFVO1FBQ2hGSixRQUFRLEVBQUVBLFFBQVEsSUFBSUUsaUJBQWtCO1FBQ3hDTyxLQUFLLEVBQUVELFdBQVk7UUFDbkJNLFlBQVksRUFBRVosaUJBQWlCLEdBQUdDLGFBQWEsSUFBSUEsYUFBYSxDQUFDWSxLQUFLLEdBQUdDLFNBQVU7UUFDbkZaLEVBQUUsRUFBRVAsT0FBTyxDQUFDTyxFQUFHO1FBQ2ZSLFFBQVEsRUFBRUEsUUFBUztRQUNuQkcsT0FBTyxFQUFFQSxPQUFPLENBQUNGLE9BQU8sQ0FBQ08sRUFBRSxDQUFFO1FBQzdCRixpQkFBaUIsRUFBRUEsaUJBQWtCO1FBQ3JDZSxXQUFXLEVBQUVDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDcEIsT0FBTyxDQUFDLENBQUNxQixNQUFNLElBQUk7TUFBRSxDQUMvQyxDQUFDO0lBRU47RUFDRixDQUFDO0FBQUEsRUFBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/inline-dropdown.jsx"],"names":["props","node","data","onChange","dataset","component","choices","disabled","feedback","showCorrectAnswer","correctAnswer","id","find","c","correct","finalChoice","value","type","label","undefined","Object","keys","length"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;eACe,wBAAS,UAAT,EAAqB,UAACA,KAAD;AAAA,SAAW,UAACC,IAAD,EAAOC,IAAP,EAAaC,QAAb,EAA0B;AACvE,QAAMC,OAAO,GAAGH,IAAI,CAACC,IAAL,GAAYD,IAAI,CAACC,IAAL,CAAUE,OAAV,IAAqB,EAAjC,GAAsC,EAAtD;;AACA,QAAIA,OAAO,CAACC,SAAR,KAAsB,UAA1B,EAAsC;AACpC;AACA,UAAQC,OAAR,GAA2DN,KAA3D,CAAQM,OAAR;AAAA,UAAiBC,QAAjB,GAA2DP,KAA3D,CAAiBO,QAAjB;AAAA,UAA2BC,QAA3B,GAA2DR,KAA3D,CAA2BQ,QAA3B;AAAA,UAAqCC,iBAArC,GAA2DT,KAA3D,CAAqCS,iBAArC;AACA,UAAMC,aAAa,GAAGJ,OAAO,IAAIA,OAAO,CAACF,OAAO,CAACO,EAAT,CAAlB,IAAkCL,OAAO,CAACF,OAAO,CAACO,EAAT,CAAP,CAAoBC,IAApB,CAAyB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACC,OAAT;AAAA,OAAzB,CAAxD;AACA,UAAMC,WAAW,GAAGN,iBAAiB,GAAGC,aAAa,IAAIA,aAAa,CAACM,KAAlC,GAA0Cd,IAAI,CAACE,OAAO,CAACO,EAAT,CAAnF;AAEA,0BACE,gCAAC,oBAAD;AACE,QAAA,GAAG,YAAKV,IAAI,CAACgB,IAAV,uBAA2Bb,OAAO,CAACO,EAAnC,CADL;AAEE,QAAA,OAAO,EAAEH,QAAQ,IAAIA,QAAQ,CAACJ,OAAO,CAACO,EAAT,CAApB,IAAoCH,QAAQ,CAACJ,OAAO,CAACO,EAAT,CAAR,KAAyB,SAFxE;AAGE,QAAA,QAAQ,EAAEJ,QAAQ,IAAIE,iBAHxB;AAIE,QAAA,KAAK,EAAEM,WAJT;AAKE,QAAA,YAAY,EAAEN,iBAAiB,GAAGC,aAAa,IAAIA,aAAa,CAACQ,KAAlC,GAA0CC,SAL3E;AAME,QAAA,EAAE,EAAEf,OAAO,CAACO,EANd;AAOE,QAAA,QAAQ,EAAER,QAPZ;AAQE,QAAA,OAAO,EAAEG,OAAO,CAACF,OAAO,CAACO,EAAT,CARlB;AASE,QAAA,iBAAiB,EAAEF,iBATrB;AAUE,QAAA,WAAW,EAAEW,MAAM,CAACC,IAAP,CAAYf,OAAZ,EAAqBgB,MAArB,IAA+B;AAV9C,QADF;AAcD;AACF,GAvBmC;AAAA,CAArB,C","sourcesContent":["import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('dropdown', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\n // eslint-disable-next-line react/prop-types\n const { choices, disabled, feedback, showCorrectAnswer } = props;\n const correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find((c) => c.correct);\n const finalChoice = showCorrectAnswer ? correctAnswer && correctAnswer.value : data[dataset.id];\n\n return (\n <Dropdown\n key={`${node.type}-dropdown-${dataset.id}`}\n correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n disabled={disabled || showCorrectAnswer}\n value={finalChoice}\n correctValue={showCorrectAnswer ? correctAnswer && correctAnswer.label : undefined}\n id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n singleQuery={Object.keys(choices).length == 1}\n />\n );\n }\n});\n"],"file":"inline-dropdown.js"}
1
+ {"version":3,"file":"inline-dropdown.js","names":["_react","_interopRequireDefault","require","_dropdown","_withMask","_default","exports","withMask","props","node","data","onChange","dataset","component","choices","disabled","feedback","showCorrectAnswer","correctAnswer","id","find","c","correct","finalChoice","value","createElement","key","concat","type","correctValue","label","undefined","singleQuery","Object","keys","length"],"sources":["../src/inline-dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('dropdown', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\n // eslint-disable-next-line react/prop-types\n const { choices, disabled, feedback, showCorrectAnswer } = props;\n const correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find((c) => c.correct);\n const finalChoice = showCorrectAnswer ? correctAnswer && correctAnswer.value : data[dataset.id];\n\n return (\n <Dropdown\n key={`${node.type}-dropdown-${dataset.id}`}\n correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n disabled={disabled || showCorrectAnswer}\n value={finalChoice}\n correctValue={showCorrectAnswer ? correctAnswer && correctAnswer.label : undefined}\n id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n singleQuery={Object.keys(choices).length == 1}\n />\n );\n }\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA;AAAA,IAAAG,QAAA,GAAAC,OAAA,cACe,IAAAC,kBAAQ,EAAC,UAAU,EAAE,UAACC,KAAK;EAAA,OAAK,UAACC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAK;IACvE,IAAMC,OAAO,GAAGH,IAAI,CAACC,IAAI,GAAGD,IAAI,CAACC,IAAI,CAACE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,IAAIA,OAAO,CAACC,SAAS,KAAK,UAAU,EAAE;MACpC;MACA,IAAQC,OAAO,GAA4CN,KAAK,CAAxDM,OAAO;QAAEC,QAAQ,GAAkCP,KAAK,CAA/CO,QAAQ;QAAEC,QAAQ,GAAwBR,KAAK,CAArCQ,QAAQ;QAAEC,iBAAiB,GAAKT,KAAK,CAA3BS,iBAAiB;MACtD,IAAMC,aAAa,GAAGJ,OAAO,IAAIA,OAAO,CAACF,OAAO,CAACO,EAAE,CAAC,IAAIL,OAAO,CAACF,OAAO,CAACO,EAAE,CAAC,CAACC,IAAI,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAACC,OAAO;MAAA,EAAC;MAClG,IAAMC,WAAW,GAAGN,iBAAiB,GAAGC,aAAa,IAAIA,aAAa,CAACM,KAAK,GAAGd,IAAI,CAACE,OAAO,CAACO,EAAE,CAAC;MAE/F,oBACEnB,MAAA,YAAAyB,aAAA,CAACtB,SAAA,WAAQ;QACPuB,GAAG,KAAAC,MAAA,CAAKlB,IAAI,CAACmB,IAAI,gBAAAD,MAAA,CAAaf,OAAO,CAACO,EAAE,CAAG;QAC3CG,OAAO,EAAEN,QAAQ,IAAIA,QAAQ,CAACJ,OAAO,CAACO,EAAE,CAAC,IAAIH,QAAQ,CAACJ,OAAO,CAACO,EAAE,CAAC,KAAK,SAAU;QAChFJ,QAAQ,EAAEA,QAAQ,IAAIE,iBAAkB;QACxCO,KAAK,EAAED,WAAY;QACnBM,YAAY,EAAEZ,iBAAiB,GAAGC,aAAa,IAAIA,aAAa,CAACY,KAAK,GAAGC,SAAU;QACnFZ,EAAE,EAAEP,OAAO,CAACO,EAAG;QACfR,QAAQ,EAAEA,QAAS;QACnBG,OAAO,EAAEA,OAAO,CAACF,OAAO,CAACO,EAAE,CAAE;QAC7BF,iBAAiB,EAAEA,iBAAkB;QACrCe,WAAW,EAAEC,MAAM,CAACC,IAAI,CAACpB,OAAO,CAAC,CAACqB,MAAM,IAAI;MAAE,CAC/C,CAAC;IAEN;EACF,CAAC;AAAA,EAAC","ignoreList":[]}