@expensify/react-native-live-markdown 0.1.154 → 0.1.155

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.
@@ -12,12 +12,13 @@ const inlineImageDefaultStyles = {
12
12
  bottom: 0,
13
13
  left: 0
14
14
  };
15
- let timeout = null;
16
- function createImageElement(url, callback) {
17
- if (timeout) {
18
- clearTimeout(timeout);
15
+ const timeoutMap = new Map();
16
+ function createImageElement(targetNode, url, callback) {
17
+ if (timeoutMap.has(targetNode.orderIndex)) {
18
+ clearTimeout(timeoutMap.get(targetNode.orderIndex));
19
+ timeoutMap.delete(targetNode.orderIndex);
19
20
  }
20
- timeout = setTimeout(() => {
21
+ const timeout = setTimeout(() => {
21
22
  const imageContainer = document.createElement('span');
22
23
  imageContainer.contentEditable = 'false';
23
24
  imageContainer.setAttribute('data-type', 'inline-container');
@@ -27,7 +28,9 @@ function createImageElement(url, callback) {
27
28
  img.onload = () => callback(imageContainer);
28
29
  img.onerror = err => callback(imageContainer, err);
29
30
  img.src = url;
31
+ timeoutMap.delete(targetNode.orderIndex);
30
32
  }, INLINE_IMAGE_PREVIEW_DEBOUNCE_TIME_MS);
33
+ timeoutMap.set(targetNode.orderIndex, timeout);
31
34
  }
32
35
 
33
36
  /** Adds already loaded image element from current input content to the tree node */
@@ -73,7 +76,7 @@ function addInlineImagePreview(currentInput, targetNode, text, ranges, markdownS
73
76
  marginBottom: `${imageMarginBottom}px`,
74
77
  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
75
78
  });
76
- createImageElement(imageHref, (imageContainer, err) => {
79
+ createImageElement(targetNode, imageHref, (imageContainer, err) => {
77
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
78
81
  const currentSpinner = currentInput.querySelector('[data-type="spinner"]');
79
82
  // Remove the spinner
@@ -1 +1 @@
1
- {"version":3,"names":["_styleUtils","require","_loadingIndicator","INLINE_IMAGE_PREVIEW_DEBOUNCE_TIME_MS","inlineImageDefaultStyles","position","bottom","left","timeout","createImageElement","url","callback","clearTimeout","setTimeout","imageContainer","document","createElement","contentEditable","setAttribute","img","Image","appendChild","onload","onerror","err","src","updateImageTreeNode","targetNode","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","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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"}
@@ -6,12 +6,13 @@ const inlineImageDefaultStyles = {
6
6
  bottom: 0,
7
7
  left: 0
8
8
  };
9
- let timeout = null;
10
- function createImageElement(url, callback) {
11
- if (timeout) {
12
- clearTimeout(timeout);
9
+ const timeoutMap = new Map();
10
+ function createImageElement(targetNode, url, callback) {
11
+ if (timeoutMap.has(targetNode.orderIndex)) {
12
+ clearTimeout(timeoutMap.get(targetNode.orderIndex));
13
+ timeoutMap.delete(targetNode.orderIndex);
13
14
  }
14
- timeout = setTimeout(() => {
15
+ const timeout = setTimeout(() => {
15
16
  const imageContainer = document.createElement('span');
16
17
  imageContainer.contentEditable = 'false';
17
18
  imageContainer.setAttribute('data-type', 'inline-container');
@@ -21,7 +22,9 @@ function createImageElement(url, callback) {
21
22
  img.onload = () => callback(imageContainer);
22
23
  img.onerror = err => callback(imageContainer, err);
23
24
  img.src = url;
25
+ timeoutMap.delete(targetNode.orderIndex);
24
26
  }, INLINE_IMAGE_PREVIEW_DEBOUNCE_TIME_MS);
27
+ timeoutMap.set(targetNode.orderIndex, timeout);
25
28
  }
26
29
 
27
30
  /** Adds already loaded image element from current input content to the tree node */
@@ -67,7 +70,7 @@ function addInlineImagePreview(currentInput, targetNode, text, ranges, markdownS
67
70
  marginBottom: `${imageMarginBottom}px`,
68
71
  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
69
72
  });
70
- createImageElement(imageHref, (imageContainer, err) => {
73
+ createImageElement(targetNode, imageHref, (imageContainer, err) => {
71
74
  // 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
72
75
  const currentSpinner = currentInput.querySelector('[data-type="spinner"]');
73
76
  // Remove the spinner
@@ -1 +1 @@
1
- {"version":3,"names":["parseStringWithUnitToNumber","createLoadingIndicator","INLINE_IMAGE_PREVIEW_DEBOUNCE_TIME_MS","inlineImageDefaultStyles","position","bottom","left","timeout","createImageElement","url","callback","clearTimeout","setTimeout","imageContainer","document","createElement","contentEditable","setAttribute","img","Image","appendChild","onload","onerror","err","src","updateImageTreeNode","targetNode","newElement","imageMarginTop","paddingBottom","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","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":["parseStringWithUnitToNumber","createLoadingIndicator","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","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","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 +1 @@
1
- {"version":3,"file":"inlineImage.d.ts","sourceRoot":"","sources":["../../../../../src/web/inputElements/inlineImage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAC/F,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAiDjD,mEAAmE;AACnE,iBAAS,qBAAqB,CAAC,YAAY,EAAE,wBAAwB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,oBAAoB,YA0EtK;AAGD,OAAO,EAAC,qBAAqB,EAAC,CAAC"}
1
+ {"version":3,"file":"inlineImage.d.ts","sourceRoot":"","sources":["../../../../../src/web/inputElements/inlineImage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAC/F,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAoDjD,mEAAmE;AACnE,iBAAS,qBAAqB,CAAC,YAAY,EAAE,wBAAwB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,oBAAoB,YA0EtK;AAGD,OAAO,EAAC,qBAAqB,EAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expensify/react-native-live-markdown",
3
- "version": "0.1.154",
3
+ "version": "0.1.155",
4
4
  "description": "Drop-in replacement for React Native's TextInput component with Markdown formatting.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -13,14 +13,15 @@ const inlineImageDefaultStyles = {
13
13
  left: 0,
14
14
  };
15
15
 
16
- let timeout: NodeJS.Timeout | null = null;
16
+ const timeoutMap = new Map<string, NodeJS.Timeout>();
17
17
 
18
- function createImageElement(url: string, callback: (img: HTMLElement, err?: string | Event) => void) {
19
- if (timeout) {
20
- clearTimeout(timeout);
18
+ function createImageElement(targetNode: TreeNode, url: string, callback: (img: HTMLElement, err?: string | Event) => void) {
19
+ if (timeoutMap.has(targetNode.orderIndex)) {
20
+ clearTimeout(timeoutMap.get(targetNode.orderIndex));
21
+ timeoutMap.delete(targetNode.orderIndex);
21
22
  }
22
23
 
23
- timeout = setTimeout(() => {
24
+ const timeout = setTimeout(() => {
24
25
  const imageContainer = document.createElement('span');
25
26
  imageContainer.contentEditable = 'false';
26
27
  imageContainer.setAttribute('data-type', 'inline-container');
@@ -32,7 +33,9 @@ function createImageElement(url: string, callback: (img: HTMLElement, err?: stri
32
33
  img.onload = () => callback(imageContainer);
33
34
  img.onerror = (err) => callback(imageContainer, err);
34
35
  img.src = url;
36
+ timeoutMap.delete(targetNode.orderIndex);
35
37
  }, INLINE_IMAGE_PREVIEW_DEBOUNCE_TIME_MS);
38
+ timeoutMap.set(targetNode.orderIndex, timeout);
36
39
  }
37
40
 
38
41
  /** Adds already loaded image element from current input content to the tree node */
@@ -83,7 +86,7 @@ function addInlineImagePreview(currentInput: MarkdownTextInputElement, targetNod
83
86
  paddingBottom: markdownStyle.loadingIndicatorContainer?.height || markdownStyle.loadingIndicator?.height || (!!markdownStyle.loadingIndicator && '30px') || undefined,
84
87
  });
85
88
 
86
- createImageElement(imageHref, (imageContainer, err) => {
89
+ createImageElement(targetNode, imageHref, (imageContainer, err) => {
87
90
  // 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
88
91
  const currentSpinner = currentInput.querySelector('[data-type="spinner"]');
89
92
  // Remove the spinner