@pie-lib/editable-html 11.3.0-beta.0 → 11.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.json +12 -3322
  2. package/CHANGELOG.md +120 -96
  3. package/package.json +7 -6
  4. package/src/editor.jsx +3 -3
  5. package/src/plugins/media/media-dialog.js +1 -1
  6. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +1 -1
  7. package/src/plugins/toolbar/default-toolbar.jsx +6 -4
  8. package/src/plugins/toolbar/editor-and-toolbar.jsx +1 -1
  9. package/src/plugins/toolbar/toolbar.jsx +4 -4
  10. package/lib/__tests__/editor.test.js +0 -470
  11. package/lib/__tests__/serialization.test.js +0 -246
  12. package/lib/__tests__/utils.js +0 -106
  13. package/lib/block-tags.js +0 -25
  14. package/lib/constants.js +0 -16
  15. package/lib/editor.js +0 -1355
  16. package/lib/index.js +0 -269
  17. package/lib/parse-html.js +0 -16
  18. package/lib/plugins/characters/custom-popper.js +0 -73
  19. package/lib/plugins/characters/index.js +0 -305
  20. package/lib/plugins/characters/utils.js +0 -381
  21. package/lib/plugins/css/icons/index.js +0 -37
  22. package/lib/plugins/css/index.js +0 -397
  23. package/lib/plugins/customPlugin/index.js +0 -114
  24. package/lib/plugins/html/icons/index.js +0 -38
  25. package/lib/plugins/html/index.js +0 -80
  26. package/lib/plugins/image/__tests__/component.test.js +0 -51
  27. package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +0 -56
  28. package/lib/plugins/image/__tests__/image-toolbar.test.js +0 -26
  29. package/lib/plugins/image/__tests__/index.test.js +0 -98
  30. package/lib/plugins/image/__tests__/insert-image-handler.test.js +0 -125
  31. package/lib/plugins/image/__tests__/mock-change.js +0 -25
  32. package/lib/plugins/image/alt-dialog.js +0 -129
  33. package/lib/plugins/image/component.js +0 -419
  34. package/lib/plugins/image/image-toolbar.js +0 -177
  35. package/lib/plugins/image/index.js +0 -263
  36. package/lib/plugins/image/insert-image-handler.js +0 -161
  37. package/lib/plugins/index.js +0 -402
  38. package/lib/plugins/list/__tests__/index.test.js +0 -79
  39. package/lib/plugins/list/index.js +0 -334
  40. package/lib/plugins/math/__tests__/index.test.js +0 -300
  41. package/lib/plugins/math/index.js +0 -454
  42. package/lib/plugins/media/__tests__/index.test.js +0 -71
  43. package/lib/plugins/media/index.js +0 -387
  44. package/lib/plugins/media/media-dialog.js +0 -709
  45. package/lib/plugins/media/media-toolbar.js +0 -101
  46. package/lib/plugins/media/media-wrapper.js +0 -93
  47. package/lib/plugins/rendering/index.js +0 -46
  48. package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -254
  49. package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -97
  50. package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -57
  51. package/lib/plugins/respArea/icons/index.js +0 -95
  52. package/lib/plugins/respArea/index.js +0 -341
  53. package/lib/plugins/respArea/inline-dropdown/index.js +0 -75
  54. package/lib/plugins/respArea/math-templated/index.js +0 -130
  55. package/lib/plugins/respArea/utils.js +0 -125
  56. package/lib/plugins/table/CustomTablePlugin.js +0 -133
  57. package/lib/plugins/table/__tests__/index.test.js +0 -442
  58. package/lib/plugins/table/__tests__/table-toolbar.test.js +0 -54
  59. package/lib/plugins/table/icons/index.js +0 -69
  60. package/lib/plugins/table/index.js +0 -483
  61. package/lib/plugins/table/table-toolbar.js +0 -187
  62. package/lib/plugins/textAlign/icons/index.js +0 -226
  63. package/lib/plugins/textAlign/index.js +0 -34
  64. package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +0 -128
  65. package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +0 -51
  66. package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +0 -54
  67. package/lib/plugins/toolbar/__tests__/toolbar.test.js +0 -120
  68. package/lib/plugins/toolbar/default-toolbar.js +0 -229
  69. package/lib/plugins/toolbar/done-button.js +0 -53
  70. package/lib/plugins/toolbar/editor-and-toolbar.js +0 -286
  71. package/lib/plugins/toolbar/index.js +0 -34
  72. package/lib/plugins/toolbar/toolbar-buttons.js +0 -194
  73. package/lib/plugins/toolbar/toolbar.js +0 -376
  74. package/lib/plugins/utils.js +0 -62
  75. package/lib/serialization.js +0 -677
  76. package/lib/theme.js +0 -9
@@ -1,101 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
- var _react = _interopRequireDefault(require("react"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _styles = require("@material-ui/core/styles");
27
-
28
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
29
-
30
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
-
32
- var useStyles = (0, _styles.withStyles)(function (theme) {
33
- return {
34
- root: {
35
- position: 'relative',
36
- bottom: '5px',
37
- left: 0,
38
- width: '100%',
39
- background: theme.palette.common.white,
40
- display: 'inline-flex',
41
- padding: '5px',
42
- boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.25)'
43
- },
44
- editContainer: {
45
- cursor: 'pointer',
46
- flex: 3,
47
- border: "solid ".concat(theme.palette.common.black),
48
- textAlign: 'right',
49
- borderWidth: '0 2px 0 0',
50
- marginRight: '5px',
51
- paddingRight: '5px'
52
- },
53
- removeContainer: {
54
- cursor: 'pointer'
55
- }
56
- };
57
- });
58
-
59
- var MediaToolbar = /*#__PURE__*/function (_React$Component) {
60
- (0, _inherits2["default"])(MediaToolbar, _React$Component);
61
-
62
- var _super = _createSuper(MediaToolbar);
63
-
64
- function MediaToolbar() {
65
- (0, _classCallCheck2["default"])(this, MediaToolbar);
66
- return _super.apply(this, arguments);
67
- }
68
-
69
- (0, _createClass2["default"])(MediaToolbar, [{
70
- key: "render",
71
- value: function render() {
72
- var _this$props = this.props,
73
- classes = _this$props.classes,
74
- hideEdit = _this$props.hideEdit,
75
- onEdit = _this$props.onEdit,
76
- onRemove = _this$props.onRemove;
77
- return /*#__PURE__*/_react["default"].createElement("span", {
78
- className: classes.root
79
- }, hideEdit ? null : /*#__PURE__*/_react["default"].createElement("span", {
80
- className: classes.editContainer,
81
- onClick: onEdit
82
- }, "Edit Settings"), /*#__PURE__*/_react["default"].createElement("span", {
83
- className: classes.removeContainer,
84
- onClick: onRemove
85
- }, "Remove"));
86
- }
87
- }]);
88
- return MediaToolbar;
89
- }(_react["default"].Component);
90
-
91
- (0, _defineProperty2["default"])(MediaToolbar, "propTypes", {
92
- classes: _propTypes["default"].object,
93
- onEdit: _propTypes["default"].func,
94
- hideEdit: _propTypes["default"].bool,
95
- onRemove: _propTypes["default"].func
96
- });
97
-
98
- var _default = useStyles(MediaToolbar);
99
-
100
- exports["default"] = _default;
101
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL21lZGlhL21lZGlhLXRvb2xiYXIuanN4Il0sIm5hbWVzIjpbInVzZVN0eWxlcyIsInRoZW1lIiwicm9vdCIsInBvc2l0aW9uIiwiYm90dG9tIiwibGVmdCIsIndpZHRoIiwiYmFja2dyb3VuZCIsInBhbGV0dGUiLCJjb21tb24iLCJ3aGl0ZSIsImRpc3BsYXkiLCJwYWRkaW5nIiwiYm94U2hhZG93IiwiZWRpdENvbnRhaW5lciIsImN1cnNvciIsImZsZXgiLCJib3JkZXIiLCJibGFjayIsInRleHRBbGlnbiIsImJvcmRlcldpZHRoIiwibWFyZ2luUmlnaHQiLCJwYWRkaW5nUmlnaHQiLCJyZW1vdmVDb250YWluZXIiLCJNZWRpYVRvb2xiYXIiLCJwcm9wcyIsImNsYXNzZXMiLCJoaWRlRWRpdCIsIm9uRWRpdCIsIm9uUmVtb3ZlIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJmdW5jIiwiYm9vbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLFNBQVMsR0FBRyx3QkFBVyxVQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN2Q0MsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLFFBQVEsRUFBRSxVQUROO0FBRUpDLE1BQUFBLE1BQU0sRUFBRSxLQUZKO0FBR0pDLE1BQUFBLElBQUksRUFBRSxDQUhGO0FBSUpDLE1BQUFBLEtBQUssRUFBRSxNQUpIO0FBS0pDLE1BQUFBLFVBQVUsRUFBRU4sS0FBSyxDQUFDTyxPQUFOLENBQWNDLE1BQWQsQ0FBcUJDLEtBTDdCO0FBTUpDLE1BQUFBLE9BQU8sRUFBRSxhQU5MO0FBT0pDLE1BQUFBLE9BQU8sRUFBRSxLQVBMO0FBUUpDLE1BQUFBLFNBQVMsRUFBRTtBQVJQLEtBRGlDO0FBV3ZDQyxJQUFBQSxhQUFhLEVBQUU7QUFDYkMsTUFBQUEsTUFBTSxFQUFFLFNBREs7QUFFYkMsTUFBQUEsSUFBSSxFQUFFLENBRk87QUFHYkMsTUFBQUEsTUFBTSxrQkFBV2hCLEtBQUssQ0FBQ08sT0FBTixDQUFjQyxNQUFkLENBQXFCUyxLQUFoQyxDQUhPO0FBSWJDLE1BQUFBLFNBQVMsRUFBRSxPQUpFO0FBS2JDLE1BQUFBLFdBQVcsRUFBRSxXQUxBO0FBTWJDLE1BQUFBLFdBQVcsRUFBRSxLQU5BO0FBT2JDLE1BQUFBLFlBQVksRUFBRTtBQVBELEtBWHdCO0FBb0J2Q0MsSUFBQUEsZUFBZSxFQUFFO0FBQ2ZSLE1BQUFBLE1BQU0sRUFBRTtBQURPO0FBcEJzQixHQUFaO0FBQUEsQ0FBWCxDQUFsQjs7SUF5Qk1TLFk7Ozs7Ozs7Ozs7OztXQVFKLGtCQUFTO0FBQ1Asd0JBQWdELEtBQUtDLEtBQXJEO0FBQUEsVUFBUUMsT0FBUixlQUFRQSxPQUFSO0FBQUEsVUFBaUJDLFFBQWpCLGVBQWlCQSxRQUFqQjtBQUFBLFVBQTJCQyxNQUEzQixlQUEyQkEsTUFBM0I7QUFBQSxVQUFtQ0MsUUFBbkMsZUFBbUNBLFFBQW5DO0FBRUEsMEJBQ0U7QUFBTSxRQUFBLFNBQVMsRUFBRUgsT0FBTyxDQUFDeEI7QUFBekIsU0FDR3lCLFFBQVEsR0FBRyxJQUFILGdCQUNQO0FBQU0sUUFBQSxTQUFTLEVBQUVELE9BQU8sQ0FBQ1osYUFBekI7QUFBd0MsUUFBQSxPQUFPLEVBQUVjO0FBQWpELHlCQUZKLGVBTUU7QUFBTSxRQUFBLFNBQVMsRUFBRUYsT0FBTyxDQUFDSCxlQUF6QjtBQUEwQyxRQUFBLE9BQU8sRUFBRU07QUFBbkQsa0JBTkYsQ0FERjtBQVlEOzs7RUF2QndCQyxrQkFBTUMsUzs7aUNBQTNCUCxZLGVBQ2U7QUFDakJFLEVBQUFBLE9BQU8sRUFBRU0sc0JBQVVDLE1BREY7QUFFakJMLEVBQUFBLE1BQU0sRUFBRUksc0JBQVVFLElBRkQ7QUFHakJQLEVBQUFBLFFBQVEsRUFBRUssc0JBQVVHLElBSEg7QUFJakJOLEVBQUFBLFFBQVEsRUFBRUcsc0JBQVVFO0FBSkgsQzs7ZUF5Qk5sQyxTQUFTLENBQUN3QixZQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5jb25zdCB1c2VTdHlsZXMgPSB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgcm9vdDoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGJvdHRvbTogJzVweCcsXG4gICAgbGVmdDogMCxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUuY29tbW9uLndoaXRlLFxuICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgcGFkZGluZzogJzVweCcsXG4gICAgYm94U2hhZG93OiAnMHB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KScsXG4gIH0sXG4gIGVkaXRDb250YWluZXI6IHtcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICBmbGV4OiAzLFxuICAgIGJvcmRlcjogYHNvbGlkICR7dGhlbWUucGFsZXR0ZS5jb21tb24uYmxhY2t9YCxcbiAgICB0ZXh0QWxpZ246ICdyaWdodCcsXG4gICAgYm9yZGVyV2lkdGg6ICcwIDJweCAwIDAnLFxuICAgIG1hcmdpblJpZ2h0OiAnNXB4JyxcbiAgICBwYWRkaW5nUmlnaHQ6ICc1cHgnLFxuICB9LFxuICByZW1vdmVDb250YWluZXI6IHtcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgfSxcbn0pKTtcblxuY2xhc3MgTWVkaWFUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uRWRpdDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaGlkZUVkaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUmVtb3ZlOiBQcm9wVHlwZXMuZnVuYyxcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjbGFzc2VzLCBoaWRlRWRpdCwgb25FZGl0LCBvblJlbW92ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMucm9vdH0+XG4gICAgICAgIHtoaWRlRWRpdCA/IG51bGwgOiAoXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc2VzLmVkaXRDb250YWluZXJ9IG9uQ2xpY2s9e29uRWRpdH0+XG4gICAgICAgICAgICBFZGl0IFNldHRpbmdzXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApfVxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMucmVtb3ZlQ29udGFpbmVyfSBvbkNsaWNrPXtvblJlbW92ZX0+XG4gICAgICAgICAgUmVtb3ZlXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVN0eWxlcyhNZWRpYVRvb2xiYXIpO1xuIl19
@@ -1,93 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
34
- var _excluded = ["editor", "classes", "children", "width"];
35
-
36
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
37
-
38
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
-
40
- var useStyles = (0, _styles.withStyles)(function () {
41
- return {
42
- root: {
43
- position: 'relative'
44
- },
45
- editor: {
46
- display: 'inline-block',
47
- overflow: 'hidden'
48
- }
49
- };
50
- });
51
-
52
- var MediaWrapper = /*#__PURE__*/function (_React$Component) {
53
- (0, _inherits2["default"])(MediaWrapper, _React$Component);
54
-
55
- var _super = _createSuper(MediaWrapper);
56
-
57
- function MediaWrapper() {
58
- (0, _classCallCheck2["default"])(this, MediaWrapper);
59
- return _super.apply(this, arguments);
60
- }
61
-
62
- (0, _createClass2["default"])(MediaWrapper, [{
63
- key: "render",
64
- value: function render() {
65
- var _this$props = this.props,
66
- editor = _this$props.editor,
67
- classes = _this$props.classes,
68
- children = _this$props.children,
69
- width = _this$props.width,
70
- rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
71
- return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({
72
- className: (0, _classnames["default"])(classes.root, (0, _defineProperty2["default"])({}, classes.editor, editor))
73
- }, rest, {
74
- style: {
75
- width: width || 300
76
- }
77
- }), children);
78
- }
79
- }]);
80
- return MediaWrapper;
81
- }(_react["default"].Component);
82
-
83
- (0, _defineProperty2["default"])(MediaWrapper, "propTypes", {
84
- classes: _propTypes["default"].object,
85
- children: _propTypes["default"].array,
86
- editor: _propTypes["default"].bool,
87
- width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string])
88
- });
89
-
90
- var _default = useStyles(MediaWrapper);
91
-
92
- exports["default"] = _default;
93
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL21lZGlhL21lZGlhLXdyYXBwZXIuanN4Il0sIm5hbWVzIjpbInVzZVN0eWxlcyIsInJvb3QiLCJwb3NpdGlvbiIsImVkaXRvciIsImRpc3BsYXkiLCJvdmVyZmxvdyIsIk1lZGlhV3JhcHBlciIsInByb3BzIiwiY2xhc3NlcyIsImNoaWxkcmVuIiwid2lkdGgiLCJyZXN0IiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJhcnJheSIsImJvb2wiLCJvbmVPZlR5cGUiLCJudW1iZXIiLCJzdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUcsd0JBQVc7QUFBQSxTQUFPO0FBQ2xDQyxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsUUFBUSxFQUFFO0FBRE4sS0FENEI7QUFJbENDLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxPQUFPLEVBQUUsY0FESDtBQUVOQyxNQUFBQSxRQUFRLEVBQUU7QUFGSjtBQUowQixHQUFQO0FBQUEsQ0FBWCxDQUFsQjs7SUFVTUMsWTs7Ozs7Ozs7Ozs7O1dBUUosa0JBQVM7QUFDUCx3QkFBc0QsS0FBS0MsS0FBM0Q7QUFBQSxVQUFRSixNQUFSLGVBQVFBLE1BQVI7QUFBQSxVQUFnQkssT0FBaEIsZUFBZ0JBLE9BQWhCO0FBQUEsVUFBeUJDLFFBQXpCLGVBQXlCQSxRQUF6QjtBQUFBLFVBQW1DQyxLQUFuQyxlQUFtQ0EsS0FBbkM7QUFBQSxVQUE2Q0MsSUFBN0M7QUFFQSwwQkFDRTtBQUNFLFFBQUEsU0FBUyxFQUFFLDRCQUFXSCxPQUFPLENBQUNQLElBQW5CLHVDQUNSTyxPQUFPLENBQUNMLE1BREEsRUFDU0EsTUFEVDtBQURiLFNBSU1RLElBSk47QUFLRSxRQUFBLEtBQUssRUFBRTtBQUNMRCxVQUFBQSxLQUFLLEVBQUVBLEtBQUssSUFBSTtBQURYO0FBTFQsVUFTR0QsUUFUSCxDQURGO0FBYUQ7OztFQXhCd0JHLGtCQUFNQyxTOztpQ0FBM0JQLFksZUFDZTtBQUNqQkUsRUFBQUEsT0FBTyxFQUFFTSxzQkFBVUMsTUFERjtBQUVqQk4sRUFBQUEsUUFBUSxFQUFFSyxzQkFBVUUsS0FGSDtBQUdqQmIsRUFBQUEsTUFBTSxFQUFFVyxzQkFBVUcsSUFIRDtBQUlqQlAsRUFBQUEsS0FBSyxFQUFFSSxzQkFBVUksU0FBVixDQUFvQixDQUFDSixzQkFBVUssTUFBWCxFQUFtQkwsc0JBQVVNLE1BQTdCLENBQXBCO0FBSlUsQzs7ZUEwQk5wQixTQUFTLENBQUNNLFlBQUQsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcblxuY29uc3QgdXNlU3R5bGVzID0gd2l0aFN0eWxlcygoKSA9PiAoe1xuICByb290OiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIH0sXG4gIGVkaXRvcjoge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgfSxcbn0pKTtcblxuY2xhc3MgTWVkaWFXcmFwcGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgZWRpdG9yOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB3aWR0aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGVkaXRvciwgY2xhc3NlcywgY2hpbGRyZW4sIHdpZHRoLCAuLi5yZXN0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnJvb3QsIHtcbiAgICAgICAgICBbY2xhc3Nlcy5lZGl0b3JdOiBlZGl0b3IsXG4gICAgICAgIH0pfVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogd2lkdGggfHwgMzAwLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VTdHlsZXMoTWVkaWFXcmFwcGVyKTtcbiJdfQ==
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
-
18
- /**
19
- * Plugin to render the normal divs and spans with attributes (if they are provided)
20
- */
21
- var _default = function _default() {
22
- return {
23
- name: 'renderingPlugin',
24
- renderNode: function renderNode(props) {
25
- var attributes = props.attributes,
26
- children = props.children,
27
- node = props.node;
28
-
29
- if (node.object !== 'block' && node.object !== 'inline') {
30
- return;
31
- }
32
-
33
- var Tag = node.object === 'block' ? 'div' : 'span';
34
- var style = {
35
- position: 'relative'
36
- };
37
- var extraAttributes = node.data.get('attributes');
38
- return /*#__PURE__*/_react["default"].createElement(Tag, _objectSpread(_objectSpread(_objectSpread({}, attributes), extraAttributes), {}, {
39
- style: style
40
- }), children);
41
- }
42
- };
43
- };
44
-
45
- exports["default"] = _default;
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL3JlbmRlcmluZy9pbmRleC5qcyJdLCJuYW1lcyI6WyJuYW1lIiwicmVuZGVyTm9kZSIsInByb3BzIiwiYXR0cmlidXRlcyIsImNoaWxkcmVuIiwibm9kZSIsIm9iamVjdCIsIlRhZyIsInN0eWxlIiwicG9zaXRpb24iLCJleHRyYUF0dHJpYnV0ZXMiLCJkYXRhIiwiZ2V0IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFFQTtBQUNBO0FBQ0E7ZUFDZSxvQkFBTTtBQUNuQixTQUFPO0FBQ0xBLElBQUFBLElBQUksRUFBRSxpQkFERDtBQUVMQyxJQUFBQSxVQUFVLEVBQUUsb0JBQUNDLEtBQUQsRUFBVztBQUNyQixVQUFRQyxVQUFSLEdBQXVDRCxLQUF2QyxDQUFRQyxVQUFSO0FBQUEsVUFBb0JDLFFBQXBCLEdBQXVDRixLQUF2QyxDQUFvQkUsUUFBcEI7QUFBQSxVQUE4QkMsSUFBOUIsR0FBdUNILEtBQXZDLENBQThCRyxJQUE5Qjs7QUFFQSxVQUFJQSxJQUFJLENBQUNDLE1BQUwsS0FBZ0IsT0FBaEIsSUFBMkJELElBQUksQ0FBQ0MsTUFBTCxLQUFnQixRQUEvQyxFQUF5RDtBQUN2RDtBQUNEOztBQUVELFVBQU1DLEdBQUcsR0FBR0YsSUFBSSxDQUFDQyxNQUFMLEtBQWdCLE9BQWhCLEdBQTBCLEtBQTFCLEdBQWtDLE1BQTlDO0FBQ0EsVUFBTUUsS0FBSyxHQUFHO0FBQUVDLFFBQUFBLFFBQVEsRUFBRTtBQUFaLE9BQWQ7QUFDQSxVQUFNQyxlQUFlLEdBQUdMLElBQUksQ0FBQ00sSUFBTCxDQUFVQyxHQUFWLENBQWMsWUFBZCxDQUF4QjtBQUVBLDBCQUFPQyxrQkFBTUMsYUFBTixDQUNMUCxHQURLLGdEQUdBSixVQUhBLEdBSUFPLGVBSkE7QUFLSEYsUUFBQUEsS0FBSyxFQUFFQTtBQUxKLFVBT0xKLFFBUEssQ0FBUDtBQVNEO0FBdEJJLEdBQVA7QUF3QkQsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbi8qKlxuICogUGx1Z2luIHRvIHJlbmRlciB0aGUgbm9ybWFsIGRpdnMgYW5kIHNwYW5zIHdpdGggYXR0cmlidXRlcyAoaWYgdGhleSBhcmUgcHJvdmlkZWQpXG4gKi9cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAncmVuZGVyaW5nUGx1Z2luJyxcbiAgICByZW5kZXJOb2RlOiAocHJvcHMpID0+IHtcbiAgICAgIGNvbnN0IHsgYXR0cmlidXRlcywgY2hpbGRyZW4sIG5vZGUgfSA9IHByb3BzO1xuXG4gICAgICBpZiAobm9kZS5vYmplY3QgIT09ICdibG9jaycgJiYgbm9kZS5vYmplY3QgIT09ICdpbmxpbmUnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgVGFnID0gbm9kZS5vYmplY3QgPT09ICdibG9jaycgPyAnZGl2JyA6ICdzcGFuJztcbiAgICAgIGNvbnN0IHN0eWxlID0geyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9O1xuICAgICAgY29uc3QgZXh0cmFBdHRyaWJ1dGVzID0gbm9kZS5kYXRhLmdldCgnYXR0cmlidXRlcycpO1xuXG4gICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcbiAgICAgICAgVGFnLFxuICAgICAgICB7XG4gICAgICAgICAgLi4uYXR0cmlidXRlcyxcbiAgICAgICAgICAuLi5leHRyYUF0dHJpYnV0ZXMsXG4gICAgICAgICAgc3R5bGU6IHN0eWxlLFxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICk7XG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
@@ -1,254 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.tileTarget = exports.tileSource = exports["default"] = exports.BlankContent = void 0;
9
-
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
31
-
32
- var _drag = require("@pie-lib/drag");
33
-
34
- var _renderUi = require("@pie-lib/render-ui");
35
-
36
- var _mathRendering = require("@pie-lib/math-rendering");
37
-
38
- var _styles = require("@material-ui/core/styles");
39
-
40
- var _classnames = _interopRequireDefault(require("classnames"));
41
-
42
- var _icons = require("@pie-lib/icons");
43
-
44
- var _excluded = ["connectDropTarget", "connectDragSource"];
45
-
46
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
47
-
48
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
-
50
- var useStyles = (0, _styles.withStyles)(function (theme) {
51
- return {
52
- content: {
53
- border: "solid 0px ".concat(theme.palette.primary.main),
54
- '& mjx-frac': {
55
- fontSize: '120% !important'
56
- }
57
- },
58
- chip: {
59
- minWidth: '90px'
60
- },
61
- correct: {
62
- border: "solid 1px ".concat(_renderUi.color.correct())
63
- },
64
- incorrect: {
65
- border: "solid 1px ".concat(theme.palette.error.main)
66
- },
67
- selected: {
68
- border: "2px solid ".concat(_renderUi.color.primaryDark(), " !important")
69
- }
70
- };
71
- });
72
-
73
- var BlankContent = /*#__PURE__*/function (_React$Component) {
74
- (0, _inherits2["default"])(BlankContent, _React$Component);
75
-
76
- var _super = _createSuper(BlankContent);
77
-
78
- function BlankContent(props) {
79
- var _this;
80
-
81
- (0, _classCallCheck2["default"])(this, BlankContent);
82
- _this = _super.call(this, props);
83
- _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2["default"])(_this));
84
- return _this;
85
- }
86
-
87
- (0, _createClass2["default"])(BlankContent, [{
88
- key: "componentDidMount",
89
- value: function componentDidMount() {
90
- document.addEventListener('click', this.handleClick);
91
- }
92
- }, {
93
- key: "componentWillUnmount",
94
- value: function componentWillUnmount() {
95
- document.removeEventListener('click', this.handleClick);
96
- }
97
- }, {
98
- key: "handleClick",
99
- value: function handleClick(event) {
100
- var classes = this.props.classes;
101
-
102
- if (this.elementRef) {
103
- this.elementRef.className = this.elementRef.contains(event.target) ? classes.selected : '';
104
- }
105
- }
106
- }, {
107
- key: "componentDidUpdate",
108
- value: function componentDidUpdate() {
109
- if (this.elementRef) {
110
- (0, _mathRendering.renderMath)(this.elementRef);
111
- }
112
- }
113
- }, {
114
- key: "render",
115
- value: function render() {
116
- var _this2 = this;
117
-
118
- var _this$props = this.props,
119
- n = _this$props.n,
120
- children = _this$props.children,
121
- isDragging = _this$props.isDragging,
122
- dragItem = _this$props.dragItem,
123
- isOver = _this$props.isOver,
124
- value = _this$props.value;
125
- var label = dragItem && isOver ? dragItem.value.value : value.value || "\xA0";
126
- var finalLabel = isDragging ? "\xA0" : label;
127
- var hasGrip = finalLabel !== "\xA0";
128
- return /*#__PURE__*/_react["default"].createElement("div", {
129
- ref: function ref(_ref) {
130
- return _this2.elementRef = _ref;
131
- },
132
- style: {
133
- display: 'inline-flex',
134
- minWidth: '178px',
135
- minHeight: '36px',
136
- background: '#FFF',
137
- border: '1px solid #C0C3CF',
138
- boxSizing: 'border-box',
139
- borderRadius: '3px',
140
- overflow: 'hidden',
141
- position: 'relative',
142
- padding: '8px 8px 8px 35px'
143
- },
144
- "data-key": n.key,
145
- contentEditable: false
146
- }, hasGrip && /*#__PURE__*/_react["default"].createElement(_icons.GripIcon, {
147
- style: {
148
- position: 'absolute',
149
- top: '6px',
150
- left: '15px',
151
- color: '#9B9B9B'
152
- },
153
- contentEditable: false
154
- }), /*#__PURE__*/_react["default"].createElement("span", {
155
- dangerouslySetInnerHTML: {
156
- __html: finalLabel
157
- }
158
- }), children);
159
- }
160
- }]);
161
- return BlankContent;
162
- }(_react["default"].Component);
163
-
164
- exports.BlankContent = BlankContent;
165
- (0, _defineProperty2["default"])(BlankContent, "propTypes", {
166
- n: _propTypes["default"].object,
167
- children: _propTypes["default"].func,
168
- isDragging: _propTypes["default"].bool,
169
- isOver: _propTypes["default"].bool,
170
- dragItem: _propTypes["default"].object,
171
- value: _propTypes["default"].object,
172
- classes: _propTypes["default"].object
173
- });
174
- var StyledBlankContent = useStyles(BlankContent);
175
- var connectedBlankContent = useStyles(function (_ref2) {
176
- var connectDropTarget = _ref2.connectDropTarget,
177
- connectDragSource = _ref2.connectDragSource,
178
- props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
179
- var classes = props.classes,
180
- isOver = props.isOver,
181
- value = props.value;
182
-
183
- var dragContent = /*#__PURE__*/_react["default"].createElement(StyledBlankContent, props);
184
-
185
- var dragEl = !value ? dragContent : connectDragSource( /*#__PURE__*/_react["default"].createElement("span", null, dragContent));
186
-
187
- var content = /*#__PURE__*/_react["default"].createElement("span", {
188
- className: (0, _classnames["default"])(classes.content, isOver && classes.over)
189
- }, dragEl);
190
-
191
- return connectDropTarget ? connectDropTarget(content) : content;
192
- });
193
- var tileTarget = {
194
- drop: function drop(props, monitor) {
195
- var draggedItem = monitor.getItem();
196
- var shouldDrop = (0, _isUndefined["default"])(draggedItem.value.index) || (0, _isUndefined["default"])(props.value.index) || draggedItem.value.index !== props.value.index;
197
-
198
- if (shouldDrop) {
199
- props.onChange(draggedItem.value);
200
- }
201
-
202
- return {
203
- dropped: shouldDrop
204
- };
205
- },
206
- canDrop: function canDrop(props, monitor) {
207
- var draggedItem = monitor.getItem();
208
- return draggedItem.instanceId === props.instanceId;
209
- }
210
- };
211
- exports.tileTarget = tileTarget;
212
- var DropTile = (0, _drag.DropTarget)('drag-in-the-blank-choice', tileTarget, function (connect, monitor) {
213
- return {
214
- connectDropTarget: connect.dropTarget(),
215
- isOver: monitor.isOver(),
216
- dragItem: monitor.getItem()
217
- };
218
- })(connectedBlankContent);
219
- var tileSource = {
220
- canDrag: function canDrag(props) {
221
- return !props.disabled && !!props.value;
222
- },
223
- beginDrag: function beginDrag(props) {
224
- return {
225
- id: props.targetId,
226
- value: props.value,
227
- instanceId: props.instanceId,
228
- fromChoice: true
229
- };
230
- },
231
- endDrag: function endDrag(props, monitor) {
232
- // this will be null if it did not drop
233
- var dropResult = monitor.getDropResult();
234
-
235
- if (!dropResult || dropResult.dropped && !props.duplicates) {
236
- var draggedItem = monitor.getItem();
237
-
238
- if (draggedItem.fromChoice) {
239
- props.removeResponse(draggedItem.value);
240
- }
241
- }
242
- }
243
- };
244
- exports.tileSource = tileSource;
245
-
246
- var _default = (0, _drag.DragSource)('drag-in-the-blank-choice', tileSource, function (connect, monitor) {
247
- return {
248
- connectDragSource: connect.dragSource(),
249
- isDragging: monitor.isDragging()
250
- };
251
- })(DropTile);
252
-
253
- exports["default"] = _default;
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL3Jlc3BBcmVhL2RyYWctaW4tdGhlLWJsYW5rL2Nob2ljZS5qc3giXSwibmFtZXMiOlsidXNlU3R5bGVzIiwidGhlbWUiLCJjb250ZW50IiwiYm9yZGVyIiwicGFsZXR0ZSIsInByaW1hcnkiLCJtYWluIiwiZm9udFNpemUiLCJjaGlwIiwibWluV2lkdGgiLCJjb3JyZWN0IiwiY29sb3IiLCJpbmNvcnJlY3QiLCJlcnJvciIsInNlbGVjdGVkIiwicHJpbWFyeURhcmsiLCJCbGFua0NvbnRlbnQiLCJwcm9wcyIsImhhbmRsZUNsaWNrIiwiYmluZCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJldmVudCIsImNsYXNzZXMiLCJlbGVtZW50UmVmIiwiY2xhc3NOYW1lIiwiY29udGFpbnMiLCJ0YXJnZXQiLCJuIiwiY2hpbGRyZW4iLCJpc0RyYWdnaW5nIiwiZHJhZ0l0ZW0iLCJpc092ZXIiLCJ2YWx1ZSIsImxhYmVsIiwiZmluYWxMYWJlbCIsImhhc0dyaXAiLCJyZWYiLCJkaXNwbGF5IiwibWluSGVpZ2h0IiwiYmFja2dyb3VuZCIsImJveFNpemluZyIsImJvcmRlclJhZGl1cyIsIm92ZXJmbG93IiwicG9zaXRpb24iLCJwYWRkaW5nIiwia2V5IiwidG9wIiwibGVmdCIsIl9faHRtbCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiZnVuYyIsImJvb2wiLCJTdHlsZWRCbGFua0NvbnRlbnQiLCJjb25uZWN0ZWRCbGFua0NvbnRlbnQiLCJjb25uZWN0RHJvcFRhcmdldCIsImNvbm5lY3REcmFnU291cmNlIiwiZHJhZ0NvbnRlbnQiLCJkcmFnRWwiLCJvdmVyIiwidGlsZVRhcmdldCIsImRyb3AiLCJtb25pdG9yIiwiZHJhZ2dlZEl0ZW0iLCJnZXRJdGVtIiwic2hvdWxkRHJvcCIsImluZGV4Iiwib25DaGFuZ2UiLCJkcm9wcGVkIiwiY2FuRHJvcCIsImluc3RhbmNlSWQiLCJEcm9wVGlsZSIsImNvbm5lY3QiLCJkcm9wVGFyZ2V0IiwidGlsZVNvdXJjZSIsImNhbkRyYWciLCJkaXNhYmxlZCIsImJlZ2luRHJhZyIsImlkIiwidGFyZ2V0SWQiLCJmcm9tQ2hvaWNlIiwiZW5kRHJhZyIsImRyb3BSZXN1bHQiLCJnZXREcm9wUmVzdWx0IiwiZHVwbGljYXRlcyIsInJlbW92ZVJlc3BvbnNlIiwiZHJhZ1NvdXJjZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7OztBQUVBLElBQU1BLFNBQVMsR0FBRyx3QkFBVyxVQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN2Q0MsSUFBQUEsT0FBTyxFQUFFO0FBQ1BDLE1BQUFBLE1BQU0sc0JBQWVGLEtBQUssQ0FBQ0csT0FBTixDQUFjQyxPQUFkLENBQXNCQyxJQUFyQyxDQURDO0FBRVAsb0JBQWM7QUFDWkMsUUFBQUEsUUFBUSxFQUFFO0FBREU7QUFGUCxLQUQ4QjtBQU92Q0MsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLFFBQVEsRUFBRTtBQUROLEtBUGlDO0FBVXZDQyxJQUFBQSxPQUFPLEVBQUU7QUFDUFAsTUFBQUEsTUFBTSxzQkFBZVEsZ0JBQU1ELE9BQU4sRUFBZjtBQURDLEtBVjhCO0FBYXZDRSxJQUFBQSxTQUFTLEVBQUU7QUFDVFQsTUFBQUEsTUFBTSxzQkFBZUYsS0FBSyxDQUFDRyxPQUFOLENBQWNTLEtBQWQsQ0FBb0JQLElBQW5DO0FBREcsS0FiNEI7QUFnQnZDUSxJQUFBQSxRQUFRLEVBQUU7QUFDUlgsTUFBQUEsTUFBTSxzQkFBZVEsZ0JBQU1JLFdBQU4sRUFBZjtBQURFO0FBaEI2QixHQUFaO0FBQUEsQ0FBWCxDQUFsQjs7SUFxQmFDLFk7Ozs7O0FBV1gsd0JBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTtBQUNqQiw4QkFBTUEsS0FBTjtBQUVBLFVBQUtD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ZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgaXNVbmRlZmluZWQgZnJvbSAnbG9kYXNoL2lzVW5kZWZpbmVkJztcbmltcG9ydCB7IERyYWdTb3VyY2UsIERyb3BUYXJnZXQgfSBmcm9tICdAcGllLWxpYi9kcmFnJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQgeyBHcmlwSWNvbiB9IGZyb20gJ0BwaWUtbGliL2ljb25zJztcblxuY29uc3QgdXNlU3R5bGVzID0gd2l0aFN0eWxlcygodGhlbWUpID0+ICh7XG4gIGNvbnRlbnQ6IHtcbiAgICBib3JkZXI6IGBzb2xpZCAwcHggJHt0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbn1gLFxuICAgICcmIG1qeC1mcmFjJzoge1xuICAgICAgZm9udFNpemU6ICcxMjAlICFpbXBvcnRhbnQnLFxuICAgIH0sXG4gIH0sXG4gIGNoaXA6IHtcbiAgICBtaW5XaWR0aDogJzkwcHgnLFxuICB9LFxuICBjb3JyZWN0OiB7XG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7Y29sb3IuY29ycmVjdCgpfWAsXG4gIH0sXG4gIGluY29ycmVjdDoge1xuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUuZXJyb3IubWFpbn1gLFxuICB9LFxuICBzZWxlY3RlZDoge1xuICAgIGJvcmRlcjogYDJweCBzb2xpZCAke2NvbG9yLnByaW1hcnlEYXJrKCl9ICFpbXBvcnRhbnRgLFxuICB9LFxufSkpO1xuXG5leHBvcnQgY2xhc3MgQmxhbmtDb250ZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBuOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBpc0RyYWdnaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc092ZXI6IFByb3BUeXBlcy5ib29sLFxuICAgIGRyYWdJdGVtOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLmhhbmRsZUNsaWNrID0gdGhpcy5oYW5kbGVDbGljay5iaW5kKHRoaXMpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhhbmRsZUNsaWNrKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oYW5kbGVDbGljayk7XG4gIH1cblxuICBoYW5kbGVDbGljayhldmVudCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICh0aGlzLmVsZW1lbnRSZWYpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5jbGFzc05hbWUgPSB0aGlzLmVsZW1lbnRSZWYuY29udGFpbnMoZXZlbnQudGFyZ2V0KSA/IGNsYXNzZXMuc2VsZWN0ZWQgOiAnJztcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgaWYgKHRoaXMuZWxlbWVudFJlZikge1xuICAgICAgcmVuZGVyTWF0aCh0aGlzLmVsZW1lbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG4sIGNoaWxkcmVuLCBpc0RyYWdnaW5nLCBkcmFnSXRlbSwgaXNPdmVyLCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGxhYmVsID0gZHJhZ0l0ZW0gJiYgaXNPdmVyID8gZHJhZ0l0ZW0udmFsdWUudmFsdWUgOiB2YWx1ZS52YWx1ZSB8fCAnXFx1MDBBMCc7XG4gICAgY29uc3QgZmluYWxMYWJlbCA9IGlzRHJhZ2dpbmcgPyAnXFx1MDBBMCcgOiBsYWJlbDtcbiAgICBjb25zdCBoYXNHcmlwID0gZmluYWxMYWJlbCAhPT0gJ1xcdTAwQTAnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXsocmVmKSA9PiAodGhpcy5lbGVtZW50UmVmID0gcmVmKX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICAgIG1pbldpZHRoOiAnMTc4cHgnLFxuICAgICAgICAgIG1pbkhlaWdodDogJzM2cHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjRkZGJyxcbiAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI0MwQzNDRicsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgcGFkZGluZzogJzhweCA4cHggOHB4IDM1cHgnLFxuICAgICAgICB9fVxuICAgICAgICBkYXRhLWtleT17bi5rZXl9XG4gICAgICAgIGNvbnRlbnRFZGl0YWJsZT17ZmFsc2V9XG4gICAgICA+XG4gICAgICAgIHtoYXNHcmlwICYmIChcbiAgICAgICAgICA8R3JpcEljb25cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICB0b3A6ICc2cHgnLFxuICAgICAgICAgICAgICBsZWZ0OiAnMTVweCcsXG4gICAgICAgICAgICAgIGNvbG9yOiAnIzlCOUI5QicsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXtmYWxzZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICA8c3BhblxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGZpbmFsTGFiZWwsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBTdHlsZWRCbGFua0NvbnRlbnQgPSB1c2VTdHlsZXMoQmxhbmtDb250ZW50KTtcblxuY29uc3QgY29ubmVjdGVkQmxhbmtDb250ZW50ID0gdXNlU3R5bGVzKCh7IGNvbm5lY3REcm9wVGFyZ2V0LCBjb25uZWN0RHJhZ1NvdXJjZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBjb25zdCB7IGNsYXNzZXMsIGlzT3ZlciwgdmFsdWUgfSA9IHByb3BzO1xuICBjb25zdCBkcmFnQ29udGVudCA9IDxTdHlsZWRCbGFua0NvbnRlbnQgey4uLnByb3BzfSAvPjtcbiAgY29uc3QgZHJhZ0VsID0gIXZhbHVlID8gZHJhZ0NvbnRlbnQgOiBjb25uZWN0RHJhZ1NvdXJjZSg8c3Bhbj57ZHJhZ0NvbnRlbnR9PC9zcGFuPik7XG4gIGNvbnN0IGNvbnRlbnQgPSA8c3BhbiBjbGFzc05hbWU9e2NsYXNzbmFtZXMoY2xhc3Nlcy5jb250ZW50LCBpc092ZXIgJiYgY2xhc3Nlcy5vdmVyKX0+e2RyYWdFbH08L3NwYW4+O1xuXG4gIHJldHVybiBjb25uZWN0RHJvcFRhcmdldCA/IGNvbm5lY3REcm9wVGFyZ2V0KGNvbnRlbnQpIDogY29udGVudDtcbn0pO1xuXG5leHBvcnQgY29uc3QgdGlsZVRhcmdldCA9IHtcbiAgZHJvcChwcm9wcywgbW9uaXRvcikge1xuICAgIGNvbnN0IGRyYWdnZWRJdGVtID0gbW9uaXRvci5nZXRJdGVtKCk7XG4gICAgY29uc3Qgc2hvdWxkRHJvcCA9XG4gICAgICBpc1VuZGVmaW5lZChkcmFnZ2VkSXRlbS52YWx1ZS5pbmRleCkgfHxcbiAgICAgIGlzVW5kZWZpbmVkKHByb3BzLnZhbHVlLmluZGV4KSB8fFxuICAgICAgZHJhZ2dlZEl0ZW0udmFsdWUuaW5kZXggIT09IHByb3BzLnZhbHVlLmluZGV4O1xuXG4gICAgaWYgKHNob3VsZERyb3ApIHtcbiAgICAgIHByb3BzLm9uQ2hhbmdlKGRyYWdnZWRJdGVtLnZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZHJvcHBlZDogc2hvdWxkRHJvcCxcbiAgICB9O1xuICB9LFxuICBjYW5Ecm9wKHByb3BzLCBtb25pdG9yKSB7XG4gICAgY29uc3QgZHJhZ2dlZEl0ZW0gPSBtb25pdG9yLmdldEl0ZW0oKTtcblxuICAgIHJldHVybiBkcmFnZ2VkSXRlbS5pbnN0YW5jZUlkID09PSBwcm9wcy5pbnN0YW5jZUlkO1xuICB9LFxufTtcblxuY29uc3QgRHJvcFRpbGUgPSBEcm9wVGFyZ2V0KCdkcmFnLWluLXRoZS1ibGFuay1jaG9pY2UnLCB0aWxlVGFyZ2V0LCAoY29ubmVjdCwgbW9uaXRvcikgPT4gKHtcbiAgY29ubmVjdERyb3BUYXJnZXQ6IGNvbm5lY3QuZHJvcFRhcmdldCgpLFxuICBpc092ZXI6IG1vbml0b3IuaXNPdmVyKCksXG4gIGRyYWdJdGVtOiBtb25pdG9yLmdldEl0ZW0oKSxcbn0pKShjb25uZWN0ZWRCbGFua0NvbnRlbnQpO1xuXG5leHBvcnQgY29uc3QgdGlsZVNvdXJjZSA9IHtcbiAgY2FuRHJhZyhwcm9wcykge1xuICAgIHJldHVybiAhcHJvcHMuZGlzYWJsZWQgJiYgISFwcm9wcy52YWx1ZTtcbiAgfSxcbiAgYmVnaW5EcmFnKHByb3BzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wcy50YXJnZXRJZCxcbiAgICAgIHZhbHVlOiBwcm9wcy52YWx1ZSxcbiAgICAgIGluc3RhbmNlSWQ6IHByb3BzLmluc3RhbmNlSWQsXG4gICAgICBmcm9tQ2hvaWNlOiB0cnVlLFxuICAgIH07XG4gIH0sXG4gIGVuZERyYWcocHJvcHMsIG1vbml0b3IpIHtcbiAgICAvLyB0aGlzIHdpbGwgYmUgbnVsbCBpZiBpdCBkaWQgbm90IGRyb3BcbiAgICBjb25zdCBkcm9wUmVzdWx0ID0gbW9uaXRvci5nZXREcm9wUmVzdWx0KCk7XG5cbiAgICBpZiAoIWRyb3BSZXN1bHQgfHwgKGRyb3BSZXN1bHQuZHJvcHBlZCAmJiAhcHJvcHMuZHVwbGljYXRlcykpIHtcbiAgICAgIGNvbnN0IGRyYWdnZWRJdGVtID0gbW9uaXRvci5nZXRJdGVtKCk7XG5cbiAgICAgIGlmIChkcmFnZ2VkSXRlbS5mcm9tQ2hvaWNlKSB7XG4gICAgICAgIHByb3BzLnJlbW92ZVJlc3BvbnNlKGRyYWdnZWRJdGVtLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBEcmFnU291cmNlKCdkcmFnLWluLXRoZS1ibGFuay1jaG9pY2UnLCB0aWxlU291cmNlLCAoY29ubmVjdCwgbW9uaXRvcikgPT4gKHtcbiAgY29ubmVjdERyYWdTb3VyY2U6IGNvbm5lY3QuZHJhZ1NvdXJjZSgpLFxuICBpc0RyYWdnaW5nOiBtb25pdG9yLmlzRHJhZ2dpbmcoKSxcbn0pKShEcm9wVGlsZSk7XG4iXX0=
@@ -1,97 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.onValueChange = exports.onRemoveResponse = exports["default"] = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
- var _react = _interopRequireDefault(require("react"));
15
-
16
- var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
- var _choice = _interopRequireDefault(require("./choice"));
19
-
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
-
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
-
24
- var onValueChange = function onValueChange(nodeProps, n, value) {
25
- var val = nodeProps.editor.value;
26
- var change = val.change();
27
- change.setNodeByKey(n.key, {
28
- data: _objectSpread(_objectSpread({}, value), {}, {
29
- index: n.data.get('index')
30
- })
31
- });
32
- nodeProps.editor.props.onChange(change, function () {
33
- nodeProps.editor.props.onEditingDone();
34
- });
35
- };
36
-
37
- exports.onValueChange = onValueChange;
38
-
39
- var onRemoveResponse = function onRemoveResponse(nodeProps, value) {
40
- var val = nodeProps.editor.value;
41
- var change = val.change();
42
- var dragInTheBlank = val.document.findDescendant(function (n) {
43
- return n.data && n.data.get('index') === value.index;
44
- });
45
- change.setNodeByKey(dragInTheBlank.key, {
46
- data: {
47
- index: dragInTheBlank.data.get('index')
48
- }
49
- });
50
- nodeProps.editor.props.onChange(change, function () {
51
- nodeProps.editor.props.onEditingDone();
52
- });
53
- };
54
-
55
- exports.onRemoveResponse = onRemoveResponse;
56
-
57
- var DragDrop = function DragDrop(props) {
58
- var attributes = props.attributes,
59
- data = props.data,
60
- n = props.n,
61
- nodeProps = props.nodeProps,
62
- opts = props.opts;
63
- var inTable = data.inTable;
64
- return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
65
- style: {
66
- display: 'inline-flex',
67
- minHeight: '50px',
68
- minWidth: '178px',
69
- position: 'relative',
70
- margin: inTable ? '10px' : '0 10px',
71
- cursor: 'pointer'
72
- }
73
- }), /*#__PURE__*/_react["default"].createElement(_choice["default"], {
74
- n: n,
75
- dragKey: n.key,
76
- targetId: "0",
77
- value: data,
78
- duplicates: opts.options.duplicates,
79
- onChange: function onChange(value) {
80
- return onValueChange(nodeProps, n, value);
81
- },
82
- removeResponse: function removeResponse(value) {
83
- return onRemoveResponse(nodeProps, value);
84
- }
85
- }, nodeProps.children));
86
- };
87
-
88
- DragDrop.propTypes = {
89
- attributes: _propTypes["default"].object,
90
- data: _propTypes["default"].object,
91
- n: _propTypes["default"].object,
92
- nodeProps: _propTypes["default"].object,
93
- opts: _propTypes["default"].object
94
- };
95
- var _default = DragDrop;
96
- exports["default"] = _default;
97
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL3Jlc3BBcmVhL2RyYWctaW4tdGhlLWJsYW5rL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJvblZhbHVlQ2hhbmdlIiwibm9kZVByb3BzIiwibiIsInZhbHVlIiwidmFsIiwiZWRpdG9yIiwiY2hhbmdlIiwic2V0Tm9kZUJ5S2V5Iiwia2V5IiwiZGF0YSIsImluZGV4IiwiZ2V0IiwicHJvcHMiLCJvbkNoYW5nZSIsIm9uRWRpdGluZ0RvbmUiLCJvblJlbW92ZVJlc3BvbnNlIiwiZHJhZ0luVGhlQmxhbmsiLCJkb2N1bWVudCIsImZpbmREZXNjZW5kYW50IiwiRHJhZ0Ryb3AiLCJhdHRyaWJ1dGVzIiwib3B0cyIsImluVGFibGUiLCJkaXNwbGF5IiwibWluSGVpZ2h0IiwibWluV2lkdGgiLCJwb3NpdGlvbiIsIm1hcmdpbiIsImN1cnNvciIsIm9wdGlvbnMiLCJkdXBsaWNhdGVzIiwiY2hpbGRyZW4iLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxTQUFELEVBQVlDLENBQVosRUFBZUMsS0FBZixFQUF5QjtBQUNwRCxNQUFNQyxHQUFHLEdBQUdILFNBQVMsQ0FBQ0ksTUFBVixDQUFpQkYsS0FBN0I7QUFDQSxNQUFNRyxNQUFNLEdBQUdGLEdBQUcsQ0FBQ0UsTUFBSixFQUFmO0FBRUFBLEVBQUFBLE1BQU0sQ0FBQ0MsWUFBUCxDQUFvQkwsQ0FBQyxDQUFDTSxHQUF0QixFQUEyQjtBQUN6QkMsSUFBQUEsSUFBSSxrQ0FDQ04sS0FERDtBQUVGTyxNQUFBQSxLQUFLLEVBQUVSLENBQUMsQ0FBQ08sSUFBRixDQUFPRSxHQUFQLENBQVcsT0FBWDtBQUZMO0FBRHFCLEdBQTNCO0FBT0FWLEVBQUFBLFNBQVMsQ0FBQ0ksTUFBVixDQUFpQk8sS0FBakIsQ0FBdUJD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QUFJLEVBQUV3QixzQkFBVUMsTUFGRztBQUduQmhDLEVBQUFBLENBQUMsRUFBRStCLHNCQUFVQyxNQUhNO0FBSW5CakMsRUFBQUEsU0FBUyxFQUFFZ0Msc0JBQVVDLE1BSkY7QUFLbkJiLEVBQUFBLElBQUksRUFBRVksc0JBQVVDO0FBTEcsQ0FBckI7ZUFRZWYsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IERyYWdEcm9wVGlsZSBmcm9tICcuL2Nob2ljZSc7XG5cbmV4cG9ydCBjb25zdCBvblZhbHVlQ2hhbmdlID0gKG5vZGVQcm9wcywgbiwgdmFsdWUpID0+IHtcbiAgY29uc3QgdmFsID0gbm9kZVByb3BzLmVkaXRvci52YWx1ZTtcbiAgY29uc3QgY2hhbmdlID0gdmFsLmNoYW5nZSgpO1xuXG4gIGNoYW5nZS5zZXROb2RlQnlLZXkobi5rZXksIHtcbiAgICBkYXRhOiB7XG4gICAgICAuLi52YWx1ZSxcbiAgICAgIGluZGV4OiBuLmRhdGEuZ2V0KCdpbmRleCcpLFxuICAgIH0sXG4gIH0pO1xuXG4gIG5vZGVQcm9wcy5lZGl0b3IucHJvcHMub25DaGFuZ2UoY2hhbmdlLCAoKSA9PiB7XG4gICAgbm9kZVByb3BzLmVkaXRvci5wcm9wcy5vbkVkaXRpbmdEb25lKCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG9uUmVtb3ZlUmVzcG9uc2UgPSAobm9kZVByb3BzLCB2YWx1ZSkgPT4ge1xuICBjb25zdCB2YWwgPSBub2RlUHJvcHMuZWRpdG9yLnZhbHVlO1xuICBjb25zdCBjaGFuZ2UgPSB2YWwuY2hhbmdlKCk7XG4gIGNvbnN0IGRyYWdJblRoZUJsYW5rID0gdmFsLmRvY3VtZW50LmZpbmREZXNjZW5kYW50KChuKSA9PiBuLmRhdGEgJiYgbi5kYXRhLmdldCgnaW5kZXgnKSA9PT0gdmFsdWUuaW5kZXgpO1xuXG4gIGNoYW5nZS5zZXROb2RlQnlLZXkoZHJhZ0luVGhlQmxhbmsua2V5LCB7XG4gICAgZGF0YToge1xuICAgICAgaW5kZXg6IGRyYWdJblRoZUJsYW5rLmRhdGEuZ2V0KCdpbmRleCcpLFxuICAgIH0sXG4gIH0pO1xuXG4gIG5vZGVQcm9wcy5lZGl0b3IucHJvcHMub25DaGFuZ2UoY2hhbmdlLCAoKSA9PiB7XG4gICAgbm9kZVByb3BzLmVkaXRvci5wcm9wcy5vbkVkaXRpbmdEb25lKCk7XG4gIH0pO1xufTtcblxuY29uc3QgRHJhZ0Ryb3AgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBhdHRyaWJ1dGVzLCBkYXRhLCBuLCBub2RlUHJvcHMsIG9wdHMgfSA9IHByb3BzO1xuICBjb25zdCB7IGluVGFibGUgfSA9IGRhdGE7XG5cbiAgcmV0dXJuIChcbiAgICA8c3BhblxuICAgICAgey4uLmF0dHJpYnV0ZXN9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICBtaW5IZWlnaHQ6ICc1MHB4JyxcbiAgICAgICAgbWluV2lkdGg6ICcxNzhweCcsXG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICBtYXJnaW46IGluVGFibGUgPyAnMTBweCcgOiAnMCAxMHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxEcmFnRHJvcFRpbGVcbiAgICAgICAgbj17bn1cbiAgICAgICAgZHJhZ0tleT17bi5rZXl9XG4gICAgICAgIHRhcmdldElkPVwiMFwiXG4gICAgICAgIHZhbHVlPXtkYXRhfVxuICAgICAgICBkdXBsaWNhdGVzPXtvcHRzLm9wdGlvbnMuZHVwbGljYXRlc31cbiAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4gb25WYWx1ZUNoYW5nZShub2RlUHJvcHMsIG4sIHZhbHVlKX1cbiAgICAgICAgcmVtb3ZlUmVzcG9uc2U9eyh2YWx1ZSkgPT4gb25SZW1vdmVSZXNwb25zZShub2RlUHJvcHMsIHZhbHVlKX1cbiAgICAgID5cbiAgICAgICAge25vZGVQcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvRHJhZ0Ryb3BUaWxlPlxuICAgIDwvc3Bhbj5cbiAgKTtcbn07XG5cbkRyYWdEcm9wLnByb3BUeXBlcyA9IHtcbiAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgZGF0YTogUHJvcFR5cGVzLm9iamVjdCxcbiAgbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgbm9kZVByb3BzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBvcHRzOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRHJhZ0Ryb3A7XG4iXX0=