@expensify/react-native-live-markdown 0.1.156 → 0.1.158
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/commonjs/MarkdownTextInput.web.js +33 -6
- package/lib/commonjs/MarkdownTextInput.web.js.map +1 -1
- package/lib/commonjs/web/inputElements/inlineImage.js +98 -49
- package/lib/commonjs/web/inputElements/inlineImage.js.map +1 -1
- package/lib/commonjs/web/utils/blockUtils.js +1 -1
- package/lib/commonjs/web/utils/blockUtils.js.map +1 -1
- package/lib/commonjs/web/utils/cursorUtils.js +17 -3
- package/lib/commonjs/web/utils/cursorUtils.js.map +1 -1
- package/lib/commonjs/web/utils/parserUtils.js +4 -4
- package/lib/commonjs/web/utils/parserUtils.js.map +1 -1
- package/lib/module/MarkdownTextInput.web.js +33 -6
- package/lib/module/MarkdownTextInput.web.js.map +1 -1
- package/lib/module/web/inputElements/inlineImage.js +98 -50
- package/lib/module/web/inputElements/inlineImage.js.map +1 -1
- package/lib/module/web/utils/blockUtils.js +1 -1
- package/lib/module/web/utils/blockUtils.js.map +1 -1
- package/lib/module/web/utils/cursorUtils.js +17 -3
- package/lib/module/web/utils/cursorUtils.js.map +1 -1
- package/lib/module/web/utils/parserUtils.js +4 -4
- package/lib/module/web/utils/parserUtils.js.map +1 -1
- package/lib/typescript/src/MarkdownTextInput.web.d.ts.map +1 -1
- package/lib/typescript/src/web/inputElements/inlineImage.d.ts +2 -1
- package/lib/typescript/src/web/inputElements/inlineImage.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/cursorUtils.d.ts +2 -2
- package/lib/typescript/src/web/utils/cursorUtils.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/parserUtils.d.ts +1 -1
- package/lib/typescript/src/web/utils/parserUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/MarkdownTextInput.web.tsx +39 -5
- package/src/web/inputElements/inlineImage.ts +108 -47
- package/src/web/utils/blockUtils.ts +1 -1
- package/src/web/utils/cursorUtils.ts +18 -3
- package/src/web/utils/parserUtils.ts +4 -3
|
@@ -12,6 +12,7 @@ var _cursorUtils = require("./web/utils/cursorUtils");
|
|
|
12
12
|
require("./web/MarkdownTextInput.css");
|
|
13
13
|
var _inputUtils = require("./web/utils/inputUtils");
|
|
14
14
|
var _webStyleUtils = require("./web/utils/webStyleUtils");
|
|
15
|
+
var _inlineImage = require("./web/inputElements/inlineImage");
|
|
15
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -62,6 +63,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
62
63
|
const history = (0, _react.useRef)();
|
|
63
64
|
const dimensions = (0, _react.useRef)(null);
|
|
64
65
|
const pasteContent = (0, _react.useRef)(null);
|
|
66
|
+
const hasJustBeenFocused = (0, _react.useRef)(false);
|
|
65
67
|
if (!history.current) {
|
|
66
68
|
history.current = new _InputHistory.default(100, 150, value || '');
|
|
67
69
|
}
|
|
@@ -82,7 +84,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
82
84
|
}
|
|
83
85
|
return e;
|
|
84
86
|
}, []);
|
|
85
|
-
const parseText = (0, _react.useCallback)((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true, shouldForceDOMUpdate = false) => {
|
|
87
|
+
const parseText = (0, _react.useCallback)((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true, shouldForceDOMUpdate = false, shouldScrollIntoView = false) => {
|
|
86
88
|
if (!divRef.current) {
|
|
87
89
|
return {
|
|
88
90
|
text: text || '',
|
|
@@ -95,7 +97,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
95
97
|
cursorPosition: null
|
|
96
98
|
};
|
|
97
99
|
}
|
|
98
|
-
const parsedText = (0, _parserUtils.updateInputStructure)(target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate);
|
|
100
|
+
const parsedText = (0, _parserUtils.updateInputStructure)(target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate, shouldScrollIntoView);
|
|
99
101
|
divRef.current.value = parsedText.text;
|
|
100
102
|
if (history.current && shouldAddToHistory) {
|
|
101
103
|
history.current.throttledAdd(parsedText.text, parsedText.cursorPosition);
|
|
@@ -174,6 +176,16 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
174
176
|
handleSelectionChange(e);
|
|
175
177
|
}
|
|
176
178
|
}, [handleSelectionChange, updateRefSelectionVariables]);
|
|
179
|
+
const handleOnSelect = (0, _react.useCallback)(e => {
|
|
180
|
+
updateSelection(e);
|
|
181
|
+
|
|
182
|
+
// If the input has just been focused, we need to scroll the cursor into view
|
|
183
|
+
if (divRef.current && contentSelection.current && hasJustBeenFocused.current) {
|
|
184
|
+
var _contentSelection$cur, _contentSelection$cur2;
|
|
185
|
+
(0, _cursorUtils.setCursorPosition)(divRef.current, (_contentSelection$cur = contentSelection.current) === null || _contentSelection$cur === void 0 ? void 0 : _contentSelection$cur.start, (_contentSelection$cur2 = contentSelection.current) === null || _contentSelection$cur2 === void 0 ? void 0 : _contentSelection$cur2.end, true);
|
|
186
|
+
hasJustBeenFocused.current = false;
|
|
187
|
+
}
|
|
188
|
+
}, [updateSelection]);
|
|
177
189
|
const handleContentSizeChange = (0, _react.useCallback)(() => {
|
|
178
190
|
var _dimensions$current;
|
|
179
191
|
if (!divRef.current || !multiline || !onContentSizeChange) {
|
|
@@ -231,7 +243,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
231
243
|
newInputUpdate = redo(divRef.current);
|
|
232
244
|
break;
|
|
233
245
|
default:
|
|
234
|
-
newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType);
|
|
246
|
+
newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType, inputType === 'pasteText');
|
|
235
247
|
}
|
|
236
248
|
const {
|
|
237
249
|
text,
|
|
@@ -333,6 +345,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
333
345
|
}
|
|
334
346
|
}, [multiline, blurOnSubmit, setEventProps, onKeyPress, handleOnChangeText, onSubmitEditing, insertText]);
|
|
335
347
|
const handleFocus = (0, _react.useCallback)(event => {
|
|
348
|
+
hasJustBeenFocused.current = true;
|
|
336
349
|
const e = event;
|
|
337
350
|
const hostNode = e.target;
|
|
338
351
|
currentlyFocusedField.current = hostNode;
|
|
@@ -341,10 +354,15 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
341
354
|
if (contentSelection.current) {
|
|
342
355
|
(0, _cursorUtils.setCursorPosition)(divRef.current, contentSelection.current.start, contentSelection.current.end);
|
|
343
356
|
} else {
|
|
344
|
-
const valueLength = value ? value.length : divRef.current.value.length;
|
|
357
|
+
const valueLength = value ? value.length : (divRef.current.value || '').length;
|
|
345
358
|
(0, _cursorUtils.setCursorPosition)(divRef.current, valueLength, null);
|
|
346
359
|
}
|
|
347
360
|
}
|
|
361
|
+
if (divRef.current) {
|
|
362
|
+
divRef.current.scrollIntoView({
|
|
363
|
+
block: 'nearest'
|
|
364
|
+
});
|
|
365
|
+
}
|
|
348
366
|
if (onFocus) {
|
|
349
367
|
setEventProps(e);
|
|
350
368
|
onFocus(e);
|
|
@@ -457,7 +475,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
457
475
|
}
|
|
458
476
|
const normalizedValue = (0, _inputUtils.normalizeValue)(value);
|
|
459
477
|
divRef.current.value = normalizedValue;
|
|
460
|
-
parseText(divRef.current, normalizedValue, processedMarkdownStyle);
|
|
478
|
+
parseText(divRef.current, normalizedValue, processedMarkdownStyle, null, true, false, true);
|
|
461
479
|
updateTextColor(divRef.current, value);
|
|
462
480
|
}, [multiline, processedMarkdownStyle, value]);
|
|
463
481
|
useClientEffect(function adjustHeight() {
|
|
@@ -494,6 +512,15 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
494
512
|
updateRefSelectionVariables(newSelection);
|
|
495
513
|
(0, _cursorUtils.setCursorPosition)(divRef.current, newSelection.start, newSelection.end);
|
|
496
514
|
}, [selection, updateRefSelectionVariables]);
|
|
515
|
+
(0, _react.useEffect)(() => {
|
|
516
|
+
const handleReconnect = () => {
|
|
517
|
+
(0, _inlineImage.forceRefreshAllImages)(divRef.current, processedMarkdownStyle);
|
|
518
|
+
};
|
|
519
|
+
window.addEventListener('online', handleReconnect);
|
|
520
|
+
return () => {
|
|
521
|
+
window.removeEventListener('online', handleReconnect);
|
|
522
|
+
};
|
|
523
|
+
}, [processedMarkdownStyle]);
|
|
497
524
|
return (
|
|
498
525
|
/*#__PURE__*/
|
|
499
526
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
@@ -524,7 +551,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
524
551
|
spellCheck: spellCheck,
|
|
525
552
|
dir: dir,
|
|
526
553
|
inputMode: inputMode,
|
|
527
|
-
onSelect:
|
|
554
|
+
onSelect: handleOnSelect,
|
|
528
555
|
onTouchStart: handleTouchStart
|
|
529
556
|
})
|
|
530
557
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_parserUtils","_InputHistory","_interopRequireDefault","_cursorUtils","_inputUtils","_webStyleUtils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useClientEffect","window","useEffect","useLayoutEffect","focusTimeout","MarkdownTextInput","React","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","clearTextOnFocus","dir","disabled","numberOfLines","multiline","markdownStyle","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholder","placeholderTextColor","selectTextOnFocus","spellCheck","selection","style","value","autoFocus","onContentSizeChange","id","inputMode","onTouchStart","ref","compositionRef","useRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","getPlaceholderValue","setEventProps","useCallback","text","target","nativeEvent","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","parsedText","updateInputStructure","throttledAdd","processedMarkdownStyle","newMarkdownStyle","processMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","whiteSpace","disabledInputStyles","parseToReactDOMStyle","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","updateSelection","predefinedSelection","getCurrentCursorPosition","handleContentSizeChange","_dimensions$current","offsetWidth","newWidth","offsetHeight","newHeight","height","width","contentSize","handleOnChangeText","HTMLElement","inputType","textContent","previousText","normalizeValue","parseInnerHTMLToText","prevSelection","newCursorPosition","Math","max","length","newInputUpdate","addedText","slice","count","prevSelectionRange","before","insertText","newText","substring","document","execCommand","handleKeyPress","hostNode","stopPropagation","key","ctrlKey","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isComposing","isEventComposing","isDefaultPrevented","setTimeout","blur","handleFocus","setCursorPosition","valueLength","clearTimeout","handleBlur","removeSelection","handleClick","handleCopy","_divRef$current","clipboardData","setData","handleCut","handlePaste","getData","startComposition","endComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","getElementHeight","maxHeight","focus","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","overflowY","overflowX","overflowWrap","opacity","cursor","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_parserUtils","_InputHistory","_interopRequireDefault","_cursorUtils","_inputUtils","_webStyleUtils","_inlineImage","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useClientEffect","window","useEffect","useLayoutEffect","focusTimeout","MarkdownTextInput","React","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","clearTextOnFocus","dir","disabled","numberOfLines","multiline","markdownStyle","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholder","placeholderTextColor","selectTextOnFocus","spellCheck","selection","style","value","autoFocus","onContentSizeChange","id","inputMode","onTouchStart","ref","compositionRef","useRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","hasJustBeenFocused","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","getPlaceholderValue","setEventProps","useCallback","text","target","nativeEvent","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","shouldScrollIntoView","parsedText","updateInputStructure","throttledAdd","processedMarkdownStyle","newMarkdownStyle","processMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","whiteSpace","disabledInputStyles","parseToReactDOMStyle","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","updateSelection","predefinedSelection","getCurrentCursorPosition","handleOnSelect","_contentSelection$cur","_contentSelection$cur2","setCursorPosition","handleContentSizeChange","_dimensions$current","offsetWidth","newWidth","offsetHeight","newHeight","height","width","contentSize","handleOnChangeText","HTMLElement","inputType","textContent","previousText","normalizeValue","parseInnerHTMLToText","prevSelection","newCursorPosition","Math","max","length","newInputUpdate","addedText","slice","count","prevSelectionRange","before","insertText","newText","substring","document","execCommand","handleKeyPress","hostNode","stopPropagation","key","ctrlKey","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isComposing","isEventComposing","isDefaultPrevented","setTimeout","blur","handleFocus","valueLength","scrollIntoView","block","clearTimeout","handleBlur","removeSelection","handleClick","handleCopy","_divRef$current","clipboardData","setData","handleCut","handlePaste","getData","startComposition","endComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","getElementHeight","maxHeight","focus","handleReconnect","forceRefreshAllImages","addEventListener","removeEventListener","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","overflowY","overflowX","overflowWrap","opacity","cursor","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.addInlineImagePreview = addInlineImagePreview;
|
|
7
|
+
exports.forceRefreshAllImages = forceRefreshAllImages;
|
|
7
8
|
var _styleUtils = require("../../styleUtils");
|
|
8
9
|
var _loadingIndicator = require("./loadingIndicator");
|
|
9
10
|
const INLINE_IMAGE_PREVIEW_DEBOUNCE_TIME_MS = 300;
|
|
@@ -13,9 +14,80 @@ const inlineImageDefaultStyles = {
|
|
|
13
14
|
left: 0
|
|
14
15
|
};
|
|
15
16
|
const timeoutMap = new Map();
|
|
16
|
-
function
|
|
17
|
+
function getImagePreviewElement(targetElement) {
|
|
18
|
+
return Array.from((targetElement === null || targetElement === void 0 ? void 0 : targetElement.childNodes) || []).find(el => (el === null || el === void 0 ? void 0 : el.contentEditable) === 'false');
|
|
19
|
+
}
|
|
20
|
+
function handleOnLoad(currentInput, target, imageHref, markdownStyle, imageContainer, err) {
|
|
21
|
+
var _markdownStyle$inline;
|
|
22
|
+
let targetElement = target;
|
|
23
|
+
|
|
24
|
+
// Update the target element if the input structure was changed while the image was loading and its content hasn't changed
|
|
25
|
+
if (!targetElement.isConnected) {
|
|
26
|
+
var _getImagePreviewEleme, _getImagePreviewEleme2;
|
|
27
|
+
const currentElement = currentInput.querySelector(`[data-type="block"][data-id="${target.getAttribute('data-id')}"]`);
|
|
28
|
+
const currentElementURL = (_getImagePreviewEleme = getImagePreviewElement(currentElement)) === null || _getImagePreviewEleme === void 0 ? void 0 : _getImagePreviewEleme.getAttribute('data-url');
|
|
29
|
+
const targetElementURL = (_getImagePreviewEleme2 = getImagePreviewElement(targetElement)) === null || _getImagePreviewEleme2 === void 0 ? void 0 : _getImagePreviewEleme2.getAttribute('data-url');
|
|
30
|
+
if (currentElementURL && targetElementURL && currentElementURL === targetElementURL) {
|
|
31
|
+
targetElement = currentElement;
|
|
32
|
+
} else {
|
|
33
|
+
return; // Prevent adding expired image previews to the input structure
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Verify if the current spinner is for the loaded image. If not, it means that the response came after the user changed the image url
|
|
38
|
+
const currentSpinner = currentInput.querySelector(`[data-type="spinner"][data-url="${imageHref}"]`);
|
|
39
|
+
|
|
40
|
+
// Remove the spinner
|
|
41
|
+
if (currentSpinner) {
|
|
42
|
+
currentSpinner.remove();
|
|
43
|
+
}
|
|
44
|
+
const img = imageContainer.firstChild;
|
|
45
|
+
const {
|
|
46
|
+
minHeight,
|
|
47
|
+
minWidth,
|
|
48
|
+
maxHeight,
|
|
49
|
+
maxWidth,
|
|
50
|
+
borderRadius
|
|
51
|
+
} = markdownStyle.inlineImage || {};
|
|
52
|
+
const imgStyle = {
|
|
53
|
+
minHeight,
|
|
54
|
+
minWidth,
|
|
55
|
+
maxHeight,
|
|
56
|
+
maxWidth,
|
|
57
|
+
borderRadius
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// Set the image styles
|
|
61
|
+
Object.assign(imageContainer.style, {
|
|
62
|
+
...inlineImageDefaultStyles,
|
|
63
|
+
...(err && {
|
|
64
|
+
...imgStyle,
|
|
65
|
+
display: 'flex',
|
|
66
|
+
alignItems: 'center',
|
|
67
|
+
justifyContent: 'center'
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
Object.assign(img.style, !err && imgStyle);
|
|
71
|
+
targetElement.appendChild(imageContainer);
|
|
72
|
+
const imageClientHeight = Math.max(img.clientHeight, imageContainer.clientHeight);
|
|
73
|
+
Object.assign(imageContainer.style, {
|
|
74
|
+
height: `${imageClientHeight}px`
|
|
75
|
+
});
|
|
76
|
+
// Set paddingBottom to the height of the image so it's displayed under the block
|
|
77
|
+
const imageMarginTop = (0, _styleUtils.parseStringWithUnitToNumber)(`${(_markdownStyle$inline = markdownStyle.inlineImage) === null || _markdownStyle$inline === void 0 ? void 0 : _markdownStyle$inline.marginTop}`);
|
|
78
|
+
Object.assign(targetElement.style, {
|
|
79
|
+
paddingBottom: `${imageClientHeight + imageMarginTop}px`
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function createImageElement(currentInput, targetNode, url, markdownStyle) {
|
|
17
83
|
if (timeoutMap.has(targetNode.orderIndex)) {
|
|
18
|
-
|
|
84
|
+
const mapItem = timeoutMap.get(targetNode.orderIndex);
|
|
85
|
+
// Check if the image URL has been changed, if not, early return so the image can be loaded asynchronously
|
|
86
|
+
const currentElement = document.querySelector(`[data-type="block"][data-id="${targetNode.orderIndex}"]`);
|
|
87
|
+
if ((mapItem === null || mapItem === void 0 ? void 0 : mapItem.url) === url && currentElement && getImagePreviewElement(currentElement)) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
clearTimeout(mapItem === null || mapItem === void 0 ? void 0 : mapItem.timeout);
|
|
19
91
|
timeoutMap.delete(targetNode.orderIndex);
|
|
20
92
|
}
|
|
21
93
|
const timeout = setTimeout(() => {
|
|
@@ -25,12 +97,15 @@ function createImageElement(targetNode, url, callback) {
|
|
|
25
97
|
const img = new Image();
|
|
26
98
|
imageContainer.appendChild(img);
|
|
27
99
|
img.contentEditable = 'false';
|
|
28
|
-
img.onload = () =>
|
|
29
|
-
img.onerror = err =>
|
|
100
|
+
img.onload = () => handleOnLoad(currentInput, targetNode.element, url, markdownStyle, imageContainer);
|
|
101
|
+
img.onerror = err => handleOnLoad(currentInput, targetNode.element, url, markdownStyle, imageContainer, err);
|
|
30
102
|
img.src = url;
|
|
31
103
|
timeoutMap.delete(targetNode.orderIndex);
|
|
32
104
|
}, INLINE_IMAGE_PREVIEW_DEBOUNCE_TIME_MS);
|
|
33
|
-
timeoutMap.set(targetNode.orderIndex,
|
|
105
|
+
timeoutMap.set(targetNode.orderIndex, {
|
|
106
|
+
timeout,
|
|
107
|
+
url
|
|
108
|
+
});
|
|
34
109
|
}
|
|
35
110
|
|
|
36
111
|
/** Adds already loaded image element from current input content to the tree node */
|
|
@@ -49,14 +124,14 @@ function updateImageTreeNode(targetNode, newElement, imageMarginTop = 0) {
|
|
|
49
124
|
|
|
50
125
|
/** The main function that adds inline image preview to the node */
|
|
51
126
|
function addInlineImagePreview(currentInput, targetNode, text, ranges, markdownStyle) {
|
|
52
|
-
var _markdownStyle$
|
|
127
|
+
var _markdownStyle$inline2, _markdownStyle$inline3, _markdownStyle$loadin, _markdownStyle$loadin2;
|
|
53
128
|
const linkRange = ranges.find(r => r.type === 'link');
|
|
54
129
|
let imageHref = '';
|
|
55
130
|
if (linkRange) {
|
|
56
131
|
imageHref = text.substring(linkRange.start, linkRange.start + linkRange.length);
|
|
57
132
|
}
|
|
58
|
-
const imageMarginTop = (0, _styleUtils.parseStringWithUnitToNumber)(`${(_markdownStyle$
|
|
59
|
-
const imageMarginBottom = (0, _styleUtils.parseStringWithUnitToNumber)(`${(_markdownStyle$
|
|
133
|
+
const imageMarginTop = (0, _styleUtils.parseStringWithUnitToNumber)(`${(_markdownStyle$inline2 = markdownStyle.inlineImage) === null || _markdownStyle$inline2 === void 0 ? void 0 : _markdownStyle$inline2.marginTop}`);
|
|
134
|
+
const imageMarginBottom = (0, _styleUtils.parseStringWithUnitToNumber)(`${(_markdownStyle$inline3 = markdownStyle.inlineImage) === null || _markdownStyle$inline3 === void 0 ? void 0 : _markdownStyle$inline3.marginBottom}`);
|
|
60
135
|
|
|
61
136
|
// If the inline image markdown with the same href exists in the current input, use it instead of creating new one.
|
|
62
137
|
// Prevents from image flickering and layout jumps
|
|
@@ -76,50 +151,24 @@ function addInlineImagePreview(currentInput, targetNode, text, ranges, markdownS
|
|
|
76
151
|
marginBottom: `${imageMarginBottom}px`,
|
|
77
152
|
paddingBottom: ((_markdownStyle$loadin = markdownStyle.loadingIndicatorContainer) === null || _markdownStyle$loadin === void 0 ? void 0 : _markdownStyle$loadin.height) || ((_markdownStyle$loadin2 = markdownStyle.loadingIndicator) === null || _markdownStyle$loadin2 === void 0 ? void 0 : _markdownStyle$loadin2.height) || !!markdownStyle.loadingIndicator && '30px' || undefined
|
|
78
153
|
});
|
|
79
|
-
createImageElement(targetNode, imageHref,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
154
|
+
createImageElement(currentInput, targetNode, imageHref, markdownStyle);
|
|
155
|
+
return targetNode;
|
|
156
|
+
}
|
|
157
|
+
function forceRefreshAllImages(currentInput, markdownStyle) {
|
|
158
|
+
currentInput.querySelectorAll('img').forEach(img => {
|
|
159
|
+
// force image reload only if broken image icon is displayed
|
|
160
|
+
if (img.naturalWidth > 0) {
|
|
161
|
+
return;
|
|
85
162
|
}
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
borderRadius
|
|
93
|
-
} = markdownStyle.inlineImage || {};
|
|
94
|
-
const imgStyle = {
|
|
95
|
-
minHeight,
|
|
96
|
-
minWidth,
|
|
97
|
-
maxHeight,
|
|
98
|
-
maxWidth,
|
|
99
|
-
borderRadius
|
|
163
|
+
const url = img.src;
|
|
164
|
+
const imgElement = img;
|
|
165
|
+
imgElement.src = '';
|
|
166
|
+
imgElement.onload = () => {
|
|
167
|
+
var _img$parentElement;
|
|
168
|
+
return handleOnLoad(currentInput, (_img$parentElement = img.parentElement) === null || _img$parentElement === void 0 ? void 0 : _img$parentElement.parentElement, url, markdownStyle, img.parentElement);
|
|
100
169
|
};
|
|
101
|
-
|
|
102
|
-
// Set the image styles
|
|
103
|
-
Object.assign(imageContainer.style, {
|
|
104
|
-
...inlineImageDefaultStyles,
|
|
105
|
-
...(err && {
|
|
106
|
-
...imgStyle,
|
|
107
|
-
display: 'flex',
|
|
108
|
-
alignItems: 'center',
|
|
109
|
-
justifyContent: 'center'
|
|
110
|
-
})
|
|
111
|
-
});
|
|
112
|
-
Object.assign(img.style, !err && imgStyle);
|
|
113
|
-
targetNode.element.appendChild(imageContainer);
|
|
114
|
-
Object.assign(imageContainer.style, {
|
|
115
|
-
height: `${imageContainer.clientHeight}px`
|
|
116
|
-
});
|
|
117
|
-
// Set paddingBottom to the height of the image so it's displayed under the block
|
|
118
|
-
Object.assign(targetNode.element.style, {
|
|
119
|
-
paddingBottom: `${imageContainer.clientHeight + imageMarginTop}px`
|
|
120
|
-
});
|
|
170
|
+
imgElement.src = `${url}#`;
|
|
121
171
|
});
|
|
122
|
-
return targetNode;
|
|
123
172
|
}
|
|
124
173
|
|
|
125
174
|
// eslint-disable-next-line import/prefer-default-export
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_styleUtils","require","_loadingIndicator","INLINE_IMAGE_PREVIEW_DEBOUNCE_TIME_MS","inlineImageDefaultStyles","position","bottom","left","timeoutMap","Map","
|
|
1
|
+
{"version":3,"names":["_styleUtils","require","_loadingIndicator","INLINE_IMAGE_PREVIEW_DEBOUNCE_TIME_MS","inlineImageDefaultStyles","position","bottom","left","timeoutMap","Map","getImagePreviewElement","targetElement","Array","from","childNodes","find","el","contentEditable","handleOnLoad","currentInput","target","imageHref","markdownStyle","imageContainer","err","_markdownStyle$inline","isConnected","_getImagePreviewEleme","_getImagePreviewEleme2","currentElement","querySelector","getAttribute","currentElementURL","targetElementURL","currentSpinner","remove","img","firstChild","minHeight","minWidth","maxHeight","maxWidth","borderRadius","inlineImage","imgStyle","Object","assign","style","display","alignItems","justifyContent","appendChild","imageClientHeight","Math","max","clientHeight","height","imageMarginTop","parseStringWithUnitToNumber","marginTop","paddingBottom","createImageElement","targetNode","url","has","orderIndex","mapItem","get","document","clearTimeout","timeout","delete","setTimeout","createElement","setAttribute","Image","onload","element","onerror","src","set","updateImageTreeNode","newElement","cloneNode","currentParent","parentElement","includes","addInlineImagePreview","text","ranges","_markdownStyle$inline2","_markdownStyle$inline3","_markdownStyle$loadin","_markdownStyle$loadin2","linkRange","r","type","substring","start","length","imageMarginBottom","marginBottom","alreadyLoadedPreview","loadedImageContainer","spinner","createLoadingIndicator","loadingIndicatorContainer","loadingIndicator","undefined","forceRefreshAllImages","querySelectorAll","forEach","naturalWidth","imgElement","_img$parentElement"],"sourceRoot":"../../../../src","sources":["web/inputElements/inlineImage.ts"],"mappings":"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"}
|
|
@@ -85,7 +85,7 @@ function addStyleToBlock(targetElement, type, markdownStyle) {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
const BLOCK_MARKDOWN_TYPES = ['inline-image'];
|
|
88
|
-
const FULL_LINE_MARKDOWN_TYPES = ['blockquote'
|
|
88
|
+
const FULL_LINE_MARKDOWN_TYPES = ['blockquote'];
|
|
89
89
|
function isBlockMarkdownType(type) {
|
|
90
90
|
return BLOCK_MARKDOWN_TYPES.includes(type);
|
|
91
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_inlineImage","require","addStyleToBlock","targetElement","type","markdownStyle","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","mentionHere","mentionUser","mentionReport","link","code","pre","blockquote","borderLeftStyle","display","maxWidth","boxSizing","overflowWrap","h1","position","BLOCK_MARKDOWN_TYPES","FULL_LINE_MARKDOWN_TYPES","isBlockMarkdownType","includes","getFirstBlockMarkdownRange","ranges","blockMarkdownRange","find","r","undefined","extendBlockStructure","currentInput","targetNode","currentRange","text","addInlineImagePreview"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":";;;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAGA,SAASC,eAAeA,CAACC,aAA0B,EAAEC,IAAc,EAAEC,aAAmC,EAAE;EACxG,MAAMC,IAAI,GAAGH,aAAa;EAC1B,QAAQC,IAAI;IACV,KAAK,MAAM;MACTG,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QACxBC,MAAM,EAAE,GAAG;QACXC,OAAO,EAAE;MACX,CAAC,CAAC;MACF;IACF,KAAK,QAAQ;MACXJ,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACO,MAAM,CAAC;MAC/C;IACF,KAAK,MAAM;MACTN,IAAI,CAACG,KAAK,CAACI,UAAU,GAAG,MAAM;MAC9B;IACF,KAAK,QAAQ;MACXP,IAAI,CAACG,KAAK,CAACK,SAAS,GAAG,QAAQ;MAC/B;IACF,KAAK,eAAe;MAClBR,IAAI,CAACG,KAAK,CAACM,cAAc,GAAG,cAAc;MAC1C;IACF,KAAK,OAAO;MACVR,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QAAC,GAAGJ,aAAa,CAACW,KAAK;QAAEC,aAAa,EAAE;MAAQ,CAAC,CAAC;MAC5E;IACF,KAAK,cAAc;MACjBV,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACa,WAAW,CAAC;MACpD;IACF,KAAK,cAAc;MACjBX,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACc,WAAW,CAAC;MACpD;IACF,KAAK,gBAAgB;MACnBZ,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACe,aAAa,CAAC;MACtD;IACF,KAAK,MAAM;MACTb,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QACxB,GAAGJ,aAAa,CAACgB,IAAI;QACrBN,cAAc,EAAE;MAClB,CAAC,CAAC;MACF;IACF,KAAK,MAAM;MACTR,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACiB,IAAI,CAAC;MAC7C;IACF,KAAK,KAAK;MACRf,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACkB,GAAG,CAAC;MAC5C;IAEF,KAAK,YAAY;MACfhB,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QACxB,GAAGJ,aAAa,CAACmB,UAAU;QAC3BC,eAAe,EAAE,OAAO;QACxBC,OAAO,EAAE,cAAc;QACvBC,QAAQ,EAAE,MAAM;QAChBC,SAAS,EAAE,YAAY;QACvBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACF;IACF,KAAK,IAAI;MACPtB,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QACxB,GAAGJ,aAAa,CAACyB,EAAE;QACnBjB,UAAU,EAAE;MACd,CAAC,CAAC;MACF;IACF,KAAK,OAAO;MACVN,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QACxBiB,OAAO,EAAE,OAAO;QAChBhB,MAAM,EAAE,GAAG;QACXC,OAAO,EAAE,GAAG;QACZoB,QAAQ,EAAE;MACZ,CAAC,CAAC;MACF;IACF;MACE;EACJ;AACF;AAEA,MAAMC,oBAAoB,GAAG,CAAC,cAAc,CAAC;AAC7C,MAAMC,wBAAwB,GAAG,CAAC,YAAY,
|
|
1
|
+
{"version":3,"names":["_inlineImage","require","addStyleToBlock","targetElement","type","markdownStyle","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","mentionHere","mentionUser","mentionReport","link","code","pre","blockquote","borderLeftStyle","display","maxWidth","boxSizing","overflowWrap","h1","position","BLOCK_MARKDOWN_TYPES","FULL_LINE_MARKDOWN_TYPES","isBlockMarkdownType","includes","getFirstBlockMarkdownRange","ranges","blockMarkdownRange","find","r","undefined","extendBlockStructure","currentInput","targetNode","currentRange","text","addInlineImagePreview"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ exports.removeSelection = removeSelection;
|
|
|
9
9
|
exports.scrollIntoView = scrollIntoView;
|
|
10
10
|
exports.setCursorPosition = setCursorPosition;
|
|
11
11
|
var _treeUtils = require("./treeUtils");
|
|
12
|
-
function setCursorPosition(target, startIndex, endIndex = null) {
|
|
12
|
+
function setCursorPosition(target, startIndex, endIndex = null, shouldScrollIntoView = false) {
|
|
13
13
|
// We don't want to move the cursor if the target is not focused
|
|
14
14
|
if (!target.tree || target !== document.activeElement) {
|
|
15
15
|
return;
|
|
@@ -44,16 +44,30 @@ function setCursorPosition(target, startIndex, endIndex = null) {
|
|
|
44
44
|
if (selection) {
|
|
45
45
|
selection.setBaseAndExtent(range.startContainer, range.startOffset, range.endContainer, range.endOffset);
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
if (shouldScrollIntoView) {
|
|
48
|
+
scrollIntoView(target, endTreeNode);
|
|
49
|
+
}
|
|
48
50
|
}
|
|
49
|
-
function scrollIntoView(node) {
|
|
51
|
+
function scrollIntoView(target, node) {
|
|
50
52
|
var _node$parentNode;
|
|
53
|
+
const targetElement = target;
|
|
51
54
|
if (node.type === 'br' && ((_node$parentNode = node.parentNode) === null || _node$parentNode === void 0 || (_node$parentNode = _node$parentNode.parentNode) === null || _node$parentNode === void 0 ? void 0 : _node$parentNode.type) === 'line') {
|
|
52
55
|
// If the node is a line break, scroll to the parent paragraph, because Safari doesn't support scrollIntoView on br elements
|
|
53
56
|
node.parentNode.parentNode.element.scrollIntoView({
|
|
54
57
|
block: 'nearest'
|
|
55
58
|
});
|
|
56
59
|
} else {
|
|
60
|
+
const selection = window.getSelection();
|
|
61
|
+
if (selection && selection.rangeCount > 0) {
|
|
62
|
+
const range = selection.getRangeAt(0);
|
|
63
|
+
const caretRect = range.getBoundingClientRect();
|
|
64
|
+
const targetRect = target.getBoundingClientRect();
|
|
65
|
+
|
|
66
|
+
// In case the caret is below the visible input area, scroll to the end of the node
|
|
67
|
+
if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
|
|
68
|
+
targetElement.scrollTop = caretRect.top + caretRect.height - targetRect.top - targetRect.height + target.scrollTop;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
57
71
|
node.element.scrollIntoView({
|
|
58
72
|
block: 'nearest'
|
|
59
73
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_treeUtils","require","setCursorPosition","target","startIndex","endIndex","tree","document","activeElement","start","Math","max","min","length","end","range","createRange","selectNodeContents","startTreeNode","getTreeNodeByIndex","endTreeNode","console","error","type","setStartBefore","element","setStart","childNodes","setEndBefore","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","_node$parentNode","parentNode","block","
|
|
1
|
+
{"version":3,"names":["_treeUtils","require","setCursorPosition","target","startIndex","endIndex","shouldScrollIntoView","tree","document","activeElement","start","Math","max","min","length","end","range","createRange","selectNodeContents","startTreeNode","getTreeNodeByIndex","endTreeNode","console","error","type","setStartBefore","element","setStart","childNodes","setEndBefore","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","_node$parentNode","targetElement","parentNode","block","rangeCount","getRangeAt","caretRect","getBoundingClientRect","targetRect","top","height","scrollTop","moveCursorToEnd","getCurrentCursorPosition","getHTMLElement","Text","parentElement","startElement","endElement","findHTMLElementInTree","value","removeSelection","removeAllRanges"],"sourceRoot":"../../../../src","sources":["web/utils/cursorUtils.ts"],"mappings":"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"}
|
|
@@ -235,17 +235,17 @@ function parseRangesToHTMLNodes(text, ranges, isMultiline = true, markdownStyle
|
|
|
235
235
|
tree: rootNode
|
|
236
236
|
};
|
|
237
237
|
}
|
|
238
|
-
function moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, target) {
|
|
238
|
+
function moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, target, shouldScrollIntoView = false) {
|
|
239
239
|
if (!isFocused) {
|
|
240
240
|
return;
|
|
241
241
|
}
|
|
242
242
|
if (alwaysMoveCursorToTheEnd || cursorPosition === null) {
|
|
243
243
|
(0, _cursorUtils.moveCursorToEnd)(target);
|
|
244
244
|
} else if (cursorPosition !== null) {
|
|
245
|
-
(0, _cursorUtils.setCursorPosition)(target, cursorPosition);
|
|
245
|
+
(0, _cursorUtils.setCursorPosition)(target, cursorPosition, null, shouldScrollIntoView);
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
|
-
function updateInputStructure(target, text, cursorPositionIndex, isMultiline = true, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false) {
|
|
248
|
+
function updateInputStructure(target, text, cursorPositionIndex, isMultiline = true, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false, shouldScrollIntoView = false) {
|
|
249
249
|
const targetElement = target;
|
|
250
250
|
|
|
251
251
|
// in case the cursorPositionIndex is larger than text length, cursorPosition will be null, i.e: move the caret to the end
|
|
@@ -276,7 +276,7 @@ function updateInputStructure(target, text, cursorPositionIndex, isMultiline = t
|
|
|
276
276
|
}
|
|
277
277
|
(0, _treeUtils.updateTreeElementRefs)(tree, targetElement);
|
|
278
278
|
targetElement.tree = tree;
|
|
279
|
-
moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, targetElement);
|
|
279
|
+
moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, targetElement, shouldScrollIntoView);
|
|
280
280
|
}
|
|
281
281
|
return {
|
|
282
282
|
text,
|