@pie-lib/editable-html-tip-tap 1.0.19 → 1.0.21-next.6053
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/CHANGELOG.md +7 -73
- package/LICENSE.md +5 -0
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/components/CharacterPicker.js +22 -61
- package/lib/components/CharacterPicker.js.map +1 -1
- package/lib/components/EditableHtml.js +50 -121
- package/lib/components/EditableHtml.js.map +1 -1
- package/lib/components/MenuBar.js +96 -128
- package/lib/components/MenuBar.js.map +1 -1
- package/lib/components/TiptapContainer.js +162 -45
- package/lib/components/TiptapContainer.js.map +1 -1
- package/lib/components/characters/characterUtils.js +4 -7
- package/lib/components/characters/characterUtils.js.map +1 -1
- package/lib/components/characters/custom-popper.js +22 -51
- package/lib/components/characters/custom-popper.js.map +1 -1
- package/lib/components/common/done-button.js +17 -36
- package/lib/components/common/done-button.js.map +1 -1
- package/lib/components/common/toolbar-buttons.js +57 -107
- package/lib/components/common/toolbar-buttons.js.map +1 -1
- package/lib/components/icons/CssIcon.js +14 -26
- package/lib/components/icons/CssIcon.js.map +1 -1
- package/lib/components/icons/RespArea.js +23 -46
- package/lib/components/icons/RespArea.js.map +1 -1
- package/lib/components/icons/TableIcons.js +20 -36
- package/lib/components/icons/TableIcons.js.map +1 -1
- package/lib/components/icons/TextAlign.js +16 -53
- package/lib/components/icons/TextAlign.js.map +1 -1
- package/lib/components/image/AltDialog.js +18 -49
- package/lib/components/image/AltDialog.js.map +1 -1
- package/lib/components/image/ImageToolbar.js +50 -90
- package/lib/components/image/ImageToolbar.js.map +1 -1
- package/lib/components/image/InsertImageHandler.js +17 -35
- package/lib/components/image/InsertImageHandler.js.map +1 -1
- package/lib/components/media/MediaDialog.js +195 -309
- package/lib/components/media/MediaDialog.js.map +1 -1
- package/lib/components/media/MediaToolbar.js +39 -66
- package/lib/components/media/MediaToolbar.js.map +1 -1
- package/lib/components/media/MediaWrapper.js +30 -56
- package/lib/components/media/MediaWrapper.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +21 -36
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/choice.js +215 -262
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
- package/lib/components/respArea/ExplicitConstructedResponse.js +11 -33
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
- package/lib/components/respArea/InlineDropdown.js +19 -41
- package/lib/components/respArea/InlineDropdown.js.map +1 -1
- package/lib/components/respArea/ToolbarIcon.js +21 -45
- package/lib/components/respArea/ToolbarIcon.js.map +1 -1
- package/lib/constants.js +3 -5
- package/lib/constants.js.map +1 -1
- package/lib/extensions/component.js +94 -148
- package/lib/extensions/component.js.map +1 -1
- package/lib/extensions/css.js +9 -44
- package/lib/extensions/css.js.map +1 -1
- package/lib/extensions/custom-toolbar-wrapper.js +66 -94
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -1
- package/lib/extensions/extended-table.js +2 -6
- package/lib/extensions/extended-table.js.map +1 -1
- package/lib/extensions/image.js +4 -17
- package/lib/extensions/image.js.map +1 -1
- package/lib/extensions/index.js +11 -21
- package/lib/extensions/index.js.map +1 -1
- package/lib/extensions/math.js +45 -96
- package/lib/extensions/math.js.map +1 -1
- package/lib/extensions/media.js +21 -59
- package/lib/extensions/media.js.map +1 -1
- package/lib/extensions/responseArea.js +43 -89
- package/lib/extensions/responseArea.js.map +1 -1
- package/lib/index.js +3 -11
- package/lib/index.js.map +1 -1
- package/lib/styles/editorContainerStyles.js +2 -7
- package/lib/styles/editorContainerStyles.js.map +1 -1
- package/lib/theme.js +2 -3
- package/lib/theme.js.map +1 -1
- package/lib/utils/size.js +2 -10
- package/lib/utils/size.js.map +1 -1
- package/package.json +15 -13
- package/src/components/CharacterPicker.jsx +1 -0
- package/src/components/EditableHtml.jsx +21 -33
- package/src/components/MenuBar.jsx +66 -37
- package/src/components/TiptapContainer.jsx +133 -34
- package/src/components/characters/custom-popper.js +18 -28
- package/src/components/common/done-button.jsx +15 -26
- package/src/components/common/toolbar-buttons.jsx +28 -44
- package/src/components/icons/CssIcon.jsx +11 -13
- package/src/components/icons/RespArea.jsx +16 -16
- package/src/components/icons/TableIcons.jsx +15 -16
- package/src/components/icons/TextAlign.jsx +3 -3
- package/src/components/image/AltDialog.jsx +6 -6
- package/src/components/image/ImageToolbar.jsx +28 -29
- package/src/components/media/MediaDialog.js +61 -78
- package/src/components/media/MediaToolbar.jsx +30 -37
- package/src/components/media/MediaWrapper.jsx +12 -16
- package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +5 -4
- package/src/components/respArea/DragInTheBlank/choice.jsx +191 -185
- package/src/components/respArea/ToolbarIcon.jsx +13 -15
- package/src/extensions/component.jsx +61 -89
- package/src/extensions/css.js +6 -5
- package/src/extensions/custom-toolbar-wrapper.jsx +61 -81
- package/lib/__tests__/utils.js +0 -106
- package/src/__tests__/utils.js +0 -36
|
@@ -1,78 +1,111 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
21
|
-
|
|
22
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
23
|
-
|
|
24
14
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
25
|
-
|
|
26
15
|
var _debug = _interopRequireDefault(require("debug"));
|
|
27
|
-
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var _styles = require("@material-ui/core/styles");
|
|
31
|
-
|
|
16
|
+
var _LinearProgress = _interopRequireDefault(require("@mui/material/LinearProgress"));
|
|
17
|
+
var _styles = require("@mui/material/styles");
|
|
32
18
|
var _react2 = require("@tiptap/react");
|
|
33
|
-
|
|
34
19
|
var _InsertImageHandler = _interopRequireDefault(require("../components/image/InsertImageHandler"));
|
|
35
|
-
|
|
36
20
|
var _ImageToolbar = _interopRequireDefault(require("../components/image/ImageToolbar"));
|
|
37
|
-
|
|
38
21
|
var _customToolbarWrapper = _interopRequireDefault(require("./custom-toolbar-wrapper"));
|
|
39
|
-
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
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; }
|
|
43
|
-
|
|
44
|
-
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; }
|
|
45
|
-
|
|
46
|
-
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; }
|
|
47
|
-
|
|
22
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
23
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
24
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
48
25
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:component');
|
|
49
|
-
|
|
26
|
+
var StyledProgress = (0, _styles.styled)(_LinearProgress["default"], {
|
|
27
|
+
shouldForwardProp: function shouldForwardProp(prop) {
|
|
28
|
+
return prop !== 'hideProgress';
|
|
29
|
+
}
|
|
30
|
+
})(function (_ref) {
|
|
31
|
+
var hideProgress = _ref.hideProgress;
|
|
32
|
+
return _objectSpread({
|
|
33
|
+
position: 'absolute',
|
|
34
|
+
left: '0',
|
|
35
|
+
width: 'fit-content',
|
|
36
|
+
top: '0%',
|
|
37
|
+
transition: 'opacity 200ms linear'
|
|
38
|
+
}, hideProgress && {
|
|
39
|
+
opacity: 0
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
var StyledRoot = (0, _styles.styled)('div', {
|
|
43
|
+
shouldForwardProp: function shouldForwardProp(prop) {
|
|
44
|
+
return !['active', 'loading', 'pendingDelete'].includes(prop);
|
|
45
|
+
}
|
|
46
|
+
})(function (_ref2) {
|
|
47
|
+
var theme = _ref2.theme,
|
|
48
|
+
active = _ref2.active,
|
|
49
|
+
loading = _ref2.loading,
|
|
50
|
+
pendingDelete = _ref2.pendingDelete;
|
|
51
|
+
return _objectSpread(_objectSpread({
|
|
52
|
+
position: 'relative',
|
|
53
|
+
border: active ? "solid 1px ".concat(theme.palette.primary.main) : "solid 1px ".concat(theme.palette.common.white),
|
|
54
|
+
display: 'flex',
|
|
55
|
+
transition: 'opacity 200ms linear'
|
|
56
|
+
}, loading && {
|
|
57
|
+
opacity: 0.3
|
|
58
|
+
}), pendingDelete && {
|
|
59
|
+
opacity: 0.3
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
var StyledImageContainer = (0, _styles.styled)('div')(function (_ref3) {
|
|
63
|
+
var theme = _ref3.theme;
|
|
64
|
+
return {
|
|
65
|
+
position: 'relative',
|
|
66
|
+
width: 'fit-content',
|
|
67
|
+
display: 'flex',
|
|
68
|
+
alignItems: 'center',
|
|
69
|
+
'&&:hover > .resize': {
|
|
70
|
+
display: 'block'
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
var StyledResize = (0, _styles.styled)('div')(function (_ref4) {
|
|
75
|
+
var theme = _ref4.theme;
|
|
76
|
+
return {
|
|
77
|
+
backgroundColor: theme.palette.primary.main,
|
|
78
|
+
cursor: 'col-resize',
|
|
79
|
+
height: '35px',
|
|
80
|
+
width: '5px',
|
|
81
|
+
borderRadius: 8,
|
|
82
|
+
marginLeft: '5px',
|
|
83
|
+
marginRight: '10px',
|
|
84
|
+
display: 'none'
|
|
85
|
+
};
|
|
86
|
+
});
|
|
50
87
|
var sizePx = function sizePx(s) {
|
|
51
88
|
return s ? "".concat(s, "px") : 'calc(20px)';
|
|
52
89
|
};
|
|
53
|
-
|
|
54
90
|
function ImageComponent(props) {
|
|
55
91
|
var node = props.node,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
handleDone = props.handleDone;
|
|
92
|
+
editor = props.editor,
|
|
93
|
+
attributes = props.attributes,
|
|
94
|
+
onFocus = props.onFocus,
|
|
95
|
+
selected = props.selected,
|
|
96
|
+
options = props.options,
|
|
97
|
+
_props$maxImageWidth = props.maxImageWidth,
|
|
98
|
+
maxImageWidth = _props$maxImageWidth === void 0 ? 700 : _props$maxImageWidth,
|
|
99
|
+
_props$maxImageHeight = props.maxImageHeight,
|
|
100
|
+
maxImageHeight = _props$maxImageHeight === void 0 ? 900 : _props$maxImageHeight,
|
|
101
|
+
latex = props.latex,
|
|
102
|
+
handleChange = props.handleChange,
|
|
103
|
+
handleDone = props.handleDone;
|
|
69
104
|
var alt = node.attrs.alt;
|
|
70
|
-
|
|
71
105
|
var _useState = (0, _react.useState)(false),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
106
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
107
|
+
showToolbar = _useState2[0],
|
|
108
|
+
setShowToolbar = _useState2[1];
|
|
76
109
|
var imgRef = (0, _react.useRef)(null);
|
|
77
110
|
var resizeRef = (0, _react.useRef)(null);
|
|
78
111
|
var toolbarRef = (0, _react.useRef)(null);
|
|
@@ -82,11 +115,9 @@ function ImageComponent(props) {
|
|
|
82
115
|
}, []);
|
|
83
116
|
var applySizeData = (0, _react.useCallback)(function () {
|
|
84
117
|
if (!node.attrs.width || !imgRef.current) return;
|
|
85
|
-
|
|
86
118
|
var update = _objectSpread(_objectSpread({}, node.attrs), {}, {
|
|
87
119
|
resizePercent: getPercentFromWidth(node.attrs.width)
|
|
88
120
|
});
|
|
89
|
-
|
|
90
121
|
if (!(0, _isEqual["default"])(update, node.attrs)) {
|
|
91
122
|
editor.commands.updateAttributes('imageUploadNode', update);
|
|
92
123
|
}
|
|
@@ -94,7 +125,6 @@ function ImageComponent(props) {
|
|
|
94
125
|
(0, _react.useEffect)(function () {
|
|
95
126
|
var selection = editor.state.selection;
|
|
96
127
|
var onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;
|
|
97
|
-
|
|
98
128
|
if (selected) {
|
|
99
129
|
if (onlyThisNodeSelected) {
|
|
100
130
|
setShowToolbar(selected);
|
|
@@ -109,11 +139,9 @@ function ImageComponent(props) {
|
|
|
109
139
|
});
|
|
110
140
|
applySizeData();
|
|
111
141
|
var resizeHandle = resizeRef.current;
|
|
112
|
-
|
|
113
142
|
if (resizeHandle) {
|
|
114
143
|
resizeHandle.addEventListener('mousedown', initResize, false);
|
|
115
144
|
}
|
|
116
|
-
|
|
117
145
|
return function () {
|
|
118
146
|
if (resizeHandle) resizeHandle.removeEventListener('mousedown', initResize, false);
|
|
119
147
|
};
|
|
@@ -124,7 +152,6 @@ function ImageComponent(props) {
|
|
|
124
152
|
var loadImage = (0, _react.useCallback)(function () {
|
|
125
153
|
var box = imgRef.current;
|
|
126
154
|
if (!box) return;
|
|
127
|
-
|
|
128
155
|
if (!box.style.width || box.style.width === 'calc(20px)') {
|
|
129
156
|
var w = Math.min(box.naturalWidth, maxImageWidth);
|
|
130
157
|
var h = Math.min(box.naturalHeight, maxImageHeight);
|
|
@@ -134,17 +161,14 @@ function ImageComponent(props) {
|
|
|
134
161
|
width: w,
|
|
135
162
|
height: h
|
|
136
163
|
};
|
|
137
|
-
|
|
138
164
|
if (!(0, _isEqual["default"])(update, node.attrs)) {
|
|
139
165
|
editor.commands.updateAttributes('imageUploadNode', update);
|
|
140
166
|
}
|
|
141
167
|
}
|
|
142
168
|
}, [editor, node.attrs, maxImageWidth, maxImageHeight]);
|
|
143
|
-
|
|
144
169
|
var updateAspect = function updateAspect(initial, next) {
|
|
145
170
|
var keepAspect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
146
171
|
var resizeType = arguments.length > 3 ? arguments[3] : undefined;
|
|
147
|
-
|
|
148
172
|
if (keepAspect) {
|
|
149
173
|
var ratio = initial.width / initial.height;
|
|
150
174
|
if (resizeType === 'height') return {
|
|
@@ -156,10 +180,8 @@ function ImageComponent(props) {
|
|
|
156
180
|
height: next.width / ratio
|
|
157
181
|
};
|
|
158
182
|
}
|
|
159
|
-
|
|
160
183
|
return next;
|
|
161
184
|
};
|
|
162
|
-
|
|
163
185
|
var startResize = (0, _react.useCallback)(function (e) {
|
|
164
186
|
var box = imgRef.current;
|
|
165
187
|
if (!box) return;
|
|
@@ -172,7 +194,6 @@ function ImageComponent(props) {
|
|
|
172
194
|
width: e.clientX - bounds.left,
|
|
173
195
|
height: e.clientY - bounds.top
|
|
174
196
|
});
|
|
175
|
-
|
|
176
197
|
if (next.width > 50 && next.height > 50 && next.width <= 700 && next.height <= 900) {
|
|
177
198
|
box.style.width = "".concat(next.width, "px");
|
|
178
199
|
box.style.height = "".concat(next.height, "px");
|
|
@@ -180,7 +201,6 @@ function ImageComponent(props) {
|
|
|
180
201
|
width: next.width,
|
|
181
202
|
height: next.height
|
|
182
203
|
};
|
|
183
|
-
|
|
184
204
|
if (!(0, _isEqual["default"])(update, node.attrs)) {
|
|
185
205
|
editor.commands.updateAttributes('imageUploadNode', update);
|
|
186
206
|
}
|
|
@@ -207,28 +227,27 @@ function ImageComponent(props) {
|
|
|
207
227
|
center: 'center',
|
|
208
228
|
right: 'flex-end'
|
|
209
229
|
}[node.attrs.alignment] || 'flex-start';
|
|
210
|
-
return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, null, /*#__PURE__*/_react["default"].createElement(
|
|
230
|
+
return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, null, /*#__PURE__*/_react["default"].createElement(StyledRoot, {
|
|
211
231
|
onFocus: onFocus,
|
|
212
|
-
|
|
232
|
+
active: selected,
|
|
233
|
+
loading: !node.attrs.loaded,
|
|
234
|
+
pendingDelete: node.attrs.deleteStatus === 'pending',
|
|
213
235
|
style: {
|
|
214
236
|
justifyContent: flexAlign
|
|
215
237
|
}
|
|
216
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
238
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledProgress, {
|
|
217
239
|
mode: "determinate",
|
|
218
240
|
value: node.attrs.percent || 0,
|
|
219
|
-
|
|
220
|
-
}), /*#__PURE__*/_react["default"].createElement("
|
|
221
|
-
className: classes.imageContainer
|
|
222
|
-
}, /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, attributes, {
|
|
241
|
+
hideProgress: node.attrs.loaded
|
|
242
|
+
}), /*#__PURE__*/_react["default"].createElement(StyledImageContainer, null, /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, attributes, {
|
|
223
243
|
ref: imgRef,
|
|
224
244
|
src: node.attrs.src,
|
|
225
|
-
className: (0, _classnames["default"])(classes.image, selected && classes.active),
|
|
226
245
|
style: style,
|
|
227
246
|
onLoad: loadImage,
|
|
228
247
|
alt: node.attrs.alt
|
|
229
|
-
})), /*#__PURE__*/_react["default"].createElement(
|
|
248
|
+
})), /*#__PURE__*/_react["default"].createElement(StyledResize, {
|
|
230
249
|
ref: resizeRef,
|
|
231
|
-
className:
|
|
250
|
+
className: "resize"
|
|
232
251
|
}))), showToolbar && /*#__PURE__*/_react["default"].createElement("div", {
|
|
233
252
|
ref: toolbarRef,
|
|
234
253
|
style: {
|
|
@@ -245,9 +264,8 @@ function ImageComponent(props) {
|
|
|
245
264
|
}, options, {
|
|
246
265
|
onDone: function onDone() {
|
|
247
266
|
var _props$imageHandling;
|
|
248
|
-
|
|
249
267
|
setShowToolbar(false);
|
|
250
|
-
(_props$imageHandling = props.imageHandling) === null || _props$imageHandling === void 0
|
|
268
|
+
(_props$imageHandling = props.imageHandling) === null || _props$imageHandling === void 0 || _props$imageHandling.onDone();
|
|
251
269
|
props.editor.commands.focus('end');
|
|
252
270
|
}
|
|
253
271
|
}), /*#__PURE__*/_react["default"].createElement(_ImageToolbar["default"], {
|
|
@@ -258,85 +276,13 @@ function ImageComponent(props) {
|
|
|
258
276
|
onChange: onChange
|
|
259
277
|
}))));
|
|
260
278
|
}
|
|
261
|
-
|
|
262
279
|
ImageComponent.propTypes = {
|
|
263
280
|
node: _propTypes["default"].object.isRequired,
|
|
264
281
|
editor: _propTypes["default"].object.isRequired,
|
|
265
|
-
classes: _propTypes["default"].object.isRequired,
|
|
266
282
|
attributes: _propTypes["default"].object,
|
|
267
283
|
onFocus: _propTypes["default"].func,
|
|
268
284
|
maxImageWidth: _propTypes["default"].number,
|
|
269
285
|
maxImageHeight: _propTypes["default"].number
|
|
270
286
|
};
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
return {
|
|
274
|
-
portal: {
|
|
275
|
-
position: 'absolute',
|
|
276
|
-
opacity: 0,
|
|
277
|
-
transition: 'opacity 200ms linear'
|
|
278
|
-
},
|
|
279
|
-
floatingButtonRow: {
|
|
280
|
-
backgroundColor: theme.palette.background.paper,
|
|
281
|
-
borderRadius: '1px',
|
|
282
|
-
display: 'flex',
|
|
283
|
-
padding: '10px',
|
|
284
|
-
border: "solid 1px ".concat(theme.palette.grey[200]),
|
|
285
|
-
boxShadow: '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)'
|
|
286
|
-
},
|
|
287
|
-
progress: {
|
|
288
|
-
position: 'absolute',
|
|
289
|
-
left: '0',
|
|
290
|
-
width: 'fit-content',
|
|
291
|
-
top: '0%',
|
|
292
|
-
transition: 'opacity 200ms linear'
|
|
293
|
-
},
|
|
294
|
-
hideProgress: {
|
|
295
|
-
opacity: 0
|
|
296
|
-
},
|
|
297
|
-
loading: {
|
|
298
|
-
opacity: 0.3
|
|
299
|
-
},
|
|
300
|
-
pendingDelete: {
|
|
301
|
-
opacity: 0.3
|
|
302
|
-
},
|
|
303
|
-
root: {
|
|
304
|
-
position: 'relative',
|
|
305
|
-
border: "solid 1px ".concat(theme.palette.common.white),
|
|
306
|
-
display: 'flex',
|
|
307
|
-
transition: 'opacity 200ms linear'
|
|
308
|
-
},
|
|
309
|
-
"delete": {
|
|
310
|
-
position: 'absolute',
|
|
311
|
-
right: 0
|
|
312
|
-
},
|
|
313
|
-
imageContainer: {
|
|
314
|
-
position: 'relative',
|
|
315
|
-
width: 'fit-content',
|
|
316
|
-
display: 'flex',
|
|
317
|
-
alignItems: 'center',
|
|
318
|
-
'&&:hover > .resize': {
|
|
319
|
-
display: 'block'
|
|
320
|
-
}
|
|
321
|
-
},
|
|
322
|
-
active: {
|
|
323
|
-
border: "solid 1px ".concat(theme.palette.primary.main)
|
|
324
|
-
},
|
|
325
|
-
resize: {
|
|
326
|
-
backgroundColor: theme.palette.primary.main,
|
|
327
|
-
cursor: 'col-resize',
|
|
328
|
-
height: '35px',
|
|
329
|
-
width: '5px',
|
|
330
|
-
borderRadius: 8,
|
|
331
|
-
marginLeft: '5px',
|
|
332
|
-
marginRight: '10px',
|
|
333
|
-
display: 'none'
|
|
334
|
-
},
|
|
335
|
-
drawableHeight: {
|
|
336
|
-
minHeight: 350
|
|
337
|
-
}
|
|
338
|
-
};
|
|
339
|
-
})(ImageComponent);
|
|
340
|
-
|
|
341
|
-
exports["default"] = _default;
|
|
342
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2NvbXBvbmVudC5qc3giXSwibmFtZXMiOlsibG9nIiwic2l6ZVB4IiwicyIsIkltYWdlQ29tcG9uZW50IiwicHJvcHMiLCJub2RlIiwiZWRpdG9yIiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJvbkZvY3VzIiwic2VsZWN0ZWQiLCJvcHRpb25zIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwibGF0ZXgiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVEb25lIiwiYWx0IiwiYXR0cnMiLCJzaG93VG9vbGJhciIsInNldFNob3dUb29sYmFyIiwiaW1nUmVmIiwicmVzaXplUmVmIiwidG9vbGJhclJlZiIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJ3aWR0aCIsImZsb29yZWQiLCJjdXJyZW50IiwibmF0dXJhbFdpZHRoIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwiYXBwbHlTaXplRGF0YSIsInVwZGF0ZSIsInJlc2l6ZVBlcmNlbnQiLCJjb21tYW5kcyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJzZWxlY3Rpb24iLCJzdGF0ZSIsIm9ubHlUaGlzTm9kZVNlbGVjdGVkIiwiZnJvbSIsIm5vZGVTaXplIiwidG8iLCJpbWFnZUhhbmRsaW5nIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJmaW5pc2giLCJJbnNlcnRJbWFnZUhhbmRsZXIiLCJyZXNpemVIYW5kbGUiLCJhZGRFdmVudExpc3RlbmVyIiwiaW5pdFJlc2l6ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2FkSW1hZ2UiLCJib3giLCJzdHlsZSIsInciLCJNYXRoIiwibWluIiwiaCIsIm5hdHVyYWxIZWlnaHQiLCJoZWlnaHQiLCJ1cGRhdGVBc3BlY3QiLCJpbml0aWFsIiwibmV4dCIsImtlZXBBc3BlY3QiLCJyZXNpemVUeXBlIiwicmF0aW8iLCJzdGFydFJlc2l6ZSIsImUiLCJib3VuZHMiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRYIiwibGVmdCIsImNsaWVudFkiLCJ0b3AiLCJvbkNoYW5nZSIsIm5ld1ZhbHVlcyIsInN0b3BSZXNpemUiLCJ3aW5kb3ciLCJvYmplY3RGaXQiLCJmbGV4QWxpZ24iLCJjZW50ZXIiLCJyaWdodCIsImFsaWdubWVudCIsInJvb3QiLCJsb2FkZWQiLCJsb2FkaW5nIiwiZGVsZXRlU3RhdHVzIiwicGVuZGluZ0RlbGV0ZSIsImp1c3RpZnlDb250ZW50IiwicGVyY2VudCIsInByb2dyZXNzIiwiaGlkZVByb2dyZXNzIiwiaW1hZ2VDb250YWluZXIiLCJzcmMiLCJpbWFnZSIsImFjdGl2ZSIsInJlc2l6ZSIsInBvc2l0aW9uIiwiekluZGV4IiwiYmFja2dyb3VuZCIsImJveFNoYWRvdyIsIm9uRG9uZSIsImZvY3VzIiwiZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwibnVtYmVyIiwidGhlbWUiLCJwb3J0YWwiLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwicGFsZXR0ZSIsInBhcGVyIiwiYm9yZGVyUmFkaXVzIiwiZGlzcGxheSIsInBhZGRpbmciLCJib3JkZXIiLCJncmV5IiwiY29tbW9uIiwid2hpdGUiLCJhbGlnbkl0ZW1zIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxnREFBTixDQUFaOztBQUVBLElBQU1DLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLENBQUQ7QUFBQSxTQUFRQSxDQUFDLGFBQU1BLENBQU4sVUFBYyxZQUF2QjtBQUFBLENBQWY7O0FBRUEsU0FBU0MsY0FBVCxDQUF3QkMsS0FBeEIsRUFBK0I7QUFDN0IsTUFDRUMsSUFERixHQWFJRCxLQWJKLENBQ0VDLElBREY7QUFBQSxNQUVFQyxNQUZGLEdBYUlGLEtBYkosQ0FFRUUsTUFGRjtBQUFBLE1BR0VDLE9BSEYsR0FhSUgsS0FiSixDQUdFRyxPQUhGO0FBQUEsTUFJRUMsVUFKRixHQWFJSixLQWJKLENBSUVJLFVBSkY7QUFBQSxNQUtFQyxPQUxGLEdBYUlMLEtBYkosQ0FLRUssT0FMRjtBQUFBLE1BTUVDLFFBTkYsR0FhSU4sS0FiSixDQU1FTSxRQU5GO0FBQUEsTUFPRUMsT0FQRixHQWFJUCxLQWJKLENBT0VPLE9BUEY7QUFBQSw2QkFhSVAsS0FiSixDQVFFUSxhQVJGO0FBQUEsTUFRRUEsYUFSRixxQ0FRa0IsR0FSbEI7QUFBQSw4QkFhSVIsS0FiSixDQVNFUyxjQVRGO0FBQUEsTUFTRUEsY0FURixzQ0FTbUIsR0FUbkI7QUFBQSxNQVVFQyxLQVZGLEdBYUlWLEtBYkosQ0FVRVUsS0FWRjtBQUFBLE1BV0VDLFlBWEYsR0FhSVgsS0FiSixDQVdFVyxZQVhGO0FBQUEsTUFZRUMsVUFaRixHQWFJWixLQWJKLENBWUVZLFVBWkY7QUFjQSxNQUFRQyxHQUFSLEdBQWdCWixJQUFJLENBQUNhLEtBQXJCLENBQVFELEdBQVI7O0FBRUEsa0JBQXNDLHFCQUFTLEtBQVQsQ0FBdEM7QUFBQTtBQUFBLE1BQU9FLFdBQVA7QUFBQSxNQUFvQkMsY0FBcEI7O0FBRUEsTUFBTUMsTUFBTSxHQUFHLG1CQUFPLElBQVAsQ0FBZjtBQUNBLE1BQU1DLFNBQVMsR0FBRyxtQkFBTyxJQUFQLENBQWxCO0FBQ0EsTUFBTUMsVUFBVSxHQUFHLG1CQUFPLElBQVAsQ0FBbkI7QUFFQSxNQUFNQyxtQkFBbUIsR0FBRyx3QkFBWSxVQUFDQyxLQUFELEVBQVc7QUFDakQsUUFBTUMsT0FBTyxHQUFJRCxLQUFLLEdBQUdKLE1BQU0sQ0FBQ00sT0FBUCxDQUFlQyxZQUF4QixHQUF3QyxDQUF4RDtBQUNBLFdBQU9DLFFBQVEsQ0FBQ0gsT0FBTyxDQUFDSSxPQUFSLENBQWdCLENBQWhCLElBQXFCLEVBQXRCLEVBQTBCLEVBQTFCLENBQWY7QUFDRCxHQUgyQixFQUd6QixFQUh5QixDQUE1QjtBQUtBLE1BQU1DLGFBQWEsR0FBRyx3QkFBWSxZQUFNO0FBQ3RDLFFBQUksQ0FBQzFCLElBQUksQ0FBQ2EsS0FBTCxDQUFXTyxLQUFaLElBQXFCLENBQUNKLE1BQU0sQ0FBQ00sT0FBakMsRUFBMEM7O0FBRTFDLFFBQU1LLE1BQU0sbUNBQ1AzQixJQUFJLENBQUNhLEtBREU7QUFFVmUsTUFBQUEsYUFBYSxFQUFFVCxtQkFBbUIsQ0FBQ25CLElBQUksQ0FBQ2EsS0FBTCxDQUFXTyxLQUFaO0FBRnhCLE1BQVo7O0FBS0EsUUFBSSxDQUFDLHlCQUFRTyxNQUFSLEVBQWdCM0IsSUFBSSxDQUFDYSxLQUFyQixDQUFMLEVBQWtDO0FBQ2hDWixNQUFBQSxNQUFNLENBQUM0QixRQUFQLENBQWdCQyxnQkFBaEIsQ0FBaUMsaUJBQWpDLEVBQW9ESCxNQUFwRDtBQUNEO0FBQ0YsR0FYcUIsRUFXbkIsQ0FBQzFCLE1BQUQsRUFBU0QsSUFBSSxDQUFDYSxLQUFkLEVBQXFCTSxtQkFBckIsQ0FYbUIsQ0FBdEI7QUFhQSx3QkFBVSxZQUFNO0FBQ2QsUUFBUVksU0FBUixHQUFzQjlCLE1BQU0sQ0FBQytCLEtBQTdCLENBQVFELFNBQVI7QUFDQSxRQUFNRSxvQkFBb0IsR0FBR0YsU0FBUyxDQUFDRyxJQUFWLEdBQWlCbEMsSUFBSSxDQUFDbUMsUUFBdEIsS0FBbUNKLFNBQVMsQ0FBQ0ssRUFBMUU7O0FBRUEsUUFBSS9CLFFBQUosRUFBYztBQUNaLFVBQUk0QixvQkFBSixFQUEwQjtBQUN4QmxCLFFBQUFBLGNBQWMsQ0FBQ1YsUUFBRCxDQUFkO0FBQ0Q7QUFDRixLQUpELE1BSU87QUFDTFUsTUFBQUEsY0FBYyxDQUFDVixRQUFELENBQWQ7QUFDRDtBQUNGLEdBWEQsRUFXRyxDQUFDSixNQUFELEVBQVNELElBQVQsRUFBZUssUUFBZixDQVhIO0FBYUEsd0JBQVUsWUFBTTtBQUNkQyxJQUFBQSxPQUFPLENBQUMrQixhQUFSLENBQXNCQyxvQkFBdEIsQ0FBMkN0QyxJQUEzQyxFQUFpRCxVQUFDdUMsTUFBRDtBQUFBLGFBQVksSUFBSUMsOEJBQUosQ0FBdUJ2QyxNQUF2QixFQUErQkQsSUFBL0IsRUFBcUN1QyxNQUFyQyxDQUFaO0FBQUEsS0FBakQ7QUFDQWIsSUFBQUEsYUFBYTtBQUViLFFBQU1lLFlBQVksR0FBR3hCLFNBQVMsQ0FBQ0ssT0FBL0I7O0FBQ0EsUUFBSW1CLFlBQUosRUFBa0I7QUFDaEJBLE1BQUFBLFlBQVksQ0FBQ0MsZ0JBQWIsQ0FBOEIsV0FBOUIsRUFBMkNDLFVBQTNDLEVBQXVELEtBQXZEO0FBQ0Q7O0FBQ0QsV0FBTyxZQUFNO0FBQ1gsVUFBSUYsWUFBSixFQUFrQkEsWUFBWSxDQUFDRyxtQkFBYixDQUFpQyxXQUFqQyxFQUE4Q0QsVUFBOUMsRUFBMEQsS0FBMUQ7QUFDbkIsS0FGRDtBQUdELEdBWEQsRUFXRyxFQVhIO0FBYUEsd0JBQVUsWUFBTTtBQUNkakIsSUFBQUEsYUFBYTtBQUNkLEdBRkQ7QUFJQSxNQUFNbUIsU0FBUyxHQUFHLHdCQUFZLFlBQU07QUFDbEMsUUFBTUMsR0FBRyxHQUFHOUIsTUFBTSxDQUFDTSxPQUFuQjtBQUNBLFFBQUksQ0FBQ3dCLEdBQUwsRUFBVTs7QUFFVixRQUFJLENBQUNBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVM0IsS0FBWCxJQUFvQjBCLEdBQUcsQ0FBQ0MsS0FBSixDQUFVM0IsS0FBVixLQUFvQixZQUE1QyxFQUEwRDtBQUN4RCxVQUFNNEIsQ0FBQyxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBU0osR0FBRyxDQUFDdkIsWUFBYixFQUEyQmhCLGFBQTNCLENBQVY7QUFDQSxVQUFNNEMsQ0FBQyxHQUFHRixJQUFJLENBQUNDLEdBQUwsQ0FBU0osR0FBRyxDQUFDTSxhQUFiLEVBQTRCNUMsY0FBNUIsQ0FBVjtBQUVBc0MsTUFBQUEsR0FBRyxDQUFDQyxLQUFKLENBQVUzQixLQUFWLGFBQXFCNEIsQ0FBckI7QUFDQUYsTUFBQUEsR0FBRyxDQUFDQyxLQUFKLENBQVVNLE1BQVYsYUFBc0JGLENBQXRCO0FBRUEsVUFBTXhCLE1BQU0sR0FBRztBQUFFUCxRQUFBQSxLQUFLLEVBQUU0QixDQUFUO0FBQVlLLFFBQUFBLE1BQU0sRUFBRUY7QUFBcEIsT0FBZjs7QUFDQSxVQUFJLENBQUMseUJBQVF4QixNQUFSLEVBQWdCM0IsSUFBSSxDQUFDYSxLQUFyQixDQUFMLEVBQWtDO0FBQ2hDWixRQUFBQSxNQUFNLENBQUM0QixRQUFQLENBQWdCQyxnQkFBaEIsQ0FBaUMsaUJBQWpDLEVBQW9ESCxNQUFwRDtBQUNEO0FBQ0Y7QUFDRixHQWhCaUIsRUFnQmYsQ0FBQzFCLE1BQUQsRUFBU0QsSUFBSSxDQUFDYSxLQUFkLEVBQXFCTixhQUFyQixFQUFvQ0MsY0FBcEMsQ0FoQmUsQ0FBbEI7O0FBa0JBLE1BQU04QyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDQyxPQUFELEVBQVVDLElBQVYsRUFBa0Q7QUFBQSxRQUFsQ0MsVUFBa0MsdUVBQXJCLElBQXFCO0FBQUEsUUFBZkMsVUFBZTs7QUFDckUsUUFBSUQsVUFBSixFQUFnQjtBQUNkLFVBQU1FLEtBQUssR0FBR0osT0FBTyxDQUFDbkMsS0FBUixHQUFnQm1DLE9BQU8sQ0FBQ0YsTUFBdEM7QUFDQSxVQUFJSyxVQUFVLEtBQUssUUFBbkIsRUFBNkIsT0FBTztBQUFFdEMsUUFBQUEsS0FBSyxFQUFFb0MsSUFBSSxDQUFDSCxNQUFMLEdBQWNNLEtBQXZCO0FBQThCTixRQUFBQSxNQUFNLEVBQUVHLElBQUksQ0FBQ0g7QUFBM0MsT0FBUDtBQUM3QixhQUFPO0FBQUVqQyxRQUFBQSxLQUFLLEVBQUVvQyxJQUFJLENBQUNwQyxLQUFkO0FBQXFCaUMsUUFBQUEsTUFBTSxFQUFFRyxJQUFJLENBQUNwQyxLQUFMLEdBQWF1QztBQUExQyxPQUFQO0FBQ0Q7O0FBQ0QsV0FBT0gsSUFBUDtBQUNELEdBUEQ7O0FBU0EsTUFBTUksV0FBVyxHQUFHLHdCQUNsQixVQUFDQyxDQUFELEVBQU87QUFDTCxRQUFNZixHQUFHLEdBQUc5QixNQUFNLENBQUNNLE9BQW5CO0FBQ0EsUUFBSSxDQUFDd0IsR0FBTCxFQUFVO0FBRVYsUUFBTWdCLE1BQU0sR0FBR0QsQ0FBQyxDQUFDRSxNQUFGLENBQVNDLHFCQUFULEVBQWY7QUFDQSxRQUFNVCxPQUFPLEdBQUc7QUFBRW5DLE1BQUFBLEtBQUssRUFBRTBCLEdBQUcsQ0FBQ3ZCLFlBQWI7QUFBMkI4QixNQUFBQSxNQUFNLEVBQUVQLEdBQUcsQ0FBQ007QUFBdkMsS0FBaEI7QUFFQSxRQUFNSSxJQUFJLEdBQUdGLFlBQVksQ0FBQ0MsT0FBRCxFQUFVO0FBQ2pDbkMsTUFBQUEsS0FBSyxFQUFFeUMsQ0FBQyxDQUFDSSxPQUFGLEdBQVlILE1BQU0sQ0FBQ0ksSUFETztBQUVqQ2IsTUFBQUEsTUFBTSxFQUFFUSxDQUFDLENBQUNNLE9BQUYsR0FBWUwsTUFBTSxDQUFDTTtBQUZNLEtBQVYsQ0FBekI7O0FBS0EsUUFBSVosSUFBSSxDQUFDcEMsS0FBTCxHQUFhLEVBQWIsSUFBbUJvQyxJQUFJLENBQUNILE1BQUwsR0FBYyxFQUFqQyxJQUF1Q0csSUFBSSxDQUFDcEMsS0FBTCxJQUFjLEdBQXJELElBQTREb0MsSUFBSSxDQUFDSCxNQUFMLElBQWUsR0FBL0UsRUFBb0Y7QUFDbEZQLE1BQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVM0IsS0FBVixhQUFxQm9DLElBQUksQ0FBQ3BDLEtBQTFCO0FBQ0EwQixNQUFBQSxHQUFHLENBQUNDLEtBQUosQ0FBVU0sTUFBVixhQUFzQkcsSUFBSSxDQUFDSCxNQUEzQjtBQUVBLFVBQU0xQixNQUFNLEdBQUc7QUFBRVAsUUFBQUEsS0FBSyxFQUFFb0MsSUFBSSxDQUFDcEMsS0FBZDtBQUFxQmlDLFFBQUFBLE1BQU0sRUFBRUcsSUFBSSxDQUFDSDtBQUFsQyxPQUFmOztBQUNBLFVBQUksQ0FBQyx5QkFBUTFCLE1BQVIsRUFBZ0IzQixJQUFJLENBQUNhLEtBQXJCLENBQUwsRUFBa0M7QUFDaENaLFFBQUFBLE1BQU0sQ0FBQzRCLFFBQVAsQ0FBZ0JDLGdCQUFoQixDQUFpQyxpQkFBakMsRUFBb0RILE1BQXBEO0FBQ0Q7QUFDRjtBQUNGLEdBdEJpQixFQXVCbEIsQ0FBQzFCLE1BQUQsRUFBU0QsSUFBSSxDQUFDYSxLQUFkLENBdkJrQixDQUFwQjtBQTBCQSxNQUFNd0QsUUFBUSxHQUFHLHdCQUNmLFVBQUNDLFNBQUQsRUFBZTtBQUNickUsSUFBQUEsTUFBTSxDQUFDNEIsUUFBUCxDQUFnQkMsZ0JBQWhCLENBQWlDLGlCQUFqQyxFQUFvRHdDLFNBQXBEO0FBQ0QsR0FIYyxFQUlmLENBQUNyRSxNQUFELENBSmUsQ0FBakI7QUFPQSxNQUFNc0UsVUFBVSxHQUFHLHdCQUFZLFlBQU07QUFDbkNDLElBQUFBLE1BQU0sQ0FBQzVCLG1CQUFQLENBQTJCLFdBQTNCLEVBQXdDZ0IsV0FBeEM7QUFDQVksSUFBQUEsTUFBTSxDQUFDNUIsbUJBQVAsQ0FBMkIsU0FBM0IsRUFBc0MyQixVQUF0QztBQUNELEdBSGtCLEVBR2hCLENBQUNYLFdBQUQsQ0FIZ0IsQ0FBbkI7QUFLQSxNQUFNakIsVUFBVSxHQUFHLHdCQUFZLFlBQU07QUFDbkM2QixJQUFBQSxNQUFNLENBQUM5QixnQkFBUCxDQUF3QixXQUF4QixFQUFxQ2tCLFdBQXJDO0FBQ0FZLElBQUFBLE1BQU0sQ0FBQzlCLGdCQUFQLENBQXdCLFNBQXhCLEVBQW1DNkIsVUFBbkM7QUFDRCxHQUhrQixFQUdoQixDQUFDWCxXQUFELEVBQWNXLFVBQWQsQ0FIZ0IsQ0FBbkI7QUFLQSxNQUFNeEIsS0FBSyxHQUFHO0FBQ1ozQixJQUFBQSxLQUFLLEVBQUV4QixNQUFNLENBQUNJLElBQUksQ0FBQ2EsS0FBTCxDQUFXTyxLQUFaLENBREQ7QUFFWmlDLElBQUFBLE1BQU0sRUFBRXpELE1BQU0sQ0FBQ0ksSUFBSSxDQUFDYSxLQUFMLENBQVd3QyxNQUFaLENBRkY7QUFHWm9CLElBQUFBLFNBQVMsRUFBRTtBQUhDLEdBQWQ7QUFNQSxNQUFNQyxTQUFTLEdBQUc7QUFBRVIsSUFBQUEsSUFBSSxFQUFFLFlBQVI7QUFBc0JTLElBQUFBLE1BQU0sRUFBRSxRQUE5QjtBQUF3Q0MsSUFBQUEsS0FBSyxFQUFFO0FBQS9DLElBQTRENUUsSUFBSSxDQUFDYSxLQUFMLENBQVdnRSxTQUF2RSxLQUFxRixZQUF2RztBQUVBLHNCQUNFLGdDQUFDLHVCQUFELHFCQUNFO0FBQ0UsSUFBQSxPQUFPLEVBQUV6RSxPQURYO0FBRUUsSUFBQSxTQUFTLEVBQUUsNEJBQ1RGLE9BQU8sQ0FBQzRFLElBREMsRUFFVCxDQUFDOUUsSUFBSSxDQUFDYSxLQUFMLENBQVdrRSxNQUFaLElBQXNCN0UsT0FBTyxDQUFDOEUsT0FGckIsRUFHVGhGLElBQUksQ0FBQ2EsS0FBTCxDQUFXb0UsWUFBWCxLQUE0QixTQUE1QixJQUF5Qy9FLE9BQU8sQ0FBQ2dGLGFBSHhDLENBRmI7QUFPRSxJQUFBLEtBQUssRUFBRTtBQUFFQyxNQUFBQSxjQUFjLEVBQUVUO0FBQWxCO0FBUFQsa0JBU0UsZ0NBQUMsMEJBQUQ7QUFDRSxJQUFBLElBQUksRUFBQyxhQURQO0FBRUUsSUFBQSxLQUFLLEVBQUUxRSxJQUFJLENBQUNhLEtBQUwsQ0FBV3VFLE9BQVgsSUFBc0IsQ0FGL0I7QUFHRSxJQUFBLFNBQVMsRUFBRSw0QkFBV2xGLE9BQU8sQ0FBQ21GLFFBQW5CLEVBQTZCckYsSUFBSSxDQUFDYSxLQUFMLENBQVdrRSxNQUFYLElBQXFCN0UsT0FBTyxDQUFDb0YsWUFBMUQ7QUFIYixJQVRGLGVBZUU7QUFBSyxJQUFBLFNBQVMsRUFBRXBGLE9BQU8sQ0FBQ3FGO0FBQXhCLGtCQUNFLHFFQUNNcEYsVUFETjtBQUVFLElBQUEsR0FBRyxFQUFFYSxNQUZQO0FBR0UsSUFBQSxHQUFHLEVBQUVoQixJQUFJLENBQUNhLEtBQUwsQ0FBVzJFLEdBSGxCO0FBSUUsSUFBQSxTQUFTLEVBQUUsNEJBQVd0RixPQUFPLENBQUN1RixLQUFuQixFQUEwQnBGLFFBQVEsSUFBSUgsT0FBTyxDQUFDd0YsTUFBOUMsQ0FKYjtBQUtFLElBQUEsS0FBSyxFQUFFM0MsS0FMVDtBQU1FLElBQUEsTUFBTSxFQUFFRixTQU5WO0FBT0UsSUFBQSxHQUFHLEVBQUU3QyxJQUFJLENBQUNhLEtBQUwsQ0FBV0Q7QUFQbEIsS0FERixlQVVFO0FBQUssSUFBQSxHQUFHLEVBQUVLLFNBQVY7QUFBcUIsSUFBQSxTQUFTLEVBQUUsNEJBQVdmLE9BQU8sQ0FBQ3lGLE1BQW5CLEVBQTJCLFFBQTNCO0FBQWhDLElBVkYsQ0FmRixDQURGLEVBOEJHN0UsV0FBVyxpQkFDVjtBQUNFLElBQUEsR0FBRyxFQUFFSSxVQURQO0FBRUUsSUFBQSxLQUFLLEVBQUU7QUFDTDBFLE1BQUFBLFFBQVEsRUFBRSxVQURMO0FBRUx4QixNQUFBQSxHQUFHLEVBQUUsTUFGQTtBQUdMRixNQUFBQSxJQUFJLEVBQUUsQ0FIRDtBQUlMMkIsTUFBQUEsTUFBTSxFQUFFLEVBSkg7QUFLTEMsTUFBQUEsVUFBVSxFQUFFLDBDQUxQO0FBTUxDLE1BQUFBLFNBQVMsRUFDUCwrR0FQRztBQVFMM0UsTUFBQUEsS0FBSyxFQUFFO0FBUkY7QUFGVCxrQkFhRSxnQ0FBQyxnQ0FBRDtBQUNFLElBQUEsUUFBUTtBQURWLEtBRU1kLE9BRk47QUFHRSxJQUFBLE1BQU0sRUFBRSxrQkFBTTtBQUFBOztBQUNaUyxNQUFBQSxjQUFjLENBQUMsS0FBRCxDQUFkO0FBQ0EsOEJBQUFoQixLQUFLLENBQUNzQyxhQUFOLDhFQUFxQjJELE1BQXJCO0FBQ0FqRyxNQUFBQSxLQUFLLENBQUNFLE1BQU4sQ0FBYTRCLFFBQWIsQ0FBc0JvRSxLQUF0QixDQUE0QixLQUE1QjtBQUNEO0FBUEgsbUJBU0UsZ0NBQUMsd0JBQUQ7QUFDRSxJQUFBLDRCQUE0QixFQUFFM0YsT0FBTyxDQUFDNEYsNEJBRHhDO0FBRUUsSUFBQSxHQUFHLEVBQUVsRyxJQUFJLENBQUNhLEtBQUwsQ0FBV0QsR0FGbEI7QUFHRSxJQUFBLFdBQVcsRUFBRVosSUFBSSxDQUFDYSxLQUFMLENBQVdrRSxNQUgxQjtBQUlFLElBQUEsU0FBUyxFQUFFL0UsSUFBSSxDQUFDYSxLQUFMLENBQVdnRSxTQUFYLElBQXdCLE1BSnJDO0FBS0UsSUFBQSxRQUFRLEVBQUVSO0FBTFosSUFURixDQWJGLENBL0JKLENBREY7QUFrRUQ7O0FBRUR2RSxjQUFjLENBQUNxRyxTQUFmLEdBQTJCO0FBQ3pCbkcsRUFBQUEsSUFBSSxFQUFFb0csc0JBQVVDLE1BQVYsQ0FBaUJDLFVBREU7QUFFekJyRyxFQUFBQSxNQUFNLEVBQUVtRyxzQkFBVUMsTUFBVixDQUFpQkMsVUFGQTtBQUd6QnBHLEVBQUFBLE9BQU8sRUFBRWtHLHNCQUFVQyxNQUFWLENBQWlCQyxVQUhEO0FBSXpCbkcsRUFBQUEsVUFBVSxFQUFFaUcsc0JBQVVDLE1BSkc7QUFLekJqRyxFQUFBQSxPQUFPLEVBQUVnRyxzQkFBVUcsSUFMTTtBQU16QmhHLEVBQUFBLGFBQWEsRUFBRTZGLHNCQUFVSSxNQU5BO0FBT3pCaEcsRUFBQUEsY0FBYyxFQUFFNEYsc0JBQVVJO0FBUEQsQ0FBM0I7O2VBVWUsd0JBQVcsVUFBQ0MsS0FBRDtBQUFBLFNBQVk7QUFDcENDLElBQUFBLE1BQU0sRUFBRTtBQUNOZCxNQUFBQSxRQUFRLEVBQUUsVUFESjtBQUVOZSxNQUFBQSxPQUFPLEVBQUUsQ0FGSDtBQUdOQyxNQUFBQSxVQUFVLEVBQUU7QUFITixLQUQ0QjtBQU1wQ0MsSUFBQUEsaUJBQWlCLEVBQUU7QUFDakJDLE1BQUFBLGVBQWUsRUFBRUwsS0FBSyxDQUFDTSxPQUFOLENBQWNqQixVQUFkLENBQXlCa0IsS0FEekI7QUFFakJDLE1BQUFBLFlBQVksRUFBRSxLQUZHO0FBR2pCQyxNQUFBQSxPQUFPLEVBQUUsTUFIUTtBQUlqQkMsTUFBQUEsT0FBTyxFQUFFLE1BSlE7QUFLakJDLE1BQUFBLE1BQU0sc0JBQWVYLEtBQUssQ0FBQ00sT0FBTixDQUFjTSxJQUFkLENBQW1CLEdBQW5CLENBQWYsQ0FMVztBQU1qQnRCLE1BQUFBLFNBQVMsRUFDUDtBQVBlLEtBTmlCO0FBZXBDVixJQUFBQSxRQUFRLEVBQUU7QUFDUk8sTUFBQUEsUUFBUSxFQUFFLFVBREY7QUFFUjFCLE1BQUFBLElBQUksRUFBRSxHQUZFO0FBR1I5QyxNQUFBQSxLQUFLLEVBQUUsYUFIQztBQUlSZ0QsTUFBQUEsR0FBRyxFQUFFLElBSkc7QUFLUndDLE1BQUFBLFVBQVUsRUFBRTtBQUxKLEtBZjBCO0FBc0JwQ3RCLElBQUFBLFlBQVksRUFBRTtBQUNacUIsTUFBQUEsT0FBTyxFQUFFO0FBREcsS0F0QnNCO0FBeUJwQzNCLElBQUFBLE9BQU8sRUFBRTtBQUNQMkIsTUFBQUEsT0FBTyxFQUFFO0FBREYsS0F6QjJCO0FBNEJwQ3pCLElBQUFBLGFBQWEsRUFBRTtBQUNieUIsTUFBQUEsT0FBTyxFQUFFO0FBREksS0E1QnFCO0FBK0JwQzdCLElBQUFBLElBQUksRUFBRTtBQUNKYyxNQUFBQSxRQUFRLEVBQUUsVUFETjtBQUVKd0IsTUFBQUEsTUFBTSxzQkFBZVgsS0FBSyxDQUFDTSxPQUFOLENBQWNPLE1BQWQsQ0FBcUJDLEtBQXBDLENBRkY7QUFHSkwsTUFBQUEsT0FBTyxFQUFFLE1BSEw7QUFJSk4sTUFBQUEsVUFBVSxFQUFFO0FBSlIsS0EvQjhCO0FBcUNwQyxjQUFRO0FBQ05oQixNQUFBQSxRQUFRLEVBQUUsVUFESjtBQUVOaEIsTUFBQUEsS0FBSyxFQUFFO0FBRkQsS0FyQzRCO0FBeUNwQ1csSUFBQUEsY0FBYyxFQUFFO0FBQ2RLLE1BQUFBLFFBQVEsRUFBRSxVQURJO0FBRWR4RSxNQUFBQSxLQUFLLEVBQUUsYUFGTztBQUdkOEYsTUFBQUEsT0FBTyxFQUFFLE1BSEs7QUFJZE0sTUFBQUEsVUFBVSxFQUFFLFFBSkU7QUFNZCw0QkFBc0I7QUFDcEJOLFFBQUFBLE9BQU8sRUFBRTtBQURXO0FBTlIsS0F6Q29CO0FBbURwQ3hCLElBQUFBLE1BQU0sRUFBRTtBQUNOMEIsTUFBQUEsTUFBTSxzQkFBZVgsS0FBSyxDQUFDTSxPQUFOLENBQWNVLE9BQWQsQ0FBc0JDLElBQXJDO0FBREEsS0FuRDRCO0FBc0RwQy9CLElBQUFBLE1BQU0sRUFBRTtBQUNObUIsTUFBQUEsZUFBZSxFQUFFTCxLQUFLLENBQUNNLE9BQU4sQ0FBY1UsT0FBZCxDQUFzQkMsSUFEakM7QUFFTkMsTUFBQUEsTUFBTSxFQUFFLFlBRkY7QUFHTnRFLE1BQUFBLE1BQU0sRUFBRSxNQUhGO0FBSU5qQyxNQUFBQSxLQUFLLEVBQUUsS0FKRDtBQUtONkYsTUFBQUEsWUFBWSxFQUFFLENBTFI7QUFNTlcsTUFBQUEsVUFBVSxFQUFFLEtBTk47QUFPTkMsTUFBQUEsV0FBVyxFQUFFLE1BUFA7QUFRTlgsTUFBQUEsT0FBTyxFQUFFO0FBUkgsS0F0RDRCO0FBZ0VwQ1ksSUFBQUEsY0FBYyxFQUFFO0FBQ2RDLE1BQUFBLFNBQVMsRUFBRTtBQURHO0FBaEVvQixHQUFaO0FBQUEsQ0FBWCxFQW1FWGpJLGNBbkVXLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZVJlZiwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgTGluZWFyUHJvZ3Jlc3MgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvTGluZWFyUHJvZ3Jlc3MnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBOb2RlVmlld1dyYXBwZXIgfSBmcm9tICdAdGlwdGFwL3JlYWN0JztcbmltcG9ydCBJbnNlcnRJbWFnZUhhbmRsZXIgZnJvbSAnLi4vY29tcG9uZW50cy9pbWFnZS9JbnNlcnRJbWFnZUhhbmRsZXInO1xuaW1wb3J0IEltYWdlVG9vbGJhciBmcm9tICcuLi9jb21wb25lbnRzL2ltYWdlL0ltYWdlVG9vbGJhcic7XG5pbXBvcnQgQ3VzdG9tVG9vbGJhcldyYXBwZXIgZnJvbSAnLi9jdXN0b20tdG9vbGJhci13cmFwcGVyJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczppbWFnZTpjb21wb25lbnQnKTtcblxuY29uc3Qgc2l6ZVB4ID0gKHMpID0+IChzID8gYCR7c31weGAgOiAnY2FsYygyMHB4KScpO1xuXG5mdW5jdGlvbiBJbWFnZUNvbXBvbmVudChwcm9wcykge1xuICBjb25zdCB7XG4gICAgbm9kZSxcbiAgICBlZGl0b3IsXG4gICAgY2xhc3NlcyxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIG9uRm9jdXMsXG4gICAgc2VsZWN0ZWQsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhJbWFnZVdpZHRoID0gNzAwLFxuICAgIG1heEltYWdlSGVpZ2h0ID0gOTAwLFxuICAgIGxhdGV4LFxuICAgIGhhbmRsZUNoYW5nZSxcbiAgICBoYW5kbGVEb25lLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgYWx0IH0gPSBub2RlLmF0dHJzO1xuXG4gIGNvbnN0IFtzaG93VG9vbGJhciwgc2V0U2hvd1Rvb2xiYXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGltZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgcmVzaXplUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIGNvbnN0IGdldFBlcmNlbnRGcm9tV2lkdGggPSB1c2VDYWxsYmFjaygod2lkdGgpID0+IHtcbiAgICBjb25zdCBmbG9vcmVkID0gKHdpZHRoIC8gaW1nUmVmLmN1cnJlbnQubmF0dXJhbFdpZHRoKSAqIDQ7XG4gICAgcmV0dXJuIHBhcnNlSW50KGZsb29yZWQudG9GaXhlZCgwKSAqIDI1LCAxMCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBhcHBseVNpemVEYXRhID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghbm9kZS5hdHRycy53aWR0aCB8fCAhaW1nUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgIC4uLm5vZGUuYXR0cnMsXG4gICAgICByZXNpemVQZXJjZW50OiBnZXRQZXJjZW50RnJvbVdpZHRoKG5vZGUuYXR0cnMud2lkdGgpLFxuICAgIH07XG5cbiAgICBpZiAoIWlzRXF1YWwodXBkYXRlLCBub2RlLmF0dHJzKSkge1xuICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIHVwZGF0ZSk7XG4gICAgfVxuICB9LCBbZWRpdG9yLCBub2RlLmF0dHJzLCBnZXRQZXJjZW50RnJvbVdpZHRoXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yLnN0YXRlO1xuICAgIGNvbnN0IG9ubHlUaGlzTm9kZVNlbGVjdGVkID0gc2VsZWN0aW9uLmZyb20gKyBub2RlLm5vZGVTaXplID09PSBzZWxlY3Rpb24udG87XG5cbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIGlmIChvbmx5VGhpc05vZGVTZWxlY3RlZCkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihzZWxlY3RlZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgICB9XG4gIH0sIFtlZGl0b3IsIG5vZGUsIHNlbGVjdGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBvcHRpb25zLmltYWdlSGFuZGxpbmcuaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQobm9kZSwgKGZpbmlzaCkgPT4gbmV3IEluc2VydEltYWdlSGFuZGxlcihlZGl0b3IsIG5vZGUsIGZpbmlzaCkpO1xuICAgIGFwcGx5U2l6ZURhdGEoKTtcblxuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZSA9IHJlc2l6ZVJlZi5jdXJyZW50O1xuICAgIGlmIChyZXNpemVIYW5kbGUpIHtcbiAgICAgIHJlc2l6ZUhhbmRsZS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBpbml0UmVzaXplLCBmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplSGFuZGxlKSByZXNpemVIYW5kbGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaW5pdFJlc2l6ZSwgZmFsc2UpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFwcGx5U2l6ZURhdGEoKTtcbiAgfSk7XG5cbiAgY29uc3QgbG9hZEltYWdlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGJveCA9IGltZ1JlZi5jdXJyZW50O1xuICAgIGlmICghYm94KSByZXR1cm47XG5cbiAgICBpZiAoIWJveC5zdHlsZS53aWR0aCB8fCBib3guc3R5bGUud2lkdGggPT09ICdjYWxjKDIwcHgpJykge1xuICAgICAgY29uc3QgdyA9IE1hdGgubWluKGJveC5uYXR1cmFsV2lkdGgsIG1heEltYWdlV2lkdGgpO1xuICAgICAgY29uc3QgaCA9IE1hdGgubWluKGJveC5uYXR1cmFsSGVpZ2h0LCBtYXhJbWFnZUhlaWdodCk7XG5cbiAgICAgIGJveC5zdHlsZS53aWR0aCA9IGAke3d9cHhgO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGAke2h9cHhgO1xuXG4gICAgICBjb25zdCB1cGRhdGUgPSB7IHdpZHRoOiB3LCBoZWlnaHQ6IGggfTtcbiAgICAgIGlmICghaXNFcXVhbCh1cGRhdGUsIG5vZGUuYXR0cnMpKSB7XG4gICAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCB1cGRhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkaXRvciwgbm9kZS5hdHRycywgbWF4SW1hZ2VXaWR0aCwgbWF4SW1hZ2VIZWlnaHRdKTtcblxuICBjb25zdCB1cGRhdGVBc3BlY3QgPSAoaW5pdGlhbCwgbmV4dCwga2VlcEFzcGVjdCA9IHRydWUsIHJlc2l6ZVR5cGUpID0+IHtcbiAgICBpZiAoa2VlcEFzcGVjdCkge1xuICAgICAgY29uc3QgcmF0aW8gPSBpbml0aWFsLndpZHRoIC8gaW5pdGlhbC5oZWlnaHQ7XG4gICAgICBpZiAocmVzaXplVHlwZSA9PT0gJ2hlaWdodCcpIHJldHVybiB7IHdpZHRoOiBuZXh0LmhlaWdodCAqIHJhdGlvLCBoZWlnaHQ6IG5leHQuaGVpZ2h0IH07XG4gICAgICByZXR1cm4geyB3aWR0aDogbmV4dC53aWR0aCwgaGVpZ2h0OiBuZXh0LndpZHRoIC8gcmF0aW8gfTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQ7XG4gIH07XG5cbiAgY29uc3Qgc3RhcnRSZXNpemUgPSB1c2VDYWxsYmFjayhcbiAgICAoZSkgPT4ge1xuICAgICAgY29uc3QgYm94ID0gaW1nUmVmLmN1cnJlbnQ7XG4gICAgICBpZiAoIWJveCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBib3VuZHMgPSBlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGluaXRpYWwgPSB7IHdpZHRoOiBib3gubmF0dXJhbFdpZHRoLCBoZWlnaHQ6IGJveC5uYXR1cmFsSGVpZ2h0IH07XG5cbiAgICAgIGNvbnN0IG5leHQgPSB1cGRhdGVBc3BlY3QoaW5pdGlhbCwge1xuICAgICAgICB3aWR0aDogZS5jbGllbnRYIC0gYm91bmRzLmxlZnQsXG4gICAgICAgIGhlaWdodDogZS5jbGllbnRZIC0gYm91bmRzLnRvcCxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobmV4dC53aWR0aCA+IDUwICYmIG5leHQuaGVpZ2h0ID4gNTAgJiYgbmV4dC53aWR0aCA8PSA3MDAgJiYgbmV4dC5oZWlnaHQgPD0gOTAwKSB7XG4gICAgICAgIGJveC5zdHlsZS53aWR0aCA9IGAke25leHQud2lkdGh9cHhgO1xuICAgICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7bmV4dC5oZWlnaHR9cHhgO1xuXG4gICAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgd2lkdGg6IG5leHQud2lkdGgsIGhlaWdodDogbmV4dC5oZWlnaHQgfTtcbiAgICAgICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5hdHRycykpIHtcbiAgICAgICAgICBlZGl0b3IuY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcygnaW1hZ2VVcGxvYWROb2RlJywgdXBkYXRlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2VkaXRvciwgbm9kZS5hdHRyc10sXG4gICk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3VmFsdWVzKSA9PiB7XG4gICAgICBlZGl0b3IuY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcygnaW1hZ2VVcGxvYWROb2RlJywgbmV3VmFsdWVzKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdLFxuICApO1xuXG4gIGNvbnN0IHN0b3BSZXNpemUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN0YXJ0UmVzaXplKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHN0b3BSZXNpemUpO1xuICB9LCBbc3RhcnRSZXNpemVdKTtcblxuICBjb25zdCBpbml0UmVzaXplID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBzdGFydFJlc2l6ZSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBzdG9wUmVzaXplKTtcbiAgfSwgW3N0YXJ0UmVzaXplLCBzdG9wUmVzaXplXSk7XG5cbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgd2lkdGg6IHNpemVQeChub2RlLmF0dHJzLndpZHRoKSxcbiAgICBoZWlnaHQ6IHNpemVQeChub2RlLmF0dHJzLmhlaWdodCksXG4gICAgb2JqZWN0Rml0OiAnY29udGFpbicsXG4gIH07XG5cbiAgY29uc3QgZmxleEFsaWduID0geyBsZWZ0OiAnZmxleC1zdGFydCcsIGNlbnRlcjogJ2NlbnRlcicsIHJpZ2h0OiAnZmxleC1lbmQnIH1bbm9kZS5hdHRycy5hbGlnbm1lbnRdIHx8ICdmbGV4LXN0YXJ0JztcblxuICByZXR1cm4gKFxuICAgIDxOb2RlVmlld1dyYXBwZXI+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICBjbGFzc2VzLnJvb3QsXG4gICAgICAgICAgIW5vZGUuYXR0cnMubG9hZGVkICYmIGNsYXNzZXMubG9hZGluZyxcbiAgICAgICAgICBub2RlLmF0dHJzLmRlbGV0ZVN0YXR1cyA9PT0gJ3BlbmRpbmcnICYmIGNsYXNzZXMucGVuZGluZ0RlbGV0ZSxcbiAgICAgICAgKX1cbiAgICAgICAgc3R5bGU9e3sganVzdGlmeUNvbnRlbnQ6IGZsZXhBbGlnbiB9fVxuICAgICAgPlxuICAgICAgICA8TGluZWFyUHJvZ3Jlc3NcbiAgICAgICAgICBtb2RlPVwiZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIHZhbHVlPXtub2RlLmF0dHJzLnBlcmNlbnQgfHwgMH1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5wcm9ncmVzcywgbm9kZS5hdHRycy5sb2FkZWQgJiYgY2xhc3Nlcy5oaWRlUHJvZ3Jlc3MpfVxuICAgICAgICAvPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmltYWdlQ29udGFpbmVyfT5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICB7Li4uYXR0cmlidXRlc31cbiAgICAgICAgICAgIHJlZj17aW1nUmVmfVxuICAgICAgICAgICAgc3JjPXtub2RlLmF0dHJzLnNyY31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLmltYWdlLCBzZWxlY3RlZCAmJiBjbGFzc2VzLmFjdGl2ZSl9XG4gICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICBvbkxvYWQ9e2xvYWRJbWFnZX1cbiAgICAgICAgICAgIGFsdD17bm9kZS5hdHRycy5hbHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IHJlZj17cmVzaXplUmVmfSBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5yZXNpemUsICdyZXNpemUnKX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAge3Nob3dUb29sYmFyICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHJlZj17dG9vbGJhclJlZn1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB0b3A6ICcxMDAlJyxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICB6SW5kZXg6IDIwLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWVkaXRhYmxlLWh0bWwtdG9vbGJhci1iZywgI2VmZWZlZiknLFxuICAgICAgICAgICAgYm94U2hhZG93OlxuICAgICAgICAgICAgICAnMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjEyKScsXG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8Q3VzdG9tVG9vbGJhcldyYXBwZXJcbiAgICAgICAgICAgIHNob3dEb25lXG4gICAgICAgICAgICB7Li4ub3B0aW9uc31cbiAgICAgICAgICAgIG9uRG9uZT17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRTaG93VG9vbGJhcihmYWxzZSk7XG4gICAgICAgICAgICAgIHByb3BzLmltYWdlSGFuZGxpbmc/Lm9uRG9uZSgpO1xuICAgICAgICAgICAgICBwcm9wcy5lZGl0b3IuY29tbWFuZHMuZm9jdXMoJ2VuZCcpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8SW1hZ2VUb29sYmFyXG4gICAgICAgICAgICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnM9e29wdGlvbnMuZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9uc31cbiAgICAgICAgICAgICAgYWx0PXtub2RlLmF0dHJzLmFsdH1cbiAgICAgICAgICAgICAgaW1hZ2VMb2FkZWQ9e25vZGUuYXR0cnMubG9hZGVkfVxuICAgICAgICAgICAgICBhbGlnbm1lbnQ9e25vZGUuYXR0cnMuYWxpZ25tZW50IHx8ICdsZWZ0J31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0N1c3RvbVRvb2xiYXJXcmFwcGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59XG5cbkltYWdlQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgbm9kZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBlZGl0b3I6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgbWF4SW1hZ2VXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgbWF4SW1hZ2VIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgcG9ydGFsOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgb3BhY2l0eTogMCxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInLFxuICB9LFxuICBmbG9hdGluZ0J1dHRvblJvdzoge1xuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5iYWNrZ3JvdW5kLnBhcGVyLFxuICAgIGJvcmRlclJhZGl1czogJzFweCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICBib3JkZXI6IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLmdyZXlbMjAwXX1gLFxuICAgIGJveFNoYWRvdzpcbiAgICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgfSxcbiAgcHJvZ3Jlc3M6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBsZWZ0OiAnMCcsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgdG9wOiAnMCUnLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIH0sXG4gIGhpZGVQcm9ncmVzczoge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gIGxvYWRpbmc6IHtcbiAgICBvcGFjaXR5OiAwLjMsXG4gIH0sXG4gIHBlbmRpbmdEZWxldGU6IHtcbiAgICBvcGFjaXR5OiAwLjMsXG4gIH0sXG4gIHJvb3Q6IHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBib3JkZXI6IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLmNvbW1vbi53aGl0ZX1gLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInLFxuICB9LFxuICBkZWxldGU6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICByaWdodDogMCxcbiAgfSxcbiAgaW1hZ2VDb250YWluZXI6IHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG5cbiAgICAnJiY6aG92ZXIgPiAucmVzaXplJzoge1xuICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICB9LFxuICB9LFxuICBhY3RpdmU6IHtcbiAgICBib3JkZXI6IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbn1gLFxuICB9LFxuICByZXNpemU6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluLFxuICAgIGN1cnNvcjogJ2NvbC1yZXNpemUnLFxuICAgIGhlaWdodDogJzM1cHgnLFxuICAgIHdpZHRoOiAnNXB4JyxcbiAgICBib3JkZXJSYWRpdXM6IDgsXG4gICAgbWFyZ2luTGVmdDogJzVweCcsXG4gICAgbWFyZ2luUmlnaHQ6ICcxMHB4JyxcbiAgICBkaXNwbGF5OiAnbm9uZScsXG4gIH0sXG4gIGRyYXdhYmxlSGVpZ2h0OiB7XG4gICAgbWluSGVpZ2h0OiAzNTAsXG4gIH0sXG59KSkoSW1hZ2VDb21wb25lbnQpO1xuIl19
|
|
287
|
+
var _default = exports["default"] = ImageComponent;
|
|
288
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/extensions/component.jsx"],"names":["log","sizePx","s","ImageComponent","props","node","editor","classes","attributes","onFocus","selected","options","maxImageWidth","maxImageHeight","latex","handleChange","handleDone","alt","attrs","showToolbar","setShowToolbar","imgRef","resizeRef","toolbarRef","getPercentFromWidth","width","floored","current","naturalWidth","parseInt","toFixed","applySizeData","update","resizePercent","commands","updateAttributes","selection","state","onlyThisNodeSelected","from","nodeSize","to","imageHandling","insertImageRequested","finish","InsertImageHandler","resizeHandle","addEventListener","initResize","removeEventListener","loadImage","box","style","w","Math","min","h","naturalHeight","height","updateAspect","initial","next","keepAspect","resizeType","ratio","startResize","e","bounds","target","getBoundingClientRect","clientX","left","clientY","top","onChange","newValues","stopResize","window","objectFit","flexAlign","center","right","alignment","root","loaded","loading","deleteStatus","pendingDelete","justifyContent","percent","progress","hideProgress","imageContainer","src","image","active","resize","position","zIndex","background","boxShadow","onDone","focus","disableImageAlignmentButtons","propTypes","PropTypes","object","isRequired","func","number","theme","portal","opacity","transition","floatingButtonRow","backgroundColor","palette","paper","borderRadius","display","padding","border","grey","common","white","alignItems","primary","main","cursor","marginLeft","marginRight","drawableHeight","minHeight"],"mappings":"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","sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEqual from 'lodash/isEqual';\nimport debug from 'debug';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport InsertImageHandler from '../components/image/InsertImageHandler';\nimport ImageToolbar from '../components/image/ImageToolbar';\nimport CustomToolbarWrapper from './custom-toolbar-wrapper';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:component');\n\nconst sizePx = (s) => (s ? `${s}px` : 'calc(20px)');\n\nfunction ImageComponent(props) {\n const {\n node,\n editor,\n classes,\n attributes,\n onFocus,\n selected,\n options,\n maxImageWidth = 700,\n maxImageHeight = 900,\n latex,\n handleChange,\n handleDone,\n } = props;\n const { alt } = node.attrs;\n\n const [showToolbar, setShowToolbar] = useState(false);\n\n const imgRef = useRef(null);\n const resizeRef = useRef(null);\n const toolbarRef = useRef(null);\n\n const getPercentFromWidth = useCallback((width) => {\n const floored = (width / imgRef.current.naturalWidth) * 4;\n return parseInt(floored.toFixed(0) * 25, 10);\n }, []);\n\n const applySizeData = useCallback(() => {\n if (!node.attrs.width || !imgRef.current) return;\n\n const update = {\n ...node.attrs,\n resizePercent: getPercentFromWidth(node.attrs.width),\n };\n\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }, [editor, node.attrs, getPercentFromWidth]);\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n options.imageHandling.insertImageRequested(node, (finish) => new InsertImageHandler(editor, node, finish));\n applySizeData();\n\n const resizeHandle = resizeRef.current;\n if (resizeHandle) {\n resizeHandle.addEventListener('mousedown', initResize, false);\n }\n return () => {\n if (resizeHandle) resizeHandle.removeEventListener('mousedown', initResize, false);\n };\n }, []);\n\n useEffect(() => {\n applySizeData();\n });\n\n const loadImage = useCallback(() => {\n const box = imgRef.current;\n if (!box) return;\n\n if (!box.style.width || box.style.width === 'calc(20px)') {\n const w = Math.min(box.naturalWidth, maxImageWidth);\n const h = Math.min(box.naturalHeight, maxImageHeight);\n\n box.style.width = `${w}px`;\n box.style.height = `${h}px`;\n\n const update = { width: w, height: h };\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }\n }, [editor, node.attrs, maxImageWidth, maxImageHeight]);\n\n const updateAspect = (initial, next, keepAspect = true, resizeType) => {\n if (keepAspect) {\n const ratio = initial.width / initial.height;\n if (resizeType === 'height') return { width: next.height * ratio, height: next.height };\n return { width: next.width, height: next.width / ratio };\n }\n return next;\n };\n\n const startResize = useCallback(\n (e) => {\n const box = imgRef.current;\n if (!box) return;\n\n const bounds = e.target.getBoundingClientRect();\n const initial = { width: box.naturalWidth, height: box.naturalHeight };\n\n const next = updateAspect(initial, {\n width: e.clientX - bounds.left,\n height: e.clientY - bounds.top,\n });\n\n if (next.width > 50 && next.height > 50 && next.width <= 700 && next.height <= 900) {\n box.style.width = `${next.width}px`;\n box.style.height = `${next.height}px`;\n\n const update = { width: next.width, height: next.height };\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }\n },\n [editor, node.attrs],\n );\n\n const onChange = useCallback(\n (newValues) => {\n editor.commands.updateAttributes('imageUploadNode', newValues);\n },\n [editor],\n );\n\n const stopResize = useCallback(() => {\n window.removeEventListener('mousemove', startResize);\n window.removeEventListener('mouseup', stopResize);\n }, [startResize]);\n\n const initResize = useCallback(() => {\n window.addEventListener('mousemove', startResize);\n window.addEventListener('mouseup', stopResize);\n }, [startResize, stopResize]);\n\n const style = {\n width: sizePx(node.attrs.width),\n height: sizePx(node.attrs.height),\n objectFit: 'contain',\n };\n\n const flexAlign = { left: 'flex-start', center: 'center', right: 'flex-end' }[node.attrs.alignment] || 'flex-start';\n\n return (\n <NodeViewWrapper>\n <div\n onFocus={onFocus}\n className={classNames(\n classes.root,\n !node.attrs.loaded && classes.loading,\n node.attrs.deleteStatus === 'pending' && classes.pendingDelete,\n )}\n style={{ justifyContent: flexAlign }}\n >\n <LinearProgress\n mode=\"determinate\"\n value={node.attrs.percent || 0}\n className={classNames(classes.progress, node.attrs.loaded && classes.hideProgress)}\n />\n\n <div className={classes.imageContainer}>\n <img\n {...attributes}\n ref={imgRef}\n src={node.attrs.src}\n className={classNames(classes.image, selected && classes.active)}\n style={style}\n onLoad={loadImage}\n alt={node.attrs.alt}\n />\n <div ref={resizeRef} className={classNames(classes.resize, 'resize')} />\n </div>\n </div>\n\n {showToolbar && (\n <div\n ref={toolbarRef}\n style={{\n position: 'absolute',\n top: '100%',\n left: 0,\n zIndex: 20,\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n width: '100%',\n }}\n >\n <CustomToolbarWrapper\n showDone\n {...options}\n onDone={() => {\n setShowToolbar(false);\n props.imageHandling?.onDone();\n props.editor.commands.focus('end');\n }}\n >\n <ImageToolbar\n disableImageAlignmentButtons={options.disableImageAlignmentButtons}\n alt={node.attrs.alt}\n imageLoaded={node.attrs.loaded}\n alignment={node.attrs.alignment || 'left'}\n onChange={onChange}\n />\n </CustomToolbarWrapper>\n </div>\n )}\n </NodeViewWrapper>\n );\n}\n\nImageComponent.propTypes = {\n node: PropTypes.object.isRequired,\n editor: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\n};\n\nexport default withStyles((theme) => ({\n portal: {\n position: 'absolute',\n opacity: 0,\n transition: 'opacity 200ms linear',\n },\n floatingButtonRow: {\n backgroundColor: theme.palette.background.paper,\n borderRadius: '1px',\n display: 'flex',\n padding: '10px',\n border: `solid 1px ${theme.palette.grey[200]}`,\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n },\n progress: {\n position: 'absolute',\n left: '0',\n width: 'fit-content',\n top: '0%',\n transition: 'opacity 200ms linear',\n },\n hideProgress: {\n opacity: 0,\n },\n loading: {\n opacity: 0.3,\n },\n pendingDelete: {\n opacity: 0.3,\n },\n root: {\n position: 'relative',\n border: `solid 1px ${theme.palette.common.white}`,\n display: 'flex',\n transition: 'opacity 200ms linear',\n },\n delete: {\n position: 'absolute',\n right: 0,\n },\n imageContainer: {\n position: 'relative',\n width: 'fit-content',\n display: 'flex',\n alignItems: 'center',\n\n '&&:hover > .resize': {\n display: 'block',\n },\n },\n active: {\n border: `solid 1px ${theme.palette.primary.main}`,\n },\n resize: {\n backgroundColor: theme.palette.primary.main,\n cursor: 'col-resize',\n height: '35px',\n width: '5px',\n borderRadius: 8,\n marginLeft: '5px',\n marginRight: '10px',\n display: 'none',\n },\n drawableHeight: {\n minHeight: 350,\n },\n}))(ImageComponent);\n"],"file":"component.js"}
|
|
1
|
+
{"version":3,"file":"component.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_isEqual","_debug","_LinearProgress","_styles","_react2","_InsertImageHandler","_ImageToolbar","_customToolbarWrapper","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","StyledProgress","styled","LinearProgress","shouldForwardProp","prop","_ref","hideProgress","position","left","width","top","transition","opacity","StyledRoot","includes","_ref2","theme","active","loading","pendingDelete","border","concat","palette","primary","main","common","white","display","StyledImageContainer","_ref3","alignItems","StyledResize","_ref4","backgroundColor","cursor","height","borderRadius","marginLeft","marginRight","sizePx","s","ImageComponent","props","node","editor","attributes","onFocus","selected","options","_props$maxImageWidth","maxImageWidth","_props$maxImageHeight","maxImageHeight","latex","handleChange","handleDone","alt","attrs","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","imgRef","useRef","resizeRef","toolbarRef","getPercentFromWidth","useCallback","floored","current","naturalWidth","parseInt","toFixed","applySizeData","update","resizePercent","isEqual","commands","updateAttributes","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","imageHandling","insertImageRequested","finish","InsertImageHandler","resizeHandle","addEventListener","initResize","removeEventListener","loadImage","box","style","w","Math","min","h","naturalHeight","updateAspect","initial","next","keepAspect","undefined","resizeType","ratio","startResize","bounds","target","getBoundingClientRect","clientX","clientY","onChange","newValues","stopResize","window","objectFit","flexAlign","center","right","alignment","createElement","NodeViewWrapper","loaded","deleteStatus","justifyContent","mode","value","percent","_extends2","ref","src","onLoad","className","zIndex","background","boxShadow","showDone","onDone","_props$imageHandling","focus","disableImageAlignmentButtons","imageLoaded","propTypes","PropTypes","object","isRequired","func","number","_default","exports"],"sources":["../../src/extensions/component.jsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash/isEqual';\nimport debug from 'debug';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport { styled } from '@mui/material/styles';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport InsertImageHandler from '../components/image/InsertImageHandler';\nimport ImageToolbar from '../components/image/ImageToolbar';\nimport CustomToolbarWrapper from './custom-toolbar-wrapper';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:component');\n\nconst StyledProgress = styled(LinearProgress, {\n shouldForwardProp: (prop) => prop !== 'hideProgress',\n})(({ hideProgress }) => ({\n position: 'absolute',\n left: '0',\n width: 'fit-content',\n top: '0%',\n transition: 'opacity 200ms linear',\n ...(hideProgress && {\n opacity: 0,\n }),\n}));\n\nconst StyledRoot = styled('div', {\n shouldForwardProp: (prop) => !['active', 'loading', 'pendingDelete'].includes(prop),\n})(({ theme, active, loading, pendingDelete }) => ({\n position: 'relative',\n border: active ? `solid 1px ${theme.palette.primary.main}` : `solid 1px ${theme.palette.common.white}`,\n display: 'flex',\n transition: 'opacity 200ms linear',\n ...(loading && {\n opacity: 0.3,\n }),\n ...(pendingDelete && {\n opacity: 0.3,\n }),\n}));\n\nconst StyledImageContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n width: 'fit-content',\n display: 'flex',\n alignItems: 'center',\n '&&:hover > .resize': {\n display: 'block',\n },\n}));\n\nconst StyledResize = styled('div')(({ theme }) => ({\n backgroundColor: theme.palette.primary.main,\n cursor: 'col-resize',\n height: '35px',\n width: '5px',\n borderRadius: 8,\n marginLeft: '5px',\n marginRight: '10px',\n display: 'none',\n}));\n\nconst sizePx = (s) => (s ? `${s}px` : 'calc(20px)');\n\nfunction ImageComponent(props) {\n const {\n node,\n editor,\n attributes,\n onFocus,\n selected,\n options,\n maxImageWidth = 700,\n maxImageHeight = 900,\n latex,\n handleChange,\n handleDone,\n } = props;\n const { alt } = node.attrs;\n\n const [showToolbar, setShowToolbar] = useState(false);\n\n const imgRef = useRef(null);\n const resizeRef = useRef(null);\n const toolbarRef = useRef(null);\n\n const getPercentFromWidth = useCallback((width) => {\n const floored = (width / imgRef.current.naturalWidth) * 4;\n return parseInt(floored.toFixed(0) * 25, 10);\n }, []);\n\n const applySizeData = useCallback(() => {\n if (!node.attrs.width || !imgRef.current) return;\n\n const update = {\n ...node.attrs,\n resizePercent: getPercentFromWidth(node.attrs.width),\n };\n\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }, [editor, node.attrs, getPercentFromWidth]);\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n options.imageHandling.insertImageRequested(node, (finish) => new InsertImageHandler(editor, node, finish));\n applySizeData();\n\n const resizeHandle = resizeRef.current;\n if (resizeHandle) {\n resizeHandle.addEventListener('mousedown', initResize, false);\n }\n return () => {\n if (resizeHandle) resizeHandle.removeEventListener('mousedown', initResize, false);\n };\n }, []);\n\n useEffect(() => {\n applySizeData();\n });\n\n const loadImage = useCallback(() => {\n const box = imgRef.current;\n if (!box) return;\n\n if (!box.style.width || box.style.width === 'calc(20px)') {\n const w = Math.min(box.naturalWidth, maxImageWidth);\n const h = Math.min(box.naturalHeight, maxImageHeight);\n\n box.style.width = `${w}px`;\n box.style.height = `${h}px`;\n\n const update = { width: w, height: h };\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }\n }, [editor, node.attrs, maxImageWidth, maxImageHeight]);\n\n const updateAspect = (initial, next, keepAspect = true, resizeType) => {\n if (keepAspect) {\n const ratio = initial.width / initial.height;\n if (resizeType === 'height') return { width: next.height * ratio, height: next.height };\n return { width: next.width, height: next.width / ratio };\n }\n return next;\n };\n\n const startResize = useCallback(\n (e) => {\n const box = imgRef.current;\n if (!box) return;\n\n const bounds = e.target.getBoundingClientRect();\n const initial = { width: box.naturalWidth, height: box.naturalHeight };\n\n const next = updateAspect(initial, {\n width: e.clientX - bounds.left,\n height: e.clientY - bounds.top,\n });\n\n if (next.width > 50 && next.height > 50 && next.width <= 700 && next.height <= 900) {\n box.style.width = `${next.width}px`;\n box.style.height = `${next.height}px`;\n\n const update = { width: next.width, height: next.height };\n if (!isEqual(update, node.attrs)) {\n editor.commands.updateAttributes('imageUploadNode', update);\n }\n }\n },\n [editor, node.attrs],\n );\n\n const onChange = useCallback(\n (newValues) => {\n editor.commands.updateAttributes('imageUploadNode', newValues);\n },\n [editor],\n );\n\n const stopResize = useCallback(() => {\n window.removeEventListener('mousemove', startResize);\n window.removeEventListener('mouseup', stopResize);\n }, [startResize]);\n\n const initResize = useCallback(() => {\n window.addEventListener('mousemove', startResize);\n window.addEventListener('mouseup', stopResize);\n }, [startResize, stopResize]);\n\n const style = {\n width: sizePx(node.attrs.width),\n height: sizePx(node.attrs.height),\n objectFit: 'contain',\n };\n\n const flexAlign = { left: 'flex-start', center: 'center', right: 'flex-end' }[node.attrs.alignment] || 'flex-start';\n\n return (\n <NodeViewWrapper>\n <StyledRoot\n onFocus={onFocus}\n active={selected}\n loading={!node.attrs.loaded}\n pendingDelete={node.attrs.deleteStatus === 'pending'}\n style={{ justifyContent: flexAlign }}\n >\n <StyledProgress mode=\"determinate\" value={node.attrs.percent || 0} hideProgress={node.attrs.loaded} />\n\n <StyledImageContainer>\n <img\n {...attributes}\n ref={imgRef}\n src={node.attrs.src}\n style={style}\n onLoad={loadImage}\n alt={node.attrs.alt}\n />\n <StyledResize ref={resizeRef} className=\"resize\" />\n </StyledImageContainer>\n </StyledRoot>\n\n {showToolbar && (\n <div\n ref={toolbarRef}\n style={{\n position: 'absolute',\n top: '100%',\n left: 0,\n zIndex: 20,\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n width: '100%',\n }}\n >\n <CustomToolbarWrapper\n showDone\n {...options}\n onDone={() => {\n setShowToolbar(false);\n props.imageHandling?.onDone();\n props.editor.commands.focus('end');\n }}\n >\n <ImageToolbar\n disableImageAlignmentButtons={options.disableImageAlignmentButtons}\n alt={node.attrs.alt}\n imageLoaded={node.attrs.loaded}\n alignment={node.attrs.alignment || 'left'}\n onChange={onChange}\n />\n </CustomToolbarWrapper>\n </div>\n )}\n </NodeViewWrapper>\n );\n}\n\nImageComponent.propTypes = {\n node: PropTypes.object.isRequired,\n editor: PropTypes.object.isRequired,\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\n};\n\nexport default ImageComponent;\n"],"mappings":"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","ignoreList":[]}
|