@pie-lib/editable-html-tip-tap 1.0.12 → 1.0.14
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/EditableHtml.js +33 -16
- package/lib/components/MenuBar.js +2 -2
- package/lib/components/respArea/ExplicitConstructedResponse.js +15 -4
- package/lib/components/respArea/InlineDropdown.js +25 -4
- package/lib/extensions/index.js +3 -3
- package/lib/extensions/math.js +3 -5
- package/lib/extensions/responseArea.js +211 -33
- package/package.json +6 -6
- package/src/components/EditableHtml.jsx +18 -4
- package/src/components/MenuBar.jsx +8 -6
- package/src/components/respArea/ExplicitConstructedResponse.jsx +13 -2
- package/src/components/respArea/InlineDropdown.jsx +20 -5
- package/src/extensions/index.js +4 -4
- package/src/extensions/math.js +1 -2
- package/src/extensions/responseArea.js +186 -15
|
@@ -19,6 +19,10 @@ var _react2 = require("@tiptap/react");
|
|
|
19
19
|
|
|
20
20
|
var _RespArea = require("../icons/RespArea");
|
|
21
21
|
|
|
22
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
23
|
+
|
|
24
|
+
var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
25
|
+
|
|
22
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
27
|
|
|
24
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -42,6 +46,14 @@ var InlineDropdown = function InlineDropdown(props) {
|
|
|
42
46
|
showToolbar = _useState2[0],
|
|
43
47
|
setShowToolbar = _useState2[1];
|
|
44
48
|
|
|
49
|
+
var _useState3 = (0, _react.useState)({
|
|
50
|
+
top: 0,
|
|
51
|
+
left: 0
|
|
52
|
+
}),
|
|
53
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
54
|
+
position = _useState4[0],
|
|
55
|
+
setPosition = _useState4[1];
|
|
56
|
+
|
|
45
57
|
var InlineDropdownToolbar = options.respAreaToolbar(node, editor, function () {});
|
|
46
58
|
(0, _react.useEffect)(function () {
|
|
47
59
|
var selection = editor.state.selection;
|
|
@@ -56,6 +68,16 @@ var InlineDropdown = function InlineDropdown(props) {
|
|
|
56
68
|
}
|
|
57
69
|
}, [editor, node, selected]);
|
|
58
70
|
(0, _react.useEffect)(function () {
|
|
71
|
+
// Calculate position relative to selection
|
|
72
|
+
var bodyRect = document.body.getBoundingClientRect();
|
|
73
|
+
var from = editor.state.selection.from;
|
|
74
|
+
var start = editor.view.coordsAtPos(from);
|
|
75
|
+
setPosition({
|
|
76
|
+
top: start.top + Math.abs(bodyRect.top) + 40,
|
|
77
|
+
// shift above
|
|
78
|
+
left: start.left
|
|
79
|
+
});
|
|
80
|
+
|
|
59
81
|
var handleClickOutside = function handleClickOutside(event) {
|
|
60
82
|
if (toolbarRef.current && !toolbarRef.current.contains(event.target) && !event.target.closest('[data-inline-node]')) {
|
|
61
83
|
setShowToolbar(false);
|
|
@@ -117,13 +139,12 @@ var InlineDropdown = function InlineDropdown(props) {
|
|
|
117
139
|
top: '5px',
|
|
118
140
|
right: '5px'
|
|
119
141
|
}
|
|
120
|
-
})), showToolbar && /*#__PURE__*/_react["default"].createElement("div", {
|
|
142
|
+
})), showToolbar && /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement("div", {
|
|
121
143
|
ref: toolbarRef,
|
|
122
|
-
className: "absolute z-50 bg-white shadow-lg rounded p-2",
|
|
123
144
|
style: {
|
|
124
145
|
zIndex: 1
|
|
125
146
|
}
|
|
126
|
-
}, /*#__PURE__*/_react["default"].createElement(InlineDropdownToolbar, null)));
|
|
147
|
+
}, /*#__PURE__*/_react["default"].createElement(InlineDropdownToolbar, null)), document.body));
|
|
127
148
|
};
|
|
128
149
|
|
|
129
150
|
InlineDropdown.propTypes = {
|
|
@@ -132,4 +153,4 @@ InlineDropdown.propTypes = {
|
|
|
132
153
|
};
|
|
133
154
|
var _default = InlineDropdown;
|
|
134
155
|
exports["default"] = _default;
|
|
135
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0lubGluZURyb3Bkb3duLmpzeCJdLCJuYW1lcyI6WyJJbmxpbmVEcm9wZG93biIsInByb3BzIiwiZWRpdG9yIiwibm9kZSIsImdldFBvcyIsIm9wdGlvbnMiLCJzZWxlY3RlZCIsImF0dHJpYnV0ZXMiLCJhdHRycyIsInZhbHVlIiwiZXJyb3IiLCJodG1sIiwidG9vbGJhclJlZiIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJJbmxpbmVEcm9wZG93blRvb2xiYXIiLCJyZXNwQXJlYVRvb2xiYXIiLCJzZWxlY3Rpb24iLCJzdGF0ZSIsIm9ubHlUaGlzTm9kZVNlbGVjdGVkIiwiZnJvbSIsIm5vZGVTaXplIiwidG8iLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGlzcGxheSIsImhlaWdodCIsIm1hcmdpbiIsImN1cnNvciIsIm1pbldpZHRoIiwiYmFja2dyb3VuZCIsImJvcmRlciIsImJveFNpemluZyIsImJvcmRlclJhZGl1cyIsInBvc2l0aW9uIiwiYWxpZ25JdGVtcyIsImZsZXgiLCJvdmVyZmxvdyIsInBhZGRpbmciLCJ3aGl0ZVNwYWNlIiwidGV4dE92ZXJmbG93IiwidmVydGljYWxBbGlnbiIsIl9faHRtbCIsInRvcCIsInJpZ2h0IiwiekluZGV4IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0Iiwic2VsZWN0ZWRJdGVtIiwib25lT2ZUeXBlIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0MsS0FBRCxFQUFXO0FBQ2hDLE1BQVFDLE1BQVIsR0FBb0RELEtB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QUFBLFlBQVksRUFBRUYsc0JBQVVHLFNBQVYsQ0FBb0IsQ0FBQ0gsc0JBQVVJLE1BQVgsRUFBbUJKLHNCQUFVQyxNQUE3QixDQUFwQjtBQUZXLENBQTNCO2VBS2V2RCxjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IHsgQ2hldnJvbiB9IGZyb20gJy4uL2ljb25zL1Jlc3BBcmVhJztcblxuY29uc3QgSW5saW5lRHJvcGRvd24gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBlZGl0b3IsIG5vZGUsIGdldFBvcywgb3B0aW9ucywgc2VsZWN0ZWQgfSA9IHByb3BzO1xuICBjb25zdCB7IGF0dHJzOiBhdHRyaWJ1dGVzIH0gPSBub2RlO1xuICBjb25zdCB7IHZhbHVlLCBlcnJvciB9ID0gYXR0cmlidXRlcztcbiAgLy8gVE9ETzogSW52ZXN0aWdhdGVcbiAgLy8gTmVlZGVkIGJlY2F1c2UgaXRlbXMgd2l0aCB2YWx1ZXMgaW5zaWRlIGhhdmUgZGlmZmVyZW50IHBvc2l0aW9uaW5nIGZvciBzb21lIHJlYXNvblxuICBjb25zdCBodG1sID0gdmFsdWUgfHwgJzxkaXY+Jm5ic3A8L2Rpdj4nO1xuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBbc2hvd1Rvb2xiYXIsIHNldFNob3dUb29sYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgSW5saW5lRHJvcGRvd25Ub29sYmFyID0gb3B0aW9ucy5yZXNwQXJlYVRvb2xiYXIobm9kZSwgZWRpdG9yLCAoKSA9PiB7fSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yLnN0YXRlO1xuICAgIGNvbnN0IG9ubHlUaGlzTm9kZVNlbGVjdGVkID0gc2VsZWN0aW9uLmZyb20gKyBub2RlLm5vZGVTaXplID09PSBzZWxlY3Rpb24udG87XG5cbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIGlmIChvbmx5VGhpc05vZGVTZWxlY3RlZCkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihzZWxlY3RlZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgICB9XG4gIH0sIFtlZGl0b3IsIG5vZGUsIHNlbGVjdGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdG9vbGJhclJlZi5jdXJyZW50ICYmXG4gICAgICAgICF0b29sYmFyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgICAhZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWlubGluZS1ub2RlXScpXG4gICAgICApIHtcbiAgICAgICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoc2hvd1Rvb2xiYXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sIFtzaG93VG9vbGJhcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlclxuICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWRyb3Bkb3duXCJcbiAgICAgIGRhdGEtc2VsZWN0ZWQ9e3NlbGVjdGVkfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgaGVpZ2h0OiAnNTBweCcsXG4gICAgICAgIG1hcmdpbjogJzAgNXB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICAgIG1pbldpZHRoOiAnMTc4cHgnLFxuICAgICAgICAgIGhlaWdodDogJzM2cHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjRkZGJyxcbiAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI0MwQzNDRicsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgICAgICAgICBtYXJnaW46ICcwIDRweCcsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICcwIDI1cHggMCA4cHgnLFxuICAgICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgICAgX19odG1sOiBodG1sLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPENoZXZyb25cbiAgICAgICAgICBkaXJlY3Rpb249XCJkb3duXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB0b3A6ICc1cHgnLFxuICAgICAgICAgICAgcmlnaHQ6ICc1cHgnLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtzaG93VG9vbGJhciAmJiAoXG4gICAgICAgIDxkaXYgcmVmPXt0b29sYmFyUmVmfSBjbGFzc05hbWU9XCJhYnNvbHV0ZSB6LTUwIGJnLXdoaXRlIHNoYWRvdy1sZyByb3VuZGVkIHAtMlwiIHN0eWxlPXt7IHpJbmRleDogMSB9fT5cbiAgICAgICAgICA8SW5saW5lRHJvcGRvd25Ub29sYmFyIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L05vZGVWaWV3V3JhcHBlcj5cbiAgKTtcbn07XG5cbklubGluZURyb3Bkb3duLnByb3BUeXBlcyA9IHtcbiAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgc2VsZWN0ZWRJdGVtOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMub2JqZWN0XSksXG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbmxpbmVEcm9wZG93bjtcbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0lubGluZURyb3Bkb3duLmpzeCJdLCJuYW1lcyI6WyJJbmxpbmVEcm9wZG93biIsInByb3BzIiwiZWRpdG9yIiwibm9kZSIsImdldFBvcyIsIm9wdGlvbnMiLCJzZWxlY3RlZCIsImF0dHJpYnV0ZXMiLCJhdHRycyIsInZhbHVlIiwiZXJyb3IiLCJodG1sIiwidG9vbGJhclJlZiIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJ0b3AiLCJsZWZ0IiwicG9zaXRpb24iLCJzZXRQb3NpdGlvbiIsIklubGluZURyb3Bkb3duVG9vbGJhciIsInJlc3BBcmVhVG9vbGJhciIsInNlbGVjdGlvbiIsInN0YXRlIiwib25seVRoaXNOb2RlU2VsZWN0ZWQiLCJmcm9tIiwibm9kZVNpemUiLCJ0byIsImJvZHlSZWN0IiwiZG9jdW1lbnQiLCJib2R5IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwic3RhcnQiLCJ2aWV3IiwiY29vcmRzQXRQb3MiLCJNYXRoIiwiYWJzIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJjdXJyZW50IiwiY29udGFpbnMiLCJ0YXJnZXQiLCJjbG9zZXN0IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkaXNwbGF5IiwiaGVpZ2h0IiwibWFyZ2luIiwiY3Vyc29yIiwibWluV2lkdGgiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwiYm94U2l6aW5nIiwiYm9yZGVyUmFkaXVzIiwiYWxpZ25JdGVtcyIsImZsZXgiLCJvdmVyZmxvdyIsInBhZGRpbmciLCJ3aGl0ZVNwYWNlIiwidGV4dE92ZXJmbG93IiwidmVydGljYWxBbGlnbiIsIl9faHRtbCIsInJpZ2h0IiwiUmVhY3RET00iLCJjcmVhdGVQb3J0YWwiLCJ6SW5kZXgiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJzZWxlY3RlZEl0ZW0iLCJvbmVPZlR5cGUiLCJzdHJpbmci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TDtBQUdMQyxNQUFBQSxPQUFPLEVBQUUsY0FISjtBQUlMQyxNQUFBQSxVQUFVLEVBQUUsUUFKUDtBQUtMQyxNQUFBQSxZQUFZLEVBQUU7QUFMVDtBQURULGtCQVNFO0FBQ0UsSUFBQSxLQUFLLEVBQUU7QUFDTGQsTUFBQUEsT0FBTyxFQUFFLGNBREo7QUFFTGUsTUFBQUEsYUFBYSxFQUFFO0FBRlYsS0FEVDtBQUtFLElBQUEsdUJBQXVCLEVBQUU7QUFDdkJDLE1BQUFBLE1BQU0sRUFBRWpEO0FBRGU7QUFMM0IsSUFURixDQWRGLGVBaUNFLGdDQUFDLGlCQUFEO0FBQ0UsSUFBQSxTQUFTLEVBQUMsTUFEWjtBQUVFLElBQUEsS0FBSyxFQUFFO0FBQ0xNLE1BQUFBLFFBQVEsRUFBRSxVQURMO0FBRUxGLE1BQUFBLEdBQUcsRUFBRSxLQUZBO0FBR0w4QyxNQUFBQSxLQUFLLEVBQUU7QUFIRjtBQUZULElBakNGLENBVkYsRUFvREdoRCxXQUFXLGlCQUNWaUQscUJBQVNDLFlBQVQsZUFDRTtBQUFLLElBQUEsR0FBRyxFQUFFbkQsVUFBVjtBQUFzQixJQUFBLEtBQUssRUFBRTtBQUFFb0QsTUFBQUEsTUFBTSxFQUFFO0FBQVY7QUFBN0Isa0JBQ0UsZ0NBQUMscUJBQUQsT0FERixDQURGLEVBSUVwQyxRQUFRLENBQUNDLElBSlgsQ0FyREosQ0FERjtBQThERCxDQXJIRDs7QUF1SEE3QixjQUFjLENBQUNpRSxTQUFmLEdBQTJCO0FBQ3pCMUQsRUFBQUEsVUFBVSxFQUFFMkQsc0JBQVVDLE1BREc7QUFFekJDLEVBQUFBLFlBQVksRUFBRUYsc0JBQVVHLFNBQVYsQ0FBb0IsQ0FBQ0gsc0JBQVVJLE1BQVgsRUFBbUJKLHNCQUFVQyxNQUE3QixDQUFwQjtBQUZXLENBQTNCO2VBS2VuRSxjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IHsgQ2hldnJvbiB9IGZyb20gJy4uL2ljb25zL1Jlc3BBcmVhJztcbmltcG9ydCBSZWFjdERPTSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBNYXRoVG9vbGJhciB9IGZyb20gXCJAcGllLWxpYi9tYXRoLXRvb2xiYXJcIjtcblxuY29uc3QgSW5saW5lRHJvcGRvd24gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBlZGl0b3IsIG5vZGUsIGdldFBvcywgb3B0aW9ucywgc2VsZWN0ZWQgfSA9IHByb3BzO1xuICBjb25zdCB7IGF0dHJzOiBhdHRyaWJ1dGVzIH0gPSBub2RlO1xuICBjb25zdCB7IHZhbHVlLCBlcnJvciB9ID0gYXR0cmlidXRlcztcbiAgLy8gVE9ETzogSW52ZXN0aWdhdGVcbiAgLy8gTmVlZGVkIGJlY2F1c2UgaXRlbXMgd2l0aCB2YWx1ZXMgaW5zaWRlIGhhdmUgZGlmZmVyZW50IHBvc2l0aW9uaW5nIGZvciBzb21lIHJlYXNvblxuICBjb25zdCBodG1sID0gdmFsdWUgfHwgJzxkaXY+Jm5ic3A8L2Rpdj4nO1xuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBbc2hvd1Rvb2xiYXIsIHNldFNob3dUb29sYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3Bvc2l0aW9uLCBzZXRQb3NpdGlvbl0gPSB1c2VTdGF0ZSh7IHRvcDogMCwgbGVmdDogMCB9KTtcbiAgY29uc3QgSW5saW5lRHJvcGRvd25Ub29sYmFyID0gb3B0aW9ucy5yZXNwQXJlYVRvb2xiYXIobm9kZSwgZWRpdG9yLCAoKSA9PiB7fSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yLnN0YXRlO1xuICAgIGNvbnN0IG9ubHlUaGlzTm9kZVNlbGVjdGVkID0gc2VsZWN0aW9uLmZyb20gKyBub2RlLm5vZGVTaXplID09PSBzZWxlY3Rpb24udG87XG5cbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIGlmIChvbmx5VGhpc05vZGVTZWxlY3RlZCkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihzZWxlY3RlZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgICB9XG4gIH0sIFtlZGl0b3IsIG5vZGUsIHNlbGVjdGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBDYWxjdWxhdGUgcG9zaXRpb24gcmVsYXRpdmUgdG8gc2VsZWN0aW9uXG4gICAgY29uc3QgYm9keVJlY3QgPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHsgZnJvbSB9ID0gZWRpdG9yLnN0YXRlLnNlbGVjdGlvbjtcbiAgICBjb25zdCBzdGFydCA9IGVkaXRvci52aWV3LmNvb3Jkc0F0UG9zKGZyb20pO1xuXG4gICAgc2V0UG9zaXRpb24oe1xuICAgICAgdG9wOiBzdGFydC50b3AgKyBNYXRoLmFicyhib2R5UmVjdC50b3ApICsgNDAsIC8vIHNoaWZ0IGFib3ZlXG4gICAgICBsZWZ0OiBzdGFydC5sZWZ0LFxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHRvb2xiYXJSZWYuY3VycmVudCAmJlxuICAgICAgICAhdG9vbGJhclJlZi5jdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcbiAgICAgICAgIWV2ZW50LnRhcmdldC5jbG9zZXN0KCdbZGF0YS1pbmxpbmUtbm9kZV0nKVxuICAgICAgKSB7XG4gICAgICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHNob3dUb29sYmFyKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICB9LCBbc2hvd1Rvb2xiYXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxOb2RlVmlld1dyYXBwZXJcbiAgICAgIGNsYXNzTmFtZT1cImlubGluZS1kcm9wZG93blwiXG4gICAgICBkYXRhLXNlbGVjdGVkPXtzZWxlY3RlZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgIGhlaWdodDogJzUwcHgnLFxuICAgICAgICBtYXJnaW46ICcwIDVweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgICBtaW5XaWR0aDogJzE3OHB4JyxcbiAgICAgICAgICBoZWlnaHQ6ICczNnB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnI0ZGRicsXG4gICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNDMEMzQ0YnLFxuICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogJzNweCcsXG4gICAgICAgICAgbWFyZ2luOiAnMCA0cHgnLFxuICAgICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICBwYWRkaW5nOiAnMCAyNXB4IDAgOHB4JyxcbiAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgIF9faHRtbDogaHRtbCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxDaGV2cm9uXG4gICAgICAgICAgZGlyZWN0aW9uPVwiZG93blwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgdG9wOiAnNXB4JyxcbiAgICAgICAgICAgIHJpZ2h0OiAnNXB4JyxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICB7c2hvd1Rvb2xiYXIgJiZcbiAgICAgICAgUmVhY3RET00uY3JlYXRlUG9ydGFsKFxuICAgICAgICAgIDxkaXYgcmVmPXt0b29sYmFyUmVmfSBzdHlsZT17eyB6SW5kZXg6IDEgfX0+XG4gICAgICAgICAgICA8SW5saW5lRHJvcGRvd25Ub29sYmFyIC8+XG4gICAgICAgICAgPC9kaXY+LFxuICAgICAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICAgICl9XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59O1xuXG5JbmxpbmVEcm9wZG93bi5wcm9wVHlwZXMgPSB7XG4gIGF0dHJpYnV0ZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIHNlbGVjdGVkSXRlbTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm9iamVjdF0pLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW5saW5lRHJvcGRvd247XG4iXX0=
|
package/lib/extensions/index.js
CHANGED
|
@@ -43,10 +43,10 @@ var buildExtensions = function buildExtensions(activeExtensions, customExtension
|
|
|
43
43
|
return (0, _compact["default"])([addIf('table'), addIf('bold'), // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),
|
|
44
44
|
addIf('italic'), addIf('strikethrough'), addIf('underline'), // icon should be modifies accordingly
|
|
45
45
|
addIf('superscript'), // icon should be modifies accordingly
|
|
46
|
-
addIf('subscript'), addIf('image', imagePlugin), addIf('video'), addIf('audio'), addIf('math', mathPlugin)].concat((0, _toConsumableArray2["default"])(languageCharactersPlugins.map(function (plugin) {
|
|
46
|
+
addIf('subscript'), addIf('image', !!imagePlugin), addIf('video'), addIf('audio'), addIf('math', !!mathPlugin)].concat((0, _toConsumableArray2["default"])(languageCharactersPlugins.map(function (plugin) {
|
|
47
47
|
return addIf('languageCharacters', plugin);
|
|
48
|
-
})), [addIf('text-align'), addIf('blockquote'), addIf('h3'), addIf('bulleted-list'), addIf('numbered-list'), addIf('undo'), addIf('redo'), addIf('responseArea', respAreaPlugin), addIf('css', cssPlugin), addIf('html', !!opts.html)]));
|
|
48
|
+
})), [addIf('text-align'), addIf('blockquote'), addIf('h3'), addIf('bulleted-list'), addIf('numbered-list'), addIf('undo'), addIf('redo'), addIf('responseArea', !!respAreaPlugin), addIf('css', !!cssPlugin), addIf('html', !!opts.html)]));
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
exports.buildExtensions = buildExtensions;
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2luZGV4LmpzIl0sIm5hbWVzIjpbImxvZyIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9FWFRFTlNJT05TIiwiZmlsdGVyIiwicGx1ZyIsImluY2x1ZGVzIiwiYnVpbGRFeHRlbnNpb25zIiwiYWN0aXZlRXh0ZW5zaW9ucyIsImN1c3RvbUV4dGVuc2lvbnMiLCJvcHRzIiwiYWRkSWYiLCJrZXkiLCJzaG91bGRBZGQiLCJpbWFnZVBsdWdpbiIsImltYWdlIiwib25EZWxldGUiLCJtYXRoUGx1Z2luIiwibWF0aCIsInJlc3BBcmVhUGx1Z2luIiwicmVzcG9uc2VBcmVhIiwidHlwZSIsImNzc1BsdWdpbiIsImV4dHJhQ1NTUnVsZXMiLCJsYW5ndWFnZUNoYXJhY3RlcnNQbHVnaW5zIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzIiwibWFwIiwicGx1Z2luIiwiaHRtbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sZ0NBQU4sQ0FBWjtBQUNPLElBQU1DLFdBQVcsR0FBRyxDQUN6QixNQUR5QixFQUV6QjtBQUNBLE1BSHlCLEVBSXpCLGVBSnlCLEVBS3pCLFFBTHlCLEVBTXpCLFdBTnlCLEVBT3pCLGVBUHlCLEVBUXpCLGVBUnlCLEVBU3pCLGVBVHlCLEVBVXpCLE9BVnlCLEVBV3pCLE1BWHlCLEVBWXpCLG9CQVp5QixFQWF6QixZQWJ5QixFQWN6QixZQWR5QixFQWV6QixJQWZ5QixFQWdCekIsT0FoQnlCLEVBaUJ6QixPQWpCeUIsRUFrQnpCLE9BbEJ5QixFQW1CekIsY0FuQnlCLEVBb0J6QixNQXBCeUIsRUFxQnpCLE1BckJ5QixFQXNCekIsYUF0QnlCLEVBdUJ6QixXQXZCeUIsQ0FBcEI7O0FBMEJBLElBQU1DLGtCQUFrQixHQUFHRCxXQUFXLENBQUNFLE1BQVosQ0FBbUIsVUFBQ0MsSUFBRDtBQUFBLFNBQVUsQ0FBQyxDQUFDLGNBQUQsRUFBaUIsSUFBakIsRUFBdUIsWUFBdkIsRUFBcUNDLFFBQXJDLENBQThDRCxJQUE5QyxDQUFYO0FBQUEsQ0FBbkIsQ0FBM0I7OztBQUVBLElBQU1FLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsZ0JBQUQsRUFBbUJDLGdCQUFuQixFQUFxQ0MsSUFBckMsRUFBOEM7QUFDM0VULEVBQUFBLEdBQUcsQ0FBQyx1QkFBRCxFQUEwQlMsSUFBMUIsQ0FBSDtBQUVBRixFQUFBQSxnQkFBZ0IsR0FBR0EsZ0JBQWdCLElBQUlMLGtCQUF2Qzs7QUFFQSxNQUFNUSxLQUFLLEdBQUcsU0FBUkEsS0FBUSxDQUFDQyxHQUFEO0FBQUEsUUFBTUMsU0FBTix1RUFBa0IsSUFBbEI7QUFBQSxXQUEyQkwsZ0JBQWdCLENBQUNGLFFBQWpCLENBQTBCTSxHQUExQixLQUFrQ0MsU0FBbEMsSUFBK0NELEdBQTFFO0FBQUEsR0FBZDs7QUFFQSxNQUFNRSxXQUFXLEdBQUdKLElBQUksQ0FBQ0ssS0FBTCxJQUFjTCxJQUFJLENBQUNLLEtBQUwsQ0FBV0MsUUFBN0M7QUFDQSxNQUFNQyxVQUFVLEdBQUdQLElBQUksQ0FBQ1EsSUFBeEI7QUFDQSxNQUFNQyxjQUFjLEdBQUdULElBQUksQ0FBQ1UsWUFBTCxJQUFxQlYsSUFBSSxDQUFDVSxZQUFMLENBQWtCQyxJQUE5RDtBQUNBLE1BQU1DLFNBQVMsR0FBRyxDQUFDLHlCQUFRWixJQUFJLENBQUNhLGFBQWIsQ0FBbkI7QUFFQSxNQUFNQyx5QkFBeUIsR0FBRyxDQUFBZCxJQUFJLFNBQUosSUFBQUEsSUFBSSxXQUFKLFlBQUFBLElBQUksQ0FBRWUsa0JBQU4sS0FBNEIsRUFBOUQ7QUFFQSxTQUFPLDBCQUNMZCxLQUFLLENBQUMsT0FBRCxDQURBLEVBRUxBLEtBQUssQ0FBQyxNQUFELENBRkEsRUFHTDtBQUNBQSxFQUFBQSxLQUFLLENBQUMsUUFBRCxDQUpBLEVBS0xBLEtBQUssQ0FBQyxlQUFELENBTEEsRUFNTEEsS0FBSyxDQUFDLFdBQUQsQ0FOQSxFQU9MO0FBQ0FBLEVBQUFBLEtBQUssQ0FBQyxhQUFELENBUkEsRUFTTDtBQUNBQSxFQUFBQSxLQUFLLENBQUMsV0FBRCxDQVZBLEVBV0xBLEtBQUssQ0FBQyxPQUFELEVBQVUsQ0FBQyxDQUFDRyxXQUFaLENBWEEsRUFZTEgsS0FBSyxDQUFDLE9BQUQsQ0FaQSxFQWFMQSxLQUFLLENBQUMsT0FBRCxDQWJBLEVBY0xBLEtBQUssQ0FBQyxNQUFELEVBQVMsQ0FBQyxDQUFDTSxVQUFYLENBZEEsNkNBZUZPLHlCQUF5QixDQUFDRSxHQUExQixDQUE4QixVQUFDQyxNQUFEO0FBQUEsV0FBWWhCLEtBQUssQ0FBQyxvQkFBRCxFQUF1QmdCLE1BQXZCLENBQWpCO0FBQUEsR0FBOUIsQ0FmRSxJQWdCTGhCLEtBQUssQ0FBQyxZQUFELENBaEJBLEVBaUJMQSxLQUFLLENBQUMsWUFBRCxDQWpCQSxFQWtCTEEsS0FBSyxDQUFDLElBQUQsQ0FsQkEsRUFtQkxBLEtBQUssQ0FBQyxlQUFELENBbkJBLEVBb0JMQSxLQUFLLENBQUMsZUFBRCxDQXBCQSxFQXFCTEEsS0FBSyxDQUFDLE1BQUQsQ0FyQkEsRUFzQkxBLEtBQUssQ0FBQyxNQUFELENBdEJBLEVBdUJMQSxLQUFLLENBQUMsY0FBRCxFQUFpQixDQUFDLENBQUNRLGNBQW5CLENBdkJBLEVBd0JMUixLQUFLLENBQUMsS0FBRCxFQUFRLENBQUMsQ0FBQ1csU0FBVixDQXhCQSxFQXlCTFgsS0FBSyxDQUFDLE1BQUQsRUFBUyxDQUFDLENBQUNELElBQUksQ0FBQ2tCLElBQWhCLENBekJBLEdBQVA7QUEyQkQsQ0F6Q00iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNvbXBhY3QgZnJvbSAnbG9kYXNoL2NvbXBhY3QnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2lucycpO1xuZXhwb3J0IGNvbnN0IEFMTF9QTFVHSU5TID0gW1xuICAnYm9sZCcsXG4gIC8vICdjb2RlJyxcbiAgJ2h0bWwnLFxuICAnZXh0cmFDU1NSdWxlcycsXG4gICdpdGFsaWMnLFxuICAndW5kZXJsaW5lJyxcbiAgJ3N0cmlrZXRocm91Z2gnLFxuICAnYnVsbGV0ZWQtbGlzdCcsXG4gICdudW1iZXJlZC1saXN0JyxcbiAgJ2ltYWdlJyxcbiAgJ21hdGgnLFxuICAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJyxcbiAgJ3RleHQtYWxpZ24nLFxuICAnYmxvY2txdW90ZScsXG4gICdoMycsXG4gICd0YWJsZScsXG4gICd2aWRlbycsXG4gICdhdWRpbycsXG4gICdyZXNwb25zZUFyZWEnLFxuICAncmVkbycsXG4gICd1bmRvJyxcbiAgJ3N1cGVyc2NyaXB0JyxcbiAgJ3N1YnNjcmlwdCcsXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFRFTlNJT05TID0gQUxMX1BMVUdJTlMuZmlsdGVyKChwbHVnKSA9PiAhWydyZXNwb25zZUFyZWEnLCAnaDMnLCAnYmxvY2txdW90ZSddLmluY2x1ZGVzKHBsdWcpKTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRXh0ZW5zaW9ucyA9IChhY3RpdmVFeHRlbnNpb25zLCBjdXN0b21FeHRlbnNpb25zLCBvcHRzKSA9PiB7XG4gIGxvZygnW2J1aWxkUGx1Z2luc10gb3B0czogJywgb3B0cyk7XG5cbiAgYWN0aXZlRXh0ZW5zaW9ucyA9IGFjdGl2ZUV4dGVuc2lvbnMgfHwgREVGQVVMVF9FWFRFTlNJT05TO1xuXG4gIGNvbnN0IGFkZElmID0gKGtleSwgc2hvdWxkQWRkID0gdHJ1ZSkgPT4gYWN0aXZlRXh0ZW5zaW9ucy5pbmNsdWRlcyhrZXkpICYmIHNob3VsZEFkZCAmJiBrZXk7XG5cbiAgY29uc3QgaW1hZ2VQbHVnaW4gPSBvcHRzLmltYWdlICYmIG9wdHMuaW1hZ2Uub25EZWxldGU7XG4gIGNvbnN0IG1hdGhQbHVnaW4gPSBvcHRzLm1hdGg7XG4gIGNvbnN0IHJlc3BBcmVhUGx1Z2luID0gb3B0cy5yZXNwb25zZUFyZWEgJiYgb3B0cy5yZXNwb25zZUFyZWEudHlwZTtcbiAgY29uc3QgY3NzUGx1Z2luID0gIWlzRW1wdHkob3B0cy5leHRyYUNTU1J1bGVzKTtcblxuICBjb25zdCBsYW5ndWFnZUNoYXJhY3RlcnNQbHVnaW5zID0gb3B0cz8ubGFuZ3VhZ2VDaGFyYWN0ZXJzIHx8IFtdO1xuXG4gIHJldHVybiBjb21wYWN0KFtcbiAgICBhZGRJZigndGFibGUnKSxcbiAgICBhZGRJZignYm9sZCcpLFxuICAgIC8vIGFkZElmKCdjb2RlJywgTWFya0hvdGtleSh7IGtleTogJ2AnLCB0eXBlOiAnY29kZScsIGljb246IDxDb2RlIC8+IH0pKSxcbiAgICBhZGRJZignaXRhbGljJyksXG4gICAgYWRkSWYoJ3N0cmlrZXRocm91Z2gnKSxcbiAgICBhZGRJZigndW5kZXJsaW5lJyksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3VwZXJzY3JpcHQnKSxcbiAgICAvLyBpY29uIHNob3VsZCBiZSBtb2RpZmllcyBhY2NvcmRpbmdseVxuICAgIGFkZElmKCdzdWJzY3JpcHQnKSxcbiAgICBhZGRJZignaW1hZ2UnLCAhIWltYWdlUGx1Z2luKSxcbiAgICBhZGRJZigndmlkZW8nKSxcbiAgICBhZGRJZignYXVkaW8nKSxcbiAgICBhZGRJZignbWF0aCcsICEhbWF0aFBsdWdpbiksXG4gICAgLi4ubGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucy5tYXAoKHBsdWdpbikgPT4gYWRkSWYoJ2xhbmd1YWdlQ2hhcmFjdGVycycsIHBsdWdpbikpLFxuICAgIGFkZElmKCd0ZXh0LWFsaWduJyksXG4gICAgYWRkSWYoJ2Jsb2NrcXVvdGUnKSxcbiAgICBhZGRJZignaDMnKSxcbiAgICBhZGRJZignYnVsbGV0ZWQtbGlzdCcpLFxuICAgIGFkZElmKCdudW1iZXJlZC1saXN0JyksXG4gICAgYWRkSWYoJ3VuZG8nKSxcbiAgICBhZGRJZigncmVkbycpLFxuICAgIGFkZElmKCdyZXNwb25zZUFyZWEnLCAhIXJlc3BBcmVhUGx1Z2luKSxcbiAgICBhZGRJZignY3NzJywgISFjc3NQbHVnaW4pLFxuICAgIGFkZElmKCdodG1sJywgISFvcHRzLmh0bWwpLFxuICBdKTtcbn07XG4iXX0=
|
package/lib/extensions/math.js
CHANGED
|
@@ -15,6 +15,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
15
15
|
|
|
16
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
|
|
18
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
19
|
+
|
|
18
20
|
var _core = require("@tiptap/core");
|
|
19
21
|
|
|
20
22
|
var _react2 = require("@tiptap/react");
|
|
@@ -25,10 +27,6 @@ var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
|
25
27
|
|
|
26
28
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
27
29
|
|
|
28
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
29
|
-
|
|
30
|
-
var _customPopper = _interopRequireDefault(require("../components/characters/custom-popper"));
|
|
31
|
-
|
|
32
30
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
31
|
|
|
34
32
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -349,4 +347,4 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
349
347
|
};
|
|
350
348
|
|
|
351
349
|
exports.MathNodeView = MathNodeView;
|
|
352
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL21hdGguanMiXSwibmFtZXMiOlsiZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSIsIlBsdWdpbktleSIsIkVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4iLCJtYXRoTm9kZU5hbWUiLCJQbHVnaW4iLCJrZXkiLCJhcHBlbmRUcmFuc2FjdGlvbiIsInRyYW5zYWN0aW9ucyIsIm9sZFN0YXRlIiwibmV3U3RhdGUiLCJzb21lIiwidHIiLCJkb2NDaGFuZ2VkIiwiY2hhbmdlZCIsImRvYyIsImRlc2NlbmRhbnRzIiwibm9kZSIsInBvcyIsInR5cGUiLCJuYW1lIiwibmV4dFBvcyIsIm5vZGVTaXplIiwibmV4dE5vZGUiLCJub2RlQXQiLCJpbnNlcnQiLCJzY2hlbWEiLCJ0ZXh0IiwiWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbiIsInByb3BzIiwiaGFuZGxlS2V5RG93biIsInZpZXciLCJldmVudCIsInN0YXRlIiwiZGlzcGF0Y2giLCJzZWxlY3Rpb24iLCJmcm9tIiwiZW1wdHkiLCJwcmV2Q2hhciIsInRleHRCZXR3ZWVuIiwicG9zQmVmb3JlIiwicmVzb2x2ZWQiLCJyZXNvbHZlIiwibWF5YmVOb2RlIiwibm9kZUFmdGVyIiwibm9kZUJlZm9yZSIsIm5vZGVQb3MiLCJub2RlUmVzb2x2ZWQiLCJzZXRTZWxlY3Rpb24iLCJOb2RlU2VsZWN0aW9uIiwiY3JlYXRlIiwiVGV4dFNlbGVjdGlvbiIsIk1hdGhOb2RlIiwiTm9kZSIsImdyb3VwIiwiaW5saW5lIiwiYXRvbSIsImFkZEF0dHJpYnV0ZXMiLCJsYXRleCIsIndyYXBwZXIiLCJodG1sIiwiYWRkUHJvc2VNaXJyb3JQbHVnaW5zIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImdldEF0dHJpYnV0ZSIsInRleHRDb250ZW50IiwiaW5uZXJIVE1MIiwiYWRkQ29tbWFuZHMiLCJpbnNlcnRNYXRoIiwiZWRpdG9yIiwibm9kZXMiLCJtYXRoIiwiJGZyb20iLCJzZWwiLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImFkZE5vZGVWaWV3Iiwib3B0aW9ucyIsIk1hdGhOb2RlVmlldyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJzZWxlY3RlZCIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJ0b29sYmFyUmVmIiwidG9wIiwibGVmdCIsInBvc2l0aW9uIiwic2V0UG9zaXRpb24iLCJhdHRycyIsIl90b29sYmFyT3BlbmVkIiwiYm9keVJlY3QiLCJkb2N1bWVudCIsImJvZHkiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJzdGFydCIsImNvb3Jkc0F0UG9zIiwiTWF0aCIsImFicyIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZUNoYW5nZSIsIm5ld0xhdGV4IiwiaGFuZGxlRG9uZSIsImNvbW1hbmRzIiwiZm9jdXMiLCJkaXNwbGF5IiwiY3Vyc29yIiwibWFyZ2luIiwiUmVhY3RET00iLCJjcmVhdGVQb3J0YWwiLCJ6SW5kZXgiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLDRCQUE0QixHQUFHLElBQUlDLDJCQUFKLENBQWMscUJBQWQsQ0FBckM7O0FBRU8sSUFBTUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixDQUFDQyxZQUFEO0FBQUEsU0FDdkMsSUFBSUMsd0JBQUosQ0FBVztBQUNUQyxJQUFBQSxHQUFHLEVBQUVMLDRCQURJO0FBRVRNLElBQUFBLGlCQUFpQixFQUFFLDJCQUFDQyxZQUFELEVBQWVDLFFBQWYsRUFBeUJDLFFBQXpCLEVBQXNDO0FBQ3ZE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QWVFaEIsUUFBUSxDQUFDQyxJQWZYLENBYkosQ0FERjtBQWlDRCxDQW5HTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBFeHRlbnNpb24sIE5vZGUsIG1lcmdlQXR0cmlidXRlcyB9IGZyb20gJ0B0aXB0YXAvY29yZSc7XG5pbXBvcnQgeyBOb2RlVmlld1dyYXBwZXIsIFJlYWN0UmVuZGVyZXIsIFJlYWN0Tm9kZVZpZXdSZW5kZXJlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IHsgUGx1Z2luLCBQbHVnaW5LZXksIE5vZGVTZWxlY3Rpb24sIFRleHRTZWxlY3Rpb24gfSBmcm9tICdwcm9zZW1pcnJvci1zdGF0ZSc7XG5pbXBvcnQgeyBNYXRoUHJldmlldywgTWF0aFRvb2xiYXIgfSBmcm9tICdAcGllLWxpYi9tYXRoLXRvb2xiYXInO1xuaW1wb3J0IHsgd3JhcE1hdGgsIG1tbFRvTGF0ZXgsIHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBDdXN0b21Qb3BwZXIgZnJvbSAnLi4vY29tcG9uZW50cy9jaGFyYWN0ZXJzL2N1c3RvbS1wb3BwZXInO1xuXG5jb25zdCBlbnN1cmVUZXh0QWZ0ZXJNYXRoUGx1Z2luS2V5ID0gbmV3IFBsdWdpbktleSgnZW5zdXJlVGV4dEFmdGVyTWF0aCcpO1xuXG5leHBvcnQgY29uc3QgRW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbiA9IChtYXRoTm9kZU5hbWUpID0+XG4gIG5ldyBQbHVnaW4oe1xuICAgIGtleTogZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSxcbiAgICBhcHBlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9ucywgb2xkU3RhdGUsIG5ld1N0YXRlKSA9PiB7XG4gICAgICAvLyBPbmx5IGFjdCB3aGVuIHRoZSBkb2MgYWN0dWFsbHkgY2hhbmdlZFxuICAgICAgaWYgKCF0cmFuc2FjdGlvbnMuc29tZSgodHIpID0+IHRyLmRvY0NoYW5nZWQpKSByZXR1cm4gbnVsbDtcblxuICAgICAgY29uc3QgdHIgPSBuZXdTdGF0ZS50cjtcbiAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgIG5ld1N0YXRlLmRvYy5kZXNjZW5kYW50cygobm9kZSwgcG9zKSA9PiB7XG4gICAgICAgIGlmIChub2RlLnR5cGUubmFtZSA9PT0gbWF0aE5vZGVOYW1lKSB7XG4gICAgICAgICAgY29uc3QgbmV4dFBvcyA9IHBvcyArIG5vZGUubm9kZVNpemU7XG4gICAgICAgICAgY29uc3QgbmV4dE5vZGUgPSBuZXdTdGF0ZS5kb2Mubm9kZUF0KG5leHRQb3MpO1xuXG4gICAgICAgICAgLy8gSWYgdGhlcmUncyBubyBub2RlIGFmdGVyLCBvciB0aGUgbmV4dCBub2RlIGlzbid0IHRleHQsIGluc2VydCBhIHNwYWNlXG4gICAgICAgICAgaWYgKCFuZXh0Tm9kZSB8fCBuZXh0Tm9kZS50eXBlLm5hbWUgIT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgdHIuaW5zZXJ0KG5leHRQb3MsIG5ld1N0YXRlLnNjaGVtYS50ZXh0KCdcXHUyMDBiJykpO1xuICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGNoYW5nZWQgPyB0ciA6IG51bGw7XG4gICAgfSxcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBaZXJvV2lkdGhTcGFjZUhhbmRsaW5nUGx1Z2luID0gbmV3IFBsdWdpbih7XG4gIGtleTogbmV3IFBsdWdpbktleSgnemVyb1dpZHRoU3BhY2VIYW5kbGluZycpLFxuICBwcm9wczoge1xuICAgIGhhbmRsZUtleURvd24odmlldywgZXZlbnQpIHtcbiAgICAgIGNvbnN0IHsgc3RhdGUsIGRpc3BhdGNoIH0gPSB2aWV3O1xuICAgICAgY29uc3QgeyBzZWxlY3Rpb24sIGRvYyB9ID0gc3RhdGU7XG4gICAgICBjb25zdCB7IGZyb20sIGVtcHR5IH0gPSBzZWxlY3Rpb247XG5cbiAgICAgIGlmIChlbXB0eSAmJiBldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmIGZyb20gPiAwKSB7XG4gICAgICAgIGNvbnN0IHByZXZDaGFyID0gZG9jLnRleHRCZXR3ZWVuKGZyb20gLSAxLCBmcm9tLCAnXFx1RkZGQycsICdcXHVGRkZDJyk7XG4gICAgICAgIGlmIChwcmV2Q2hhciA9PT0gJ1xcdTIwMGInKSB7XG4gICAgICAgICAgY29uc3QgdHIgPSBzdGF0ZS50ci5kZWxldGUoZnJvbSAtIDIsIGZyb20pO1xuICAgICAgICAgIGRpc3BhdGNoKHRyKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gaGFuZGxlZFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChlbXB0eSAmJiBldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnICYmIGZyb20gPiAwKSB7XG4gICAgICAgIGNvbnN0IHByZXZDaGFyID0gZG9jLnRleHRCZXR3ZWVuKGZyb20gLSAxLCBmcm9tLCAnXFx1RkZGQycsICdcXHVGRkZDJyk7XG4gICAgICAgIC8vIElmIHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgaXMgdGhlIHplcm8td2lkdGggc3BhY2UuLi5cbiAgICAgICAgaWYgKHByZXZDaGFyID09PSAnXFx1MjAwYicpIHtcbiAgICAgICAgICBjb25zdCBwb3NCZWZvcmUgPSBmcm9tIC0gMTtcbiAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IHN0YXRlLmRvYy5yZXNvbHZlKHBvc0JlZm9yZSAtIDEpOyAvLyBsb29rIGp1c3QgYmVmb3JlIHRoZSB6d3NwXG4gICAgICAgICAgY29uc3QgbWF5YmVOb2RlID0gcmVzb2x2ZWQubm9kZUFmdGVyIHx8IHJlc29sdmVkLm5vZGVCZWZvcmU7XG5cbiAgICAgICAgICAvLyBDaGVjayBpZiB0aGVyZSdzIGFuIGlubGluZSBzZWxlY3RhYmxlIG5vZGUgKGUuZy4sIHlvdXIgbWF0aCBub2RlKVxuICAgICAgICAgIGlmIChtYXliZU5vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVQb3MgPSBwb3NCZWZvcmUgLSBtYXliZU5vZGUubm9kZVNpemU7XG4gICAgICAgICAgICBjb25zdCBub2RlUmVzb2x2ZWQgPSBzdGF0ZS5kb2MucmVzb2x2ZShub2RlUG9zKTtcbiAgICAgICAgICAgIGNvbnN0IHRyID0gc3RhdGUudHIuc2V0U2VsZWN0aW9uKE5vZGVTZWxlY3Rpb24uY3JlYXRlKHN0YXRlLmRvYywgbm9kZVJlc29sdmVkLnBvcykpO1xuICAgICAgICAgICAgZGlzcGF0Y2godHIpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEp1c3QgbW92ZSB0aGUgdGV4dCBjdXJzb3IgYmVmb3JlIHRoZSB6d3NwXG4gICAgICAgICAgICBjb25zdCB0ciA9IHN0YXRlLnRyLnNldFNlbGVjdGlvbihUZXh0U2VsZWN0aW9uLmNyZWF0ZShzdGF0ZS5kb2MsIGZyb20gLSAyKSk7XG4gICAgICAgICAgICBkaXNwYXRjaCh0cik7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IE1hdGhOb2RlID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnbWF0aCcsXG4gIGdyb3VwOiAnaW5saW5lJyxcbiAgaW5saW5lOiB0cnVlLFxuICBhdG9tOiB0cnVlLFxuXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhdGV4OiB7IGRlZmF1bHQ6ICcnIH0sXG4gICAgICB3cmFwcGVyOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGh0bWw6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgIH07XG4gIH0sXG5cbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIHJldHVybiBbRW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbih0aGlzLm5hbWUpLCBaZXJvV2lkdGhTcGFjZUhhbmRsaW5nUGx1Z2luXTtcbiAgfSxcblxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLWxhdGV4XScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgbGF0ZXg6IGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1yYXcnKSB8fCBlbC50ZXh0Q29udGVudCxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0YWc6ICdzcGFuW2RhdGEtdHlwZT1cIm1hdGhtbFwiXScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgaHRtbDogZWwuaW5uZXJIVE1MLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcblxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5zZXJ0TWF0aDogKGxhdGV4ID0gJycpID0+ICh7IHRyLCBlZGl0b3IsIGRpc3BhdGNoIH0pID0+IHtcbiAgICAgICAgY29uc3QgeyBzdGF0ZSB9ID0gZWRpdG9yLnZpZXc7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBzdGF0ZS5zY2hlbWEubm9kZXMubWF0aC5jcmVhdGUoe1xuICAgICAgICAgIGxhdGV4LFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHN0YXRlO1xuXG4gICAgICAgIC8vIFRoZSBpbnNlcnRlZCBub2RlIGlzIHR5cGljYWxseSBqdXN0IGJlZm9yZSB0aGUgY3Vyc29yXG4gICAgICAgIGNvbnN0IHBvcyA9IHNlbGVjdGlvbi4kZnJvbS5wb3M7XG5cbiAgICAgICAgdHIuaW5zZXJ0KHBvcywgbm9kZSk7XG5cbiAgICAgICAgaWYgKG5vZGU/LnR5cGU/Lm5hbWUgPT09IHRoaXMubmFtZSkge1xuICAgICAgICAgIC8vIENyZWF0ZSBhIE5vZGVTZWxlY3Rpb24gZnJvbSB0aGUgY3VycmVudCBkb2NcbiAgICAgICAgICBjb25zdCBzZWwgPSBOb2RlU2VsZWN0aW9uLmNyZWF0ZSh0ci5kb2MsIHNlbGVjdGlvbi4kZnJvbS5wb3MpO1xuXG4gICAgICAgICAgLy8gQnVpbGQgYSBmcmVzaCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBjdXJyZW50IHN0YXRlIGFuZCBzZXQgdGhlIHNlbGVjdGlvblxuICAgICAgICAgIHRyLnNldFNlbGVjdGlvbihzZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGF0Y2godHIpO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSxcbiAgICAgIC8vIGluc2VydE1hdGg6IChsYXRleCA9ICcnKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAvLyAgIHJldHVybiBjb21tYW5kcy5pbnNlcnRDb250ZW50KHtcbiAgICAgIC8vICAgICB0eXBlOiB0aGlzLm5hbWUsXG4gICAgICAvLyAgICAgYXR0cnM6IHsgbGF0ZXggfSxcbiAgICAgIC8vICAgfSk7XG4gICAgICAvLyB9LFxuICAgIH07XG4gIH0sXG5cbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICBpZiAoSFRNTEF0dHJpYnV0ZXMuaHRtbCkge1xuICAgICAgcmV0dXJuIFsnc3BhbicsIHsgJ2RhdGEtdHlwZSc6ICdtYXRobWwnLCBkYW5nZXJvdXNseVNldElubmVySFRNTDogeyBfX2h0bWw6IEhUTUxBdHRyaWJ1dGVzLmh0bWwgfSB9XTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAgJ3NwYW4nLFxuICAgICAgeyAnZGF0YS1sYXRleCc6ICcnLCAnZGF0YS1yYXcnOiBIVE1MQXR0cmlidXRlcy5sYXRleCB9LFxuICAgICAgd3JhcE1hdGgoSFRNTEF0dHJpYnV0ZXMubGF0ZXgsIEhUTUxBdHRyaWJ1dGVzLndyYXBwZXIpLFxuICAgIF07XG4gIH0sXG5cbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuIFJlYWN0Tm9kZVZpZXdSZW5kZXJlcigocHJvcHMpID0+IDxNYXRoTm9kZVZpZXcgey4uLnsgLi4ucHJvcHMsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9fSAvPik7XG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IE1hdGhOb2RlVmlldyA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG5vZGUsIHVwZGF0ZUF0dHJpYnV0ZXMsIGVkaXRvciwgc2VsZWN0ZWQsIG9wdGlvbnMgfSA9IHByb3BzO1xuICBjb25zdCBbc2hvd1Rvb2xiYXIsIHNldFNob3dUb29sYmFyXSA9IHVzZVN0YXRlKHNlbGVjdGVkKTtcbiAgY29uc3QgdG9vbGJhclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgW3Bvc2l0aW9uLCBzZXRQb3NpdGlvbl0gPSB1c2VTdGF0ZSh7IHRvcDogMCwgbGVmdDogMCB9KTtcblxuICBjb25zdCBsYXRleCA9IG5vZGUuYXR0cnMubGF0ZXggfHwgJyc7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIHNldFNob3dUb29sYmFyKHRydWUpO1xuICAgIH1cbiAgfSwgW3NlbGVjdGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGl0b3IuX3Rvb2xiYXJPcGVuZWQgPSAhIXNob3dUb29sYmFyO1xuICB9LCBbc2hvd1Rvb2xiYXJdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIENhbGN1bGF0ZSBwb3NpdGlvbiByZWxhdGl2ZSB0byBzZWxlY3Rpb25cbiAgICBjb25zdCBib2R5UmVjdCA9IGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgeyBmcm9tIH0gPSBlZGl0b3Iuc3RhdGUuc2VsZWN0aW9uO1xuICAgIGNvbnN0IHN0YXJ0ID0gZWRpdG9yLnZpZXcuY29vcmRzQXRQb3MoZnJvbSk7XG4gICAgc2V0UG9zaXRpb24oe1xuICAgICAgdG9wOiBzdGFydC50b3AgKyBNYXRoLmFicyhib2R5UmVjdC50b3ApICsgNDAsIC8vIHNoaWZ0IGFib3ZlXG4gICAgICBsZWZ0OiBzdGFydC5sZWZ0LFxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHRvb2xiYXJSZWYuY3VycmVudCAmJlxuICAgICAgICAhdG9vbGJhclJlZi5jdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcbiAgICAgICAgIWV2ZW50LnRhcmdldC5jbG9zZXN0KCdbZGF0YS1pbmxpbmUtbm9kZV0nKVxuICAgICAgKSB7XG4gICAgICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHNob3dUb29sYmFyKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICB9LCBbZWRpdG9yLCBzaG93VG9vbGJhcl0pO1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChuZXdMYXRleCkgPT4ge1xuICAgIHVwZGF0ZUF0dHJpYnV0ZXMoeyBsYXRleDogbmV3TGF0ZXggfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRG9uZSA9IChuZXdMYXRleCkgPT4ge1xuICAgIHVwZGF0ZUF0dHJpYnV0ZXMoeyBsYXRleDogbmV3TGF0ZXggfSk7XG4gICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuXG4gICAgZWRpdG9yLl90b29sYmFyT3BlbmVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB7IHNlbGVjdGlvbiwgdHIsIGRvYyB9ID0gZWRpdG9yLnN0YXRlO1xuICAgIGNvbnN0IHNlbCA9IFRleHRTZWxlY3Rpb24uY3JlYXRlKGRvYywgc2VsZWN0aW9uLmZyb20gKyAxKTtcblxuICAgIC8vIEJ1aWxkIGEgZnJlc2ggdHJhbnNhY3Rpb24gZnJvbSB0aGUgY3VycmVudCBzdGF0ZSBhbmQgc2V0IHRoZSBzZWxlY3Rpb25cbiAgICB0ci5zZXRTZWxlY3Rpb24oc2VsKTtcbiAgICBlZGl0b3Iudmlldy5kaXNwYXRjaCh0cik7XG4gICAgZWRpdG9yLmNvbW1hbmRzLmZvY3VzKCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8Tm9kZVZpZXdXcmFwcGVyXG4gICAgICBjbGFzc05hbWU9XCJtYXRoLW5vZGVcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpbjogJzAgNHB4JyxcbiAgICAgIH19XG4gICAgICBkYXRhLXNlbGVjdGVkPXtzZWxlY3RlZH1cbiAgICA+XG4gICAgICA8ZGl2IG9uQ2xpY2s9eygpID0+IHNldFNob3dUb29sYmFyKHRydWUpfSBjb250ZW50RWRpdGFibGU9e2ZhbHNlfT5cbiAgICAgICAgPE1hdGhQcmV2aWV3IGxhdGV4PXtsYXRleH0gLz5cbiAgICAgIDwvZGl2PlxuICAgICAge3Nob3dUb29sYmFyICYmXG4gICAgICAgIFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICByZWY9e3Rvb2xiYXJSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgdG9wOiBgJHtwb3NpdGlvbi50b3B9cHhgLFxuICAgICAgICAgICAgICBsZWZ0OiBgJHtwb3NpdGlvbi5sZWZ0fXB4YCxcbiAgICAgICAgICAgICAgekluZGV4OiAyMCxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWVkaXRhYmxlLWh0bWwtdG9vbGJhci1iZywgI2VmZWZlZiknLFxuICAgICAgICAgICAgICBib3hTaGFkb3c6XG4gICAgICAgICAgICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWF0aFRvb2xiYXIgbGF0ZXg9e2xhdGV4fSBhdXRvRm9jdXMgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX0gb25Eb25lPXtoYW5kbGVEb25lfSBrZXlwYWRNb2RlPVwiYmFzaWNcIiAvPlxuICAgICAgICAgIDwvZGl2PixcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LFxuICAgICAgICApfVxuICAgIDwvTm9kZVZpZXdXcmFwcGVyPlxuICApO1xufTtcbiJdfQ==
|
|
350
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL21hdGguanMiXSwibmFtZXMiOlsiZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSIsIlBsdWdpbktleSIsIkVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4iLCJtYXRoTm9kZU5hbWUiLCJQbHVnaW4iLCJrZXkiLCJhcHBlbmRUcmFuc2FjdGlvbiIsInRyYW5zYWN0aW9ucyIsIm9sZFN0YXRlIiwibmV3U3RhdGUiLCJzb21lIiwidHIiLCJkb2NDaGFuZ2VkIiwiY2hhbmdlZCIsImRvYyIsImRlc2NlbmRhbnRzIiwibm9kZSIsInBvcyIsInR5cGUiLCJuYW1lIiwibmV4dFBvcyIsIm5vZGVTaXplIiwibmV4dE5vZGUiLCJub2RlQXQiLCJpbnNlcnQiLCJzY2hlbWEiLCJ0ZXh0IiwiWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbiIsInByb3BzIiwiaGFuZGxlS2V5RG93biIsInZpZXciLCJldmVudCIsInN0YXRlIiwiZGlzcGF0Y2giLCJzZWxlY3Rpb24iLCJmcm9tIiwiZW1wdHkiLCJwcmV2Q2hhciIsInRleHRCZXR3ZWVuIiwicG9zQmVmb3JlIiwicmVzb2x2ZWQiLCJyZXNvbHZlIiwibWF5YmVOb2RlIiwibm9kZUFmdGVyIiwibm9kZUJlZm9yZSIsIm5vZGVQb3MiLCJub2RlUmVzb2x2ZWQiLCJzZXRTZWxlY3Rpb24iLCJOb2RlU2VsZWN0aW9uIiwiY3JlYXRlIiwiVGV4dFNlbGVjdGlvbiIsIk1hdGhOb2RlIiwiTm9kZSIsImdyb3VwIiwiaW5saW5lIiwiYXRvbSIsImFkZEF0dHJpYnV0ZXMiLCJsYXRleCIsIndyYXBwZXIiLCJodG1sIiwiYWRkUHJvc2VNaXJyb3JQbHVnaW5zIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImdldEF0dHJpYnV0ZSIsInRleHRDb250ZW50IiwiaW5uZXJIVE1MIiwiYWRkQ29tbWFuZHMiLCJpbnNlcnRNYXRoIiwiZWRpdG9yIiwibm9kZXMiLCJtYXRoIiwiJGZyb20iLCJzZWwiLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImFkZE5vZGVWaWV3Iiwib3B0aW9ucyIsIk1hdGhOb2RlVmlldyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJzZWxlY3RlZCIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJ0b29sYmFyUmVmIiwidG9wIiwibGVmdCIsInBvc2l0aW9uIiwic2V0UG9zaXRpb24iLCJhdHRycyIsIl90b29sYmFyT3BlbmVkIiwiYm9keVJlY3QiLCJkb2N1bWVudCIsImJvZHkiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJzdGFydCIsImNvb3Jkc0F0UG9zIiwiTWF0aCIsImFicyIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZUNoYW5nZSIsIm5ld0xhdGV4IiwiaGFuZGxlRG9uZSIsImNvbW1hbmRzIiwiZm9jdXMiLCJkaXNwbGF5IiwiY3Vyc29yIiwibWFyZ2luIiwiUmVhY3RET00iLCJjcmVhdGVQb3J0YWwiLCJ6SW5kZXgiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLDRCQUE0QixHQUFHLElBQUlDLDJCQUFKLENBQWMscUJBQWQsQ0FBckM7O0FBRU8sSUFBTUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixDQUFDQyxZQUFEO0FBQUEsU0FDdkMsSUFBSUMsd0JBQUosQ0FBVztBQUNUQyxJQUFBQSxHQUFHLEVBQUVMLDRCQURJO0FBRVRNLElBQUFBLGlCQUFpQixFQUFFLDJCQUFDQyxZQUFELEVBQWVDLFFBQWYsRUFBeUJDLFFBQXpCLEVBQXNDO0FBQ3ZEO0FBQ0Es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UUFBUSxDQUFDQyxJQWZYLENBYkosQ0FERjtBQWlDRCxDQW5HTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IEV4dGVuc2lvbiwgTm9kZSwgbWVyZ2VBdHRyaWJ1dGVzIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciwgUmVhY3RSZW5kZXJlciwgUmVhY3ROb2RlVmlld1JlbmRlcmVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgeyBQbHVnaW4sIFBsdWdpbktleSwgTm9kZVNlbGVjdGlvbiwgVGV4dFNlbGVjdGlvbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcbmltcG9ydCB7IE1hdGhQcmV2aWV3LCBNYXRoVG9vbGJhciB9IGZyb20gJ0BwaWUtbGliL21hdGgtdG9vbGJhcic7XG5pbXBvcnQgeyB3cmFwTWF0aCwgbW1sVG9MYXRleCwgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcblxuY29uc3QgZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSA9IG5ldyBQbHVnaW5LZXkoJ2Vuc3VyZVRleHRBZnRlck1hdGgnKTtcblxuZXhwb3J0IGNvbnN0IEVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4gPSAobWF0aE5vZGVOYW1lKSA9PlxuICBuZXcgUGx1Z2luKHtcbiAgICBrZXk6IGVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW5LZXksXG4gICAgYXBwZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbnMsIG9sZFN0YXRlLCBuZXdTdGF0ZSkgPT4ge1xuICAgICAgLy8gT25seSBhY3Qgd2hlbiB0aGUgZG9jIGFjdHVhbGx5IGNoYW5nZWRcbiAgICAgIGlmICghdHJhbnNhY3Rpb25zLnNvbWUoKHRyKSA9PiB0ci5kb2NDaGFuZ2VkKSkgcmV0dXJuIG51bGw7XG5cbiAgICAgIGNvbnN0IHRyID0gbmV3U3RhdGUudHI7XG4gICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICBuZXdTdGF0ZS5kb2MuZGVzY2VuZGFudHMoKG5vZGUsIHBvcykgPT4ge1xuICAgICAgICBpZiAobm9kZS50eXBlLm5hbWUgPT09IG1hdGhOb2RlTmFtZSkge1xuICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBwb3MgKyBub2RlLm5vZGVTaXplO1xuICAgICAgICAgIGNvbnN0IG5leHROb2RlID0gbmV3U3RhdGUuZG9jLm5vZGVBdChuZXh0UG9zKTtcblxuICAgICAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gbm9kZSBhZnRlciwgb3IgdGhlIG5leHQgbm9kZSBpc24ndCB0ZXh0LCBpbnNlcnQgYSBzcGFjZVxuICAgICAgICAgIGlmICghbmV4dE5vZGUgfHwgbmV4dE5vZGUudHlwZS5uYW1lICE9PSAndGV4dCcpIHtcbiAgICAgICAgICAgIHRyLmluc2VydChuZXh0UG9zLCBuZXdTdGF0ZS5zY2hlbWEudGV4dCgnXFx1MjAwYicpKTtcbiAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBjaGFuZ2VkID8gdHIgOiBudWxsO1xuICAgIH0sXG4gIH0pO1xuXG5leHBvcnQgY29uc3QgWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbiA9IG5ldyBQbHVnaW4oe1xuICBrZXk6IG5ldyBQbHVnaW5LZXkoJ3plcm9XaWR0aFNwYWNlSGFuZGxpbmcnKSxcbiAgcHJvcHM6IHtcbiAgICBoYW5kbGVLZXlEb3duKHZpZXcsIGV2ZW50KSB7XG4gICAgICBjb25zdCB7IHN0YXRlLCBkaXNwYXRjaCB9ID0gdmlldztcbiAgICAgIGNvbnN0IHsgc2VsZWN0aW9uLCBkb2MgfSA9IHN0YXRlO1xuICAgICAgY29uc3QgeyBmcm9tLCBlbXB0eSB9ID0gc2VsZWN0aW9uO1xuXG4gICAgICBpZiAoZW1wdHkgJiYgZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyAmJiBmcm9tID4gMCkge1xuICAgICAgICBjb25zdCBwcmV2Q2hhciA9IGRvYy50ZXh0QmV0d2Vlbihmcm9tIC0gMSwgZnJvbSwgJ1xcdUZGRkMnLCAnXFx1RkZGQycpO1xuICAgICAgICBpZiAocHJldkNoYXIgPT09ICdcXHUyMDBiJykge1xuICAgICAgICAgIGNvbnN0IHRyID0gc3RhdGUudHIuZGVsZXRlKGZyb20gLSAyLCBmcm9tKTtcbiAgICAgICAgICBkaXNwYXRjaCh0cik7XG4gICAgICAgICAgcmV0dXJuIHRydWU7IC8vIGhhbmRsZWRcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZW1wdHkgJiYgZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyAmJiBmcm9tID4gMCkge1xuICAgICAgICBjb25zdCBwcmV2Q2hhciA9IGRvYy50ZXh0QmV0d2Vlbihmcm9tIC0gMSwgZnJvbSwgJ1xcdUZGRkMnLCAnXFx1RkZGQycpO1xuICAgICAgICAvLyBJZiB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIGlzIHRoZSB6ZXJvLXdpZHRoIHNwYWNlLi4uXG4gICAgICAgIGlmIChwcmV2Q2hhciA9PT0gJ1xcdTIwMGInKSB7XG4gICAgICAgICAgY29uc3QgcG9zQmVmb3JlID0gZnJvbSAtIDE7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBzdGF0ZS5kb2MucmVzb2x2ZShwb3NCZWZvcmUgLSAxKTsgLy8gbG9vayBqdXN0IGJlZm9yZSB0aGUgendzcFxuICAgICAgICAgIGNvbnN0IG1heWJlTm9kZSA9IHJlc29sdmVkLm5vZGVBZnRlciB8fCByZXNvbHZlZC5ub2RlQmVmb3JlO1xuXG4gICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUncyBhbiBpbmxpbmUgc2VsZWN0YWJsZSBub2RlIChlLmcuLCB5b3VyIG1hdGggbm9kZSlcbiAgICAgICAgICBpZiAobWF5YmVOb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlUG9zID0gcG9zQmVmb3JlIC0gbWF5YmVOb2RlLm5vZGVTaXplO1xuICAgICAgICAgICAgY29uc3Qgbm9kZVJlc29sdmVkID0gc3RhdGUuZG9jLnJlc29sdmUobm9kZVBvcyk7XG4gICAgICAgICAgICBjb25zdCB0ciA9IHN0YXRlLnRyLnNldFNlbGVjdGlvbihOb2RlU2VsZWN0aW9uLmNyZWF0ZShzdGF0ZS5kb2MsIG5vZGVSZXNvbHZlZC5wb3MpKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHRyKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBKdXN0IG1vdmUgdGhlIHRleHQgY3Vyc29yIGJlZm9yZSB0aGUgendzcFxuICAgICAgICAgICAgY29uc3QgdHIgPSBzdGF0ZS50ci5zZXRTZWxlY3Rpb24oVGV4dFNlbGVjdGlvbi5jcmVhdGUoc3RhdGUuZG9jLCBmcm9tIC0gMikpO1xuICAgICAgICAgICAgZGlzcGF0Y2godHIpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBNYXRoTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ21hdGgnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcblxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsYXRleDogeyBkZWZhdWx0OiAnJyB9LFxuICAgICAgd3JhcHBlcjogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBodG1sOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICB9O1xuICB9LFxuXG4gIGFkZFByb3NlTWlycm9yUGx1Z2lucygpIHtcbiAgICByZXR1cm4gW0Vuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4odGhpcy5uYW1lKSwgWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbl07XG4gIH0sXG5cbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS1sYXRleF0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGxhdGV4OiBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmF3JykgfHwgZWwudGV4dENvbnRlbnQsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLXR5cGU9XCJtYXRobWxcIl0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGh0bWw6IGVsLmlubmVySFRNTCxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG5cbiAgYWRkQ29tbWFuZHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluc2VydE1hdGg6IChsYXRleCA9ICcnKSA9PiAoeyB0ciwgZWRpdG9yLCBkaXNwYXRjaCB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc3RhdGUgfSA9IGVkaXRvci52aWV3O1xuICAgICAgICBjb25zdCBub2RlID0gc3RhdGUuc2NoZW1hLm5vZGVzLm1hdGguY3JlYXRlKHtcbiAgICAgICAgICBsYXRleCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcblxuICAgICAgICAvLyBUaGUgaW5zZXJ0ZWQgbm9kZSBpcyB0eXBpY2FsbHkganVzdCBiZWZvcmUgdGhlIGN1cnNvclxuICAgICAgICBjb25zdCBwb3MgPSBzZWxlY3Rpb24uJGZyb20ucG9zO1xuXG4gICAgICAgIHRyLmluc2VydChwb3MsIG5vZGUpO1xuXG4gICAgICAgIGlmIChub2RlPy50eXBlPy5uYW1lID09PSB0aGlzLm5hbWUpIHtcbiAgICAgICAgICAvLyBDcmVhdGUgYSBOb2RlU2VsZWN0aW9uIGZyb20gdGhlIGN1cnJlbnQgZG9jXG4gICAgICAgICAgY29uc3Qgc2VsID0gTm9kZVNlbGVjdGlvbi5jcmVhdGUodHIuZG9jLCBzZWxlY3Rpb24uJGZyb20ucG9zKTtcblxuICAgICAgICAgIC8vIEJ1aWxkIGEgZnJlc2ggdHJhbnNhY3Rpb24gZnJvbSB0aGUgY3VycmVudCBzdGF0ZSBhbmQgc2V0IHRoZSBzZWxlY3Rpb25cbiAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oc2VsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BhdGNoKHRyKTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgICAvLyBpbnNlcnRNYXRoOiAobGF0ZXggPSAnJykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgLy8gICByZXR1cm4gY29tbWFuZHMuaW5zZXJ0Q29udGVudCh7XG4gICAgICAvLyAgICAgdHlwZTogdGhpcy5uYW1lLFxuICAgICAgLy8gICAgIGF0dHJzOiB7IGxhdGV4IH0sXG4gICAgICAvLyAgIH0pO1xuICAgICAgLy8gfSxcbiAgICB9O1xuICB9LFxuXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgaWYgKEhUTUxBdHRyaWJ1dGVzLmh0bWwpIHtcbiAgICAgIHJldHVybiBbJ3NwYW4nLCB7ICdkYXRhLXR5cGUnOiAnbWF0aG1sJywgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHsgX19odG1sOiBIVE1MQXR0cmlidXRlcy5odG1sIH0gfV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgICdzcGFuJyxcbiAgICAgIHsgJ2RhdGEtbGF0ZXgnOiAnJywgJ2RhdGEtcmF3JzogSFRNTEF0dHJpYnV0ZXMubGF0ZXggfSxcbiAgICAgIHdyYXBNYXRoKEhUTUxBdHRyaWJ1dGVzLmxhdGV4LCBIVE1MQXR0cmlidXRlcy53cmFwcGVyKSxcbiAgICBdO1xuICB9LFxuXG4gIGFkZE5vZGVWaWV3KCkge1xuICAgIHJldHVybiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoKHByb3BzKSA9PiA8TWF0aE5vZGVWaWV3IHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBNYXRoTm9kZVZpZXcgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBub2RlLCB1cGRhdGVBdHRyaWJ1dGVzLCBlZGl0b3IsIHNlbGVjdGVkLCBvcHRpb25zIH0gPSBwcm9wcztcbiAgY29uc3QgW3Nob3dUb29sYmFyLCBzZXRTaG93VG9vbGJhcl0gPSB1c2VTdGF0ZShzZWxlY3RlZCk7XG4gIGNvbnN0IHRvb2xiYXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoeyB0b3A6IDAsIGxlZnQ6IDAgfSk7XG5cbiAgY29uc3QgbGF0ZXggPSBub2RlLmF0dHJzLmxhdGV4IHx8ICcnO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICBzZXRTaG93VG9vbGJhcih0cnVlKTtcbiAgICB9XG4gIH0sIFtzZWxlY3RlZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZWRpdG9yLl90b29sYmFyT3BlbmVkID0gISFzaG93VG9vbGJhcjtcbiAgfSwgW3Nob3dUb29sYmFyXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBDYWxjdWxhdGUgcG9zaXRpb24gcmVsYXRpdmUgdG8gc2VsZWN0aW9uXG4gICAgY29uc3QgYm9keVJlY3QgPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHsgZnJvbSB9ID0gZWRpdG9yLnN0YXRlLnNlbGVjdGlvbjtcbiAgICBjb25zdCBzdGFydCA9IGVkaXRvci52aWV3LmNvb3Jkc0F0UG9zKGZyb20pO1xuICAgIHNldFBvc2l0aW9uKHtcbiAgICAgIHRvcDogc3RhcnQudG9wICsgTWF0aC5hYnMoYm9keVJlY3QudG9wKSArIDQwLCAvLyBzaGlmdCBhYm92ZVxuICAgICAgbGVmdDogc3RhcnQubGVmdCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0b29sYmFyUmVmLmN1cnJlbnQgJiZcbiAgICAgICAgIXRvb2xiYXJSZWYuY3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICFldmVudC50YXJnZXQuY2xvc2VzdCgnW2RhdGEtaW5saW5lLW5vZGVdJylcbiAgICAgICkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChzaG93VG9vbGJhcikge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgfSwgW2VkaXRvciwgc2hvd1Rvb2xiYXJdKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAobmV3TGF0ZXgpID0+IHtcbiAgICB1cGRhdGVBdHRyaWJ1dGVzKHsgbGF0ZXg6IG5ld0xhdGV4IH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURvbmUgPSAobmV3TGF0ZXgpID0+IHtcbiAgICB1cGRhdGVBdHRyaWJ1dGVzKHsgbGF0ZXg6IG5ld0xhdGV4IH0pO1xuICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcblxuICAgIGVkaXRvci5fdG9vbGJhck9wZW5lZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgeyBzZWxlY3Rpb24sIHRyLCBkb2MgfSA9IGVkaXRvci5zdGF0ZTtcbiAgICBjb25zdCBzZWwgPSBUZXh0U2VsZWN0aW9uLmNyZWF0ZShkb2MsIHNlbGVjdGlvbi5mcm9tICsgMSk7XG5cbiAgICAvLyBCdWlsZCBhIGZyZXNoIHRyYW5zYWN0aW9uIGZyb20gdGhlIGN1cnJlbnQgc3RhdGUgYW5kIHNldCB0aGUgc2VsZWN0aW9uXG4gICAgdHIuc2V0U2VsZWN0aW9uKHNlbCk7XG4gICAgZWRpdG9yLnZpZXcuZGlzcGF0Y2godHIpO1xuICAgIGVkaXRvci5jb21tYW5kcy5mb2N1cygpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlclxuICAgICAgY2xhc3NOYW1lPVwibWF0aC1ub2RlXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW46ICcwIDRweCcsXG4gICAgICB9fVxuICAgICAgZGF0YS1zZWxlY3RlZD17c2VsZWN0ZWR9XG4gICAgPlxuICAgICAgPGRpdiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93VG9vbGJhcih0cnVlKX0gY29udGVudEVkaXRhYmxlPXtmYWxzZX0+XG4gICAgICAgIDxNYXRoUHJldmlldyBsYXRleD17bGF0ZXh9IC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtzaG93VG9vbGJhciAmJlxuICAgICAgICBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt0b29sYmFyUmVmfVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgIHRvcDogYCR7cG9zaXRpb24udG9wfXB4YCxcbiAgICAgICAgICAgICAgbGVmdDogYCR7cG9zaXRpb24ubGVmdH1weGAsXG4gICAgICAgICAgICAgIHpJbmRleDogMjAsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1lZGl0YWJsZS1odG1sLXRvb2xiYXItYmcsICNlZmVmZWYpJyxcbiAgICAgICAgICAgICAgYm94U2hhZG93OlxuICAgICAgICAgICAgICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE1hdGhUb29sYmFyIGxhdGV4PXtsYXRleH0gYXV0b0ZvY3VzIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9IG9uRG9uZT17aGFuZGxlRG9uZX0ga2V5cGFkTW9kZT1cImJhc2ljXCIgLz5cbiAgICAgICAgICA8L2Rpdj4sXG4gICAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICAgKX1cbiAgICA8L05vZGVWaWV3V3JhcHBlcj5cbiAgKTtcbn07XG4iXX0=
|