@pie-lib/mask-markup 2.1.1-next.2 → 2.1.1-next.4
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.
- package/lib/__tests__/drag-in-the-blank.test.js +1 -8
- package/lib/__tests__/index.test.js +1 -11
- package/lib/__tests__/mask.test.js +1 -15
- package/lib/__tests__/utils.js +1 -2
- package/lib/__tests__/with-mask.test.js +1 -8
- package/lib/choices/__tests__/index.test.js +1 -8
- package/lib/choices/choice.js +1 -15
- package/lib/choices/choice.js.map +1 -1
- package/lib/choices/index.js +3 -16
- package/lib/choices/index.js.map +1 -1
- package/lib/componentize.js +1 -5
- package/lib/componentize.js.map +1 -1
- package/lib/components/__tests__/blank.test.js +1 -9
- package/lib/components/__tests__/correct-input.test.js +1 -8
- package/lib/components/__tests__/dropdown.test.js +1 -11
- package/lib/components/__tests__/input.test.js +1 -8
- package/lib/components/blank.js +4 -20
- package/lib/components/blank.js.map +1 -1
- package/lib/components/correct-input.js +1 -2
- package/lib/components/correct-input.js.map +1 -1
- package/lib/components/dropdown.js +11 -18
- package/lib/components/dropdown.js.map +1 -1
- package/lib/components/input.js +1 -2
- package/lib/components/input.js.map +1 -1
- package/lib/constructed-response.js +2 -14
- package/lib/constructed-response.js.map +1 -1
- package/lib/customizable.js +1 -4
- package/lib/customizable.js.map +1 -1
- package/lib/drag-in-the-blank.js +2 -17
- package/lib/drag-in-the-blank.js.map +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/inline-dropdown.js +1 -6
- package/lib/inline-dropdown.js.map +1 -1
- package/lib/mask.js +5 -21
- package/lib/mask.js.map +1 -1
- package/lib/serialization.js +1 -19
- package/lib/serialization.js.map +1 -1
- package/lib/with-mask.js +1 -6
- package/lib/with-mask.js.map +1 -1
- package/package.json +7 -7
- package/src/__tests__/drag-in-the-blank.test.js +1 -1
- package/src/__tests__/index.test.js +0 -1
- package/src/choices/index.jsx +2 -7
- package/src/components/__tests__/blank.test.js +0 -1
- package/src/components/__tests__/dropdown.test.js +2 -2
- package/src/components/blank.jsx +8 -2
- package/src/components/correct-input.jsx +1 -11
- package/src/components/dropdown.jsx +15 -11
- package/src/constructed-response.jsx +1 -1
- package/src/customizable.jsx +0 -1
- package/src/drag-in-the-blank.jsx +2 -3
- package/src/index.js +1 -1
- package/src/mask.jsx +5 -8
package/lib/drag-in-the-blank.js
CHANGED
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
require("core-js/modules/es.array.filter.js");
|
|
5
|
-
require("core-js/modules/es.array.for-each.js");
|
|
6
|
-
require("core-js/modules/es.object.define-properties.js");
|
|
7
|
-
require("core-js/modules/es.object.define-property.js");
|
|
8
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
9
|
-
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
10
|
-
require("core-js/modules/es.object.keys.js");
|
|
11
|
-
require("core-js/modules/es.reflect.construct.js");
|
|
12
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
13
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
14
4
|
Object.defineProperty(exports, "__esModule", {
|
|
15
5
|
value: true
|
|
@@ -21,11 +11,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
21
11
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
22
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
24
|
-
require("core-js/modules/es.array.concat.js");
|
|
25
|
-
require("core-js/modules/es.array.find.js");
|
|
26
|
-
require("core-js/modules/es.array.includes.js");
|
|
27
|
-
require("core-js/modules/es.object.to-string.js");
|
|
28
|
-
require("core-js/modules/es.string.includes.js");
|
|
29
14
|
var _react = _interopRequireDefault(require("react"));
|
|
30
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
16
|
var _drag = require("@pie-lib/drag");
|
|
@@ -209,7 +194,7 @@ var DragInTheBlank = exports["default"] = /*#__PURE__*/function (_React$Componen
|
|
|
209
194
|
return /*#__PURE__*/_react["default"].createElement(_drag.DragProvider, {
|
|
210
195
|
onDragStart: this.handleDragStart,
|
|
211
196
|
onDragEnd: this.handleDragEnd,
|
|
212
|
-
collisionDetection: _core.
|
|
197
|
+
collisionDetection: _core.rectIntersection
|
|
213
198
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
214
199
|
ref: function ref(_ref) {
|
|
215
200
|
return _this2.rootRef = _ref;
|
|
@@ -265,4 +250,4 @@ var DragInTheBlank = exports["default"] = /*#__PURE__*/function (_React$Componen
|
|
|
265
250
|
(0, _defineProperty2["default"])(DragInTheBlank, "defaultProps", {
|
|
266
251
|
instanceId: 'drag-in-the-blank'
|
|
267
252
|
});
|
|
268
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZHJhZyIsIl9jb3JlIiwiX2Nob2ljZXMiLCJfY2hvaWNlIiwiX2JsYW5rIiwiX3dpdGhNYXNrIiwiX2NhbGxTdXBlciIsInQiLCJvIiwiZSIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJvd25LZXlzIiwiciIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJNYXNrZWQiLCJ3aXRoTWFzayIsInByb3BzIiwibm9kZSIsImRhdGEiLCJvbkNoYW5nZSIsIl9ub2RlJGRhdGEiLCJkYXRhc2V0IiwiY29tcG9uZW50IiwiZGlzYWJsZWQiLCJkdXBsaWNhdGVzIiwiY29ycmVjdFJlc3BvbnNlIiwiZmVlZGJhY2siLCJzaG93Q29ycmVjdEFuc3dlciIsImVtcHR5UmVzcG9uc2VBcmVhV2lkdGgiLCJlbXB0eVJlc3BvbnNlQXJlYUhlaWdodCIsImluc3RhbmNlSWQiLCJpc0RyYWdnaW5nIiwiY2hvaWNlSWQiLCJpZCIsImNob2ljZSIsImNob2ljZXMiLCJmaW5kIiwiYyIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJjb25jYXQiLCJ0eXBlIiwiY29ycmVjdCIsIm5ld0RhdGEiLCJ1bmRlZmluZWQiLCJEcmFnSW5UaGVCbGFuayIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiZXZlbnQiLCJfYWN0aXZlJGRhdGEiLCJhY3RpdmUiLCJjdXJyZW50Iiwic2V0U3RhdGUiLCJhY3RpdmVEcmFnSXRlbSIsInN0YXRlIiwiX2Ryb3BEYXRhJGFjY2VwdHMiLCJvdmVyIiwiX3RoaXMkcHJvcHMiLCJ2YWx1ZSIsImRyYWdnZWREYXRhIiwiZHJvcERhdGEiLCJhY2NlcHRzIiwiaW5jbHVkZXMiLCJkcmFnZ2VkSXRlbSIsInRhcmdldElkIiwidG9DaG9pY2VCb2FyZCIsImZyb21DaG9pY2UiLCJuZXdWYWx1ZSIsImNob2ljZVBvc2l0aW9uIiwiZmxleERpcmVjdGlvbiIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwicmVuZGVyIiwiX3RoaXMyIiwiX3RoaXMkcHJvcHMyIiwibWFya3VwIiwiY2hvaWNlc1Bvc2l0aW9uIiwibGF5b3V0Iiwic3R5bGUiLCJkaXNwbGF5IiwibWluV2lkdGgiLCJnZXRQb3NpdGlvbkRpcmVjdGlvbiIsIkRyYWdQcm92aWRlciIsIm9uRHJhZ1N0YXJ0IiwiaGFuZGxlRHJhZ1N0YXJ0Iiwib25EcmFnRW5kIiwiaGFuZGxlRHJhZ0VuZCIsImNvbGxpc2lvbkRldGVjdGlvbiIsImNsb3Nlc3RDZW50ZXIiLCJyZWYiLCJyb290UmVmIiwiZWxlbWVudFR5cGUiLCJEcmFnT3ZlcmxheSIsInBvaW50ZXJFdmVudHMiLCJyZW5kZXJEcmFnT3ZlcmxheSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib2JqZWN0IiwiYXJyYXkiLCJmdW5jIiwiYm9vbCIsIm9uZU9mVHlwZSIsIm51bWJlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kcmFnLWluLXRoZS1ibGFuay5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBEcmFnUHJvdmlkZXIgfSBmcm9tICdAcGllLWxpYi9kcmFnJztcbmltcG9ydCB7IERyYWdPdmVybGF5LCBjbG9zZXN0Q2VudGVyIH0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5cbmltcG9ydCBDaG9pY2VzIGZyb20gJy4vY2hvaWNlcyc7XG5pbXBvcnQgQ2hvaWNlIGZyb20gJy4vY2hvaWNlcy9jaG9pY2UnO1xuaW1wb3J0IEJsYW5rIGZyb20gJy4vY29tcG9uZW50cy9ibGFuayc7XG5pbXBvcnQgeyB3aXRoTWFzayB9IGZyb20gJy4vd2l0aC1tYXNrJztcblxuY29uc3QgTWFza2VkID0gd2l0aE1hc2soJ2JsYW5rJywgKHByb3BzKSA9PiAobm9kZSwgZGF0YSwgb25DaGFuZ2UpID0+IHtcbiAgY29uc3QgZGF0YXNldCA9IG5vZGUuZGF0YT8uZGF0YXNldCB8fCB7fTtcbiAgaWYgKGRhdGFzZXQuY29tcG9uZW50ID09PSAnYmxhbmsnKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L3Byb3AtdHlwZXNcbiAgICBjb25zdCB7XG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGR1cGxpY2F0ZXMsXG4gICAgICBjb3JyZWN0UmVzcG9uc2UsXG4gICAgICBmZWVkYmFjayxcbiAgICAgIHNob3dDb3JyZWN0QW5zd2VyLFxuICAgICAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aCxcbiAgICAgIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0LFxuICAgICAgaW5zdGFuY2VJZCxcbiAgICAgIGlzRHJhZ2dpbmcsXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNob2ljZUlkID0gc2hvd0NvcnJlY3RBbnN3ZXIgPyBjb3JyZWN0UmVzcG9uc2VbZGF0YXNldC5pZF0gOiBkYXRhW2RhdGFzZXQuaWRdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9wcm9wLXR5cGVzXG4gICAgY29uc3QgY2hvaWNlID0gY2hvaWNlSWQgJiYgcHJvcHMuY2hvaWNlcy5maW5kKChjKSA9PiBjLmlkID09PSBjaG9pY2VJZCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEJsYW5rXG4gICAgICAgIGtleT17YCR7bm9kZS50eXBlfS0ke2RhdGFzZXQuaWR9YH1cbiAgICAgICAgY29ycmVjdD17c2hvd0NvcnJlY3RBbnN3ZXIgfHwgKGZlZWRiYWNrICYmIGZlZWRiYWNrW2RhdGFzZXQuaWRdKX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkdXBsaWNhdGVzPXtkdXBsaWNhdGVzfVxuICAgICAgICBjaG9pY2U9e2Nob2ljZX1cbiAgICAgICAgaWQ9e2RhdGFzZXQuaWR9XG4gICAgICAgIGVtcHR5UmVzcG9uc2VBcmVhV2lkdGg9e2VtcHR5UmVzcG9uc2VBcmVhV2lkdGh9XG4gICAgICAgIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0PXtlbXB0eVJlc3BvbnNlQXJlYUhlaWdodH1cbiAgICAgICAgb25DaGFuZ2U9eyhpZCwgY2hvaWNlSWQpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdEYXRhID0geyAuLi5kYXRhIH07XG4gICAgICAgICAgaWYgKGNob2ljZUlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBuZXdEYXRhW2lkXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3RGF0YVtpZF0gPSBjaG9pY2VJZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgb25DaGFuZ2UobmV3RGF0YSk7XG4gICAgICAgIH19XG4gICAgICAgIGluc3RhbmNlSWQ9e2luc3RhbmNlSWR9XG4gICAgICAgIGlzRHJhZ2dpbmc9e2lzRHJhZ2dpbmd9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcmFnSW5UaGVCbGFuayBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBhY3RpdmVEcmFnSXRlbTogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtYXJrdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGF5b3V0OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNob2ljZXNQb3NpdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjaG9pY2VzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgdmFsdWU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIGR1cGxpY2F0ZXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBmZWVkYmFjazogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjb3JyZWN0UmVzcG9uc2U6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgc2hvd0NvcnJlY3RBbnN3ZXI6IFByb3BUeXBlcy5ib29sLFxuICAgIGVtcHR5UmVzcG9uc2VBcmVhV2lkdGg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5udW1iZXJdKSxcbiAgICBlbXB0eVJlc3BvbnNlQXJlYUhlaWdodDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIGluc3RhbmNlSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBpbnN0YW5jZUlkOiAnZHJhZy1pbi10aGUtYmxhbmsnLFxuICB9O1xuXG4gIGhhbmRsZURyYWdTdGFydCA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlIH0gPSBldmVudDtcblxuICAgIGlmIChhY3RpdmU/LmRhdGE/LmN1cnJlbnQpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBhY3RpdmVEcmFnSXRlbTogYWN0aXZlLmRhdGEuY3VycmVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXJEcmFnT3ZlcmxheSA9ICgpID0+IHtcbiAgICBjb25zdCB7IGFjdGl2ZURyYWdJdGVtIH0gPSB0aGlzLnN0YXRlO1xuICAgIGlmICghYWN0aXZlRHJhZ0l0ZW0pIHJldHVybiBudWxsO1xuXG4gICAgaWYgKGFjdGl2ZURyYWdJdGVtLnR5cGUgPT09ICdNYXNrQmxhbmsnKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q2hvaWNlXG4gICAgICAgICAgZGlzYWJsZWQ9e2FjdGl2ZURyYWdJdGVtLmRpc2FibGVkfVxuICAgICAgICAgIGNob2ljZT17YWN0aXZlRHJhZ0l0ZW0uY2hvaWNlfVxuICAgICAgICAgIGluc3RhbmNlSWQ9e2FjdGl2ZURyYWdJdGVtLmluc3RhbmNlSWR9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGhhbmRsZURyYWdFbmQgPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB7IGFjdGl2ZSwgb3ZlciB9ID0gZXZlbnQ7XG4gICAgY29uc3QgeyBvbkNoYW5nZSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBBbHdheXMgcmVzZXQgdGhlIGFjdGl2ZSBkcmFnIGl0ZW0gc3RhdGUsIGV2ZW4gaWYgZHJvcCBpcyBpbnZhbGlkXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGl2ZURyYWdJdGVtOiBudWxsIH0pO1xuXG4gICAgaWYgKCFvdmVyIHx8ICFhY3RpdmUgfHwgIW9uQ2hhbmdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ2dlZERhdGEgPSBhY3RpdmUuZGF0YS5jdXJyZW50O1xuICAgIGNvbnN0IGRyb3BEYXRhID0gb3Zlci5kYXRhLmN1cnJlbnQ7XG5cbiAgICBpZiAoZHJhZ2dlZERhdGE/LnR5cGUgPT09ICdNYXNrQmxhbmsnICYmIGRyb3BEYXRhPy5hY2NlcHRzPy5pbmNsdWRlcygnTWFza0JsYW5rJykpIHtcbiAgICAgIGNvbnN0IGRyYWdnZWRJdGVtID0gZHJhZ2dlZERhdGE7XG4gICAgICBjb25zdCB0YXJnZXRJZCA9IGRyb3BEYXRhLmlkO1xuXG4gICAgICBpZiAoZHJvcERhdGEudG9DaG9pY2VCb2FyZCA9PT0gdHJ1ZSkge1xuICAgICAgICBpZiAoIWRyYWdnZWRJdGVtLmZyb21DaG9pY2UgJiYgZHJhZ2dlZEl0ZW0uaWQpIHtcbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHsgLi4udmFsdWUgfTtcbiAgICAgICAgICBkZWxldGUgbmV3VmFsdWVbZHJhZ2dlZEl0ZW0uaWRdO1xuICAgICAgICAgIG9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkcmFnZ2VkSXRlbS5mcm9tQ2hvaWNlID09PSB0cnVlKSB7XG4gICAgICAgIGlmICh0YXJnZXRJZCAmJiB0YXJnZXRJZCAhPT0gJ2RyYWctaW4tdGhlLWJsYW5rLWRyb3BwYWJsZScpIHtcbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHsgLi4udmFsdWUgfTtcbiAgICAgICAgICBuZXdWYWx1ZVt0YXJnZXRJZF0gPSBkcmFnZ2VkSXRlbS5jaG9pY2UuaWQ7XG4gICAgICAgICAgb25DaGFuZ2UobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRyYWdnZWRJdGVtLmlkICYmIGRyYWdnZWRJdGVtLmlkICE9PSB0YXJnZXRJZCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHsgLi4udmFsdWUgfTtcbiAgICAgICAgbmV3VmFsdWVbdGFyZ2V0SWRdID0gZHJhZ2dlZEl0ZW0uY2hvaWNlLmlkO1xuICAgICAgICBkZWxldGUgbmV3VmFsdWVbZHJhZ2dlZEl0ZW0uaWRdO1xuICAgICAgICBvbkNoYW5nZShuZXdWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGdldFBvc2l0aW9uRGlyZWN0aW9uID0gKGNob2ljZVBvc2l0aW9uKSA9PiB7XG4gICAgbGV0IGZsZXhEaXJlY3Rpb247XG4gICAgbGV0IGp1c3RpZnlDb250ZW50O1xuICAgIGxldCBhbGlnbkl0ZW1zO1xuXG4gICAgc3dpdGNoIChjaG9pY2VQb3NpdGlvbikge1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGZsZXhEaXJlY3Rpb24gPSAncm93JztcbiAgICAgICAgYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdyb3ctcmV2ZXJzZSc7XG4gICAgICAgIGp1c3RpZnlDb250ZW50ID0gJ2ZsZXgtZW5kJztcbiAgICAgICAgYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JlbG93JzpcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdjb2x1bW4tcmV2ZXJzZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gYWJvdmVcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdjb2x1bW4nO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4geyBmbGV4RGlyZWN0aW9uLCBqdXN0aWZ5Q29udGVudCwgYWxpZ25JdGVtcyB9O1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBtYXJrdXAsXG4gICAgICBkdXBsaWNhdGVzLFxuICAgICAgdmFsdWUsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGNob2ljZXNQb3NpdGlvbixcbiAgICAgIGNob2ljZXMsXG4gICAgICBjb3JyZWN0UmVzcG9uc2UsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGZlZWRiYWNrLFxuICAgICAgc2hvd0NvcnJlY3RBbnN3ZXIsXG4gICAgICBlbXB0eVJlc3BvbnNlQXJlYVdpZHRoLFxuICAgICAgZW1wdHlSZXNwb25zZUFyZWFIZWlnaHQsXG4gICAgICBsYXlvdXQsXG4gICAgICBpbnN0YW5jZUlkLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgY2hvaWNlUG9zaXRpb24gPSBjaG9pY2VzUG9zaXRpb24gfHwgJ2JlbG93JztcbiAgICBjb25zdCBzdHlsZSA9IHsgZGlzcGxheTogJ2ZsZXgnLCBtaW5XaWR0aDogJzEwMHB4JywgLi4udGhpcy5nZXRQb3NpdGlvbkRpcmVjdGlvbihjaG9pY2VQb3NpdGlvbikgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RHJhZ1Byb3ZpZGVyXG4gICAgICAgIG9uRHJhZ1N0YXJ0PXt0aGlzLmhhbmRsZURyYWdTdGFydH1cbiAgICAgICAgb25EcmFnRW5kPXt0aGlzLmhhbmRsZURyYWdFbmR9XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgID5cbiAgICAgICAgPGRpdiByZWY9eyhyZWYpID0+ICh0aGlzLnJvb3RSZWYgPSByZWYpfSBzdHlsZT17c3R5bGV9PlxuICAgICAgICAgIDxDaG9pY2VzXG4gICAgICAgICAgICBjaG9pY2VQb3NpdGlvbj17Y2hvaWNlUG9zaXRpb259XG4gICAgICAgICAgICBjaG9pY2VzPXtjaG9pY2VzfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgZHVwbGljYXRlcz17ZHVwbGljYXRlc31cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGluc3RhbmNlSWQ9e2luc3RhbmNlSWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8TWFza2VkXG4gICAgICAgICAgICBlbGVtZW50VHlwZT1cImRyYWctaW4tdGhlLWJsYW5rXCJcbiAgICAgICAgICAgIG1hcmt1cD17bWFya3VwfVxuICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICBjaG9pY2VzPXtjaG9pY2VzfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgZHVwbGljYXRlcz17ZHVwbGljYXRlc31cbiAgICAgICAgICAgIGZlZWRiYWNrPXtmZWVkYmFja31cbiAgICAgICAgICAgIGNvcnJlY3RSZXNwb25zZT17Y29ycmVjdFJlc3BvbnNlfVxuICAgICAgICAgICAgc2hvd0NvcnJlY3RBbnN3ZXI9e3Nob3dDb3JyZWN0QW5zd2VyfVxuICAgICAgICAgICAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aD17ZW1wdHlSZXNwb25zZUFyZWFXaWR0aH1cbiAgICAgICAgICAgIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0PXtlbXB0eVJlc3BvbnNlQXJlYUhlaWdodH1cbiAgICAgICAgICAgIGluc3RhbmNlSWQ9e2luc3RhbmNlSWR9XG4gICAgICAgICAgICBpc0RyYWdnaW5nPXshIXRoaXMuc3RhdGUuYWN0aXZlRHJhZ0l0ZW19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8RHJhZ092ZXJsYXkgc3R5bGU9e3sgcG9pbnRlckV2ZW50czogJ25vbmUnIH19Pnt0aGlzLnJlbmRlckRyYWdPdmVybGF5KCl9PC9EcmFnT3ZlcmxheT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0RyYWdQcm92aWRlcj5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxRQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxTQUFBLEdBQUFQLE9BQUE7QUFBdUMsU0FBQVEsV0FBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsV0FBQUQsQ0FBQSxPQUFBRSxnQkFBQSxhQUFBRixDQUFBLE9BQUFHLDJCQUFBLGFBQUFKLENBQUEsRUFBQUsseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFOLENBQUEsRUFBQUMsQ0FBQSxZQUFBQyxnQkFBQSxhQUFBSCxDQUFBLEVBQUFRLFdBQUEsSUFBQVAsQ0FBQSxDQUFBUSxLQUFBLENBQUFULENBQUEsRUFBQUUsQ0FBQTtBQUFBLFNBQUFHLDBCQUFBLGNBQUFMLENBQUEsSUFBQVUsT0FBQSxDQUFBQyxTQUFBLENBQUFDLE9BQUEsQ0FBQUMsSUFBQSxDQUFBUCxPQUFBLENBQUFDLFNBQUEsQ0FBQUcsT0FBQSxpQ0FBQVYsQ0FBQSxhQUFBSyx5QkFBQSxZQUFBQSwwQkFBQSxhQUFBTCxDQUFBO0FBQUEsU0FBQWMsUUFBQVosQ0FBQSxFQUFBYSxDQUFBLFFBQUFmLENBQUEsR0FBQWdCLE1BQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBLE9BQUFjLE1BQUEsQ0FBQUUscUJBQUEsUUFBQWpCLENBQUEsR0FBQWUsTUFBQSxDQUFBRSxxQkFBQSxDQUFBaEIsQ0FBQSxHQUFBYSxDQUFBLEtBQUFkLENBQUEsR0FBQUEsQ0FBQSxDQUFBa0IsTUFBQSxXQUFBSixDQUFBLFdBQUFDLE1BQUEsQ0FBQUksd0JBQUEsQ0FBQWxCLENBQUEsRUFBQWEsQ0FBQSxFQUFBTSxVQUFBLE9BQUFyQixDQUFBLENBQUFzQixJQUFBLENBQUFiLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBQyxDQUFBLFlBQUFELENBQUE7QUFBQSxTQUFBdUIsY0FBQXJCLENBQUEsYUFBQWEsQ0FBQSxNQUFBQSxDQUFBLEdBQUFTLFNBQUEsQ0FBQUMsTUFBQSxFQUFBVixDQUFBLFVBQUFmLENBQUEsV0FBQXdCLFNBQUEsQ0FBQVQsQ0FBQSxJQUFBUyxTQUFBLENBQUFULENBQUEsUUFBQUEsQ0FBQSxPQUFBRCxPQUFBLENBQUFFLE1BQUEsQ0FBQWhCLENBQUEsT0FBQTBCLE9BQUEsV0FBQVgsQ0FBQSxRQUFBWSxnQkFBQSxhQUFBekIsQ0FBQSxFQUFBYSxDQUFBLEVBQUFmLENBQUEsQ0FBQWUsQ0FBQSxTQUFBQyxNQUFBLENBQUFZLHlCQUFBLEdBQUFaLE1BQUEsQ0FBQWEsZ0JBQUEsQ0FBQTNCLENBQUEsRUFBQWMsTUFBQSxDQUFBWSx5QkFBQSxDQUFBNUIsQ0FBQSxLQUFBYyxPQUFBLENBQUFFLE1BQUEsQ0FBQWhCLENBQUEsR0FBQTBCLE9BQUEsV0FBQVgsQ0FBQSxJQUFBQyxNQUFBLENBQUFjLGNBQUEsQ0FBQTVCLENBQUEsRUFBQWEsQ0FBQSxFQUFBQyxNQUFBLENBQUFJLHdCQUFBLENBQUFwQixDQUFBLEVBQUFlLENBQUEsaUJBQUFiLENBQUE7QUFFdkMsSUFBTTZCLE1BQU0sR0FBRyxJQUFBQyxrQkFBUSxFQUFDLE9BQU8sRUFBRSxVQUFDQyxLQUFLO0VBQUEsT0FBSyxVQUFDQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsU0FBUSxFQUFLO0lBQUEsSUFBQUMsVUFBQTtJQUNwRSxJQUFNQyxPQUFPLEdBQUcsRUFBQUQsVUFBQSxHQUFBSCxJQUFJLENBQUNDLElBQUksY0FBQUUsVUFBQSx1QkFBVEEsVUFBQSxDQUFXQyxPQUFPLEtBQUksQ0FBQyxDQUFDO0lBQ3hDLElBQUlBLE9BQU8sQ0FBQ0MsU0FBUyxLQUFLLE9BQU8sRUFBRTtNQUNqQztNQUNBLElBQ0VDLFFBQVEsR0FTTlAsS0FBSyxDQVRQTyxRQUFRO1FBQ1JDLFVBQVUsR0FRUlIsS0FBSyxDQVJQUSxVQUFVO1FBQ1ZDLGVBQWUsR0FPYlQsS0FBSyxDQVBQUyxlQUFlO1FBQ2ZDLFFBQVEsR0FNTlYsS0FBSyxDQU5QVSxRQUFRO1FBQ1JDLGlCQUFpQixHQUtmWCxLQUFLLENBTFBXLGlCQUFpQjtRQUNqQkMsc0JBQXNCLEdBSXBCWixLQUFLLENBSlBZLHNCQUFzQjtRQUN0QkMsdUJBQXVCLEdBR3JCYixLQUFLLENBSFBhLHVCQUF1QjtRQUN2QkMsVUFBVSxHQUVSZCxLQUFLLENBRlBjLFVBQVU7UUFDVkMsVUFBVSxHQUNSZixLQUFLLENBRFBlLFVBQVU7TUFFWixJQUFNQyxRQUFRLEdBQUdMLGlCQUFpQixHQUFHRixlQUFlLENBQUNKLE9BQU8sQ0FBQ1ksRUFBRSxDQUFDLEdBQUdmLElBQUksQ0FBQ0csT0FBTyxDQUFDWSxFQUFFLENBQUM7TUFDbkY7TUFDQSxJQUFNQyxNQUFNLEdBQUdGLFFBQVEsSUFBSWhCLEtBQUssQ0FBQ21CLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLENBQUM7UUFBQSxPQUFLQSxDQUFDLENBQUNKLEVBQUUsS0FBS0QsUUFBUTtNQUFBLEVBQUM7TUFFdkUsb0JBQ0U1RCxNQUFBLFlBQUFrRSxhQUFBLENBQUMxRCxNQUFBLFdBQUs7UUFDSjJELEdBQUcsS0FBQUMsTUFBQSxDQUFLdkIsSUFBSSxDQUFDd0IsSUFBSSxPQUFBRCxNQUFBLENBQUluQixPQUFPLENBQUNZLEVBQUUsQ0FBRztRQUNsQ1MsT0FBTyxFQUFFZixpQkFBaUIsSUFBS0QsUUFBUSxJQUFJQSxRQUFRLENBQUNMLE9BQU8sQ0FBQ1ksRUFBRSxDQUFHO1FBQ2pFVixRQUFRLEVBQUVBLFFBQVM7UUFDbkJDLFVBQVUsRUFBRUEsVUFBVztRQUN2QlUsTUFBTSxFQUFFQSxNQUFPO1FBQ2ZELEVBQUUsRUFBRVosT0FBTyxDQUFDWSxFQUFHO1FBQ2ZMLHNCQUFzQixFQUFFQSxzQkFBdUI7UUFDL0NDLHVCQUF1QixFQUFFQSx1QkFBd0I7UUFDakRWLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHYyxFQUFFLEVBQUVELFFBQVEsRUFBSztVQUMxQixJQUFNVyxPQUFPLEdBQUFyQyxhQUFBLEtBQVFZLElBQUksQ0FBRTtVQUMzQixJQUFJYyxRQUFRLEtBQUtZLFNBQVMsRUFBRTtZQUMxQixPQUFPRCxPQUFPLENBQUNWLEVBQUUsQ0FBQztVQUNwQixDQUFDLE1BQU07WUFDTFUsT0FBTyxDQUFDVixFQUFFLENBQUMsR0FBR0QsUUFBUTtVQUN4QjtVQUNBYixTQUFRLENBQUN3QixPQUFPLENBQUM7UUFDbkIsQ0FBRTtRQUNGYixVQUFVLEVBQUVBLFVBQVc7UUFDdkJDLFVBQVUsRUFBRUE7TUFBVyxDQUN4QixDQUFDO0lBRU47RUFDRixDQUFDO0FBQUEsRUFBQztBQUFDLElBRWtCYyxjQUFjLEdBQUFDLE9BQUEscUNBQUFDLGdCQUFBO0VBQ2pDLFNBQUFGLGVBQVk3QixLQUFLLEVBQUU7SUFBQSxJQUFBZ0MsS0FBQTtJQUFBLElBQUFDLGdCQUFBLG1CQUFBSixjQUFBO0lBQ2pCRyxLQUFBLEdBQUFsRSxVQUFBLE9BQUErRCxjQUFBLEdBQU03QixLQUFLO0lBQUUsSUFBQU4sZ0JBQUEsYUFBQXNDLEtBQUEscUJBMkJHLFVBQUNFLEtBQUssRUFBSztNQUFBLElBQUFDLFlBQUE7TUFDM0IsSUFBUUMsTUFBTSxHQUFLRixLQUFLLENBQWhCRSxNQUFNO01BRWQsSUFBSUEsTUFBTSxhQUFOQSxNQUFNLGdCQUFBRCxZQUFBLEdBQU5DLE1BQU0sQ0FBRWxDLElBQUksY0FBQWlDLFlBQUEsZUFBWkEsWUFBQSxDQUFjRSxPQUFPLEVBQUU7UUFDekJMLEtBQUEsQ0FBS00sUUFBUSxDQUFDO1VBQ1pDLGNBQWMsRUFBRUgsTUFBTSxDQUFDbEMsSUFBSSxDQUFDbUM7UUFDOUIsQ0FBQyxDQUFDO01BQ0o7SUFDRixDQUFDO0lBQUEsSUFBQTNDLGdCQUFBLGFBQUFzQyxLQUFBLHVCQUVtQixZQUFNO01BQ3hCLElBQVFPLGNBQWMsR0FBS1AsS0FBQSxDQUFLUSxLQUFLLENBQTdCRCxjQUFjO01BQ3RCLElBQUksQ0FBQ0EsY0FBYyxFQUFFLE9BQU8sSUFBSTtNQUVoQyxJQUFJQSxjQUFjLENBQUNkLElBQUksS0FBSyxXQUFXLEVBQUU7UUFDdkMsb0JBQ0VyRSxNQUFBLFlBQUFrRSxhQUFBLENBQUMzRCxPQUFBLFdBQU07VUFDTDRDLFFBQVEsRUFBRWdDLGNBQWMsQ0FBQ2hDLFFBQVM7VUFDbENXLE1BQU0sRUFBRXFCLGNBQWMsQ0FBQ3JCLE1BQU87VUFDOUJKLFVBQVUsRUFBRXlCLGNBQWMsQ0FBQ3pCO1FBQVcsQ0FDdkMsQ0FBQztNQUVOO01BRUEsT0FBTyxJQUFJO0lBQ2IsQ0FBQztJQUFBLElBQUFwQixnQkFBQSxhQUFBc0MsS0FBQSxtQkFFZSxVQUFDRSxLQUFLLEVBQUs7TUFBQSxJQUFBTyxpQkFBQTtNQUN6QixJQUFRTCxNQUFNLEdBQVdGLEtBQUssQ0FBdEJFLE1BQU07UUFBRU0sSUFBSSxHQUFLUixLQUFLLENBQWRRLElBQUk7TUFDcEIsSUFBQUMsV0FBQSxHQUE0QlgsS0FBQSxDQUFLaEMsS0FBSztRQUE5QkcsUUFBUSxHQUFBd0MsV0FBQSxDQUFSeEMsUUFBUTtRQUFFeUMsS0FBSyxHQUFBRCxXQUFBLENBQUxDLEtBQUs7O01BRXZCO01BQ0FaLEtBQUEsQ0FBS00sUUFBUSxDQUFDO1FBQUVDLGNBQWMsRUFBRTtNQUFLLENBQUMsQ0FBQztNQUV2QyxJQUFJLENBQUNHLElBQUksSUFBSSxDQUFDTixNQUFNLElBQUksQ0FBQ2pDLFFBQVEsRUFBRTtRQUNqQztNQUNGO01BRUEsSUFBTTBDLFdBQVcsR0FBR1QsTUFBTSxDQUFDbEMsSUFBSSxDQUFDbUMsT0FBTztNQUN2QyxJQUFNUyxRQUFRLEdBQUdKLElBQUksQ0FBQ3hDLElBQUksQ0FBQ21DLE9BQU87TUFFbEMsSUFBSSxDQUFBUSxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRXBCLElBQUksTUFBSyxXQUFXLElBQUlxQixRQUFRLGFBQVJBLFFBQVEsZ0JBQUFMLGlCQUFBLEdBQVJLLFFBQVEsQ0FBRUMsT0FBTyxjQUFBTixpQkFBQSxlQUFqQkEsaUJBQUEsQ0FBbUJPLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUNqRixJQUFNQyxXQUFXLEdBQUdKLFdBQVc7UUFDL0IsSUFBTUssUUFBUSxHQUFHSixRQUFRLENBQUM3QixFQUFFO1FBRTVCLElBQUk2QixRQUFRLENBQUNLLGFBQWEsS0FBSyxJQUFJLEVBQUU7VUFDbkMsSUFBSSxDQUFDRixXQUFXLENBQUNHLFVBQVUsSUFBSUgsV0FBVyxDQUFDaEMsRUFBRSxFQUFFO1lBQzdDLElBQU1vQyxRQUFRLEdBQUEvRCxhQUFBLEtBQVFzRCxLQUFLLENBQUU7WUFDN0IsT0FBT1MsUUFBUSxDQUFDSixXQUFXLENBQUNoQyxFQUFFLENBQUM7WUFDL0JkLFFBQVEsQ0FBQ2tELFFBQVEsQ0FBQztVQUNwQjtRQUNGLENBQUMsTUFBTSxJQUFJSixXQUFXLENBQUNHLFVBQVUsS0FBSyxJQUFJLEVBQUU7VUFDMUMsSUFBSUYsUUFBUSxJQUFJQSxRQUFRLEtBQUssNkJBQTZCLEVBQUU7WUFDMUQsSUFBTUcsU0FBUSxHQUFBL0QsYUFBQSxLQUFRc0QsS0FBSyxDQUFFO1lBQzdCUyxTQUFRLENBQUNILFFBQVEsQ0FBQyxHQUFHRCxXQUFXLENBQUMvQixNQUFNLENBQUNELEVBQUU7WUFDMUNkLFFBQVEsQ0FBQ2tELFNBQVEsQ0FBQztVQUNwQjtRQUNGLENBQUMsTUFBTSxJQUFJSixXQUFXLENBQUNoQyxFQUFFLElBQUlnQyxXQUFXLENBQUNoQyxFQUFFLEtBQUtpQyxRQUFRLEVBQUU7VUFDeEQsSUFBTUcsVUFBUSxHQUFBL0QsYUFBQSxLQUFRc0QsS0FBSyxDQUFFO1VBQzdCUyxVQUFRLENBQUNILFFBQVEsQ0FBQyxHQUFHRCxXQUFXLENBQUMvQixNQUFNLENBQUNELEVBQUU7VUFDMUMsT0FBT29DLFVBQVEsQ0FBQ0osV0FBVyxDQUFDaEMsRUFBRSxDQUFDO1VBQy9CZCxRQUFRLENBQUNrRCxVQUFRLENBQUM7UUFDcEI7TUFDRjtJQUNGLENBQUM7SUFBQSxJQUFBM0QsZ0JBQUEsYUFBQXNDLEtBQUEsMEJBRXNCLFVBQUNzQixjQUFjLEVBQUs7TUFDekMsSUFBSUMsYUFBYTtNQUNqQixJQUFJQyxjQUFjO01BQ2xCLElBQUlDLFVBQVU7TUFFZCxRQUFRSCxjQUFjO1FBQ3BCLEtBQUssTUFBTTtVQUNUQyxhQUFhLEdBQUcsS0FBSztVQUNyQkUsVUFBVSxHQUFHLFFBQVE7VUFDckI7UUFDRixLQUFLLE9BQU87VUFDVkYsYUFBYSxHQUFHLGFBQWE7VUFDN0JDLGNBQWMsR0FBRyxVQUFVO1VBQzNCQyxVQUFVLEdBQUcsUUFBUTtVQUNyQjtRQUNGLEtBQUssT0FBTztVQUNWRixhQUFhLEdBQUcsZ0JBQWdCO1VBQ2hDO1FBQ0Y7VUFDRTtVQUNBQSxhQUFhLEdBQUcsUUFBUTtVQUN4QjtNQUNKO01BRUEsT0FBTztRQUFFQSxhQUFhLEVBQWJBLGFBQWE7UUFBRUMsY0FBYyxFQUFkQSxjQUFjO1FBQUVDLFVBQVUsRUFBVkE7TUFBVyxDQUFDO0lBQ3RELENBQUM7SUFySEN6QixLQUFBLENBQUtRLEtBQUssR0FBRztNQUNYRCxjQUFjLEVBQUU7SUFDbEIsQ0FBQztJQUFDLE9BQUFQLEtBQUE7RUFDSjtFQUFDLElBQUEwQixVQUFBLGFBQUE3QixjQUFBLEVBQUFFLGdCQUFBO0VBQUEsV0FBQTRCLGFBQUEsYUFBQTlCLGNBQUE7SUFBQU4sR0FBQTtJQUFBcUIsS0FBQSxFQW9IRCxTQUFBZ0IsTUFBTUEsQ0FBQSxFQUFHO01BQUEsSUFBQUMsTUFBQTtNQUNQLElBQUFDLFlBQUEsR0FlSSxJQUFJLENBQUM5RCxLQUFLO1FBZForRCxNQUFNLEdBQUFELFlBQUEsQ0FBTkMsTUFBTTtRQUNOdkQsVUFBVSxHQUFBc0QsWUFBQSxDQUFWdEQsVUFBVTtRQUNWb0MsS0FBSyxHQUFBa0IsWUFBQSxDQUFMbEIsS0FBSztRQUNMekMsUUFBUSxHQUFBMkQsWUFBQSxDQUFSM0QsUUFBUTtRQUNSNkQsZUFBZSxHQUFBRixZQUFBLENBQWZFLGVBQWU7UUFDZjdDLE9BQU8sR0FBQTJDLFlBQUEsQ0FBUDNDLE9BQU87UUFDUFYsZUFBZSxHQUFBcUQsWUFBQSxDQUFmckQsZUFBZTtRQUNmRixRQUFRLEdBQUF1RCxZQUFBLENBQVJ2RCxRQUFRO1FBQ1JHLFFBQVEsR0FBQW9ELFlBQUEsQ0FBUnBELFFBQVE7UUFDUkMsaUJBQWlCLEdBQUFtRCxZQUFBLENBQWpCbkQsaUJBQWlCO1FBQ2pCQyxzQkFBc0IsR0FBQWtELFlBQUEsQ0FBdEJsRCxzQkFBc0I7UUFDdEJDLHVCQUF1QixHQUFBaUQsWUFBQSxDQUF2QmpELHVCQUF1QjtRQUN2Qm9ELE1BQU0sR0FBQUgsWUFBQSxDQUFORyxNQUFNO1FBQ05uRCxVQUFVLEdBQUFnRCxZQUFBLENBQVZoRCxVQUFVO01BR1osSUFBTXdDLGNBQWMsR0FBR1UsZUFBZSxJQUFJLE9BQU87TUFDakQsSUFBTUUsS0FBSyxHQUFBNUUsYUFBQTtRQUFLNkUsT0FBTyxFQUFFLE1BQU07UUFBRUMsUUFBUSxFQUFFO01BQU8sR0FBSyxJQUFJLENBQUNDLG9CQUFvQixDQUFDZixjQUFjLENBQUMsQ0FBRTtNQUVsRyxvQkFDRWxHLE1BQUEsWUFBQWtFLGFBQUEsQ0FBQzlELEtBQUEsQ0FBQThHLFlBQVk7UUFDWEMsV0FBVyxFQUFFLElBQUksQ0FBQ0MsZUFBZ0I7UUFDbENDLFNBQVMsRUFBRSxJQUFJLENBQUNDLGFBQWM7UUFDOUJDLGtCQUFrQixFQUFFQztNQUFjLGdCQUVsQ3hILE1BQUEsWUFBQWtFLGFBQUE7UUFBS3VELEdBQUcsRUFBRSxTQUFMQSxHQUFHQSxDQUFHQSxJQUFHO1VBQUEsT0FBTWhCLE1BQUksQ0FBQ2lCLE9BQU8sR0FBR0QsSUFBRztRQUFBLENBQUU7UUFBQ1gsS0FBSyxFQUFFQTtNQUFNLGdCQUNwRDlHLE1BQUEsWUFBQWtFLGFBQUEsQ0FBQzVELFFBQUEsV0FBTztRQUNONEYsY0FBYyxFQUFFQSxjQUFlO1FBQy9CbkMsT0FBTyxFQUFFQSxPQUFRO1FBQ2pCeUIsS0FBSyxFQUFFQSxLQUFNO1FBQ2JwQyxVQUFVLEVBQUVBLFVBQVc7UUFDdkJELFFBQVEsRUFBRUEsUUFBUztRQUNuQk8sVUFBVSxFQUFFQTtNQUFXLENBQ3hCLENBQUMsZUFDRjFELE1BQUEsWUFBQWtFLGFBQUEsQ0FBQ3hCLE1BQU07UUFDTGlGLFdBQVcsRUFBQyxtQkFBbUI7UUFDL0JoQixNQUFNLEVBQUVBLE1BQU87UUFDZkUsTUFBTSxFQUFFQSxNQUFPO1FBQ2ZyQixLQUFLLEVBQUVBLEtBQU07UUFDYnpCLE9BQU8sRUFBRUEsT0FBUTtRQUNqQmhCLFFBQVEsRUFBRUEsUUFBUztRQUNuQkksUUFBUSxFQUFFQSxRQUFTO1FBQ25CQyxVQUFVLEVBQUVBLFVBQVc7UUFDdkJFLFFBQVEsRUFBRUEsUUFBUztRQUNuQkQsZUFBZSxFQUFFQSxlQUFnQjtRQUNqQ0UsaUJBQWlCLEVBQUVBLGlCQUFrQjtRQUNyQ0Msc0JBQXNCLEVBQUVBLHNCQUF1QjtRQUMvQ0MsdUJBQXVCLEVBQUVBLHVCQUF3QjtRQUNqREMsVUFBVSxFQUFFQSxVQUFXO1FBQ3ZCQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQ3lCLEtBQUssQ0FBQ0Q7TUFBZSxDQUN6QyxDQUFDLGVBQ0ZuRixNQUFBLFlBQUFrRSxhQUFBLENBQUM3RCxLQUFBLENBQUF1SCxXQUFXO1FBQUNkLEtBQUssRUFBRTtVQUFFZSxhQUFhLEVBQUU7UUFBTztNQUFFLEdBQUUsSUFBSSxDQUFDQyxpQkFBaUIsQ0FBQyxDQUFlLENBQ25GLENBQ08sQ0FBQztJQUVuQjtFQUFDO0FBQUEsRUFuTHlDQyxpQkFBSyxDQUFDQyxTQUFTO0FBQUEsSUFBQTFGLGdCQUFBLGFBQXRDbUMsY0FBYyxlQVFkO0VBQ2pCa0MsTUFBTSxFQUFFc0IscUJBQVMsQ0FBQ0MsTUFBTTtFQUN4QnJCLE1BQU0sRUFBRW9CLHFCQUFTLENBQUNFLE1BQU07RUFDeEJ2QixlQUFlLEVBQUVxQixxQkFBUyxDQUFDQyxNQUFNO0VBQ2pDbkUsT0FBTyxFQUFFa0UscUJBQVMsQ0FBQ0csS0FBSztFQUN4QjVDLEtBQUssRUFBRXlDLHFCQUFTLENBQUNFLE1BQU07RUFDdkJwRixRQUFRLEVBQUVrRixxQkFBUyxDQUFDSSxJQUFJO0VBQ3hCakYsVUFBVSxFQUFFNkUscUJBQVMsQ0FBQ0ssSUFBSTtFQUMxQm5GLFFBQVEsRUFBRThFLHFCQUFTLENBQUNLLElBQUk7RUFDeEJoRixRQUFRLEVBQUUyRSxxQkFBUyxDQUFDRSxNQUFNO0VBQzFCOUUsZUFBZSxFQUFFNEUscUJBQVMsQ0FBQ0UsTUFBTTtFQUNqQzVFLGlCQUFpQixFQUFFMEUscUJBQVMsQ0FBQ0ssSUFBSTtFQUNqQzlFLHNCQUFzQixFQUFFeUUscUJBQVMsQ0FBQ00sU0FBUyxDQUFDLENBQUNOLHFCQUFTLENBQUNDLE1BQU0sRUFBRUQscUJBQVMsQ0FBQ08sTUFBTSxDQUFDLENBQUM7RUFDakYvRSx1QkFBdUIsRUFBRXdFLHFCQUFTLENBQUNNLFNBQVMsQ0FBQyxDQUFDTixxQkFBUyxDQUFDQyxNQUFNLEVBQUVELHFCQUFTLENBQUNPLE1BQU0sQ0FBQyxDQUFDO0VBQ2xGOUUsVUFBVSxFQUFFdUUscUJBQVMsQ0FBQ0M7QUFDeEIsQ0FBQztBQUFBLElBQUE1RixnQkFBQSxhQXZCa0JtQyxjQUFjLGtCQXlCWDtFQUNwQmYsVUFBVSxFQUFFO0FBQ2QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
253
|
+
//# sourceMappingURL=drag-in-the-blank.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drag-in-the-blank.js","names":["_react","_interopRequireDefault","require","_propTypes","_drag","_core","_choices","_choice","_blank","_withMask","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Masked","withMask","props","node","data","onChange","_node$data","dataset","component","disabled","duplicates","correctResponse","feedback","showCorrectAnswer","emptyResponseAreaWidth","emptyResponseAreaHeight","instanceId","isDragging","choiceId","id","choice","choices","find","c","createElement","key","concat","type","correct","newData","undefined","DragInTheBlank","exports","_React$Component","_this","_classCallCheck2","event","_active$data","active","current","setState","activeDragItem","state","_dropData$accepts","over","_this$props","value","draggedData","dropData","accepts","includes","draggedItem","targetId","toChoiceBoard","fromChoice","newValue","choicePosition","flexDirection","justifyContent","alignItems","_inherits2","_createClass2","render","_this2","_this$props2","markup","choicesPosition","layout","style","display","minWidth","getPositionDirection","DragProvider","onDragStart","handleDragStart","onDragEnd","handleDragEnd","collisionDetection","closestCenter","ref","rootRef","elementType","DragOverlay","pointerEvents","renderDragOverlay","React","Component","PropTypes","string","object","array","func","bool","oneOfType","number"],"sources":["../src/drag-in-the-blank.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DragProvider } from '@pie-lib/drag';\nimport { DragOverlay, closestCenter } from '@dnd-kit/core';\n\nimport Choices from './choices';\nimport Choice from './choices/choice';\nimport Blank from './components/blank';\nimport { withMask } from './with-mask';\n\nconst Masked = withMask('blank', (props) => (node, data, onChange) => {\n const dataset = node.data?.dataset || {};\n if (dataset.component === 'blank') {\n // eslint-disable-next-line react/prop-types\n const {\n disabled,\n duplicates,\n correctResponse,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n instanceId,\n isDragging,\n } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\n // eslint-disable-next-line react/prop-types\n const choice = choiceId && props.choices.find((c) => c.id === choiceId);\n\n return (\n <Blank\n key={`${node.type}-${dataset.id}`}\n correct={showCorrectAnswer || (feedback && feedback[dataset.id])}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n id={dataset.id}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n onChange={(id, choiceId) => {\n const newData = { ...data };\n if (choiceId === undefined) {\n delete newData[id];\n } else {\n newData[id] = choiceId;\n }\n onChange(newData);\n }}\n instanceId={instanceId}\n isDragging={isDragging}\n />\n );\n }\n});\n\nexport default class DragInTheBlank extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n activeDragItem: null,\n };\n }\n\n static propTypes = {\n markup: PropTypes.string,\n layout: PropTypes.object,\n choicesPosition: PropTypes.string,\n choices: PropTypes.array,\n value: PropTypes.object,\n onChange: PropTypes.func,\n duplicates: PropTypes.bool,\n disabled: PropTypes.bool,\n feedback: PropTypes.object,\n correctResponse: PropTypes.object,\n showCorrectAnswer: PropTypes.bool,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n instanceId: PropTypes.string,\n };\n\n static defaultProps = {\n instanceId: 'drag-in-the-blank',\n };\n\n handleDragStart = (event) => {\n const { active } = event;\n\n if (active?.data?.current) {\n this.setState({\n activeDragItem: active.data.current,\n });\n }\n };\n\n renderDragOverlay = () => {\n const { activeDragItem } = this.state;\n if (!activeDragItem) return null;\n\n if (activeDragItem.type === 'MaskBlank') {\n return (\n <Choice\n disabled={activeDragItem.disabled}\n choice={activeDragItem.choice}\n instanceId={activeDragItem.instanceId}\n />\n );\n }\n\n return null;\n };\n\n handleDragEnd = (event) => {\n const { active, over } = event;\n const { onChange, value } = this.props;\n\n // Always reset the active drag item state, even if drop is invalid\n this.setState({ activeDragItem: null });\n\n if (!over || !active || !onChange) {\n return;\n }\n\n const draggedData = active.data.current;\n const dropData = over.data.current;\n\n if (draggedData?.type === 'MaskBlank' && dropData?.accepts?.includes('MaskBlank')) {\n const draggedItem = draggedData;\n const targetId = dropData.id;\n\n if (dropData.toChoiceBoard === true) {\n if (!draggedItem.fromChoice && draggedItem.id) {\n const newValue = { ...value };\n delete newValue[draggedItem.id];\n onChange(newValue);\n }\n } else if (draggedItem.fromChoice === true) {\n if (targetId && targetId !== 'drag-in-the-blank-droppable') {\n const newValue = { ...value };\n newValue[targetId] = draggedItem.choice.id;\n onChange(newValue);\n }\n } else if (draggedItem.id && draggedItem.id !== targetId) {\n const newValue = { ...value };\n newValue[targetId] = draggedItem.choice.id;\n delete newValue[draggedItem.id];\n onChange(newValue);\n }\n }\n };\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n let justifyContent;\n let alignItems;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n alignItems = 'center';\n break;\n case 'right':\n flexDirection = 'row-reverse';\n justifyContent = 'flex-end';\n alignItems = 'center';\n break;\n case 'below':\n flexDirection = 'column-reverse';\n break;\n default:\n // above\n flexDirection = 'column';\n break;\n }\n\n return { flexDirection, justifyContent, alignItems };\n };\n\n render() {\n const {\n markup,\n duplicates,\n value,\n onChange,\n choicesPosition,\n choices,\n correctResponse,\n disabled,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n layout,\n instanceId,\n } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = { display: 'flex', minWidth: '100px', ...this.getPositionDirection(choicePosition) };\n\n return (\n <DragProvider\n onDragStart={this.handleDragStart}\n onDragEnd={this.handleDragEnd}\n collisionDetection={closestCenter}\n >\n <div ref={(ref) => (this.rootRef = ref)} style={style}>\n <Choices\n choicePosition={choicePosition}\n choices={choices}\n value={value}\n duplicates={duplicates}\n disabled={disabled}\n instanceId={instanceId}\n />\n <Masked\n elementType=\"drag-in-the-blank\"\n markup={markup}\n layout={layout}\n value={value}\n choices={choices}\n onChange={onChange}\n disabled={disabled}\n duplicates={duplicates}\n feedback={feedback}\n correctResponse={correctResponse}\n showCorrectAnswer={showCorrectAnswer}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n instanceId={instanceId}\n isDragging={!!this.state.activeDragItem}\n />\n <DragOverlay style={{ pointerEvents: 'none' }}>{this.renderDragOverlay()}</DragOverlay>\n </div>\n </DragProvider>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"drag-in-the-blank.js","names":["_react","_interopRequireDefault","require","_propTypes","_drag","_core","_choices","_choice","_blank","_withMask","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Masked","withMask","props","node","data","onChange","_node$data","dataset","component","disabled","duplicates","correctResponse","feedback","showCorrectAnswer","emptyResponseAreaWidth","emptyResponseAreaHeight","instanceId","isDragging","choiceId","id","choice","choices","find","c","createElement","key","concat","type","correct","newData","undefined","DragInTheBlank","exports","_React$Component","_this","_classCallCheck2","event","_active$data","active","current","setState","activeDragItem","state","_dropData$accepts","over","_this$props","value","draggedData","dropData","accepts","includes","draggedItem","targetId","toChoiceBoard","fromChoice","newValue","choicePosition","flexDirection","justifyContent","alignItems","_inherits2","_createClass2","render","_this2","_this$props2","markup","choicesPosition","layout","style","display","minWidth","getPositionDirection","DragProvider","onDragStart","handleDragStart","onDragEnd","handleDragEnd","collisionDetection","rectIntersection","ref","rootRef","elementType","DragOverlay","pointerEvents","renderDragOverlay","React","Component","PropTypes","string","object","array","func","bool","oneOfType","number"],"sources":["../src/drag-in-the-blank.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DragProvider } from '@pie-lib/drag';\nimport { DragOverlay, rectIntersection } from '@dnd-kit/core';\nimport Choices from './choices';\nimport Choice from './choices/choice';\nimport Blank from './components/blank';\nimport { withMask } from './with-mask';\n\nconst Masked = withMask('blank', (props) => (node, data, onChange) => {\n const dataset = node.data?.dataset || {};\n if (dataset.component === 'blank') {\n // eslint-disable-next-line react/prop-types\n const {\n disabled,\n duplicates,\n correctResponse,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n instanceId,\n isDragging,\n } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\n // eslint-disable-next-line react/prop-types\n const choice = choiceId && props.choices.find((c) => c.id === choiceId);\n\n return (\n <Blank\n key={`${node.type}-${dataset.id}`}\n correct={showCorrectAnswer || (feedback && feedback[dataset.id])}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n id={dataset.id}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n onChange={(id, choiceId) => {\n const newData = { ...data };\n if (choiceId === undefined) {\n delete newData[id];\n } else {\n newData[id] = choiceId;\n }\n onChange(newData);\n }}\n instanceId={instanceId}\n isDragging={isDragging}\n />\n );\n }\n});\n\nexport default class DragInTheBlank extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n activeDragItem: null,\n };\n }\n\n static propTypes = {\n markup: PropTypes.string,\n layout: PropTypes.object,\n choicesPosition: PropTypes.string,\n choices: PropTypes.array,\n value: PropTypes.object,\n onChange: PropTypes.func,\n duplicates: PropTypes.bool,\n disabled: PropTypes.bool,\n feedback: PropTypes.object,\n correctResponse: PropTypes.object,\n showCorrectAnswer: PropTypes.bool,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n instanceId: PropTypes.string,\n };\n\n static defaultProps = {\n instanceId: 'drag-in-the-blank',\n };\n\n handleDragStart = (event) => {\n const { active } = event;\n\n if (active?.data?.current) {\n this.setState({\n activeDragItem: active.data.current,\n });\n }\n };\n\n renderDragOverlay = () => {\n const { activeDragItem } = this.state;\n if (!activeDragItem) return null;\n\n if (activeDragItem.type === 'MaskBlank') {\n return (\n <Choice\n disabled={activeDragItem.disabled}\n choice={activeDragItem.choice}\n instanceId={activeDragItem.instanceId}\n />\n );\n }\n\n return null;\n };\n\n handleDragEnd = (event) => {\n const { active, over } = event;\n const { onChange, value } = this.props;\n\n // Always reset the active drag item state, even if drop is invalid\n this.setState({ activeDragItem: null });\n\n if (!over || !active || !onChange) {\n return;\n }\n\n const draggedData = active.data.current;\n const dropData = over.data.current;\n\n if (draggedData?.type === 'MaskBlank' && dropData?.accepts?.includes('MaskBlank')) {\n const draggedItem = draggedData;\n const targetId = dropData.id;\n\n if (dropData.toChoiceBoard === true) {\n if (!draggedItem.fromChoice && draggedItem.id) {\n const newValue = { ...value };\n delete newValue[draggedItem.id];\n onChange(newValue);\n }\n } else if (draggedItem.fromChoice === true) {\n if (targetId && targetId !== 'drag-in-the-blank-droppable') {\n const newValue = { ...value };\n newValue[targetId] = draggedItem.choice.id;\n onChange(newValue);\n }\n } else if (draggedItem.id && draggedItem.id !== targetId) {\n const newValue = { ...value };\n newValue[targetId] = draggedItem.choice.id;\n delete newValue[draggedItem.id];\n onChange(newValue);\n }\n }\n };\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n let justifyContent;\n let alignItems;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n alignItems = 'center';\n break;\n case 'right':\n flexDirection = 'row-reverse';\n justifyContent = 'flex-end';\n alignItems = 'center';\n break;\n case 'below':\n flexDirection = 'column-reverse';\n break;\n default:\n // above\n flexDirection = 'column';\n break;\n }\n\n return { flexDirection, justifyContent, alignItems };\n };\n\n render() {\n const {\n markup,\n duplicates,\n value,\n onChange,\n choicesPosition,\n choices,\n correctResponse,\n disabled,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n layout,\n instanceId,\n } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = { display: 'flex', minWidth: '100px', ...this.getPositionDirection(choicePosition) };\n\n return (\n <DragProvider\n onDragStart={this.handleDragStart}\n onDragEnd={this.handleDragEnd}\n collisionDetection={rectIntersection}\n >\n <div ref={(ref) => (this.rootRef = ref)} style={style}>\n <Choices\n choicePosition={choicePosition}\n choices={choices}\n value={value}\n duplicates={duplicates}\n disabled={disabled}\n instanceId={instanceId}\n />\n <Masked\n elementType=\"drag-in-the-blank\"\n markup={markup}\n layout={layout}\n value={value}\n choices={choices}\n onChange={onChange}\n disabled={disabled}\n duplicates={duplicates}\n feedback={feedback}\n correctResponse={correctResponse}\n showCorrectAnswer={showCorrectAnswer}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n instanceId={instanceId}\n isDragging={!!this.state.activeDragItem}\n />\n <DragOverlay style={{ pointerEvents: 'none' }}>{this.renderDragOverlay()}</DragOverlay>\n </div>\n </DragProvider>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
@@ -53,4 +52,4 @@ var _constructedResponse = _interopRequireDefault(require("./constructed-respons
|
|
|
53
52
|
var _customizable = _interopRequireDefault(require("./customizable"));
|
|
54
53
|
var _inlineDropdown = _interopRequireDefault(require("./inline-dropdown"));
|
|
55
54
|
var _componentize = _interopRequireDefault(require("./componentize"));
|
|
56
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_withMask","require","_dragInTheBlank","_interopRequireDefault","_constructedResponse","_customizable","_inlineDropdown","_componentize"],"sources":["../src/index.js"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"index.js","names":["_withMask","require","_dragInTheBlank","_interopRequireDefault","_constructedResponse","_customizable","_inlineDropdown","_componentize"],"sources":["../src/index.js"],"sourcesContent":["import { buildLayoutFromMarkup, withMask } from './with-mask';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ConstructedResponse from './constructed-response';\nimport Customizable from './customizable';\nimport InlineDropdown from './inline-dropdown';\nimport componentize from './componentize';\n\nexport {\n withMask,\n buildLayoutFromMarkup,\n DragInTheBlank,\n ConstructedResponse,\n InlineDropdown,\n componentize,\n Customizable,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,eAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA","ignoreList":[]}
|
package/lib/inline-dropdown.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
require("core-js/modules/es.array.concat.js");
|
|
10
|
-
require("core-js/modules/es.array.find.js");
|
|
11
|
-
require("core-js/modules/es.object.keys.js");
|
|
12
|
-
require("core-js/modules/es.object.to-string.js");
|
|
13
8
|
var _react = _interopRequireDefault(require("react"));
|
|
14
9
|
var _dropdown = _interopRequireDefault(require("./components/dropdown"));
|
|
15
10
|
var _withMask = require("./with-mask");
|
|
@@ -42,4 +37,4 @@ var _default = exports["default"] = (0, _withMask.withMask)('dropdown', function
|
|
|
42
37
|
}
|
|
43
38
|
};
|
|
44
39
|
});
|
|
45
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=inline-dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-dropdown.js","names":["_react","_interopRequireDefault","require","_dropdown","_withMask","_default","exports","withMask","props","node","data","onChange","dataset","component","choices","disabled","feedback","showCorrectAnswer","correctAnswer","id","find","c","correct","finalChoice","value","createElement","key","concat","type","correctValue","label","undefined","singleQuery","Object","keys","length"],"sources":["../src/inline-dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('dropdown', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\n // eslint-disable-next-line react/prop-types\n const { choices, disabled, feedback, showCorrectAnswer } = props;\n const correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find((c) => c.correct);\n const finalChoice = showCorrectAnswer ? correctAnswer && correctAnswer.value : data[dataset.id];\n\n return (\n <Dropdown\n key={`${node.type}-dropdown-${dataset.id}`}\n correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n disabled={disabled || showCorrectAnswer}\n value={finalChoice}\n correctValue={showCorrectAnswer ? correctAnswer && correctAnswer.label : undefined}\n id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n singleQuery={Object.keys(choices).length == 1}\n />\n );\n }\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"inline-dropdown.js","names":["_react","_interopRequireDefault","require","_dropdown","_withMask","_default","exports","withMask","props","node","data","onChange","dataset","component","choices","disabled","feedback","showCorrectAnswer","correctAnswer","id","find","c","correct","finalChoice","value","createElement","key","concat","type","correctValue","label","undefined","singleQuery","Object","keys","length"],"sources":["../src/inline-dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('dropdown', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\n // eslint-disable-next-line react/prop-types\n const { choices, disabled, feedback, showCorrectAnswer } = props;\n const correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find((c) => c.correct);\n const finalChoice = showCorrectAnswer ? correctAnswer && correctAnswer.value : data[dataset.id];\n\n return (\n <Dropdown\n key={`${node.type}-dropdown-${dataset.id}`}\n correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n disabled={disabled || showCorrectAnswer}\n value={finalChoice}\n correctValue={showCorrectAnswer ? correctAnswer && correctAnswer.label : undefined}\n id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n singleQuery={Object.keys(choices).length == 1}\n />\n );\n }\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA;AAAA,IAAAG,QAAA,GAAAC,OAAA,cACe,IAAAC,kBAAQ,EAAC,UAAU,EAAE,UAACC,KAAK;EAAA,OAAK,UAACC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAK;IACvE,IAAMC,OAAO,GAAGH,IAAI,CAACC,IAAI,GAAGD,IAAI,CAACC,IAAI,CAACE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,IAAIA,OAAO,CAACC,SAAS,KAAK,UAAU,EAAE;MACpC;MACA,IAAQC,OAAO,GAA4CN,KAAK,CAAxDM,OAAO;QAAEC,QAAQ,GAAkCP,KAAK,CAA/CO,QAAQ;QAAEC,QAAQ,GAAwBR,KAAK,CAArCQ,QAAQ;QAAEC,iBAAiB,GAAKT,KAAK,CAA3BS,iBAAiB;MACtD,IAAMC,aAAa,GAAGJ,OAAO,IAAIA,OAAO,CAACF,OAAO,CAACO,EAAE,CAAC,IAAIL,OAAO,CAACF,OAAO,CAACO,EAAE,CAAC,CAACC,IAAI,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAACC,OAAO;MAAA,EAAC;MAClG,IAAMC,WAAW,GAAGN,iBAAiB,GAAGC,aAAa,IAAIA,aAAa,CAACM,KAAK,GAAGd,IAAI,CAACE,OAAO,CAACO,EAAE,CAAC;MAE/F,oBACEnB,MAAA,YAAAyB,aAAA,CAACtB,SAAA,WAAQ;QACPuB,GAAG,KAAAC,MAAA,CAAKlB,IAAI,CAACmB,IAAI,gBAAAD,MAAA,CAAaf,OAAO,CAACO,EAAE,CAAG;QAC3CG,OAAO,EAAEN,QAAQ,IAAIA,QAAQ,CAACJ,OAAO,CAACO,EAAE,CAAC,IAAIH,QAAQ,CAACJ,OAAO,CAACO,EAAE,CAAC,KAAK,SAAU;QAChFJ,QAAQ,EAAEA,QAAQ,IAAIE,iBAAkB;QACxCO,KAAK,EAAED,WAAY;QACnBM,YAAY,EAAEZ,iBAAiB,GAAGC,aAAa,IAAIA,aAAa,CAACY,KAAK,GAAGC,SAAU;QACnFZ,EAAE,EAAEP,OAAO,CAACO,EAAG;QACfR,QAAQ,EAAEA,QAAS;QACnBG,OAAO,EAAEA,OAAO,CAACF,OAAO,CAACO,EAAE,CAAE;QAC7BF,iBAAiB,EAAEA,iBAAkB;QACrCe,WAAW,EAAEC,MAAM,CAACC,IAAI,CAACpB,OAAO,CAAC,CAACqB,MAAM,IAAI;MAAE,CAC/C,CAAC;IAEN;EACF,CAAC;AAAA,EAAC","ignoreList":[]}
|
package/lib/mask.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
require("core-js/modules/es.array.filter.js");
|
|
5
|
-
require("core-js/modules/es.object.define-properties.js");
|
|
6
|
-
require("core-js/modules/es.object.define-property.js");
|
|
7
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
8
|
-
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
9
|
-
require("core-js/modules/es.object.keys.js");
|
|
10
|
-
require("core-js/modules/es.reflect.construct.js");
|
|
11
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
12
4
|
Object.defineProperty(exports, "__esModule", {
|
|
13
5
|
value: true
|
|
@@ -20,17 +12,9 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
20
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
22
14
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
23
|
-
require("core-js/modules/es.array.concat.js");
|
|
24
|
-
require("core-js/modules/es.array.find.js");
|
|
25
|
-
require("core-js/modules/es.array.for-each.js");
|
|
26
|
-
require("core-js/modules/es.array.includes.js");
|
|
27
|
-
require("core-js/modules/es.array.reduce.js");
|
|
28
|
-
require("core-js/modules/es.object.to-string.js");
|
|
29
|
-
require("core-js/modules/es.string.trim.js");
|
|
30
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
31
15
|
var _react = _interopRequireDefault(require("react"));
|
|
32
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
|
-
var
|
|
17
|
+
var _lodashEs = require("lodash-es");
|
|
34
18
|
var _styles = require("@mui/material/styles");
|
|
35
19
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
36
20
|
var _serialization = require("./serialization");
|
|
@@ -41,8 +25,8 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
41
25
|
var Paragraph = (0, _styles.styled)('div')(function (_ref) {
|
|
42
26
|
var theme = _ref.theme;
|
|
43
27
|
return {
|
|
44
|
-
paddingTop: theme.spacing(
|
|
45
|
-
paddingBottom: theme.spacing(
|
|
28
|
+
paddingTop: theme.spacing(0.5),
|
|
29
|
+
paddingBottom: theme.spacing(0.5)
|
|
46
30
|
};
|
|
47
31
|
});
|
|
48
32
|
var Spacer = (0, _styles.styled)('span')(function () {
|
|
@@ -63,7 +47,7 @@ var addText = function addText(parentNode, text) {
|
|
|
63
47
|
};
|
|
64
48
|
var getMark = function getMark(n) {
|
|
65
49
|
var mark = n.leaves.find(function (leave) {
|
|
66
|
-
return (0,
|
|
50
|
+
return (0, _lodashEs.get)(leave, 'marks', []).length;
|
|
67
51
|
});
|
|
68
52
|
if (mark) {
|
|
69
53
|
return mark.marks[0];
|
|
@@ -209,4 +193,4 @@ var Mask = exports["default"] = /*#__PURE__*/function (_React$Component) {
|
|
|
209
193
|
current: _propTypes["default"].instanceOf(Element)
|
|
210
194
|
})])
|
|
211
195
|
});
|
|
212
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZ2V0IiwiX3N0eWxlcyIsIl9tYXRoUmVuZGVyaW5nIiwiX3NlcmlhbGl6YXRpb24iLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsIlBhcmFncmFwaCIsInN0eWxlZCIsIl9yZWYiLCJ0aGVtZSIsInBhZGRpbmdUb3AiLCJzcGFjaW5nIiwicGFkZGluZ0JvdHRvbSIsIlNwYWNlciIsImRpc3BsYXkiLCJ3aWR0aCIsInJlc3RyaWN0V2hpdGVzcGFjZVR5cGVzIiwiYWRkVGV4dCIsInBhcmVudE5vZGUiLCJ0ZXh0IiwiaXNXaGl0ZXNwYWNlIiwidHJpbSIsInBhcmVudFR5cGUiLCJ0eXBlIiwiaW5jbHVkZXMiLCJ1bmRlZmluZWQiLCJnZXRNYXJrIiwibiIsIm1hcmsiLCJsZWF2ZXMiLCJmaW5kIiwibGVhdmUiLCJnZXQiLCJtYXJrcyIsInJlbmRlckNoaWxkcmVuIiwiZXhwb3J0cyIsImxheW91dCIsInZhbHVlIiwib25DaGFuZ2UiLCJyb290UmVuZGVyQ2hpbGRyZW4iLCJlbGVtZW50VHlwZSIsImNoaWxkcmVuIiwibm9kZXMiLCJpbmRleCIsImtleSIsImNvbmNhdCIsImlzTWF0aCIsImNyZWF0ZUVsZW1lbnQiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImlubmVySFRNTCIsImMiLCJvYmplY3QiLCJjb250ZW50IiwicmVkdWNlIiwiYWNjIiwibCIsImV4dHJhVGV4dCIsIm1hcmtLZXkiLCJNQVJLX1RBR1MiLCJUYWciLCJzdWJOb2RlcyIsIl9UYWciLCJfZXh0ZW5kczIiLCJkYXRhIiwiYXR0cmlidXRlcyIsIk1hc2tDb250YWluZXIiLCJib3JkZXJDb2xsYXBzZSIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJNYXNrIiwiX1JlYWN0JENvbXBvbmVudCIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiaWQiLCJpbnRlcm5hbENvbnRhaW5lclJlZiIsIlJlYWN0IiwiY3JlYXRlUmVmIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJjb21wb25lbnREaWRNb3VudCIsImNvbnRhaW5lclJlZiIsImN1cnJlbnQiLCJyZW5kZXJNYXRoIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMiLCJoYW5kbGVDaGFuZ2UiLCJyZWYiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJmdW5jIiwic3RyaW5nIiwib25lT2ZUeXBlIiwic2hhcGUiLCJpbnN0YW5jZU9mIiwiRWxlbWVudCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXNrLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IHsgTUFSS19UQUdTIH0gZnJvbSAnLi9zZXJpYWxpemF0aW9uJztcblxuY29uc3QgUGFyYWdyYXBoID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBwYWRkaW5nVG9wOiB0aGVtZS5zcGFjaW5nKDIpLFxuICBwYWRkaW5nQm90dG9tOiB0aGVtZS5zcGFjaW5nKDIpLFxufSkpO1xuXG5jb25zdCBTcGFjZXIgPSBzdHlsZWQoJ3NwYW4nKSgoKSA9PiAoe1xuICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgd2lkdGg6ICcuNzVlbScsXG59KSk7XG5cbmNvbnN0IHJlc3RyaWN0V2hpdGVzcGFjZVR5cGVzID0gWyd0Ym9keScsICd0ciddO1xuXG5jb25zdCBhZGRUZXh0ID0gKHBhcmVudE5vZGUsIHRleHQpID0+IHtcbiAgY29uc3QgaXNXaGl0ZXNwYWNlID0gdGV4dC50cmltKCkgPT09ICcnO1xuICBjb25zdCBwYXJlbnRUeXBlID0gcGFyZW50Tm9kZSAmJiBwYXJlbnROb2RlLnR5cGU7XG5cbiAgaWYgKGlzV2hpdGVzcGFjZSAmJiByZXN0cmljdFdoaXRlc3BhY2VUeXBlcy5pbmNsdWRlcyhwYXJlbnRUeXBlKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cbn07XG5cbmNvbnN0IGdldE1hcmsgPSAobikgPT4ge1xuICBjb25zdCBtYXJrID0gbi5sZWF2ZXMuZmluZCgobGVhdmUpID0+IGdldChsZWF2ZSwgJ21hcmtzJywgW10pLmxlbmd0aCk7XG5cbiAgaWYgKG1hcmspIHtcbiAgICByZXR1cm4gbWFyay5tYXJrc1swXTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbmRlckNoaWxkcmVuID0gKGxheW91dCwgdmFsdWUsIG9uQ2hhbmdlLCByb290UmVuZGVyQ2hpbGRyZW4sIHBhcmVudE5vZGUsIGVsZW1lbnRUeXBlKSA9PiB7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGNoaWxkcmVuID0gW107XG5cbiAgKGxheW91dC5ub2RlcyB8fCBbXSkuZm9yRWFjaCgobiwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBrZXkgPSBuLnR5cGUgPyBgJHtuLnR5cGV9LSR7aW5kZXh9YCA6IGAke2luZGV4fWA7XG5cbiAgICBpZiAobi5pc01hdGgpIHtcbiAgICAgIGNoaWxkcmVuLnB1c2goXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgIF9faHRtbDogYDxtYXRoIGRpc3BsYXlzdHlsZT1cInRydWVcIj4ke24ubm9kZXNbMF0uaW5uZXJIVE1MfTwvbWF0aD5gLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICB9XG5cbiAgICBpZiAocm9vdFJlbmRlckNoaWxkcmVuKSB7XG4gICAgICBjb25zdCBjID0gcm9vdFJlbmRlckNoaWxkcmVuKG4sIHZhbHVlLCBvbkNoYW5nZSk7XG4gICAgICBpZiAoYykge1xuICAgICAgICBjaGlsZHJlbi5wdXNoKGMpO1xuICAgICAgICBpZiAocGFyZW50Tm9kZT8udHlwZSAhPT0gJ3RkJyAmJiBlbGVtZW50VHlwZSA9PT0gJ2RyYWctaW4tdGhlLWJsYW5rJykge1xuICAgICAgICAgIGNoaWxkcmVuLnB1c2goPFNwYWNlciBrZXk9e2BzcGFjZXItJHtpbmRleH1gfSAvPik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuLm9iamVjdCA9PT0gJ3RleHQnKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gbi5sZWF2ZXMucmVkdWNlKChhY2MsIGwpID0+IHtcbiAgICAgICAgY29uc3QgdCA9IGwudGV4dDtcbiAgICAgICAgY29uc3QgZXh0cmFUZXh0ID0gYWRkVGV4dChwYXJlbnROb2RlLCB0KTtcbiAgICAgICAgcmV0dXJuIGV4dHJhVGV4dCA/IGFjYyArIGV4dHJhVGV4dCA6IGFjYztcbiAgICAgIH0sICcnKTtcbiAgICAgIGNvbnN0IG1hcmsgPSBnZXRNYXJrKG4pO1xuXG4gICAgICBpZiAobWFyaykge1xuICAgICAgICBsZXQgbWFya0tleTtcblxuICAgICAgICBmb3IgKG1hcmtLZXkgaW4gTUFSS19UQUdTKSB7XG4gICAgICAgICAgaWYgKE1BUktfVEFHU1ttYXJrS2V5XSA9PT0gbWFyay50eXBlKSB7XG4gICAgICAgICAgICBjb25zdCBUYWcgPSBtYXJrS2V5O1xuXG4gICAgICAgICAgICBjaGlsZHJlbi5wdXNoKDxUYWcga2V5PXtrZXl9Pntjb250ZW50fTwvVGFnPik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY29udGVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNoaWxkcmVuLnB1c2goY29udGVudCk7XG4gICAgICAgIGlmIChwYXJlbnROb2RlPy50eXBlICE9PSAndGQnICYmIGVsZW1lbnRUeXBlID09PSAnZHJhZy1pbi10aGUtYmxhbmsnKSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaCg8U3BhY2VyIGtleT17YHNwYWNlci0ke2luZGV4fWB9IC8+KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdWJOb2RlcyA9IHJlbmRlckNoaWxkcmVuKG4sIHZhbHVlLCBvbkNoYW5nZSwgcm9vdFJlbmRlckNoaWxkcmVuLCBuLCBlbGVtZW50VHlwZSk7XG4gICAgICBpZiAobi50eXBlID09PSAncCcgfHwgbi50eXBlID09PSAncGFyYWdyYXBoJykge1xuICAgICAgICBjaGlsZHJlbi5wdXNoKDxQYXJhZ3JhcGgga2V5PXtrZXl9PntzdWJOb2Rlc308L1BhcmFncmFwaD4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgVGFnID0gbi50eXBlO1xuICAgICAgICBpZiAobi5ub2RlcyAmJiBuLm5vZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKFxuICAgICAgICAgICAgPFRhZyBrZXk9e2tleX0gey4uLm4uZGF0YS5hdHRyaWJ1dGVzfT5cbiAgICAgICAgICAgICAge3N1Yk5vZGVzfVxuICAgICAgICAgICAgPC9UYWc+LFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaCg8VGFnIGtleT17a2V5fSB7Li4ubi5kYXRhLmF0dHJpYnV0ZXN9IC8+KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBjaGlsZHJlbjtcbn07XG5cbmNvbnN0IE1hc2tDb250YWluZXIgPSBzdHlsZWQoJ2RpdicpKCgpID0+ICh7XG4gIGRpc3BsYXk6ICdpbml0aWFsJyxcbiAgJyY6bm90KC5NYXRoSmF4KSB0YWJsZSc6IHtcbiAgICBib3JkZXJDb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgfSxcbiAgLy8gYWxpZ24gdGFibGUgY29udGVudCB0byBsZWZ0IGFzIHBlciBTVEFSIHJlcXVpcmVtZW50IFBELTM2ODdcbiAgJyY6bm90KC5NYXRoSmF4KSB0YWJsZSB0ZCwgJjpub3QoLk1hdGhKYXgpIHRhYmxlIHRoJzoge1xuICAgIHBhZGRpbmc6ICc4cHggMTJweCcsXG4gICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gIH0sXG59KSk7XG5cbi8qKlxuICogUmVuZGVycyBhIGxheW91dCB0aGF0IHVzZXMgdGhlIHNsYXRlLmpzIFZhbHVlIG1vZGVsIHN0cnVjdHVyZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWFzayBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgICAgIHRoaXMuaW50ZXJuYWxDb250YWluZXJSZWYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgcmVuZGVyQ2hpbGRyZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxheW91dDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZWxlbWVudFR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY29udGFpbmVyUmVmOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5mdW5jLFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHsgY3VycmVudDogUHJvcFR5cGVzLmluc3RhbmNlT2YoRWxlbWVudCkgfSksXG4gICAgXSksXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdGhpcy5wcm9wcy5jb250YWluZXJSZWYgfHwgdGhpcy5pbnRlcm5hbENvbnRhaW5lclJlZjtcbiAgICBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQgJiYgdHlwZW9mIHJlbmRlck1hdGggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJlbmRlck1hdGgoY29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNoYW5nZSA9IChpZCwgdmFsdWUpID0+IHtcbiAgICBjb25zdCBkYXRhID0geyAuLi50aGlzLnByb3BzLnZhbHVlLCBbaWRdOiB2YWx1ZSB9O1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UoZGF0YSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUsIGxheW91dCwgZWxlbWVudFR5cGUsIGNvbnRhaW5lclJlZiB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjaGlsZHJlbiA9IHJlbmRlckNoaWxkcmVuKGxheW91dCwgdmFsdWUsIHRoaXMuaGFuZGxlQ2hhbmdlLCB0aGlzLnByb3BzLnJlbmRlckNoaWxkcmVuLCBudWxsLCBlbGVtZW50VHlwZSk7XG4gICAgY29uc3QgcmVmID0gY29udGFpbmVyUmVmIHx8IHRoaXMuaW50ZXJuYWxDb250YWluZXJSZWY7XG5cbiAgICByZXR1cm4gPE1hc2tDb250YWluZXIgcmVmPXtyZWZ9PntjaGlsZHJlbn08L01hc2tDb250YWluZXI+O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLElBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQUE0QyxTQUFBTSxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsT0FBQWEsT0FBQSxXQUFBZCxDQUFBLFFBQUFlLGdCQUFBLGFBQUFoQixDQUFBLEVBQUFDLENB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
|
|
196
|
+
//# sourceMappingURL=mask.js.map
|
package/lib/mask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask.js","names":["_react","_interopRequireDefault","require","_propTypes","_get","_styles","_mathRendering","_serialization","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","Paragraph","styled","_ref","theme","paddingTop","spacing","paddingBottom","Spacer","display","width","restrictWhitespaceTypes","addText","parentNode","text","isWhitespace","trim","parentType","type","includes","undefined","getMark","n","mark","leaves","find","leave","get","marks","renderChildren","exports","layout","value","onChange","rootRenderChildren","elementType","children","nodes","index","key","concat","isMath","createElement","dangerouslySetInnerHTML","__html","innerHTML","c","object","content","reduce","acc","l","extraText","markKey","MARK_TAGS","Tag","subNodes","_Tag","_extends2","data","attributes","MaskContainer","borderCollapse","padding","textAlign","Mask","_React$Component","props","_this","_classCallCheck2","id","internalContainerRef","React","createRef","_inherits2","_createClass2","componentDidMount","containerRef","current","renderMath","render","_this$props","handleChange","ref","Component","PropTypes","func","string","oneOfType","shape","instanceOf","Element"],"sources":["../src/mask.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport { styled } from '@mui/material/styles';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { MARK_TAGS } from './serialization';\n\nconst Paragraph = styled('div')(({ theme }) => ({\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n}));\n\nconst Spacer = styled('span')(() => ({\n display: 'inline-block',\n width: '.75em',\n}));\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, elementType) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = n.type ? `${n.type}-${index}` : `${index}`;\n\n if (n.isMath) {\n children.push(\n <span\n dangerouslySetInnerHTML={{\n __html: `<math displaystyle=\"true\">${n.nodes[0].innerHTML}</math>`,\n }}\n />,\n );\n return children;\n }\n\n if (rootRenderChildren) {\n const c = rootRenderChildren(n, value, onChange);\n if (c) {\n children.push(c);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\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 key={key}>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n, elementType);\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 = styled('div')(() => ({\n display: 'initial',\n '&:not(.MathJax) table': {\n borderCollapse: 'collapse',\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '8px 12px',\n textAlign: 'left',\n },\n}));\n\n/**\n * Renders a layout that uses the slate.js Value model structure.\n */\nexport default class Mask extends React.Component {\n constructor(props) {\n super(props);\n this.internalContainerRef = React.createRef();\n }\n\n static propTypes = {\n renderChildren: PropTypes.func,\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n elementType: PropTypes.string,\n containerRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]),\n };\n\n componentDidMount() {\n const containerRef = this.props.containerRef || this.internalContainerRef;\n if (containerRef.current && typeof renderMath === 'function') {\n renderMath(containerRef.current);\n }\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, elementType, containerRef } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren, null, elementType);\n const ref = containerRef || this.internalContainerRef;\n\n return <MaskContainer ref={ref}>{children}</MaskContainer>;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAA4C,SAAAM,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAoB,WAAAlB,CAAA,EAAAI,CAAA,EAAAN,CAAA,WAAAM,CAAA,OAAAe,gBAAA,aAAAf,CAAA,OAAAgB,2BAAA,aAAApB,CAAA,EAAAqB,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAnB,CAAA,EAAAN,CAAA,YAAAqB,gBAAA,aAAAnB,CAAA,EAAAwB,WAAA,IAAApB,CAAA,CAAAK,KAAA,CAAAT,CAAA,EAAAF,CAAA;AAAA,SAAAuB,0BAAA,cAAArB,CAAA,IAAAyB,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,OAAA,CAAAC,SAAA,CAAAE,OAAA,iCAAAzB,CAAA,aAAAqB,yBAAA,YAAAA,0BAAA,aAAArB,CAAA;AAE5C,IAAM6B,SAAS,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IAC9CC,UAAU,EAAED,KAAK,CAACE,OAAO,CAAC,CAAC,CAAC;IAC5BC,aAAa,EAAEH,KAAK,CAACE,OAAO,CAAC,CAAC;EAChC,CAAC;AAAA,CAAC,CAAC;AAEH,IAAME,MAAM,GAAG,IAAAN,cAAM,EAAC,MAAM,CAAC,CAAC;EAAA,OAAO;IACnCO,OAAO,EAAE,cAAc;IACvBC,KAAK,EAAE;EACT,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,uBAAuB,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAE/C,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,UAAU,EAAEC,IAAI,EAAK;EACpC,IAAMC,YAAY,GAAGD,IAAI,CAACE,IAAI,CAAC,CAAC,KAAK,EAAE;EACvC,IAAMC,UAAU,GAAGJ,UAAU,IAAIA,UAAU,CAACK,IAAI;EAEhD,IAAIH,YAAY,IAAIJ,uBAAuB,CAACQ,QAAQ,CAACF,UAAU,CAAC,EAAE;IAChE,OAAOG,SAAS;EAClB,CAAC,MAAM;IACL,OAAON,IAAI;EACb;AACF,CAAC;AAED,IAAMO,OAAO,GAAG,SAAVA,OAAOA,CAAIC,CAAC,EAAK;EACrB,IAAMC,IAAI,GAAGD,CAAC,CAACE,MAAM,CAACC,IAAI,CAAC,UAACC,KAAK;IAAA,OAAK,IAAAC,eAAG,EAACD,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC1C,MAAM;EAAA,EAAC;EAErE,IAAIuC,IAAI,EAAE;IACR,OAAOA,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC;EACtB;EAEA,OAAO,IAAI;AACb,CAAC;AAEM,IAAMC,eAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CAAIE,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,kBAAkB,EAAErB,UAAU,EAAEsB,WAAW,EAAK;EACtG,IAAI,CAACH,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,IAAMI,QAAQ,GAAG,EAAE;EAEnB,CAACL,MAAM,CAACM,KAAK,IAAI,EAAE,EAAEpD,OAAO,CAAC,UAACqC,CAAC,EAAEgB,KAAK,EAAK;IACzC,IAAMC,GAAG,GAAGjB,CAAC,CAACJ,IAAI,MAAAsB,MAAA,CAAMlB,CAAC,CAACJ,IAAI,OAAAsB,MAAA,CAAIF,KAAK,OAAAE,MAAA,CAAQF,KAAK,CAAE;IAEtD,IAAIhB,CAAC,CAACmB,MAAM,EAAE;MACZL,QAAQ,CAACxD,IAAI,cACXnB,MAAA,YAAAiF,aAAA;QACEC,uBAAuB,EAAE;UACvBC,MAAM,iCAAAJ,MAAA,CAA+BlB,CAAC,CAACe,KAAK,CAAC,CAAC,CAAC,CAACQ,SAAS;QAC3D;MAAE,CACH,CACH,CAAC;MACD,OAAOT,QAAQ;IACjB;IAEA,IAAIF,kBAAkB,EAAE;MACtB,IAAMY,CAAC,GAAGZ,kBAAkB,CAACZ,CAAC,EAAEU,KAAK,EAAEC,QAAQ,CAAC;MAChD,IAAIa,CAAC,EAAE;QACLV,QAAQ,CAACxD,IAAI,CAACkE,CAAC,CAAC;QAChB,IAAI,CAAAjC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,IAAI,MAAK,IAAI,IAAIiB,WAAW,KAAK,mBAAmB,EAAE;UACpEC,QAAQ,CAACxD,IAAI,cAACnB,MAAA,YAAAiF,aAAA,CAAClC,MAAM;YAAC+B,GAAG,YAAAC,MAAA,CAAYF,KAAK;UAAG,CAAE,CAAC,CAAC;QACnD;QACA;MACF;IACF;IAEA,IAAIhB,CAAC,CAACyB,MAAM,KAAK,MAAM,EAAE;MACvB,IAAMC,OAAO,GAAG1B,CAAC,CAACE,MAAM,CAACyB,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC,EAAK;QAC1C,IAAM/E,CAAC,GAAG+E,CAAC,CAACrC,IAAI;QAChB,IAAMsC,SAAS,GAAGxC,OAAO,CAACC,UAAU,EAAEzC,CAAC,CAAC;QACxC,OAAOgF,SAAS,GAAGF,GAAG,GAAGE,SAAS,GAAGF,GAAG;MAC1C,CAAC,EAAE,EAAE,CAAC;MACN,IAAM3B,IAAI,GAAGF,OAAO,CAACC,CAAC,CAAC;MAEvB,IAAIC,IAAI,EAAE;QACR,IAAI8B,OAAO;QAEX,KAAKA,OAAO,IAAIC,wBAAS,EAAE;UACzB,IAAIA,wBAAS,CAACD,OAAO,CAAC,KAAK9B,IAAI,CAACL,IAAI,EAAE;YACpC,IAAMqC,GAAG,GAAGF,OAAO;YAEnBjB,QAAQ,CAACxD,IAAI,cAACnB,MAAA,YAAAiF,aAAA,CAACa,GAAG;cAAChB,GAAG,EAAEA;YAAI,GAAES,OAAa,CAAC,CAAC;YAC7C;UACF;QACF;MACF,CAAC,MAAM,IAAIA,OAAO,CAAChE,MAAM,GAAG,CAAC,EAAE;QAC7BoD,QAAQ,CAACxD,IAAI,CAACoE,OAAO,CAAC;QACtB,IAAI,CAAAnC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,IAAI,MAAK,IAAI,IAAIiB,WAAW,KAAK,mBAAmB,EAAE;UACpEC,QAAQ,CAACxD,IAAI,cAACnB,MAAA,YAAAiF,aAAA,CAAClC,MAAM;YAAC+B,GAAG,YAAAC,MAAA,CAAYF,KAAK;UAAG,CAAE,CAAC,CAAC;QACnD;MACF;IACF,CAAC,MAAM;MACL,IAAMkB,QAAQ,GAAG3B,eAAc,CAACP,CAAC,EAAEU,KAAK,EAAEC,QAAQ,EAAEC,kBAAkB,EAAEZ,CAAC,EAAEa,WAAW,CAAC;MACvF,IAAIb,CAAC,CAACJ,IAAI,KAAK,GAAG,IAAII,CAAC,CAACJ,IAAI,KAAK,WAAW,EAAE;QAC5CkB,QAAQ,CAACxD,IAAI,cAACnB,MAAA,YAAAiF,aAAA,CAACzC,SAAS;UAACsC,GAAG,EAAEA;QAAI,GAAEiB,QAAoB,CAAC,CAAC;MAC5D,CAAC,MAAM;QACL,IAAMD,IAAG,GAAGjC,CAAC,CAACJ,IAAI;QAClB,IAAII,CAAC,CAACe,KAAK,IAAIf,CAAC,CAACe,KAAK,CAACrD,MAAM,GAAG,CAAC,EAAE;UACjCoD,QAAQ,CAACxD,IAAI,cACXnB,MAAA,YAAAiF,aAAA,CAACe,IAAG,MAAAC,SAAA;YAACnB,GAAG,EAAEA;UAAI,GAAKjB,CAAC,CAACqC,IAAI,CAACC,UAAU,GACjCJ,QACE,CACP,CAAC;QACH,CAAC,MAAM;UACLpB,QAAQ,CAACxD,IAAI,cAACnB,MAAA,YAAAiF,aAAA,CAACe,IAAG,MAAAC,SAAA;YAACnB,GAAG,EAAEA;UAAI,GAAKjB,CAAC,CAACqC,IAAI,CAACC,UAAU,CAAG,CAAC,CAAC;QACzD;MACF;IACF;EACF,CAAC,CAAC;EACF,OAAOxB,QAAQ;AACjB,CAAC;AAED,IAAMyB,aAAa,GAAG,IAAA3D,cAAM,EAAC,KAAK,CAAC,CAAC;EAAA,OAAO;IACzCO,OAAO,EAAE,SAAS;IAClB,uBAAuB,EAAE;MACvBqD,cAAc,EAAE;IAClB,CAAC;IACD;IACA,oDAAoD,EAAE;MACpDC,OAAO,EAAE,UAAU;MACnBC,SAAS,EAAE;IACb;EACF,CAAC;AAAA,CAAC,CAAC;;AAEH;AACA;AACA;AAFA,IAGqBC,IAAI,GAAAnC,OAAA,qCAAAoC,gBAAA;EACvB,SAAAD,KAAYE,KAAK,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,IAAA;IACjBG,KAAA,GAAA9E,UAAA,OAAA2E,IAAA,GAAME,KAAK;IAAE,IAAAjF,gBAAA,aAAAkF,KAAA,kBAuBA,UAACE,EAAE,EAAEtC,KAAK,EAAK;MAC5B,IAAM2B,IAAI,GAAA7E,aAAA,CAAAA,aAAA,KAAQsF,KAAA,CAAKD,KAAK,CAACnC,KAAK,WAAA9C,gBAAA,iBAAGoF,EAAE,EAAGtC,KAAK,EAAE;MACjDoC,KAAA,CAAKD,KAAK,CAAClC,QAAQ,CAAC0B,IAAI,CAAC;IAC3B,CAAC;IAzBIS,KAAA,CAAKG,oBAAoB,gBAAGC,iBAAK,CAACC,SAAS,CAAC,CAAC;IAAC,OAAAL,KAAA;EACnD;EAAC,IAAAM,UAAA,aAAAT,IAAA,EAAAC,gBAAA;EAAA,WAAAS,aAAA,aAAAV,IAAA;IAAA1B,GAAA;IAAAP,KAAA,EAcD,SAAA4C,iBAAiBA,CAAA,EAAG;MAClB,IAAMC,YAAY,GAAG,IAAI,CAACV,KAAK,CAACU,YAAY,IAAI,IAAI,CAACN,oBAAoB;MACzE,IAAIM,YAAY,CAACC,OAAO,IAAI,OAAOC,yBAAU,KAAK,UAAU,EAAE;QAC5D,IAAAA,yBAAU,EAACF,YAAY,CAACC,OAAO,CAAC;MAClC;IACF;EAAC;IAAAvC,GAAA;IAAAP,KAAA,EAOD,SAAAgD,MAAMA,CAAA,EAAG;MACP,IAAAC,WAAA,GAAqD,IAAI,CAACd,KAAK;QAAvDnC,KAAK,GAAAiD,WAAA,CAALjD,KAAK;QAAED,MAAM,GAAAkD,WAAA,CAANlD,MAAM;QAAEI,WAAW,GAAA8C,WAAA,CAAX9C,WAAW;QAAE0C,YAAY,GAAAI,WAAA,CAAZJ,YAAY;MAChD,IAAMzC,QAAQ,GAAGP,eAAc,CAACE,MAAM,EAAEC,KAAK,EAAE,IAAI,CAACkD,YAAY,EAAE,IAAI,CAACf,KAAK,CAACtC,cAAc,EAAE,IAAI,EAAEM,WAAW,CAAC;MAC/G,IAAMgD,GAAG,GAAGN,YAAY,IAAI,IAAI,CAACN,oBAAoB;MAErD,oBAAO9G,MAAA,YAAAiF,aAAA,CAACmB,aAAa;QAACsB,GAAG,EAAEA;MAAI,GAAE/C,QAAwB,CAAC;IAC5D;EAAC;AAAA,EApC+BoC,iBAAK,CAACY,SAAS;AAAA,IAAAlG,gBAAA,aAA5B+E,IAAI,eAMJ;EACjBpC,cAAc,EAAEwD,qBAAS,CAACC,IAAI;EAC9BvD,MAAM,EAAEsD,qBAAS,CAACtC,MAAM;EACxBf,KAAK,EAAEqD,qBAAS,CAACtC,MAAM;EACvBd,QAAQ,EAAEoD,qBAAS,CAACC,IAAI;EACxBnD,WAAW,EAAEkD,qBAAS,CAACE,MAAM;EAC7BV,YAAY,EAAEQ,qBAAS,CAACG,SAAS,CAAC,CAChCH,qBAAS,CAACC,IAAI,EACdD,qBAAS,CAACI,KAAK,CAAC;IAAEX,OAAO,EAAEO,qBAAS,CAACK,UAAU,CAACC,OAAO;EAAE,CAAC,CAAC,CAC5D;AACH,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"mask.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodashEs","_styles","_mathRendering","_serialization","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","Paragraph","styled","_ref","theme","paddingTop","spacing","paddingBottom","Spacer","display","width","restrictWhitespaceTypes","addText","parentNode","text","isWhitespace","trim","parentType","type","includes","undefined","getMark","n","mark","leaves","find","leave","get","marks","renderChildren","exports","layout","value","onChange","rootRenderChildren","elementType","children","nodes","index","key","concat","isMath","createElement","dangerouslySetInnerHTML","__html","innerHTML","c","object","content","reduce","acc","l","extraText","markKey","MARK_TAGS","Tag","subNodes","_Tag","_extends2","data","attributes","MaskContainer","borderCollapse","padding","textAlign","Mask","_React$Component","props","_this","_classCallCheck2","id","internalContainerRef","React","createRef","_inherits2","_createClass2","componentDidMount","containerRef","current","renderMath","render","_this$props","handleChange","ref","Component","PropTypes","func","string","oneOfType","shape","instanceOf","Element"],"sources":["../src/mask.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { get } from 'lodash-es';\nimport { styled } from '@mui/material/styles';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { MARK_TAGS } from './serialization';\n\nconst Paragraph = styled('div')(({ theme }) => ({\n paddingTop: theme.spacing(0.5),\n paddingBottom: theme.spacing(0.5),\n}));\n\nconst Spacer = styled('span')(() => ({\n display: 'inline-block',\n width: '.75em',\n}));\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, elementType) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = n.type ? `${n.type}-${index}` : `${index}`;\n\n if (n.isMath) {\n children.push(\n <span\n dangerouslySetInnerHTML={{\n __html: `<math displaystyle=\"true\">${n.nodes[0].innerHTML}</math>`,\n }}\n />,\n );\n return children;\n }\n\n if (rootRenderChildren) {\n const c = rootRenderChildren(n, value, onChange);\n if (c) {\n children.push(c);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\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 key={key}>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n, elementType);\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 = styled('div')(() => ({\n display: 'initial',\n '&:not(.MathJax) table': {\n borderCollapse: 'collapse',\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '8px 12px',\n textAlign: 'left',\n },\n}));\n\n/**\n * Renders a layout that uses the slate.js Value model structure.\n */\nexport default class Mask extends React.Component {\n constructor(props) {\n super(props);\n this.internalContainerRef = React.createRef();\n }\n\n static propTypes = {\n renderChildren: PropTypes.func,\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n elementType: PropTypes.string,\n containerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.instanceOf(Element) })]),\n };\n\n componentDidMount() {\n const containerRef = this.props.containerRef || this.internalContainerRef;\n if (containerRef.current && typeof renderMath === 'function') {\n renderMath(containerRef.current);\n }\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, elementType, containerRef } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren, null, elementType);\n const ref = containerRef || this.internalContainerRef;\n\n return <MaskContainer ref={ref}>{children}</MaskContainer>;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/serialization.js
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
require("core-js/modules/es.array.filter.js");
|
|
5
|
-
require("core-js/modules/es.array.for-each.js");
|
|
6
|
-
require("core-js/modules/es.object.define-properties.js");
|
|
7
|
-
require("core-js/modules/es.object.define-property.js");
|
|
8
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
9
|
-
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
10
|
-
require("core-js/modules/es.object.keys.js");
|
|
11
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
12
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
13
4
|
Object.defineProperty(exports, "__esModule", {
|
|
14
5
|
value: true
|
|
@@ -16,15 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
16
7
|
exports.reactAttributes = exports.parseStyleString = exports.deserialize = exports.MARK_TAGS = void 0;
|
|
17
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
|
-
require("core-js/modules/es.array.concat.js");
|
|
20
|
-
require("core-js/modules/es.array.includes.js");
|
|
21
|
-
require("core-js/modules/es.array.map.js");
|
|
22
|
-
require("core-js/modules/es.array.reduce.js");
|
|
23
|
-
require("core-js/modules/es.array.some.js");
|
|
24
|
-
require("core-js/modules/es.function.name.js");
|
|
25
|
-
require("core-js/modules/es.object.to-string.js");
|
|
26
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
27
|
-
require("core-js/modules/es.string.trim.js");
|
|
28
10
|
var _toStyle = require("to-style");
|
|
29
11
|
var _debug = _interopRequireDefault(require("debug"));
|
|
30
12
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -276,4 +258,4 @@ var deserialize = exports.deserialize = function deserialize(htmlString) {
|
|
|
276
258
|
}
|
|
277
259
|
};
|
|
278
260
|
};
|
|
279
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9TdHlsZSIsInJlcXVpcmUiLCJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJsb2ciLCJkZWJ1ZyIsIklOTElORSIsIk1BUksiLCJURVhUX05PREUiLCJDT01NRU5UX05PREUiLCJFTEVNRU5UX05PREUiLCJhdHRyIiwiZWwiLCJhdHRyaWJ1dGVzIiwidW5kZWZpbmVkIiwib3V0IiwiaSIsImEiLCJuYW1lIiwidmFsdWUiLCJnZXRPYmplY3QiLCJ0eXBlIiwiaW5jbHVkZXMiLCJwYXJzZVN0eWxlU3RyaW5nIiwiZXhwb3J0cyIsInMiLCJyZWdleCIsIm1hdGNoIiwicmVzdWx0IiwiZXhlYyIsInRyaW0iLCJyZWFjdEF0dHJpYnV0ZXMiLCJ0b1N0eWxlT2JqZWN0IiwiY2FtZWxpemUiLCJhZGRVbml0cyIsImhhbmRsZVN0eWxlcyIsImF0dHJpYnV0ZSIsInN0eWxlU3RyaW5nIiwiZ2V0QXR0cmlidXRlIiwiaGFuZGxlQ2xhc3MiLCJhY2MiLCJjbGFzc05hbWVzIiwiYXR0cmlidXRlc1RvTWFwIiwic3R5bGUiLCJjbGFzc05hbWUiLCJNQVJLX1RBR1MiLCJiIiwiZW0iLCJ1IiwiY29kZSIsInN0cm9uZyIsInByb2Nlc3NOb2RlIiwibm9kZSIsIm1hcmtzIiwibm9kZVR5cGUiLCJ0ZXh0IiwidGV4dENvbnRlbnQiLCJsZWFmIiwibWFwIiwibSIsImRhdGEiLCJvYmplY3QiLCJsZWF2ZXMiLCJ0YWdOYW1lIiwidG9Mb3dlckNhc2UiLCJtYXJrVHlwZSIsImNoaWxkTm9kZXMiLCJwcm9jZXNzTm9kZXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiX2ZsYXR0ZW4iLCJub2RlcyIsImlzTWF0aCIsIm5vcm1hbEF0dHJzIiwiY29udHJvbHMiLCJhbGxBdHRycyIsInJlZHVjZSIsImRhdGFzZXQiLCJub2RlTGlzdCIsImRlc2VyaWFsaXplIiwiaHRtbFN0cmluZyIsImRvY3VtZW50IiwiaXNWb2lkIiwicGFyc2VyIiwiRE9NUGFyc2VyIiwiZG9jIiwicGFyc2VGcm9tU3RyaW5nIiwiYm9keSIsImhhc0Jsb2NrRWxlbWVudHMiLCJzb21lIl0sInNvdXJjZXMiOlsiLi4vc3JjL3NlcmlhbGl6YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb2JqZWN0IGFzIHRvU3R5bGVPYmplY3QgfSBmcm9tICd0by1zdHlsZSc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6bWFzay1tYXJrdXA6c2VyaWFsaXphdGlvbicpO1xuXG5jb25zdCBJTkxJTkUgPSBbJ3NwYW4nXTtcbmNvbnN0IE1BUksgPSBbJ2VtJywgJ3N0cm9uZycsICd1J107XG5jb25zdCBURVhUX05PREUgPSAzO1xuY29uc3QgQ09NTUVOVF9OT0RFID0gODtcbmNvbnN0IEVMRU1FTlRfTk9ERSA9IDE7XG5cbmNvbnN0IGF0dHIgPSAoZWwpID0+IHtcbiAgaWYgKCFlbC5hdHRyaWJ1dGVzIHx8IGVsLmF0dHJpYnV0ZXMubGVuZ3RoIDw9IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3Qgb3V0ID0ge307XG4gIGxldCBpO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBlbC5hdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgYSA9IGVsLmF0dHJpYnV0ZXNbaV07XG5cbiAgICBvdXRbYS5uYW1lXSA9IGEudmFsdWU7XG4gIH1cblxuICByZXR1cm4gb3V0O1xufTtcblxuY29uc3QgZ2V0T2JqZWN0ID0gKHR5cGUpID0+IHtcbiAgaWYgKElOTElORS5pbmNsdWRlcyh0eXBlKSkge1xuICAgIHJldHVybiAnaW5saW5lJztcbiAgfSBlbHNlIGlmIChNQVJLLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgcmV0dXJuICdtYXJrJztcbiAgfVxuICByZXR1cm4gJ2Jsb2NrJztcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVN0eWxlU3RyaW5nID0gKHMpID0+IHtcbiAgY29uc3QgcmVnZXggPSAvKFtcXHctXSopXFxzKjpcXHMqKFteO10qKS9nO1xuICBsZXQgbWF0Y2g7XG4gIGNvbnN0IHJlc3VsdCA9IHt9O1xuICB3aGlsZSAoKG1hdGNoID0gcmVnZXguZXhlYyhzKSkpIHtcbiAgICByZXN1bHRbbWF0Y2hbMV1dID0gbWF0Y2hbMl0udHJpbSgpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgcmVhY3RBdHRyaWJ1dGVzID0gKG8pID0+IHRvU3R5bGVPYmplY3QobywgeyBjYW1lbGl6ZTogdHJ1ZSwgYWRkVW5pdHM6IGZhbHNlIH0pO1xuXG5jb25zdCBoYW5kbGVTdHlsZXMgPSAoZWwsIGF0dHJpYnV0ZSkgPT4ge1xuICBjb25zdCBzdHlsZVN0cmluZyA9IGVsLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuXG4gIHJldHVybiByZWFjdEF0dHJpYnV0ZXMocGFyc2VTdHlsZVN0cmluZyhzdHlsZVN0cmluZykpO1xufTtcblxuY29uc3QgaGFuZGxlQ2xhc3MgPSAoZWwsIGFjYywgYXR0cmlidXRlKSA9PiB7XG4gIGNvbnN0IGNsYXNzTmFtZXMgPSBlbC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcblxuICBkZWxldGUgYWNjLmNsYXNzO1xuXG4gIHJldHVybiBjbGFzc05hbWVzO1xufTtcblxuY29uc3QgYXR0cmlidXRlc1RvTWFwID0gKGVsKSA9PiAoYWNjLCBhdHRyaWJ1dGUpID0+IHtcbiAgaWYgKCFlbC5nZXRBdHRyaWJ1dGUpIHtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgY29uc3QgdmFsdWUgPSBlbC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcblxuICBpZiAodmFsdWUpIHtcbiAgICBzd2l0Y2ggKGF0dHJpYnV0ZSkge1xuICAgICAgY2FzZSAnc3R5bGUnOlxuICAgICAgICBhY2Muc3R5bGUgPSBoYW5kbGVTdHlsZXMoZWwsIGF0dHJpYnV0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2xhc3MnOlxuICAgICAgICBhY2MuY2xhc3NOYW1lID0gaGFuZGxlQ2xhc3MoZWwsIGFjYywgYXR0cmlidXRlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBhY2NbYXR0cmlidXRlXSA9IGVsLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYWNjO1xufTtcblxuY29uc3QgYXR0cmlidXRlcyA9IFsnYm9yZGVyJywgJ2NsYXNzJywgJ3N0eWxlJ107XG5cbi8qKlxuICogVGFncyB0byBtYXJrcy5cbiAqXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5cbmV4cG9ydCBjb25zdCBNQVJLX1RBR1MgPSB7XG4gIGI6ICdib2xkJyxcbiAgZW06ICdpdGFsaWMnLFxuICB1OiAndW5kZXJsaW5lJyxcbiAgczogJ3N0cmlrZXRocm91Z2gnLFxuICBjb2RlOiAnY29kZScsXG4gIHN0cm9uZzogJ3N0cm9uZycsXG59O1xuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHByb2Nlc3MgRE9NIG5vZGVzIGFuZCBjb252ZXJ0IHRoZW0gdG8gU2xhdGUgSlNPTiBmb3JtYXRcbiAqL1xuY29uc3QgcHJvY2Vzc05vZGUgPSAobm9kZSwgbWFya3MgPSBbXSkgPT4ge1xuICAvLyBTa2lwIGNvbW1lbnQgbm9kZXNcbiAgaWYgKG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gSGFuZGxlIHRleHQgbm9kZXNcbiAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgIGNvbnN0IHRleHQgPSBub2RlLnRleHRDb250ZW50O1xuICAgIGNvbnN0IGxlYWYgPSB7IHRleHQgfTtcblxuICAgIGlmIChtYXJrcy5sZW5ndGggPiAwKSB7XG4gICAgICBsZWFmLm1hcmtzID0gbWFya3MubWFwKChtKSA9PiAoeyB0eXBlOiBtLCBkYXRhOiB1bmRlZmluZWQgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgIGxlYXZlczogW2xlYWZdLFxuICAgIH07XG4gIH1cblxuICAvLyBIYW5kbGUgZWxlbWVudCBub2Rlc1xuICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgY29uc3QgdHlwZSA9IG5vZGUudGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIG1hcmsgdGFnXG4gICAgY29uc3QgbWFya1R5cGUgPSBNQVJLX1RBR1NbdHlwZV07XG4gICAgaWYgKG1hcmtUeXBlKSB7XG4gICAgICBsb2coJ1tkZXNlcmlhbGl6ZV0gbWFyazogJywgbWFya1R5cGUpO1xuICAgICAgLy8gUHJvY2VzcyBjaGlsZHJlbiB3aXRoIHRoaXMgbWFyayBhZGRlZCBhbmQgcmV0dXJuIHRoZW0gZmxhdHRlbmVkXG4gICAgICBjb25zdCBjaGlsZE5vZGVzID0gcHJvY2Vzc05vZGVzKG5vZGUuY2hpbGROb2RlcywgWy4uLm1hcmtzLCBtYXJrVHlwZV0pO1xuICAgICAgLy8gUmV0dXJuIGFuIGFycmF5IGluZGljYXRvciB3aXRoIHRoZSBub2RlcyAod2lsbCBiZSBmbGF0dGVuZWQgYnkgcGFyZW50KVxuICAgICAgcmV0dXJuIHsgX2ZsYXR0ZW46IHRydWUsIG5vZGVzOiBjaGlsZE5vZGVzIH07XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIG1hdGggZWxlbWVudHMgc3BlY2lhbGx5XG4gICAgaWYgKHR5cGUgPT09ICdtYXRoJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXNNYXRoOiB0cnVlLFxuICAgICAgICBub2RlczogW25vZGVdLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBQcm9jZXNzIHJlZ3VsYXIgZWxlbWVudHNcbiAgICBjb25zdCBub3JtYWxBdHRycyA9IGF0dHIobm9kZSkgfHwge307XG5cbiAgICBpZiAodHlwZSA9PT0gJ2F1ZGlvJyAmJiBub3JtYWxBdHRycy5jb250cm9scyA9PT0gJycpIHtcbiAgICAgIG5vcm1hbEF0dHJzLmNvbnRyb2xzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxBdHRycyA9IGF0dHJpYnV0ZXMucmVkdWNlKGF0dHJpYnV0ZXNUb01hcChub2RlKSwgeyAuLi5ub3JtYWxBdHRycyB9KTtcbiAgICBjb25zdCBvYmplY3QgPSBnZXRPYmplY3QodHlwZSk7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzID0gcHJvY2Vzc05vZGVzKG5vZGUuY2hpbGROb2RlcywgbWFya3MpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9iamVjdCxcbiAgICAgIHR5cGUsXG4gICAgICBkYXRhOiB7IGRhdGFzZXQ6IHsgLi4ubm9kZS5kYXRhc2V0IH0sIGF0dHJpYnV0ZXM6IHsgLi4uYWxsQXR0cnMgfSB9LFxuICAgICAgbm9kZXM6IGNoaWxkTm9kZXMsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcblxuLyoqXG4gKiBQcm9jZXNzIGEgTm9kZUxpc3QgYW5kIGNvbnZlcnQgdG8gYXJyYXkgb2YgU2xhdGUgbm9kZXNcbiAqL1xuY29uc3QgcHJvY2Vzc05vZGVzID0gKG5vZGVMaXN0LCBtYXJrcyA9IFtdKSA9PiB7XG4gIGNvbnN0IG5vZGVzID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZUxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCByZXN1bHQgPSBwcm9jZXNzTm9kZShub2RlTGlzdFtpXSwgbWFya3MpO1xuICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgIC8vIEhhbmRsZSBmbGF0dGVuaW5nIGZvciBtYXJrIG5vZGVzXG4gICAgICBpZiAocmVzdWx0Ll9mbGF0dGVuICYmIHJlc3VsdC5ub2Rlcykge1xuICAgICAgICBub2Rlcy5wdXNoKC4uLnJlc3VsdC5ub2Rlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2Rlcy5wdXNoKHJlc3VsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBub2Rlcztcbn07XG5cbi8qKlxuICogRGVzZXJpYWxpemUgSFRNTCBzdHJpbmcgdG8gU2xhdGUgSlNPTiBmb3JtYXRcbiAqL1xuZXhwb3J0IGNvbnN0IGRlc2VyaWFsaXplID0gKGh0bWxTdHJpbmcpID0+IHtcbiAgLy8gSGFuZGxlIGVtcHR5IG9yIHdoaXRlc3BhY2Utb25seSBzdHJpbmdzXG4gIGlmICghaHRtbFN0cmluZyB8fCAhaHRtbFN0cmluZy50cmltKCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgb2JqZWN0OiAndmFsdWUnLFxuICAgICAgZG9jdW1lbnQ6IHtcbiAgICAgICAgb2JqZWN0OiAnZG9jdW1lbnQnLFxuICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgICAgICB0eXBlOiAnc3BhbicsXG4gICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgICAgIGlzVm9pZDogZmFsc2UsXG4gICAgICAgICAgICBub2RlczogW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8vIFVzZSBET01QYXJzZXIgdG8gcGFyc2UgdGhlIEhUTUxcbiAgY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICBjb25zdCBkb2MgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKGh0bWxTdHJpbmcsICd0ZXh0L2h0bWwnKTtcblxuICAvLyBQcm9jZXNzIGFsbCBub2RlcyBpbiB0aGUgYm9keVxuICBsZXQgbm9kZXMgPSBwcm9jZXNzTm9kZXMoZG9jLmJvZHkuY2hpbGROb2Rlcyk7XG5cbiAgLy8gSWYgd2Ugb25seSBoYXZlIHRleHQgbm9kZXMgKG5vIGJsb2NrIGVsZW1lbnRzKSwgd3JhcCBpbiBkZWZhdWx0IHNwYW4gYmxvY2tcbiAgY29uc3QgaGFzQmxvY2tFbGVtZW50cyA9IG5vZGVzLnNvbWUoKG5vZGUpID0+IG5vZGUub2JqZWN0ID09PSAnYmxvY2snIHx8IG5vZGUub2JqZWN0ID09PSAnaW5saW5lJyk7XG5cbiAgaWYgKCFoYXNCbG9ja0VsZW1lbnRzICYmIG5vZGVzLmxlbmd0aCA+IDApIHtcbiAgICBub2RlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgb2JqZWN0OiAnYmxvY2snLFxuICAgICAgICB0eXBlOiAnc3BhbicsXG4gICAgICAgIGRhdGE6IHt9LFxuICAgICAgICBpc1ZvaWQ6IGZhbHNlLFxuICAgICAgICBub2Rlczogbm9kZXMsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICAvLyBJZiBubyBub2RlcyB3ZXJlIHByb2R1Y2VkLCBhZGQgYSBkZWZhdWx0IHNwYW4gYmxvY2tcbiAgaWYgKG5vZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIG5vZGVzID0gW1xuICAgICAge1xuICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgIHR5cGU6ICdzcGFuJyxcbiAgICAgICAgZGF0YToge30sXG4gICAgICAgIGlzVm9pZDogZmFsc2UsXG4gICAgICAgIG5vZGVzOiBbXSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgb2JqZWN0OiAndmFsdWUnLFxuICAgIGRvY3VtZW50OiB7XG4gICAgICBvYmplY3Q6ICdkb2N1bWVudCcsXG4gICAgICBkYXRhOiB7fSxcbiAgICAgIG5vZGVzLFxuICAgIH0sXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7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
|
|
261
|
+
//# sourceMappingURL=serialization.js.map
|
package/lib/serialization.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","names":["_toStyle","require","_debug","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","INLINE","MARK","TEXT_NODE","COMMENT_NODE","ELEMENT_NODE","attr","el","attributes","undefined","out","i","a","name","value","getObject","type","includes","parseStyleString","exports","s","regex","match","result","exec","trim","reactAttributes","toStyleObject","camelize","addUnits","handleStyles","attribute","styleString","getAttribute","handleClass","acc","classNames","attributesToMap","style","className","MARK_TAGS","b","em","u","code","strong","processNode","node","marks","nodeType","text","textContent","leaf","map","m","data","object","leaves","tagName","toLowerCase","markType","childNodes","processNodes","concat","_toConsumableArray2","_flatten","nodes","isMath","normalAttrs","controls","allAttrs","reduce","dataset","nodeList","deserialize","htmlString","document","isVoid","parser","DOMParser","doc","parseFromString","body","hasBlockElements","some"],"sources":["../src/serialization.js"],"sourcesContent":["import { object as toStyleObject } from 'to-style';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:mask-markup:serialization');\n\nconst INLINE = ['span'];\nconst MARK = ['em', 'strong', 'u'];\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst ELEMENT_NODE = 1;\n\nconst attr = (el) => {\n if (!el.attributes || el.attributes.length <= 0) {\n return undefined;\n }\n\n const out = {};\n let i;\n\n for (i = 0; i < el.attributes.length; i++) {\n const a = el.attributes[i];\n\n out[a.name] = a.value;\n }\n\n return out;\n};\n\nconst getObject = (type) => {\n if (INLINE.includes(type)) {\n return 'inline';\n } else if (MARK.includes(type)) {\n return 'mark';\n }\n return 'block';\n};\n\nexport const parseStyleString = (s) => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = (o) => toStyleObject(o, { camelize: true, addUnits: false });\n\nconst handleStyles = (el, attribute) => {\n const styleString = el.getAttribute(attribute);\n\n return reactAttributes(parseStyleString(styleString));\n};\n\nconst handleClass = (el, acc, attribute) => {\n const classNames = el.getAttribute(attribute);\n\n delete acc.class;\n\n return classNames;\n};\n\nconst attributesToMap = (el) => (acc, attribute) => {\n if (!el.getAttribute) {\n return acc;\n }\n\n const value = el.getAttribute(attribute);\n\n if (value) {\n switch (attribute) {\n case 'style':\n acc.style = handleStyles(el, attribute);\n break;\n case 'class':\n acc.className = handleClass(el, acc, attribute);\n break;\n default:\n acc[attribute] = el.getAttribute(attribute);\n break;\n }\n }\n\n return acc;\n};\n\nconst attributes = ['border', 'class', 'style'];\n\n/**\n * Tags to marks.\n *\n * @type {Object}\n */\n\nexport const MARK_TAGS = {\n b: 'bold',\n em: 'italic',\n u: 'underline',\n s: 'strikethrough',\n code: 'code',\n strong: 'strong',\n};\n\n/**\n * Recursively process DOM nodes and convert them to Slate JSON format\n */\nconst processNode = (node, marks = []) => {\n // Skip comment nodes\n if (node.nodeType === COMMENT_NODE) {\n return null;\n }\n\n // Handle text nodes\n if (node.nodeType === TEXT_NODE) {\n const text = node.textContent;\n const leaf = { text };\n\n if (marks.length > 0) {\n leaf.marks = marks.map((m) => ({ type: m, data: undefined }));\n }\n\n return {\n object: 'text',\n leaves: [leaf],\n };\n }\n\n // Handle element nodes\n if (node.nodeType === ELEMENT_NODE) {\n const type = node.tagName.toLowerCase();\n\n // Check if this is a mark tag\n const markType = MARK_TAGS[type];\n if (markType) {\n log('[deserialize] mark: ', markType);\n // Process children with this mark added and return them flattened\n const childNodes = processNodes(node.childNodes, [...marks, markType]);\n // Return an array indicator with the nodes (will be flattened by parent)\n return { _flatten: true, nodes: childNodes };\n }\n\n // Handle math elements specially\n if (type === 'math') {\n return {\n isMath: true,\n nodes: [node],\n };\n }\n\n // Process regular elements\n const normalAttrs = attr(node) || {};\n\n if (type === 'audio' && normalAttrs.controls === '') {\n normalAttrs.controls = true;\n }\n\n const allAttrs = attributes.reduce(attributesToMap(node), { ...normalAttrs });\n const object = getObject(type);\n\n const childNodes = processNodes(node.childNodes, marks);\n\n return {\n object,\n type,\n data: { dataset: { ...node.dataset }, attributes: { ...allAttrs } },\n nodes: childNodes,\n };\n }\n\n return null;\n};\n\n/**\n * Process a NodeList and convert to array of Slate nodes\n */\nconst processNodes = (nodeList, marks = []) => {\n const nodes = [];\n for (let i = 0; i < nodeList.length; i++) {\n const result = processNode(nodeList[i], marks);\n if (result !== null) {\n // Handle flattening for mark nodes\n if (result._flatten && result.nodes) {\n nodes.push(...result.nodes);\n } else {\n nodes.push(result);\n }\n }\n }\n return nodes;\n};\n\n/**\n * Deserialize HTML string to Slate JSON format\n */\nexport const deserialize = (htmlString) => {\n // Handle empty or whitespace-only strings\n if (!htmlString || !htmlString.trim()) {\n return {\n object: 'value',\n document: {\n object: 'document',\n data: {},\n nodes: [\n {\n object: 'block',\n type: 'span',\n data: {},\n isVoid: false,\n nodes: [],\n },\n ],\n },\n };\n }\n\n // Use DOMParser to parse the HTML\n const parser = new DOMParser();\n const doc = parser.parseFromString(htmlString, 'text/html');\n\n // Process all nodes in the body\n let nodes = processNodes(doc.body.childNodes);\n\n // If we only have text nodes (no block elements), wrap in default span block\n const hasBlockElements = nodes.some((node) => node.object === 'block' || node.object === 'inline');\n\n if (!hasBlockElements && nodes.length > 0) {\n nodes = [\n {\n object: 'block',\n type: 'span',\n data: {},\n isVoid: false,\n nodes: nodes,\n },\n ];\n }\n\n // If no nodes were produced, add a default span block\n if (nodes.length === 0) {\n nodes = [\n {\n object: 'block',\n type: 'span',\n data: {},\n isVoid: false,\n nodes: [],\n },\n ];\n }\n\n return {\n object: 'value',\n document: {\n object: 'document',\n data: {},\n nodes,\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"serialization.js","names":["_toStyle","require","_debug","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","INLINE","MARK","TEXT_NODE","COMMENT_NODE","ELEMENT_NODE","attr","el","attributes","undefined","out","i","a","name","value","getObject","type","includes","parseStyleString","exports","s","regex","match","result","exec","trim","reactAttributes","toStyleObject","camelize","addUnits","handleStyles","attribute","styleString","getAttribute","handleClass","acc","classNames","attributesToMap","style","className","MARK_TAGS","b","em","u","code","strong","processNode","node","marks","nodeType","text","textContent","leaf","map","m","data","object","leaves","tagName","toLowerCase","markType","childNodes","processNodes","concat","_toConsumableArray2","_flatten","nodes","isMath","normalAttrs","controls","allAttrs","reduce","dataset","nodeList","deserialize","htmlString","document","isVoid","parser","DOMParser","doc","parseFromString","body","hasBlockElements","some"],"sources":["../src/serialization.js"],"sourcesContent":["import { object as toStyleObject } from 'to-style';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:mask-markup:serialization');\n\nconst INLINE = ['span'];\nconst MARK = ['em', 'strong', 'u'];\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst ELEMENT_NODE = 1;\n\nconst attr = (el) => {\n if (!el.attributes || el.attributes.length <= 0) {\n return undefined;\n }\n\n const out = {};\n let i;\n\n for (i = 0; i < el.attributes.length; i++) {\n const a = el.attributes[i];\n\n out[a.name] = a.value;\n }\n\n return out;\n};\n\nconst getObject = (type) => {\n if (INLINE.includes(type)) {\n return 'inline';\n } else if (MARK.includes(type)) {\n return 'mark';\n }\n return 'block';\n};\n\nexport const parseStyleString = (s) => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = (o) => toStyleObject(o, { camelize: true, addUnits: false });\n\nconst handleStyles = (el, attribute) => {\n const styleString = el.getAttribute(attribute);\n\n return reactAttributes(parseStyleString(styleString));\n};\n\nconst handleClass = (el, acc, attribute) => {\n const classNames = el.getAttribute(attribute);\n\n delete acc.class;\n\n return classNames;\n};\n\nconst attributesToMap = (el) => (acc, attribute) => {\n if (!el.getAttribute) {\n return acc;\n }\n\n const value = el.getAttribute(attribute);\n\n if (value) {\n switch (attribute) {\n case 'style':\n acc.style = handleStyles(el, attribute);\n break;\n case 'class':\n acc.className = handleClass(el, acc, attribute);\n break;\n default:\n acc[attribute] = el.getAttribute(attribute);\n break;\n }\n }\n\n return acc;\n};\n\nconst attributes = ['border', 'class', 'style'];\n\n/**\n * Tags to marks.\n *\n * @type {Object}\n */\n\nexport const MARK_TAGS = {\n b: 'bold',\n em: 'italic',\n u: 'underline',\n s: 'strikethrough',\n code: 'code',\n strong: 'strong',\n};\n\n/**\n * Recursively process DOM nodes and convert them to Slate JSON format\n */\nconst processNode = (node, marks = []) => {\n // Skip comment nodes\n if (node.nodeType === COMMENT_NODE) {\n return null;\n }\n\n // Handle text nodes\n if (node.nodeType === TEXT_NODE) {\n const text = node.textContent;\n const leaf = { text };\n\n if (marks.length > 0) {\n leaf.marks = marks.map((m) => ({ type: m, data: undefined }));\n }\n\n return {\n object: 'text',\n leaves: [leaf],\n };\n }\n\n // Handle element nodes\n if (node.nodeType === ELEMENT_NODE) {\n const type = node.tagName.toLowerCase();\n\n // Check if this is a mark tag\n const markType = MARK_TAGS[type];\n if (markType) {\n log('[deserialize] mark: ', markType);\n // Process children with this mark added and return them flattened\n const childNodes = processNodes(node.childNodes, [...marks, markType]);\n // Return an array indicator with the nodes (will be flattened by parent)\n return { _flatten: true, nodes: childNodes };\n }\n\n // Handle math elements specially\n if (type === 'math') {\n return {\n isMath: true,\n nodes: [node],\n };\n }\n\n // Process regular elements\n const normalAttrs = attr(node) || {};\n\n if (type === 'audio' && normalAttrs.controls === '') {\n normalAttrs.controls = true;\n }\n\n const allAttrs = attributes.reduce(attributesToMap(node), { ...normalAttrs });\n const object = getObject(type);\n\n const childNodes = processNodes(node.childNodes, marks);\n\n return {\n object,\n type,\n data: { dataset: { ...node.dataset }, attributes: { ...allAttrs } },\n nodes: childNodes,\n };\n }\n\n return null;\n};\n\n/**\n * Process a NodeList and convert to array of Slate nodes\n */\nconst processNodes = (nodeList, marks = []) => {\n const nodes = [];\n for (let i = 0; i < nodeList.length; i++) {\n const result = processNode(nodeList[i], marks);\n if (result !== null) {\n // Handle flattening for mark nodes\n if (result._flatten && result.nodes) {\n nodes.push(...result.nodes);\n } else {\n nodes.push(result);\n }\n }\n }\n return nodes;\n};\n\n/**\n * Deserialize HTML string to Slate JSON format\n */\nexport const deserialize = (htmlString) => {\n // Handle empty or whitespace-only strings\n if (!htmlString || !htmlString.trim()) {\n return {\n object: 'value',\n document: {\n object: 'document',\n data: {},\n nodes: [\n {\n object: 'block',\n type: 'span',\n data: {},\n isVoid: false,\n nodes: [],\n },\n ],\n },\n };\n }\n\n // Use DOMParser to parse the HTML\n const parser = new DOMParser();\n const doc = parser.parseFromString(htmlString, 'text/html');\n\n // Process all nodes in the body\n let nodes = processNodes(doc.body.childNodes);\n\n // If we only have text nodes (no block elements), wrap in default span block\n const hasBlockElements = nodes.some((node) => node.object === 'block' || node.object === 'inline');\n\n if (!hasBlockElements && nodes.length > 0) {\n nodes = [\n {\n object: 'block',\n type: 'span',\n data: {},\n isVoid: false,\n nodes: nodes,\n },\n ];\n }\n\n // If no nodes were produced, add a default span block\n if (nodes.length === 0) {\n nodes = [\n {\n object: 'block',\n type: 'span',\n data: {},\n isVoid: false,\n nodes: [],\n },\n ];\n }\n\n return {\n object: 'value',\n document: {\n object: 'document',\n data: {},\n nodes,\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
|