@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.
Files changed (33) hide show
  1. package/lib/commonjs/MarkdownTextInput.web.js +33 -6
  2. package/lib/commonjs/MarkdownTextInput.web.js.map +1 -1
  3. package/lib/commonjs/web/inputElements/inlineImage.js +98 -49
  4. package/lib/commonjs/web/inputElements/inlineImage.js.map +1 -1
  5. package/lib/commonjs/web/utils/blockUtils.js +1 -1
  6. package/lib/commonjs/web/utils/blockUtils.js.map +1 -1
  7. package/lib/commonjs/web/utils/cursorUtils.js +17 -3
  8. package/lib/commonjs/web/utils/cursorUtils.js.map +1 -1
  9. package/lib/commonjs/web/utils/parserUtils.js +4 -4
  10. package/lib/commonjs/web/utils/parserUtils.js.map +1 -1
  11. package/lib/module/MarkdownTextInput.web.js +33 -6
  12. package/lib/module/MarkdownTextInput.web.js.map +1 -1
  13. package/lib/module/web/inputElements/inlineImage.js +98 -50
  14. package/lib/module/web/inputElements/inlineImage.js.map +1 -1
  15. package/lib/module/web/utils/blockUtils.js +1 -1
  16. package/lib/module/web/utils/blockUtils.js.map +1 -1
  17. package/lib/module/web/utils/cursorUtils.js +17 -3
  18. package/lib/module/web/utils/cursorUtils.js.map +1 -1
  19. package/lib/module/web/utils/parserUtils.js +4 -4
  20. package/lib/module/web/utils/parserUtils.js.map +1 -1
  21. package/lib/typescript/src/MarkdownTextInput.web.d.ts.map +1 -1
  22. package/lib/typescript/src/web/inputElements/inlineImage.d.ts +2 -1
  23. package/lib/typescript/src/web/inputElements/inlineImage.d.ts.map +1 -1
  24. package/lib/typescript/src/web/utils/cursorUtils.d.ts +2 -2
  25. package/lib/typescript/src/web/utils/cursorUtils.d.ts.map +1 -1
  26. package/lib/typescript/src/web/utils/parserUtils.d.ts +1 -1
  27. package/lib/typescript/src/web/utils/parserUtils.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/MarkdownTextInput.web.tsx +39 -5
  30. package/src/web/inputElements/inlineImage.ts +108 -47
  31. package/src/web/utils/blockUtils.ts +1 -1
  32. package/src/web/utils/cursorUtils.ts +18 -3
  33. 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: updateSelection,
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 createImageElement(targetNode, url, callback) {
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
- clearTimeout(timeoutMap.get(targetNode.orderIndex));
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 = () => callback(imageContainer);
29
- img.onerror = err => callback(imageContainer, 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, timeout);
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$inline, _markdownStyle$inline2, _markdownStyle$loadin, _markdownStyle$loadin2;
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$inline = markdownStyle.inlineImage) === null || _markdownStyle$inline === void 0 ? void 0 : _markdownStyle$inline.marginTop}`);
59
- const imageMarginBottom = (0, _styleUtils.parseStringWithUnitToNumber)(`${(_markdownStyle$inline2 = markdownStyle.inlineImage) === null || _markdownStyle$inline2 === void 0 ? void 0 : _markdownStyle$inline2.marginBottom}`);
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, (imageContainer, err) => {
80
- // 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
81
- const currentSpinner = currentInput.querySelector('[data-type="spinner"]');
82
- // Remove the spinner
83
- if (currentSpinner) {
84
- currentSpinner.remove();
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 img = imageContainer.firstChild;
87
- const {
88
- minHeight,
89
- minWidth,
90
- maxHeight,
91
- maxWidth,
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","createImageElement","targetNode","url","callback","has","orderIndex","clearTimeout","get","delete","timeout","setTimeout","imageContainer","document","createElement","contentEditable","setAttribute","img","Image","appendChild","onload","onerror","err","src","set","updateImageTreeNode","newElement","imageMarginTop","paddingBottom","parseStringWithUnitToNumber","style","height","element","cloneNode","currentParent","parentElement","includes","getAttribute","Object","assign","addInlineImagePreview","currentInput","text","ranges","markdownStyle","_markdownStyle$inline","_markdownStyle$inline2","_markdownStyle$loadin","_markdownStyle$loadin2","linkRange","find","r","type","imageHref","substring","start","length","inlineImage","marginTop","imageMarginBottom","marginBottom","alreadyLoadedPreview","querySelector","loadedImageContainer","spinner","createLoadingIndicator","display","loadingIndicatorContainer","loadingIndicator","undefined","currentSpinner","remove","firstChild","minHeight","minWidth","maxHeight","maxWidth","borderRadius","imgStyle","alignItems","justifyContent","clientHeight"],"sourceRoot":"../../../../src","sources":["web/inputElements/inlineImage.ts"],"mappings":"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"}
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', 'h1'];
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":"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"}
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
- scrollIntoView(startTreeNode);
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","moveCursorToEnd","getCurrentCursorPosition","getHTMLElement","Text","parentElement","rangeCount","getRangeAt","startElement","endElement","findHTMLElementInTree","value","removeSelection","removeAllRanges"],"sourceRoot":"../../../../src","sources":["web/utils/cursorUtils.ts"],"mappings":"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"}
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,