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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +143 -35
  2. package/lib/choices/choice.js +22 -31
  3. package/lib/choices/choice.js.map +1 -1
  4. package/lib/choices/index.js +9 -33
  5. package/lib/choices/index.js.map +1 -1
  6. package/lib/componentize.js +1 -4
  7. package/lib/componentize.js.map +1 -1
  8. package/lib/components/blank.js +61 -86
  9. package/lib/components/blank.js.map +1 -1
  10. package/lib/components/correct-input.js +9 -25
  11. package/lib/components/correct-input.js.map +1 -1
  12. package/lib/components/dropdown.js +11 -37
  13. package/lib/components/dropdown.js.map +1 -1
  14. package/lib/components/input.js +14 -17
  15. package/lib/components/input.js.map +1 -1
  16. package/lib/constructed-response.js +11 -14
  17. package/lib/constructed-response.js.map +1 -1
  18. package/lib/drag-in-the-blank.js +21 -50
  19. package/lib/drag-in-the-blank.js.map +1 -1
  20. package/lib/index.js +1 -7
  21. package/lib/index.js.map +1 -1
  22. package/lib/inline-dropdown.js +6 -11
  23. package/lib/inline-dropdown.js.map +1 -1
  24. package/lib/mask.js +8 -49
  25. package/lib/mask.js.map +1 -1
  26. package/lib/new-serialization.js +6 -59
  27. package/lib/new-serialization.js.map +1 -0
  28. package/lib/parse-html.js +7 -6
  29. package/lib/parse-html.js.map +1 -0
  30. package/lib/serialization.js +9 -42
  31. package/lib/serialization.js.map +1 -1
  32. package/lib/test-serializer.js +4 -55
  33. package/lib/test-serializer.js.map +1 -0
  34. package/lib/with-mask.js +6 -30
  35. package/lib/with-mask.js.map +1 -1
  36. package/package.json +7 -7
  37. package/src/choices/choice.jsx +27 -13
  38. package/src/choices/index.jsx +17 -13
  39. package/src/components/blank.jsx +43 -31
  40. package/src/components/correct-input.jsx +18 -18
  41. package/src/components/dropdown.jsx +27 -38
  42. package/src/components/input.jsx +6 -3
  43. package/src/constructed-response.jsx +5 -4
  44. package/src/drag-in-the-blank.jsx +12 -12
  45. package/src/index.js +1 -8
  46. package/src/inline-dropdown.jsx +4 -3
  47. package/src/mask.jsx +13 -14
  48. package/src/new-serialization.jsx +19 -19
  49. package/src/parse-html.js +1 -1
  50. package/src/serialization.js +19 -14
  51. package/src/test-serializer.js +9 -9
  52. package/src/with-mask.jsx +2 -9
@@ -1,53 +1,38 @@
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
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
15
  var _react = _interopRequireDefault(require("react"));
25
-
26
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
17
  var _mathRendering = require("@pie-lib/math-rendering");
29
-
30
18
  var _choices = _interopRequireDefault(require("./choices"));
31
-
32
19
  var _blank = _interopRequireDefault(require("./components/blank"));
33
-
34
20
  var _withMask = require("./with-mask");
35
-
36
21
  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); }; }
37
-
38
22
  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; } }
39
-
23
+ // eslint-disable-next-line react/display-name
40
24
  var Masked = (0, _withMask.withMask)('blank', function (props) {
41
25
  return function (node, data, onChange) {
42
26
  var dataset = node.data ? node.data.dataset || {} : {};
43
-
44
27
  if (dataset.component === 'blank') {
28
+ // eslint-disable-next-line react/prop-types
45
29
  var disabled = props.disabled,
46
- duplicates = props.duplicates,
47
- correctResponse = props.correctResponse,
48
- feedback = props.feedback,
49
- showCorrectAnswer = props.showCorrectAnswer;
30
+ duplicates = props.duplicates,
31
+ correctResponse = props.correctResponse,
32
+ feedback = props.feedback,
33
+ showCorrectAnswer = props.showCorrectAnswer;
50
34
  var choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];
35
+ // eslint-disable-next-line react/prop-types
51
36
  var choice = choiceId && props.choices.find(function (c) {
52
37
  return c.id === choiceId;
53
38
  });
@@ -63,52 +48,40 @@ var Masked = (0, _withMask.withMask)('blank', function (props) {
63
48
  }
64
49
  };
65
50
  });
66
-
67
51
  var DragInTheBlank = /*#__PURE__*/function (_React$Component) {
68
52
  (0, _inherits2["default"])(DragInTheBlank, _React$Component);
69
-
70
53
  var _super = _createSuper(DragInTheBlank);
71
-
72
54
  function DragInTheBlank() {
73
55
  var _this;
74
-
75
56
  (0, _classCallCheck2["default"])(this, DragInTheBlank);
76
-
77
57
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
78
58
  args[_key] = arguments[_key];
79
59
  }
80
-
81
60
  _this = _super.call.apply(_super, [this].concat(args));
82
61
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getPositionDirection", function (choicePosition) {
83
62
  var flexDirection;
84
-
85
63
  switch (choicePosition) {
86
64
  case 'left':
87
65
  flexDirection = 'row';
88
66
  break;
89
-
90
67
  case 'right':
91
68
  flexDirection = 'row-reverse';
92
69
  break;
93
-
94
70
  case 'below':
95
71
  flexDirection = 'column-reverse';
96
72
  break;
97
-
98
73
  default:
99
74
  // above
100
75
  flexDirection = 'column';
101
76
  break;
102
77
  }
103
-
104
78
  return flexDirection;
105
79
  });
106
80
  return _this;
107
81
  }
108
-
109
82
  (0, _createClass2["default"])(DragInTheBlank, [{
110
- key: "componentWillReceiveProps",
111
- value: function componentWillReceiveProps() {
83
+ key: "UNSAFE_componentWillReceiveProps",
84
+ value: function UNSAFE_componentWillReceiveProps() {
112
85
  if (this.rootRef) {
113
86
  (0, _mathRendering.renderMath)(this.rootRef);
114
87
  }
@@ -122,19 +95,18 @@ var DragInTheBlank = /*#__PURE__*/function (_React$Component) {
122
95
  key: "render",
123
96
  value: function render() {
124
97
  var _this2 = this;
125
-
126
98
  var _this$props = this.props,
127
- markup = _this$props.markup,
128
- duplicates = _this$props.duplicates,
129
- layout = _this$props.layout,
130
- value = _this$props.value,
131
- onChange = _this$props.onChange,
132
- choicesPosition = _this$props.choicesPosition,
133
- choices = _this$props.choices,
134
- correctResponse = _this$props.correctResponse,
135
- disabled = _this$props.disabled,
136
- feedback = _this$props.feedback,
137
- showCorrectAnswer = _this$props.showCorrectAnswer;
99
+ markup = _this$props.markup,
100
+ duplicates = _this$props.duplicates,
101
+ layout = _this$props.layout,
102
+ value = _this$props.value,
103
+ onChange = _this$props.onChange,
104
+ choicesPosition = _this$props.choicesPosition,
105
+ choices = _this$props.choices,
106
+ correctResponse = _this$props.correctResponse,
107
+ disabled = _this$props.disabled,
108
+ feedback = _this$props.feedback,
109
+ showCorrectAnswer = _this$props.showCorrectAnswer;
138
110
  var choicePosition = choicesPosition || 'below';
139
111
  var style = {
140
112
  display: 'flex',
@@ -167,7 +139,6 @@ var DragInTheBlank = /*#__PURE__*/function (_React$Component) {
167
139
  }]);
168
140
  return DragInTheBlank;
169
141
  }(_react["default"].Component);
170
-
171
142
  exports["default"] = DragInTheBlank;
172
143
  (0, _defineProperty2["default"])(DragInTheBlank, "propTypes", {
173
144
  markup: _propTypes["default"].string,
@@ -185,4 +156,4 @@ exports["default"] = DragInTheBlank;
185
156
  correctResponse: _propTypes["default"].object,
186
157
  showCorrectAnswer: _propTypes["default"].bool
187
158
  });
188
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNYXNrZWQiLCJ3aXRoTWFzayIsInByb3BzIiwibm9kZSIsImRhdGEiLCJvbkNoYW5nZSIsImRhdGFzZXQiLCJjb21wb25lbnQiLCJkaXNhYmxlZCIsImR1cGxpY2F0ZXMiLCJjb3JyZWN0UmVzcG9uc2UiLCJmZWVkYmFjayIsInNob3dDb3JyZWN0QW5zd2VyIiwiY2hvaWNlSWQiLCJpZCIsImNob2ljZSIsImNob2ljZXMiLCJmaW5kIiwiYyIsInR5cGUiLCJEcmFnSW5UaGVCbGFuayIsImNob2ljZVBvc2l0aW9uIiwiZmxleERpcmVjdGlvbiIsInJvb3RSZWYiLCJyZW5kZXJNYXRoIiwibWFya3VwIiwibGF5b3V0IiwidmFsdWUiLCJjaG9pY2VzUG9zaXRpb24iLCJzdHlsZSIsImRpc3BsYXkiLCJnZXRQb3NpdGlvbkRpcmVjdGlvbiIsInJlZiIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib2JqZWN0IiwiYXJyYXlPZiIsInNoYXBlIiwibGFiZWwiLCJmdW5jIiwiYm9vbCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kcmFnLWluLXRoZS1ibGFuay5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IENob2ljZXMgZnJvbSAnLi9jaG9pY2VzJztcbmltcG9ydCBCbGFuayBmcm9tICcuL2NvbXBvbmVudHMvYmxhbmsnO1xuaW1wb3J0IHsgd2l0aE1hc2sgfSBmcm9tICcuL3dpdGgtbWFzayc7XG5cbmNvbnN0IE1hc2tlZCA9IHdpdGhNYXNrKCdibGFuaycsIHByb3BzID0+IChub2RlLCBkYXRhLCBvbkNoYW5nZSkgPT4ge1xuICBjb25zdCBkYXRhc2V0ID0gbm9kZS5kYXRhID8gbm9kZS5kYXRhLmRhdGFzZXQgfHwge30gOiB7fTtcblxuICBpZiAoZGF0YXNldC5jb21wb25lbnQgPT09ICdibGFuaycpIHtcbiAgICBjb25zdCB7IGRpc2FibGVkLCBkdXBsaWNhdGVzLCBjb3JyZWN0UmVzcG9uc2UsIGZlZWRiYWNrLCBzaG93Q29ycmVjdEFuc3dlciB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2hvaWNlSWQgPSBzaG93Q29ycmVjdEFuc3dlciA/IGNvcnJlY3RSZXNwb25zZVtkYXRhc2V0LmlkXSA6IGRhdGFbZGF0YXNldC5pZF07XG4gICAgY29uc3QgY2hvaWNlID0gY2hvaWNlSWQgJiYgcHJvcHMuY2hvaWNlcy5maW5kKGMgPT4gYy5pZCA9PT0gY2hvaWNlSWQpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxCbGFua1xuICAgICAgICBrZXk9e2Ake25vZGUudHlwZX0tJHtkYXRhc2V0LmlkfWB9XG4gICAgICAgIGNvcnJlY3Q9e3Nob3dDb3JyZWN0QW5zd2VyIHx8IChmZWVkYmFjayAmJiBmZWVkYmFja1tkYXRhc2V0LmlkXSl9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgZHVwbGljYXRlcz17ZHVwbGljYXRlc31cbiAgICAgICAgY2hvaWNlPXtjaG9pY2V9XG4gICAgICAgIGlkPXtkYXRhc2V0LmlkfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcmFnSW5UaGVCbGFuayBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgbWFya3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxheW91dDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjaG9pY2VzUG9zaXRpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2hvaWNlczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICBQcm9wVHlwZXMuc2hhcGUoeyBsYWJlbDogUHJvcFR5cGVzLnN0cmluZywgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcgfSlcbiAgICApLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkdXBsaWNhdGVzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZmVlZGJhY2s6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY29ycmVjdFJlc3BvbnNlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHNob3dDb3JyZWN0QW5zd2VyOiBQcm9wVHlwZXMuYm9vbFxuICB9O1xuXG4gIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKSB7XG4gICAgaWYgKHRoaXMucm9vdFJlZikge1xuICAgICAgcmVuZGVyTWF0aCh0aGlzLnJvb3RSZWYpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICByZW5kZXJNYXRoKHRoaXMucm9vdFJlZik7XG4gIH1cblxuICBnZXRQb3NpdGlvbkRpcmVjdGlvbiA9IGNob2ljZVBvc2l0aW9uID0+IHtcbiAgICBsZXQgZmxleERpcmVjdGlvbjtcblxuICAgIHN3aXRjaCAoY2hvaWNlUG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBmbGV4RGlyZWN0aW9uID0gJ3Jvdyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBmbGV4RGlyZWN0aW9uID0gJ3Jvdy1yZXZlcnNlJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdiZWxvdyc6XG4gICAgICAgIGZsZXhEaXJlY3Rpb24gPSAnY29sdW1uLXJldmVyc2UnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIGFib3ZlXG4gICAgICAgIGZsZXhEaXJlY3Rpb24gPSAnY29sdW1uJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZsZXhEaXJlY3Rpb247XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIG1hcmt1cCxcbiAgICAgIGR1cGxpY2F0ZXMsXG4gICAgICBsYXlvdXQsXG4gICAgICB2YWx1ZSxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgY2hvaWNlc1Bvc2l0aW9uLFxuICAgICAgY2hvaWNlcyxcbiAgICAgIGNvcnJlY3RSZXNwb25zZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZmVlZGJhY2ssXG4gICAgICBzaG93Q29ycmVjdEFuc3dlclxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgY2hvaWNlUG9zaXRpb24gPSBjaG9pY2VzUG9zaXRpb24gfHwgJ2JlbG93JztcbiAgICBjb25zdCBzdHlsZSA9IHtcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246IHRoaXMuZ2V0UG9zaXRpb25EaXJlY3Rpb24oY2hvaWNlUG9zaXRpb24pXG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHJlZj17cmVmID0+IHJlZiAmJiAodGhpcy5yb290UmVmID0gcmVmKX0gc3R5bGU9e3N0eWxlfT5cbiAgICAgICAgPENob2ljZXNcbiAgICAgICAgICBjaG9pY2VQb3NpdGlvbj17Y2hvaWNlUG9zaXRpb259XG4gICAgICAgICAgZHVwbGljYXRlcz17ZHVwbGljYXRlc31cbiAgICAgICAgICBjaG9pY2VzPXtjaG9pY2VzfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICAgIDxNYXNrZWRcbiAgICAgICAgICBtYXJrdXA9e21hcmt1cH1cbiAgICAgICAgICBsYXlvdXQ9e2xheW91dH1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgY2hvaWNlcz17Y2hvaWNlc31cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGR1cGxpY2F0ZXM9e2R1cGxpY2F0ZXN9XG4gICAgICAgICAgZmVlZGJhY2s9e2ZlZWRiYWNrfVxuICAgICAgICAgIGNvcnJlY3RSZXNwb25zZT17Y29ycmVjdFJlc3BvbnNlfVxuICAgICAgICAgIHNob3dDb3JyZWN0QW5zd2VyPXtzaG93Q29ycmVjdEFuc3dlcn1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsTUFBTSxHQUFHLElBQUFDLGtCQUFBLEVBQVMsT0FBVCxFQUFrQixVQUFBQyxLQUFLO0VBQUEsT0FBSSxVQUFDQyxJQUFELEVBQU9DLElBQVAsRUFBYUMsUUFBYixFQUEwQjtJQUNsRSxJQUFNQyxPQUFPLEdBQUdILElBQUksQ0FBQ0MsSUFBTCxHQUFZRCxJQUFJLENBQUNDLElBQUwsQ0FBVUUsT0FBVixJQUFxQixFQUFqQyxHQUFzQyxFQUF0RDs7SUFFQSxJQUFJQSxPQUFPLENBQUNDLFNBQVIsS0FBc0IsT0FBMUIsRUFBbUM7TUFDakMsSUFBUUMsUUFBUixHQUErRU4sS0FBL0UsQ0FBUU0sUUFBUjtNQUFBLElBQWtCQyxVQUFsQixHQUErRVAsS0FBL0UsQ0FBa0JPLFVBQWxCO01BQUEsSUFBOEJDLGVBQTlCLEdBQStFUixLQUEvRSxDQUE4QlEsZUFBOUI7TUFBQSxJQUErQ0MsUUFBL0MsR0FBK0VULEtBQS9FLENBQStDUyxRQUEvQztNQUFBLElBQXlEQyxpQkFBekQsR0FBK0VWLEtBQS9FLENBQXlEVSxpQkFBekQ7TUFDQSxJQUFNQyxRQUFRLEdBQUdELGlCQUFpQixHQUFHRixlQUFlLENBQUNKLE9BQU8sQ0FBQ1EsRUFBVCxDQUFsQixHQUFpQ1YsSUFBSSxDQUFDRSxPQUFPLENBQUNRLEVBQVQsQ0FBdkU7TUFDQSxJQUFNQyxNQUFNLEdBQUdGLFFBQVEsSUFBSVgsS0FBSyxDQUFDYyxP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
159
+ //# sourceMappingURL=drag-in-the-blank.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drag-in-the-blank.js","names":["Masked","withMask","props","node","data","onChange","dataset","component","disabled","duplicates","correctResponse","feedback","showCorrectAnswer","choiceId","id","choice","choices","find","c","type","DragInTheBlank","choicePosition","flexDirection","rootRef","renderMath","markup","layout","value","choicesPosition","style","display","getPositionDirection","ref","React","Component","PropTypes","string","object","arrayOf","shape","label","func","bool"],"sources":["../src/drag-in-the-blank.jsx"],"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\nconst Masked = withMask('blank', props => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n\n if (dataset.component === 'blank') {\n const { disabled, duplicates, correctResponse, feedback, showCorrectAnswer } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\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 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(\n PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })\n ),\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 };\n\n 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\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n break;\n case 'right':\n flexDirection = 'row-reverse';\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;\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 } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = {\n display: 'flex',\n flexDirection: 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 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 />\n </div>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"drag-in-the-blank.js","names":["_react","_interopRequireDefault","require","_propTypes","_mathRendering","_choices","_blank","_withMask","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","Masked","withMask","props","node","data","onChange","dataset","component","disabled","duplicates","correctResponse","feedback","showCorrectAnswer","choiceId","id","choice","choices","find","c","createElement","key","concat","type","correct","DragInTheBlank","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","_defineProperty2","_assertThisInitialized2","choicePosition","flexDirection","_createClass2","value","UNSAFE_componentWillReceiveProps","rootRef","renderMath","componentDidUpdate","render","_this2","_this$props","markup","layout","choicesPosition","style","display","getPositionDirection","ref","React","Component","exports","PropTypes","string","object","arrayOf","shape","label","func","bool"],"sources":["../src/drag-in-the-blank.jsx"],"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 { disabled, duplicates, correctResponse, feedback, showCorrectAnswer } = 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 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 };\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\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n break;\n case 'right':\n flexDirection = 'row-reverse';\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;\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 } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = {\n display: 'flex',\n flexDirection: 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 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 />\n </div>\n );\n }\n}\n"],"mappings":"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"}
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
  });
@@ -41,14 +40,9 @@ Object.defineProperty(exports, "withMask", {
41
40
  return _withMask.withMask;
42
41
  }
43
42
  });
44
-
45
43
  var _withMask = require("./with-mask");
46
-
47
44
  var _dragInTheBlank = _interopRequireDefault(require("./drag-in-the-blank"));
48
-
49
45
  var _constructedResponse = _interopRequireDefault(require("./constructed-response"));
50
-
51
46
  var _inlineDropdown = _interopRequireDefault(require("./inline-dropdown"));
52
-
53
47
  var _componentize = _interopRequireDefault(require("./componentize"));
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdpdGhNYXNrLCBidWlsZExheW91dEZyb21NYXJrdXAgfSBmcm9tICcuL3dpdGgtbWFzayc7XG5pbXBvcnQgRHJhZ0luVGhlQmxhbmsgZnJvbSAnLi9kcmFnLWluLXRoZS1ibGFuayc7XG5pbXBvcnQgQ29uc3RydWN0ZWRSZXNwb25zZSBmcm9tICcuL2NvbnN0cnVjdGVkLXJlc3BvbnNlJztcbmltcG9ydCBJbmxpbmVEcm9wZG93biBmcm9tICcuL2lubGluZS1kcm9wZG93bic7XG5pbXBvcnQgY29tcG9uZW50aXplIGZyb20gJy4vY29tcG9uZW50aXplJztcblxuZXhwb3J0IHtcbiAgd2l0aE1hc2ssXG4gIGJ1aWxkTGF5b3V0RnJvbU1hcmt1cCxcbiAgRHJhZ0luVGhlQmxhbmssXG4gIENvbnN0cnVjdGVkUmVzcG9uc2UsXG4gIElubGluZURyb3Bkb3duLFxuICBjb21wb25lbnRpemVcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0EifQ==
48
+ //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["import { withMask, buildLayoutFromMarkup } from './with-mask';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ConstructedResponse from './constructed-response';\nimport InlineDropdown from './inline-dropdown';\nimport componentize from './componentize';\n\nexport {\n withMask,\n buildLayoutFromMarkup,\n DragInTheBlank,\n ConstructedResponse,\n InlineDropdown,\n componentize\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"file":"index.js","names":["_withMask","require","_dragInTheBlank","_interopRequireDefault","_constructedResponse","_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 InlineDropdown from './inline-dropdown';\nimport componentize from './componentize';\n\nexport { withMask, buildLayoutFromMarkup, DragInTheBlank, ConstructedResponse, InlineDropdown, componentize };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,eAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,aAAA,GAAAH,sBAAA,CAAAF,OAAA"}
@@ -1,27 +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
-
11
+ // eslint-disable-next-line react/display-name
16
12
  var _default = (0, _withMask.withMask)('dropdown', function (props) {
17
13
  return function (node, data, onChange) {
18
14
  var dataset = node.data ? node.data.dataset || {} : {};
19
-
20
15
  if (dataset.component === 'dropdown') {
16
+ // eslint-disable-next-line react/prop-types
21
17
  var choices = props.choices,
22
- disabled = props.disabled,
23
- feedback = props.feedback,
24
- showCorrectAnswer = props.showCorrectAnswer;
18
+ disabled = props.disabled,
19
+ feedback = props.feedback,
20
+ showCorrectAnswer = props.showCorrectAnswer;
25
21
  var correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find(function (c) {
26
22
  return c.correct;
27
23
  });
@@ -39,6 +35,5 @@ var _default = (0, _withMask.withMask)('dropdown', function (props) {
39
35
  }
40
36
  };
41
37
  });
42
-
43
38
  exports["default"] = _default;
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aXRoTWFzayIsInByb3BzIiwibm9kZSIsImRhdGEiLCJvbkNoYW5nZSIsImRhdGFzZXQiLCJjb21wb25lbnQiLCJjaG9pY2VzIiwiZGlzYWJsZWQiLCJmZWVkYmFjayIsInNob3dDb3JyZWN0QW5zd2VyIiwiY29ycmVjdEFuc3dlciIsImlkIiwiZmluZCIsImMiLCJjb3JyZWN0IiwiZmluYWxDaG9pY2UiLCJ2YWx1ZSIsInR5cGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5saW5lLWRyb3Bkb3duLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyB3aXRoTWFzayB9IGZyb20gJy4vd2l0aC1tYXNrJztcblxuZXhwb3J0IGRlZmF1bHQgd2l0aE1hc2soJ2Ryb3Bkb3duJywgcHJvcHMgPT4gKG5vZGUsIGRhdGEsIG9uQ2hhbmdlKSA9PiB7XG4gIGNvbnN0IGRhdGFzZXQgPSBub2RlLmRhdGEgPyBub2RlLmRhdGEuZGF0YXNldCB8fCB7fSA6IHt9O1xuICBpZiAoZGF0YXNldC5jb21wb25lbnQgPT09ICdkcm9wZG93bicpIHtcbiAgICBjb25zdCB7IGNob2ljZXMsIGRpc2FibGVkLCBmZWVkYmFjaywgc2hvd0NvcnJlY3RBbnN3ZXIgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvcnJlY3RBbnN3ZXIgPVxuICAgICAgY2hvaWNlcyAmJiBjaG9pY2VzW2RhdGFzZXQuaWRdICYmIGNob2ljZXNbZGF0YXNldC5pZF0uZmluZChjID0+IGMuY29ycmVjdCk7XG4gICAgY29uc3QgZmluYWxDaG9pY2UgPSBzaG93Q29ycmVjdEFuc3dlciA/IGNvcnJlY3RBbnN3ZXIgJiYgY29ycmVjdEFuc3dlci52YWx1ZSA6IGRhdGFbZGF0YXNldC5pZF07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERyb3Bkb3duXG4gICAgICAgIGtleT17YCR7bm9kZS50eXBlfS1kcm9wZG93bi0ke2RhdGFzZXQuaWR9YH1cbiAgICAgICAgY29ycmVjdD17ZmVlZGJhY2sgJiYgZmVlZGJhY2tbZGF0YXNldC5pZF0gJiYgZmVlZGJhY2tbZGF0YXNldC5pZF0gPT09ICdjb3JyZWN0J31cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IHNob3dDb3JyZWN0QW5zd2VyfVxuICAgICAgICB2YWx1ZT17ZmluYWxDaG9pY2V9XG4gICAgICAgIGlkPXtkYXRhc2V0LmlkfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIGNob2ljZXM9e2Nob2ljZXNbZGF0YXNldC5pZF19XG4gICAgICAgIHNob3dDb3JyZWN0QW5zd2VyPXtzaG93Q29ycmVjdEFuc3dlcn1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztlQUVlLElBQUFBLGtCQUFBLEVBQVMsVUFBVCxFQUFxQixVQUFBQyxLQUFLO0VBQUEsT0FBSSxVQUFDQyxJQUFELEVBQU9DLElBQVAsRUFBYUMsUUFBYixFQUEwQjtJQUNyRSxJQUFNQyxPQUFPLEdBQUdILElBQUksQ0FBQ0MsSUFBTCxHQUFZRCxJQUFJLENBQUNDLElBQUwsQ0FBVUUsT0FBVixJQUFxQixFQUFqQyxHQUFzQyxFQUF0RDs7SUFDQSxJQUFJQSxPQUFPLENBQUNDLFNBQVIsS0FBc0IsVUFBMUIsRUFBc0M7TUFDcEMsSUFBUUMsT0FBUixHQUEyRE4sS0FBM0QsQ0FBUU0sT0FBUjtNQUFBLElBQWlCQyxRQUFqQixHQUEyRFAsS0FBM0QsQ0FBaUJPLFFBQWpCO01BQUEsSUFBMkJDLFFBQTNCLEdBQTJEUixLQUEzRCxDQUEyQlEsUUFBM0I7TUFBQSxJQUFxQ0MsaUJBQXJDLEdBQTJEVCxLQUEzRCxDQUFxQ1MsaUJBQXJDO01BQ0EsSUFBTUMsYUFBYSxHQUNqQkosT0FBTyxJQUFJQSxPQUFPLENBQUNGLE9BQU8sQ0FBQ08sRUFBVCxDQUFsQixJQUFrQ0wsT0FBTyxDQUFDRixPQUFPLENBQUNPLEVBQVQsQ0FBUCxDQUFvQkMsSUFBcEIsQ0FBeUIsVUFBQUMsQ0FBQztRQUFBLE9BQUlBLENBQUMsQ0FBQ0MsT0FBTjtNQUFBLENBQTFCLENBRHBDO01BRUEsSUFBTUMsV0FBVyxHQUFHTixpQkFBaUIsR0FBR0MsYUFBYSxJQUFJQSxhQUFhLENBQUNNLEtBQWxDLEdBQTBDZCxJQUFJLENBQUNFLE9BQU8sQ0FBQ08sRUFBVCxDQUFuRjtNQUVBLG9CQUNFLGdDQUFDLG9CQUFEO1FBQ0UsR0FBRyxZQUFLVixJQUFJLENBQUNnQixJQUFWLHVCQUEyQmIsT0FBTyxDQUFDTyxFQUFuQyxDQURMO1FBRUUsT0FBTyxFQUFFSCxRQUFRLElBQUlBLFFBQVEsQ0FBQ0osT0FBTyxDQUFDTyxFQUFULENBQXBCLElBQW9DSCxRQUFRLENBQUNKLE9BQU8sQ0FBQ08sRUFBVCxDQUFSLEtBQXlCLFNBRnhFO1FBR0UsUUFBUSxFQUFFSixRQUFRLElBQUlFLGlCQUh4QjtRQUlFLEtBQUssRUFBRU0sV0FKVDtRQUtFLEVBQUUsRUFBRVgsT0FBTyxDQUFDTyxFQUxkO1FBTUUsUUFBUSxFQUFFUixRQU5aO1FBT0UsT0FBTyxFQUFFRyxPQUFPLENBQUNGLE9BQU8sQ0FBQ08sRUFBVCxDQVBsQjtRQVFFLGlCQUFpQixFQUFFRjtNQVJyQixFQURGO0lBWUQ7RUFDRixDQXJCd0M7QUFBQSxDQUExQixDIn0=
39
+ //# sourceMappingURL=inline-dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inline-dropdown.js","names":["withMask","props","node","data","onChange","dataset","component","choices","disabled","feedback","showCorrectAnswer","correctAnswer","id","find","c","correct","finalChoice","value","type"],"sources":["../src/inline-dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\nexport default withMask('dropdown', props => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\n const { choices, disabled, feedback, showCorrectAnswer } = props;\n const correctAnswer =\n 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 id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n />\n );\n }\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;eAEe,IAAAA,kBAAA,EAAS,UAAT,EAAqB,UAAAC,KAAK;EAAA,OAAI,UAACC,IAAD,EAAOC,IAAP,EAAaC,QAAb,EAA0B;IACrE,IAAMC,OAAO,GAAGH,IAAI,CAACC,IAAL,GAAYD,IAAI,CAACC,IAAL,CAAUE,OAAV,IAAqB,EAAjC,GAAsC,EAAtD;;IACA,IAAIA,OAAO,CAACC,SAAR,KAAsB,UAA1B,EAAsC;MACpC,IAAQC,OAAR,GAA2DN,KAA3D,CAAQM,OAAR;MAAA,IAAiBC,QAAjB,GAA2DP,KAA3D,CAAiBO,QAAjB;MAAA,IAA2BC,QAA3B,GAA2DR,KAA3D,CAA2BQ,QAA3B;MAAA,IAAqCC,iBAArC,GAA2DT,KAA3D,CAAqCS,iBAArC;MACA,IAAMC,aAAa,GACjBJ,OAAO,IAAIA,OAAO,CAACF,OAAO,CAACO,EAAT,CAAlB,IAAkCL,OAAO,CAACF,OAAO,CAACO,EAAT,CAAP,CAAoBC,IAApB,CAAyB,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACC,OAAN;MAAA,CAA1B,CADpC;MAEA,IAAMC,WAAW,GAAGN,iBAAiB,GAAGC,aAAa,IAAIA,aAAa,CAACM,KAAlC,GAA0Cd,IAAI,CAACE,OAAO,CAACO,EAAT,CAAnF;MAEA,oBACE,gCAAC,oBAAD;QACE,GAAG,YAAKV,IAAI,CAACgB,IAAV,uBAA2Bb,OAAO,CAACO,EAAnC,CADL;QAEE,OAAO,EAAEH,QAAQ,IAAIA,QAAQ,CAACJ,OAAO,CAACO,EAAT,CAApB,IAAoCH,QAAQ,CAACJ,OAAO,CAACO,EAAT,CAAR,KAAyB,SAFxE;QAGE,QAAQ,EAAEJ,QAAQ,IAAIE,iBAHxB;QAIE,KAAK,EAAEM,WAJT;QAKE,EAAE,EAAEX,OAAO,CAACO,EALd;QAME,QAAQ,EAAER,QANZ;QAOE,OAAO,EAAEG,OAAO,CAACF,OAAO,CAACO,EAAT,CAPlB;QAQE,iBAAiB,EAAEF;MARrB,EADF;IAYD;EACF,CArBwC;AAAA,CAA1B,C"}
1
+ {"version":3,"file":"inline-dropdown.js","names":["_react","_interopRequireDefault","require","_dropdown","_withMask","_default","withMask","props","node","data","onChange","dataset","component","choices","disabled","feedback","showCorrectAnswer","correctAnswer","id","find","c","correct","finalChoice","value","createElement","key","concat","type","exports"],"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 id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\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,GACe,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,oBACElB,MAAA,YAAAwB,aAAA,CAACrB,SAAA,WAAQ;QACPsB,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;QACnBJ,EAAE,EAAEP,OAAO,CAACO,EAAG;QACfR,QAAQ,EAAEA,QAAS;QACnBG,OAAO,EAAEA,OAAO,CAACF,OAAO,CAACO,EAAE,CAAE;QAC7BF,iBAAiB,EAAEA;MAAkB,CACtC,CAAC;IAEN;EACF,CAAC;AAAA,EAAC;AAAAY,OAAA,cAAAvB,QAAA"}
package/lib/mask.js CHANGED
@@ -1,48 +1,27 @@
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.renderChildren = 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
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
15
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
25
-
26
16
  var _react = _interopRequireDefault(require("react"));
27
-
28
17
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _get = _interopRequireDefault(require("lodash/get"));
31
-
32
18
  var _slate = require("slate");
33
-
34
19
  var _styles = require("@material-ui/core/styles");
35
-
36
20
  var _serialization = require("./serialization");
37
-
38
21
  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; }
39
-
40
22
  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; }
41
-
42
23
  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); }; }
43
-
44
24
  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; } }
45
-
46
25
  var Paragraph = (0, _styles.withStyles)(function (theme) {
47
26
  return {
48
27
  para: {
@@ -56,32 +35,26 @@ var Paragraph = (0, _styles.withStyles)(function (theme) {
56
35
  }, props.children);
57
36
  });
58
37
  var restrictWhitespaceTypes = ['tbody', 'tr'];
59
-
60
38
  var addText = function addText(parentNode, text) {
61
39
  var isWhitespace = text.trim() === '';
62
40
  var parentType = parentNode && parentNode.type;
63
-
64
41
  if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {
65
42
  return undefined;
66
43
  } else {
67
44
  return text;
68
45
  }
69
46
  };
70
-
71
47
  var getMark = function getMark(n) {
72
48
  var markTags = Object.values(_serialization.MARK_TAGS);
73
49
  return markTags.includes(n.type);
74
50
  };
75
-
76
51
  var renderChildren = function renderChildren(layout, value, onChange, rootRenderChildren, parentNode) {
77
52
  if (!value) {
78
53
  return null;
79
54
  }
80
-
81
55
  var children = [];
82
56
  (layout.children || []).forEach(function (n, index) {
83
57
  var key = "".concat(n.type, "-").concat(index);
84
-
85
58
  if (n.isMath) {
86
59
  children.push( /*#__PURE__*/_react["default"].createElement("span", {
87
60
  dangerouslySetInnerHTML: {
@@ -90,27 +63,24 @@ var renderChildren = function renderChildren(layout, value, onChange, rootRender
90
63
  }));
91
64
  return children;
92
65
  }
93
-
94
66
  if (rootRenderChildren) {
95
67
  var c = rootRenderChildren(n, value, onChange);
96
-
97
68
  if (c) {
98
69
  children.push(c);
99
70
  return;
100
71
  }
101
72
  }
102
-
103
73
  if (_slate.Text.isText(n)) {
104
74
  var content = n.text;
105
75
  var mark = getMark(n);
106
-
107
76
  if (mark) {
108
77
  var markKey;
109
-
110
78
  for (markKey in _serialization.MARK_TAGS) {
111
79
  if (_serialization.MARK_TAGS[markKey] === mark.type) {
112
80
  var Tag = markKey;
113
- children.push( /*#__PURE__*/_react["default"].createElement(Tag, null, content));
81
+ children.push( /*#__PURE__*/_react["default"].createElement(Tag, {
82
+ key: key
83
+ }, content));
114
84
  break;
115
85
  }
116
86
  }
@@ -119,15 +89,13 @@ var renderChildren = function renderChildren(layout, value, onChange, rootRender
119
89
  }
120
90
  } else {
121
91
  var subNodes = renderChildren(n, value, onChange, rootRenderChildren, n);
122
-
123
92
  if (n.type === 'p' || n.type === 'paragraph') {
124
93
  children.push( /*#__PURE__*/_react["default"].createElement(Paragraph, {
125
94
  key: key
126
95
  }, subNodes));
127
96
  } else {
128
97
  var _Tag = n.type;
129
-
130
- if (n.children && n.children.length > 0) {
98
+ if (_Tag !== 'source' && n.children && n.children.length > 0) {
131
99
  children.push( /*#__PURE__*/_react["default"].createElement(_Tag, (0, _extends2["default"])({
132
100
  key: key
133
101
  }, n.data.attributes), subNodes));
@@ -141,7 +109,6 @@ var renderChildren = function renderChildren(layout, value, onChange, rootRender
141
109
  });
142
110
  return children;
143
111
  };
144
-
145
112
  exports.renderChildren = renderChildren;
146
113
  var MaskContainer = (0, _styles.withStyles)(function () {
147
114
  return {
@@ -154,46 +121,38 @@ var MaskContainer = (0, _styles.withStyles)(function () {
154
121
  className: props.classes.main
155
122
  }, props.children);
156
123
  });
124
+
157
125
  /**
158
126
  * Renders a layout that uses the slate.js Value model structure.
159
127
  */
160
-
161
128
  var Mask = /*#__PURE__*/function (_React$Component) {
162
129
  (0, _inherits2["default"])(Mask, _React$Component);
163
-
164
130
  var _super = _createSuper(Mask);
165
-
166
131
  function Mask() {
167
132
  var _this;
168
-
169
133
  (0, _classCallCheck2["default"])(this, Mask);
170
-
171
134
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
172
135
  args[_key] = arguments[_key];
173
136
  }
174
-
175
137
  _this = _super.call.apply(_super, [this].concat(args));
176
138
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (id, value) {
177
139
  var data = _objectSpread(_objectSpread({}, _this.props.value), {}, (0, _defineProperty2["default"])({}, id, value));
178
-
179
140
  _this.props.onChange(data);
180
141
  });
181
142
  return _this;
182
143
  }
183
-
184
144
  (0, _createClass2["default"])(Mask, [{
185
145
  key: "render",
186
146
  value: function render() {
187
147
  var _this$props = this.props,
188
- value = _this$props.value,
189
- layout = _this$props.layout;
148
+ value = _this$props.value,
149
+ layout = _this$props.layout;
190
150
  var children = renderChildren(layout, value, this.handleChange, this.props.renderChildren);
191
151
  return /*#__PURE__*/_react["default"].createElement(MaskContainer, null, children);
192
152
  }
193
153
  }]);
194
154
  return Mask;
195
155
  }(_react["default"].Component);
196
-
197
156
  exports["default"] = Mask;
198
157
  (0, _defineProperty2["default"])(Mask, "propTypes", {
199
158
  renderChildren: _propTypes["default"].func,
@@ -201,4 +160,4 @@ exports["default"] = Mask;
201
160
  value: _propTypes["default"].object,
202
161
  onChange: _propTypes["default"].func
203
162
  });
204
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQYXJhZ3JhcGgiLCJ3aXRoU3R5bGVzIiwidGhlbWUiLCJwYXJhIiwicGFkZGluZ1RvcCIsInNwYWNpbmciLCJ1bml0IiwicGFkZGluZ0JvdHRvbSIsInByb3BzIiwiY2xhc3NlcyIsImNoaWxkcmVuIiwicmVzdHJpY3RXaGl0ZXNwYWNlVHlwZXMiLCJhZGRUZXh0IiwicGFyZW50Tm9kZSIsInRleHQiLCJpc1doaXRlc3BhY2UiLCJ0cmltIiwicGFyZW50VHlwZSIsInR5cGUiLCJpbmNsdWRlcyIsInVuZGVmaW5lZCIsImdldE1hcmsiLCJuIiwibWFya1RhZ3MiLCJPYmplY3QiLCJ2YWx1ZXMiLCJNQVJLX1RBR1MiLCJyZW5kZXJDaGlsZHJlbiIsImxheW91dCIsInZhbHVlIiwib25DaGFuZ2UiLCJyb290UmVuZGVyQ2hpbGRyZW4iLCJmb3JFYWNoIiwiaW5kZXgiLCJrZXkiLCJpc01hdGgiLCJwdXNoIiwiX19odG1sIiwiaW5uZXJIVE1MIiwiYyIsIlRleHQiLCJpc1RleHQiLCJjb250ZW50IiwibWFyayIsIm1hcmtLZXkiLCJUYWciLCJsZW5ndGgiLCJzdWJOb2RlcyIsImRhdGEiLCJhdHRyaWJ1dGVzIiwiTWFza0NvbnRhaW5lciIsIm1haW4iLCJkaXNwbGF5IiwiTWFzayIsImlkIiwiaGFuZGxlQ2hhbmdlIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJmdW5jIiwib2JqZWN0Il0sInNvdXJjZXMiOlsiLi4vc3JjL21hc2suanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcbmltcG9ydCB7IFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IE1BUktfVEFHUyB9IGZyb20gJy4vc2VyaWFsaXphdGlvbic7XG5cbmNvbnN0IFBhcmFncmFwaCA9IHdpdGhTdHlsZXModGhlbWUgPT4gKHtcbiAgcGFyYToge1xuICAgIHBhZGRpbmdUb3A6IDIgKiB0aGVtZS5zcGFjaW5nLnVuaXQsXG4gICAgcGFkZGluZ0JvdHRvbTogMiAqIHRoZW1lLnNwYWNpbmcudW5pdFxuICB9XG59KSkocHJvcHMgPT4gPGRpdiBjbGFzc05hbWU9e3Byb3BzLmNsYXNzZXMucGFyYX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2Pik7XG5cbmNvbnN0IHJlc3RyaWN0V2hpdGVzcGFjZVR5cGVzID0gWyd0Ym9keScsICd0ciddO1xuXG5jb25zdCBhZGRUZXh0ID0gKHBhcmVudE5vZGUsIHRleHQpID0+IHtcbiAgY29uc3QgaXNXaGl0ZXNwYWNlID0gdGV4dC50cmltKCkgPT09ICcnO1xuICBjb25zdCBwYXJlbnRUeXBlID0gcGFyZW50Tm9kZSAmJiBwYXJlbnROb2RlLnR5cGU7XG5cbiAgaWYgKGlzV2hpdGVzcGFjZSAmJiByZXN0cmljdFdoaXRlc3BhY2VUeXBlcy5pbmNsdWRlcyhwYXJlbnRUeXBlKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cbn07XG5cbmNvbnN0IGdldE1hcmsgPSBuID0+IHtcbiAgY29uc3QgbWFya1RhZ3MgPSBPYmplY3QudmFsdWVzKE1BUktfVEFHUyk7XG5cbiAgcmV0dXJuIG1hcmtUYWdzLmluY2x1ZGVzKG4udHlwZSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSAobGF5b3V0LCB2YWx1ZSwgb25DaGFuZ2UsIHJvb3RSZW5kZXJDaGlsZHJlbiwgcGFyZW50Tm9kZSkgPT4ge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjaGlsZHJlbiA9IFtdO1xuXG4gIChsYXlvdXQuY2hpbGRyZW4gfHwgW10pLmZvckVhY2goKG4sIGluZGV4KSA9PiB7XG4gICAgY29uc3Qga2V5ID0gYCR7bi50eXBlfS0ke2luZGV4fWA7XG5cbiAgICBpZiAobi5pc01hdGgpIHtcbiAgICAgIGNoaWxkcmVuLnB1c2goXG4gICAgICAgIDxzcGFuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogYDxtYXRoIGRpc3BsYXlzdHlsZT1cInRydWVcIj4ke24uY2hpbGRyZW5bMF0uaW5uZXJIVE1MfTwvbWF0aD5gIH19IC8+XG4gICAgICApO1xuICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgIH1cblxuICAgIGlmIChyb290UmVuZGVyQ2hpbGRyZW4pIHtcbiAgICAgIGNvbnN0IGMgPSByb290UmVuZGVyQ2hpbGRyZW4obiwgdmFsdWUsIG9uQ2hhbmdlKTtcbiAgICAgIGlmIChjKSB7XG4gICAgICAgIGNoaWxkcmVuLnB1c2goYyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoVGV4dC5pc1RleHQobikpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBuLnRleHQ7XG4gICAgICBjb25zdCBtYXJrID0gZ2V0TWFyayhuKTtcblxuICAgICAgaWYgKG1hcmspIHtcbiAgICAgICAgbGV0IG1hcmtLZXk7XG5cbiAgICAgICAgZm9yIChtYXJrS2V5IGluIE1BUktfVEFHUykge1xuICAgICAgICAgIGlmIChNQVJLX1RBR1NbbWFya0tleV0gPT09IG1hcmsudHlwZSkge1xuICAgICAgICAgICAgY29uc3QgVGFnID0gbWFya0tleTtcblxuICAgICAgICAgICAgY2hpbGRyZW4ucHVzaCg8VGFnPntjb250ZW50fTwvVGFnPik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY29udGVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNoaWxkcmVuLnB1c2goY29udGVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN1Yk5vZGVzID0gcmVuZGVyQ2hpbGRyZW4obiwgdmFsdWUsIG9uQ2hhbmdlLCByb290UmVuZGVyQ2hpbGRyZW4sIG4pO1xuICAgICAgaWYgKG4udHlwZSA9PT0gJ3AnIHx8IG4udHlwZSA9PT0gJ3BhcmFncmFwaCcpIHtcbiAgICAgICAgY2hpbGRyZW4ucHVzaCg8UGFyYWdyYXBoIGtleT17a2V5fT57c3ViTm9kZXN9PC9QYXJhZ3JhcGg+KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IFRhZyA9IG4udHlwZTtcbiAgICAgICAgaWYgKG4uY2hpbGRyZW4gJiYgbi5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaChcbiAgICAgICAgICAgIDxUYWcga2V5PXtrZXl9IHsuLi5uLmRhdGEuYXR0cmlidXRlc30+XG4gICAgICAgICAgICAgIHtzdWJOb2Rlc31cbiAgICAgICAgICAgIDwvVGFnPlxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaCg8VGFnIGtleT17a2V5fSB7Li4ubi5kYXRhLmF0dHJpYnV0ZXN9IC8+KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBjaGlsZHJlbjtcbn07XG5cbmNvbnN0IE1hc2tDb250YWluZXIgPSB3aXRoU3R5bGVzKCgpID0+ICh7XG4gIG1haW46IHtcbiAgICBkaXNwbGF5OiAnaW5pdGlhbCdcbiAgfVxufSkpKHByb3BzID0+IDxkaXYgY2xhc3NOYW1lPXtwcm9wcy5jbGFzc2VzLm1haW59Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj4pO1xuXG4vKipcbiAqIFJlbmRlcnMgYSBsYXlvdXQgdGhhdCB1c2VzIHRoZSBzbGF0ZS5qcyBWYWx1ZSBtb2RlbCBzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1hc2sgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHJlbmRlckNoaWxkcmVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jXG4gIH07XG5cbiAgaGFuZGxlQ2hhbmdlID0gKGlkLCB2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSB7IC4uLnRoaXMucHJvcHMudmFsdWUsIFtpZF06IHZhbHVlIH07XG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShkYXRhKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB2YWx1ZSwgbGF5b3V0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gcmVuZGVyQ2hpbGRyZW4obGF5b3V0LCB2YWx1ZSwgdGhpcy5oYW5kbGVDaGFuZ2UsIHRoaXMucHJvcHMucmVuZGVyQ2hpbGRyZW4pO1xuXG4gICAgcmV0dXJuIDxNYXNrQ29udGFpbmVyPntjaGlsZHJlbn08L01hc2tDb250YWluZXI+O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLFNBQVMsR0FBRyxJQUFBQyxrQkFBQSxFQUFXLFVBQUFDLEtBQUs7RUFBQSxPQUFLO0lBQ3JDQyxJQUFJLEVBQUU7TUFDSkMsVUFBVSxFQUFFLElBQUlGLEtBQUssQ0FBQ0csT0FBTixDQUFjQyxJQUQxQjtNQUVKQyxhQUFhLEVBQUUsSUFBSUwsS0FBSyxDQUFDRyxPQUFOLENBQWNDO0lBRjdCO0VBRCtCLENBQUw7QUFBQSxDQUFoQixFQUtkLFVBQUFFLEtBQUs7RUFBQSxvQkFBSTtJQUFLLFNBQVMsRUFBRUEsS0FBSyxDQUFDQyxPQUFOLENBQWNOO0VBQTlCLEdBQXFDSyxLQUFLLENBQUNFLFFBQTNDLENBQUo7QUFBQSxDQUxTLENBQWxCO0FBT0EsSUFBTUMsdUJBQXVCLEdBQUcsQ0FBQyxPQUFELEVBQVUsSUFBVixDQUFoQzs7QUFF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
163
+ //# sourceMappingURL=mask.js.map
package/lib/mask.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mask.js","names":["Paragraph","withStyles","theme","para","paddingTop","spacing","unit","paddingBottom","props","classes","children","restrictWhitespaceTypes","addText","parentNode","text","isWhitespace","trim","parentType","type","includes","undefined","getMark","n","mark","leaves","find","leave","get","length","marks","renderChildren","layout","value","onChange","rootRenderChildren","nodes","forEach","index","key","isMath","push","__html","innerHTML","c","object","content","reduce","acc","l","t","extraText","markKey","MARK_TAGS","Tag","subNodes","data","attributes","MaskContainer","main","display","Mask","id","handleChange","React","Component","PropTypes","func"],"sources":["../src/mask.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MARK_TAGS } from './serialization';\n\nconst Paragraph = withStyles(theme => ({\n para: {\n paddingTop: 2 * theme.spacing.unit,\n paddingBottom: 2 * theme.spacing.unit\n }\n}))(props => <div className={props.classes.para}>{props.children}</div>);\n\nconst restrictWhitespaceTypes = ['tbody', 'tr'];\n\nconst addText = (parentNode, text) => {\n const isWhitespace = text.trim() === '';\n const parentType = parentNode && parentNode.type;\n\n if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {\n return undefined;\n } else {\n return text;\n }\n};\n\nconst getMark = n => {\n const mark = n.leaves.find(leave => get(leave, 'marks', []).length);\n\n if (mark) {\n return mark.marks[0];\n }\n\n return null;\n};\n\nexport const renderChildren = (layout, value, onChange, rootRenderChildren, parentNode) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = `${n.type}-${index}`;\n\n if (n.isMath) {\n children.push(\n <span dangerouslySetInnerHTML={{ __html: `<math displaystyle=\"true\">${n.nodes[0].innerHTML}</math>` }} />\n );\n return children;\n }\n\n if (rootRenderChildren) {\n const c = rootRenderChildren(n, value, onChange);\n if (c) {\n children.push(c);\n return;\n }\n }\n\n if (n.object === 'text') {\n const content = n.leaves.reduce((acc, l) => {\n const t = l.text;\n const extraText = addText(parentNode, t);\n return extraText ? acc + extraText : acc;\n }, '');\n const mark = getMark(n);\n\n if (mark) {\n let markKey;\n\n for (markKey in MARK_TAGS) {\n if (MARK_TAGS[markKey] === mark.type) {\n const Tag = markKey;\n\n children.push(<Tag>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n);\n if (n.type === 'p' || n.type === 'paragraph') {\n children.push(<Paragraph key={key}>{subNodes}</Paragraph>);\n } else {\n const Tag = n.type;\n if (n.nodes && n.nodes.length > 0) {\n children.push(\n <Tag key={key} {...n.data.attributes}>\n {subNodes}\n </Tag>\n );\n } else {\n children.push(<Tag key={key} {...n.data.attributes} />);\n }\n }\n }\n });\n return children;\n};\n\nconst MaskContainer = withStyles(() => ({\n main: {\n display: 'initial'\n }\n}))(props => <div className={props.classes.main}>{props.children}</div>);\n\n/**\n * Renders a layout that uses the slate.js Value model structure.\n */\nexport default class Mask extends React.Component {\n static propTypes = {\n renderChildren: PropTypes.func,\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func\n };\n\n handleChange = (id, value) => {\n const data = { ...this.props.value, [id]: value };\n this.props.onChange(data);\n };\n\n render() {\n const { value, layout } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren);\n\n return <MaskContainer>{children}</MaskContainer>;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG,IAAAC,kBAAA,EAAW,UAAAC,KAAK;EAAA,OAAK;IACrCC,IAAI,EAAE;MACJC,UAAU,EAAE,IAAIF,KAAK,CAACG,OAAN,CAAcC,IAD1B;MAEJC,aAAa,EAAE,IAAIL,KAAK,CAACG,OAAN,CAAcC;IAF7B;EAD+B,CAAL;AAAA,CAAhB,EAKd,UAAAE,KAAK;EAAA,oBAAI;IAAK,SAAS,EAAEA,KAAK,CAACC,OAAN,CAAcN;EAA9B,GAAqCK,KAAK,CAACE,QAA3C,CAAJ;AAAA,CALS,CAAlB;AAOA,IAAMC,uBAAuB,GAAG,CAAC,OAAD,EAAU,IAAV,CAAhC;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,UAAD,EAAaC,IAAb,EAAsB;EACpC,IAAMC,YAAY,GAAGD,IAAI,CAACE,IAAL,OAAgB,EAArC;EACA,IAAMC,UAAU,GAAGJ,UAAU,IAAIA,UAAU,CAACK,IAA5C;;EAEA,IAAIH,YAAY,IAAIJ,uBAAuB,CAACQ,QAAxB,CAAiCF,UAAjC,CAApB,EAAkE;IAChE,OAAOG,SAAP;EACD,CAFD,MAEO;IACL,OAAON,IAAP;EACD;AACF,CATD;;AAWA,IAAMO,OAAO,GAAG,SAAVA,OAAU,CAAAC,CAAC,EAAI;EACnB,IAAMC,IAAI,GAAGD,CAAC,CAACE,MAAF,CAASC,IAAT,CAAc,UAAAC,KAAK;IAAA,OAAI,IAAAC,eAAA,EAAID,KAAJ,EAAW,OAAX,EAAoB,EAApB,EAAwBE,MAA5B;EAAA,CAAnB,CAAb;;EAEA,IAAIL,IAAJ,EAAU;IACR,OAAOA,IAAI,CAACM,KAAL,CAAW,CAAX,CAAP;EACD;;EAED,OAAO,IAAP;AACD,CARD;;AAUO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,MAAD,EAASC,KAAT,EAAgBC,QAAhB,EAA0BC,kBAA1B,EAA8CrB,UAA9C,EAA6D;EACzF,IAAI,CAACmB,KAAL,EAAY;IACV,OAAO,IAAP;EACD;;EAED,IAAMtB,QAAQ,GAAG,EAAjB;EAEA,CAACqB,MAAM,CAACI,KAAP,IAAgB,EAAjB,EAAqBC,OAArB,CAA6B,UAACd,CAAD,EAAIe,KAAJ,EAAc;IACzC,IAAMC,GAAG,aAAMhB,CAAC,CAACJ,IAAR,cAAgBmB,KAAhB,CAAT;;IAEA,IAAIf,CAAC,CAACiB,MAAN,EAAc;MACZ7B,QAAQ,CAAC8B,IAAT,eACE;QAAM,uBAAuB,EAAE;UAAEC,MAAM,wCAA+BnB,CAAC,CAACa,KAAF,CAAQ,CAAR,EAAWO,SAA1C;QAAR;MAA/B,EADF;MAGA,OAAOhC,QAAP;IACD;;IAED,IAAIwB,kBAAJ,EAAwB;MACtB,IAAMS,CAAC,GAAGT,kBAAkB,CAACZ,CAAD,EAAIU,KAAJ,EAAWC,QAAX,CAA5B;;MACA,IAAIU,CAAJ,EAAO;QACLjC,QAAQ,CAAC8B,IAAT,CAAcG,CAAd;QACA;MACD;IACF;;IAED,IAAIrB,CAAC,CAACsB,MAAF,KAAa,MAAjB,EAAyB;MACvB,IAAMC,OAAO,GAAGvB,CAAC,CAACE,MAAF,CAASsB,MAAT,CAAgB,UAACC,GAAD,EAAMC,CAAN,EAAY;QAC1C,IAAMC,CAAC,GAAGD,CAAC,CAAClC,IAAZ;QACA,IAAMoC,SAAS,GAAGtC,OAAO,CAACC,UAAD,EAAaoC,CAAb,CAAzB;QACA,OAAOC,SAAS,GAAGH,GAAG,GAAGG,SAAT,GAAqBH,GAArC;MACD,CAJe,EAIb,EAJa,CAAhB;MAKA,IAAMxB,IAAI,GAAGF,OAAO,CAACC,CAAD,CAApB;;MAEA,IAAIC,IAAJ,EAAU;QACR,IAAI4B,OAAJ;;QAEA,KAAKA,OAAL,IAAgBC,wBAAhB,EAA2B;UACzB,IAAIA,wBAAA,CAAUD,OAAV,MAAuB5B,IAAI,CAACL,IAAhC,EAAsC;YACpC,IAAMmC,GAAG,GAAGF,OAAZ;YAEAzC,QAAQ,CAAC8B,IAAT,eAAc,gCAAC,GAAD,QAAMK,OAAN,CAAd;YACA;UACD;QACF;MACF,CAXD,MAWO,IAAIA,OAAO,CAACjB,MAAR,GAAiB,CAArB,EAAwB;QAC7BlB,QAAQ,CAAC8B,IAAT,CAAcK,OAAd;MACD;IACF,CAtBD,MAsBO;MACL,IAAMS,QAAQ,GAAGxB,cAAc,CAACR,CAAD,EAAIU,KAAJ,EAAWC,QAAX,EAAqBC,kBAArB,EAAyCZ,CAAzC,CAA/B;;MACA,IAAIA,CAAC,CAACJ,IAAF,KAAW,GAAX,IAAkBI,CAAC,CAACJ,IAAF,KAAW,WAAjC,EAA8C;QAC5CR,QAAQ,CAAC8B,IAAT,eAAc,gCAAC,SAAD;UAAW,GAAG,EAAEF;QAAhB,GAAsBgB,QAAtB,CAAd;MACD,CAFD,MAEO;QACL,IAAMD,IAAG,GAAG/B,CAAC,CAACJ,IAAd;;QACA,IAAII,CAAC,CAACa,KAAF,IAAWb,CAAC,CAACa,KAAF,CAAQP,MAAR,GAAiB,CAAhC,EAAmC;UACjClB,QAAQ,CAAC8B,IAAT,eACE,gCAAC,IAAD;YAAK,GAAG,EAAEF;UAAV,GAAmBhB,CAAC,CAACiC,IAAF,CAAOC,UAA1B,GACGF,QADH,CADF;QAKD,CAND,MAMO;UACL5C,QAAQ,CAAC8B,IAAT,eAAc,gCAAC,IAAD;YAAK,GAAG,EAAEF;UAAV,GAAmBhB,CAAC,CAACiC,IAAF,CAAOC,UAA1B,EAAd;QACD;MACF;IACF;EACF,CAzDD;EA0DA,OAAO9C,QAAP;AACD,CAlEM;;;AAoEP,IAAM+C,aAAa,GAAG,IAAAxD,kBAAA,EAAW;EAAA,OAAO;IACtCyD,IAAI,EAAE;MACJC,OAAO,EAAE;IADL;EADgC,CAAP;AAAA,CAAX,EAIlB,UAAAnD,KAAK;EAAA,oBAAI;IAAK,SAAS,EAAEA,KAAK,CAACC,OAAN,CAAciD;EAA9B,GAAqClD,KAAK,CAACE,QAA3C,CAAJ;AAAA,CAJa,CAAtB;AAMA;AACA;AACA;;IACqBkD,I;;;;;;;;;;;;;;;qGAQJ,UAACC,EAAD,EAAK7B,KAAL,EAAe;MAC5B,IAAMuB,IAAI,mCAAQ,MAAK/C,KAAL,CAAWwB,KAAnB,4CAA2B6B,EAA3B,EAAgC7B,KAAhC,EAAV;;MACA,MAAKxB,KAAL,CAAWyB,QAAX,CAAoBsB,IAApB;IACD,C;;;;;;WAED,kBAAS;MACP,kBAA0B,KAAK/C,KAA/B;MAAA,IAAQwB,KAAR,eAAQA,KAAR;MAAA,IAAeD,MAAf,eAAeA,MAAf;MACA,IAAMrB,QAAQ,GAAGoB,cAAc,CAACC,MAAD,EAASC,KAAT,EAAgB,KAAK8B,YAArB,EAAmC,KAAKtD,KAAL,CAAWsB,cAA9C,CAA/B;MAEA,oBAAO,gCAAC,aAAD,QAAgBpB,QAAhB,CAAP;IACD;;;EAlB+BqD,iBAAA,CAAMC,S;;;iCAAnBJ,I,eACA;EACjB9B,cAAc,EAAEmC,qBAAA,CAAUC,IADT;EAEjBnC,MAAM,EAAEkC,qBAAA,CAAUrB,MAFD;EAGjBZ,KAAK,EAAEiC,qBAAA,CAAUrB,MAHA;EAIjBX,QAAQ,EAAEgC,qBAAA,CAAUC;AAJH,C"}
1
+ {"version":3,"file":"mask.js","names":["_react","_interopRequireDefault","require","_propTypes","_slate","_styles","_serialization","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","Paragraph","withStyles","theme","para","paddingTop","spacing","unit","paddingBottom","props","createElement","className","classes","children","restrictWhitespaceTypes","addText","parentNode","text","isWhitespace","trim","parentType","type","includes","undefined","getMark","n","markTags","values","MARK_TAGS","renderChildren","layout","value","onChange","rootRenderChildren","index","concat","isMath","dangerouslySetInnerHTML","__html","innerHTML","c","Text","isText","content","mark","markKey","Tag","subNodes","_Tag","_extends2","data","attributes","exports","MaskContainer","main","display","Mask","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","_assertThisInitialized2","id","_createClass2","render","_this$props","handleChange","React","Component","PropTypes","func"],"sources":["../src/mask.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Text } from 'slate';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MARK_TAGS } from './serialization';\n\nconst Paragraph = withStyles((theme) => ({\n para: {\n paddingTop: 2 * theme.spacing.unit,\n paddingBottom: 2 * theme.spacing.unit,\n },\n}))((props) => <div className={props.classes.para}>{props.children}</div>);\n\nconst restrictWhitespaceTypes = ['tbody', 'tr'];\n\nconst addText = (parentNode, text) => {\n const isWhitespace = text.trim() === '';\n const parentType = parentNode && parentNode.type;\n\n if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {\n return undefined;\n } else {\n return text;\n }\n};\n\nconst getMark = (n) => {\n const markTags = Object.values(MARK_TAGS);\n\n return markTags.includes(n.type);\n};\n\nexport const renderChildren = (layout, value, onChange, rootRenderChildren, parentNode) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.children || []).forEach((n, index) => {\n const key = `${n.type}-${index}`;\n\n if (n.isMath) {\n children.push(\n <span dangerouslySetInnerHTML={{ __html: `<math displaystyle=\"true\">${n.children[0].innerHTML}</math>` }} />,\n );\n return children;\n }\n\n if (rootRenderChildren) {\n const c = rootRenderChildren(n, value, onChange);\n if (c) {\n children.push(c);\n return;\n }\n }\n\n if (Text.isText(n)) {\n const content = n.text;\n const mark = getMark(n);\n\n if (mark) {\n let markKey;\n\n for (markKey in MARK_TAGS) {\n if (MARK_TAGS[markKey] === mark.type) {\n const Tag = markKey;\n\n children.push(<Tag key={key}>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n);\n if (n.type === 'p' || n.type === 'paragraph') {\n children.push(<Paragraph key={key}>{subNodes}</Paragraph>);\n } else {\n const Tag = n.type;\n if (Tag !== 'source' && n.children && n.children.length > 0) {\n children.push(\n <Tag key={key} {...n.data.attributes}>\n {subNodes}\n </Tag>,\n );\n } else {\n children.push(<Tag key={key} {...n.data.attributes} />);\n }\n }\n }\n });\n return children;\n};\n\nconst MaskContainer = withStyles(() => ({\n main: {\n display: 'initial',\n },\n}))((props) => <div className={props.classes.main}>{props.children}</div>);\n\n/**\n * Renders a layout that uses the slate.js Value model structure.\n */\nexport default class Mask extends React.Component {\n static propTypes = {\n renderChildren: PropTypes.func,\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n };\n\n handleChange = (id, value) => {\n const data = { ...this.props.value, [id]: value };\n this.props.onChange(data);\n };\n\n render() {\n const { value, layout } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren);\n\n return <MaskContainer>{children}</MaskContainer>;\n }\n}\n"],"mappings":"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"}