@pie-lib/mask-markup 1.15.0-beta.0 → 1.15.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 (37) hide show
  1. package/CHANGELOG.json +1 -871
  2. package/CHANGELOG.md +115 -20
  3. package/package.json +8 -5
  4. package/src/choices/choice.jsx +1 -1
  5. package/src/components/__tests__/__snapshots__/dropdown.test.js.snap +15 -12
  6. package/src/components/__tests__/blank.test.js +1 -1
  7. package/src/components/blank.jsx +1 -1
  8. package/src/components/correct-input.jsx +1 -1
  9. package/src/components/dropdown.jsx +118 -23
  10. package/src/constructed-response.jsx +1 -1
  11. package/src/serialization.js +1 -1
  12. package/lib/__tests__/drag-in-the-blank.test.js +0 -71
  13. package/lib/__tests__/index.test.js +0 -50
  14. package/lib/__tests__/mask.test.js +0 -149
  15. package/lib/__tests__/serialization.test.js +0 -45
  16. package/lib/__tests__/utils.js +0 -17
  17. package/lib/__tests__/with-mask.test.js +0 -65
  18. package/lib/choices/__tests__/index.test.js +0 -85
  19. package/lib/choices/choice.js +0 -221
  20. package/lib/choices/index.js +0 -135
  21. package/lib/componentize.js +0 -25
  22. package/lib/components/__tests__/blank.test.js +0 -234
  23. package/lib/components/__tests__/correct-input.test.js +0 -63
  24. package/lib/components/__tests__/dropdown.test.js +0 -70
  25. package/lib/components/__tests__/input.test.js +0 -64
  26. package/lib/components/blank.js +0 -415
  27. package/lib/components/correct-input.js +0 -118
  28. package/lib/components/dropdown.js +0 -349
  29. package/lib/components/input.js +0 -57
  30. package/lib/constructed-response.js +0 -116
  31. package/lib/customizable.js +0 -48
  32. package/lib/drag-in-the-blank.js +0 -217
  33. package/lib/index.js +0 -62
  34. package/lib/inline-dropdown.js +0 -48
  35. package/lib/mask.js +0 -254
  36. package/lib/serialization.js +0 -207
  37. package/lib/with-mask.js +0 -125
@@ -1,217 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- 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
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _mathRendering = require("@pie-lib/math-rendering");
29
-
30
- var _choices = _interopRequireDefault(require("./choices"));
31
-
32
- var _blank = _interopRequireDefault(require("./components/blank"));
33
-
34
- 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
45
- var Masked = (0, _withMask.withMask)('blank', function (props) {
46
- return function (node, data, onChange) {
47
- var dataset = node.data ? node.data.dataset || {} : {};
48
-
49
- if (dataset.component === 'blank') {
50
- // eslint-disable-next-line react/prop-types
51
- 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
-
60
- var choice = choiceId && props.choices.find(function (c) {
61
- return c.id === choiceId;
62
- });
63
- return /*#__PURE__*/_react["default"].createElement(_blank["default"], {
64
- key: "".concat(node.type, "-").concat(dataset.id),
65
- correct: showCorrectAnswer || feedback && feedback[dataset.id],
66
- disabled: disabled,
67
- duplicates: duplicates,
68
- choice: choice,
69
- id: dataset.id,
70
- emptyResponseAreaWidth: emptyResponseAreaWidth,
71
- emptyResponseAreaHeight: emptyResponseAreaHeight,
72
- onChange: onChange
73
- });
74
- }
75
- };
76
- });
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() {
84
- var _this;
85
-
86
- (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) {
94
- var flexDirection;
95
- var justifyContent;
96
- var alignItems;
97
-
98
- switch (choicePosition) {
99
- case 'left':
100
- flexDirection = 'row';
101
- alignItems = 'center';
102
- break;
103
-
104
- case 'right':
105
- flexDirection = 'row-reverse';
106
- justifyContent = 'flex-end';
107
- alignItems = 'center';
108
- break;
109
-
110
- case 'below':
111
- flexDirection = 'column-reverse';
112
- break;
113
-
114
- default:
115
- // above
116
- flexDirection = 'column';
117
- break;
118
- }
119
-
120
- return {
121
- flexDirection: flexDirection,
122
- justifyContent: justifyContent,
123
- alignItems: alignItems
124
- };
125
- });
126
- return _this;
127
- }
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
- }, {
142
- key: "render",
143
- value: function render() {
144
- 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;
160
- var choicePosition = choicesPosition || 'below';
161
-
162
- var style = _objectSpread({
163
- display: 'flex',
164
- minWidth: '100px'
165
- }, this.getPositionDirection(choicePosition));
166
-
167
- return /*#__PURE__*/_react["default"].createElement("div", {
168
- ref: function ref(_ref) {
169
- return _ref && (_this2.rootRef = _ref);
170
- },
171
- style: style
172
- }, /*#__PURE__*/_react["default"].createElement(_choices["default"], {
173
- choicePosition: choicePosition,
174
- duplicates: duplicates,
175
- choices: choices,
176
- value: value,
177
- disabled: disabled
178
- }), /*#__PURE__*/_react["default"].createElement(Masked, {
179
- elementType: 'drag-in-the-blank',
180
- markup: markup,
181
- layout: layout,
182
- value: value,
183
- choices: choices,
184
- onChange: onChange,
185
- disabled: disabled,
186
- duplicates: duplicates,
187
- feedback: feedback,
188
- correctResponse: correctResponse,
189
- showCorrectAnswer: showCorrectAnswer,
190
- emptyResponseAreaWidth: emptyResponseAreaWidth,
191
- emptyResponseAreaHeight: emptyResponseAreaHeight
192
- }));
193
- }
194
- }]);
195
- return DragInTheBlank;
196
- }(_react["default"].Component);
197
-
198
- exports["default"] = DragInTheBlank;
199
- (0, _defineProperty2["default"])(DragInTheBlank, "propTypes", {
200
- markup: _propTypes["default"].string,
201
- layout: _propTypes["default"].object,
202
- choicesPosition: _propTypes["default"].string,
203
- choices: _propTypes["default"].arrayOf(_propTypes["default"].shape({
204
- label: _propTypes["default"].string,
205
- value: _propTypes["default"].string
206
- })),
207
- value: _propTypes["default"].object,
208
- onChange: _propTypes["default"].func,
209
- duplicates: _propTypes["default"].bool,
210
- disabled: _propTypes["default"].bool,
211
- feedback: _propTypes["default"].object,
212
- correctResponse: _propTypes["default"].object,
213
- showCorrectAnswer: _propTypes["default"].bool,
214
- emptyResponseAreaWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
215
- emptyResponseAreaHeight: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
216
- });
217
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kcmFnLWluLXRoZS1ibGFuay5qc3giXSwibmFtZXMiOlsiTWFza2VkIiwicHJvcHMiLCJub2RlIiwiZGF0YSIsIm9uQ2hhbmdlIiwiZGF0YXNldCIsImNvbXBvbmVudCIsImRpc2FibGVkIiwiZHVwbGljYXRlcyIsImNvcnJlY3RSZXNwb25zZSIsImZlZWRiYWNrIiwic2hvd0NvcnJlY3RBbnN3ZXIiLCJlbXB0eVJlc3BvbnNlQXJlYVdpZHRoIiwiZW1wdHlSZXNwb25zZUFyZWFIZWlnaHQiLCJjaG9pY2VJZCIsImlkIiwiY2hvaWNlIiwiY2hvaWNlcyIsImZpbmQiLCJjIiwidHlwZSIsIkRyYWdJblRoZUJsYW5rIiwiY2hvaWNlUG9zaXRpb24iLCJmbGV4RGlyZWN0aW9uIiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwicm9vdFJlZiIsIm1hcmt1cCIsImxheW91dCIsInZhbHVlIiwiY2hvaWNlc1Bvc2l0aW9uIiwic3R5bGUiLCJkaXNwbGF5IiwibWluV2lkdGgiLCJnZXRQb3NpdGlvbkRpcmVjdGlvbiIsInJlZiIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib2JqZWN0IiwiYXJyYXlPZiIsInNoYXBlIiwibGFiZWwiLCJmdW5jIiwiYm9vbCIsIm9uZU9mVHlwZSIsIm51bWJlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsTUFBTSxHQUFHLHdCQUFTLE9BQVQsRUFBa0IsVUFBQ0MsS0FBRDtBQUFBLFNBQVcsVUFBQ0MsSUFBRCxFQUFPQyxJQUFQLEVBQWFDLFFBQWIsRUFBMEI7QUFDcEUsUUFBTUMsT0FBTyxHQUFHSCxJQUFJLENBQUNDLElBQUwsR0FBWUQsSUFBSSxDQUFDQyxJQUFMLENBQVVFLE9BQVYsSUFBcUIsRUFBakMsR0FBc0MsRUFBdEQ7O0FBQ0EsUUFBSUEs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b250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcbmltcG9ydCBDaG9pY2VzIGZyb20gJy4vY2hvaWNlcyc7XG5pbXBvcnQgQmxhbmsgZnJvbSAnLi9jb21wb25lbnRzL2JsYW5rJztcbmltcG9ydCB7IHdpdGhNYXNrIH0gZnJvbSAnLi93aXRoLW1hc2snO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG5jb25zdCBNYXNrZWQgPSB3aXRoTWFzaygnYmxhbmsnLCAocHJvcHMpID0+IChub2RlLCBkYXRhLCBvbkNoYW5nZSkgPT4ge1xuICBjb25zdCBkYXRhc2V0ID0gbm9kZS5kYXRhID8gbm9kZS5kYXRhLmRhdGFzZXQgfHwge30gOiB7fTtcbiAgaWYgKGRhdGFzZXQuY29tcG9uZW50ID09PSAnYmxhbmsnKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L3Byb3AtdHlwZXNcbiAgICBjb25zdCB7XG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGR1cGxpY2F0ZXMsXG4gICAgICBjb3JyZWN0UmVzcG9uc2UsXG4gICAgICBmZWVkYmFjayxcbiAgICAgIHNob3dDb3JyZWN0QW5zd2VyLFxuICAgICAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aCxcbiAgICAgIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0LFxuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBjaG9pY2VJZCA9IHNob3dDb3JyZWN0QW5zd2VyID8gY29ycmVjdFJlc3BvbnNlW2RhdGFzZXQuaWRdIDogZGF0YVtkYXRhc2V0LmlkXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvcHJvcC10eXBlc1xuICAgIGNvbnN0IGNob2ljZSA9IGNob2ljZUlkICYmIHByb3BzLmNob2ljZXMuZmluZCgoYykgPT4gYy5pZCA9PT0gY2hvaWNlSWQpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxCbGFua1xuICAgICAgICBrZXk9e2Ake25vZGUudHlwZX0tJHtkYXRhc2V0LmlkfWB9XG4gICAgICAgIGNvcnJlY3Q9e3Nob3dDb3JyZWN0QW5zd2VyIHx8IChmZWVkYmFjayAmJiBmZWVkYmFja1tkYXRhc2V0LmlkXSl9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgZHVwbGljYXRlcz17ZHVwbGljYXRlc31cbiAgICAgICAgY2hvaWNlPXtjaG9pY2V9XG4gICAgICAgIGlkPXtkYXRhc2V0LmlkfVxuICAgICAgICBlbXB0eVJlc3BvbnNlQXJlYVdpZHRoPXtlbXB0eVJlc3BvbnNlQXJlYVdpZHRofVxuICAgICAgICBlbXB0eVJlc3BvbnNlQXJlYUhlaWdodD17ZW1wdHlSZXNwb25zZUFyZWFIZWlnaHR9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyYWdJblRoZUJsYW5rIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtYXJrdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGF5b3V0OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNob2ljZXNQb3NpdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjaG9pY2VzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc2hhcGUoeyBsYWJlbDogUHJvcFR5cGVzLnN0cmluZywgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcgfSkpLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkdXBsaWNhdGVzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZmVlZGJhY2s6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY29ycmVjdFJlc3BvbnNlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHNob3dDb3JyZWN0QW5zd2VyOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBlbXB0eVJlc3BvbnNlQXJlYVdpZHRoOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gICAgZW1wdHlSZXNwb25zZUFyZWFIZWlnaHQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5udW1iZXJdKSxcbiAgfTtcblxuICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpIHtcbiAgICBpZiAodGhpcy5yb290UmVmKSB7XG4gICAgICByZW5kZXJNYXRoKHRoaXMucm9vdFJlZik7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIHJlbmRlck1hdGgodGhpcy5yb290UmVmKTtcbiAgfVxuXG4gIGdldFBvc2l0aW9uRGlyZWN0aW9uID0gKGNob2ljZVBvc2l0aW9uKSA9PiB7XG4gICAgbGV0IGZsZXhEaXJlY3Rpb247XG4gICAgbGV0IGp1c3RpZnlDb250ZW50O1xuICAgIGxldCBhbGlnbkl0ZW1zO1xuXG4gICAgc3dpdGNoIChjaG9pY2VQb3NpdGlvbikge1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGZsZXhEaXJlY3Rpb24gPSAncm93JztcbiAgICAgICAgYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdyb3ctcmV2ZXJzZSc7XG4gICAgICAgIGp1c3RpZnlDb250ZW50ID0gJ2ZsZXgtZW5kJztcbiAgICAgICAgYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JlbG93JzpcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdjb2x1bW4tcmV2ZXJzZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gYWJvdmVcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdjb2x1bW4nO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4geyBmbGV4RGlyZWN0aW9uLCBqdXN0aWZ5Q29udGVudCwgYWxpZ25JdGVtcyB9O1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBtYXJrdXAsXG4gICAgICBkdXBsaWNhdGVzLFxuICAgICAgbGF5b3V0LFxuICAgICAgdmFsdWUsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGNob2ljZXNQb3NpdGlvbixcbiAgICAgIGNob2ljZXMsXG4gICAgICBjb3JyZWN0UmVzcG9uc2UsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGZlZWRiYWNrLFxuICAgICAgc2hvd0NvcnJlY3RBbnN3ZXIsXG4gICAgICBlbXB0eVJlc3BvbnNlQXJlYVdpZHRoLFxuICAgICAgZW1wdHlSZXNwb25zZUFyZWFIZWlnaHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjaG9pY2VQb3NpdGlvbiA9IGNob2ljZXNQb3NpdGlvbiB8fCAnYmVsb3cnO1xuICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgbWluV2lkdGg6ICcxMDBweCcsXG4gICAgICAuLi50aGlzLmdldFBvc2l0aW9uRGlyZWN0aW9uKGNob2ljZVBvc2l0aW9uKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgcmVmPXsocmVmKSA9PiByZWYgJiYgKHRoaXMucm9vdFJlZiA9IHJlZil9IHN0eWxlPXtzdHlsZX0+XG4gICAgICAgIDxDaG9pY2VzXG4gICAgICAgICAgY2hvaWNlUG9zaXRpb249e2Nob2ljZVBvc2l0aW9ufVxuICAgICAgICAgIGR1cGxpY2F0ZXM9e2R1cGxpY2F0ZXN9XG4gICAgICAgICAgY2hvaWNlcz17Y2hvaWNlc31cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAvPlxuICAgICAgICA8TWFza2VkXG4gICAgICAgICAgZWxlbWVudFR5cGU9eydkcmFnLWluLXRoZS1ibGFuayd9XG4gICAgICAgICAgbWFya3VwPXttYXJrdXB9XG4gICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIGNob2ljZXM9e2Nob2ljZXN9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkdXBsaWNhdGVzPXtkdXBsaWNhdGVzfVxuICAgICAgICAgIGZlZWRiYWNrPXtmZWVkYmFja31cbiAgICAgICAgICBjb3JyZWN0UmVzcG9uc2U9e2NvcnJlY3RSZXNwb25zZX1cbiAgICAgICAgICBzaG93Q29ycmVjdEFuc3dlcj17c2hvd0NvcnJlY3RBbnN3ZXJ9XG4gICAgICAgICAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aD17ZW1wdHlSZXNwb25zZUFyZWFXaWR0aH1cbiAgICAgICAgICBlbXB0eVJlc3BvbnNlQXJlYUhlaWdodD17ZW1wdHlSZXNwb25zZUFyZWFIZWlnaHR9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0=
package/lib/index.js DELETED
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "ConstructedResponse", {
9
- enumerable: true,
10
- get: function get() {
11
- return _constructedResponse["default"];
12
- }
13
- });
14
- Object.defineProperty(exports, "Customizable", {
15
- enumerable: true,
16
- get: function get() {
17
- return _customizable["default"];
18
- }
19
- });
20
- Object.defineProperty(exports, "DragInTheBlank", {
21
- enumerable: true,
22
- get: function get() {
23
- return _dragInTheBlank["default"];
24
- }
25
- });
26
- Object.defineProperty(exports, "InlineDropdown", {
27
- enumerable: true,
28
- get: function get() {
29
- return _inlineDropdown["default"];
30
- }
31
- });
32
- Object.defineProperty(exports, "buildLayoutFromMarkup", {
33
- enumerable: true,
34
- get: function get() {
35
- return _withMask.buildLayoutFromMarkup;
36
- }
37
- });
38
- Object.defineProperty(exports, "componentize", {
39
- enumerable: true,
40
- get: function get() {
41
- return _componentize["default"];
42
- }
43
- });
44
- Object.defineProperty(exports, "withMask", {
45
- enumerable: true,
46
- get: function get() {
47
- return _withMask.withMask;
48
- }
49
- });
50
-
51
- var _withMask = require("./with-mask");
52
-
53
- var _dragInTheBlank = _interopRequireDefault(require("./drag-in-the-blank"));
54
-
55
- var _constructedResponse = _interopRequireDefault(require("./constructed-response"));
56
-
57
- var _customizable = _interopRequireDefault(require("./customizable"));
58
-
59
- var _inlineDropdown = _interopRequireDefault(require("./inline-dropdown"));
60
-
61
- var _componentize = _interopRequireDefault(require("./componentize"));
62
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd2l0aE1hc2ssIGJ1aWxkTGF5b3V0RnJvbU1hcmt1cCB9IGZyb20gJy4vd2l0aC1tYXNrJztcbmltcG9ydCBEcmFnSW5UaGVCbGFuayBmcm9tICcuL2RyYWctaW4tdGhlLWJsYW5rJztcbmltcG9ydCBDb25zdHJ1Y3RlZFJlc3BvbnNlIGZyb20gJy4vY29uc3RydWN0ZWQtcmVzcG9uc2UnO1xuaW1wb3J0IEN1c3RvbWl6YWJsZSBmcm9tICcuL2N1c3RvbWl6YWJsZSc7XG5pbXBvcnQgSW5saW5lRHJvcGRvd24gZnJvbSAnLi9pbmxpbmUtZHJvcGRvd24nO1xuaW1wb3J0IGNvbXBvbmVudGl6ZSBmcm9tICcuL2NvbXBvbmVudGl6ZSc7XG5cbmV4cG9ydCB7XG4gIHdpdGhNYXNrLFxuICBidWlsZExheW91dEZyb21NYXJrdXAsXG4gIERyYWdJblRoZUJsYW5rLFxuICBDb25zdHJ1Y3RlZFJlc3BvbnNlLFxuICBJbmxpbmVEcm9wZG93bixcbiAgY29tcG9uZW50aXplLFxuICBDdXN0b21pemFibGUsXG59O1xuIl19
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _dropdown = _interopRequireDefault(require("./components/dropdown"));
13
-
14
- var _withMask = require("./with-mask");
15
-
16
- // eslint-disable-next-line react/display-name
17
- var _default = (0, _withMask.withMask)('dropdown', function (props) {
18
- return function (node, data, onChange) {
19
- var dataset = node.data ? node.data.dataset || {} : {};
20
-
21
- if (dataset.component === 'dropdown') {
22
- // eslint-disable-next-line react/prop-types
23
- var choices = props.choices,
24
- disabled = props.disabled,
25
- feedback = props.feedback,
26
- showCorrectAnswer = props.showCorrectAnswer;
27
- var correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find(function (c) {
28
- return c.correct;
29
- });
30
- var finalChoice = showCorrectAnswer ? correctAnswer && correctAnswer.value : data[dataset.id];
31
- return /*#__PURE__*/_react["default"].createElement(_dropdown["default"], {
32
- key: "".concat(node.type, "-dropdown-").concat(dataset.id),
33
- correct: feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct',
34
- disabled: disabled || showCorrectAnswer,
35
- value: finalChoice,
36
- correctValue: showCorrectAnswer ? correctAnswer && correctAnswer.label : undefined,
37
- id: dataset.id,
38
- onChange: onChange,
39
- choices: choices[dataset.id],
40
- showCorrectAnswer: showCorrectAnswer,
41
- singleQuery: Object.keys(choices).length == 1
42
- });
43
- }
44
- };
45
- });
46
-
47
- exports["default"] = _default;
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmxpbmUtZHJvcGRvd24uanN4Il0sIm5hbWVzIjpbInByb3BzIiwibm9kZSIsImRhdGEiLCJvbkNoYW5nZSIsImRhdGFzZXQiLCJjb21wb25lbnQiLCJjaG9pY2VzIiwiZGlzYWJsZWQiLCJmZWVkYmFjayIsInNob3dDb3JyZWN0QW5zd2VyIiwiY29ycmVjdEFuc3dlciIsImlkIiwiZmluZCIsImMiLCJjb3JyZWN0IiwiZmluYWxDaG9pY2UiLCJ2YWx1ZSIsInR5cGUiLCJsYWJlbCIsInVuZGVmaW5lZCIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBO2VBQ2Usd0JBQVMsVUFBVCxFQUFxQixVQUFDQSxLQUFEO0FBQUEsU0FBVyxVQUFDQyxJQUFELEVBQU9DLElBQVAsRUFBYUMsUUFBYixFQUEwQjtBQUN2RSxRQUFNQyxPQUFPLEdBQUdILElBQUksQ0FBQ0MsSUFBTCxHQUFZRCxJQUFJLENBQUNDLElBQUwsQ0FBVUUsT0FBVixJQUFxQixFQUFqQyxHQUFzQyxFQUF0RDs7QUFDQSxRQUFJQSxPQUFPLENBQUNDLFNBQVIsS0FBc0IsVUFBMUIsRUFBc0M7QUFDcEM7QUFDQSxVQUFRQyxPQUFSLEdBQTJETixLQUEzRCxDQUFRTSxPQUFSO0FBQUEsVUFBaUJDLFFBQWpCLEdBQTJEUCxLQUEzRCxDQUFpQk8sUUFBakI7QUFBQSxVQUEyQkMsUUFBM0IsR0FBMkRSLEtBQTNELENBQTJCUSxRQUEzQjtBQUFBLFVBQXFDQyxpQkFBckMsR0FBMkRULEtBQTNELENBQXFDUyxpQkFBckM7QUFDQSxVQUFNQyxhQUFhLEdBQUdKLE9BQU8sSUFBSUEsT0FBTyxDQUFDRixPQUFPLENBQUNPLEVBQVQsQ0FBbEIsSUFBa0NMLE9BQU8sQ0FBQ0YsT0FBTyxDQUFDTyxFQUFULENBQVAsQ0FBb0JDLElBQXBCLENBQXlCLFVBQUNDLENBQUQ7QUFBQSxlQUFPQSxDQUFDLENBQUNDLE9BQVQ7QUFBQSxPQUF6QixDQUF4RDtBQUNBLFVBQU1DLFdBQVcsR0FBR04saUJBQWlCLEdBQUdDLGFBQWEsSUFBSUEsYUFBYSxDQUFDTSxLQUFsQyxHQUEwQ2QsSUFBSSxDQUFDRSxPQUFPLENBQUNPLEVBQVQsQ0FBbkY7QUFFQSwwQkFDRSxnQ0FBQyxvQkFBRDtBQUNFLFFBQUEsR0FBRyxZQUFLVixJQUFJLENBQUNnQixJQUFWLHVCQUEyQmIsT0FBTyxDQUFDTyxFQUFuQyxDQURMO0FBRUUsUUFBQSxPQUFPLEVBQUVILFFBQVEsSUFBSUEsUUFBUSxDQUFDSixPQUFPLENBQUNPLEVBQVQsQ0FBcEIsSUFBb0NILFFBQVEsQ0FBQ0osT0FBTyxDQUFDTyxFQUFULENBQVIsS0FBeUIsU0FGeEU7QUFHRSxRQUFBLFFBQVEsRUFBRUosUUFBUSxJQUFJRSxpQkFIeEI7QUFJRSxRQUFBLEtBQUssRUFBRU0sV0FKVDtBQUtFLFFBQUEsWUFBWSxFQUFFTixpQkFBaUIsR0FBR0MsYUFBYSxJQUFJQSxhQUFhLENBQUNRLEtBQWxDLEdBQTBDQyxTQUwzRTtBQU1FLFFBQUEsRUFBRSxFQUFFZixPQUFPLENBQUNPLEVBTmQ7QUFPRSxRQUFBLFFBQVEsRUFBRVIsUUFQWjtBQVFFLFFBQUEsT0FBTyxFQUFFRyxPQUFPLENBQUNGLE9BQU8sQ0FBQ08sRUFBVCxDQVJsQjtBQVNFLFFBQUEsaUJBQWlCLEVBQUVGLGlCQVRyQjtBQVVFLFFBQUEsV0FBVyxFQUFFVyxNQUFNLENBQUNDLElBQVAsQ0FBWWYsT0FBWixFQUFxQmdCLE1BQXJCLElBQStCO0FBVjlDLFFBREY7QUFjRDtBQUNGLEdBdkJtQztBQUFBLENBQXJCLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyB3aXRoTWFzayB9IGZyb20gJy4vd2l0aC1tYXNrJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rpc3BsYXktbmFtZVxuZXhwb3J0IGRlZmF1bHQgd2l0aE1hc2soJ2Ryb3Bkb3duJywgKHByb3BzKSA9PiAobm9kZSwgZGF0YSwgb25DaGFuZ2UpID0+IHtcbiAgY29uc3QgZGF0YXNldCA9IG5vZGUuZGF0YSA/IG5vZGUuZGF0YS5kYXRhc2V0IHx8IHt9IDoge307XG4gIGlmIChkYXRhc2V0LmNvbXBvbmVudCA9PT0gJ2Ryb3Bkb3duJykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9wcm9wLXR5cGVzXG4gICAgY29uc3QgeyBjaG9pY2VzLCBkaXNhYmxlZCwgZmVlZGJhY2ssIHNob3dDb3JyZWN0QW5zd2VyIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb3JyZWN0QW5zd2VyID0gY2hvaWNlcyAmJiBjaG9pY2VzW2RhdGFzZXQuaWRdICYmIGNob2ljZXNbZGF0YXNldC5pZF0uZmluZCgoYykgPT4gYy5jb3JyZWN0KTtcbiAgICBjb25zdCBmaW5hbENob2ljZSA9IHNob3dDb3JyZWN0QW5zd2VyID8gY29ycmVjdEFuc3dlciAmJiBjb3JyZWN0QW5zd2VyLnZhbHVlIDogZGF0YVtkYXRhc2V0LmlkXTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RHJvcGRvd25cbiAgICAgICAga2V5PXtgJHtub2RlLnR5cGV9LWRyb3Bkb3duLSR7ZGF0YXNldC5pZH1gfVxuICAgICAgICBjb3JyZWN0PXtmZWVkYmFjayAmJiBmZWVkYmFja1tkYXRhc2V0LmlkXSAmJiBmZWVkYmFja1tkYXRhc2V0LmlkXSA9PT0gJ2NvcnJlY3QnfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgfHwgc2hvd0NvcnJlY3RBbnN3ZXJ9XG4gICAgICAgIHZhbHVlPXtmaW5hbENob2ljZX1cbiAgICAgICAgY29ycmVjdFZhbHVlPXtzaG93Q29ycmVjdEFuc3dlciA/IGNvcnJlY3RBbnN3ZXIgJiYgY29ycmVjdEFuc3dlci5sYWJlbCA6IHVuZGVmaW5lZH1cbiAgICAgICAgaWQ9e2RhdGFzZXQuaWR9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgY2hvaWNlcz17Y2hvaWNlc1tkYXRhc2V0LmlkXX1cbiAgICAgICAgc2hvd0NvcnJlY3RBbnN3ZXI9e3Nob3dDb3JyZWN0QW5zd2VyfVxuICAgICAgICBzaW5nbGVRdWVyeT17T2JqZWN0LmtleXMoY2hvaWNlcykubGVuZ3RoID09IDF9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn0pO1xuIl19
package/lib/mask.js DELETED
@@ -1,254 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.renderChildren = exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- 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
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _get = _interopRequireDefault(require("lodash/get"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
34
- var _serialization = require("./serialization");
35
-
36
- var _classnames = _interopRequireDefault(require("classnames"));
37
-
38
- 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
- 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
- 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
- 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
- var Paragraph = (0, _styles.withStyles)(function (theme) {
47
- return {
48
- para: {
49
- paddingTop: 2 * theme.spacing.unit,
50
- paddingBottom: 2 * theme.spacing.unit
51
- }
52
- };
53
- })(function (props) {
54
- return /*#__PURE__*/_react["default"].createElement("div", {
55
- className: props.classes.para
56
- }, props.children);
57
- });
58
- var Spacer = (0, _styles.withStyles)(function () {
59
- return {
60
- spacer: {
61
- display: 'inline-block',
62
- width: '.75em'
63
- }
64
- };
65
- })(function (props) {
66
- return /*#__PURE__*/_react["default"].createElement("span", {
67
- className: props.classes.spacer
68
- });
69
- });
70
- var restrictWhitespaceTypes = ['tbody', 'tr'];
71
-
72
- var addText = function addText(parentNode, text) {
73
- var isWhitespace = text.trim() === '';
74
- var parentType = parentNode && parentNode.type;
75
-
76
- if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {
77
- return undefined;
78
- } else {
79
- return text;
80
- }
81
- };
82
-
83
- var getMark = function getMark(n) {
84
- var mark = n.leaves.find(function (leave) {
85
- return (0, _get["default"])(leave, 'marks', []).length;
86
- });
87
-
88
- if (mark) {
89
- return mark.marks[0];
90
- }
91
-
92
- return null;
93
- };
94
-
95
- var renderChildren = function renderChildren(layout, value, onChange, rootRenderChildren, parentNode, elementType) {
96
- if (!value) {
97
- return null;
98
- }
99
-
100
- var children = [];
101
- (layout.nodes || []).forEach(function (n, index) {
102
- var key = n.type ? "".concat(n.type, "-").concat(index) : "".concat(index);
103
-
104
- if (n.isMath) {
105
- children.push( /*#__PURE__*/_react["default"].createElement("span", {
106
- dangerouslySetInnerHTML: {
107
- __html: "<math displaystyle=\"true\">".concat(n.nodes[0].innerHTML, "</math>")
108
- }
109
- }));
110
- return children;
111
- }
112
-
113
- if (rootRenderChildren) {
114
- var c = rootRenderChildren(n, value, onChange);
115
-
116
- if (c) {
117
- children.push(c);
118
-
119
- if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== 'td' && elementType === 'drag-in-the-blank') {
120
- children.push( /*#__PURE__*/_react["default"].createElement(Spacer, {
121
- key: "spacer-".concat(index)
122
- }));
123
- }
124
-
125
- return;
126
- }
127
- }
128
-
129
- if (n.object === 'text') {
130
- var content = n.leaves.reduce(function (acc, l) {
131
- var t = l.text;
132
- var extraText = addText(parentNode, t);
133
- return extraText ? acc + extraText : acc;
134
- }, '');
135
- var mark = getMark(n);
136
-
137
- if (mark) {
138
- var markKey;
139
-
140
- for (markKey in _serialization.MARK_TAGS) {
141
- if (_serialization.MARK_TAGS[markKey] === mark.type) {
142
- var Tag = markKey;
143
- children.push( /*#__PURE__*/_react["default"].createElement(Tag, {
144
- key: key
145
- }, content));
146
- break;
147
- }
148
- }
149
- } else if (content.length > 0) {
150
- children.push(content);
151
-
152
- if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== 'td' && elementType === 'drag-in-the-blank') {
153
- children.push( /*#__PURE__*/_react["default"].createElement(Spacer, {
154
- key: "spacer-".concat(index)
155
- }));
156
- }
157
- }
158
- } else {
159
- var subNodes = renderChildren(n, value, onChange, rootRenderChildren, n, elementType);
160
-
161
- if (n.type === 'p' || n.type === 'paragraph') {
162
- children.push( /*#__PURE__*/_react["default"].createElement(Paragraph, {
163
- key: key
164
- }, subNodes));
165
- } else {
166
- var _Tag = n.type;
167
-
168
- if (n.nodes && n.nodes.length > 0) {
169
- children.push( /*#__PURE__*/_react["default"].createElement(_Tag, (0, _extends2["default"])({
170
- key: key
171
- }, n.data.attributes), subNodes));
172
- } else {
173
- children.push( /*#__PURE__*/_react["default"].createElement(_Tag, (0, _extends2["default"])({
174
- key: key
175
- }, n.data.attributes)));
176
- }
177
- }
178
- }
179
- });
180
- return children;
181
- };
182
-
183
- exports.renderChildren = renderChildren;
184
- var MaskContainer = (0, _styles.withStyles)(function () {
185
- return {
186
- main: {
187
- display: 'initial'
188
- },
189
- tableStyle: {
190
- '&:not(.MathJax) table': {
191
- borderCollapse: 'collapse'
192
- },
193
- // align table content to left as per STAR requirement PD-3687
194
- '&:not(.MathJax) table td, &:not(.MathJax) table th': {
195
- padding: '8px 12px',
196
- textAlign: 'left'
197
- }
198
- }
199
- };
200
- })(function (props) {
201
- return /*#__PURE__*/_react["default"].createElement("div", {
202
- className: (0, _classnames["default"])(props.classes.main, props.classes.tableStyle)
203
- }, props.children);
204
- });
205
- /**
206
- * Renders a layout that uses the slate.js Value model structure.
207
- */
208
-
209
- var Mask = /*#__PURE__*/function (_React$Component) {
210
- (0, _inherits2["default"])(Mask, _React$Component);
211
-
212
- var _super = _createSuper(Mask);
213
-
214
- function Mask() {
215
- var _this;
216
-
217
- (0, _classCallCheck2["default"])(this, Mask);
218
-
219
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
220
- args[_key] = arguments[_key];
221
- }
222
-
223
- _this = _super.call.apply(_super, [this].concat(args));
224
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (id, value) {
225
- var data = _objectSpread(_objectSpread({}, _this.props.value), {}, (0, _defineProperty2["default"])({}, id, value));
226
-
227
- _this.props.onChange(data);
228
- });
229
- return _this;
230
- }
231
-
232
- (0, _createClass2["default"])(Mask, [{
233
- key: "render",
234
- value: function render() {
235
- var _this$props = this.props,
236
- value = _this$props.value,
237
- layout = _this$props.layout,
238
- elementType = _this$props.elementType;
239
- var children = renderChildren(layout, value, this.handleChange, this.props.renderChildren, null, elementType);
240
- return /*#__PURE__*/_react["default"].createElement(MaskContainer, null, children);
241
- }
242
- }]);
243
- return Mask;
244
- }(_react["default"].Component);
245
-
246
- exports["default"] = Mask;
247
- (0, _defineProperty2["default"])(Mask, "propTypes", {
248
- renderChildren: _propTypes["default"].func,
249
- layout: _propTypes["default"].object,
250
- value: _propTypes["default"].object,
251
- onChange: _propTypes["default"].func,
252
- elementType: _propTypes["default"].string
253
- });
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXNrLmpzeCJdLCJuYW1lcyI6WyJQYXJhZ3JhcGgiLCJ0aGVtZSIsInBhcmEiLCJwYWRkaW5nVG9wIiwic3BhY2luZyIsInVuaXQiLCJwYWRkaW5nQm90dG9tIiwicHJvcHMiLCJjbGFzc2VzIiwiY2hpbGRyZW4iLCJTcGFjZXIiLCJzcGFjZXIiLCJkaXNwbGF5Iiwid2lkdGgiLCJyZXN0cmljdFdoaXRlc3BhY2VUeXBlcyIsImFkZFRleHQiLCJwYXJlbnROb2RlIiwidGV4dCIsImlzV2hpdGVzcGFjZSIsInRyaW0iLCJwYXJlbnRUeXBlIiwidHlwZSIsImluY2x1ZGVzIiwidW5kZWZpbmVkIiwiZ2V0TWFyayIsIm4iLCJtYXJrIiwibGVhdmVzIiwiZmluZCIsImxlYXZlIiwibGVuZ3RoIiwibWFya3MiLCJyZW5kZXJDaGlsZHJlbiIsImxheW91dCIsInZhbHVlIiwib25DaGFuZ2UiLCJyb290UmVuZGVyQ2hpbGRyZW4iLCJlbGVtZW50VHlwZSIsIm5vZGVzIiwiZm9yRWFjaCIsImluZGV4Iiwia2V5IiwiaXNNYXRoIiwicHVzaCIsIl9faHRtbCIsImlubmVySFRNTCIsImMiLCJvYmplY3QiLCJjb250ZW50IiwicmVkdWNlIiwiYWNjIiwibCIsInQiLCJleHRyYVRleHQiLCJtYXJrS2V5IiwiTUFSS19UQUdTIiwiVGFnIiwic3ViTm9kZXMiLCJkYXRhIiwiYXR0cmlidXRlcyIsIk1hc2tDb250YWluZXIiLCJtYWluIiwidGFibGVTdHlsZSIsImJvcmRlckNvbGxhcHNlIiwicGFkZGluZyIsInRleHRBbGlnbiIsIk1hc2siLCJpZCIsImhhbmRsZUNoYW5nZSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiZnVuYyIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsU0FBUyxHQUFHLHdCQUFXLFVBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQ3ZDQyxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsVUFBVSxFQUFFLElBQUlGLEtBQUssQ0FBQ0csT0FBTixDQUFjQyxJQUQxQjtBQUVKQyxNQUFBQSxhQUFhLEVBQUUsSUFBSUwsS0FBSyxDQUFDRyxPQUFOLENBQWNDO0FBRjdCO0FBRGlDLEdBQVo7QUFBQSxDQUFYLEVBS2QsVUFBQ0UsS0FBRDtBQUFBLHNCQUFXO0FBQUssSUFBQSxTQUFTLEVBQUVBLEtBQUssQ0FBQ0MsT0FBTixDQUFjTjtBQUE5QixLQUFxQ0ssS0FBSyxDQUFDRSxRQUEzQyxDQUFYO0FBQUEsQ0FMYyxDQUFsQjtBQU9BLElBQU1DLE1BQU0sR0FBRyx3QkFBVztBQUFBLFNBQU87QUFDL0JDLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxPQUFPLEVBQUUsY0FESDtBQUVOQyxNQUFBQSxLQUFLLEVBQUU7QUFGRDtBQUR1QixHQUFQO0FBQUEsQ0FBWCxFQUtYLFVBQUNOLEtBQUQ7QUFBQSxzQkFBVztBQUFNLElBQUEsU0FBUyxFQUFFQSxLQUFLLENBQUNDLE9BQU4sQ0FBY0c7QUFBL0IsSUFBWDtBQUFBLENBTFcsQ0FBZjtBQU9BLElBQU1HLHVCQUF1QixHQUFHLENBQUMsT0FBRCxFQUFVLElBQVYsQ0FBaEM7O0FBRUEsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsVUFBRCxFQUFhQyxJQUFiLEVBQXNCO0FBQ3BDLE1BQU1DLFlBQVksR0FBR0QsSUFBSSxDQUFDRSxJQUFMLE9BQWdCLEVBQXJDO0FBQ0EsTUFBTUMsVUFBVSxHQUFHSixVQUFVLElBQUlBLFVBQVUsQ0FBQ0ssSUFBNUM7O0FBRUEsTUFBSUgsWUFBWSxJQUFJSix1QkFBdUIsQ0FBQ1EsUUFBeEIsQ0FBaUNGLFVBQWpDLENBQXBCLEVBQWtFO0FBQ2hFLFdBQU9HLFNBQVA7QUFDRCxHQUZELE1BRU87QUFDTCxXQUFPTixJQUFQO0FBQ0Q7QUFDRixDQVREOztBQVdBLElBQU1PLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLENBQUQsRUFBTztBQUNyQixNQUFNQyxJQUFJLEdBQUdELENBQUMsQ0FBQ0UsTUFBRixDQUFTQyxJQUFULENBQWMsVUFBQ0MsS0FBRDtBQUFBLFdBQVcscUJBQUlBLEtBQUosRUFBVyxPQUFYLEVBQW9CLEVBQXBCLEVBQXdCQyxNQUFuQztBQUFBLEdBQWQsQ0FBYjs7QUFFQSxNQUFJSixJQUFKLEVBQVU7QUFDUixXQUFPQSxJQUFJLENBQUNLLEtBQUwsQ0FBVyxDQUFYLENBQVA7QUFDRDs7QUFFRCxTQUFPLElBQVA7QUFDRCxDQVJEOztBQVVPLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0MsTUFBRCxFQUFTQyxLQUFULEVBQWdCQyxRQUFoQixFQUEwQkMsa0JBQTFCLEVBQThDcEIsVUFBOUMsRUFBMERxQixXQUExRCxFQUEwRTtBQUN0RyxNQUFJLENBQUNILEtBQUwsRUFBWTtBQUNWLFdBQU8sSUFBUDtBQUNEOztBQUVELE1BQU16QixRQUFRLEdBQUcsRUFBakI7QUFFQSxHQUFDd0IsTUFBTSxDQUFDSyxLQUFQLElBQWdCLEVBQWpCLEVBQXFCQyxPQUFyQixDQUE2QixVQUFDZCxDQUFELEVBQUllLEtBQUosRUFBYztBQUN6QyxRQUFNQyxHQUFHLEdBQUdoQixDQUFDLENBQUNKLElBQUYsYUFBWUksQ0FBQyxDQUFDSixJQUFkLGNBQXNCbUIsS0FBdEIsY0FBbUNBLEtBQW5DLENBQVo7O0FBRUEsUUFBSWYsQ0FBQyxDQUFDaUIsTUFBTixFQUFjO0FBQ1pqQyxNQUFBQSxRQUFRLENBQUNrQyxJQUFULGVBQ0U7QUFDRSxRQUFBLHVCQUF1QixFQUFFO0FBQ3ZCQyxVQUFBQSxNQUFNLHdDQUErQm5CLENBQUMsQ0FBQ2EsS0FBRixDQUFRLENBQVIsRUFBV08sU0FBMUM7QUFEaUI7QUFEM0IsUUFERjtBQU9BLGFBQU9wQyxRQUFQO0FBQ0Q7O0FBRUQsUUFBSTJCLGtCQUFKLEVBQXdCO0FBQ3RCLFVBQU1VLENBQUMsR0FBR1Ysa0JBQWtCLENBQUNYLENBQUQsRUFBSVMsS0FBSixFQUFXQyxRQUFYLENBQTVCOztBQUNBLFVBQUlXLENBQUosRUFBTztBQUNMckMsUUFBQUEsUUFBUSxDQUFDa0MsSUFBVCxDQUFjRyxDQUFkOztBQUNBLFlBQUksQ0FBQTlCLFVBQVUsU0FBVixJQUFBQSxVQUFVLFdBQVYsWUFBQUEsVUFBVSxDQUFFSyxJQUFaLE1BQXFCLElBQXJCLElBQTZCZ0IsV0FBVyxLQUFLLG1CQUFqRCxFQUFzRTtBQUNwRTVCLFVBQUFBLFFBQVEsQ0FBQ2tDLElBQVQsZUFBYyxnQ0FBQyxNQUFEO0FBQVEsWUFBQSxHQUFHLG1CQUFZSCxLQUFaO0FBQVgsWUFBZDtBQUNEOztBQUNEO0FBQ0Q7QUFDRjs7QUFFRCxRQUFJZixDQUFDLENBQUNzQixNQUFGLEtBQWEsTUFBakIsRUFBeUI7QUFDdkIsVUFBTUMsT0FBTyxHQUFHdkIsQ0FBQyxDQUFDRSxNQUFGLENBQVNzQixNQUFULENBQWdCLFVBQUNDLEdBQUQsRUFBTUMsQ0FBTixFQUFZO0FBQzFDLFlBQU1DLENBQUMsR0FBR0QsQ0FBQyxDQUFDbEMsSUFBWjtBQUNBLFlBQU1vQyxTQUFTLEdBQUd0QyxPQUFPLENBQUNDLFVBQUQsRUFBYW9DLENBQWIsQ0FBekI7QUFDQSxlQUFPQyxTQUFTLEdBQUdILEdBQUcsR0FBR0csU0FBVCxHQUFxQkgsR0FBckM7QUFDRCxPQUplLEVBSWIsRUFKYSxDQUFoQjtBQUtBLFVBQU14QixJQUFJLEdBQUdGLE9BQU8sQ0FBQ0MsQ0FBRCxDQUFwQjs7QUFFQSxVQUFJQyxJQUFKLEVBQVU7QUFDUixZQUFJNEIsT0FBSjs7QUFFQSxhQUFLQSxPQUFMLElBQWdCQyx3QkFBaEIsRUFBMkI7QUFDekIsY0FBSUEseUJBQVVELE9BQVYsTUFBdUI1QixJQUFJLENBQUNMLElBQWhDLEVBQXNDO0FBQ3BDLGdCQUFNbUMsR0FBRyxHQUFHRixPQUFaO0FBRUE3QyxZQUFBQSxRQUFRLENBQUNrQyxJQUFULGVBQWMsZ0NBQUMsR0FBRDtBQUFLLGNBQUEsR0FBRyxFQUFFRjtBQUFWLGVBQWdCTyxPQUFoQixDQUFkO0FBQ0E7QUFDRDtBQUNGO0FBQ0YsT0FYRCxNQVdPLElBQUlBLE9BQU8sQ0FBQ2xCLE1BQVIsR0FBaUIsQ0FBckIsRUFBd0I7QUFDN0JyQixRQUFBQSxRQUFRLENBQUNrQyxJQUFULENBQWNLLE9BQWQ7O0FBQ0EsWUFBSSxDQUFBaEMsVUFBVSxTQUFWLElBQUFBLFVBQVUsV0FBVixZQUFBQSxVQUFVLENBQUVLLElBQVosTUFBcUIsSUFBckIsSUFBNkJnQixXQUFXLEtBQUssbUJBQWpELEVBQXNFO0FBQ3BFNUIsVUFBQUEsUUFBUSxDQUFDa0MsSUFBVCxlQUFjLGdDQUFDLE1BQUQ7QUFBUSxZQUFBLEdBQUcsbUJBQVlILEtBQVo7QUFBWCxZQUFkO0FBQ0Q7QUFDRjtBQUNGLEtBekJELE1BeUJPO0FBQ0wsVUFBTWlCLFFBQVEsR0FBR3pCLGNBQWMsQ0FBQ1AsQ0FBRCxFQUFJUyxLQUFKLEVBQVdDLFFBQVgsRUFBcUJDLGtCQUFyQixFQUF5Q1gsQ0FBekMsRUFBNENZLFdBQTVDLENBQS9COztBQUNBLFVBQUlaLENBQUMsQ0FBQ0osSUFBRixLQUFXLEdBQVgsSUFBa0JJLENBQUMsQ0FBQ0osSUFBRixLQUFXLFdBQWpDLEVBQThDO0FBQzVDWixRQUFBQSxRQUFRLENBQUNrQyxJQUFULGVBQWMsZ0NBQUMsU0FBRDtBQUFXLFVBQUEsR0FBRyxFQUFFRjtBQUFoQixXQUFzQmdCLFFBQXRCLENBQWQ7QUFDRCxPQUZELE1BRU87QUFDTCxZQUFNRCxJQUFHLEdBQUcvQixDQUFDLENBQUNKLElBQWQ7O0FBQ0EsWUFBSUksQ0FBQyxDQUFDYSxLQUFGLElBQVdiLENBQUMsQ0FBQ2EsS0FBRixDQUFRUixNQUFSLEdBQWlCLENBQWhDLEVBQW1DO0FBQ2pDckIsVUFBQUEsUUFBUSxDQUFDa0MsSUFBVCxlQUNFLGdDQUFDLElBQUQ7QUFBSyxZQUFBLEdBQUcsRUFBRUY7QUFBVixhQUFtQmhCLENBQUMsQ0FBQ2lDLElBQUYsQ0FBT0MsVUFBMUIsR0FDR0YsUUFESCxDQURGO0FBS0QsU0FORCxNQU1PO0FBQ0xoRCxVQUFBQSxRQUFRLENBQUNrQyxJQUFULGVBQWMsZ0NBQUMsSUFBRDtBQUFLLFlBQUEsR0FBRyxFQUFFRjtBQUFWLGFBQW1CaEIsQ0FBQyxDQUFDaUMsSUFBRixDQUFPQyxVQUExQixFQUFkO0FBQ0Q7QUFDRjtBQUNGO0FBQ0YsR0FuRUQ7QUFvRUEsU0FBT2xELFFBQVA7QUFDRCxDQTVFTTs7O0FBOEVQLElBQU1tRCxhQUFhLEdBQUcsd0JBQVc7QUFBQSxTQUFPO0FBQ3RDQyxJQUFBQSxJQUFJLEVBQUU7QUFDSmpELE1BQUFBLE9BQU8sRUFBRTtBQURMLEtBRGdDO0FBSXRDa0QsSUFBQUEsVUFBVSxFQUFFO0FBQ1YsK0JBQXlCO0FBQ3ZCQyxRQUFBQSxjQUFjLEVBQUU7QUFETyxPQURmO0FBSVY7QUFDQSw0REFBc0Q7QUFDcERDLFFBQUFBLE9BQU8sRUFBRSxVQUQyQztBQUVwREMsUUFBQUEsU0FBUyxFQUFFO0FBRnlDO0FBTDVDO0FBSjBCLEdBQVA7QUFBQSxDQUFYLEVBY2xCLFVBQUMxRCxLQUFEO0FBQUEsc0JBQVc7QUFBSyxJQUFBLFNBQVMsRUFBRSw0QkFBR0EsS0FBSyxDQUFDQyxPQUFOLENBQWNxRCxJQUFqQixFQUF1QnRELEtBQUssQ0FBQ0MsT0FBTixDQUFjc0QsVUFBckM7QUFBaEIsS0FBbUV2RCxLQUFLLENBQUNFLFFBQXpFLENBQVg7QUFBQSxDQWRrQixDQUF0QjtBQWdCQTtBQUNBO0FBQ0E7O0lBQ3FCeUQsSTs7Ozs7Ozs7Ozs7Ozs7O3FHQVNKLFVBQUNDLEVBQUQsRUFBS2pDLEtBQUwsRUFBZTtBQUM1QixVQUFNd0IsSUFBSSxtQ0FBUSxNQUFLbkQsS0FBTCxDQUFXMkIsS0FBbkIsNENBQTJCaUMsRUFBM0IsRUFBZ0NqQyxLQUFoQyxFQUFWOztBQUNBLFlBQUszQixLQUFMLENBQVc0QixRQUFYLENBQW9CdUIsSUFBcEI7QUFDRCxLOzs7Ozs7V0FFRCxrQkFBUztBQUNQLHdCQUF1QyxLQUFLbkQsS0FBNUM7QUFBQSxVQUFRMkIsS0FBUixlQUFRQSxLQUFSO0FBQUEsVUFBZUQsTUFBZixlQUFlQSxNQUFmO0FBQUEsVUFBdUJJLFdBQXZCLGVBQXVCQSxXQUF2QjtBQUNBLFVBQU01QixRQUFRLEdBQUd1QixjQUFjLENBQUNDLE1BQUQsRUFBU0MsS0FBVCxFQUFnQixLQUFLa0MsWUFBckIsRUFBbUMsS0FBSzdELEtBQUwsQ0FBV3lCLGNBQTlDLEVBQThELElBQTlELEVBQW9FSyxXQUFwRSxDQUEvQjtBQUVBLDBCQUFPLGdDQUFDLGFBQUQsUUFBZ0I1QixRQUFoQixDQUFQO0FBQ0Q7OztFQW5CK0I0RCxrQkFBTUMsUzs7O2lDQUFuQkosSSxlQUNBO0FBQ2pCbEMsRUFBQUEsY0FBYyxFQUFFdUMsc0JBQVVDLElBRFQ7QUFFakJ2QyxFQUFBQSxNQUFNLEVBQUVzQyxzQkFBVXhCLE1BRkQ7QUFHakJiLEVBQUFBLEtBQUssRUFBRXFDLHNCQUFVeEIsTUFIQTtBQUlqQlosRUFBQUEsUUFBUSxFQUFFb0Msc0JBQVVDLElBSkg7QUFLakJuQyxFQUFBQSxXQUFXLEVBQUVrQyxzQkFBVUU7QUFMTixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBNQVJLX1RBR1MgfSBmcm9tICcuL3NlcmlhbGl6YXRpb24nO1xuaW1wb3J0IGN4IGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5jb25zdCBQYXJhZ3JhcGggPSB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgcGFyYToge1xuICAgIHBhZGRpbmdUb3A6IDIgKiB0aGVtZS5zcGFjaW5nLnVuaXQsXG4gICAgcGFkZGluZ0JvdHRvbTogMiAqIHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgfSxcbn0pKSgocHJvcHMpID0+IDxkaXYgY2xhc3NOYW1lPXtwcm9wcy5jbGFzc2VzLnBhcmF9Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj4pO1xuXG5jb25zdCBTcGFjZXIgPSB3aXRoU3R5bGVzKCgpID0+ICh7XG4gIHNwYWNlcjoge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgIHdpZHRoOiAnLjc1ZW0nLFxuICB9LFxufSkpKChwcm9wcykgPT4gPHNwYW4gY2xhc3NOYW1lPXtwcm9wcy5jbGFzc2VzLnNwYWNlcn0gLz4pO1xuXG5jb25zdCByZXN0cmljdFdoaXRlc3BhY2VUeXBlcyA9IFsndGJvZHknLCAndHInXTtcblxuY29uc3QgYWRkVGV4dCA9IChwYXJlbnROb2RlLCB0ZXh0KSA9PiB7XG4gIGNvbnN0IGlzV2hpdGVzcGFjZSA9IHRleHQudHJpbSgpID09PSAnJztcbiAgY29uc3QgcGFyZW50VHlwZSA9IHBhcmVudE5vZGUgJiYgcGFyZW50Tm9kZS50eXBlO1xuXG4gIGlmIChpc1doaXRlc3BhY2UgJiYgcmVzdHJpY3RXaGl0ZXNwYWNlVHlwZXMuaW5jbHVkZXMocGFyZW50VHlwZSkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0ZXh0O1xuICB9XG59O1xuXG5jb25zdCBnZXRNYXJrID0gKG4pID0+IHtcbiAgY29uc3QgbWFyayA9IG4ubGVhdmVzLmZpbmQoKGxlYXZlKSA9PiBnZXQobGVhdmUsICdtYXJrcycsIFtdKS5sZW5ndGgpO1xuXG4gIGlmIChtYXJrKSB7XG4gICAgcmV0dXJuIG1hcmsubWFya3NbMF07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCByZW5kZXJDaGlsZHJlbiA9IChsYXlvdXQsIHZhbHVlLCBvbkNoYW5nZSwgcm9vdFJlbmRlckNoaWxkcmVuLCBwYXJlbnROb2RlLCBlbGVtZW50VHlwZSkgPT4ge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjaGlsZHJlbiA9IFtdO1xuXG4gIChsYXlvdXQubm9kZXMgfHwgW10pLmZvckVhY2goKG4sIGluZGV4KSA9PiB7XG4gICAgY29uc3Qga2V5ID0gbi50eXBlID8gYCR7bi50eXBlfS0ke2luZGV4fWAgOiBgJHtpbmRleH1gO1xuXG4gICAgaWYgKG4uaXNNYXRoKSB7XG4gICAgICBjaGlsZHJlbi5wdXNoKFxuICAgICAgICA8c3BhblxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGA8bWF0aCBkaXNwbGF5c3R5bGU9XCJ0cnVlXCI+JHtuLm5vZGVzWzBdLmlubmVySFRNTH08L21hdGg+YCxcbiAgICAgICAgICB9fVxuICAgICAgICAvPixcbiAgICAgICk7XG4gICAgICByZXR1cm4gY2hpbGRyZW47XG4gICAgfVxuXG4gICAgaWYgKHJvb3RSZW5kZXJDaGlsZHJlbikge1xuICAgICAgY29uc3QgYyA9IHJvb3RSZW5kZXJDaGlsZHJlbihuLCB2YWx1ZSwgb25DaGFuZ2UpO1xuICAgICAgaWYgKGMpIHtcbiAgICAgICAgY2hpbGRyZW4ucHVzaChjKTtcbiAgICAgICAgaWYgKHBhcmVudE5vZGU/LnR5cGUgIT09ICd0ZCcgJiYgZWxlbWVudFR5cGUgPT09ICdkcmFnLWluLXRoZS1ibGFuaycpIHtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKDxTcGFjZXIga2V5PXtgc3BhY2VyLSR7aW5kZXh9YH0gLz4pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobi5vYmplY3QgPT09ICd0ZXh0Jykge1xuICAgICAgY29uc3QgY29udGVudCA9IG4ubGVhdmVzLnJlZHVjZSgoYWNjLCBsKSA9PiB7XG4gICAgICAgIGNvbnN0IHQgPSBsLnRleHQ7XG4gICAgICAgIGNvbnN0IGV4dHJhVGV4dCA9IGFkZFRleHQocGFyZW50Tm9kZSwgdCk7XG4gICAgICAgIHJldHVybiBleHRyYVRleHQgPyBhY2MgKyBleHRyYVRleHQgOiBhY2M7XG4gICAgICB9LCAnJyk7XG4gICAgICBjb25zdCBtYXJrID0gZ2V0TWFyayhuKTtcblxuICAgICAgaWYgKG1hcmspIHtcbiAgICAgICAgbGV0IG1hcmtLZXk7XG5cbiAgICAgICAgZm9yIChtYXJrS2V5IGluIE1BUktfVEFHUykge1xuICAgICAgICAgIGlmIChNQVJLX1RBR1NbbWFya0tleV0gPT09IG1hcmsudHlwZSkge1xuICAgICAgICAgICAgY29uc3QgVGFnID0gbWFya0tleTtcblxuICAgICAgICAgICAgY2hpbGRyZW4ucHVzaCg8VGFnIGtleT17a2V5fT57Y29udGVudH08L1RhZz4pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNvbnRlbnQubGVuZ3RoID4gMCkge1xuICAgICAgICBjaGlsZHJlbi5wdXNoKGNvbnRlbnQpO1xuICAgICAgICBpZiAocGFyZW50Tm9kZT8udHlwZSAhPT0gJ3RkJyAmJiBlbGVtZW50VHlwZSA9PT0gJ2RyYWctaW4tdGhlLWJsYW5rJykge1xuICAgICAgICAgIGNoaWxkcmVuLnB1c2goPFNwYWNlciBrZXk9e2BzcGFjZXItJHtpbmRleH1gfSAvPik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3ViTm9kZXMgPSByZW5kZXJDaGlsZHJlbihuLCB2YWx1ZSwgb25DaGFuZ2UsIHJvb3RSZW5kZXJDaGlsZHJlbiwgbiwgZWxlbWVudFR5cGUpO1xuICAgICAgaWYgKG4udHlwZSA9PT0gJ3AnIHx8IG4udHlwZSA9PT0gJ3BhcmFncmFwaCcpIHtcbiAgICAgICAgY2hpbGRyZW4ucHVzaCg8UGFyYWdyYXBoIGtleT17a2V5fT57c3ViTm9kZXN9PC9QYXJhZ3JhcGg+KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IFRhZyA9IG4udHlwZTtcbiAgICAgICAgaWYgKG4ubm9kZXMgJiYgbi5ub2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaChcbiAgICAgICAgICAgIDxUYWcga2V5PXtrZXl9IHsuLi5uLmRhdGEuYXR0cmlidXRlc30+XG4gICAgICAgICAgICAgIHtzdWJOb2Rlc31cbiAgICAgICAgICAgIDwvVGFnPixcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNoaWxkcmVuLnB1c2goPFRhZyBrZXk9e2tleX0gey4uLm4uZGF0YS5hdHRyaWJ1dGVzfSAvPik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICByZXR1cm4gY2hpbGRyZW47XG59O1xuXG5jb25zdCBNYXNrQ29udGFpbmVyID0gd2l0aFN0eWxlcygoKSA9PiAoe1xuICBtYWluOiB7XG4gICAgZGlzcGxheTogJ2luaXRpYWwnLFxuICB9LFxuICB0YWJsZVN0eWxlOiB7XG4gICAgJyY6bm90KC5NYXRoSmF4KSB0YWJsZSc6IHtcbiAgICAgIGJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAgIH0sXG4gICAgLy8gYWxpZ24gdGFibGUgY29udGVudCB0byBsZWZ0IGFzIHBlciBTVEFSIHJlcXVpcmVtZW50IFBELTM2ODdcbiAgICAnJjpub3QoLk1hdGhKYXgpIHRhYmxlIHRkLCAmOm5vdCguTWF0aEpheCkgdGFibGUgdGgnOiB7XG4gICAgICBwYWRkaW5nOiAnOHB4IDEycHgnLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgfSxcbiAgfSxcbn0pKSgocHJvcHMpID0+IDxkaXYgY2xhc3NOYW1lPXtjeChwcm9wcy5jbGFzc2VzLm1haW4sIHByb3BzLmNsYXNzZXMudGFibGVTdHlsZSl9Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj4pO1xuXG4vKipcbiAqIFJlbmRlcnMgYSBsYXlvdXQgdGhhdCB1c2VzIHRoZSBzbGF0ZS5qcyBWYWx1ZSBtb2RlbCBzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1hc2sgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHJlbmRlckNoaWxkcmVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIGVsZW1lbnRUeXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9O1xuXG4gIGhhbmRsZUNoYW5nZSA9IChpZCwgdmFsdWUpID0+IHtcbiAgICBjb25zdCBkYXRhID0geyAuLi50aGlzLnByb3BzLnZhbHVlLCBbaWRdOiB2YWx1ZSB9O1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UoZGF0YSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUsIGxheW91dCwgZWxlbWVudFR5cGUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgY2hpbGRyZW4gPSByZW5kZXJDaGlsZHJlbihsYXlvdXQsIHZhbHVlLCB0aGlzLmhhbmRsZUNoYW5nZSwgdGhpcy5wcm9wcy5yZW5kZXJDaGlsZHJlbiwgbnVsbCwgZWxlbWVudFR5cGUpO1xuXG4gICAgcmV0dXJuIDxNYXNrQ29udGFpbmVyPntjaGlsZHJlbn08L01hc2tDb250YWluZXI+O1xuICB9XG59XG4iXX0=