@expensify/react-native-live-markdown 0.1.144 → 0.1.145
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 +3 -3
- package/lib/commonjs/MarkdownTextInput.web.js.map +1 -1
- package/lib/commonjs/MarkdownTextInputDecoratorViewNativeComponent.js.map +1 -1
- package/lib/commonjs/styleUtils.js +18 -1
- package/lib/commonjs/styleUtils.js.map +1 -1
- package/lib/commonjs/web/MarkdownTextInput.css +17 -0
- package/lib/commonjs/web/inputElements/inlineImage.js +104 -0
- package/lib/commonjs/web/inputElements/inlineImage.js.map +1 -0
- package/lib/commonjs/web/inputElements/loadingIndicator.js +52 -0
- package/lib/commonjs/web/inputElements/loadingIndicator.js.map +1 -0
- package/lib/commonjs/web/utils/animationUtils.js +55 -0
- package/lib/commonjs/web/utils/animationUtils.js.map +1 -0
- package/lib/commonjs/web/utils/blockUtils.js +32 -3
- package/lib/commonjs/web/utils/blockUtils.js.map +1 -1
- package/lib/commonjs/web/utils/inputUtils.js +12 -3
- package/lib/commonjs/web/utils/inputUtils.js.map +1 -1
- package/lib/commonjs/web/utils/parserUtils.js +25 -3
- package/lib/commonjs/web/utils/parserUtils.js.map +1 -1
- package/lib/commonjs/web/utils/treeUtils.js +1 -1
- package/lib/commonjs/web/utils/treeUtils.js.map +1 -1
- package/lib/module/MarkdownTextInput.web.js +3 -3
- package/lib/module/MarkdownTextInput.web.js.map +1 -1
- package/lib/module/MarkdownTextInputDecoratorViewNativeComponent.js.map +1 -1
- package/lib/module/styleUtils.js +18 -2
- package/lib/module/styleUtils.js.map +1 -1
- package/lib/module/web/MarkdownTextInput.css +17 -0
- package/lib/module/web/inputElements/inlineImage.js +99 -0
- package/lib/module/web/inputElements/inlineImage.js.map +1 -0
- package/lib/module/web/inputElements/loadingIndicator.js +47 -0
- package/lib/module/web/inputElements/loadingIndicator.js.map +1 -0
- package/lib/module/web/utils/animationUtils.js +49 -0
- package/lib/module/web/utils/animationUtils.js.map +1 -0
- package/lib/module/web/utils/blockUtils.js +30 -4
- package/lib/module/web/utils/blockUtils.js.map +1 -1
- package/lib/module/web/utils/inputUtils.js +12 -3
- package/lib/module/web/utils/inputUtils.js.map +1 -1
- package/lib/module/web/utils/parserUtils.js +26 -4
- package/lib/module/web/utils/parserUtils.js.map +1 -1
- package/lib/module/web/utils/treeUtils.js +1 -1
- package/lib/module/web/utils/treeUtils.js.map +1 -1
- package/lib/parser/react-native-live-markdown-parser.js +15 -15
- package/lib/typescript/src/MarkdownTextInput.web.d.ts.map +1 -1
- package/lib/typescript/src/MarkdownTextInputDecoratorViewNativeComponent.d.ts +21 -0
- package/lib/typescript/src/MarkdownTextInputDecoratorViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/commonTypes.d.ts +1 -1
- package/lib/typescript/src/commonTypes.d.ts.map +1 -1
- package/lib/typescript/src/styleUtils.d.ts +2 -1
- package/lib/typescript/src/styleUtils.d.ts.map +1 -1
- package/lib/typescript/src/web/inputElements/inlineImage.d.ts +8 -0
- package/lib/typescript/src/web/inputElements/inlineImage.d.ts.map +1 -0
- package/lib/typescript/src/web/inputElements/loadingIndicator.d.ts +5 -0
- package/lib/typescript/src/web/inputElements/loadingIndicator.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/animationUtils.d.ts +12 -0
- package/lib/typescript/src/web/utils/animationUtils.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/blockUtils.d.ts +7 -2
- package/lib/typescript/src/web/utils/blockUtils.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/inputUtils.d.ts +1 -1
- package/lib/typescript/src/web/utils/inputUtils.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/parserUtils.d.ts +2 -2
- package/lib/typescript/src/web/utils/parserUtils.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/treeUtils.d.ts +1 -1
- package/lib/typescript/src/web/utils/treeUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/parser/react-native-live-markdown-parser.js +15 -15
- package/src/MarkdownTextInput.web.tsx +5 -3
- package/src/MarkdownTextInputDecoratorViewNativeComponent.ts +21 -0
- package/src/commonTypes.ts +15 -1
- package/src/styleUtils.ts +20 -2
- package/src/web/MarkdownTextInput.css +17 -0
- package/src/web/inputElements/inlineImage.ts +114 -0
- package/src/web/inputElements/loadingIndicator.ts +52 -0
- package/src/web/utils/animationUtils.ts +59 -0
- package/src/web/utils/blockUtils.ts +44 -3
- package/src/web/utils/inputUtils.ts +10 -3
- package/src/web/utils/parserUtils.ts +37 -3
- package/src/web/utils/treeUtils.ts +2 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { addInlineImagePreview } from '../inputElements/inlineImage';
|
|
1
2
|
function addStyleToBlock(targetElement, type, markdownStyle) {
|
|
2
3
|
const node = targetElement;
|
|
3
4
|
switch (type) {
|
|
@@ -52,7 +53,8 @@ function addStyleToBlock(targetElement, type, markdownStyle) {
|
|
|
52
53
|
borderLeftStyle: 'solid',
|
|
53
54
|
display: 'inline-block',
|
|
54
55
|
maxWidth: '100%',
|
|
55
|
-
boxSizing: 'border-box'
|
|
56
|
+
boxSizing: 'border-box',
|
|
57
|
+
overflowWrap: 'anywhere'
|
|
56
58
|
});
|
|
57
59
|
break;
|
|
58
60
|
case 'h1':
|
|
@@ -61,11 +63,35 @@ function addStyleToBlock(targetElement, type, markdownStyle) {
|
|
|
61
63
|
fontWeight: 'bold'
|
|
62
64
|
});
|
|
63
65
|
break;
|
|
66
|
+
case 'block':
|
|
67
|
+
Object.assign(node.style, {
|
|
68
|
+
display: 'block',
|
|
69
|
+
margin: '0',
|
|
70
|
+
padding: '0',
|
|
71
|
+
position: 'relative'
|
|
72
|
+
});
|
|
73
|
+
break;
|
|
74
|
+
default:
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const BLOCK_MARKDOWN_TYPES = ['inline-image'];
|
|
79
|
+
const FULL_LINE_MARKDOWN_TYPES = ['blockquote', 'h1'];
|
|
80
|
+
function isBlockMarkdownType(type) {
|
|
81
|
+
return BLOCK_MARKDOWN_TYPES.includes(type);
|
|
82
|
+
}
|
|
83
|
+
function getFirstBlockMarkdownRange(ranges) {
|
|
84
|
+
const blockMarkdownRange = ranges.find(r => isBlockMarkdownType(r.type) || FULL_LINE_MARKDOWN_TYPES.includes(r.type));
|
|
85
|
+
return FULL_LINE_MARKDOWN_TYPES.includes((blockMarkdownRange === null || blockMarkdownRange === void 0 ? void 0 : blockMarkdownRange.type) || '') ? undefined : blockMarkdownRange;
|
|
86
|
+
}
|
|
87
|
+
function extendBlockStructure(currentInput, targetNode, currentRange, ranges, text, markdownStyle) {
|
|
88
|
+
switch (currentRange.type) {
|
|
89
|
+
case 'inline-image':
|
|
90
|
+
return addInlineImagePreview(currentInput, targetNode, text, ranges, markdownStyle);
|
|
64
91
|
default:
|
|
65
92
|
break;
|
|
66
93
|
}
|
|
94
|
+
return targetNode;
|
|
67
95
|
}
|
|
68
|
-
|
|
69
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
70
|
-
export { addStyleToBlock };
|
|
96
|
+
export { addStyleToBlock, extendBlockStructure, isBlockMarkdownType, getFirstBlockMarkdownRange };
|
|
71
97
|
//# sourceMappingURL=blockUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["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","h1"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"names":["addInlineImagePreview","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"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ function normalizeValue(value) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
// Parses the HTML structure of a MarkdownTextInputElement to a plain text string. Used for getting the correct value of the input element.
|
|
34
|
-
function parseInnerHTMLToText(target) {
|
|
34
|
+
function parseInnerHTMLToText(target, inputType, cursorPosition) {
|
|
35
35
|
// Returns the parent of a given node that is higher in the hierarchy and is of a different type than 'text', 'br' or 'line'
|
|
36
36
|
function getTopParentNode(node) {
|
|
37
37
|
let currentParentNode = node.parentNode;
|
|
@@ -63,7 +63,10 @@ function parseInnerHTMLToText(target) {
|
|
|
63
63
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
64
64
|
shouldAddNewline = false;
|
|
65
65
|
} else {
|
|
66
|
-
|
|
66
|
+
var _firstChild$getAttrib;
|
|
67
|
+
const firstChild = node.firstChild;
|
|
68
|
+
const containsEmptyBlockElement = (firstChild === null || firstChild === void 0 || (_firstChild$getAttrib = firstChild.getAttribute) === null || _firstChild$getAttrib === void 0 ? void 0 : _firstChild$getAttrib.call(firstChild, 'data-type')) === 'block' && firstChild.textContent === '';
|
|
69
|
+
if (shouldAddNewline && !containsEmptyBlockElement) {
|
|
67
70
|
text += '\n';
|
|
68
71
|
shouldAddNewline = false;
|
|
69
72
|
}
|
|
@@ -93,7 +96,13 @@ function parseInnerHTMLToText(target) {
|
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
|
-
|
|
99
|
+
text = text.replaceAll('\r\n', '\n');
|
|
100
|
+
|
|
101
|
+
// Force letter removal if the input value haven't changed but input type is 'delete'
|
|
102
|
+
if (text === target.value && inputType.includes('delete')) {
|
|
103
|
+
text = text.slice(0, cursorPosition - 1) + text.slice(cursorPosition);
|
|
104
|
+
}
|
|
105
|
+
return text;
|
|
97
106
|
}
|
|
98
107
|
export { isEventComposing, getPlaceholderValue, getElementHeight, parseInnerHTMLToText, normalizeValue };
|
|
99
108
|
//# sourceMappingURL=inputUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ZERO_WIDTH_SPACE","isEventComposing","nativeEvent","isComposing","keyCode","getPlaceholderValue","placeholder","length","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","Object","assign","style","textContent","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","normalizeValue","value","replaceAll","parseInnerHTMLToText","target","getTopParentNode","currentParentNode","parentNode","includes","_currentParentNode$pa","getAttribute","_currentParentNode","stack","text","shouldAddNewline","lastNode","childNodes","nodeName","innerHTML","_node$parentElement","pop","isTopComponent","contentEditable","nodeType","Node","TEXT_NODE","_parentNode$parentEle","i","child","push"],"sourceRoot":"../../../../src","sources":["web/utils/inputUtils.ts"],"mappings":"AAGA,MAAMA,gBAAgB,GAAG,QAAQ;;AAEjC;AACA;AACA,SAASC,gBAAgBA,CAACC,WAAqC,EAAE;EAC/D,OAAOA,WAAW,CAACC,WAAW,IAAID,WAAW,CAACE,OAAO,KAAK,GAAG;AAC/D;AAEA,SAASC,mBAAmBA,CAACC,WAA+B,EAAE;EAC5D,IAAI,CAACA,WAAW,EAAE;IAChB,OAAON,gBAAgB;EACzB;EACA,OAAOM,WAAW,CAACC,MAAM,GAAGD,WAAW,GAAGN,gBAAgB;AAC5D;AAEA,SAASQ,gBAAgBA,CAACC,IAAoB,EAAEC,MAAqB,EAAEC,aAAiC,EAAE;EACxG,IAAIA,aAAa,EAAE;IACjB,MAAMC,WAAW,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;IACjDF,WAAW,CAACG,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnDC,MAAM,CAACC,MAAM,CAACL,WAAW,CAACM,KAAK,EAAER,MAAM,CAAC;IACxCE,WAAW,CAACO,WAAW,GAAGC,KAAK,CAACT,aAAa,CAAC,CAACU,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACnE,IAAIb,IAAI,CAACc,aAAa,EAAE;MACtBd,IAAI,CAACc,aAAa,CAACC,WAAW,CAACZ,WAAW,CAAC;MAC3C,MAAMa,MAAM,GAAGb,WAAW,CAACc,YAAY;MACvCjB,IAAI,CAACc,aAAa,CAACI,WAAW,CAACf,WAAW,CAAC;MAC3C,OAAOa,MAAM,GAAI,GAAEA,MAAO,IAAG,GAAG,MAAM;IACxC;EACF;EACA,OAAOf,MAAM,CAACe,MAAM,GAAI,GAAEf,MAAM,CAACe,MAAO,IAAG,GAAG,MAAM;AACtD;AAEA,SAASG,cAAcA,CAACC,KAAa,EAAE;EACrC,OAAOA,KAAK,CAACC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;AACvC;;AAEA;AACA,SAASC,oBAAoBA,CAACC,MAAgC,EAAU;
|
|
1
|
+
{"version":3,"names":["ZERO_WIDTH_SPACE","isEventComposing","nativeEvent","isComposing","keyCode","getPlaceholderValue","placeholder","length","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","Object","assign","style","textContent","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","normalizeValue","value","replaceAll","parseInnerHTMLToText","target","inputType","cursorPosition","getTopParentNode","currentParentNode","parentNode","includes","_currentParentNode$pa","getAttribute","_currentParentNode","stack","text","shouldAddNewline","lastNode","childNodes","nodeName","innerHTML","_node$parentElement","pop","isTopComponent","contentEditable","nodeType","Node","TEXT_NODE","_firstChild$getAttrib","firstChild","containsEmptyBlockElement","call","_parentNode$parentEle","i","child","push","slice"],"sourceRoot":"../../../../src","sources":["web/utils/inputUtils.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { addNodeToTree, updateTreeElementRefs } from './treeUtils';
|
|
2
2
|
import { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition } from './cursorUtils';
|
|
3
|
-
import { addStyleToBlock } from './blockUtils';
|
|
3
|
+
import { addStyleToBlock, extendBlockStructure, getFirstBlockMarkdownRange, isBlockMarkdownType } from './blockUtils';
|
|
4
|
+
import { getAnimationCurrentTimes, updateAnimationsTime } from './animationUtils';
|
|
4
5
|
function ungroupRanges(ranges) {
|
|
5
6
|
const ungroupedRanges = [];
|
|
6
7
|
ranges.forEach(range => {
|
|
@@ -111,9 +112,15 @@ function addParagraph(node, text = null, length, disableInlineStyles = false) {
|
|
|
111
112
|
}
|
|
112
113
|
return pNode;
|
|
113
114
|
}
|
|
115
|
+
function addBlockWrapper(targetNode, length, markdownStyle) {
|
|
116
|
+
const span = document.createElement('span');
|
|
117
|
+
span.setAttribute('data-type', 'block');
|
|
118
|
+
addStyleToBlock(span, 'block', markdownStyle);
|
|
119
|
+
return appendNode(span, targetNode, 'block', length);
|
|
120
|
+
}
|
|
114
121
|
|
|
115
122
|
/** Builds HTML DOM structure based on passed text and markdown ranges */
|
|
116
|
-
function parseRangesToHTMLNodes(text, ranges, markdownStyle = {}, disableInlineStyles = false) {
|
|
123
|
+
function parseRangesToHTMLNodes(text, ranges, isMultiline = true, markdownStyle = {}, disableInlineStyles = false, currentInput = null) {
|
|
117
124
|
const rootElement = document.createElement('span');
|
|
118
125
|
const textLength = text.length;
|
|
119
126
|
const rootNode = {
|
|
@@ -155,6 +162,7 @@ function parseRangesToHTMLNodes(text, ranges, markdownStyle = {}, disableInlineS
|
|
|
155
162
|
if (line.markdownRanges.length === 0) {
|
|
156
163
|
addTextToElement(currentParentNode, line.text);
|
|
157
164
|
}
|
|
165
|
+
let wasBlockGenerated = false;
|
|
158
166
|
lastRangeEndIndex = line.start;
|
|
159
167
|
const lineMarkdownRanges = line.markdownRanges;
|
|
160
168
|
// go through all markdown ranges in the line
|
|
@@ -166,6 +174,12 @@ function parseRangesToHTMLNodes(text, ranges, markdownStyle = {}, disableInlineS
|
|
|
166
174
|
const endOfCurrentRange = range.start + range.length;
|
|
167
175
|
const nextRangeStartIndex = lineMarkdownRanges.length > 0 && !!lineMarkdownRanges[0] ? lineMarkdownRanges[0].start || 0 : textLength;
|
|
168
176
|
|
|
177
|
+
// wrap all elements before the first block type markdown range with a span element
|
|
178
|
+
const blockRange = getFirstBlockMarkdownRange([range, ...lineMarkdownRanges]);
|
|
179
|
+
if (!wasBlockGenerated && blockRange) {
|
|
180
|
+
currentParentNode = addBlockWrapper(currentParentNode, line.text.substring(lastRangeEndIndex - line.start, blockRange.start + blockRange.length - line.start).length, markdownStyle);
|
|
181
|
+
wasBlockGenerated = true;
|
|
182
|
+
}
|
|
169
183
|
// add text before the markdown range
|
|
170
184
|
const textBeforeRange = line.text.substring(lastRangeEndIndex - line.start, range.start - line.start);
|
|
171
185
|
if (textBeforeRange) {
|
|
@@ -179,6 +193,9 @@ function parseRangesToHTMLNodes(text, ranges, markdownStyle = {}, disableInlineS
|
|
|
179
193
|
addStyleToBlock(span, range.type, markdownStyle);
|
|
180
194
|
}
|
|
181
195
|
const spanNode = appendNode(span, currentParentNode, range.type, range.length);
|
|
196
|
+
if (isMultiline && !disableInlineStyles && currentInput) {
|
|
197
|
+
currentParentNode = extendBlockStructure(currentInput, currentParentNode, range, lineMarkdownRanges, text, markdownStyle);
|
|
198
|
+
}
|
|
182
199
|
if (lineMarkdownRanges.length > 0 && nextRangeStartIndex < endOfCurrentRange && range.type !== 'syntax') {
|
|
183
200
|
// tag nesting
|
|
184
201
|
currentParentNode = spanNode;
|
|
@@ -198,6 +215,9 @@ function parseRangesToHTMLNodes(text, ranges, markdownStyle = {}, disableInlineS
|
|
|
198
215
|
if (currentParentNode.parentNode.type !== 'root') {
|
|
199
216
|
currentParentNode.parentNode.element.value = currentParentNode.element.value || '';
|
|
200
217
|
}
|
|
218
|
+
if (isBlockMarkdownType(currentParentNode.type)) {
|
|
219
|
+
wasBlockGenerated = false;
|
|
220
|
+
}
|
|
201
221
|
currentParentNode = currentParentNode.parentNode || rootNode;
|
|
202
222
|
}
|
|
203
223
|
}
|
|
@@ -218,7 +238,7 @@ function moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, target)
|
|
|
218
238
|
setCursorPosition(target, cursorPosition);
|
|
219
239
|
}
|
|
220
240
|
}
|
|
221
|
-
function updateInputStructure(target, text, cursorPositionIndex, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false) {
|
|
241
|
+
function updateInputStructure(target, text, cursorPositionIndex, isMultiline = true, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false) {
|
|
222
242
|
const targetElement = target;
|
|
223
243
|
|
|
224
244
|
// in case the cursorPositionIndex is larger than text length, cursorPosition will be null, i.e: move the caret to the end
|
|
@@ -239,11 +259,13 @@ function updateInputStructure(target, text, cursorPositionIndex, markdownStyle =
|
|
|
239
259
|
const {
|
|
240
260
|
dom,
|
|
241
261
|
tree
|
|
242
|
-
} = parseRangesToHTMLNodes(text, markdownRanges, markdownStyle);
|
|
262
|
+
} = parseRangesToHTMLNodes(text, markdownRanges, isMultiline, markdownStyle, false, targetElement);
|
|
243
263
|
if (shouldForceDOMUpdate || targetElement.innerHTML !== dom.innerHTML) {
|
|
264
|
+
const animationTimes = getAnimationCurrentTimes(targetElement);
|
|
244
265
|
targetElement.innerHTML = '';
|
|
245
266
|
targetElement.innerText = '';
|
|
246
267
|
targetElement.innerHTML = dom.innerHTML;
|
|
268
|
+
updateAnimationsTime(targetElement, animationTimes);
|
|
247
269
|
}
|
|
248
270
|
updateTreeElementRefs(tree, targetElement);
|
|
249
271
|
targetElement.tree = tree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addNodeToTree","updateTreeElementRefs","getCurrentCursorPosition","moveCursorToEnd","setCursorPosition","addStyleToBlock","ungroupRanges","ranges","ungroupedRanges","forEach","range","depth","push","rangeWithoutDepth","Array","from","length","splitTextIntoLines","text","lineStartIndex","lines","split","map","line","lineObject","start","markdownRanges","mergeLinesWithMultilineTags","mergedLines","lineIndexes","_line","index","beginLineIndex","findLastIndex","endLineIndex","findIndex","correspondingLineIndexes","slice","mainLineIndex","mainLine","otherLineIndexes","lineIndex","otherLine","filter","includes","appendValueToElement","element","parentTreeNode","value","targetElement","parentNode","appendNode","type","node","appendChild","addBrElement","span","document","createElement","setAttribute","spanNode","addTextToElement","createTextNode","addParagraph","disableInlineStyles","p","pNode","parseRangesToHTMLNodes","markdownStyle","rootElement","textLength","rootNode","childNodes","orderIndex","isGeneratingNewline","currentParentNode","dom","tree","lastRangeEndIndex","shift","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","textBeforeRange","substring","textAfterRange","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","updateInputStructure","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","global","parseExpensiMarkToRanges","innerHTML","innerText"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["addNodeToTree","updateTreeElementRefs","getCurrentCursorPosition","moveCursorToEnd","setCursorPosition","addStyleToBlock","extendBlockStructure","getFirstBlockMarkdownRange","isBlockMarkdownType","getAnimationCurrentTimes","updateAnimationsTime","ungroupRanges","ranges","ungroupedRanges","forEach","range","depth","push","rangeWithoutDepth","Array","from","length","splitTextIntoLines","text","lineStartIndex","lines","split","map","line","lineObject","start","markdownRanges","mergeLinesWithMultilineTags","mergedLines","lineIndexes","_line","index","beginLineIndex","findLastIndex","endLineIndex","findIndex","correspondingLineIndexes","slice","mainLineIndex","mainLine","otherLineIndexes","lineIndex","otherLine","filter","includes","appendValueToElement","element","parentTreeNode","value","targetElement","parentNode","appendNode","type","node","appendChild","addBrElement","span","document","createElement","setAttribute","spanNode","addTextToElement","createTextNode","addParagraph","disableInlineStyles","p","pNode","addBlockWrapper","targetNode","markdownStyle","parseRangesToHTMLNodes","isMultiline","currentInput","rootElement","textLength","rootNode","childNodes","orderIndex","isGeneratingNewline","currentParentNode","dom","tree","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","substring","textBeforeRange","textAfterRange","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","updateInputStructure","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","global","parseExpensiMarkToRanges","innerHTML","innerText","animationTimes"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ function addNodeToTree(element, parentTreeNode, type, length = null) {
|
|
|
8
8
|
const lastParentChild = parentTreeNode.childNodes[parentChildrenCount - 1];
|
|
9
9
|
if (lastParentChild) {
|
|
10
10
|
startIndex = lastParentChild.start + lastParentChild.length;
|
|
11
|
-
startIndex += lastParentChild.isGeneratingNewline || element.style.display === 'block' ? 1 : 0;
|
|
11
|
+
startIndex += lastParentChild.isGeneratingNewline || type !== 'block' && element.style.display === 'block' ? 1 : 0;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
const item = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addNodeToTree","element","parentTreeNode","type","length","_element$value","_element$childNodes$","_element$childNodes$$","contentLength","nodeName","value","isGeneratingNewline","childNodes","getAttribute","call","parentChildrenCount","startIndex","start","lastParentChild","style","display","item","parentNode","orderIndex","setAttribute","push","updateTreeElementRefs","treeRoot","stack","node","pop","currentElement","querySelector","forEach","child","findHTMLElementInTree","_element$hasAttribute","_element$hasAttribute2","_element$getAttribute","hasAttribute","indexes","split","el","index","Number","shift","getTreeNodeByIndex","i","newLineGenerated"],"sourceRoot":"../../../../src","sources":["web/utils/treeUtils.ts"],"mappings":"AAcA,SAASA,aAAaA,CAACC,OAA4B,EAAEC,cAAwB,EAAEC,IAAc,EAAEC,MAAqB,GAAG,IAAI,EAAE;EAAA,IAAAC,cAAA,EAAAC,oBAAA,EAAAC,qBAAA;EAC3H,MAAMC,aAAa,GAAGJ,MAAM,KAAKH,OAAO,CAACQ,QAAQ,KAAK,IAAI,IAAIN,IAAI,KAAK,IAAI,GAAG,CAAC,IAAAE,cAAA,GAAGJ,OAAO,CAACS,KAAK,cAAAL,cAAA,uBAAbA,cAAA,CAAeD,MAAM,CAAC,IAAI,CAAC;EAC7G,MAAMO,mBAAmB,GAAGR,IAAI,KAAK,MAAM,IAAI,EAAEF,OAAO,CAACW,UAAU,CAACR,MAAM,KAAK,CAAC,IAAI,EAAAE,oBAAA,GAACL,OAAO,CAACW,UAAU,CAAC,CAAC,CAAC,cAAAN,oBAAA,gBAAAC,qBAAA,GAAtBD,oBAAA,CAAwCO,YAAY,cAAAN,qBAAA,uBAApDA,qBAAA,CAAAO,IAAA,CAAAR,oBAAA,EAAuD,WAAW,CAAC,MAAK,IAAI,CAAC;EACjK,MAAMS,mBAAmB,GAAG,CAAAb,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEU,UAAU,CAACR,MAAM,KAAI,CAAC;EAClE,IAAIY,UAAU,GAAGd,cAAc,CAACe,KAAK;EACrC,IAAIF,mBAAmB,GAAG,CAAC,EAAE;IAC3B,MAAMG,eAAe,GAAGhB,cAAc,CAACU,UAAU,CAACG,mBAAmB,GAAG,CAAC,CAAC;IAC1E,IAAIG,eAAe,EAAE;MACnBF,UAAU,GAAGE,eAAe,CAACD,KAAK,GAAGC,eAAe,CAACd,MAAM;MAC3DY,UAAU,IAAIE,eAAe,CAACP,mBAAmB,
|
|
1
|
+
{"version":3,"names":["addNodeToTree","element","parentTreeNode","type","length","_element$value","_element$childNodes$","_element$childNodes$$","contentLength","nodeName","value","isGeneratingNewline","childNodes","getAttribute","call","parentChildrenCount","startIndex","start","lastParentChild","style","display","item","parentNode","orderIndex","setAttribute","push","updateTreeElementRefs","treeRoot","stack","node","pop","currentElement","querySelector","forEach","child","findHTMLElementInTree","_element$hasAttribute","_element$hasAttribute2","_element$getAttribute","hasAttribute","indexes","split","el","index","Number","shift","getTreeNodeByIndex","i","newLineGenerated"],"sourceRoot":"../../../../src","sources":["web/utils/treeUtils.ts"],"mappings":"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"}
|