@pie-lib/editable-html-tip-tap 1.0.2 → 1.0.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/components/CharacterPicker.js +221 -0
- package/lib/components/CharacterPicker.js.map +1 -0
- package/lib/components/EditableHtml.js +323 -0
- package/lib/components/EditableHtml.js.map +1 -0
- package/lib/components/MenuBar.js +694 -0
- package/lib/components/MenuBar.js.map +1 -0
- package/lib/components/TiptapContainer.js +90 -0
- package/lib/components/TiptapContainer.js.map +1 -0
- package/lib/components/buttons/done-button.js +53 -0
- package/lib/components/characters/characterUtils.js +112 -0
- package/lib/components/characters/characterUtils.js.map +1 -0
- package/lib/components/characters/custom-popper.js +73 -0
- package/lib/components/characters/custom-popper.js.map +1 -0
- package/lib/components/common/done-button.js +53 -0
- package/lib/components/common/done-button.js.map +1 -0
- package/lib/components/common/toolbar-buttons.js +194 -0
- package/lib/components/icons/CssIcon.js +37 -0
- package/lib/components/icons/CssIcon.js.map +1 -0
- package/lib/components/icons/RespArea.js +95 -0
- package/lib/components/icons/RespArea.js.map +1 -0
- package/lib/components/icons/TableIcons.js +69 -0
- package/lib/components/icons/TableIcons.js.map +1 -0
- package/lib/components/icons/TextAlign.js +194 -0
- package/lib/components/icons/TextAlign.js.map +1 -0
- package/lib/components/icons/index.js +194 -0
- package/lib/components/image/AltDialog.js +129 -0
- package/lib/components/image/ImageToolbar.js +177 -0
- package/lib/components/image/ImageToolbar.js.map +1 -0
- package/lib/components/image/InsertImageHandler.js +115 -0
- package/lib/components/image/InsertImageHandler.js.map +1 -0
- package/lib/components/image/alt-dialog.js +2 -0
- package/lib/components/media/MediaDialog.js +709 -0
- package/lib/components/media/MediaDialog.js.map +1 -0
- package/lib/components/media/MediaToolbar.js +101 -0
- package/lib/components/media/MediaToolbar.js.map +1 -0
- package/lib/components/media/MediaWrapper.js +93 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +94 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank/choice.js +289 -0
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank.js +94 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js +120 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -0
- package/lib/components/respArea/InlineDropdown.js +126 -0
- package/lib/components/respArea/InlineDropdown.js.map +1 -0
- package/lib/components/respArea/ToolbarIcon.js +105 -0
- package/lib/components/respArea/ToolbarIcon.js.map +1 -0
- package/lib/components/respArea/choice.js +2 -0
- package/lib/constants.js.map +1 -0
- package/lib/extensions/component.js +5 -5
- package/lib/extensions/component.js.map +1 -0
- package/lib/extensions/css.js.map +1 -0
- package/lib/extensions/custom-toolbar-wrapper.js +2 -4
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -0
- package/lib/extensions/extended-table.js +30 -0
- package/lib/extensions/extended-table.js.map +1 -0
- package/lib/extensions/image.js +2 -8
- package/lib/extensions/image.js.map +1 -0
- package/lib/extensions/index.js +52 -0
- package/lib/extensions/index.js.map +1 -0
- package/lib/extensions/math.js.map +1 -0
- package/lib/extensions/media.js +7 -7
- package/lib/extensions/media.js.map +1 -0
- package/lib/extensions/responseArea.js +7 -7
- package/lib/extensions/responseArea.js.map +1 -0
- package/lib/index.js +16 -1481
- package/lib/index.js.map +1 -0
- package/lib/plugins/index.js +8 -80
- package/lib/styles/editorContainerStyles.js +200 -0
- package/lib/styles/editorContainerStyles.js.map +1 -0
- package/lib/theme.js.map +1 -0
- package/lib/utils/size.js +34 -0
- package/lib/utils/size.js.map +1 -0
- package/package.json +1 -1
- package/src/components/CharacterPicker.jsx +185 -0
- package/src/components/EditableHtml.jsx +306 -0
- package/src/components/MenuBar.jsx +630 -0
- package/src/components/TiptapContainer.jsx +96 -0
- package/src/components/characters/characterUtils.js +127 -0
- package/src/{plugins/image/image-toolbar.jsx → components/image/ImageToolbar.jsx} +2 -2
- package/src/{plugins/image/insert-image-handler.js → components/image/InsertImageHandler.js} +0 -1
- package/src/{plugins/media/media-dialog.js → components/media/MediaDialog.js} +2 -2
- package/src/{plugins/respArea/drag-in-the-blank → components/respArea/DragInTheBlank}/choice.jsx +1 -1
- package/src/{plugins/respArea/inline-dropdown/index.jsx → components/respArea/InlineDropdown.jsx} +1 -1
- package/src/components/respArea/ToolbarIcon.jsx +68 -0
- package/src/extensions/component.jsx +2 -2
- package/src/extensions/custom-toolbar-wrapper.jsx +6 -7
- package/src/extensions/extended-table.js +27 -0
- package/src/extensions/image.js +2 -2
- package/src/extensions/index.js +76 -0
- package/src/extensions/media.js +12 -7
- package/src/extensions/responseArea.js +7 -7
- package/src/index.jsx +3 -1440
- package/src/styles/editorContainerStyles.js +203 -0
- package/src/utils/size.js +32 -0
- package/src/__tests__/editor.test.jsx +0 -363
- package/src/__tests__/serialization.test.js +0 -291
- package/src/block-tags.js +0 -17
- package/src/editor.jsx +0 -1197
- package/src/extensions/characters.js +0 -46
- package/src/old-index.jsx +0 -162
- package/src/parse-html.js +0 -8
- package/src/plugins/README.md +0 -27
- package/src/plugins/characters/index.jsx +0 -284
- package/src/plugins/characters/utils.js +0 -447
- package/src/plugins/css/index.jsx +0 -340
- package/src/plugins/customPlugin/index.jsx +0 -85
- package/src/plugins/html/icons/index.jsx +0 -19
- package/src/plugins/html/index.jsx +0 -72
- package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +0 -51
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +0 -27
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +0 -44
- package/src/plugins/image/__tests__/component.test.jsx +0 -41
- package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +0 -42
- package/src/plugins/image/__tests__/image-toolbar.test.jsx +0 -11
- package/src/plugins/image/__tests__/index.test.js +0 -95
- package/src/plugins/image/__tests__/insert-image-handler.test.js +0 -113
- package/src/plugins/image/__tests__/mock-change.js +0 -15
- package/src/plugins/image/component.jsx +0 -343
- package/src/plugins/image/index.jsx +0 -227
- package/src/plugins/index.jsx +0 -377
- package/src/plugins/list/__tests__/index.test.js +0 -54
- package/src/plugins/list/index.jsx +0 -305
- package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +0 -48
- package/src/plugins/math/__tests__/index.test.jsx +0 -245
- package/src/plugins/math/index.jsx +0 -379
- package/src/plugins/media/__tests__/index.test.js +0 -75
- package/src/plugins/media/index.jsx +0 -325
- package/src/plugins/rendering/index.js +0 -31
- package/src/plugins/respArea/index.jsx +0 -299
- package/src/plugins/respArea/math-templated/index.jsx +0 -104
- package/src/plugins/respArea/utils.jsx +0 -90
- package/src/plugins/table/CustomTablePlugin.js +0 -113
- package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +0 -44
- package/src/plugins/table/__tests__/index.test.jsx +0 -401
- package/src/plugins/table/__tests__/table-toolbar.test.jsx +0 -42
- package/src/plugins/table/index.jsx +0 -427
- package/src/plugins/table/table-toolbar.jsx +0 -136
- package/src/plugins/textAlign/index.jsx +0 -23
- package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +0 -923
- package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +0 -20
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +0 -36
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +0 -46
- package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +0 -94
- package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +0 -37
- package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +0 -51
- package/src/plugins/toolbar/__tests__/toolbar.test.jsx +0 -106
- package/src/plugins/toolbar/default-toolbar.jsx +0 -206
- package/src/plugins/toolbar/editor-and-toolbar.jsx +0 -257
- package/src/plugins/toolbar/index.jsx +0 -23
- package/src/plugins/toolbar/toolbar.jsx +0 -338
- package/src/plugins/utils.js +0 -31
- package/src/serialization.jsx +0 -621
- /package/src/{plugins → components}/characters/custom-popper.js +0 -0
- /package/src/{plugins/toolbar → components/common}/done-button.jsx +0 -0
- /package/src/{plugins/toolbar → components/common}/toolbar-buttons.jsx +0 -0
- /package/src/{plugins/css/icons/index.jsx → components/icons/CssIcon.jsx} +0 -0
- /package/src/{plugins/respArea/icons/index.jsx → components/icons/RespArea.jsx} +0 -0
- /package/src/{plugins/table/icons/index.jsx → components/icons/TableIcons.jsx} +0 -0
- /package/src/{plugins/textAlign/icons/index.jsx → components/icons/TextAlign.jsx} +0 -0
- /package/src/{plugins/image/alt-dialog.jsx → components/image/AltDialog.jsx} +0 -0
- /package/src/{plugins/media/media-toolbar.jsx → components/media/MediaToolbar.jsx} +0 -0
- /package/src/{plugins/media/media-wrapper.jsx → components/media/MediaWrapper.jsx} +0 -0
- /package/src/{plugins/respArea/drag-in-the-blank/index.jsx → components/respArea/DragInTheBlank/DragInTheBlank.jsx} +0 -0
- /package/src/{plugins/respArea/explicit-constructed-response/index.jsx → components/respArea/ExplicitConstructedResponse.jsx} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/media/MediaDialog.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA","sourcesContent":["export { default } from '../../plugins/media/media-dialog';\n"],"file":"MediaDialog.js"}
|
|
@@ -0,0 +1,101 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lZGlhL01lZGlhVG9vbGJhci5qc3giXSwibmFtZXMiOlsidXNlU3R5bGVzIiwidGhlbWUiLCJyb290IiwicG9zaXRpb24iLCJib3R0b20iLCJsZWZ0Iiwid2lkdGgiLCJiYWNrZ3JvdW5kIiwicGFsZXR0ZSIsImNvbW1vbiIsIndoaXRlIiwiZGlzcGxheSIsInBhZGRpbmciLCJib3hTaGFkb3ciLCJlZGl0Q29udGFpbmVyIiwiY3Vyc29yIiwiZmxleCIsImJvcmRlciIsImJsYWNrIiwidGV4dEFsaWduIiwiYm9yZGVyV2lkdGgiLCJtYXJnaW5SaWdodCIsInBhZGRpbmdSaWdodCIsInJlbW92ZUNvbnRhaW5lciIsIk1lZGlhVG9vbGJhciIsInByb3BzIiwiY2xhc3NlcyIsImhpZGVFZGl0Iiwib25FZGl0Iiwib25SZW1vdmUiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImZ1bmMiLCJib29sIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsU0FBUyxHQUFHLHdCQUFXLFVBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQ3ZDQyxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsUUFBUSxFQUFFLFVBRE47QUFFSkMsTUFBQUEsTUFBTSxFQUFFLEtBRko7QUFHSkMsTUFBQUEsSUFBSSxFQUFFLENBSEY7QUFJSkMsTUFBQUEsS0FBSyxFQUFFLE1BSkg7QUFLSkMsTUFBQUEsVUFBVSxFQUFFTixLQUFLLENBQUNPLE9BQU4sQ0FBY0MsTUFBZCxDQUFxQkMsS0FMN0I7QUFNSkMsTUFBQUEsT0FBTyxFQUFFLGFBTkw7QUFPSkMsTUFBQUEsT0FBTyxFQUFFLEtBUEw7QUFRSkMsTUFBQUEsU0FBUyxFQUFFO0FBUlAsS0FEaUM7QUFXdkNDLElBQUFBLGFBQWEsRUFBRTtBQUNiQyxNQUFBQSxNQUFNLEVBQUUsU0FESztBQUViQyxNQUFBQSxJQUFJLEVBQUUsQ0FGTztBQUdiQyxNQUFBQSxNQUFNLGtCQUFXaEIsS0FBSyxDQUFDTyxPQUFOLENBQWNDLE1BQWQsQ0FBcUJTLEtBQWhDLENBSE87QUFJYkMsTUFBQUEsU0FBUyxFQUFFLE9BSkU7QUFLYkMsTUFBQUEsV0FBVyxFQUFFLFdBTEE7QUFNYkMsTUFBQUEsV0FBVyxFQUFFLEtBTkE7QUFPYkMsTUFBQUEsWUFBWSxFQUFFO0FBUEQsS0FYd0I7QUFvQnZDQyxJQUFBQSxlQUFlLEVBQUU7QUFDZlIsTUFBQUEsTUFBTSxFQUFFO0FBRE87QUFwQnNCLEdBQVo7QUFBQSxDQUFYLENBQWxCOztJQXlCTVMsWTs7Ozs7Ozs7Ozs7O1dBUUosa0JBQVM7QUFDUCx3QkFBZ0QsS0FBS0MsS0FBckQ7QUFBQSxVQUFRQyxPQUFSLGVBQVFBLE9BQVI7QUFBQSxVQUFpQkMsUUFBakIsZUFBaUJBLFFBQWpCO0FBQUEsVUFBMkJDLE1BQTNCLGVBQTJCQSxNQUEzQjtBQUFBLFVBQW1DQyxRQUFuQyxlQUFtQ0EsUUFBbkM7QUFFQSwwQkFDRTtBQUFNLFFBQUEsU0FBUyxFQUFFSCxPQUFPLENBQUN4QjtBQUF6QixTQUNHeUIsUUFBUSxHQUFHLElBQUgsZ0JBQ1A7QUFBTSxRQUFBLFNBQVMsRUFBRUQsT0FBTyxDQUFDWixhQUF6QjtBQUF3QyxRQUFBLE9BQU8sRUFBRWM7QUFBakQseUJBRkosZUFNRTtBQUFNLFFBQUEsU0FBUyxFQUFFRixPQUFPLENBQUNILGVBQXpCO0FBQTBDLFFBQUEsT0FBTyxFQUFFTTtBQUFuRCxrQkFORixDQURGO0FBWUQ7OztFQXZCd0JDLGtCQUFNQyxTOztpQ0FBM0JQLFksZUFDZTtBQUNqQkUsRUFBQUEsT0FBTyxFQUFFTSxzQkFBVUMsTUFERjtBQUVqQkwsRUFBQUEsTUFBTSxFQUFFSSxzQkFBVUUsSUFGRDtBQUdqQlAsRUFBQUEsUUFBUSxFQUFFSyxzQkFBVUcsSUFISDtBQUlqQk4sRUFBQUEsUUFBUSxFQUFFRyxzQkFBVUU7QUFKSCxDOztlQXlCTmxDLFNBQVMsQ0FBQ3dCLFlBQUQsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5cbmNvbnN0IHVzZVN0eWxlcyA9IHdpdGhTdHlsZXMoKHRoZW1lKSA9PiAoe1xuICByb290OiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYm90dG9tOiAnNXB4JyxcbiAgICBsZWZ0OiAwLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgYmFja2dyb3VuZDogdGhlbWUucGFsZXR0ZS5jb21tb24ud2hpdGUsXG4gICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICBwYWRkaW5nOiAnNXB4JyxcbiAgICBib3hTaGFkb3c6ICcwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpJyxcbiAgfSxcbiAgZWRpdENvbnRhaW5lcjoge1xuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIGZsZXg6IDMsXG4gICAgYm9yZGVyOiBgc29saWQgJHt0aGVtZS5wYWxldHRlLmNvbW1vbi5ibGFja31gLFxuICAgIHRleHRBbGlnbjogJ3JpZ2h0JyxcbiAgICBib3JkZXJXaWR0aDogJzAgMnB4IDAgMCcsXG4gICAgbWFyZ2luUmlnaHQ6ICc1cHgnLFxuICAgIHBhZGRpbmdSaWdodDogJzVweCcsXG4gIH0sXG4gIHJlbW92ZUNvbnRhaW5lcjoge1xuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICB9LFxufSkpO1xuXG5jbGFzcyBNZWRpYVRvb2xiYXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25FZGl0OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBoaWRlRWRpdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25SZW1vdmU6IFByb3BUeXBlcy5mdW5jLFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGNsYXNzZXMsIGhpZGVFZGl0LCBvbkVkaXQsIG9uUmVtb3ZlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y2xhc3Nlcy5yb290fT5cbiAgICAgICAge2hpZGVFZGl0ID8gbnVsbCA6IChcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMuZWRpdENvbnRhaW5lcn0gb25DbGljaz17b25FZGl0fT5cbiAgICAgICAgICAgIEVkaXQgU2V0dGluZ3NcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICl9XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y2xhc3Nlcy5yZW1vdmVDb250YWluZXJ9IG9uQ2xpY2s9e29uUmVtb3ZlfT5cbiAgICAgICAgICBSZW1vdmVcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlU3R5bGVzKE1lZGlhVG9vbGJhcik7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/media/MediaToolbar.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA","sourcesContent":["export { default } from '../../plugins/media/media-toolbar';\n"],"file":"MediaToolbar.js"}
|
|
@@ -0,0 +1,93 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lZGlhL01lZGlhV3JhcHBlci5qc3giXSwibmFtZXMiOlsidXNlU3R5bGVzIiwicm9vdCIsInBvc2l0aW9uIiwiZWRpdG9yIiwiZGlzcGxheSIsIm92ZXJmbG93IiwiTWVkaWFXcmFwcGVyIiwicHJvcHMiLCJjbGFzc2VzIiwiY2hpbGRyZW4iLCJ3aWR0aCIsInJlc3QiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImFycmF5IiwiYm9vbCIsIm9uZU9mVHlwZSIsIm51bWJlciIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLFNBQVMsR0FBRyx3QkFBVztBQUFBLFNBQU87QUFDbENDLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSxRQUFRLEVBQUU7QUFETixLQUQ0QjtBQUlsQ0MsSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLE9BQU8sRUFBRSxjQURIO0FBRU5DLE1BQUFBLFFBQVEsRUFBRTtBQUZKO0FBSjBCLEdBQVA7QUFBQSxDQUFYLENBQWxCOztJQVVNQyxZOzs7Ozs7Ozs7Ozs7V0FRSixrQkFBUztBQUNQLHdCQUFzRCxLQUFLQyxLQUEzRDtBQUFBLFVBQVFKLE1BQVIsZUFBUUEsTUFBUjtBQUFBLFVBQWdCSyxPQUFoQixlQUFnQkEsT0FBaEI7QUFBQSxVQUF5QkMsUUFBekIsZUFBeUJBLFFBQXpCO0FBQUEsVUFBbUNDLEtBQW5DLGVBQW1DQSxLQUFuQztBQUFBLFVBQTZDQyxJQUE3QztBQUVBLDBCQUNFO0FBQ0UsUUFBQSxTQUFTLEVBQUUsNEJBQVdILE9BQU8sQ0FBQ1AsSUFBbkIsdUNBQ1JPLE9BQU8sQ0FBQ0wsTUFEQSxFQUNTQSxNQURUO0FBRGIsU0FJTVEsSUFKTjtBQUtFLFFBQUEsS0FBSyxFQUFFO0FBQ0xELFVBQUFBLEtBQUssRUFBRUEsS0FBSyxJQUFJO0FBRFg7QUFMVCxVQVNHRCxRQVRILENBREY7QUFhRDs7O0VBeEJ3Qkcsa0JBQU1DLFM7O2lDQUEzQlAsWSxlQUNlO0FBQ2pCRSxFQUFBQSxPQUFPLEVBQUVNLHNCQUFVQyxNQURGO0FBRWpCTixFQUFBQSxRQUFRLEVBQUVLLHNCQUFVRSxLQUZIO0FBR2pCYixFQUFBQSxNQUFNLEVBQUVXLHNCQUFVRyxJQUhEO0FBSWpCUCxFQUFBQSxLQUFLLEVBQUVJLHNCQUFVSSxTQUFWLENBQW9CLENBQUNKLHNCQUFVSyxNQUFYLEVBQW1CTCxzQkFBVU0sTUFBN0IsQ0FBcEI7QUFKVSxDOztlQTBCTnBCLFNBQVMsQ0FBQ00sWUFBRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5jb25zdCB1c2VTdHlsZXMgPSB3aXRoU3R5bGVzKCgpID0+ICh7XG4gIHJvb3Q6IHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgfSxcbiAgZWRpdG9yOiB7XG4gICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICB9LFxufSkpO1xuXG5jbGFzcyBNZWRpYVdyYXBwZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hcnJheSxcbiAgICBlZGl0b3I6IFByb3BUeXBlcy5ib29sLFxuICAgIHdpZHRoOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZWRpdG9yLCBjbGFzc2VzLCBjaGlsZHJlbiwgd2lkdGgsIC4uLnJlc3QgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMucm9vdCwge1xuICAgICAgICAgIFtjbGFzc2VzLmVkaXRvcl06IGVkaXRvcixcbiAgICAgICAgfSl9XG4gICAgICAgIHsuLi5yZXN0fVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHdpZHRoOiB3aWR0aCB8fCAzMDAsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVN0eWxlcyhNZWRpYVdyYXBwZXIpO1xuIl19
|
|
@@ -0,0 +1,94 @@
|
|
|
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 _react2 = require("@tiptap/react");
|
|
19
|
+
|
|
20
|
+
var _choice = _interopRequireDefault(require("./choice"));
|
|
21
|
+
|
|
22
|
+
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
var onValueChange = function onValueChange(editor, node, pos, choice) {
|
|
29
|
+
var tr = editor.state.tr; // Merge old and new attributes
|
|
30
|
+
|
|
31
|
+
tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), choice));
|
|
32
|
+
tr.isDone = true;
|
|
33
|
+
editor.view.dispatch(tr);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.onValueChange = onValueChange;
|
|
37
|
+
|
|
38
|
+
var onRemoveResponse = function onRemoveResponse(editor, node, pos) {
|
|
39
|
+
var tr = editor.state.tr; // Merge old and new attributes
|
|
40
|
+
|
|
41
|
+
tr.setNodeMarkup(pos, undefined, (0, _omit["default"])(node.attrs, ['value', 'id']));
|
|
42
|
+
tr.isDone = true;
|
|
43
|
+
editor.view.dispatch(tr);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
exports.onRemoveResponse = onRemoveResponse;
|
|
47
|
+
|
|
48
|
+
var DragDrop = function DragDrop(props) {
|
|
49
|
+
var editor = props.editor,
|
|
50
|
+
node = props.node,
|
|
51
|
+
getPos = props.getPos,
|
|
52
|
+
options = props.options,
|
|
53
|
+
selected = props.selected;
|
|
54
|
+
var attributes = node.attrs;
|
|
55
|
+
var inTable = attributes.inTable;
|
|
56
|
+
var pos = getPos(); // console.log({nodeProps.children})
|
|
57
|
+
|
|
58
|
+
return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, {
|
|
59
|
+
className: "drag-in-the-blank",
|
|
60
|
+
"data-selected": selected
|
|
61
|
+
}, /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
|
|
62
|
+
style: {
|
|
63
|
+
display: 'inline-flex',
|
|
64
|
+
minHeight: '50px',
|
|
65
|
+
minWidth: '178px',
|
|
66
|
+
position: 'relative',
|
|
67
|
+
margin: inTable ? '10px' : '0 10px',
|
|
68
|
+
cursor: 'pointer'
|
|
69
|
+
}
|
|
70
|
+
}), /*#__PURE__*/_react["default"].createElement(_choice["default"], {
|
|
71
|
+
n: attributes,
|
|
72
|
+
dragKey: attributes.id,
|
|
73
|
+
targetId: "0",
|
|
74
|
+
value: attributes,
|
|
75
|
+
duplicates: options.duplicates,
|
|
76
|
+
onChange: function onChange(choice) {
|
|
77
|
+
return onValueChange(editor, node, pos, choice);
|
|
78
|
+
},
|
|
79
|
+
removeResponse: function removeResponse() {
|
|
80
|
+
return onRemoveResponse(editor, node, pos);
|
|
81
|
+
}
|
|
82
|
+
})));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
DragDrop.propTypes = {
|
|
86
|
+
attributes: _propTypes["default"].object,
|
|
87
|
+
data: _propTypes["default"].object,
|
|
88
|
+
n: _propTypes["default"].object,
|
|
89
|
+
nodeProps: _propTypes["default"].object,
|
|
90
|
+
opts: _propTypes["default"].object
|
|
91
|
+
};
|
|
92
|
+
var _default = DragDrop;
|
|
93
|
+
exports["default"] = _default;
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0RyYWdJblRoZUJsYW5rL0RyYWdJblRoZUJsYW5rLmpzeCJdLCJuYW1lcyI6WyJvblZhbHVlQ2hhbmdlIiwiZWRpdG9yIiwibm9kZSIsInBvcyIsImNob2ljZSIsInRyIiwic3RhdGUiLCJzZXROb2RlTWFya3VwIiwidW5kZWZpbmVkIiwiYXR0cnMiLCJpc0RvbmUiLCJ2aWV3IiwiZGlzcGF0Y2giLCJvblJlbW92ZVJlc3BvbnNlIiwiRHJhZ0Ryb3AiLCJwcm9wcyIsImdldFBvcyIsIm9wdGlvbnMiLCJzZWxlY3RlZCIsImF0dHJpYnV0ZXMiLCJpblRhYmxlIiwiZGlzcGxheSIsIm1pbkhlaWdodCIsIm1pbldpZHRoIiwicG9zaXRpb24iLCJtYXJnaW4iLCJjdXJzb3IiLCJpZCIsImR1cGxpY2F0ZXMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJkYXRhIiwibiIsIm5vZGVQcm9wcyIsIm9wdHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxNQUFELEVBQVNDLElBQVQsRUFBZUMsR0FBZixFQUFvQkMsTUFBcEIsRUFBK0I7QUFDMUQsTUFBUUMsRUFBUixHQUFlSixNQUFNLENBQUNLLEtBQXRCLENBQVFELEVBQVIsQ0FEMEQsQ0FHMUQ7O0FBQ0FBLEVBQUFBLEVBQUUsQ0FBQ0UsYUFBSCxDQUFpQkosR0FBakIsRUFBc0JLLFNBQXRCLGtDQUNLTixJQUFJLENBQUNPLEtBRFYsR0FFS0wsTUFGTDtBQUlBQyxFQUFBQSxFQUFFLENBQUNLLE1BQUgsR0FBWSxJQUFaO0FBQ0FULEVBQUFBLE1BQU0sQ0FBQ1UsSUFBUCxDQUFZQyxRQUFaLENBQXFCUCxFQUFyQjtBQUNELENBVk07Ozs7QUFZQSxJQUFNUSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNaLE1BQUQsRUFBU0MsSUFBVCxFQUFlQyxHQUFmLEVBQXVCO0FBQ3JELE1BQVFFLEVBQVIsR0FBZUosTUFBTSxDQUFDSyxLQUF0QixDQUFRRCxFQUFSLENBRHFELENBR3JEOztBQUNBQSxFQUFBQSxFQUFFLENBQUNFLGFBQUgsQ0FBaUJKLEdBQWpCLEVBQXNCSyxTQUF0QixFQUFpQyxzQkFBS04sSUFBSSxDQUFDTyxLQUFWLEVBQWlCLENBQUMsT0FBRCxFQUFVLElBQVYsQ0FBakIsQ0FBakM7QUFDQUosRUFBQUEsRUFBRSxDQUFDSyxNQUFILEdBQVksSUFBWjtBQUNBVCxFQUFBQSxNQUFNLENBQUNVLElBQVAsQ0FBWUMsUUFBWixDQUFxQlAsRUFBckI7QUFDRCxDQVBNOzs7O0FBU1AsSUFBTVMsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQ0MsS0FBRCxFQUFXO0FBQzFCLE1BQVFkLE1BQVIsR0FBb0RjLEtBQXBELENBQVFkLE1BQVI7QUFBQSxNQUFnQkMsSUFBaEIsR0FBb0RhLEtBQXBELENBQWdCYixJQUFoQjtBQUFBLE1BQXNCYyxNQUF0QixHQUFvREQsS0FBcEQsQ0FBc0JDLE1BQXRCO0FBQUEsTUFBOEJDLE9BQTlCLEdBQW9ERixLQUFwRCxDQUE4QkUsT0FBOUI7QUFBQSxNQUF1Q0MsUUFBdkMsR0FBb0RILEtBQXBELENBQXVDRyxRQUF2QztBQUNBLE1BQWVDLFVBQWYsR0FBOEJqQixJQUE5QixDQUFRTyxLQUFSO0FBQ0EsTUFBUVcsT0FBUixHQUFvQkQsVUFBcEIsQ0FBUUMsT0FBUjtBQUNBLE1BQU1qQixHQUFHLEdBQUdhLE1BQU0sRUFBbEIsQ0FKMEIsQ0FNMUI7O0FBQ0Esc0JBQ0UsZ0NBQUMsdUJBQUQ7QUFBaUIsSUFBQSxTQUFTLEVBQUMsbUJBQTNCO0FBQStDLHFCQUFlRTtBQUE5RCxrQkFDRSxzRUFDTUMsVUFETjtBQUVFLElBQUEsS0FBSyxFQUFFO0FBQ0xFLE1BQUFBLE9BQU8sRUFBRSxhQURKO0FBRUxDLE1BQUFBLFNBQVMsRUFBRSxNQUZOO0FBR0xDLE1BQUFBLFFBQVEsRUFBRSxPQUhMO0FBSUxDLE1BQUFBLFFBQVEsRUFBRSxVQUpMO0FBS0xDLE1BQUFBLE1BQU0sRUFBRUwsT0FBTyxHQUFHLE1BQUgsR0FBWSxRQUx0QjtBQU1MTSxNQUFBQSxNQUFNLEVBQUU7QUFOSDtBQUZULG1CQVdFLGdDQUFDLGtCQUFEO0FBQ0UsSUFBQSxDQUFDLEVBQUVQLFVBREw7QUFFRSxJQUFBLE9BQU8sRUFBRUEsVUFBVSxDQUFDUSxFQUZ0QjtBQUdFLElBQUEsUUFBUSxFQUFDLEdBSFg7QUFJRSxJQUFBLEtBQUssRUFBRVIsVUFKVDtBQUtFLElBQUEsVUFBVSxFQUFFRixPQUFPLENBQUNXLFVBTHRCO0FBTUUsSUFBQSxRQUFRLEVBQUUsa0JBQUN4QixNQUFEO0FBQUEsYUFBWUosYUFBYSxDQUFDQyxNQUFELEVBQVNDLElBQVQsRUFBZUMsR0FBZixFQUFvQkMsTUFBcEIsQ0FBekI7QUFBQSxLQU5aO0FBT0UsSUFBQSxjQUFjLEVBQUU7QUFBQSxhQUFNUyxnQkFBZ0IsQ0FBQ1osTUFBRCxFQUFTQyxJQUFULEVBQWVDLEdBQWYsQ0FBdEI7QUFBQTtBQVBsQixJQVhGLENBREYsQ0FERjtBQXlCRCxDQWhDRDs7QUFrQ0FXLFFBQVEsQ0FBQ2UsU0FBVCxHQUFxQjtBQUNuQlYsRUFBQUEsVUFBVSxFQUFFVyxzQkFBVUMsTUFESDtBQUVuQkMsRUFBQUEsSUFBSSxFQUFFRixzQkFBVUMsTUFGRztBQUduQkUsRUFBQUEsQ0FBQyxFQUFFSCxzQkFBVUMsTUFITTtBQUluQkcsRUFBQUEsU0FBUyxFQUFFSixzQkFBVUMsTUFKRjtBQUtuQkksRUFBQUEsSUFBSSxFQUFFTCxzQkFBVUM7QUFMRyxDQUFyQjtlQVFlakIsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgTm9kZVZpZXdXcmFwcGVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgRHJhZ0Ryb3BUaWxlIGZyb20gJy4vY2hvaWNlJztcbmltcG9ydCBvbWl0IGZyb20gJ2xvZGFzaC9vbWl0JztcblxuZXhwb3J0IGNvbnN0IG9uVmFsdWVDaGFuZ2UgPSAoZWRpdG9yLCBub2RlLCBwb3MsIGNob2ljZSkgPT4ge1xuICBjb25zdCB7IHRyIH0gPSBlZGl0b3Iuc3RhdGU7XG5cbiAgLy8gTWVyZ2Ugb2xkIGFuZCBuZXcgYXR0cmlidXRlc1xuICB0ci5zZXROb2RlTWFya3VwKHBvcywgdW5kZWZpbmVkLCB7XG4gICAgLi4ubm9kZS5hdHRycyxcbiAgICAuLi5jaG9pY2UsXG4gIH0pO1xuICB0ci5pc0RvbmUgPSB0cnVlO1xuICBlZGl0b3Iudmlldy5kaXNwYXRjaCh0cik7XG59O1xuXG5leHBvcnQgY29uc3Qgb25SZW1vdmVSZXNwb25zZSA9IChlZGl0b3IsIG5vZGUsIHBvcykgPT4ge1xuICBjb25zdCB7IHRyIH0gPSBlZGl0b3Iuc3RhdGU7XG5cbiAgLy8gTWVyZ2Ugb2xkIGFuZCBuZXcgYXR0cmlidXRlc1xuICB0ci5zZXROb2RlTWFya3VwKHBvcywgdW5kZWZpbmVkLCBvbWl0KG5vZGUuYXR0cnMsIFsndmFsdWUnLCAnaWQnXSkpO1xuICB0ci5pc0RvbmUgPSB0cnVlO1xuICBlZGl0b3Iudmlldy5kaXNwYXRjaCh0cik7XG59O1xuXG5jb25zdCBEcmFnRHJvcCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGVkaXRvciwgbm9kZSwgZ2V0UG9zLCBvcHRpb25zLCBzZWxlY3RlZCB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgYXR0cnM6IGF0dHJpYnV0ZXMgfSA9IG5vZGU7XG4gIGNvbnN0IHsgaW5UYWJsZSB9ID0gYXR0cmlidXRlcztcbiAgY29uc3QgcG9zID0gZ2V0UG9zKCk7XG5cbiAgLy8gY29uc29sZS5sb2coe25vZGVQcm9wcy5jaGlsZHJlbn0pXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlciBjbGFzc05hbWU9XCJkcmFnLWluLXRoZS1ibGFua1wiIGRhdGEtc2VsZWN0ZWQ9e3NlbGVjdGVkfT5cbiAgICAgIDxzcGFuXG4gICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgICAgbWluSGVpZ2h0OiAnNTBweCcsXG4gICAgICAgICAgbWluV2lkdGg6ICcxNzhweCcsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgbWFyZ2luOiBpblRhYmxlID8gJzEwcHgnIDogJzAgMTBweCcsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxEcmFnRHJvcFRpbGVcbiAgICAgICAgICBuPXthdHRyaWJ1dGVzfVxuICAgICAgICAgIGRyYWdLZXk9e2F0dHJpYnV0ZXMuaWR9XG4gICAgICAgICAgdGFyZ2V0SWQ9XCIwXCJcbiAgICAgICAgICB2YWx1ZT17YXR0cmlidXRlc31cbiAgICAgICAgICBkdXBsaWNhdGVzPXtvcHRpb25zLmR1cGxpY2F0ZXN9XG4gICAgICAgICAgb25DaGFuZ2U9eyhjaG9pY2UpID0+IG9uVmFsdWVDaGFuZ2UoZWRpdG9yLCBub2RlLCBwb3MsIGNob2ljZSl9XG4gICAgICAgICAgcmVtb3ZlUmVzcG9uc2U9eygpID0+IG9uUmVtb3ZlUmVzcG9uc2UoZWRpdG9yLCBub2RlLCBwb3MpfVxuICAgICAgICA+PC9EcmFnRHJvcFRpbGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59O1xuXG5EcmFnRHJvcC5wcm9wVHlwZXMgPSB7XG4gIGF0dHJpYnV0ZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gIG46IFByb3BUeXBlcy5vYmplY3QsXG4gIG5vZGVQcm9wczogUHJvcFR5cGVzLm9iamVjdCxcbiAgb3B0czogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERyYWdEcm9wO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/respArea/DragInTheBlank/DragInTheBlank.jsx"],"names":["onValueChange","editor","node","pos","choice","tr","state","setNodeMarkup","undefined","attrs","isDone","view","dispatch","onRemoveResponse","DragDrop","props","getPos","options","selected","attributes","inTable","display","minHeight","minWidth","position","margin","cursor","id","duplicates","propTypes","PropTypes","object","data","n","nodeProps","opts"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport DragDropTile from './choice';\nimport omit from 'lodash/omit';\n\nexport const onValueChange = (editor, node, pos, choice) => {\n const { tr } = editor.state;\n\n // Merge old and new attributes\n tr.setNodeMarkup(pos, undefined, {\n ...node.attrs,\n ...choice,\n });\n tr.isDone = true;\n editor.view.dispatch(tr);\n};\n\nexport const onRemoveResponse = (editor, node, pos) => {\n const { tr } = editor.state;\n\n // Merge old and new attributes\n tr.setNodeMarkup(pos, undefined, omit(node.attrs, ['value', 'id']));\n tr.isDone = true;\n editor.view.dispatch(tr);\n};\n\nconst DragDrop = (props) => {\n const { editor, node, getPos, options, selected } = props;\n const { attrs: attributes } = node;\n const { inTable } = attributes;\n const pos = getPos();\n\n // console.log({nodeProps.children})\n return (\n <NodeViewWrapper className=\"drag-in-the-blank\" data-selected={selected}>\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n minHeight: '50px',\n minWidth: '178px',\n position: 'relative',\n margin: inTable ? '10px' : '0 10px',\n cursor: 'pointer',\n }}\n >\n <DragDropTile\n n={attributes}\n dragKey={attributes.id}\n targetId=\"0\"\n value={attributes}\n duplicates={options.duplicates}\n onChange={(choice) => onValueChange(editor, node, pos, choice)}\n removeResponse={() => onRemoveResponse(editor, node, pos)}\n ></DragDropTile>\n </span>\n </NodeViewWrapper>\n );\n};\n\nDragDrop.propTypes = {\n attributes: PropTypes.object,\n data: PropTypes.object,\n n: PropTypes.object,\n nodeProps: PropTypes.object,\n opts: PropTypes.object,\n};\n\nexport default DragDrop;\n"],"file":"DragInTheBlank.js"}
|
|
@@ -0,0 +1,289 @@
|
|
|
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 _RespArea = require("../../icons/RespArea");
|
|
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
|
+
_this.state = {
|
|
85
|
+
hoveredElementSize: null
|
|
86
|
+
};
|
|
87
|
+
return _this;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
(0, _createClass2["default"])(BlankContent, [{
|
|
91
|
+
key: "componentDidMount",
|
|
92
|
+
value: function componentDidMount() {
|
|
93
|
+
document.addEventListener('click', this.handleClick);
|
|
94
|
+
}
|
|
95
|
+
}, {
|
|
96
|
+
key: "componentWillUnmount",
|
|
97
|
+
value: function componentWillUnmount() {
|
|
98
|
+
document.removeEventListener('click', this.handleClick);
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
key: "handleClick",
|
|
102
|
+
value: function handleClick(event) {
|
|
103
|
+
var classes = this.props.classes;
|
|
104
|
+
|
|
105
|
+
if (this.elementRef) {
|
|
106
|
+
this.elementRef.className = this.elementRef.contains(event.target) ? classes.selected : '';
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}, {
|
|
110
|
+
key: "getSnapshotBeforeUpdate",
|
|
111
|
+
value: function getSnapshotBeforeUpdate(prevProps) {
|
|
112
|
+
if (!prevProps.isOver && this.props.isOver && this.elementRef) {
|
|
113
|
+
var node = this.elementRef;
|
|
114
|
+
return {
|
|
115
|
+
width: node.offsetWidth,
|
|
116
|
+
height: node.offsetHeight
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
}, {
|
|
123
|
+
key: "componentDidUpdate",
|
|
124
|
+
value: function componentDidUpdate(prevProps, prevState, snapshot) {
|
|
125
|
+
if (this.elementRef && typeof _mathRendering.renderMath === 'function') {
|
|
126
|
+
(0, _mathRendering.renderMath)(this.elementRef);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (snapshot && (!this.state.hoveredElementSize || this.state.hoveredElementSize.width !== snapshot.width || this.state.hoveredElementSize.height !== snapshot.height)) {
|
|
130
|
+
this.setState({
|
|
131
|
+
hoveredElementSize: snapshot
|
|
132
|
+
});
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (prevProps.isOver && !this.props.isOver && this.state.hoveredElementSize) {
|
|
137
|
+
this.setState({
|
|
138
|
+
hoveredElementSize: null
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}, {
|
|
143
|
+
key: "render",
|
|
144
|
+
value: function render() {
|
|
145
|
+
var _this2 = this;
|
|
146
|
+
|
|
147
|
+
var _this$props = this.props,
|
|
148
|
+
n = _this$props.n,
|
|
149
|
+
children = _this$props.children,
|
|
150
|
+
isDragging = _this$props.isDragging,
|
|
151
|
+
dragItem = _this$props.dragItem,
|
|
152
|
+
isOver = _this$props.isOver,
|
|
153
|
+
value = _this$props.value;
|
|
154
|
+
var hoveredElementSize = this.state.hoveredElementSize;
|
|
155
|
+
var label = dragItem && isOver ? dragItem.value.value : value.value || "\xA0";
|
|
156
|
+
var finalLabel = isDragging ? "\xA0" : label;
|
|
157
|
+
var hasGrip = finalLabel !== "\xA0";
|
|
158
|
+
var isPreview = dragItem && isOver;
|
|
159
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
160
|
+
ref: function ref(_ref) {
|
|
161
|
+
return _this2.elementRef = _ref;
|
|
162
|
+
},
|
|
163
|
+
style: {
|
|
164
|
+
display: 'inline-flex',
|
|
165
|
+
minWidth: '178px',
|
|
166
|
+
minHeight: '36px',
|
|
167
|
+
background: isPreview ? "".concat(_renderUi.color.defaults.BORDER_LIGHT) : "".concat(_renderUi.color.defaults.WHITE),
|
|
168
|
+
border: isPreview ? "1px solid ".concat(_renderUi.color.defaults.BORDER_DARK) : "1px solid ".concat(_renderUi.color.defaults.BORDER_LIGHT),
|
|
169
|
+
boxSizing: 'border-box',
|
|
170
|
+
borderRadius: '3px',
|
|
171
|
+
overflow: 'hidden',
|
|
172
|
+
position: 'relative',
|
|
173
|
+
padding: '8px 8px 8px 35px',
|
|
174
|
+
width: hoveredElementSize ? hoveredElementSize.width : undefined,
|
|
175
|
+
height: hoveredElementSize ? hoveredElementSize.height : undefined
|
|
176
|
+
},
|
|
177
|
+
"data-key": n.key,
|
|
178
|
+
contentEditable: false
|
|
179
|
+
}, hasGrip && /*#__PURE__*/_react["default"].createElement(_RespArea.GripIcon, {
|
|
180
|
+
style: {
|
|
181
|
+
position: 'absolute',
|
|
182
|
+
top: '6px',
|
|
183
|
+
left: '15px',
|
|
184
|
+
color: '#9B9B9B'
|
|
185
|
+
},
|
|
186
|
+
contentEditable: false
|
|
187
|
+
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
188
|
+
dangerouslySetInnerHTML: {
|
|
189
|
+
__html: finalLabel
|
|
190
|
+
}
|
|
191
|
+
}), children);
|
|
192
|
+
}
|
|
193
|
+
}]);
|
|
194
|
+
return BlankContent;
|
|
195
|
+
}(_react["default"].Component);
|
|
196
|
+
|
|
197
|
+
exports.BlankContent = BlankContent;
|
|
198
|
+
(0, _defineProperty2["default"])(BlankContent, "propTypes", {
|
|
199
|
+
n: _propTypes["default"].object,
|
|
200
|
+
children: _propTypes["default"].func,
|
|
201
|
+
isDragging: _propTypes["default"].bool,
|
|
202
|
+
isOver: _propTypes["default"].bool,
|
|
203
|
+
dragItem: _propTypes["default"].object,
|
|
204
|
+
value: _propTypes["default"].object,
|
|
205
|
+
classes: _propTypes["default"].object
|
|
206
|
+
});
|
|
207
|
+
var StyledBlankContent = useStyles(BlankContent);
|
|
208
|
+
var connectedBlankContent = useStyles(function (_ref2) {
|
|
209
|
+
var connectDropTarget = _ref2.connectDropTarget,
|
|
210
|
+
connectDragSource = _ref2.connectDragSource,
|
|
211
|
+
props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
|
|
212
|
+
var classes = props.classes,
|
|
213
|
+
isOver = props.isOver,
|
|
214
|
+
value = props.value;
|
|
215
|
+
|
|
216
|
+
var dragContent = /*#__PURE__*/_react["default"].createElement(StyledBlankContent, props);
|
|
217
|
+
|
|
218
|
+
var dragEl = !value ? dragContent : connectDragSource( /*#__PURE__*/_react["default"].createElement("span", null, dragContent));
|
|
219
|
+
|
|
220
|
+
var content = /*#__PURE__*/_react["default"].createElement("span", {
|
|
221
|
+
className: (0, _classnames["default"])(classes.content, isOver && classes.over)
|
|
222
|
+
}, dragEl);
|
|
223
|
+
|
|
224
|
+
return connectDropTarget ? connectDropTarget(content) : content;
|
|
225
|
+
});
|
|
226
|
+
var tileTarget = {
|
|
227
|
+
drop: function drop(props, monitor) {
|
|
228
|
+
var draggedItem = monitor.getItem();
|
|
229
|
+
var shouldDrop = (0, _isUndefined["default"])(draggedItem.value.index) || (0, _isUndefined["default"])(props.value.index) || draggedItem.value.index !== props.value.index;
|
|
230
|
+
|
|
231
|
+
if (shouldDrop) {
|
|
232
|
+
props.onChange(draggedItem.value);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return {
|
|
236
|
+
dropped: shouldDrop
|
|
237
|
+
};
|
|
238
|
+
},
|
|
239
|
+
canDrop: function canDrop(props, monitor) {
|
|
240
|
+
var draggedItem = monitor.getItem();
|
|
241
|
+
return draggedItem.instanceId === props.instanceId;
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
exports.tileTarget = tileTarget;
|
|
245
|
+
var DropTile = (0, _drag.DropTarget)('drag-in-the-blank-choice', tileTarget, function (connect, monitor) {
|
|
246
|
+
return {
|
|
247
|
+
connectDropTarget: connect.dropTarget(),
|
|
248
|
+
isOver: monitor.isOver({
|
|
249
|
+
shallow: true
|
|
250
|
+
}),
|
|
251
|
+
dragItem: monitor.getItem()
|
|
252
|
+
};
|
|
253
|
+
})(connectedBlankContent);
|
|
254
|
+
var tileSource = {
|
|
255
|
+
canDrag: function canDrag(props) {
|
|
256
|
+
return !props.disabled && !!props.value;
|
|
257
|
+
},
|
|
258
|
+
beginDrag: function beginDrag(props) {
|
|
259
|
+
return {
|
|
260
|
+
id: props.targetId,
|
|
261
|
+
value: props.value,
|
|
262
|
+
instanceId: props.instanceId,
|
|
263
|
+
fromChoice: true
|
|
264
|
+
};
|
|
265
|
+
},
|
|
266
|
+
endDrag: function endDrag(props, monitor) {
|
|
267
|
+
// this will be null if it did not drop
|
|
268
|
+
var dropResult = monitor.getDropResult();
|
|
269
|
+
|
|
270
|
+
if (!dropResult || dropResult.dropped && !props.duplicates) {
|
|
271
|
+
var draggedItem = monitor.getItem();
|
|
272
|
+
|
|
273
|
+
if (draggedItem.fromChoice) {
|
|
274
|
+
props.removeResponse(draggedItem.value);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
exports.tileSource = tileSource;
|
|
280
|
+
|
|
281
|
+
var _default = (0, _drag.DragSource)('drag-in-the-blank-choice', tileSource, function (connect, monitor) {
|
|
282
|
+
return {
|
|
283
|
+
connectDragSource: connect.dragSource(),
|
|
284
|
+
isDragging: monitor.isDragging()
|
|
285
|
+
};
|
|
286
|
+
})(DropTile);
|
|
287
|
+
|
|
288
|
+
exports["default"] = _default;
|
|
289
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0RyYWdJblRoZUJsYW5rL2Nob2ljZS5qc3giXSwibmFtZXMiOlsidXNlU3R5bGVzIiwidGhlbWUiLCJjb250ZW50IiwiYm9yZGVyIiwicGFsZXR0ZSIsInByaW1hcnkiLCJtYWluIiwiZm9udFNpemUiLCJjaGlwIiwibWluV2lkdGgiLCJjb3JyZWN0IiwiY29sb3IiLCJpbmNvcnJlY3QiLCJlcnJvciIsInNlbGVjdGVkIiwicHJpbWFyeURhcmsiLCJCbGFua0NvbnRlbnQiLCJwcm9wcyIsImhhbmRsZUNsaWNrIiwiYmluZCIsInN0YXRlIiwiaG92ZXJlZEVsZW1lbnRTaXplIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImV2ZW50IiwiY2xhc3NlcyIsImVsZW1lbnRSZWYiLCJjbGFzc05hbWUiLCJjb250YWlucyIsInRhcmdldCIsInByZXZQcm9wcyIsImlzT3ZlciIsIm5vZGUiLCJ3aWR0aCIsIm9mZnNldFdpZHRoIiwiaGVpZ2h0Iiwib2Zmc2V0SGVpZ2h0IiwicHJldlN0YXRlIiwic25hcHNob3QiLCJyZW5kZXJNYXRoIiwic2V0U3RhdGUiLCJuIiwiY2hpbGRyZW4iLCJpc0RyYWdnaW5nIiwiZHJhZ0l0ZW0iLCJ2YWx1ZSIsImxhYmVsIiwiZmluYWxMYWJlbCIsImhhc0dyaXAiLCJpc1ByZXZpZXciLCJyZWYiLCJkaXNwbGF5IiwibWluSGVpZ2h0IiwiYmFja2dyb3VuZCIsImRlZmF1bHRzIiwiQk9SREVSX0xJR0hUIiwiV0hJVEUiLCJCT1JERVJfREFSSyIsImJveFNpemluZyIsImJvcmRlclJhZGl1cyIsIm92ZXJmbG93IiwicG9zaXRpb24iLCJwYWRkaW5nIiwidW5kZWZpbmVkIiwia2V5IiwidG9wIiwibGVmdCIsIl9faHRtbCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiZnVuYyIsImJvb2wiLCJTdHlsZWRCbGFua0NvbnRlbnQiLCJjb25uZWN0ZWRCbGFua0NvbnRlbnQiLCJjb25uZWN0RHJvcFRhcmdldCIsImNvbm5lY3REcmFnU291cmNlIiwiZHJhZ0NvbnRlbnQiLCJkcmFnRWwiLCJvdmVyIiwidGlsZVRhcmdldCIsImRyb3AiLCJtb25pdG9yIiwiZHJhZ2dlZEl0ZW0iLCJnZXRJdGVtIiwic2hvdWxkRHJvcCIsImluZGV4Iiwib25DaGFuZ2UiLCJkcm9wcGVkIiwiY2FuRHJvcCIsImluc3RhbmNlSWQiLCJEcm9wVGlsZSIsImNvbm5lY3QiLCJkcm9wVGFyZ2V0Iiwic2hhbGxvdyIsInRpbGVTb3VyY2UiLCJjYW5EcmFnIiwiZGlzYWJsZWQiLCJiZWdpbkRyYWciLCJpZCIsInRhcmdldElkIiwiZnJvbUNob2ljZSIsImVuZERyYWciLCJkcm9wUmVzdWx0IiwiZ2V0RHJvcFJlc3VsdCIsImR1cGxpY2F0ZXMiLCJyZW1vdmVSZXNwb25zZSIsImRyYWdTb3VyY2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUcsd0JBQVcsVUFBQ0MsS0FBRDtBQUFBLFNBQVk7QUFDdkNDLElBQUFBLE9BQU8sRUFBRTtBQUNQQyxNQUFBQSxNQUFNLHNCQUFlRixLQUFLLENBQUNHLE9BQU4sQ0FBY0MsT0FBZCxDQUFzQkMsSUFBckMsQ0FEQztBQUVQLG9CQUFjO0FBQ1pDLFFBQUFBLFFBQVEsRUFBRTtBQURFO0FBRlAsS0FEOEI7QUFPdkNDLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSxRQUFRLEVBQUU7QUFETixLQVBpQztBQVV2Q0MsSUFBQUEsT0FBTyxFQUFFO0FBQ1BQLE1BQUFBLE1BQU0sc0JBQWVRLGdCQUFNRCxPQUFOLEVBQWY7QUFEQyxLQVY4QjtBQWF2Q0UsSUFBQUEsU0FBUyxFQUFFO0FBQ1RULE1BQUFBLE1BQU0sc0JBQWVGLEtB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QUNBLFFBQU1xQixVQUFVLEdBQUdyQixPQUFPLENBQUNzQixhQUFSLEVBQW5COztBQUVBLFFBQUksQ0FBQ0QsVUFBRCxJQUFnQkEsVUFBVSxDQUFDZixPQUFYLElBQXNCLENBQUN6RSxLQUFLLENBQUMwRixVQUFqRCxFQUE4RDtBQUM1RCxVQUFNdEIsV0FBVyxHQUFHRCxPQUFPLENBQUNFLE9BQVIsRUFBcEI7O0FBRUEsVUFBSUQsV0FBVyxDQUFDa0IsVUFBaEIsRUFBNEI7QUFDMUJ0RixRQUFBQSxLQUFLLENBQUMyRixjQUFOLENBQXFCdkIsV0FBVyxDQUFDdkMsS0FBakM7QUFDRDtBQUNGO0FBQ0Y7QUF2QnVCLENBQW5COzs7ZUEwQlEsc0JBQVcsMEJBQVgsRUFBdUNtRCxVQUF2QyxFQUFtRCxVQUFDSCxPQUFELEVBQVVWLE9BQVY7QUFBQSxTQUF1QjtBQUN2Rk4sSUFBQUEsaUJBQWlCLEVBQUVnQixPQUFPLENBQUNlLFVBQVIsRUFEb0U7QUFFdkZqRSxJQUFBQSxVQUFVLEVBQUV3QyxPQUFPLENBQUN4QyxVQUFSO0FBRjJFLEdBQXZCO0FBQUEsQ0FBbkQsRUFHWGlELFFBSFcsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGlzVW5kZWZpbmVkIGZyb20gJ2xvZGFzaC9pc1VuZGVmaW5lZCc7XG5pbXBvcnQgeyBEcmFnU291cmNlLCBEcm9wVGFyZ2V0IH0gZnJvbSAnQHBpZS1saWIvZHJhZyc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHsgR3JpcEljb24gfSBmcm9tICcuLi8uLi9pY29ucy9SZXNwQXJlYSc7XG5cbmNvbnN0IHVzZVN0eWxlcyA9IHdpdGhTdHlsZXMoKHRoZW1lKSA9PiAoe1xuICBjb250ZW50OiB7XG4gICAgYm9yZGVyOiBgc29saWQgMHB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YCxcbiAgICAnJiBtangtZnJhYyc6IHtcbiAgICAgIGZvbnRTaXplOiAnMTIwJSAhaW1wb3J0YW50JyxcbiAgICB9LFxuICB9LFxuICBjaGlwOiB7XG4gICAgbWluV2lkdGg6ICc5MHB4JyxcbiAgfSxcbiAgY29ycmVjdDoge1xuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke2NvbG9yLmNvcnJlY3QoKX1gLFxuICB9LFxuICBpbmNvcnJlY3Q6IHtcbiAgICBib3JkZXI6IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLmVycm9yLm1haW59YCxcbiAgfSxcbiAgc2VsZWN0ZWQ6IHtcbiAgICBib3JkZXI6IGAycHggc29saWQgJHtjb2xvci5wcmltYXJ5RGFyaygpfSAhaW1wb3J0YW50YCxcbiAgfSxcbn0pKTtcblxuZXhwb3J0IGNsYXNzIEJsYW5rQ29udGVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNEcmFnZ2luZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNPdmVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkcmFnSXRlbTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5oYW5kbGVDbGljayA9IHRoaXMuaGFuZGxlQ2xpY2suYmluZCh0aGlzKTtcbiAgICB0aGlzLnN0YXRlID0geyBob3ZlcmVkRWxlbWVudFNpemU6IG51bGwgfTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oYW5kbGVDbGljayk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlQ2xpY2spO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQpIHtcbiAgICBjb25zdCB7IGNsYXNzZXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50UmVmKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYuY2xhc3NOYW1lID0gdGhpcy5lbGVtZW50UmVmLmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgPyBjbGFzc2VzLnNlbGVjdGVkIDogJyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUocHJldlByb3BzKSB7XG4gICAgaWYgKCFwcmV2UHJvcHMuaXNPdmVyICYmIHRoaXMucHJvcHMuaXNPdmVyICYmIHRoaXMuZWxlbWVudFJlZikge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZWxlbWVudFJlZjtcbiAgICAgIHJldHVybiB7IHdpZHRoOiBub2RlLm9mZnNldFdpZHRoLCBoZWlnaHQ6IG5vZGUub2Zmc2V0SGVpZ2h0IH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlLCBzbmFwc2hvdCkge1xuICAgIGlmICh0aGlzLmVsZW1lbnRSZWYgJiYgdHlwZW9mIHJlbmRlck1hdGggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJlbmRlck1hdGgodGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzbmFwc2hvdCAmJlxuICAgICAgKCF0aGlzLnN0YXRlLmhvdmVyZWRFbGVtZW50U2l6ZSB8fFxuICAgICAgICB0aGlzLnN0YXRlLmhvdmVyZWRFbGVtZW50U2l6ZS53aWR0aCAhPT0gc25hcHNob3Qud2lkdGggfHxcbiAgICAgICAgdGhpcy5zdGF0ZS5ob3ZlcmVkRWxlbWVudFNpemUuaGVpZ2h0ICE9PSBzbmFwc2hvdC5oZWlnaHQpXG4gICAgKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaG92ZXJlZEVsZW1lbnRTaXplOiBzbmFwc2hvdCB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocHJldlByb3BzLmlzT3ZlciAmJiAhdGhpcy5wcm9wcy5pc092ZXIgJiYgdGhpcy5zdGF0ZS5ob3ZlcmVkRWxlbWVudFNpemUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBob3ZlcmVkRWxlbWVudFNpemU6IG51bGwgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgbiwgY2hpbGRyZW4sIGlzRHJhZ2dpbmcsIGRyYWdJdGVtLCBpc092ZXIsIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgaG92ZXJlZEVsZW1lbnRTaXplIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgY29uc3QgbGFiZWwgPSBkcmFnSXRlbSAmJiBpc092ZXIgPyBkcmFnSXRlbS52YWx1ZS52YWx1ZSA6IHZhbHVlLnZhbHVlIHx8ICdcXHUwMEEwJztcbiAgICBjb25zdCBmaW5hbExhYmVsID0gaXNEcmFnZ2luZyA/ICdcXHUwMEEwJyA6IGxhYmVsO1xuICAgIGNvbnN0IGhhc0dyaXAgPSBmaW5hbExhYmVsICE9PSAnXFx1MDBBMCc7XG4gICAgY29uc3QgaXNQcmV2aWV3ID0gZHJhZ0l0ZW0gJiYgaXNPdmVyO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXsocmVmKSA9PiAodGhpcy5lbGVtZW50UmVmID0gcmVmKX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICAgIG1pbldpZHRoOiAnMTc4cHgnLFxuICAgICAgICAgIG1pbkhlaWdodDogJzM2cHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6IGlzUHJldmlldyA/IGAke2NvbG9yLmRlZmF1bHRzLkJPUkRFUl9MSUdIVH1gIDogYCR7Y29sb3IuZGVmYXVsdHMuV0hJVEV9YCxcbiAgICAgICAgICBib3JkZXI6IGlzUHJldmlldyA/IGAxcHggc29saWQgICR7Y29sb3IuZGVmYXVsdHMuQk9SREVSX0RBUkt9YCA6IGAxcHggc29saWQgICR7Y29sb3IuZGVmYXVsdHMuQk9SREVSX0xJR0hUfWAsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgcGFkZGluZzogJzhweCA4cHggOHB4IDM1cHgnLFxuICAgICAgICAgIHdpZHRoOiBob3ZlcmVkRWxlbWVudFNpemUgPyBob3ZlcmVkRWxlbWVudFNpemUud2lkdGggOiB1bmRlZmluZWQsXG4gICAgICAgICAgaGVpZ2h0OiBob3ZlcmVkRWxlbWVudFNpemUgPyBob3ZlcmVkRWxlbWVudFNpemUuaGVpZ2h0IDogdW5kZWZpbmVkLFxuICAgICAgICB9fVxuICAgICAgICBkYXRhLWtleT17bi5rZXl9XG4gICAgICAgIGNvbnRlbnRFZGl0YWJsZT17ZmFsc2V9XG4gICAgICA+XG4gICAgICAgIHtoYXNHcmlwICYmIChcbiAgICAgICAgICA8R3JpcEljb25cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICB0b3A6ICc2cHgnLFxuICAgICAgICAgICAgICBsZWZ0OiAnMTVweCcsXG4gICAgICAgICAgICAgIGNvbG9yOiAnIzlCOUI5QicsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXtmYWxzZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICA8c3BhblxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGZpbmFsTGFiZWwsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBTdHlsZWRCbGFua0NvbnRlbnQgPSB1c2VTdHlsZXMoQmxhbmtDb250ZW50KTtcblxuY29uc3QgY29ubmVjdGVkQmxhbmtDb250ZW50ID0gdXNlU3R5bGVzKCh7IGNvbm5lY3REcm9wVGFyZ2V0LCBjb25uZWN0RHJhZ1NvdXJjZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBjb25zdCB7IGNsYXNzZXMsIGlzT3ZlciwgdmFsdWUgfSA9IHByb3BzO1xuICBjb25zdCBkcmFnQ29udGVudCA9IDxTdHlsZWRCbGFua0NvbnRlbnQgey4uLnByb3BzfSAvPjtcbiAgY29uc3QgZHJhZ0VsID0gIXZhbHVlID8gZHJhZ0NvbnRlbnQgOiBjb25uZWN0RHJhZ1NvdXJjZSg8c3Bhbj57ZHJhZ0NvbnRlbnR9PC9zcGFuPik7XG4gIGNvbnN0IGNvbnRlbnQgPSA8c3BhbiBjbGFzc05hbWU9e2NsYXNzbmFtZXMoY2xhc3Nlcy5jb250ZW50LCBpc092ZXIgJiYgY2xhc3Nlcy5vdmVyKX0+e2RyYWdFbH08L3NwYW4+O1xuXG4gIHJldHVybiBjb25uZWN0RHJvcFRhcmdldCA/IGNvbm5lY3REcm9wVGFyZ2V0KGNvbnRlbnQpIDogY29udGVudDtcbn0pO1xuXG5leHBvcnQgY29uc3QgdGlsZVRhcmdldCA9IHtcbiAgZHJvcChwcm9wcywgbW9uaXRvcikge1xuICAgIGNvbnN0IGRyYWdnZWRJdGVtID0gbW9uaXRvci5nZXRJdGVtKCk7XG4gICAgY29uc3Qgc2hvdWxkRHJvcCA9XG4gICAgICBpc1VuZGVmaW5lZChkcmFnZ2VkSXRlbS52YWx1ZS5pbmRleCkgfHxcbiAgICAgIGlzVW5kZWZpbmVkKHByb3BzLnZhbHVlLmluZGV4KSB8fFxuICAgICAgZHJhZ2dlZEl0ZW0udmFsdWUuaW5kZXggIT09IHByb3BzLnZhbHVlLmluZGV4O1xuXG4gICAgaWYgKHNob3VsZERyb3ApIHtcbiAgICAgIHByb3BzLm9uQ2hhbmdlKGRyYWdnZWRJdGVtLnZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZHJvcHBlZDogc2hvdWxkRHJvcCxcbiAgICB9O1xuICB9LFxuICBjYW5Ecm9wKHByb3BzLCBtb25pdG9yKSB7XG4gICAgY29uc3QgZHJhZ2dlZEl0ZW0gPSBtb25pdG9yLmdldEl0ZW0oKTtcblxuICAgIHJldHVybiBkcmFnZ2VkSXRlbS5pbnN0YW5jZUlkID09PSBwcm9wcy5pbnN0YW5jZUlkO1xuICB9LFxufTtcblxuY29uc3QgRHJvcFRpbGUgPSBEcm9wVGFyZ2V0KCdkcmFnLWluLXRoZS1ibGFuay1jaG9pY2UnLCB0aWxlVGFyZ2V0LCAoY29ubmVjdCwgbW9uaXRvcikgPT4gKHtcbiAgY29ubmVjdERyb3BUYXJnZXQ6IGNvbm5lY3QuZHJvcFRhcmdldCgpLFxuICBpc092ZXI6IG1vbml0b3IuaXNPdmVyKHsgc2hhbGxvdzogdHJ1ZSB9KSxcbiAgZHJhZ0l0ZW06IG1vbml0b3IuZ2V0SXRlbSgpLFxufSkpKGNvbm5lY3RlZEJsYW5rQ29udGVudCk7XG5cbmV4cG9ydCBjb25zdCB0aWxlU291cmNlID0ge1xuICBjYW5EcmFnKHByb3BzKSB7XG4gICAgcmV0dXJuICFwcm9wcy5kaXNhYmxlZCAmJiAhIXByb3BzLnZhbHVlO1xuICB9LFxuICBiZWdpbkRyYWcocHJvcHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BzLnRhcmdldElkLFxuICAgICAgdmFsdWU6IHByb3BzLnZhbHVlLFxuICAgICAgaW5zdGFuY2VJZDogcHJvcHMuaW5zdGFuY2VJZCxcbiAgICAgIGZyb21DaG9pY2U6IHRydWUsXG4gICAgfTtcbiAgfSxcbiAgZW5kRHJhZyhwcm9wcywgbW9uaXRvcikge1xuICAgIC8vIHRoaXMgd2lsbCBiZSBudWxsIGlmIGl0IGRpZCBub3QgZHJvcFxuICAgIGNvbnN0IGRyb3BSZXN1bHQgPSBtb25pdG9yLmdldERyb3BSZXN1bHQoKTtcblxuICAgIGlmICghZHJvcFJlc3VsdCB8fCAoZHJvcFJlc3VsdC5kcm9wcGVkICYmICFwcm9wcy5kdXBsaWNhdGVzKSkge1xuICAgICAgY29uc3QgZHJhZ2dlZEl0ZW0gPSBtb25pdG9yLmdldEl0ZW0oKTtcblxuICAgICAgaWYgKGRyYWdnZWRJdGVtLmZyb21DaG9pY2UpIHtcbiAgICAgICAgcHJvcHMucmVtb3ZlUmVzcG9uc2UoZHJhZ2dlZEl0ZW0udmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERyYWdTb3VyY2UoJ2RyYWctaW4tdGhlLWJsYW5rLWNob2ljZScsIHRpbGVTb3VyY2UsIChjb25uZWN0LCBtb25pdG9yKSA9PiAoe1xuICBjb25uZWN0RHJhZ1NvdXJjZTogY29ubmVjdC5kcmFnU291cmNlKCksXG4gIGlzRHJhZ2dpbmc6IG1vbml0b3IuaXNEcmFnZ2luZygpLFxufSkpKERyb3BUaWxlKTtcbiJdfQ==
|