@expensify/react-native-live-markdown 0.1.116 → 0.1.118

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 (90) hide show
  1. package/lib/commonjs/MarkdownTextInput.js +2 -4
  2. package/lib/commonjs/MarkdownTextInput.js.map +1 -1
  3. package/lib/commonjs/MarkdownTextInput.web.js +105 -149
  4. package/lib/commonjs/MarkdownTextInput.web.js.map +1 -1
  5. package/lib/commonjs/styleUtils.js.map +1 -1
  6. package/lib/commonjs/web/utils/blockUtils.js +77 -0
  7. package/lib/commonjs/web/utils/blockUtils.js.map +1 -0
  8. package/lib/commonjs/web/utils/browserUtils.js +18 -0
  9. package/lib/commonjs/web/utils/browserUtils.js.map +1 -0
  10. package/lib/commonjs/web/utils/cursorUtils.js +111 -0
  11. package/lib/commonjs/web/utils/cursorUtils.js.map +1 -0
  12. package/lib/commonjs/web/utils/inputUtils.js +108 -0
  13. package/lib/commonjs/web/utils/inputUtils.js.map +1 -0
  14. package/lib/commonjs/web/utils/parserUtils.js +266 -0
  15. package/lib/commonjs/web/utils/parserUtils.js.map +1 -0
  16. package/lib/commonjs/web/utils/treeUtils.js +85 -0
  17. package/lib/commonjs/web/utils/treeUtils.js.map +1 -0
  18. package/lib/commonjs/web/utils/webStyleUtils.js +51 -0
  19. package/lib/commonjs/web/utils/webStyleUtils.js.map +1 -0
  20. package/lib/module/MarkdownTextInput.js +2 -2
  21. package/lib/module/MarkdownTextInput.js.map +1 -1
  22. package/lib/module/MarkdownTextInput.web.js +101 -145
  23. package/lib/module/MarkdownTextInput.web.js.map +1 -1
  24. package/lib/module/styleUtils.js.map +1 -1
  25. package/lib/module/web/utils/blockUtils.js +72 -0
  26. package/lib/module/web/utils/blockUtils.js.map +1 -0
  27. package/lib/module/web/utils/browserUtils.js +12 -0
  28. package/lib/module/web/utils/browserUtils.js.map +1 -0
  29. package/lib/module/web/utils/cursorUtils.js +102 -0
  30. package/lib/module/web/utils/cursorUtils.js.map +1 -0
  31. package/lib/module/web/utils/inputUtils.js +99 -0
  32. package/lib/module/web/utils/inputUtils.js.map +1 -0
  33. package/lib/module/web/utils/parserUtils.js +260 -0
  34. package/lib/module/web/utils/parserUtils.js.map +1 -0
  35. package/lib/module/web/utils/treeUtils.js +78 -0
  36. package/lib/module/web/utils/treeUtils.js.map +1 -0
  37. package/lib/module/web/utils/webStyleUtils.js +45 -0
  38. package/lib/module/web/utils/webStyleUtils.js.map +1 -0
  39. package/lib/typescript/src/MarkdownTextInput.d.ts +1 -2
  40. package/lib/typescript/src/MarkdownTextInput.d.ts.map +1 -1
  41. package/lib/typescript/src/MarkdownTextInput.web.d.ts +9 -3
  42. package/lib/typescript/src/MarkdownTextInput.web.d.ts.map +1 -1
  43. package/lib/typescript/src/styleUtils.d.ts +1 -2
  44. package/lib/typescript/src/styleUtils.d.ts.map +1 -1
  45. package/lib/typescript/src/web/utils/blockUtils.d.ts +5 -0
  46. package/lib/typescript/src/web/utils/blockUtils.d.ts.map +1 -0
  47. package/lib/typescript/src/web/utils/browserUtils.d.ts +12 -0
  48. package/lib/typescript/src/web/utils/browserUtils.d.ts.map +1 -0
  49. package/lib/typescript/src/web/utils/cursorUtils.d.ts +12 -0
  50. package/lib/typescript/src/web/utils/cursorUtils.d.ts.map +1 -0
  51. package/lib/typescript/src/web/utils/inputUtils.d.ts +9 -0
  52. package/lib/typescript/src/web/utils/inputUtils.d.ts.map +1 -0
  53. package/lib/typescript/src/web/utils/parserUtils.d.ts +22 -0
  54. package/lib/typescript/src/web/utils/parserUtils.d.ts.map +1 -0
  55. package/lib/typescript/src/web/utils/treeUtils.d.ts +17 -0
  56. package/lib/typescript/src/web/utils/treeUtils.d.ts.map +1 -0
  57. package/lib/typescript/src/web/utils/webStyleUtils.d.ts +6 -0
  58. package/lib/typescript/src/web/utils/webStyleUtils.d.ts.map +1 -0
  59. package/package.json +5 -2
  60. package/src/MarkdownTextInput.tsx +4 -7
  61. package/src/MarkdownTextInput.web.tsx +142 -171
  62. package/src/styleUtils.ts +1 -3
  63. package/src/web/utils/blockUtils.ts +72 -0
  64. package/src/web/utils/browserUtils.ts +13 -0
  65. package/src/web/utils/cursorUtils.ts +116 -0
  66. package/src/web/utils/inputUtils.ts +106 -0
  67. package/src/web/utils/parserUtils.ts +302 -0
  68. package/src/web/utils/treeUtils.ts +103 -0
  69. package/src/web/utils/webStyleUtils.ts +54 -0
  70. package/lib/commonjs/web/browserUtils.js +0 -16
  71. package/lib/commonjs/web/browserUtils.js.map +0 -1
  72. package/lib/commonjs/web/cursorUtils.js +0 -167
  73. package/lib/commonjs/web/cursorUtils.js.map +0 -1
  74. package/lib/commonjs/web/parserUtils.js +0 -214
  75. package/lib/commonjs/web/parserUtils.js.map +0 -1
  76. package/lib/module/web/browserUtils.js +0 -11
  77. package/lib/module/web/browserUtils.js.map +0 -1
  78. package/lib/module/web/cursorUtils.js +0 -154
  79. package/lib/module/web/cursorUtils.js.map +0 -1
  80. package/lib/module/web/parserUtils.js +0 -206
  81. package/lib/module/web/parserUtils.js.map +0 -1
  82. package/lib/typescript/src/web/browserUtils.d.ts +0 -10
  83. package/lib/typescript/src/web/browserUtils.d.ts.map +0 -1
  84. package/lib/typescript/src/web/cursorUtils.d.ts +0 -12
  85. package/lib/typescript/src/web/cursorUtils.d.ts.map +0 -1
  86. package/lib/typescript/src/web/parserUtils.d.ts +0 -17
  87. package/lib/typescript/src/web/parserUtils.d.ts.map +0 -1
  88. package/src/web/browserUtils.ts +0 -11
  89. package/src/web/cursorUtils.ts +0 -177
  90. package/src/web/parserUtils.ts +0 -228
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","ParseUtils","CursorUtils","StyleUtils","_InputHistory","_interopRequireDefault","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","createReactDOMStyle","Error","preprocessStyle","dangerousStyleValue","focusTimeout","normalizeValue","value","replace","denormalizeValue","endsWith","isEventComposing","nativeEvent","isComposing","keyCode","ZERO_WIDTH_SPACE","getPlaceholderValue","placeholder","length","processUnitsInMarkdownStyle","input","output","JSON","parse","stringify","keys","forEach","key","prop","processMarkdownStyle","mergeMarkdownStyleWithDefault","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","assign","style","innerText","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","MarkdownTextInput","React","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","clearTextOnFocus","dir","disabled","multiline","markdownStyle","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","selectTextOnFocus","spellCheck","selection","autoFocus","onContentSizeChange","id","inputMode","ref","compositionRef","useRef","pasteRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","setEventProps","useCallback","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","throttledAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","undoValue","redo","redoValue","processedValue","updateTextColor","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","updateSelection","predefinedSelection","getCurrentCursorPosition","handleContentSizeChange","_dimensions$current","offsetWidth","newWidth","offsetHeight","newHeight","width","contentSize","handleOnChangeText","HTMLElement","prevSelection","prevTextLength","getPrevTextLength","changedText","newInputUpdate","inputType","normalizedText","addedText","slice","count","prevSelectionRange","before","Math","max","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","setCursorPosition","valueLength","clearTimeout","handleBlur","removeSelection","handleClick","handlePaste","clipboardData","getData","startComposition","endComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onKeyUp","onInput","onPaste","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","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","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","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","disabledInputStyles","parseToReactDOMStyle","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","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","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","getElementHeight","maxHeight","focus","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onKeyUp","onInput","onCopy","onCut","onPaste","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","FONT_FAMILY_MONOSPACE","Platform","select","ios","default","makeDefaultMarkdownStyle","syntax","color","link","h1","fontSize","emoji","blockquote","borderColor","borderWidth","marginLeft","paddingLeft","code","fontFamily","backgroundColor","pre","mentionHere","mentionUser","mentionReport","mergeMarkdownStyleWithDefault","input","output","undefined","Object","keys","forEach","key","assign"],"sourceRoot":"../../src","sources":["styleUtils.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AASA,MAAMC,qBAAqB,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EAC5CC,GAAG,EAAE,SAAS;EACdC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,SAASC,wBAAwBA,CAAA,EAAkB;EACjD,OAAO;IACLC,MAAM,EAAE;MACNC,KAAK,EAAE;IACT,CAAC;IACDC,IAAI,EAAE;MACJD,KAAK,EAAE;IACT,CAAC;IACDE,EAAE,EAAE;MACFC,QAAQ,EAAE;IACZ,CAAC;IACDC,KAAK,EAAE;MACLD,QAAQ,EAAE;IACZ,CAAC;IACDE,UAAU,EAAE;MACVC,WAAW,EAAE,MAAM;MACnBC,WAAW,EAAE,CAAC;MACdC,UAAU,EAAE,CAAC;MACbC,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJC,UAAU,EAAElB,qBAAqB;MACjCU,QAAQ,EAAE,EAAE;MACZH,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDC,GAAG,EAAE;MACHF,UAAU,EAAElB,qBAAqB;MACjCU,QAAQ,EAAE,EAAE;MACZH,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDE,WAAW,EAAE;MACXd,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDG,WAAW,EAAE;MACXf,KAAK,EAAE,MAAM;MACbY,eAAe,EAAE;IACnB,CAAC;IACDI,aAAa,EAAE;MACbhB,KAAK,EAAE,KAAK;MACZY,eAAe,EAAE;IACnB;EACF,CAAC;AACH;AAEA,SAASK,6BAA6BA,CAACC,KAAuC,EAAiB;EAC7F,MAAMC,MAAM,GAAGrB,wBAAwB,CAAC,CAAC;EAEzC,IAAIoB,KAAK,KAAKE,SAAS,EAAE;IACvBC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAEC,GAAG,IAAK;MAClC,IAAI,EAAEA,GAAG,IAAIL,MAAM,CAAC,EAAE;QACpB;MACF;MACAE,MAAM,CAACI,MAAM,CAACN,MAAM,CAACK,GAAG,CAAwB,EAAEN,KAAK,CAACM,GAAG,CAAwB,CAAC;IACtF,CAAC,CAAC;EACJ;EAEA,OAAOL,MAAM;AACf"}
1
+ {"version":3,"names":["_reactNative","require","FONT_FAMILY_MONOSPACE","Platform","select","ios","default","makeDefaultMarkdownStyle","syntax","color","link","h1","fontSize","emoji","blockquote","borderColor","borderWidth","marginLeft","paddingLeft","code","fontFamily","backgroundColor","pre","mentionHere","mentionUser","mentionReport","mergeMarkdownStyleWithDefault","input","output","undefined","Object","keys","forEach","key","assign"],"sourceRoot":"../../src","sources":["styleUtils.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAOA,MAAMC,qBAAqB,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EAC5CC,GAAG,EAAE,SAAS;EACdC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,SAASC,wBAAwBA,CAAA,EAAkB;EACjD,OAAO;IACLC,MAAM,EAAE;MACNC,KAAK,EAAE;IACT,CAAC;IACDC,IAAI,EAAE;MACJD,KAAK,EAAE;IACT,CAAC;IACDE,EAAE,EAAE;MACFC,QAAQ,EAAE;IACZ,CAAC;IACDC,KAAK,EAAE;MACLD,QAAQ,EAAE;IACZ,CAAC;IACDE,UAAU,EAAE;MACVC,WAAW,EAAE,MAAM;MACnBC,WAAW,EAAE,CAAC;MACdC,UAAU,EAAE,CAAC;MACbC,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJC,UAAU,EAAElB,qBAAqB;MACjCU,QAAQ,EAAE,EAAE;MACZH,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDC,GAAG,EAAE;MACHF,UAAU,EAAElB,qBAAqB;MACjCU,QAAQ,EAAE,EAAE;MACZH,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDE,WAAW,EAAE;MACXd,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDG,WAAW,EAAE;MACXf,KAAK,EAAE,MAAM;MACbY,eAAe,EAAE;IACnB,CAAC;IACDI,aAAa,EAAE;MACbhB,KAAK,EAAE,KAAK;MACZY,eAAe,EAAE;IACnB;EACF,CAAC;AACH;AAEA,SAASK,6BAA6BA,CAACC,KAAuC,EAAiB;EAC7F,MAAMC,MAAM,GAAGrB,wBAAwB,CAAC,CAAC;EAEzC,IAAIoB,KAAK,KAAKE,SAAS,EAAE;IACvBC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAEC,GAAG,IAAK;MAClC,IAAI,EAAEA,GAAG,IAAIL,MAAM,CAAC,EAAE;QACpB;MACF;MACAE,MAAM,CAACI,MAAM,CAACN,MAAM,CAACK,GAAG,CAAwB,EAAEN,KAAK,CAACM,GAAG,CAAwB,CAAC;IACtF,CAAC,CAAC;EACJ;EAEA,OAAOL,MAAM;AACf"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.addStyleToBlock = addStyleToBlock;
7
+ function addStyleToBlock(targetElement, type, markdownStyle) {
8
+ const node = targetElement;
9
+ switch (type) {
10
+ case 'line':
11
+ Object.assign(node.style, {
12
+ display: 'block',
13
+ margin: '0',
14
+ padding: '0'
15
+ });
16
+ break;
17
+ case 'syntax':
18
+ Object.assign(node.style, markdownStyle.syntax);
19
+ break;
20
+ case 'bold':
21
+ node.style.fontWeight = 'bold';
22
+ break;
23
+ case 'italic':
24
+ node.style.fontStyle = 'italic';
25
+ break;
26
+ case 'strikethrough':
27
+ node.style.textDecoration = 'line-through';
28
+ break;
29
+ case 'emoji':
30
+ Object.assign(node.style, {
31
+ ...markdownStyle.emoji,
32
+ verticalAlign: 'middle'
33
+ });
34
+ break;
35
+ case 'mention-here':
36
+ Object.assign(node.style, markdownStyle.mentionHere);
37
+ break;
38
+ case 'mention-user':
39
+ Object.assign(node.style, markdownStyle.mentionUser);
40
+ break;
41
+ case 'mention-report':
42
+ Object.assign(node.style, markdownStyle.mentionReport);
43
+ break;
44
+ case 'link':
45
+ Object.assign(node.style, {
46
+ ...markdownStyle.link,
47
+ textDecoration: 'underline'
48
+ });
49
+ break;
50
+ case 'code':
51
+ Object.assign(node.style, markdownStyle.code);
52
+ break;
53
+ case 'pre':
54
+ Object.assign(node.style, markdownStyle.pre);
55
+ break;
56
+ case 'blockquote':
57
+ Object.assign(node.style, {
58
+ ...markdownStyle.blockquote,
59
+ borderLeftStyle: 'solid',
60
+ display: 'inline-block',
61
+ maxWidth: '100%',
62
+ boxSizing: 'border-box'
63
+ });
64
+ break;
65
+ case 'h1':
66
+ Object.assign(node.style, {
67
+ ...markdownStyle.h1,
68
+ fontWeight: 'bold'
69
+ });
70
+ break;
71
+ default:
72
+ break;
73
+ }
74
+ }
75
+
76
+ // eslint-disable-next-line import/prefer-default-export
77
+ //# sourceMappingURL=blockUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["addStyleToBlock","targetElement","type","markdownStyle","node","Object","assign","style","display","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","mentionHere","mentionUser","mentionReport","link","code","pre","blockquote","borderLeftStyle","maxWidth","boxSizing","h1"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":";;;;;;AAGA,SAASA,eAAeA,CAACC,aAA0B,EAAEC,IAAc,EAAEC,aAAmC,EAAE;EACxG,MAAMC,IAAI,GAAGH,aAAa;EAC1B,QAAQC,IAAI;IACV,KAAK,MAAM;MACTG,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QACxBC,OAAO,EAAE,OAAO;QAChBC,MAAM,EAAE,GAAG;QACXC,OAAO,EAAE;MACX,CAAC,CAAC;MACF;IACF,KAAK,QAAQ;MACXL,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACQ,MAAM,CAAC;MAC/C;IACF,KAAK,MAAM;MACTP,IAAI,CAACG,KAAK,CAACK,UAAU,GAAG,MAAM;MAC9B;IACF,KAAK,QAAQ;MACXR,IAAI,CAACG,KAAK,CAACM,SAAS,GAAG,QAAQ;MAC/B;IACF,KAAK,eAAe;MAClBT,IAAI,CAACG,KAAK,CAACO,cAAc,GAAG,cAAc;MAC1C;IACF,KAAK,OAAO;MACVT,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QAAC,GAAGJ,aAAa,CAACY,KAAK;QAAEC,aAAa,EAAE;MAAQ,CAAC,CAAC;MAC5E;IACF,KAAK,cAAc;MACjBX,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACc,WAAW,CAAC;MACpD;IACF,KAAK,cAAc;MACjBZ,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACe,WAAW,CAAC;MACpD;IACF,KAAK,gBAAgB;MACnBb,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACgB,aAAa,CAAC;MACtD;IACF,KAAK,MAAM;MACTd,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QACxB,GAAGJ,aAAa,CAACiB,IAAI;QACrBN,cAAc,EAAE;MAClB,CAAC,CAAC;MACF;IACF,KAAK,MAAM;MACTT,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACkB,IAAI,CAAC;MAC7C;IACF,KAAK,KAAK;MACRhB,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAEJ,aAAa,CAACmB,GAAG,CAAC;MAC5C;IAEF,KAAK,YAAY;MACfjB,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QACxB,GAAGJ,aAAa,CAACoB,UAAU;QAC3BC,eAAe,EAAE,OAAO;QACxBhB,OAAO,EAAE,cAAc;QACvBiB,QAAQ,EAAE,MAAM;QAChBC,SAAS,EAAE;MACb,CAAC,CAAC;MACF;IACF,KAAK,IAAI;MACPrB,MAAM,CAACC,MAAM,CAACF,IAAI,CAACG,KAAK,EAAE;QACxB,GAAGJ,aAAa,CAACwB,EAAE;QACnBf,UAAU,EAAE;MACd,CAAC,CAAC;MACF;IACF;MACE;EACJ;AACF;;AAEA"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const BrowserUtils = {
8
+ isFirefox: navigator.userAgent.toLowerCase().includes('firefox'),
9
+ isChromium: 'chrome' in window,
10
+ /**
11
+ * Whether the platform is a mobile browser.
12
+ * Copied from Expensify App https://github.com/Expensify/App/blob/90dee7accae79c49debf30354c160cab6c52c423/src/libs/Browser/index.website.ts#L41
13
+ *
14
+ */
15
+ isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Silk|Opera Mini/i.test(navigator.userAgent)
16
+ };
17
+ var _default = exports.default = BrowserUtils;
18
+ //# sourceMappingURL=browserUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BrowserUtils","isFirefox","navigator","userAgent","toLowerCase","includes","isChromium","window","isMobile","test","_default","exports","default"],"sourceRoot":"../../../../src","sources":["web/utils/browserUtils.ts"],"mappings":";;;;;;AAAA,MAAMA,YAAY,GAAG;EACnBC,SAAS,EAAEC,SAAS,CAACC,SAAS,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,SAAS,CAAC;EAChEC,UAAU,EAAE,QAAQ,IAAIC,MAAM;EAE9B;AACF;AACA;AACA;AACA;EACEC,QAAQ,EAAE,+FAA+F,CAACC,IAAI,CAACP,SAAS,CAACC,SAAS;AACpI,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,YAAY"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCurrentCursorPosition = getCurrentCursorPosition;
7
+ exports.moveCursorToEnd = moveCursorToEnd;
8
+ exports.removeSelection = removeSelection;
9
+ exports.scrollIntoView = scrollIntoView;
10
+ exports.setCursorPosition = setCursorPosition;
11
+ var _treeUtils = require("./treeUtils");
12
+ function setCursorPosition(target, startIndex, endIndex = null) {
13
+ // We don't want to move the cursor if the target is not focused
14
+ if (!target.tree || target !== document.activeElement) {
15
+ return;
16
+ }
17
+ const start = Math.max(0, Math.min(startIndex, target.tree.length));
18
+ const end = endIndex ? Math.max(0, Math.min(endIndex, target.tree.length)) : null;
19
+ if (end && end < start) {
20
+ return;
21
+ }
22
+ const range = document.createRange();
23
+ range.selectNodeContents(target);
24
+ const startTreeNode = (0, _treeUtils.getTreeNodeByIndex)(target.tree, start);
25
+ const endTreeNode = end && startTreeNode && (end < startTreeNode.start || end >= startTreeNode.start + startTreeNode.length) ? (0, _treeUtils.getTreeNodeByIndex)(target.tree, end) : startTreeNode;
26
+ if (!startTreeNode || !endTreeNode) {
27
+ console.error('Invalid start or end tree node');
28
+ return;
29
+ }
30
+ if (startTreeNode.type === 'br') {
31
+ range.setStartBefore(startTreeNode.element);
32
+ } else {
33
+ range.setStart(startTreeNode.element.childNodes[0], start - startTreeNode.start);
34
+ }
35
+ if (endTreeNode.type === 'br') {
36
+ range.setEndBefore(endTreeNode.element);
37
+ } else {
38
+ range.setEnd(endTreeNode.element.childNodes[0], (end || start) - endTreeNode.start);
39
+ }
40
+ if (!end) {
41
+ range.collapse(true);
42
+ }
43
+ const selection = window.getSelection();
44
+ if (selection) {
45
+ selection.setBaseAndExtent(range.startContainer, range.startOffset, range.endContainer, range.endOffset);
46
+ }
47
+ scrollIntoView(startTreeNode);
48
+ }
49
+ function scrollIntoView(node) {
50
+ var _node$parentNode;
51
+ 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
+ // If the node is a line break, scroll to the parent paragraph, because Safari doesn't support scrollIntoView on br elements
53
+ node.parentNode.parentNode.element.scrollIntoView({
54
+ block: 'nearest'
55
+ });
56
+ } else {
57
+ node.element.scrollIntoView({
58
+ block: 'nearest'
59
+ });
60
+ }
61
+ }
62
+ function moveCursorToEnd(target) {
63
+ const range = document.createRange();
64
+ const selection = window.getSelection();
65
+ if (selection) {
66
+ range.setStart(target, target.childNodes.length);
67
+ range.collapse(true);
68
+ selection.setBaseAndExtent(range.startContainer, range.startOffset, range.endContainer, range.endOffset);
69
+ }
70
+ }
71
+ function getCurrentCursorPosition(target) {
72
+ function getHTMLElement(node) {
73
+ let element = node;
74
+ if (element instanceof Text) {
75
+ element = node.parentElement;
76
+ }
77
+ return element;
78
+ }
79
+ const selection = window.getSelection();
80
+ if (!selection || selection && selection.rangeCount === 0) {
81
+ return null;
82
+ }
83
+ const range = selection.getRangeAt(0);
84
+ const startElement = getHTMLElement(range.startContainer);
85
+ const endElement = range.startContainer === range.endContainer ? startElement : getHTMLElement(range.endContainer);
86
+ const startTreeNode = (0, _treeUtils.findHTMLElementInTree)(target.tree, startElement);
87
+ const endTreeNode = (0, _treeUtils.findHTMLElementInTree)(target.tree, endElement);
88
+ let start = -1;
89
+ let end = -1;
90
+ if (startTreeNode && endTreeNode) {
91
+ start = startTreeNode.start + range.startOffset;
92
+
93
+ // If the end node is a root node, we need to set the end to the end of the text (FireFox fix)
94
+ if ((endTreeNode === null || endTreeNode === void 0 ? void 0 : endTreeNode.parentNode) === null) {
95
+ end = target.value.length;
96
+ } else {
97
+ end = endTreeNode.start + range.endOffset;
98
+ }
99
+ }
100
+ return {
101
+ start,
102
+ end
103
+ };
104
+ }
105
+ function removeSelection() {
106
+ const selection = window.getSelection();
107
+ if (selection) {
108
+ selection.removeAllRanges();
109
+ }
110
+ }
111
+ //# sourceMappingURL=cursorUtils.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getElementHeight = getElementHeight;
7
+ exports.getPlaceholderValue = getPlaceholderValue;
8
+ exports.isEventComposing = isEventComposing;
9
+ exports.normalizeValue = normalizeValue;
10
+ exports.parseInnerHTMLToText = parseInnerHTMLToText;
11
+ const ZERO_WIDTH_SPACE = '\u200B';
12
+
13
+ // If an Input Method Editor is processing key input, the 'keyCode' is 229.
14
+ // https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode
15
+ function isEventComposing(nativeEvent) {
16
+ return nativeEvent.isComposing || nativeEvent.keyCode === 229;
17
+ }
18
+ function getPlaceholderValue(placeholder) {
19
+ if (!placeholder) {
20
+ return ZERO_WIDTH_SPACE;
21
+ }
22
+ return placeholder.length ? placeholder : ZERO_WIDTH_SPACE;
23
+ }
24
+ function getElementHeight(node, styles, numberOfLines) {
25
+ if (numberOfLines) {
26
+ const tempElement = document.createElement('div');
27
+ tempElement.setAttribute('contenteditable', 'true');
28
+ Object.assign(tempElement.style, styles);
29
+ tempElement.textContent = Array(numberOfLines).fill('A').join('\n');
30
+ if (node.parentElement) {
31
+ node.parentElement.appendChild(tempElement);
32
+ const height = tempElement.clientHeight;
33
+ node.parentElement.removeChild(tempElement);
34
+ return height ? `${height}px` : 'auto';
35
+ }
36
+ }
37
+ return styles.height ? `${styles.height}px` : 'auto';
38
+ }
39
+ function normalizeValue(value) {
40
+ return value.replaceAll('\r\n', '\n');
41
+ }
42
+
43
+ // Parses the HTML structure of a MarkdownTextInputElement to a plain text string. Used for getting the correct value of the input element.
44
+ function parseInnerHTMLToText(target) {
45
+ // Returns the parent of a given node that is higher in the hierarchy and is of a different type than 'text', 'br' or 'line'
46
+ function getTopParentNode(node) {
47
+ let currentParentNode = node.parentNode;
48
+ while (currentParentNode && ['text', 'br', 'line'].includes(((_currentParentNode$pa = currentParentNode.parentElement) === null || _currentParentNode$pa === void 0 ? void 0 : _currentParentNode$pa.getAttribute('data-type')) || '')) {
49
+ var _currentParentNode$pa, _currentParentNode;
50
+ currentParentNode = ((_currentParentNode = currentParentNode) === null || _currentParentNode === void 0 ? void 0 : _currentParentNode.parentNode) || null;
51
+ }
52
+ return currentParentNode;
53
+ }
54
+ const stack = [target];
55
+ let text = '';
56
+ let shouldAddNewline = false;
57
+ const lastNode = target.childNodes[target.childNodes.length - 1];
58
+ // Remove the last <br> element if it's the last child of the target element. Fixes the issue with adding extra newline when pasting into the empty input.
59
+ if ((lastNode === null || lastNode === void 0 ? void 0 : lastNode.nodeName) === 'DIV' && (lastNode === null || lastNode === void 0 ? void 0 : lastNode.innerHTML) === '<br>') {
60
+ target.removeChild(lastNode);
61
+ }
62
+ while (stack.length > 0) {
63
+ var _node$parentElement;
64
+ const node = stack.pop();
65
+ if (!node) {
66
+ break;
67
+ }
68
+
69
+ // If we are operating on the nodes that are children of the MarkdownTextInputElement, we need to add a newline after each
70
+ const isTopComponent = ((_node$parentElement = node.parentElement) === null || _node$parentElement === void 0 ? void 0 : _node$parentElement.contentEditable) === 'true';
71
+ if (isTopComponent) {
72
+ // Replaced text is beeing added as text node, so we need to not add the newline before and after it
73
+ if (node.nodeType === Node.TEXT_NODE) {
74
+ shouldAddNewline = false;
75
+ } else {
76
+ if (shouldAddNewline) {
77
+ text += '\n';
78
+ shouldAddNewline = false;
79
+ }
80
+ shouldAddNewline = true;
81
+ }
82
+ }
83
+ if (node.nodeType === Node.TEXT_NODE) {
84
+ // Parse text nodes into text
85
+ text += node.textContent;
86
+ } else if (node.nodeName === 'BR') {
87
+ var _parentNode$parentEle;
88
+ const parentNode = getTopParentNode(node);
89
+ if (parentNode && ((_parentNode$parentEle = parentNode.parentElement) === null || _parentNode$parentEle === void 0 ? void 0 : _parentNode$parentEle.contentEditable) !== 'true') {
90
+ // Parse br elements into newlines only if their parent is not a child of the MarkdownTextInputElement (a paragraph when writing or a div when pasting).
91
+ // It prevents adding extra newlines when entering text
92
+ text += '\n';
93
+ }
94
+ } else {
95
+ let i = node.childNodes.length - 1;
96
+ while (i > -1) {
97
+ const child = node.childNodes[i];
98
+ if (!child) {
99
+ break;
100
+ }
101
+ stack.push(child);
102
+ i--;
103
+ }
104
+ }
105
+ }
106
+ return text.replaceAll('\r\n', '\n');
107
+ }
108
+ //# sourceMappingURL=inputUtils.js.map
@@ -0,0 +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":"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"}