@expensify/react-native-live-markdown 0.1.187 → 0.1.189
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/README.md +55 -8
- package/RNLiveMarkdown.podspec +2 -4
- package/android/build.gradle +4 -9
- package/android/src/main/cpp/CMakeLists.txt +14 -6
- package/android/src/main/cpp/MarkdownUtils.cpp +13 -24
- package/android/src/main/cpp/MarkdownUtils.h +2 -7
- package/android/src/main/cpp/OnLoad.cpp +6 -0
- package/android/src/main/java/com/expensify/livemarkdown/CustomFabricUIManager.java +2 -2
- package/android/src/main/java/com/expensify/livemarkdown/CustomMountingManager.java +4 -6
- package/android/src/main/java/com/expensify/livemarkdown/LiveMarkdownModule.java +12 -0
- package/android/src/main/java/com/expensify/livemarkdown/MarkdownTextInputDecoratorView.java +17 -3
- package/android/src/main/java/com/expensify/livemarkdown/MarkdownTextInputDecoratorViewManager.java +6 -0
- package/android/src/main/java/com/expensify/livemarkdown/MarkdownUtils.java +21 -34
- package/android/src/main/new_arch/MarkdownCommitHook.cpp +7 -4
- package/android/src/main/new_arch/MarkdownCommitHook.h +2 -0
- package/android/src/newarch/LiveMarkdownModuleSpec.java +9 -0
- package/android/src/oldarch/LiveMarkdownModuleSpec.java +12 -0
- package/android/src/oldarch/MarkdownTextInputDecoratorViewManagerSpec.java +1 -0
- package/apple/LiveMarkdownModule.h +16 -0
- package/apple/{RCTLiveMarkdownModule.mm → LiveMarkdownModule.mm} +31 -17
- package/apple/MarkdownCommitHook.mm +2 -0
- package/apple/MarkdownTextInputDecoratorComponentView.mm +4 -0
- package/apple/MarkdownTextInputDecoratorView.h +2 -0
- package/apple/MarkdownTextInputDecoratorView.mm +13 -0
- package/apple/MarkdownTextInputDecoratorViewManager.mm +9 -0
- package/apple/RCTMarkdownUtils.h +1 -0
- package/apple/RCTMarkdownUtils.mm +43 -45
- package/cpp/MarkdownGlobal.cpp +45 -0
- package/cpp/MarkdownGlobal.h +24 -0
- package/cpp/RuntimeDecorator.cpp +43 -0
- package/cpp/RuntimeDecorator.h +13 -0
- package/lib/commonjs/MarkdownTextInput.js +43 -2
- package/lib/commonjs/MarkdownTextInput.js.map +1 -1
- package/lib/commonjs/MarkdownTextInput.web.js +20 -14
- package/lib/commonjs/MarkdownTextInput.web.js.map +1 -1
- package/lib/commonjs/MarkdownTextInputDecoratorViewNativeComponent.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/parseExpensiMark.js +263 -0
- package/lib/commonjs/parseExpensiMark.js.map +1 -0
- package/lib/commonjs/web/utils/parserUtils.js +2 -2
- package/lib/commonjs/web/utils/parserUtils.js.map +1 -1
- package/lib/module/MarkdownTextInput.js +43 -2
- package/lib/module/MarkdownTextInput.js.map +1 -1
- package/lib/module/MarkdownTextInput.web.js +20 -14
- package/lib/module/MarkdownTextInput.web.js.map +1 -1
- package/lib/module/MarkdownTextInputDecoratorViewNativeComponent.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/parseExpensiMark.js +258 -0
- package/lib/module/parseExpensiMark.js.map +1 -0
- package/lib/module/web/utils/parserUtils.js +2 -2
- package/lib/module/web/utils/parserUtils.js.map +1 -1
- package/lib/typescript/src/MarkdownTextInput.d.ts +9 -1
- package/lib/typescript/src/MarkdownTextInput.d.ts.map +1 -1
- package/lib/typescript/src/MarkdownTextInput.web.d.ts +2 -1
- package/lib/typescript/src/MarkdownTextInput.web.d.ts.map +1 -1
- package/lib/typescript/src/MarkdownTextInputDecoratorViewNativeComponent.d.ts +2 -1
- package/lib/typescript/src/MarkdownTextInputDecoratorViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/parseExpensiMark.d.ts +4 -0
- package/lib/typescript/src/parseExpensiMark.d.ts.map +1 -0
- 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 +13 -10
- package/src/MarkdownTextInput.tsx +62 -2
- package/src/MarkdownTextInput.web.tsx +23 -15
- package/src/MarkdownTextInputDecoratorViewNativeComponent.ts +2 -1
- package/src/index.tsx +2 -0
- package/src/parseExpensiMark.ts +277 -0
- package/src/web/utils/parserUtils.ts +2 -1
- package/apple/RCTLiveMarkdownModule.h +0 -16
- package/lib/parser/react-native-live-markdown-parser.js +0 -29
- package/parser/react-native-live-markdown-parser.js +0 -29
|
@@ -9,7 +9,6 @@ import './web/MarkdownTextInput.css';
|
|
|
9
9
|
import { getElementHeight, getPlaceholderValue, isEventComposing, normalizeValue, parseInnerHTMLToText } from './web/utils/inputUtils';
|
|
10
10
|
import { parseToReactDOMStyle, processMarkdownStyle } from './web/utils/webStyleUtils';
|
|
11
11
|
import { forceRefreshAllImages } from './web/inputElements/inlineImage';
|
|
12
|
-
require('../parser/react-native-live-markdown-parser.js');
|
|
13
12
|
const useClientEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;
|
|
14
13
|
let focusTimeout = null;
|
|
15
14
|
const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
@@ -25,6 +24,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
25
24
|
numberOfLines,
|
|
26
25
|
multiline = false,
|
|
27
26
|
markdownStyle,
|
|
27
|
+
parser,
|
|
28
28
|
onBlur,
|
|
29
29
|
onChange,
|
|
30
30
|
onChangeText,
|
|
@@ -49,6 +49,12 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
49
49
|
addAuthTokenToImageURLCallback,
|
|
50
50
|
imagePreviewAuthRequiredURLs
|
|
51
51
|
}, ref) => {
|
|
52
|
+
if (parser === undefined) {
|
|
53
|
+
throw new Error('[react-native-live-markdown] `parser` is undefined');
|
|
54
|
+
}
|
|
55
|
+
if (typeof parser !== 'function') {
|
|
56
|
+
throw new Error('[react-native-live-markdown] `parser` is not a function');
|
|
57
|
+
}
|
|
52
58
|
const compositionRef = useRef(false);
|
|
53
59
|
const divRef = useRef(null);
|
|
54
60
|
const currentlyFocusedField = useRef(null);
|
|
@@ -78,7 +84,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
78
84
|
}
|
|
79
85
|
return e;
|
|
80
86
|
}, []);
|
|
81
|
-
const parseText = useCallback((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true, shouldForceDOMUpdate = false, shouldScrollIntoView = false) => {
|
|
87
|
+
const parseText = useCallback((parserFunction, target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true, shouldForceDOMUpdate = false, shouldScrollIntoView = false) => {
|
|
82
88
|
if (!divRef.current) {
|
|
83
89
|
return {
|
|
84
90
|
text: text || '',
|
|
@@ -91,7 +97,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
91
97
|
cursorPosition: null
|
|
92
98
|
};
|
|
93
99
|
}
|
|
94
|
-
const parsedText = updateInputStructure(target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate, shouldScrollIntoView, {
|
|
100
|
+
const parsedText = updateInputStructure(parserFunction, target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate, shouldScrollIntoView, {
|
|
95
101
|
addAuthTokenToImageURLCallback,
|
|
96
102
|
imagePreviewAuthRequiredURLs
|
|
97
103
|
});
|
|
@@ -104,10 +110,10 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
104
110
|
const processedMarkdownStyle = useMemo(() => {
|
|
105
111
|
const newMarkdownStyle = processMarkdownStyle(markdownStyle);
|
|
106
112
|
if (divRef.current) {
|
|
107
|
-
parseText(divRef.current, divRef.current.value, newMarkdownStyle, null, false, false);
|
|
113
|
+
parseText(parser, divRef.current, divRef.current.value, newMarkdownStyle, null, false, false);
|
|
108
114
|
}
|
|
109
115
|
return newMarkdownStyle;
|
|
110
|
-
}, [markdownStyle, parseText]);
|
|
116
|
+
}, [parser, markdownStyle, parseText]);
|
|
111
117
|
const inputStyles = useMemo(() => StyleSheet.flatten([styles.defaultInputStyles, flattenedStyle && {
|
|
112
118
|
caretColor: flattenedStyle.color || 'black'
|
|
113
119
|
}, {
|
|
@@ -122,8 +128,8 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
122
128
|
}
|
|
123
129
|
const item = history.current.undo();
|
|
124
130
|
const undoValue = item ? item.text : null;
|
|
125
|
-
return parseText(target, undoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
126
|
-
}, [parseText, processedMarkdownStyle]);
|
|
131
|
+
return parseText(parser, target, undoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
132
|
+
}, [parser, parseText, processedMarkdownStyle]);
|
|
127
133
|
const redo = useCallback(target => {
|
|
128
134
|
if (!history.current) {
|
|
129
135
|
return {
|
|
@@ -133,8 +139,8 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
133
139
|
}
|
|
134
140
|
const item = history.current.redo();
|
|
135
141
|
const redoValue = item ? item.text : null;
|
|
136
|
-
return parseText(target, redoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
137
|
-
}, [parseText, processedMarkdownStyle]);
|
|
142
|
+
return parseText(parser, target, redoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
143
|
+
}, [parser, parseText, processedMarkdownStyle]);
|
|
138
144
|
|
|
139
145
|
// Placeholder text color logic
|
|
140
146
|
const updateTextColor = useCallback((node, text) => {
|
|
@@ -246,7 +252,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
246
252
|
newInputUpdate = redo(divRef.current);
|
|
247
253
|
break;
|
|
248
254
|
default:
|
|
249
|
-
newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType, inputType === 'pasteText');
|
|
255
|
+
newInputUpdate = parseText(parser, divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType, inputType === 'pasteText');
|
|
250
256
|
}
|
|
251
257
|
const {
|
|
252
258
|
text,
|
|
@@ -290,7 +296,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
290
296
|
onChangeText(text);
|
|
291
297
|
}
|
|
292
298
|
handleContentSizeChange();
|
|
293
|
-
}, [updateTextColor, updateSelection, onChange, onChangeText, handleContentSizeChange, undo, redo, parseText, processedMarkdownStyle, setEventProps, maxLength]);
|
|
299
|
+
}, [parser, updateTextColor, updateSelection, onChange, onChangeText, handleContentSizeChange, undo, redo, parseText, processedMarkdownStyle, setEventProps, maxLength]);
|
|
294
300
|
const insertText = useCallback((e, text) => {
|
|
295
301
|
if (!contentSelection.current || !divRef.current) {
|
|
296
302
|
return;
|
|
@@ -481,14 +487,14 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
481
487
|
return;
|
|
482
488
|
}
|
|
483
489
|
if (value === undefined) {
|
|
484
|
-
parseText(divRef.current, divRef.current.value, processedMarkdownStyle);
|
|
490
|
+
parseText(parser, divRef.current, divRef.current.value, processedMarkdownStyle);
|
|
485
491
|
return;
|
|
486
492
|
}
|
|
487
493
|
const normalizedValue = normalizeValue(value);
|
|
488
494
|
divRef.current.value = normalizedValue;
|
|
489
|
-
parseText(divRef.current, normalizedValue, processedMarkdownStyle, null, true, false, true);
|
|
495
|
+
parseText(parser, divRef.current, normalizedValue, processedMarkdownStyle, null, true, false, true);
|
|
490
496
|
updateTextColor(divRef.current, value);
|
|
491
|
-
}, [multiline, processedMarkdownStyle, value, maxLength]);
|
|
497
|
+
}, [parser, multiline, processedMarkdownStyle, value, maxLength]);
|
|
492
498
|
useClientEffect(function adjustHeight() {
|
|
493
499
|
if (!divRef.current || !multiline) {
|
|
494
500
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","updateInputStructure","InputHistory","getCurrentCursorPosition","removeSelection","setCursorPosition","getElementHeight","getPlaceholderValue","isEventComposing","normalizeValue","parseInnerHTMLToText","parseToReactDOMStyle","processMarkdownStyle","forceRefreshAllImages","require","useClientEffect","window","focusTimeout","MarkdownTextInput","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","maxLength","addAuthTokenToImageURLCallback","imagePreviewAuthRequiredURLs","ref","compositionRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","hasJustBeenFocused","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","e","text","target","nativeEvent","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","shouldScrollIntoView","parsedText","throttledAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","whiteSpace","disabledInputStyles","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","updateSelection","predefinedSelection","handleOnSelect","_contentSelection$cur","_contentSelection$cur2","handleContentSizeChange","_dimensions$current","offsetWidth","newWidth","offsetHeight","newHeight","height","width","contentSize","handleOnChangeText","HTMLElement","inputType","textContent","previousText","undefined","length","prevSelection","newCursorPosition","Math","max","newInputUpdate","addedText","slice","count","prevSelectionRange","before","insertText","insertedText","availableLength","prefix","substring","suffix","newText","document","execCommand","handleKeyPress","hostNode","stopPropagation","key","ctrlKey","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isComposing","isDefaultPrevented","setTimeout","blur","handleFocus","valueLength","scrollIntoView","block","clearTimeout","handleBlur","handleClick","handleCopy","_divRef$current","clipboardData","setData","handleCut","handlePaste","getData","startComposition","endComposition","setRef","currentRef","r","isFocused","activeElement","clear","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","maxHeight","focus","handleReconnect","addEventListener","removeEventListener","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","overflowY","overflowX","overflowWrap","opacity","cursor"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","updateInputStructure","InputHistory","getCurrentCursorPosition","removeSelection","setCursorPosition","getElementHeight","getPlaceholderValue","isEventComposing","normalizeValue","parseInnerHTMLToText","parseToReactDOMStyle","processMarkdownStyle","forceRefreshAllImages","useClientEffect","window","focusTimeout","MarkdownTextInput","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","clearTextOnFocus","dir","disabled","numberOfLines","multiline","markdownStyle","parser","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholder","placeholderTextColor","selectTextOnFocus","spellCheck","selection","style","value","autoFocus","onContentSizeChange","id","inputMode","onTouchStart","maxLength","addAuthTokenToImageURLCallback","imagePreviewAuthRequiredURLs","ref","undefined","Error","compositionRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","hasJustBeenFocused","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","e","text","target","nativeEvent","parseText","parserFunction","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","shouldScrollIntoView","parsedText","throttledAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","whiteSpace","disabledInputStyles","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","updateSelection","predefinedSelection","handleOnSelect","_contentSelection$cur","_contentSelection$cur2","handleContentSizeChange","_dimensions$current","offsetWidth","newWidth","offsetHeight","newHeight","height","width","contentSize","handleOnChangeText","HTMLElement","inputType","textContent","previousText","length","prevSelection","newCursorPosition","Math","max","newInputUpdate","addedText","slice","count","prevSelectionRange","before","insertText","insertedText","availableLength","prefix","substring","suffix","newText","document","execCommand","handleKeyPress","hostNode","stopPropagation","key","ctrlKey","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isComposing","isDefaultPrevented","setTimeout","blur","handleFocus","valueLength","scrollIntoView","block","clearTimeout","handleBlur","handleClick","handleCopy","_divRef$current","clipboardData","setData","handleCut","handlePaste","getData","startComposition","endComposition","setRef","currentRef","r","isFocused","activeElement","clear","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","maxHeight","focus","handleReconnect","addEventListener","removeEventListener","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","overflowY","overflowX","overflowWrap","opacity","cursor"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../src","sources":["MarkdownTextInputDecoratorViewNativeComponent.ts"],"mappings":"AAGA,OAAOA,sBAAsB,MAAM,yDAAyD;
|
|
1
|
+
{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../src","sources":["MarkdownTextInputDecoratorViewNativeComponent.ts"],"mappings":"AAGA,OAAOA,sBAAsB,MAAM,yDAAyD;AA4E5F,eAAeA,sBAAsB,CAAc,gCAAgC,EAAE;EACnFC,aAAa,EAAE;AACjB,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","MarkdownTextInput"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAAQA,OAAO,IAAIC,iBAAiB,QAAO,qBAAqB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["default","MarkdownTextInput","parseExpensiMark"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAAQA,OAAO,IAAIC,iBAAiB,QAAO,qBAAqB;AAGhE,SAAQD,OAAO,IAAIE,gBAAgB,QAAO,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
'worklet';
|
|
2
|
+
|
|
3
|
+
import { ExpensiMark } from 'expensify-common';
|
|
4
|
+
import { unescapeText } from 'expensify-common/dist/utils';
|
|
5
|
+
const MAX_PARSABLE_LENGTH = 4000;
|
|
6
|
+
function parseMarkdownToHTML(markdown) {
|
|
7
|
+
const parser = new ExpensiMark();
|
|
8
|
+
const html = parser.replace(markdown, {
|
|
9
|
+
shouldKeepRawInput: true
|
|
10
|
+
});
|
|
11
|
+
return html;
|
|
12
|
+
}
|
|
13
|
+
function parseHTMLToTokens(html) {
|
|
14
|
+
const tokens = [];
|
|
15
|
+
let left = 0;
|
|
16
|
+
// eslint-disable-next-line no-constant-condition
|
|
17
|
+
while (true) {
|
|
18
|
+
const open = html.indexOf('<', left);
|
|
19
|
+
if (open === -1) {
|
|
20
|
+
if (left < html.length) {
|
|
21
|
+
tokens.push(['TEXT', html.substring(left)]);
|
|
22
|
+
}
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
if (open !== left) {
|
|
26
|
+
tokens.push(['TEXT', html.substring(left, open)]);
|
|
27
|
+
}
|
|
28
|
+
const close = html.indexOf('>', open);
|
|
29
|
+
if (close === -1) {
|
|
30
|
+
throw new Error('[react-native-live-markdown] Error in function parseHTMLToTokens: Invalid HTML: no matching ">"');
|
|
31
|
+
}
|
|
32
|
+
tokens.push(['HTML', html.substring(open, close + 1)]);
|
|
33
|
+
left = close + 1;
|
|
34
|
+
}
|
|
35
|
+
return tokens;
|
|
36
|
+
}
|
|
37
|
+
function parseTokensToTree(tokens) {
|
|
38
|
+
const stack = [{
|
|
39
|
+
tag: '<>',
|
|
40
|
+
children: []
|
|
41
|
+
}];
|
|
42
|
+
tokens.forEach(([type, payload]) => {
|
|
43
|
+
if (type === 'TEXT') {
|
|
44
|
+
const text = unescapeText(payload);
|
|
45
|
+
const top = stack[stack.length - 1];
|
|
46
|
+
top.children.push(text);
|
|
47
|
+
} else if (type === 'HTML') {
|
|
48
|
+
if (payload.startsWith('</')) {
|
|
49
|
+
// closing tag
|
|
50
|
+
const child = stack.pop();
|
|
51
|
+
const top = stack[stack.length - 1];
|
|
52
|
+
top.children.push(child);
|
|
53
|
+
} else if (payload.endsWith('/>')) {
|
|
54
|
+
// self-closing tag
|
|
55
|
+
const top = stack[stack.length - 1];
|
|
56
|
+
top.children.push({
|
|
57
|
+
tag: payload,
|
|
58
|
+
children: []
|
|
59
|
+
});
|
|
60
|
+
} else {
|
|
61
|
+
// opening tag
|
|
62
|
+
stack.push({
|
|
63
|
+
tag: payload,
|
|
64
|
+
children: []
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
throw new Error(`[react-native-live-markdown] Error in function parseTokensToTree: Unknown token type: ${type}. Expected 'TEXT' or 'HTML'. Please ensure tokens only contain these types.`);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
if (stack.length !== 1) {
|
|
72
|
+
const unclosedTags = stack.length > 0 ? stack.slice(1).map(item => item.tag).join(', ') : '';
|
|
73
|
+
throw new Error(`[react-native-live-markdown] Invalid HTML structure: the following tags are not properly closed: ${unclosedTags}. Ensure each opening tag has a corresponding closing tag.`);
|
|
74
|
+
}
|
|
75
|
+
return stack[0];
|
|
76
|
+
}
|
|
77
|
+
function parseTreeToTextAndRanges(tree) {
|
|
78
|
+
let text = '';
|
|
79
|
+
function processChildren(node) {
|
|
80
|
+
if (typeof node === 'string') {
|
|
81
|
+
text += node;
|
|
82
|
+
} else {
|
|
83
|
+
node.children.forEach(dfs);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function appendSyntax(syntax) {
|
|
87
|
+
addChildrenWithStyle(syntax, 'syntax');
|
|
88
|
+
}
|
|
89
|
+
function addChildrenWithStyle(node, type) {
|
|
90
|
+
const start = text.length;
|
|
91
|
+
processChildren(node);
|
|
92
|
+
const end = text.length;
|
|
93
|
+
ranges.push({
|
|
94
|
+
type,
|
|
95
|
+
start,
|
|
96
|
+
length: end - start
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
const ranges = [];
|
|
100
|
+
function dfs(node) {
|
|
101
|
+
if (typeof node === 'string') {
|
|
102
|
+
text += node;
|
|
103
|
+
} else {
|
|
104
|
+
// eslint-disable-next-line no-lonely-if
|
|
105
|
+
if (node.tag === '<>') {
|
|
106
|
+
processChildren(node);
|
|
107
|
+
} else if (node.tag === '<strong>') {
|
|
108
|
+
appendSyntax('*');
|
|
109
|
+
addChildrenWithStyle(node, 'bold');
|
|
110
|
+
appendSyntax('*');
|
|
111
|
+
} else if (node.tag === '<em>') {
|
|
112
|
+
appendSyntax('_');
|
|
113
|
+
addChildrenWithStyle(node, 'italic');
|
|
114
|
+
appendSyntax('_');
|
|
115
|
+
} else if (node.tag === '<del>') {
|
|
116
|
+
appendSyntax('~');
|
|
117
|
+
addChildrenWithStyle(node, 'strikethrough');
|
|
118
|
+
appendSyntax('~');
|
|
119
|
+
} else if (node.tag === '<emoji>') {
|
|
120
|
+
addChildrenWithStyle(node, 'emoji');
|
|
121
|
+
} else if (node.tag === '<code>') {
|
|
122
|
+
appendSyntax('`');
|
|
123
|
+
addChildrenWithStyle(node, 'code');
|
|
124
|
+
appendSyntax('`');
|
|
125
|
+
} else if (node.tag === '<mention-here>') {
|
|
126
|
+
addChildrenWithStyle(node, 'mention-here');
|
|
127
|
+
} else if (node.tag === '<mention-user>') {
|
|
128
|
+
addChildrenWithStyle(node, 'mention-user');
|
|
129
|
+
} else if (node.tag === '<mention-report>') {
|
|
130
|
+
addChildrenWithStyle(node, 'mention-report');
|
|
131
|
+
} else if (node.tag === '<blockquote>') {
|
|
132
|
+
appendSyntax('>');
|
|
133
|
+
addChildrenWithStyle(node, 'blockquote');
|
|
134
|
+
// compensate for "> " at the beginning
|
|
135
|
+
if (ranges.length > 0) {
|
|
136
|
+
const curr = ranges[ranges.length - 1];
|
|
137
|
+
curr.start -= 1;
|
|
138
|
+
curr.length += 1;
|
|
139
|
+
}
|
|
140
|
+
} else if (node.tag === '<h1>') {
|
|
141
|
+
appendSyntax('# ');
|
|
142
|
+
addChildrenWithStyle(node, 'h1');
|
|
143
|
+
} else if (node.tag === '<br />') {
|
|
144
|
+
text += '\n';
|
|
145
|
+
} else if (node.tag.startsWith('<pre')) {
|
|
146
|
+
appendSyntax('```');
|
|
147
|
+
const content = node.children.join('').replaceAll(' ', ' ');
|
|
148
|
+
addChildrenWithStyle(content, 'pre');
|
|
149
|
+
appendSyntax('```');
|
|
150
|
+
} else if (node.tag.startsWith('<a href="')) {
|
|
151
|
+
const rawHref = node.tag.match(/href="([^"]*)"/)[1]; // always present
|
|
152
|
+
const href = unescapeText(rawHref);
|
|
153
|
+
const isLabeledLink = node.tag.match(/data-link-variant="([^"]*)"/)[1] === 'labeled';
|
|
154
|
+
const dataRawHref = node.tag.match(/data-raw-href="([^"]*)"/);
|
|
155
|
+
const matchString = dataRawHref ? unescapeText(dataRawHref[1]) : href;
|
|
156
|
+
if (!isLabeledLink && node.children.length === 1 && typeof node.children[0] === 'string' && (node.children[0] === matchString || `mailto:${node.children[0]}` === href)) {
|
|
157
|
+
addChildrenWithStyle(node.children[0], 'link');
|
|
158
|
+
} else {
|
|
159
|
+
appendSyntax('[');
|
|
160
|
+
processChildren(node);
|
|
161
|
+
appendSyntax('](');
|
|
162
|
+
addChildrenWithStyle(matchString, 'link');
|
|
163
|
+
appendSyntax(')');
|
|
164
|
+
}
|
|
165
|
+
} else if (node.tag.startsWith('<img src="')) {
|
|
166
|
+
const src = node.tag.match(/src="([^"]*)"/)[1]; // always present
|
|
167
|
+
const alt = node.tag.match(/alt="([^"]*)"/);
|
|
168
|
+
const hasAlt = node.tag.match(/data-link-variant="([^"]*)"/)[1] === 'labeled';
|
|
169
|
+
const rawLink = node.tag.match(/data-raw-href="([^"]*)"/);
|
|
170
|
+
const linkString = rawLink ? unescapeText(rawLink[1]) : src;
|
|
171
|
+
const start = text.length;
|
|
172
|
+
const length = 3 + (hasAlt ? 2 + unescapeText((alt === null || alt === void 0 ? void 0 : alt[1]) || '').length : 0) + linkString.length;
|
|
173
|
+
ranges.push({
|
|
174
|
+
type: 'inline-image',
|
|
175
|
+
start,
|
|
176
|
+
length
|
|
177
|
+
});
|
|
178
|
+
appendSyntax('!');
|
|
179
|
+
if (hasAlt) {
|
|
180
|
+
appendSyntax('[');
|
|
181
|
+
processChildren(unescapeText((alt === null || alt === void 0 ? void 0 : alt[1]) || ''));
|
|
182
|
+
appendSyntax(']');
|
|
183
|
+
}
|
|
184
|
+
appendSyntax('(');
|
|
185
|
+
addChildrenWithStyle(linkString, 'link');
|
|
186
|
+
appendSyntax(')');
|
|
187
|
+
} else if (node.tag.startsWith('<video data-expensify-source="')) {
|
|
188
|
+
const src = node.tag.match(/data-expensify-source="([^"]*)"/)[1]; // always present
|
|
189
|
+
const rawLink = node.tag.match(/data-raw-href="([^"]*)"/);
|
|
190
|
+
const hasAlt = node.tag.match(/data-link-variant="([^"]*)"/)[1] === 'labeled';
|
|
191
|
+
const linkString = rawLink ? unescapeText(rawLink[1]) : src;
|
|
192
|
+
appendSyntax('!');
|
|
193
|
+
if (hasAlt) {
|
|
194
|
+
appendSyntax('[');
|
|
195
|
+
node.children.forEach(child => processChildren(child));
|
|
196
|
+
appendSyntax(']');
|
|
197
|
+
}
|
|
198
|
+
appendSyntax('(');
|
|
199
|
+
addChildrenWithStyle(linkString, 'link');
|
|
200
|
+
appendSyntax(')');
|
|
201
|
+
} else {
|
|
202
|
+
throw new Error(`[react-native-live-markdown] Error in function parseTreeToTextAndRanges: Unknown tag '${node.tag}'. This tag is not supported in this function's logic.`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
dfs(tree);
|
|
207
|
+
return [text, ranges];
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
211
|
+
function getTagPriority(tag) {
|
|
212
|
+
switch (tag) {
|
|
213
|
+
case 'blockquote':
|
|
214
|
+
return 2;
|
|
215
|
+
case 'h1':
|
|
216
|
+
return 1;
|
|
217
|
+
default:
|
|
218
|
+
return 0;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
function sortRanges(ranges) {
|
|
222
|
+
// sort ranges by start position, then by length, then by tag hierarchy
|
|
223
|
+
return ranges.sort((a, b) => a.start - b.start || b.length - a.length || getTagPriority(b.type) - getTagPriority(a.type) || 0);
|
|
224
|
+
}
|
|
225
|
+
function groupRanges(ranges) {
|
|
226
|
+
const lastVisibleRangeIndex = {};
|
|
227
|
+
return ranges.reduce((acc, range) => {
|
|
228
|
+
const start = range.start;
|
|
229
|
+
const end = range.start + range.length;
|
|
230
|
+
const rangeWithSameStyleIndex = lastVisibleRangeIndex[range.type];
|
|
231
|
+
const sameStyleRange = rangeWithSameStyleIndex !== undefined ? acc[rangeWithSameStyleIndex] : undefined;
|
|
232
|
+
if (sameStyleRange && sameStyleRange.start <= start && sameStyleRange.start + sameStyleRange.length >= end && range.length > 1) {
|
|
233
|
+
// increment depth of overlapping range
|
|
234
|
+
sameStyleRange.depth = (sameStyleRange.depth || 1) + 1;
|
|
235
|
+
} else {
|
|
236
|
+
lastVisibleRangeIndex[range.type] = acc.length;
|
|
237
|
+
acc.push(range);
|
|
238
|
+
}
|
|
239
|
+
return acc;
|
|
240
|
+
}, []);
|
|
241
|
+
}
|
|
242
|
+
function parseExpensiMark(markdown) {
|
|
243
|
+
if (markdown.length > MAX_PARSABLE_LENGTH) {
|
|
244
|
+
return [];
|
|
245
|
+
}
|
|
246
|
+
const html = parseMarkdownToHTML(markdown);
|
|
247
|
+
const tokens = parseHTMLToTokens(html);
|
|
248
|
+
const tree = parseTokensToTree(tokens);
|
|
249
|
+
const [text, ranges] = parseTreeToTextAndRanges(tree);
|
|
250
|
+
if (text !== markdown) {
|
|
251
|
+
throw new Error(`[react-native-live-markdown] Parsing error: the processed text does not match the original Markdown input. This may be caused by incorrect parsing functions or invalid input Markdown.\nProcessed input: '${JSON.stringify(text)}'\nOriginal input: '${JSON.stringify(markdown)}'`);
|
|
252
|
+
}
|
|
253
|
+
const sortedRanges = sortRanges(ranges);
|
|
254
|
+
const groupedRanges = groupRanges(sortedRanges);
|
|
255
|
+
return groupedRanges;
|
|
256
|
+
}
|
|
257
|
+
export default parseExpensiMark;
|
|
258
|
+
//# sourceMappingURL=parseExpensiMark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ExpensiMark","unescapeText","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","Error","parseTokensToTree","stack","tag","children","forEach","type","payload","text","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","content","replaceAll","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","getTagPriority","sortRanges","sort","a","b","groupRanges","lastVisibleRangeIndex","reduce","acc","range","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","parseExpensiMark","JSON","stringify","sortedRanges","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"AAAA,SAAS;;AAET,SAAQA,WAAW,QAAO,kBAAkB;AAC5C,SAAQC,YAAY,QAAO,6BAA6B;AAGxD,MAAMC,mBAAmB,GAAG,IAAI;AAKhC,SAASC,mBAAmBA,CAACC,QAAgB,EAAU;EACrD,MAAMC,MAAM,GAAG,IAAIL,WAAW,CAAC,CAAC;EAChC,MAAMM,IAAI,GAAGD,MAAM,CAACE,OAAO,CAACH,QAAQ,EAAE;IACpCI,kBAAkB,EAAE;EACtB,CAAC,CAAC;EACF,OAAOF,IAAI;AACb;AAEA,SAASG,iBAAiBA,CAACH,IAAY,EAAW;EAChD,MAAMI,MAAe,GAAG,EAAE;EAC1B,IAAIC,IAAI,GAAG,CAAC;EACZ;EACA,OAAO,IAAI,EAAE;IACX,MAAMC,IAAI,GAAGN,IAAI,CAACO,OAAO,CAAC,GAAG,EAAEF,IAAI,CAAC;IACpC,IAAIC,IAAI,KAAK,CAAC,CAAC,EAAE;MACf,IAAID,IAAI,GAAGL,IAAI,CAACQ,MAAM,EAAE;QACtBJ,MAAM,CAACK,IAAI,CAAC,CAAC,MAAM,EAAET,IAAI,CAACU,SAAS,CAACL,IAAI,CAAC,CAAC,CAAC;MAC7C;MACA;IACF;IACA,IAAIC,IAAI,KAAKD,IAAI,EAAE;MACjBD,MAAM,CAACK,IAAI,CAAC,CAAC,MAAM,EAAET,IAAI,CAACU,SAAS,CAACL,IAAI,EAAEC,IAAI,CAAC,CAAC,CAAC;IACnD;IACA,MAAMK,KAAK,GAAGX,IAAI,CAACO,OAAO,CAAC,GAAG,EAAED,IAAI,CAAC;IACrC,IAAIK,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,MAAM,IAAIC,KAAK,CAAC,iGAAiG,CAAC;IACpH;IACAR,MAAM,CAACK,IAAI,CAAC,CAAC,MAAM,EAAET,IAAI,CAACU,SAAS,CAACJ,IAAI,EAAEK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACtDN,IAAI,GAAGM,KAAK,GAAG,CAAC;EAClB;EACA,OAAOP,MAAM;AACf;AAEA,SAASS,iBAAiBA,CAACT,MAAe,EAAa;EACrD,MAAMU,KAAkB,GAAG,CAAC;IAACC,GAAG,EAAE,IAAI;IAAEC,QAAQ,EAAE;EAAE,CAAC,CAAC;EACtDZ,MAAM,CAACa,OAAO,CAAC,CAAC,CAACC,IAAI,EAAEC,OAAO,CAAC,KAAK;IAClC,IAAID,IAAI,KAAK,MAAM,EAAE;MACnB,MAAME,IAAI,GAAGzB,YAAY,CAACwB,OAAO,CAAC;MAClC,MAAME,GAAG,GAAGP,KAAK,CAACA,KAAK,CAACN,MAAM,GAAG,CAAC,CAAC;MACnCa,GAAG,CAAEL,QAAQ,CAACP,IAAI,CAACW,IAAI,CAAC;IAC1B,CAAC,MAAM,IAAIF,IAAI,KAAK,MAAM,EAAE;MAC1B,IAAIC,OAAO,CAACG,UAAU,CAAC,IAAI,CAAC,EAAE;QAC5B;QACA,MAAMC,KAAK,GAAGT,KAAK,CAACU,GAAG,CAAC,CAAC;QACzB,MAAMH,GAAG,GAAGP,KAAK,CAACA,KAAK,CAACN,MAAM,GAAG,CAAC,CAAC;QACnCa,GAAG,CAAEL,QAAQ,CAACP,IAAI,CAACc,KAAM,CAAC;MAC5B,CAAC,MAAM,IAAIJ,OAAO,CAACM,QAAQ,CAAC,IAAI,CAAC,EAAE;QACjC;QACA,MAAMJ,GAAG,GAAGP,KAAK,CAACA,KAAK,CAACN,MAAM,GAAG,CAAC,CAAC;QACnCa,GAAG,CAAEL,QAAQ,CAACP,IAAI,CAAC;UAACM,GAAG,EAAEI,OAAO;UAAEH,QAAQ,EAAE;QAAE,CAAC,CAAC;MAClD,CAAC,MAAM;QACL;QACAF,KAAK,CAACL,IAAI,CAAC;UAACM,GAAG,EAAEI,OAAO;UAAEH,QAAQ,EAAE;QAAE,CAAC,CAAC;MAC1C;IACF,CAAC,MAAM;MACL,MAAM,IAAIJ,KAAK,CACb,yFAAyFM,IAAI,6EAC/F,CAAC;IACH;EACF,CAAC,CAAC;EACF,IAAIJ,KAAK,CAACN,MAAM,KAAK,CAAC,EAAE;IACtB,MAAMkB,YAAY,GAChBZ,KAAK,CAACN,MAAM,GAAG,CAAC,GACZM,KAAK,CACFa,KAAK,CAAC,CAAC,CAAC,CACRC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACd,GAAG,CAAC,CACvBe,IAAI,CAAC,IAAI,CAAC,GACb,EAAE;IACR,MAAM,IAAIlB,KAAK,CACb,oGAAoGc,YAAY,4DAClH,CAAC;EACH;EACA,OAAOZ,KAAK,CAAC,CAAC,CAAC;AACjB;AAEA,SAASiB,wBAAwBA,CAACC,IAAe,EAA6B;EAC5E,IAAIZ,IAAI,GAAG,EAAE;EAEb,SAASa,eAAeA,CAACC,IAAwB,EAAE;IACjD,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MAC5Bd,IAAI,IAAIc,IAAI;IACd,CAAC,MAAM;MACLA,IAAI,CAAClB,QAAQ,CAACC,OAAO,CAACkB,GAAG,CAAC;IAC5B;EACF;EAEA,SAASC,YAAYA,CAACC,MAAc,EAAE;IACpCC,oBAAoB,CAACD,MAAM,EAAE,QAAQ,CAAC;EACxC;EAEA,SAASC,oBAAoBA,CAACJ,IAAwB,EAAEhB,IAAkB,EAAE;IAC1E,MAAMqB,KAAK,GAAGnB,IAAI,CAACZ,MAAM;IACzByB,eAAe,CAACC,IAAI,CAAC;IACrB,MAAMM,GAAG,GAAGpB,IAAI,CAACZ,MAAM;IACvBiC,MAAM,CAAChC,IAAI,CAAC;MAACS,IAAI;MAAEqB,KAAK;MAAE/B,MAAM,EAAEgC,GAAG,GAAGD;IAAK,CAAC,CAAC;EACjD;EAEA,MAAME,MAAuB,GAAG,EAAE;EAClC,SAASN,GAAGA,CAACD,IAAwB,EAAE;IACrC,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MAC5Bd,IAAI,IAAIc,IAAI;IACd,CAAC,MAAM;MACL;MACA,IAAIA,IAAI,CAACnB,GAAG,KAAK,IAAI,EAAE;QACrBkB,eAAe,CAACC,IAAI,CAAC;MACvB,CAAC,MAAM,IAAIA,IAAI,CAACnB,GAAG,KAAK,UAAU,EAAE;QAClCqB,YAAY,CAAC,GAAG,CAAC;QACjBE,oBAAoB,CAACJ,IAAI,EAAE,MAAM,CAAC;QAClCE,YAAY,CAAC,GAAG,CAAC;MACnB,CAAC,MAAM,IAAIF,IAAI,CAACnB,GAAG,KAAK,MAAM,EAAE;QAC9BqB,YAAY,CAAC,GAAG,CAAC;QACjBE,oBAAoB,CAACJ,IAAI,EAAE,QAAQ,CAAC;QACpCE,YAAY,CAAC,GAAG,CAAC;MACnB,CAAC,MAAM,IAAIF,IAAI,CAACnB,GAAG,KAAK,OAAO,EAAE;QAC/BqB,YAAY,CAAC,GAAG,CAAC;QACjBE,oBAAoB,CAACJ,IAAI,EAAE,eAAe,CAAC;QAC3CE,YAAY,CAAC,GAAG,CAAC;MACnB,CAAC,MAAM,IAAIF,IAAI,CAACnB,GAAG,KAAK,SAAS,EAAE;QACjCuB,oBAAoB,CAACJ,IAAI,EAAE,OAAO,CAAC;MACrC,CAAC,MAAM,IAAIA,IAAI,CAACnB,GAAG,KAAK,QAAQ,EAAE;QAChCqB,YAAY,CAAC,GAAG,CAAC;QACjBE,oBAAoB,CAACJ,IAAI,EAAE,MAAM,CAAC;QAClCE,YAAY,CAAC,GAAG,CAAC;MACnB,CAAC,MAAM,IAAIF,IAAI,CAACnB,GAAG,KAAK,gBAAgB,EAAE;QACxCuB,oBAAoB,CAACJ,IAAI,EAAE,cAAc,CAAC;MAC5C,CAAC,MAAM,IAAIA,IAAI,CAACnB,GAAG,KAAK,gBAAgB,EAAE;QACxCuB,oBAAoB,CAACJ,IAAI,EAAE,cAAc,CAAC;MAC5C,CAAC,MAAM,IAAIA,IAAI,CAACnB,GAAG,KAAK,kBAAkB,EAAE;QAC1CuB,oBAAoB,CAACJ,IAAI,EAAE,gBAAgB,CAAC;MAC9C,CAAC,MAAM,IAAIA,IAAI,CAACnB,GAAG,KAAK,cAAc,EAAE;QACtCqB,YAAY,CAAC,GAAG,CAAC;QACjBE,oBAAoB,CAACJ,IAAI,EAAE,YAAY,CAAC;QACxC;QACA,IAAIO,MAAM,CAACjC,MAAM,GAAG,CAAC,EAAE;UACrB,MAAMkC,IAAI,GAAGD,MAAM,CAACA,MAAM,CAACjC,MAAM,GAAG,CAAC,CAAC;UACtCkC,IAAI,CAAEH,KAAK,IAAI,CAAC;UAChBG,IAAI,CAAElC,MAAM,IAAI,CAAC;QACnB;MACF,CAAC,MAAM,IAAI0B,IAAI,CAACnB,GAAG,KAAK,MAAM,EAAE;QAC9BqB,YAAY,CAAC,IAAI,CAAC;QAClBE,oBAAoB,CAACJ,IAAI,EAAE,IAAI,CAAC;MAClC,CAAC,MAAM,IAAIA,IAAI,CAACnB,GAAG,KAAK,QAAQ,EAAE;QAChCK,IAAI,IAAI,IAAI;MACd,CAAC,MAAM,IAAIc,IAAI,CAACnB,GAAG,CAACO,UAAU,CAAC,MAAM,CAAC,EAAE;QACtCc,YAAY,CAAC,KAAK,CAAC;QACnB,MAAMO,OAAO,GAAGT,IAAI,CAAClB,QAAQ,CAACc,IAAI,CAAC,EAAE,CAAC,CAACc,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;QAC/DN,oBAAoB,CAACK,OAAO,EAAE,KAAK,CAAC;QACpCP,YAAY,CAAC,KAAK,CAAC;MACrB,CAAC,MAAM,IAAIF,IAAI,CAACnB,GAAG,CAACO,UAAU,CAAC,WAAW,CAAC,EAAE;QAC3C,MAAMuB,OAAO,GAAGX,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,gBAAgB,CAAC,CAAE,CAAC,CAAE,CAAC,CAAC;QACvD,MAAMC,IAAI,GAAGpD,YAAY,CAACkD,OAAO,CAAC;QAClC,MAAMG,aAAa,GAAGd,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,6BAA6B,CAAC,CAAE,CAAC,CAAC,KAAK,SAAS;QACrF,MAAMG,WAAW,GAAGf,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,yBAAyB,CAAC;QAC7D,MAAMI,WAAW,GAAGD,WAAW,GAAGtD,YAAY,CAACsD,WAAW,CAAC,CAAC,CAAE,CAAC,GAAGF,IAAI;QACtE,IAAI,CAACC,aAAa,IAAId,IAAI,CAAClB,QAAQ,CAACR,MAAM,KAAK,CAAC,IAAI,OAAO0B,IAAI,CAAClB,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,KAAKkB,IAAI,CAAClB,QAAQ,CAAC,CAAC,CAAC,KAAKkC,WAAW,IAAI,UAAUhB,IAAI,CAAClB,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK+B,IAAI,CAAC,EAAE;UACvKT,oBAAoB,CAACJ,IAAI,CAAClB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAChD,CAAC,MAAM;UACLoB,YAAY,CAAC,GAAG,CAAC;UACjBH,eAAe,CAACC,IAAI,CAAC;UACrBE,YAAY,CAAC,IAAI,CAAC;UAClBE,oBAAoB,CAACY,WAAW,EAAE,MAAM,CAAC;UACzCd,YAAY,CAAC,GAAG,CAAC;QACnB;MACF,CAAC,MAAM,IAAIF,IAAI,CAACnB,GAAG,CAACO,UAAU,CAAC,YAAY,CAAC,EAAE;QAC5C,MAAM6B,GAAG,GAAGjB,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,eAAe,CAAC,CAAE,CAAC,CAAE,CAAC,CAAC;QAClD,MAAMM,GAAG,GAAGlB,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,eAAe,CAAC;QAC3C,MAAMO,MAAM,GAAGnB,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,6BAA6B,CAAC,CAAE,CAAC,CAAC,KAAK,SAAS;QAC9E,MAAMQ,OAAO,GAAGpB,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,yBAAyB,CAAC;QACzD,MAAMS,UAAU,GAAGD,OAAO,GAAG3D,YAAY,CAAC2D,OAAO,CAAC,CAAC,CAAE,CAAC,GAAGH,GAAG;QAE5D,MAAMZ,KAAK,GAAGnB,IAAI,CAACZ,MAAM;QACzB,MAAMA,MAAM,GAAG,CAAC,IAAI6C,MAAM,GAAG,CAAC,GAAG1D,YAAY,CAAC,CAAAyD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAC5C,MAAM,GAAG,CAAC,CAAC,GAAG+C,UAAU,CAAC/C,MAAM;QAC7FiC,MAAM,CAAChC,IAAI,CAAC;UAACS,IAAI,EAAE,cAAc;UAAEqB,KAAK;UAAE/B;QAAM,CAAC,CAAC;QAElD4B,YAAY,CAAC,GAAG,CAAC;QACjB,IAAIiB,MAAM,EAAE;UACVjB,YAAY,CAAC,GAAG,CAAC;UACjBH,eAAe,CAACtC,YAAY,CAAC,CAAAyD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAC;UAC7ChB,YAAY,CAAC,GAAG,CAAC;QACnB;QACAA,YAAY,CAAC,GAAG,CAAC;QACjBE,oBAAoB,CAACiB,UAAU,EAAE,MAAM,CAAC;QACxCnB,YAAY,CAAC,GAAG,CAAC;MACnB,CAAC,MAAM,IAAIF,IAAI,CAACnB,GAAG,CAACO,UAAU,CAAC,gCAAgC,CAAC,EAAE;QAChE,MAAM6B,GAAG,GAAGjB,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,iCAAiC,CAAC,CAAE,CAAC,CAAE,CAAC,CAAC;QACpE,MAAMQ,OAAO,GAAGpB,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,yBAAyB,CAAC;QACzD,MAAMO,MAAM,GAAGnB,IAAI,CAACnB,GAAG,CAAC+B,KAAK,CAAC,6BAA6B,CAAC,CAAE,CAAC,CAAC,KAAK,SAAS;QAC9E,MAAMS,UAAU,GAAGD,OAAO,GAAG3D,YAAY,CAAC2D,OAAO,CAAC,CAAC,CAAE,CAAC,GAAGH,GAAG;QAC5Df,YAAY,CAAC,GAAG,CAAC;QACjB,IAAIiB,MAAM,EAAE;UACVjB,YAAY,CAAC,GAAG,CAAC;UACjBF,IAAI,CAAClB,QAAQ,CAACC,OAAO,CAAEM,KAAK,IAAKU,eAAe,CAACV,KAAK,CAAC,CAAC;UACxDa,YAAY,CAAC,GAAG,CAAC;QACnB;QACAA,YAAY,CAAC,GAAG,CAAC;QACjBE,oBAAoB,CAACiB,UAAU,EAAE,MAAM,CAAC;QACxCnB,YAAY,CAAC,GAAG,CAAC;MACnB,CAAC,MAAM;QACL,MAAM,IAAIxB,KAAK,CAAC,yFAAyFsB,IAAI,CAACnB,GAAG,wDAAwD,CAAC;MAC5K;IACF;EACF;EACAoB,GAAG,CAACH,IAAI,CAAC;EACT,OAAO,CAACZ,IAAI,EAAEqB,MAAM,CAAC;AACvB;;AAEA;AACA,SAASe,cAAcA,CAACzC,GAAW,EAAE;EACnC,QAAQA,GAAG;IACT,KAAK,YAAY;MACf,OAAO,CAAC;IACV,KAAK,IAAI;MACP,OAAO,CAAC;IACV;MACE,OAAO,CAAC;EACZ;AACF;AAEA,SAAS0C,UAAUA,CAAChB,MAAuB,EAAE;EAC3C;EACA,OAAOA,MAAM,CAACiB,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACpB,KAAK,GAAGqB,CAAC,CAACrB,KAAK,IAAIqB,CAAC,CAACpD,MAAM,GAAGmD,CAAC,CAACnD,MAAM,IAAIgD,cAAc,CAACI,CAAC,CAAC1C,IAAI,CAAC,GAAGsC,cAAc,CAACG,CAAC,CAACzC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChI;AAEA,SAAS2C,WAAWA,CAACpB,MAAuB,EAAE;EAC5C,MAAMqB,qBAAuD,GAAG,CAAC,CAAC;EAElE,OAAOrB,MAAM,CAACsB,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IACnC,MAAM1B,KAAK,GAAG0B,KAAK,CAAC1B,KAAK;IACzB,MAAMC,GAAG,GAAGyB,KAAK,CAAC1B,KAAK,GAAG0B,KAAK,CAACzD,MAAM;IAEtC,MAAM0D,uBAAuB,GAAGJ,qBAAqB,CAACG,KAAK,CAAC/C,IAAI,CAAC;IACjE,MAAMiD,cAAc,GAAGD,uBAAuB,KAAKE,SAAS,GAAGJ,GAAG,CAACE,uBAAuB,CAAC,GAAGE,SAAS;IAEvG,IAAID,cAAc,IAAIA,cAAc,CAAC5B,KAAK,IAAIA,KAAK,IAAI4B,cAAc,CAAC5B,KAAK,GAAG4B,cAAc,CAAC3D,MAAM,IAAIgC,GAAG,IAAIyB,KAAK,CAACzD,MAAM,GAAG,CAAC,EAAE;MAC9H;MACA2D,cAAc,CAACE,KAAK,GAAG,CAACF,cAAc,CAACE,KAAK,IAAI,CAAC,IAAI,CAAC;IACxD,CAAC,MAAM;MACLP,qBAAqB,CAACG,KAAK,CAAC/C,IAAI,CAAC,GAAG8C,GAAG,CAACxD,MAAM;MAC9CwD,GAAG,CAACvD,IAAI,CAACwD,KAAK,CAAC;IACjB;IAEA,OAAOD,GAAG;EACZ,CAAC,EAAE,EAAqB,CAAC;AAC3B;AAEA,SAASM,gBAAgBA,CAACxE,QAAgB,EAAmB;EAC3D,IAAIA,QAAQ,CAACU,MAAM,GAAGZ,mBAAmB,EAAE;IACzC,OAAO,EAAE;EACX;EACA,MAAMI,IAAI,GAAGH,mBAAmB,CAACC,QAAQ,CAAC;EAC1C,MAAMM,MAAM,GAAGD,iBAAiB,CAACH,IAAI,CAAC;EACtC,MAAMgC,IAAI,GAAGnB,iBAAiB,CAACT,MAAM,CAAC;EACtC,MAAM,CAACgB,IAAI,EAAEqB,MAAM,CAAC,GAAGV,wBAAwB,CAACC,IAAI,CAAC;EACrD,IAAIZ,IAAI,KAAKtB,QAAQ,EAAE;IACrB,MAAM,IAAIc,KAAK,CACb,8MAA8M2D,IAAI,CAACC,SAAS,CAC1NpD,IACF,CAAC,uBAAuBmD,IAAI,CAACC,SAAS,CAAC1E,QAAQ,CAAC,GAClD,CAAC;EACH;EACA,MAAM2E,YAAY,GAAGhB,UAAU,CAAChB,MAAM,CAAC;EACvC,MAAMiC,aAAa,GAAGb,WAAW,CAACY,YAAY,CAAC;EAC/C,OAAOC,aAAa;AACtB;AAEA,eAAeJ,gBAAgB","ignoreList":[]}
|
|
@@ -229,7 +229,7 @@ function moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, target,
|
|
|
229
229
|
setCursorPosition(target, cursorPosition, null, shouldScrollIntoView);
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
|
-
function updateInputStructure(target, text, cursorPositionIndex, isMultiline = true, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false, shouldScrollIntoView = false, inlineImagesProps = {}) {
|
|
232
|
+
function updateInputStructure(parserFunction, target, text, cursorPositionIndex, isMultiline = true, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false, shouldScrollIntoView = false, inlineImagesProps = {}) {
|
|
233
233
|
const targetElement = target;
|
|
234
234
|
|
|
235
235
|
// in case the cursorPositionIndex is larger than text length, cursorPosition will be null, i.e: move the caret to the end
|
|
@@ -239,7 +239,7 @@ function updateInputStructure(target, text, cursorPositionIndex, isMultiline = t
|
|
|
239
239
|
const selection = getCurrentCursorPosition(target);
|
|
240
240
|
cursorPosition = selection ? selection.start : null;
|
|
241
241
|
}
|
|
242
|
-
const markdownRanges =
|
|
242
|
+
const markdownRanges = parserFunction(text);
|
|
243
243
|
if (!text || targetElement.innerHTML === '<br>' || targetElement && targetElement.innerHTML === '\n') {
|
|
244
244
|
targetElement.innerHTML = '';
|
|
245
245
|
targetElement.innerText = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addNodeToTree","createRootTreeNode","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","inlineImagesProps","rootElement","textLength","rootNode","currentParentNode","dom","tree","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","substring","textBeforeRange","textAfterRange","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","shouldScrollIntoView","updateInputStructure","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","global","parseExpensiMarkToRanges","innerHTML","innerText","animationTimes"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["addNodeToTree","createRootTreeNode","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","inlineImagesProps","rootElement","textLength","rootNode","currentParentNode","dom","tree","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","substring","textBeforeRange","textAfterRange","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","shouldScrollIntoView","updateInputStructure","parserFunction","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","innerHTML","innerText","animationTimes"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"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","ignoreList":[]}
|