@expensify/react-native-live-markdown 0.1.30 → 0.1.32

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.
@@ -395,26 +395,6 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
395
395
  divRef.current.style.height = elementHeight;
396
396
  divRef.current.style.maxHeight = elementHeight;
397
397
  }, [numberOfLines]);
398
- (0, _react.useEffect)(() => {
399
- // update event listeners events objects
400
- const originalAddEventListener = EventTarget.prototype.addEventListener;
401
- EventTarget.prototype.addEventListener = function (eventName, callback) {
402
- if (eventName === 'paste' && typeof callback === 'function') {
403
- originalAddEventListener.call(this, eventName, function (event) {
404
- if (divRef.current && divRef.current.contains(event.target)) {
405
- // pasting returns styled span elements as event.target instead of the contentEditable div. We want to keep the div as the target
406
- Object.defineProperty(event, 'target', {
407
- writable: false,
408
- value: divRef.current
409
- });
410
- }
411
- callback(event);
412
- });
413
- } else {
414
- originalAddEventListener.call(this, eventName, callback);
415
- }
416
- };
417
- }, []);
418
398
  (0, _react.useEffect)(() => {
419
399
  if (!divRef.current) {
420
400
  return;
@@ -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","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","ref","compositionRef","useRef","divRef","currentlyFocusedField","contentSelection","className","history","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","setEventProps","useCallback","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","debouncedAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","redo","processedValue","updateTextColor","String","handleOnChangeText","HTMLElement","inputType","updateSelection","event","normalizedText","handleSelectionChange","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","getCurrentCursorPosition","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","valueLength","setCursorPosition","clearTimeout","handleBlur","removeSelection","handleClick","startComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","originalAddEventListener","EventTarget","addEventListener","eventName","callback","contains","writable","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","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","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","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","ref","compositionRef","useRef","divRef","currentlyFocusedField","contentSelection","className","history","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","setEventProps","useCallback","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","debouncedAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","redo","processedValue","updateTextColor","String","handleOnChangeText","HTMLElement","inputType","updateSelection","event","normalizedText","handleSelectionChange","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","getCurrentCursorPosition","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","valueLength","setCursorPosition","clearTimeout","handleBlur","removeSelection","handleClick","startComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","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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"}
@@ -8,9 +8,11 @@ exports.moveCursorToEnd = moveCursorToEnd;
8
8
  exports.removeSelection = removeSelection;
9
9
  exports.scrollCursorIntoView = scrollCursorIntoView;
10
10
  exports.setCursorPosition = setCursorPosition;
11
+ exports.setPrevText = setPrevText;
11
12
  var BrowserUtils = _interopRequireWildcard(require("./browserUtils"));
12
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ let prevTextLength;
14
16
  function findTextNodes(textNodes, node) {
15
17
  if (node.nodeType === Node.TEXT_NODE) {
16
18
  textNodes.push(node);
@@ -23,11 +25,26 @@ function findTextNodes(textNodes, node) {
23
25
  }
24
26
  }
25
27
  }
28
+ function setPrevText(target) {
29
+ var _textNodes$map;
30
+ let text = [];
31
+ const textNodes = [];
32
+ findTextNodes(textNodes, target);
33
+ text = (_textNodes$map = textNodes.map(e => e.nodeValue ?? '')) === null || _textNodes$map === void 0 || (_textNodes$map = _textNodes$map.join('')) === null || _textNodes$map === void 0 ? void 0 : _textNodes$map.split('');
34
+ prevTextLength = text.length;
35
+ }
26
36
  function setCursorPosition(target, start, end = null) {
37
+ var _textNodes$map2;
27
38
  const range = document.createRange();
28
39
  range.selectNodeContents(target);
29
40
  const textNodes = [];
30
41
  findTextNodes(textNodes, target);
42
+
43
+ // These are utilities for handling the boundary cases (especially onEnter)
44
+ // prevChar & nextChar are characters before & after the target cursor position
45
+ const textCharacters = (_textNodes$map2 = textNodes.map(e => e.nodeValue ?? '')) === null || _textNodes$map2 === void 0 || (_textNodes$map2 = _textNodes$map2.join('')) === null || _textNodes$map2 === void 0 ? void 0 : _textNodes$map2.split('');
46
+ const prevChar = (textCharacters === null || textCharacters === void 0 ? void 0 : textCharacters[start - 1]) ?? '';
47
+ const nextChar = (textCharacters === null || textCharacters === void 0 ? void 0 : textCharacters[start]) ?? '';
31
48
  let charCount = 0;
32
49
  let startNode = null;
33
50
  let endNode = null;
@@ -38,7 +55,26 @@ function setCursorPosition(target, start, end = null) {
38
55
  const nextCharCount = charCount + textNode.length;
39
56
  if (!startNode && start >= charCount && (start <= nextCharCount || start === nextCharCount && i < n - 1)) {
40
57
  startNode = textNode;
41
- range.setStart(textNode, start - charCount);
58
+
59
+ // There are 4(/5) cases to consider here:
60
+ // 1. Caret in front of a character, when pressing enter
61
+ // 2. Caret at the end of a line (not last one)
62
+ // 3a. Caret at the end of whole input, when pressing enter - On firefox
63
+ // 3b. Caret at the end of whole input, when pressing enter - On other browsers
64
+ // 4. All other placements
65
+ if (prevChar === '\n' && prevTextLength !== undefined && prevTextLength < textCharacters.length) {
66
+ if (nextChar !== '\n') {
67
+ range.setStart(textNodes[i + 1], 0);
68
+ } else if (i !== textNodes.length - 1) {
69
+ range.setStart(textNodes[i], 1);
70
+ } else if (BrowserUtils.isFirefox) {
71
+ range.setStart(textNode, start - charCount);
72
+ } else {
73
+ range.setStart(textNodes[i], 2);
74
+ }
75
+ } else {
76
+ range.setStart(textNode, start - charCount);
77
+ }
42
78
  if (!end) {
43
79
  break;
44
80
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BrowserUtils","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","findTextNodes","textNodes","node","nodeType","Node","TEXT_NODE","push","length","childNodes","childNode","setCursorPosition","target","start","end","range","document","createRange","selectNodeContents","charCount","startNode","endNode","textNode","nextCharCount","setStart","setEnd","collapse","selection","window","getSelection","removeAllRanges","addRange","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","startContainer","startOffset","toString","removeSelection","selectionStart","value","isFirefox","caretRect","getClientRects","editableRect","getBoundingClientRect","paddingTop","parseFloat","getComputedStyle","borderTop","borderTopWidth","top","bottom","topToCaret","inputHeight","height","inputOffset","isChromium","scrollTo","scrollTop"],"sourceRoot":"../../../src","sources":["web/cursorUtils.ts"],"mappings":"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"}
1
+ {"version":3,"names":["BrowserUtils","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","prevTextLength","findTextNodes","textNodes","node","nodeType","Node","TEXT_NODE","push","length","childNodes","childNode","setPrevText","target","_textNodes$map","text","map","nodeValue","join","split","setCursorPosition","start","end","_textNodes$map2","range","document","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","textNode","nextCharCount","undefined","setStart","isFirefox","setEnd","collapse","selection","window","getSelection","removeAllRanges","addRange","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","startContainer","startOffset","toString","removeSelection","selectionStart","value","caretRect","getClientRects","editableRect","getBoundingClientRect","paddingTop","parseFloat","getComputedStyle","borderTop","borderTopWidth","top","bottom","topToCaret","inputHeight","height","inputOffset","isChromium","scrollTo","scrollTop"],"sourceRoot":"../../../src","sources":["web/cursorUtils.ts"],"mappings":"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"}
@@ -386,26 +386,6 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
386
386
  divRef.current.style.height = elementHeight;
387
387
  divRef.current.style.maxHeight = elementHeight;
388
388
  }, [numberOfLines]);
389
- useEffect(() => {
390
- // update event listeners events objects
391
- const originalAddEventListener = EventTarget.prototype.addEventListener;
392
- EventTarget.prototype.addEventListener = function (eventName, callback) {
393
- if (eventName === 'paste' && typeof callback === 'function') {
394
- originalAddEventListener.call(this, eventName, function (event) {
395
- if (divRef.current && divRef.current.contains(event.target)) {
396
- // pasting returns styled span elements as event.target instead of the contentEditable div. We want to keep the div as the target
397
- Object.defineProperty(event, 'target', {
398
- writable: false,
399
- value: divRef.current
400
- });
401
- }
402
- callback(event);
403
- });
404
- } else {
405
- originalAddEventListener.call(this, eventName, callback);
406
- }
407
- };
408
- }, []);
409
389
  useEffect(() => {
410
390
  if (!divRef.current) {
411
391
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","ParseUtils","CursorUtils","StyleUtils","InputHistory","require","useClientEffect","window","createReactDOMStyle","default","e","Error","preprocessStyle","dangerousStyleValue","focusTimeout","normalizeValue","value","replace","isEventComposing","nativeEvent","isComposing","keyCode","ZERO_WIDTH_SPACE","getPlaceholderValue","placeholder","length","processUnitsInMarkdownStyle","input","output","JSON","parse","stringify","Object","keys","forEach","key","obj","prop","processMarkdownStyle","mergeMarkdownStyleWithDefault","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","assign","style","innerText","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","MarkdownTextInput","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","ref","compositionRef","divRef","currentlyFocusedField","contentSelection","className","history","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","debouncedAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","redo","processedValue","updateTextColor","String","handleOnChangeText","HTMLElement","inputType","updateSelection","event","normalizedText","handleSelectionChange","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","getCurrentCursorPosition","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","valueLength","setCursorPosition","clearTimeout","handleBlur","removeSelection","handleClick","startComposition","setRef","currentRef","r","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","originalAddEventListener","EventTarget","prototype","addEventListener","eventName","callback","call","contains","defineProperty","writable","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"AAAA;;AAWA,OAAOA,KAAK,IAAGC,SAAS,EAAEC,MAAM,EAAEC,WAAW,EAAEC,OAAO,EAAEC,eAAe,QAAO,OAAO;AAErF,SAAQC,UAAU,QAAO,cAAc;AACvC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,WAAW,MAAM,mBAAmB;AAChD,OAAO,KAAKC,UAAU,MAAM,cAAc;AAE1C,OAAO,6BAA6B;AACpC,OAAOC,YAAY,MAAM,oBAAoB;AAE7CC,OAAO,CAAC,gDAAgD,CAAC;AAEzD,MAAMC,eAAe,GAAG,OAAOC,MAAM,KAAK,WAAW,GAAGZ,SAAS,GAAGI,eAAe;AAEnF,IAAIS,mBAAwC;AAC5C,IAAI;EACFA,mBAAmB;EACjB;EACAH,OAAO,CAAC,uEAAuE,CAAC,CAACI,OAAO;AAC5F,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV,MAAM,IAAIC,KAAK,CAAC,kKAAkK,CAAC;AACrL;AAEA,IAAIC,eAAoC;AACxC,IAAI;EACFA,eAAe;EACb;EACAP,OAAO,CAAC,qDAAqD,CAAC,CAACI,OAAO;AAC1E,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV,MAAM,IAAIC,KAAK,CAAC,0FAA0F,CAAC;AAC7G;AAEA,IAAIE,mBAAiF;AACrF,IAAI;EACFA,mBAAmB;EACjB;EACAR,OAAO,CAAC,qEAAqE,CAAC,CAACI,OAAO;AAC1F,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV,MAAM,IAAIC,KAAK,CAAC,8FAA8F,CAAC;AACjH;AAoBA,IAAIG,YAAmC,GAAG,IAAI;;AAE9C;AACA,SAASC,cAAcA,CAACC,KAAa,EAAE;EACrC,OAAOA,KAAK,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACjC;;AAEA;AACA;AACA,SAASC,gBAAgBA,CAACC,WAAqC,EAAE;EAC/D,OAAOA,WAAW,CAACC,WAAW,IAAID,WAAW,CAACE,OAAO,KAAK,GAAG;AAC/D;AAEA,MAAMC,gBAAgB,GAAG,QAAQ;AAEjC,SAASC,mBAAmBA,CAACC,WAA+B,EAAE;EAC5D,IAAI,CAACA,WAAW,EAAE;IAChB,OAAOF,gBAAgB;EACzB;EACA,OAAOE,WAAW,CAACC,MAAM,GAAGD,WAAW,GAAGF,gBAAgB;AAC5D;AAEA,SAASI,2BAA2BA,CAACC,KAAoB,EAAiB;EACxE,MAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACJ,KAAK,CAAC,CAAC;EAEhDK,MAAM,CAACC,IAAI,CAACL,MAAM,CAAC,CAACM,OAAO,CAAEC,GAAG,IAAK;IACnC,MAAMC,GAAG,GAAGR,MAAM,CAACO,GAAG,CAAC;IACvBH,MAAM,CAACC,IAAI,CAACG,GAAG,CAAC,CAACF,OAAO,CAAEG,IAAI,IAAK;MACjCD,GAAG,CAACC,IAAI,CAAC,GAAGxB,mBAAmB,CAACwB,IAAI,EAAED,GAAG,CAACC,IAAI,CAAC,EAAE,KAAK,CAAC;IACzD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOT,MAAM;AACf;AAEA,SAASU,oBAAoBA,CAACX,KAAgC,EAAiB;EAC7E,OAAOD,2BAA2B,CAACvB,UAAU,CAACoC,6BAA6B,CAACZ,KAAK,CAAC,CAAC;AACrF;AAEA,SAASa,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;IACnDf,MAAM,CAACgB,MAAM,CAACJ,WAAW,CAACK,KAAK,EAAEP,MAAM,CAAC;IACxCE,WAAW,CAACM,SAAS,GAAGC,KAAK,CAACR,aAAa,CAAC,CAACS,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACjE,IAAIZ,IAAI,CAACa,aAAa,EAAE;MACtBb,IAAI,CAACa,aAAa,CAACC,WAAW,CAACX,WAAW,CAAC;MAC3C,MAAMY,MAAM,GAAGZ,WAAW,CAACa,YAAY;MACvChB,IAAI,CAACa,aAAa,CAACI,WAAW,CAACd,WAAW,CAAC;MAC3C,OAAQ,GAAEY,MAAO,IAAG;IACtB;EACF;EACA,OAAQ,GAAEd,MAAM,CAACc,MAAO,IAAG,IAAI,MAAM;AACvC;AAEA,MAAMG,iBAAiB,gBAAGjE,KAAK,CAACkE,UAAU,CACxC,CACE;EACEC,kBAAkB;EAClBC,uBAAuB;EACvBC,iBAAiB;EACjBC,cAAc,GAAG,WAAW;EAC5BC,WAAW,GAAG,IAAI;EAClBC,YAAY,GAAG,KAAK;EACpBC,gBAAgB;EAChBC,GAAG,GAAG,MAAM;EACZC,QAAQ,GAAG,KAAK;EAChB1B,aAAa;EACb2B,SAAS,GAAG,KAAK;EACjBC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,YAAY;EACZC,OAAO;EACPC,OAAO;EACPC,UAAU;EACVC,iBAAiB;EACjBC,eAAe;EACfvD,WAAW;EACXwD,oBAAoB,GAAI,iBAAgB;EACxCC,iBAAiB;EACjBC,UAAU;EACVC,SAAS;EACTlC,KAAK,GAAG,CAAC,CAAC;EACVjC,KAAK;EACLoE,SAAS,GAAG;AACd,CAAC,EACDC,GAAG,KACA;EACH,MAAMC,cAAc,GAAG1F,MAAM,CAAU,KAAK,CAAC;EAC7C,MAAM2F,MAAM,GAAG3F,MAAM,CAAwB,IAAI,CAAC;EAClD,MAAM4F,qBAAqB,GAAG5F,MAAM,CAAwB,IAAI,CAAC;EACjE,MAAM6F,gBAAgB,GAAG7F,MAAM,CAAmB,IAAI,CAAC;EACvD,MAAM8F,SAAS,GAAI,oCAAmCpB,SAAS,GAAG,WAAW,GAAG,YAAa,EAAC;EAC9F,MAAMqB,OAAO,GAAG/F,MAAM,CAAe,CAAC;EACtC,IAAI,CAAC+F,OAAO,CAACC,OAAO,EAAE;IACpBD,OAAO,CAACC,OAAO,GAAG,IAAIxF,YAAY,CAAC,GAAG,CAAC;EACzC;EAEA,MAAMyF,cAAc,GAAG/F,OAAO,CAAC,MAAME,UAAU,CAAC8F,OAAO,CAAC7C,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;;EAExE;EACA,MAAM8C,qBAAqB,GAAGjG,OAAO,CAAC,MAAMyB,mBAAmB,CAACC,WAAW,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAE5F,MAAMwE,aAAa,GAAGnG,WAAW,CAAEa,CAA4B,IAAK;IAClE,IAAI6E,MAAM,CAACK,OAAO,EAAE;MAClB,MAAMK,IAAI,GAAGlF,cAAc,CAACwE,MAAM,CAACK,OAAO,CAAC1C,SAAS,IAAI,EAAE,CAAC;MAC3D,IAAIxC,CAAC,CAACwF,MAAM,EAAE;QACZ;QACCxF,CAAC,CAACwF,MAAM,CAAiClF,KAAK,GAAGiF,IAAI;MACxD;MACA,IAAIvF,CAAC,CAACS,WAAW,IAAIT,CAAC,CAACS,WAAW,CAAC8E,IAAI,EAAE;QACvCvF,CAAC,CAACS,WAAW,CAAC8E,IAAI,GAAGA,IAAI;MAC3B;IACF;IACA,OAAOvF,CAAC;EACV,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMyF,SAAS,GAAGtG,WAAW,CAC3B,CAACqG,MAAsB,EAAED,IAAmB,EAAEG,oBAAmC,EAAEC,cAA6B,GAAG,IAAI,EAAEC,kBAAkB,GAAG,IAAI,KAAK;IACrJ,IAAIL,IAAI,KAAK,IAAI,EAAE;MACjB,OAAO;QAACA,IAAI,EAAEC,MAAM,CAAChD,SAAS;QAAEmD,cAAc,EAAE;MAAI,CAAC;IACvD;IACA,MAAME,UAAU,GAAGtG,UAAU,CAACkG,SAAS,CAACD,MAAM,EAAED,IAAI,EAAEI,cAAc,EAAED,oBAAoB,EAAE,CAAC9B,SAAS,CAAC;IACvG,IAAIqB,OAAO,CAACC,OAAO,IAAIU,kBAAkB,EAAE;MACzCX,OAAO,CAACC,OAAO,CAACY,YAAY,CAACD,UAAU,CAACN,IAAI,EAAEM,UAAU,CAACF,cAAc,CAAC;IAC1E;IAEA,OAAOE,UAAU;EACnB,CAAC,EACD,CAACjC,SAAS,CACZ,CAAC;EAED,MAAMmC,sBAAsB,GAAG3G,OAAO,CAAC,MAAM;IAC3C,MAAM4G,gBAAgB,GAAGpE,oBAAoB,CAACiC,aAAa,CAAC;IAC5D,IAAIgB,MAAM,CAACK,OAAO,EAAE;MAClBO,SAAS,CAACZ,MAAM,CAACK,OAAO,EAAEL,MAAM,CAACK,OAAO,CAAC1C,SAAS,EAAEwD,gBAAgB,CAAC;IACvE;IACA,OAAOA,gBAAgB;EACzB,CAAC,EAAE,CAACnC,aAAa,CAAC,CAAC;EAEnB,MAAMoC,WAAW,GAAG7G,OAAO,CACzB,MACEE,UAAU,CAAC8F,OAAO,CAAC,CACjBpD,MAAM,CAACkE,kBAAkB,EACzBf,cAAc,IAAI;IAChBgB,UAAU,EAAGhB,cAAc,CAAeiB,KAAK,IAAI;EACrD,CAAC,EACDzC,QAAQ,IAAI3B,MAAM,CAACqE,mBAAmB,EACtCvG,mBAAmB,CAACI,eAAe,CAACiF,cAAc,CAAC,CAAC,CACrD,CAAkB,EACrB,CAACA,cAAc,EAAExB,QAAQ,CAC3B,CAAC;EAED,MAAM2C,IAAI,GAAGnH,WAAW,CACrBqG,MAAsB,IAAK;IAC1B,IAAI,CAACP,OAAO,CAACC,OAAO,EAAE,OAAO,EAAE;IAC/B,MAAMqB,IAAI,GAAGtB,OAAO,CAACC,OAAO,CAACoB,IAAI,CAAC,CAAC;IACnC,OAAOb,SAAS,CAACD,MAAM,EAAEe,IAAI,GAAGA,IAAI,CAAChB,IAAI,GAAG,IAAI,EAAEQ,sBAAsB,EAAEQ,IAAI,GAAGA,IAAI,CAACZ,cAAc,GAAG,IAAI,EAAE,KAAK,CAAC,CAACJ,IAAI;EAC1H,CAAC,EACD,CAACQ,sBAAsB,CACzB,CAAC;EAED,MAAMS,IAAI,GAAGrH,WAAW,CACrBqG,MAAsB,IAAK;IAC1B,IAAI,CAACP,OAAO,CAACC,OAAO,EAAE,OAAO,EAAE;IAC/B,MAAMqB,IAAI,GAAGtB,OAAO,CAACC,OAAO,CAACsB,IAAI,CAAC,CAAC;IACnC,OAAOf,SAAS,CAACD,MAAM,EAAEe,IAAI,GAAGA,IAAI,CAAChB,IAAI,GAAG,IAAI,EAAEQ,sBAAsB,EAAEQ,IAAI,GAAGA,IAAI,CAACZ,cAAc,GAAG,IAAI,EAAE,KAAK,CAAC,CAACJ,IAAI;EAC1H,CAAC,EACD,CAACQ,sBAAsB,CACzB,CAAC;;EAED;EACA,MAAMU,cAAc,GAAGrH,OAAO,CAAC,MAAM;IACnC,IAAIkB,KAAK,IAAIA,KAAK,CAACA,KAAK,CAACS,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;MAC7C,OAAQ,GAAET,KAAM,IAAG;IACrB;IACA,OAAOA,KAAK;EACd,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;;EAEX;EACA,MAAMoG,eAAe,GAAGvH,WAAW,CAAC,CAAC4C,IAAoB,EAAEwD,IAAY,KAAK;IAC1E;IACAxD,IAAI,CAACQ,KAAK,CAAC6D,KAAK,GAAGO,MAAM,CAAC7F,WAAW,KAAKyE,IAAI,KAAK,EAAE,IAAIA,IAAI,KAAK,IAAI,CAAC,GAAGjB,oBAAoB,GAAGa,cAAc,CAACiB,KAAK,IAAI,OAAO,CAAC;EACnI,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,kBAAkB,GAAGzH,WAAW,CACnCa,CAAiC,IAAK;IACrC,IAAI,CAAC6E,MAAM,CAACK,OAAO,IAAI,EAAElF,CAAC,CAACwF,MAAM,YAAYqB,WAAW,CAAC,EAAE;MACzD;IACF;IAEA,IAAIjC,cAAc,CAACM,OAAO,EAAE;MAC1BwB,eAAe,CAAC7B,MAAM,CAACK,OAAO,EAAElF,CAAC,CAACwF,MAAM,CAAChD,SAAS,CAAC;MACnDoC,cAAc,CAACM,OAAO,GAAG,KAAK;MAC9B;IACF;IAEA,IAAIK,IAAI,GAAG,EAAE;IACb,MAAM9E,WAAW,GAAGT,CAAC,CAACS,WAAkC;IACxD,QAAQA,WAAW,CAACqG,SAAS;MAC3B,KAAK,aAAa;QAChBvB,IAAI,GAAGe,IAAI,CAACzB,MAAM,CAACK,OAAO,CAAC;QAC3B;MACF,KAAK,aAAa;QAChBK,IAAI,GAAGiB,IAAI,CAAC3B,MAAM,CAACK,OAAO,CAAC;QAC3B;MACF;QACEK,IAAI,GAAGE,SAAS,CAACZ,MAAM,CAACK,OAAO,EAAElF,CAAC,CAACwF,MAAM,CAAChD,SAAS,EAAEuD,sBAAsB,CAAC,CAACR,IAAI;IACrF;IACAwB,eAAe,CAAC/G,CAAC,CAAC;IAClB0G,eAAe,CAAC7B,MAAM,CAACK,OAAO,EAAElF,CAAC,CAACwF,MAAM,CAAChD,SAAS,CAAC;IAEnD,IAAIuB,QAAQ,EAAE;MACZ,MAAMiD,KAAK,GAAGhH,CAAyC;MACvDsF,aAAa,CAAC0B,KAAK,CAAC;MACpBjD,QAAQ,CAACiD,KAAK,CAAC;IACjB;IAEA,IAAIhD,YAAY,EAAE;MAChB,MAAMiD,cAAc,GAAG5G,cAAc,CAACkF,IAAI,CAAC;MAC3CvB,YAAY,CAACiD,cAAc,CAAC;IAC9B;EACF,CAAC,EACD,CAACrD,SAAS,EAAEG,QAAQ,EAAEC,YAAY,EAAEsB,aAAa,EAAES,sBAAsB,CAC3E,CAAC;EAED,MAAMmB,qBAAwD,GAAG/H,WAAW,CACzE6H,KAAK,IAAK;IACT,MAAMhH,CAAC,GAAGgH,KAA2E;IACrF1B,aAAa,CAACtF,CAAC,CAAC;IAChB,IAAIoE,iBAAiB,IAAIW,gBAAgB,CAACG,OAAO,EAAE;MACjDlF,CAAC,CAACS,WAAW,CAACgE,SAAS,GAAGM,gBAAgB,CAACG,OAAO;MAClDd,iBAAiB,CAACpE,CAAC,CAAC;IACtB;EACF,CAAC,EACD,CAACoE,iBAAiB,EAAEkB,aAAa,CACnC,CAAC;EAED,MAAM6B,2BAA2B,GAAGhI,WAAW,CAAEiI,YAAuB,IAAK;IAC3E,MAAM;MAACC,KAAK;MAAEC;IAAG,CAAC,GAAGF,YAAY;IACjC,MAAMG,iBAAiB,GAAG1C,MAAM,CAACK,OAA2B;IAC5DqC,iBAAiB,CAACC,cAAc,GAAGH,KAAK;IACxCE,iBAAiB,CAACE,YAAY,GAAGH,GAAG;EACtC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMP,eAAe,GAAG5H,WAAW,CAAC,CAACa,CAAwC,GAAG,IAAI,KAAK;IACvF,IAAI,CAAC6E,MAAM,CAACK,OAAO,EAAE;MACnB;IACF;IACA,MAAMkC,YAAY,GAAG5H,WAAW,CAACkI,wBAAwB,CAAC7C,MAAM,CAACK,OAAO,CAAC;IAEzE,IAAIkC,YAAY,KAAK,CAACrC,gBAAgB,CAACG,OAAO,IAAIH,gBAAgB,CAACG,OAAO,CAACmC,KAAK,KAAKD,YAAY,CAACC,KAAK,IAAItC,gBAAgB,CAACG,OAAO,CAACoC,GAAG,KAAKF,YAAY,CAACE,GAAG,CAAC,EAAE;MAC7JH,2BAA2B,CAACC,YAAY,CAAC;MACzCrC,gBAAgB,CAACG,OAAO,GAAGkC,YAAY;MAEvC,IAAIpH,CAAC,EAAE;QACLkH,qBAAqB,CAAClH,CAAC,CAAC;MAC1B;IACF;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM2H,cAAc,GAAGxI,WAAW,CAC/Ba,CAAgC,IAAK;IACpC,IAAI,CAAC6E,MAAM,CAACK,OAAO,EAAE;MACnB;IACF;IAEA,MAAM0C,QAAQ,GAAG5H,CAAC,CAACwF,MAAM;IACzBxF,CAAC,CAAC6H,eAAe,CAAC,CAAC;IAEnB,IAAI7H,CAAC,CAACyB,GAAG,KAAK,GAAG,IAAIzB,CAAC,CAAC8H,OAAO,EAAE;MAC9B9H,CAAC,CAAC+H,cAAc,CAAC,CAAC;MAClB,MAAMtH,WAAW,GAAGT,CAAC,CAACS,WAA6C;MACnE,IAAIT,CAAC,CAACgI,QAAQ,EAAE;QACdvH,WAAW,CAACqG,SAAS,GAAG,aAAa;MACvC,CAAC,MAAM;QACLrG,WAAW,CAACqG,SAAS,GAAG,aAAa;MACvC;MAEAF,kBAAkB,CAAC5G,CAAC,CAAC;MACrB;IACF;IAEA,MAAMiI,mBAAmB,GAAG,CAACrE,SAAS;IACtC,MAAMsE,kBAAkB,GAAG1E,YAAY,KAAK,IAAI,GAAGyE,mBAAmB,GAAGzE,YAAY;IAErF,MAAM/C,WAAW,GAAGT,CAAC,CAACS,WAAW;IACjC,MAAMC,WAAW,GAAGF,gBAAgB,CAACC,WAAW,CAAC;IAEjD,MAAMuG,KAAK,GAAGhH,CAAgE;IAC9EsF,aAAa,CAAC0B,KAAK,CAAC;IACpB,IAAI7C,UAAU,EAAE;MACdA,UAAU,CAAC6C,KAAK,CAAC;IACnB;IAEAD,eAAe,CAACC,KAAyD,CAAC;IAE1E,IACEhH,CAAC,CAACyB,GAAG,KAAK,OAAO;IACjB;IACA,CAACf,WAAW,IACZ,CAACV,CAAC,CAACmI,kBAAkB,CAAC,CAAC,EACvB;MACA;MACAnI,CAAC,CAAC+H,cAAc,CAAC,CAAC;MAClB,IAAI,CAAC/H,CAAC,CAACgI,QAAQ,KAAKxE,YAAY,IAAI,CAACI,SAAS,CAAC,IAAIS,eAAe,EAAE;QAClEA,eAAe,CAAC2C,KAAyE,CAAC;MAC5F,CAAC,MAAM,IAAIpD,SAAS,EAAE;QACpB;QACA;QACAzB,QAAQ,CAACiG,WAAW,CAAC,iBAAiB,CAAC;QACvC5I,WAAW,CAAC6I,oBAAoB,CAACxD,MAAM,CAACK,OAA2B,CAAC;MACtE;MAEA,IAAI,CAAClF,CAAC,CAACgI,QAAQ,KAAME,kBAAkB,IAAIN,QAAQ,KAAK,IAAI,IAAK,CAAChE,SAAS,CAAC,EAAE;QAC5E0E,UAAU,CAAC,MAAMzD,MAAM,CAACK,OAAO,IAAIL,MAAM,CAACK,OAAO,CAACqD,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;MAC9D;IACF;EACF,CAAC,EACD,CAACpE,UAAU,CACb,CAAC;EAED,MAAMqE,WAA8C,GAAGrJ,WAAW,CAC/D6H,KAAK,IAAK;IACT,MAAMhH,CAAC,GAAGgH,KAAiE;IAC3E,MAAMY,QAAQ,GAAG5H,CAAC,CAACwF,MAAmC;IACtDV,qBAAqB,CAACI,OAAO,GAAG0C,QAAQ;IACxCtC,aAAa,CAACtF,CAAC,CAAC;IAChB,IAAI6E,MAAM,CAACK,OAAO,EAAE;MAClB,MAAMuD,WAAW,GAAGnI,KAAK,GAAGA,KAAK,CAACS,MAAM,GAAG,CAAC;MAC5CvB,WAAW,CAACkJ,iBAAiB,CAAC7D,MAAM,CAACK,OAAO,EAAEH,gBAAgB,CAACG,OAAO,GAAGH,gBAAgB,CAACG,OAAO,CAACoC,GAAG,GAAGmB,WAAW,CAAC;MACpH1B,eAAe,CAACC,KAAK,CAAC;IACxB;IAEA,IAAI9C,OAAO,EAAE;MACXoB,aAAa,CAACtF,CAAC,CAAC;MAChBkE,OAAO,CAAClE,CAAC,CAAC;IACZ;IAEA,IAAI4H,QAAQ,KAAK,IAAI,EAAE;MACrB,IAAInE,gBAAgB,IAAIoB,MAAM,CAACK,OAAO,EAAE;QACtCL,MAAM,CAACK,OAAO,CAAC1C,SAAS,GAAG,EAAE;MAC/B;MACA,IAAI+B,iBAAiB,EAAE;QACrB;QACA,IAAInE,YAAY,KAAK,IAAI,EAAE;UACzBuI,YAAY,CAACvI,YAAY,CAAC;QAC5B;QACAA,YAAY,GAAGkI,UAAU,CAAC,MAAM;UAC9B,IAAIV,QAAQ,KAAK,IAAI,EAAE;YACrB;UACF;UACAzF,QAAQ,CAACiG,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,CAAC,EAAE,CAAC,CAAC;MACP;IACF;EACF,CAAC,EACD,CAAC3E,gBAAgB,EAAEG,SAAS,EAAEM,OAAO,EAAEK,iBAAiB,EAAEe,aAAa,CACzE,CAAC;EAED,MAAMsD,UAA6C,GAAGzJ,WAAW,CAC9D6H,KAAK,IAAK;IACT,MAAMhH,CAAC,GAAGgH,KAAiE;IAC3ExH,WAAW,CAACqJ,eAAe,CAAC,CAAC;IAC7B/D,qBAAqB,CAACI,OAAO,GAAG,IAAI;IACpC,IAAIpB,MAAM,EAAE;MACVwB,aAAa,CAACtF,CAAC,CAAC;MAChB8D,MAAM,CAAC9D,CAAC,CAAC;IACX;EACF,CAAC,EACD,CAAC8D,MAAM,EAAEwB,aAAa,CACxB,CAAC;EAED,MAAMwD,WAAW,GAAG3J,WAAW,CAC5Ba,CAAoD,IAAK;IACxD+G,eAAe,CAAC/G,CAAC,CAAC;IAClB,IAAI,CAACiE,OAAO,IAAI,CAACY,MAAM,CAACK,OAAO,EAAE;MAC/B;IACF;IACClF,CAAC,CAACwF,MAAM,CAAsBlF,KAAK,GAAGD,cAAc,CAACwE,MAAM,CAACK,OAAO,CAAC1C,SAAS,IAAI,EAAE,CAAC;IACrFyB,OAAO,CAACjE,CAAC,CAAC;EACZ,CAAC,EACD,CAACiE,OAAO,CACV,CAAC;EAED,MAAM8E,gBAAgB,GAAG5J,WAAW,CAAC,MAAM;IACzCyF,cAAc,CAACM,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM8D,MAAM,GAAIC,UAAiC,IAAK;IACpD,MAAMC,CAAC,GAAGD,UAAU;IACpB,IAAIC,CAAC,EAAE;MACJA,CAAC,CAA0BC,SAAS,GAAG,MAAMhH,QAAQ,CAACiH,aAAa,KAAKF,CAAC;MACzEA,CAAC,CAA0BG,KAAK,GAAG,MAAM;QACxCH,CAAC,CAAC1G,SAAS,GAAG,EAAE;QAChBkE,eAAe,CAACwC,CAAC,EAAE,EAAE,CAAC;MACxB,CAAC;MAED,IAAI5I,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAKgJ,SAAS,EAAE;QACvC;QACA5C,eAAe,CAACwC,CAAC,EAAEA,CAAC,CAAC1G,SAAS,CAAC;MACjC;IACF;IAEA,IAAImC,GAAG,EAAE;MACP,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;QAC3B;QACCA,GAAG,CAA6CO,OAAO,GAAGgE,CAAC;MAC9D,CAAC,MAAM,IAAI,OAAOvE,GAAG,KAAK,UAAU,EAAE;QACnCA,GAAG,CAAiDuE,CAAC,CAAC;MACzD;IACF;IACArE,MAAM,CAACK,OAAO,GAAGgE,CAAC;EACpB,CAAC;EAEDtJ,eAAe,CACb,SAAS2J,kBAAkBA,CAAA,EAAG;IAC5B,IAAI,CAAC1E,MAAM,CAACK,OAAO,IAAIuB,cAAc,KAAK5B,MAAM,CAACK,OAAO,CAAC1C,SAAS,EAAE;MAClE;IACF;IAEA,IAAIlC,KAAK,KAAKgJ,SAAS,EAAE;MACvB7D,SAAS,CAACZ,MAAM,CAACK,OAAO,EAAEL,MAAM,CAACK,OAAO,CAAC1C,SAAS,EAAEuD,sBAAsB,CAAC;MAC3E;IACF;IAEA,MAAMR,IAAI,GAAGkB,cAAc,KAAK6C,SAAS,GAAG7C,cAAc,GAAG,EAAE;IAC/DhB,SAAS,CAACZ,MAAM,CAACK,OAAO,EAAEK,IAAI,EAAEQ,sBAAsB,EAAER,IAAI,CAACxE,MAAM,CAAC;IACpE2F,eAAe,CAAC7B,MAAM,CAACK,OAAO,EAAE5E,KAAK,CAAC;EACxC,CAAC,EACD,CAACsD,SAAS,EAAEmC,sBAAsB,EAAEU,cAAc,CACpD,CAAC;EAED7G,eAAe,CACb,SAAS4J,YAAYA,CAAA,EAAG;IACtB,IAAI,CAAC3E,MAAM,CAACK,OAAO,IAAI,CAACtB,SAAS,EAAE;MACjC;IACF;IACA,MAAM6F,aAAa,GAAG3H,gBAAgB,CAAC+C,MAAM,CAACK,OAAO,EAAEe,WAAW,EAAEhE,aAAa,CAAC;IAClF4C,MAAM,CAACK,OAAO,CAAC3C,KAAK,CAACO,MAAM,GAAG2G,aAAa;IAC3C5E,MAAM,CAACK,OAAO,CAAC3C,KAAK,CAACmH,SAAS,GAAGD,aAAa;EAChD,CAAC,EACD,CAACxH,aAAa,CAChB,CAAC;EAEDhD,SAAS,CAAC,MAAM;IACd;IACA,MAAM0K,wBAAwB,GAAGC,WAAW,CAACC,SAAS,CAACC,gBAAgB;IACvEF,WAAW,CAACC,SAAS,CAACC,gBAAgB,GAAG,UAAUC,SAAS,EAAEC,QAAQ,EAAE;MACtE,IAAID,SAAS,KAAK,OAAO,IAAI,OAAOC,QAAQ,KAAK,UAAU,EAAE;QAC3DL,wBAAwB,CAACM,IAAI,CAAC,IAAI,EAAEF,SAAS,EAAE,UAAU/C,KAAK,EAAE;UAC9D,IAAInC,MAAM,CAACK,OAAO,IAAIL,MAAM,CAACK,OAAO,CAACgF,QAAQ,CAAClD,KAAK,CAACxB,MAAc,CAAC,EAAE;YACnE;YACAlE,MAAM,CAAC6I,cAAc,CAACnD,KAAK,EAAE,QAAQ,EAAE;cAACoD,QAAQ,EAAE,KAAK;cAAE9J,KAAK,EAAEuE,MAAM,CAACK;YAAO,CAAC,CAAC;UAClF;UACA8E,QAAQ,CAAChD,KAAK,CAAC;QACjB,CAAC,CAAC;MACJ,CAAC,MAAM;QACL2C,wBAAwB,CAACM,IAAI,CAAC,IAAI,EAAEF,SAAS,EAAEC,QAAQ,CAAC;MAC1D;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN/K,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4F,MAAM,CAACK,OAAO,EAAE;MACnB;IACF;IACA;IACA,IAAIR,SAAS,EAAE;MACbG,MAAM,CAACK,OAAO,CAACmF,KAAK,CAAC,CAAC;IACxB;EACF,CAAC,EAAE,EAAE,CAAC;EAENpL,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4F,MAAM,CAACK,OAAO,IAAI,CAACT,SAAS,IAAKM,gBAAgB,CAACG,OAAO,IAAIT,SAAS,CAAC4C,KAAK,KAAKtC,gBAAgB,CAACG,OAAO,CAACmC,KAAK,IAAI5C,SAAS,CAAC6C,GAAG,KAAKvC,gBAAgB,CAACG,OAAO,CAACoC,GAAI,EAAE;MACvK;IACF;IACA9H,WAAW,CAACkJ,iBAAiB,CAAC7D,MAAM,CAACK,OAAO,EAAET,SAAS,CAAC4C,KAAK,EAAE5C,SAAS,CAAC6C,GAAG,CAAC;IAC7EP,eAAe,CAAC,CAAC;EACnB,CAAC,EAAE,CAACtC,SAAS,CAAC,CAAC;EAEf;IAAA;IACE;IACAzF,KAAA,CAAAoD,aAAA;MACEuC,GAAG,EAAEqE,MAAO;MACZsB,eAAe,EAAE,CAAC3G,QAAS;MAC3BpB,KAAK,EAAE0D,WAAY;MACnBsE,IAAI,EAAElH,iBAAiB,IAAI,SAAU;MACrC,cAAYF,kBAAmB;MAC/B,mBAAkB,GAAEC,uBAAwB,EAAE;MAC9C,oBAAkBiC,qBAAsB;MACxC,kBAAgBzB,SAAU;MAC1BL,WAAW,EAAEA,WAAW,GAAG,IAAI,GAAG,KAAM;MACxCD,cAAc,EAAEA,cAAe;MAC/B0B,SAAS,EAAEA,SAAU;MACrBwF,SAAS,EAAE7C,cAAe;MAC1B8C,kBAAkB,EAAE1B,gBAAiB;MACrC2B,OAAO,EAAE3D,eAAgB;MACzB4D,OAAO,EAAE/D,kBAAmB;MAC5B3C,OAAO,EAAE6E,WAAY;MACrB5E,OAAO,EAAEsE,WAAY;MACrB1E,MAAM,EAAE8E,UAAW;MACnB9H,WAAW,EAAEuE,qBAAsB;MACnCb,UAAU,EAAEA,UAAW;MACvBd,GAAG,EAAEA;IAAI,CACV;EAAC;AAEN,CACF,CAAC;AAED,MAAM1B,MAAM,GAAG1C,UAAU,CAACsL,MAAM,CAAC;EAC/B1E,kBAAkB,EAAE;IAClB2E,WAAW,EAAE,OAAO;IACpBC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,OAAO;IACpBC,UAAU,EAAE,YAAY;IACxB;IACAC,SAAS,EAAE,YAAY;IACvBC,UAAU,EAAE,UAAU;IACtBC,SAAS,EAAE,MAAM;IACjBC,SAAS,EAAE,MAAM;IACjBC,YAAY,EAAE;EAChB,CAAC;EACDhF,mBAAmB,EAAE;IACnBiF,OAAO,EAAE,IAAI;IACbC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAEF,eAAetI,iBAAiB"}
1
+ {"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","ParseUtils","CursorUtils","StyleUtils","InputHistory","require","useClientEffect","window","createReactDOMStyle","default","e","Error","preprocessStyle","dangerousStyleValue","focusTimeout","normalizeValue","value","replace","isEventComposing","nativeEvent","isComposing","keyCode","ZERO_WIDTH_SPACE","getPlaceholderValue","placeholder","length","processUnitsInMarkdownStyle","input","output","JSON","parse","stringify","Object","keys","forEach","key","obj","prop","processMarkdownStyle","mergeMarkdownStyleWithDefault","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","assign","style","innerText","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","MarkdownTextInput","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","ref","compositionRef","divRef","currentlyFocusedField","contentSelection","className","history","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","debouncedAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","redo","processedValue","updateTextColor","String","handleOnChangeText","HTMLElement","inputType","updateSelection","event","normalizedText","handleSelectionChange","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","getCurrentCursorPosition","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","valueLength","setCursorPosition","clearTimeout","handleBlur","removeSelection","handleClick","startComposition","setRef","currentRef","r","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import * as BrowserUtils from './browserUtils';
2
+ let prevTextLength;
2
3
  function findTextNodes(textNodes, node) {
3
4
  if (node.nodeType === Node.TEXT_NODE) {
4
5
  textNodes.push(node);
@@ -11,11 +12,26 @@ function findTextNodes(textNodes, node) {
11
12
  }
12
13
  }
13
14
  }
15
+ function setPrevText(target) {
16
+ var _textNodes$map;
17
+ let text = [];
18
+ const textNodes = [];
19
+ findTextNodes(textNodes, target);
20
+ text = (_textNodes$map = textNodes.map(e => e.nodeValue ?? '')) === null || _textNodes$map === void 0 || (_textNodes$map = _textNodes$map.join('')) === null || _textNodes$map === void 0 ? void 0 : _textNodes$map.split('');
21
+ prevTextLength = text.length;
22
+ }
14
23
  function setCursorPosition(target, start, end = null) {
24
+ var _textNodes$map2;
15
25
  const range = document.createRange();
16
26
  range.selectNodeContents(target);
17
27
  const textNodes = [];
18
28
  findTextNodes(textNodes, target);
29
+
30
+ // These are utilities for handling the boundary cases (especially onEnter)
31
+ // prevChar & nextChar are characters before & after the target cursor position
32
+ const textCharacters = (_textNodes$map2 = textNodes.map(e => e.nodeValue ?? '')) === null || _textNodes$map2 === void 0 || (_textNodes$map2 = _textNodes$map2.join('')) === null || _textNodes$map2 === void 0 ? void 0 : _textNodes$map2.split('');
33
+ const prevChar = (textCharacters === null || textCharacters === void 0 ? void 0 : textCharacters[start - 1]) ?? '';
34
+ const nextChar = (textCharacters === null || textCharacters === void 0 ? void 0 : textCharacters[start]) ?? '';
19
35
  let charCount = 0;
20
36
  let startNode = null;
21
37
  let endNode = null;
@@ -26,7 +42,26 @@ function setCursorPosition(target, start, end = null) {
26
42
  const nextCharCount = charCount + textNode.length;
27
43
  if (!startNode && start >= charCount && (start <= nextCharCount || start === nextCharCount && i < n - 1)) {
28
44
  startNode = textNode;
29
- range.setStart(textNode, start - charCount);
45
+
46
+ // There are 4(/5) cases to consider here:
47
+ // 1. Caret in front of a character, when pressing enter
48
+ // 2. Caret at the end of a line (not last one)
49
+ // 3a. Caret at the end of whole input, when pressing enter - On firefox
50
+ // 3b. Caret at the end of whole input, when pressing enter - On other browsers
51
+ // 4. All other placements
52
+ if (prevChar === '\n' && prevTextLength !== undefined && prevTextLength < textCharacters.length) {
53
+ if (nextChar !== '\n') {
54
+ range.setStart(textNodes[i + 1], 0);
55
+ } else if (i !== textNodes.length - 1) {
56
+ range.setStart(textNodes[i], 1);
57
+ } else if (BrowserUtils.isFirefox) {
58
+ range.setStart(textNode, start - charCount);
59
+ } else {
60
+ range.setStart(textNodes[i], 2);
61
+ }
62
+ } else {
63
+ range.setStart(textNode, start - charCount);
64
+ }
30
65
  if (!end) {
31
66
  break;
32
67
  }
@@ -102,5 +137,5 @@ function scrollCursorIntoView(target) {
102
137
  target.scrollTo(0, topToCaret + target.scrollTop + inputOffset);
103
138
  }
104
139
  }
105
- export { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, removeSelection, scrollCursorIntoView };
140
+ export { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, setPrevText, removeSelection, scrollCursorIntoView };
106
141
  //# sourceMappingURL=cursorUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BrowserUtils","findTextNodes","textNodes","node","nodeType","Node","TEXT_NODE","push","i","length","childNodes","childNode","setCursorPosition","target","start","end","range","document","createRange","selectNodeContents","charCount","startNode","endNode","n","textNode","nextCharCount","setStart","setEnd","collapse","selection","window","getSelection","removeAllRanges","addRange","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","startContainer","startOffset","toString","removeSelection","selectionStart","value","isFirefox","caretRect","getClientRects","editableRect","getBoundingClientRect","paddingTop","parseFloat","getComputedStyle","borderTop","borderTopWidth","top","bottom","topToCaret","inputHeight","height","inputOffset","isChromium","scrollTo","scrollTop"],"sourceRoot":"../../../src","sources":["web/cursorUtils.ts"],"mappings":"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"}
1
+ {"version":3,"names":["BrowserUtils","prevTextLength","findTextNodes","textNodes","node","nodeType","Node","TEXT_NODE","push","i","length","childNodes","childNode","setPrevText","target","_textNodes$map","text","map","e","nodeValue","join","split","setCursorPosition","start","end","_textNodes$map2","range","document","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","n","textNode","nextCharCount","undefined","setStart","isFirefox","setEnd","collapse","selection","window","getSelection","removeAllRanges","addRange","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","startContainer","startOffset","toString","removeSelection","selectionStart","value","caretRect","getClientRects","editableRect","getBoundingClientRect","paddingTop","parseFloat","getComputedStyle","borderTop","borderTopWidth","top","bottom","topToCaret","inputHeight","height","inputOffset","isChromium","scrollTo","scrollTop"],"sourceRoot":"../../../src","sources":["web/cursorUtils.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownTextInput.web.d.ts","sourceRoot":"","sources":["../../../src/MarkdownTextInput.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EAKT,cAAc,EAGf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAwE,UAAU,EAAgC,MAAM,OAAO,CAAC;AAK5I,OAAO,KAAK,KAAK,6CAA6C,MAAM,iDAAiD,CAAC;AACtH,OAAO,6BAA6B,CAAC;AAkCrC,KAAK,aAAa,GAAG,6CAA6C,CAAC,aAAa,CAAC;AAEjF,UAAU,sBAAuB,SAAQ,cAAc;IACrD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkED,QAAA,MAAM,iBAAiB,0FAsctB,CAAC;AAqBF,eAAe,iBAAiB,CAAC;AAEjC,YAAY,EAAC,sBAAsB,EAAC,CAAC"}
1
+ {"version":3,"file":"MarkdownTextInput.web.d.ts","sourceRoot":"","sources":["../../../src/MarkdownTextInput.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EAKT,cAAc,EAGf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAwE,UAAU,EAAgC,MAAM,OAAO,CAAC;AAK5I,OAAO,KAAK,KAAK,6CAA6C,MAAM,iDAAiD,CAAC;AACtH,OAAO,6BAA6B,CAAC;AAkCrC,KAAK,aAAa,GAAG,6CAA6C,CAAC,aAAa,CAAC;AAEjF,UAAU,sBAAuB,SAAQ,cAAc;IACrD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkED,QAAA,MAAM,iBAAiB,0FAobtB,CAAC;AAqBF,eAAe,iBAAiB,CAAC;AAEjC,YAAY,EAAC,sBAAsB,EAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ declare function setPrevText(target: HTMLElement): void;
1
2
  declare function setCursorPosition(target: HTMLElement, start: number, end?: number | null): void;
2
3
  declare function moveCursorToEnd(target: HTMLElement): void;
3
4
  declare function getCurrentCursorPosition(target: HTMLElement): {
@@ -6,5 +7,5 @@ declare function getCurrentCursorPosition(target: HTMLElement): {
6
7
  } | null;
7
8
  declare function removeSelection(): void;
8
9
  declare function scrollCursorIntoView(target: HTMLInputElement): void;
9
- export { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, removeSelection, scrollCursorIntoView };
10
+ export { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, setPrevText, removeSelection, scrollCursorIntoView };
10
11
  //# sourceMappingURL=cursorUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursorUtils.d.ts","sourceRoot":"","sources":["../../../../src/web/cursorUtils.ts"],"names":[],"mappings":"AAeA,iBAAS,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,GAAG,IAAW,QA0CvF;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,WAAW,QAS3C;AAED,iBAAS,wBAAwB,CAAC,MAAM,EAAE,WAAW;;;SAYpD;AAED,iBAAS,eAAe,SAKvB;AAED,iBAAS,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,QAyBrD;AAED,OAAO,EAAC,wBAAwB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAC,CAAC"}
1
+ {"version":3,"file":"cursorUtils.d.ts","sourceRoot":"","sources":["../../../../src/web/cursorUtils.ts"],"names":[],"mappings":"AAiBA,iBAAS,WAAW,CAAC,MAAM,EAAE,WAAW,QAUvC;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,GAAG,IAAW,QAsEvF;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,WAAW,QAS3C;AAED,iBAAS,wBAAwB,CAAC,MAAM,EAAE,WAAW;;;SAYpD;AAED,iBAAS,eAAe,SAKvB;AAED,iBAAS,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,QAyBrD;AAED,OAAO,EAAC,wBAAwB,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expensify/react-native-live-markdown",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
4
4
  "description": "Drop-in replacement for React Native's TextInput component with Markdown formatting.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -514,24 +514,6 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
514
514
  [numberOfLines],
515
515
  );
516
516
 
517
- useEffect(() => {
518
- // update event listeners events objects
519
- const originalAddEventListener = EventTarget.prototype.addEventListener;
520
- EventTarget.prototype.addEventListener = function (eventName, callback) {
521
- if (eventName === 'paste' && typeof callback === 'function') {
522
- originalAddEventListener.call(this, eventName, function (event) {
523
- if (divRef.current && divRef.current.contains(event.target as Node)) {
524
- // pasting returns styled span elements as event.target instead of the contentEditable div. We want to keep the div as the target
525
- Object.defineProperty(event, 'target', {writable: false, value: divRef.current});
526
- }
527
- callback(event);
528
- });
529
- } else {
530
- originalAddEventListener.call(this, eventName, callback);
531
- }
532
- };
533
- }, []);
534
-
535
517
  useEffect(() => {
536
518
  if (!divRef.current) {
537
519
  return;
@@ -1,5 +1,7 @@
1
1
  import * as BrowserUtils from './browserUtils';
2
2
 
3
+ let prevTextLength: number | undefined;
4
+
3
5
  function findTextNodes(textNodes: Text[], node: ChildNode) {
4
6
  if (node.nodeType === Node.TEXT_NODE) {
5
7
  textNodes.push(node as Text);
@@ -13,6 +15,18 @@ function findTextNodes(textNodes: Text[], node: ChildNode) {
13
15
  }
14
16
  }
15
17
 
18
+ function setPrevText(target: HTMLElement) {
19
+ let text = [];
20
+ const textNodes: Text[] = [];
21
+ findTextNodes(textNodes, target);
22
+ text = textNodes
23
+ .map((e) => e.nodeValue ?? '')
24
+ ?.join('')
25
+ ?.split('');
26
+
27
+ prevTextLength = text.length;
28
+ }
29
+
16
30
  function setCursorPosition(target: HTMLElement, start: number, end: number | null = null) {
17
31
  const range = document.createRange();
18
32
  range.selectNodeContents(target);
@@ -20,6 +34,15 @@ function setCursorPosition(target: HTMLElement, start: number, end: number | nul
20
34
  const textNodes: Text[] = [];
21
35
  findTextNodes(textNodes, target);
22
36
 
37
+ // These are utilities for handling the boundary cases (especially onEnter)
38
+ // prevChar & nextChar are characters before & after the target cursor position
39
+ const textCharacters = textNodes
40
+ .map((e) => e.nodeValue ?? '')
41
+ ?.join('')
42
+ ?.split('');
43
+ const prevChar = textCharacters?.[start - 1] ?? '';
44
+ const nextChar = textCharacters?.[start] ?? '';
45
+
23
46
  let charCount = 0;
24
47
  let startNode: Text | null = null;
25
48
  let endNode: Text | null = null;
@@ -31,7 +54,26 @@ function setCursorPosition(target: HTMLElement, start: number, end: number | nul
31
54
 
32
55
  if (!startNode && start >= charCount && (start <= nextCharCount || (start === nextCharCount && i < n - 1))) {
33
56
  startNode = textNode;
34
- range.setStart(textNode, start - charCount);
57
+
58
+ // There are 4(/5) cases to consider here:
59
+ // 1. Caret in front of a character, when pressing enter
60
+ // 2. Caret at the end of a line (not last one)
61
+ // 3a. Caret at the end of whole input, when pressing enter - On firefox
62
+ // 3b. Caret at the end of whole input, when pressing enter - On other browsers
63
+ // 4. All other placements
64
+ if (prevChar === '\n' && prevTextLength !== undefined && prevTextLength < textCharacters.length) {
65
+ if (nextChar !== '\n') {
66
+ range.setStart(textNodes[i + 1] as Node, 0);
67
+ } else if (i !== textNodes.length - 1) {
68
+ range.setStart(textNodes[i] as Node, 1);
69
+ } else if (BrowserUtils.isFirefox) {
70
+ range.setStart(textNode, start - charCount);
71
+ } else {
72
+ range.setStart(textNodes[i] as Node, 2);
73
+ }
74
+ } else {
75
+ range.setStart(textNode, start - charCount);
76
+ }
35
77
  if (!end) {
36
78
  break;
37
79
  }
@@ -116,4 +158,4 @@ function scrollCursorIntoView(target: HTMLInputElement) {
116
158
  }
117
159
  }
118
160
 
119
- export {getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, removeSelection, scrollCursorIntoView};
161
+ export {getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, setPrevText, removeSelection, scrollCursorIntoView};