@expensify/react-native-live-markdown 0.1.101 → 0.1.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/MarkdownTextInput.web.js +55 -12
- package/lib/commonjs/MarkdownTextInput.web.js.map +1 -1
- package/lib/commonjs/web/cursorUtils.js +4 -0
- package/lib/commonjs/web/cursorUtils.js.map +1 -1
- package/lib/module/MarkdownTextInput.web.js +55 -12
- package/lib/module/MarkdownTextInput.web.js.map +1 -1
- package/lib/module/web/cursorUtils.js +4 -1
- package/lib/module/web/cursorUtils.js.map +1 -1
- package/lib/typescript/src/MarkdownTextInput.web.d.ts.map +1 -1
- package/lib/typescript/src/web/cursorUtils.d.ts +2 -1
- package/lib/typescript/src/web/cursorUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/MarkdownTextInput.web.tsx +67 -17
- package/src/web/cursorUtils.ts +5 -1
|
@@ -180,19 +180,25 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
180
180
|
}, disabled && styles.disabledInputStyles, createReactDOMStyle(preprocessStyle(flattenedStyle))]), [flattenedStyle, disabled]);
|
|
181
181
|
const undo = (0, _react.useCallback)(target => {
|
|
182
182
|
if (!history.current) {
|
|
183
|
-
return
|
|
183
|
+
return {
|
|
184
|
+
text: '',
|
|
185
|
+
cursorPosition: 0
|
|
186
|
+
};
|
|
184
187
|
}
|
|
185
188
|
const item = history.current.undo();
|
|
186
189
|
const undoValue = item ? denormalizeValue(item.text) : null;
|
|
187
|
-
return parseText(target, undoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false)
|
|
190
|
+
return parseText(target, undoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
188
191
|
}, [parseText, processedMarkdownStyle]);
|
|
189
192
|
const redo = (0, _react.useCallback)(target => {
|
|
190
193
|
if (!history.current) {
|
|
191
|
-
return
|
|
194
|
+
return {
|
|
195
|
+
text: '',
|
|
196
|
+
cursorPosition: 0
|
|
197
|
+
};
|
|
192
198
|
}
|
|
193
199
|
const item = history.current.redo();
|
|
194
200
|
const redoValue = item ? denormalizeValue(item.text) : null;
|
|
195
|
-
return parseText(target, redoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false)
|
|
201
|
+
return parseText(target, redoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
196
202
|
}, [parseText, processedMarkdownStyle]);
|
|
197
203
|
|
|
198
204
|
// We have to process value property since contentEditable div adds one additional '\n' at the end of the text if we are entering new line
|
|
@@ -263,32 +269,43 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
263
269
|
if (!divRef.current || !(e.target instanceof HTMLElement)) {
|
|
264
270
|
return;
|
|
265
271
|
}
|
|
272
|
+
const prevSelection = contentSelection.current ?? {
|
|
273
|
+
start: 0,
|
|
274
|
+
end: 0
|
|
275
|
+
};
|
|
276
|
+
const prevTextLength = CursorUtils.getPrevTextLength() ?? 0;
|
|
266
277
|
const changedText = e.target.innerText;
|
|
267
278
|
if (compositionRef.current && !BrowserUtils.isMobile) {
|
|
268
279
|
updateTextColor(divRef.current, changedText);
|
|
269
280
|
compositionRef.current = false;
|
|
270
281
|
return;
|
|
271
282
|
}
|
|
272
|
-
let
|
|
283
|
+
let newInputUpdate;
|
|
273
284
|
const nativeEvent = e.nativeEvent;
|
|
274
|
-
|
|
285
|
+
const inputType = nativeEvent.inputType;
|
|
286
|
+
switch (inputType) {
|
|
275
287
|
case 'historyUndo':
|
|
276
|
-
|
|
288
|
+
newInputUpdate = undo(divRef.current);
|
|
277
289
|
break;
|
|
278
290
|
case 'historyRedo':
|
|
279
|
-
|
|
291
|
+
newInputUpdate = redo(divRef.current);
|
|
280
292
|
break;
|
|
281
293
|
case 'insertFromPaste':
|
|
282
294
|
// if there is no newline at the end of the copied text, contentEditable adds invisible <br> tag at the end of the text, so we need to normalize it
|
|
283
295
|
if (changedText.length > 2 && changedText[changedText.length - 2] !== '\n' && changedText[changedText.length - 1] === '\n') {
|
|
284
|
-
|
|
296
|
+
newInputUpdate = parseText(divRef.current, normalizeValue(changedText), processedMarkdownStyle);
|
|
285
297
|
break;
|
|
286
298
|
}
|
|
287
|
-
|
|
299
|
+
newInputUpdate = parseText(divRef.current, changedText, processedMarkdownStyle);
|
|
288
300
|
break;
|
|
289
301
|
default:
|
|
290
|
-
|
|
302
|
+
newInputUpdate = parseText(divRef.current, changedText, processedMarkdownStyle);
|
|
291
303
|
}
|
|
304
|
+
const {
|
|
305
|
+
text,
|
|
306
|
+
cursorPosition
|
|
307
|
+
} = newInputUpdate;
|
|
308
|
+
const normalizedText = normalizeValue(text);
|
|
292
309
|
if (pasteRef !== null && pasteRef !== void 0 && pasteRef.current) {
|
|
293
310
|
pasteRef.current = false;
|
|
294
311
|
updateSelection(e);
|
|
@@ -297,10 +314,33 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
297
314
|
if (onChange) {
|
|
298
315
|
const event = e;
|
|
299
316
|
setEventProps(event);
|
|
317
|
+
|
|
318
|
+
// The new text is between the prev start selection and the new end selection, can be empty
|
|
319
|
+
const addedText = normalizedText.slice(prevSelection.start, cursorPosition ?? 0);
|
|
320
|
+
// The length of the text that replaced the before text
|
|
321
|
+
const count = addedText.length;
|
|
322
|
+
// The start index of the replacement operation
|
|
323
|
+
let start = prevSelection.start;
|
|
324
|
+
const prevSelectionRange = prevSelection.end - prevSelection.start;
|
|
325
|
+
// The length the deleted text had before
|
|
326
|
+
let before = prevSelectionRange;
|
|
327
|
+
if (prevSelectionRange === 0 && (inputType === 'deleteContentBackward' || inputType === 'deleteContentForward')) {
|
|
328
|
+
// its possible the user pressed a delete key without a selection range, so we need to adjust the before value to have the length of the deleted text
|
|
329
|
+
before = prevTextLength - normalizedText.length;
|
|
330
|
+
}
|
|
331
|
+
if (inputType === 'deleteContentBackward') {
|
|
332
|
+
// When the user does a backspace delete he expects the content before the cursor to be removed.
|
|
333
|
+
// For this the start value needs to be adjusted (its as if the selection was before the text that we want to delete)
|
|
334
|
+
start -= before;
|
|
335
|
+
}
|
|
336
|
+
event.nativeEvent.count = count;
|
|
337
|
+
event.nativeEvent.before = before;
|
|
338
|
+
event.nativeEvent.start = start;
|
|
339
|
+
|
|
340
|
+
// @ts-expect-error TODO: Remove once react native PR merged https://github.com/facebook/react-native/pull/45248
|
|
300
341
|
onChange(event);
|
|
301
342
|
}
|
|
302
343
|
if (onChangeText) {
|
|
303
|
-
const normalizedText = normalizeValue(text);
|
|
304
344
|
onChangeText(normalizedText);
|
|
305
345
|
}
|
|
306
346
|
handleContentSizeChange();
|
|
@@ -405,6 +445,9 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
405
445
|
}, [onClick, updateSelection]);
|
|
406
446
|
const handlePaste = (0, _react.useCallback)(e => {
|
|
407
447
|
pasteRef.current = true;
|
|
448
|
+
if (e.isDefaultPrevented()) {
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
408
451
|
e.preventDefault();
|
|
409
452
|
const clipboardData = e.clipboardData;
|
|
410
453
|
const text = clipboardData.getData('text/plain');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","ParseUtils","CursorUtils","StyleUtils","BrowserUtils","_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","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","changedText","isMobile","inputType","normalizedText","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","setCursorPosition","valueLength","clearTimeout","handleBlur","removeSelection","handleClick","handlePaste","clipboardData","getData","startComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","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","ParseUtils","CursorUtils","StyleUtils","BrowserUtils","_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","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","isMobile","newInputUpdate","inputType","normalizedText","addedText","slice","count","prevSelectionRange","before","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","setCursorPosition","valueLength","clearTimeout","handleBlur","removeSelection","handleClick","handlePaste","clipboardData","getData","startComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","onPaste","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,UAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAN,uBAAA,CAAAC,OAAA;AAEAA,OAAA;AACA,IAAAM,aAAA,GAAAC,sBAAA,CAAAP,OAAA;AAA8C,SAAAO,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AArB9C;;AAuBAlB,OAAO,CAAC,gDAAgD,CAAC;AAEzD,MAAM8B,eAAe,GAAG,OAAOC,MAAM,KAAK,WAAW,GAAGC,gBAAS,GAAGC,sBAAe;AAEnF,IAAIC,mBAAwC;AAC5C,IAAI;EACFA,mBAAmB;EACjB;EACAlC,OAAO,CAAC,uEAAuE,CAAC,CAACU,OAAO;AAC5F,CAAC,CAAC,OAAOE,CAAC,EAAE;EACV,MAAM,IAAIuB,KAAK,CAAC,kKAAkK,CAAC;AACrL;AAEA,IAAIC,eAAoC;AACxC,IAAI;EACFA,eAAe;EACb;EACApC,OAAO,CAAC,qDAAqD,CAAC,CAACU,OAAO;AAC1E,CAAC,CAAC,OAAOE,CAAC,EAAE;EACV,MAAM,IAAIuB,KAAK,CAAC,0FAA0F,CAAC;AAC7G;AAEA,IAAIE,mBAAiF;AACrF,IAAI;EACFA,mBAAmB;EACjB;EACArC,OAAO,CAAC,qEAAqE,CAAC,CAACU,OAAO;AAC1F,CAAC,CAAC,OAAOE,CAAC,EAAE;EACV,MAAM,IAAIuB,KAAK,CAAC,8FAA8F,CAAC;AACjH;AA8BA,IAAIG,YAAmC,GAAG,IAAI;;AAE9C;AACA,SAASC,cAAcA,CAACC,KAAa,EAAE;EACrC,OAAOA,KAAK,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACjC;AACA;AACA,SAASC,gBAAgBA,CAACF,KAAa,EAAE;EACvC,OAAOA,KAAK,CAACG,QAAQ,CAAC,IAAI,CAAC,GAAI,GAAEH,KAAM,IAAG,GAAGA,KAAK;AACpD;;AAEA;AACA;AACA,SAASI,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;EAEhDhC,MAAM,CAACqC,IAAI,CAACJ,MAAM,CAAC,CAACK,OAAO,CAAEC,GAAG,IAAK;IACnC,MAAMpD,GAAG,GAAG8C,MAAM,CAACM,GAAG,CAAC;IACvBvC,MAAM,CAACqC,IAAI,CAAClD,GAAG,CAAC,CAACmD,OAAO,CAAEE,IAAI,IAAK;MACjCrD,GAAG,CAACqD,IAAI,CAAC,GAAGxB,mBAAmB,CAACwB,IAAI,EAAErD,GAAG,CAACqD,IAAI,CAAC,EAAE,KAAK,CAAC;IACzD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOP,MAAM;AACf;AAEA,SAASQ,oBAAoBA,CAACT,KAAgC,EAAiB;EAC7E,OAAOD,2BAA2B,CAAChD,UAAU,CAAC2D,6BAA6B,CAACV,KAAK,CAAC,CAAC;AACrF;AAEA,SAASW,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;IACnDlD,MAAM,CAACmD,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,OAAOY,MAAM,GAAI,GAAEA,MAAO,IAAG,GAAG,MAAM;IACxC;EACF;EACA,OAAOd,MAAM,CAACc,MAAM,GAAI,GAAEd,MAAM,CAACc,MAAO,IAAG,GAAG,MAAM;AACtD;AAEA,MAAMG,iBAAiB,gBAAGC,cAAK,CAACC,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;EAChB3B,aAAa;EACb4B,SAAS,GAAG,KAAK;EACjBC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,YAAY;EACZC,OAAO;EACPC,OAAO;EACPC,UAAU;EACVC,iBAAiB;EACjBC,eAAe;EACftD,WAAW;EACXuD,oBAAoB,GAAI,iBAAgB;EACxCC,iBAAiB;EACjBC,UAAU;EACVC,SAAS;EACTnC,KAAK,GAAG,CAAC,CAAC;EACVjC,KAAK;EACLqE,SAAS,GAAG,KAAK;EACjBC,mBAAmB;EACnBC;AACF,CAAC,EACDC,GAAG,KACA;EACH,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAAU,KAAK,CAAC;EAC7C,MAAMC,QAAQ,GAAG,IAAAD,aAAM,EAAU,KAAK,CAAC;EACvC,MAAME,MAAM,GAAG,IAAAF,aAAM,EAAwB,IAAI,CAAC;EAClD,MAAMG,qBAAqB,GAAG,IAAAH,aAAM,EAAwB,IAAI,CAAC;EACjE,MAAMI,gBAAgB,GAAG,IAAAJ,aAAM,EAAmB,IAAI,CAAC;EACvD,MAAMK,SAAS,GAAI,oCAAmCxB,SAAS,GAAG,WAAW,GAAG,YAAa,EAAC;EAC9F,MAAMyB,OAAO,GAAG,IAAAN,aAAM,EAAe,CAAC;EACtC,MAAMO,UAAU,GAAGrC,cAAK,CAAC8B,MAAM,CAAoB,IAAI,CAAC;EAExD,IAAI,CAACM,OAAO,CAACE,OAAO,EAAE;IACpBF,OAAO,CAACE,OAAO,GAAG,IAAIC,qBAAY,CAAC,GAAG,EAAE,GAAG,EAAEnF,KAAK,IAAI,EAAE,CAAC;EAC3D;EAEA,MAAMoF,cAAc,GAAG,IAAAC,cAAO,EAAC,MAAMC,uBAAU,CAACC,OAAO,CAACtD,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;;EAExE;EACA,MAAMuD,qBAAqB,GAAG,IAAAH,cAAO,EAAC,MAAM5E,mBAAmB,CAACC,WAAW,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAE5F,MAAM+E,aAAa,GAAG,IAAAC,kBAAW,EAAEtH,CAA4B,IAAK;IAClE,IAAIwG,MAAM,CAACM,OAAO,EAAE;MAClB,MAAMS,IAAI,GAAG5F,cAAc,CAAC6E,MAAM,CAACM,OAAO,CAAChD,SAAS,IAAI,EAAE,CAAC;MAC3D,IAAI9D,CAAC,CAACwH,MAAM,EAAE;QACZ;QACCxH,CAAC,CAACwH,MAAM,CAAiC5F,KAAK,GAAG2F,IAAI;MACxD;MACA,IAAIvH,CAAC,CAACiC,WAAW,IAAIjC,CAAC,CAACiC,WAAW,CAACsF,IAAI,EAAE;QACvCvH,CAAC,CAACiC,WAAW,CAACsF,IAAI,GAAGA,IAAI;MAC3B;IACF;IACA,OAAOvH,CAAC;EACV,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMyH,SAAS,GAAG,IAAAH,kBAAW,EAC3B,CAACE,MAAsB,EAAED,IAAmB,EAAEG,oBAAmC,EAAEC,cAA6B,GAAG,IAAI,EAAEC,kBAAkB,GAAG,IAAI,KAAsB;IACtK,IAAIL,IAAI,KAAK,IAAI,EAAE;MACjB,OAAO;QAACA,IAAI,EAAEC,MAAM,CAAC1D,SAAS;QAAE6D,cAAc,EAAE;MAAI,CAAC;IACvD;IACA,MAAME,UAAU,GAAGvI,UAAU,CAACmI,SAAS,CAACD,MAAM,EAAED,IAAI,EAAEI,cAAc,EAAED,oBAAoB,EAAE,CAACvC,SAAS,CAAC;IACvG,IAAIyB,OAAO,CAACE,OAAO,IAAIc,kBAAkB,EAAE;MACzC;MACAhB,OAAO,CAACE,OAAO,CAACgB,YAAY,CAACnG,cAAc,CAACkG,UAAU,CAACN,IAAI,CAAC,EAAEM,UAAU,CAACF,cAAc,CAAC;IAC1F;IAEA,OAAOE,UAAU;EACnB,CAAC,EACD,CAAC1C,SAAS,CACZ,CAAC;EAED,MAAM4C,sBAAsB,GAAG,IAAAd,cAAO,EAAC,MAAM;IAC3C,MAAMe,gBAAgB,GAAG9E,oBAAoB,CAACkC,aAAa,CAAC;IAC5D,IAAIoB,MAAM,CAACM,OAAO,EAAE;MAClBW,SAAS,CAACjB,MAAM,CAACM,OAAO,EAAEN,MAAM,CAACM,OAAO,CAAChD,SAAS,EAAEkE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC;IACpF;IACA,OAAOA,gBAAgB;EACzB,CAAC,EAAE,CAAC5C,aAAa,EAAEqC,SAAS,CAAC,CAAC;EAE9B,MAAMQ,WAAW,GAAG,IAAAhB,cAAO,EACzB,MACEC,uBAAU,CAACC,OAAO,CAAC,CACjB7D,MAAM,CAAC4E,kBAAkB,EACzBlB,cAAc,IAAI;IAChBmB,UAAU,EAAGnB,cAAc,CAAeoB,KAAK,IAAI;EACrD,CAAC,EACDlD,QAAQ,IAAI5B,MAAM,CAAC+E,mBAAmB,EACtC/G,mBAAmB,CAACE,eAAe,CAACwF,cAAc,CAAC,CAAC,CACrD,CAAkB,EACrB,CAACA,cAAc,EAAE9B,QAAQ,CAC3B,CAAC;EAED,MAAMoD,IAAI,GAAG,IAAAhB,kBAAW,EACrBE,MAAsB,IAAsB;IAC3C,IAAI,CAACZ,OAAO,CAACE,OAAO,EAAE;MACpB,OAAO;QACLS,IAAI,EAAE,EAAE;QACRI,cAAc,EAAE;MAClB,CAAC;IACH;IACA,MAAMY,IAAI,GAAG3B,OAAO,CAACE,OAAO,CAACwB,IAAI,CAAC,CAAC;IACnC,MAAME,SAAS,GAAGD,IAAI,GAAGzG,gBAAgB,CAACyG,IAAI,CAAChB,IAAI,CAAC,GAAG,IAAI;IAC3D,OAAOE,SAAS,CAACD,MAAM,EAAEgB,SAAS,EAAET,sBAAsB,EAAEQ,IAAI,GAAGA,IAAI,CAACZ,cAAc,GAAG,IAAI,EAAE,KAAK,CAAC;EACvG,CAAC,EACD,CAACF,SAAS,EAAEM,sBAAsB,CACpC,CAAC;EAED,MAAMU,IAAI,GAAG,IAAAnB,kBAAW,EACrBE,MAAsB,IAAsB;IAC3C,IAAI,CAACZ,OAAO,CAACE,OAAO,EAAE;MACpB,OAAO;QACLS,IAAI,EAAE,EAAE;QACRI,cAAc,EAAE;MAClB,CAAC;IACH;IACA,MAAMY,IAAI,GAAG3B,OAAO,CAACE,OAAO,CAAC2B,IAAI,CAAC,CAAC;IACnC,MAAMC,SAAS,GAAGH,IAAI,GAAGzG,gBAAgB,CAACyG,IAAI,CAAChB,IAAI,CAAC,GAAG,IAAI;IAC3D,OAAOE,SAAS,CAACD,MAAM,EAAEkB,SAAS,EAAEX,sBAAsB,EAAEQ,IAAI,GAAGA,IAAI,CAACZ,cAAc,GAAG,IAAI,EAAE,KAAK,CAAC;EACvG,CAAC,EACD,CAACF,SAAS,EAAEM,sBAAsB,CACpC,CAAC;;EAED;EACA,MAAMY,cAAc,GAAG,IAAA1B,cAAO,EAAC,MAAM;IACnC,IAAIrF,KAAK,IAAIA,KAAK,CAACA,KAAK,CAACW,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;MAC7C,OAAQ,GAAEX,KAAM,IAAG;IACrB;IACA,OAAOA,KAAK;EACd,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;;EAEX;EACA,MAAMgH,eAAe,GAAG,IAAAtB,kBAAW,EACjC,CAACjE,IAAoB,EAAEkE,IAAY,KAAK;IACtC;IACAlE,IAAI,CAACQ,KAAK,CAACuE,KAAK,GAAGS,MAAM,CAACvG,WAAW,KAAKiF,IAAI,KAAK,EAAE,IAAIA,IAAI,KAAK,IAAI,CAAC,GAAG1B,oBAAoB,GAAGmB,cAAc,CAACoB,KAAK,IAAI,OAAO,CAAC;EACnI,CAAC,EACD,CAACpB,cAAc,CAACoB,KAAK,EAAE9F,WAAW,EAAEuD,oBAAoB,CAC1D,CAAC;EAED,MAAMiD,qBAAwD,GAAG,IAAAxB,kBAAW,EACzEyB,KAAK,IAAK;IACT,MAAM/I,CAAC,GAAG+I,KAA2E;IACrF1B,aAAa,CAACrH,CAAC,CAAC;IAChB,IAAI2F,iBAAiB,IAAIe,gBAAgB,CAACI,OAAO,EAAE;MACjD9G,CAAC,CAACiC,WAAW,CAAC+D,SAAS,GAAGU,gBAAgB,CAACI,OAAO;MAClDnB,iBAAiB,CAAC3F,CAAC,CAAC;IACtB;EACF,CAAC,EACD,CAAC2F,iBAAiB,EAAE0B,aAAa,CACnC,CAAC;EAED,MAAM2B,2BAA2B,GAAG,IAAA1B,kBAAW,EAAE2B,YAAuB,IAAK;IAC3E,MAAM;MAACC,KAAK;MAAEC;IAAG,CAAC,GAAGF,YAAY;IACjC,MAAMG,iBAAiB,GAAG5C,MAAM,CAACM,OAA2B;IAC5DsC,iBAAiB,CAACC,cAAc,GAAGH,KAAK;IACxCE,iBAAiB,CAACE,YAAY,GAAGH,GAAG;EACtC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,eAAe,GAAG,IAAAjC,kBAAW,EACjC,CAACtH,CAAwC,GAAG,IAAI,EAAEwJ,mBAAqC,GAAG,IAAI,KAAK;IACjG,IAAI,CAAChD,MAAM,CAACM,OAAO,EAAE;MACnB;IACF;IACA,MAAMmC,YAAY,GAAGO,mBAAmB,IAAIjK,WAAW,CAACkK,wBAAwB,CAACjD,MAAM,CAACM,OAAO,CAAC;IAEhG,IAAImC,YAAY,KAAK,CAACvC,gBAAgB,CAACI,OAAO,IAAIJ,gBAAgB,CAACI,OAAO,CAACoC,KAAK,KAAKD,YAAY,CAACC,KAAK,IAAIxC,gBAAgB,CAACI,OAAO,CAACqC,GAAG,KAAKF,YAAY,CAACE,GAAG,CAAC,EAAE;MAC7JH,2BAA2B,CAACC,YAAY,CAAC;MACzCvC,gBAAgB,CAACI,OAAO,GAAGmC,YAAY;MAEvC,IAAIjJ,CAAC,EAAE;QACL8I,qBAAqB,CAAC9I,CAAC,CAAC;MAC1B;IACF;EACF,CAAC,EACD,CAAC8I,qBAAqB,EAAEE,2BAA2B,CACrD,CAAC;EAED,MAAMU,uBAAuB,GAAG,IAAApC,kBAAW,EAAC,MAAM;IAAA,IAAAqC,mBAAA;IAChD,IAAI,CAACnD,MAAM,CAACM,OAAO,IAAI,CAAC3B,SAAS,IAAI,CAACe,mBAAmB,EAAE;MACzD;IACF;IAEA,MAAM;MAAC0D,WAAW,EAAEC,QAAQ;MAAEC,YAAY,EAAEC;IAAS,CAAC,GAAGvD,MAAM,CAACM,OAAO;IAEvE,IAAIiD,SAAS,OAAAJ,mBAAA,GAAK9C,UAAU,CAACC,OAAO,cAAA6C,mBAAA,uBAAlBA,mBAAA,CAAoBvF,MAAM,KAAIyF,QAAQ,KAAKhD,UAAU,CAACC,OAAO,CAACkD,KAAK,EAAE;MACrFnD,UAAU,CAACC,OAAO,GAAG;QAAC1C,MAAM,EAAE2F,SAAS;QAAEC,KAAK,EAAEH;MAAQ,CAAC;MAEzD3D,mBAAmB,CAAC;QAClBjE,WAAW,EAAE;UACXgI,WAAW,EAAEpD,UAAU,CAACC;QAC1B;MACF,CAA8D,CAAC;IACjE;EACF,CAAC,EAAE,CAAC3B,SAAS,EAAEe,mBAAmB,CAAC,CAAC;EAEpC,MAAMgE,kBAAkB,GAAG,IAAA5C,kBAAW,EACnCtH,CAAiC,IAAK;IACrC,IAAI,CAACwG,MAAM,CAACM,OAAO,IAAI,EAAE9G,CAAC,CAACwH,MAAM,YAAY2C,WAAW,CAAC,EAAE;MACzD;IACF;IACA,MAAMC,aAAa,GAAG1D,gBAAgB,CAACI,OAAO,IAAI;MAACoC,KAAK,EAAE,CAAC;MAAEC,GAAG,EAAE;IAAC,CAAC;IACpE,MAAMkB,cAAc,GAAG9K,WAAW,CAAC+K,iBAAiB,CAAC,CAAC,IAAI,CAAC;IAC3D,MAAMC,WAAW,GAAGvK,CAAC,CAACwH,MAAM,CAAC1D,SAAS;IACtC,IAAIuC,cAAc,CAACS,OAAO,IAAI,CAACrH,YAAY,CAAC+K,QAAQ,EAAE;MACpD5B,eAAe,CAACpC,MAAM,CAACM,OAAO,EAAEyD,WAAW,CAAC;MAC5ClE,cAAc,CAACS,OAAO,GAAG,KAAK;MAC9B;IACF;IAEA,IAAI2D,cAA+B;IACnC,MAAMxI,WAAW,GAAGjC,CAAC,CAACiC,WAAkC;IACxD,MAAMyI,SAAS,GAAGzI,WAAW,CAACyI,SAAS;IACvC,QAAQA,SAAS;MACf,KAAK,aAAa;QAChBD,cAAc,GAAGnC,IAAI,CAAC9B,MAAM,CAACM,OAAO,CAAC;QACrC;MACF,KAAK,aAAa;QAChB2D,cAAc,GAAGhC,IAAI,CAACjC,MAAM,CAACM,OAAO,CAAC;QACrC;MACF,KAAK,iBAAiB;QACpB;QACA,IAAIyD,WAAW,CAAChI,MAAM,GAAG,CAAC,IAAIgI,WAAW,CAACA,WAAW,CAAChI,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,IAAIgI,WAAW,CAACA,WAAW,CAAChI,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;UAC1HkI,cAAc,GAAGhD,SAAS,CAACjB,MAAM,CAACM,OAAO,EAAEnF,cAAc,CAAC4I,WAAW,CAAC,EAAExC,sBAAsB,CAAC;UAC/F;QACF;QACA0C,cAAc,GAAGhD,SAAS,CAACjB,MAAM,CAACM,OAAO,EAAEyD,WAAW,EAAExC,sBAAsB,CAAC;QAC/E;MACF;QACE0C,cAAc,GAAGhD,SAAS,CAACjB,MAAM,CAACM,OAAO,EAAEyD,WAAW,EAAExC,sBAAsB,CAAC;IACnF;IAEA,MAAM;MAACR,IAAI;MAAEI;IAAc,CAAC,GAAG8C,cAAc;IAC7C,MAAME,cAAc,GAAGhJ,cAAc,CAAC4F,IAAI,CAAC;IAE3C,IAAIhB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEO,OAAO,EAAE;MACrBP,QAAQ,CAACO,OAAO,GAAG,KAAK;MACxByC,eAAe,CAACvJ,CAAC,CAAC;IACpB;IACA4I,eAAe,CAACpC,MAAM,CAACM,OAAO,EAAES,IAAI,CAAC;IAErC,IAAIjC,QAAQ,EAAE;MACZ,MAAMyD,KAAK,GAAG/I,CAIZ;MACFqH,aAAa,CAAC0B,KAAK,CAAC;;MAEpB;MACA,MAAM6B,SAAS,GAAGD,cAAc,CAACE,KAAK,CAACT,aAAa,CAAClB,KAAK,EAAEvB,cAAc,IAAI,CAAC,CAAC;MAChF;MACA,MAAMmD,KAAK,GAAGF,SAAS,CAACrI,MAAM;MAC9B;MACA,IAAI2G,KAAK,GAAGkB,aAAa,CAAClB,KAAK;MAE/B,MAAM6B,kBAAkB,GAAGX,aAAa,CAACjB,GAAG,GAAGiB,aAAa,CAAClB,KAAK;MAClE;MACA,IAAI8B,MAAM,GAAGD,kBAAkB;MAC/B,IAAIA,kBAAkB,KAAK,CAAC,KAAKL,SAAS,KAAK,uBAAuB,IAAIA,SAAS,KAAK,sBAAsB,CAAC,EAAE;QAC/G;QACAM,MAAM,GAAGX,cAAc,GAAGM,cAAc,CAACpI,MAAM;MACjD;MAEA,IAAImI,SAAS,KAAK,uBAAuB,EAAE;QACzC;QACA;QACAxB,KAAK,IAAI8B,MAAM;MACjB;MAEAjC,KAAK,CAAC9G,WAAW,CAAC6I,KAAK,GAAGA,KAAK;MAC/B/B,KAAK,CAAC9G,WAAW,CAAC+I,MAAM,GAAGA,MAAM;MACjCjC,KAAK,CAAC9G,WAAW,CAACiH,KAAK,GAAGA,KAAK;;MAE/B;MACA5D,QAAQ,CAACyD,KAAK,CAAC;IACjB;IAEA,IAAIxD,YAAY,EAAE;MAChBA,YAAY,CAACoF,cAAc,CAAC;IAC9B;IAEAjB,uBAAuB,CAAC,CAAC;EAC3B,CAAC,EACD,CAACd,eAAe,EAAEc,uBAAuB,EAAEpE,QAAQ,EAAEC,YAAY,EAAE+C,IAAI,EAAEG,IAAI,EAAEhB,SAAS,EAAEM,sBAAsB,EAAEwB,eAAe,EAAElC,aAAa,CAClJ,CAAC;EAED,MAAM4D,cAAc,GAAG,IAAA3D,kBAAW,EAC/BtH,CAAgC,IAAK;IACpC,IAAI,CAACwG,MAAM,CAACM,OAAO,EAAE;MACnB;IACF;IAEA,MAAMoE,QAAQ,GAAGlL,CAAC,CAACwH,MAAM;IACzBxH,CAAC,CAACmL,eAAe,CAAC,CAAC;IAEnB,IAAInL,CAAC,CAACgD,GAAG,KAAK,GAAG,IAAIhD,CAAC,CAACoL,OAAO,EAAE;MAC9BpL,CAAC,CAACqL,cAAc,CAAC,CAAC;MAClB,MAAMpJ,WAAW,GAAGjC,CAAC,CAACiC,WAA6C;MACnE,IAAIjC,CAAC,CAACsL,QAAQ,EAAE;QACdrJ,WAAW,CAACyI,SAAS,GAAG,aAAa;MACvC,CAAC,MAAM;QACLzI,WAAW,CAACyI,SAAS,GAAG,aAAa;MACvC;MAEAR,kBAAkB,CAAClK,CAAC,CAAC;MACrB;IACF;IAEA,MAAMuL,mBAAmB,GAAG,CAACpG,SAAS;IACtC,MAAMqG,kBAAkB,GAAGzG,YAAY,KAAK,IAAI,GAAGwG,mBAAmB,GAAGxG,YAAY;IAErF,MAAM9C,WAAW,GAAGjC,CAAC,CAACiC,WAAW;IACjC,MAAMC,WAAW,GAAGF,gBAAgB,CAACC,WAAW,CAAC;IAEjD,MAAM8G,KAAK,GAAG/I,CAAgE;IAC9EqH,aAAa,CAAC0B,KAAK,CAAC;IACpB,IAAIrD,UAAU,EAAE;MACdA,UAAU,CAACqD,KAAK,CAAC;IACnB;IAEAQ,eAAe,CAACR,KAAyD,CAAC;IAE1E,IACE/I,CAAC,CAACgD,GAAG,KAAK,OAAO;IACjB;IACA,CAACd,WAAW,IACZ,CAAClC,CAAC,CAACyL,kBAAkB,CAAC,CAAC,EACvB;MACA;MACAzL,CAAC,CAACqL,cAAc,CAAC,CAAC;MAClB,IAAI,CAACrL,CAAC,CAACsL,QAAQ,KAAKvG,YAAY,IAAI,CAACI,SAAS,CAAC,IAAIS,eAAe,EAAE;QAClEA,eAAe,CAACmD,KAAyE,CAAC;MAC5F,CAAC,MAAM,IAAI5D,SAAS,EAAE;QACpB;QACA;QACA1B,QAAQ,CAACiI,WAAW,CAAC,iBAAiB,CAAC;QACvCnM,WAAW,CAACoM,oBAAoB,CAACnF,MAAM,CAACM,OAA2B,CAAC;MACtE;MAEA,IAAI,CAAC9G,CAAC,CAACsL,QAAQ,KAAME,kBAAkB,IAAIN,QAAQ,KAAK,IAAI,IAAK,CAAC/F,SAAS,CAAC,EAAE;QAC5EyG,UAAU,CAAC,MAAMpF,MAAM,CAACM,OAAO,IAAIN,MAAM,CAACM,OAAO,CAAC+E,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;MAC9D;IACF;EACF,CAAC,EACD,CAAC1G,SAAS,EAAEJ,YAAY,EAAEsC,aAAa,EAAE3B,UAAU,EAAE6D,eAAe,EAAEW,kBAAkB,EAAEtE,eAAe,CAC3G,CAAC;EAED,MAAMkG,WAA8C,GAAG,IAAAxE,kBAAW,EAC/DyB,KAAK,IAAK;IACT,MAAM/I,CAAC,GAAG+I,KAAiE;IAC3E,MAAMmC,QAAQ,GAAGlL,CAAC,CAACwH,MAAmC;IACtDf,qBAAqB,CAACK,OAAO,GAAGoE,QAAQ;IACxC7D,aAAa,CAACrH,CAAC,CAAC;IAChB,IAAIwG,MAAM,CAACM,OAAO,EAAE;MAClB,IAAIJ,gBAAgB,CAACI,OAAO,EAAE;QAC5BvH,WAAW,CAACwM,iBAAiB,CAACvF,MAAM,CAACM,OAAO,EAAEJ,gBAAgB,CAACI,OAAO,CAACoC,KAAK,EAAExC,gBAAgB,CAACI,OAAO,CAACqC,GAAG,CAAC;MAC7G,CAAC,MAAM;QACL,MAAM6C,WAAW,GAAGpK,KAAK,GAAGA,KAAK,CAACW,MAAM,GAAGiE,MAAM,CAACM,OAAO,CAAChD,SAAS,CAACvB,MAAM;QAC1EhD,WAAW,CAACwM,iBAAiB,CAACvF,MAAM,CAACM,OAAO,EAAEkF,WAAW,EAAE,IAAI,CAAC;MAClE;MACAzC,eAAe,CAACR,KAAK,EAAErC,gBAAgB,CAACI,OAAO,CAAC;IAClD;IAEA,IAAIrB,OAAO,EAAE;MACX4B,aAAa,CAACrH,CAAC,CAAC;MAChByF,OAAO,CAACzF,CAAC,CAAC;IACZ;IAEA,IAAIkL,QAAQ,KAAK,IAAI,EAAE;MACrB,IAAIlG,gBAAgB,IAAIwB,MAAM,CAACM,OAAO,EAAE;QACtCN,MAAM,CAACM,OAAO,CAAChD,SAAS,GAAG,EAAE;MAC/B;MACA,IAAIgC,iBAAiB,EAAE;QACrB;QACA,IAAIpE,YAAY,KAAK,IAAI,EAAE;UACzBuK,YAAY,CAACvK,YAAY,CAAC;QAC5B;QACAA,YAAY,GAAGkK,UAAU,CAAC,MAAM;UAC9B,IAAIV,QAAQ,KAAK,IAAI,EAAE;YACrB;UACF;UACAzH,QAAQ,CAACiI,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,CAAC,EAAE,CAAC,CAAC;MACP;IACF;EACF,CAAC,EACD,CAAC1G,gBAAgB,EAAES,OAAO,EAAEK,iBAAiB,EAAEuB,aAAa,EAAEkC,eAAe,EAAE3H,KAAK,CACtF,CAAC;EAED,MAAMsK,UAA6C,GAAG,IAAA5E,kBAAW,EAC9DyB,KAAK,IAAK;IACT,MAAM/I,CAAC,GAAG+I,KAAiE;IAC3ExJ,WAAW,CAAC4M,eAAe,CAAC,CAAC;IAC7B1F,qBAAqB,CAACK,OAAO,GAAG,IAAI;IACpC,IAAIzB,MAAM,EAAE;MACVgC,aAAa,CAACrH,CAAC,CAAC;MAChBqF,MAAM,CAACrF,CAAC,CAAC;IACX;EACF,CAAC,EACD,CAACqF,MAAM,EAAEgC,aAAa,CACxB,CAAC;EAED,MAAM+E,WAAW,GAAG,IAAA9E,kBAAW,EAC5BtH,CAAoD,IAAK;IACxDuJ,eAAe,CAACvJ,CAAC,CAAC;IAClB,IAAI,CAACwF,OAAO,IAAI,CAACgB,MAAM,CAACM,OAAO,EAAE;MAC/B;IACF;IACC9G,CAAC,CAACwH,MAAM,CAAsB5F,KAAK,GAAGD,cAAc,CAAC6E,MAAM,CAACM,OAAO,CAAChD,SAAS,IAAI,EAAE,CAAC;IACrF0B,OAAO,CAACxF,CAAC,CAAC;EACZ,CAAC,EACD,CAACwF,OAAO,EAAE+D,eAAe,CAC3B,CAAC;EAED,MAAM8C,WAAW,GAAG,IAAA/E,kBAAW,EAAEtH,CAAC,IAAK;IACrCuG,QAAQ,CAACO,OAAO,GAAG,IAAI;IACvB,IAAI9G,CAAC,CAACyL,kBAAkB,CAAC,CAAC,EAAE;MAC1B;IACF;IAEAzL,CAAC,CAACqL,cAAc,CAAC,CAAC;IAClB,MAAMiB,aAAa,GAAGtM,CAAC,CAACsM,aAAa;IACrC,MAAM/E,IAAI,GAAG+E,aAAa,CAACC,OAAO,CAAC,YAAY,CAAC;IAChD9I,QAAQ,CAACiI,WAAW,CAAC,YAAY,EAAE,KAAK,EAAEnE,IAAI,CAAC;EACjD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMiF,gBAAgB,GAAG,IAAAlF,kBAAW,EAAC,MAAM;IACzCjB,cAAc,CAACS,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM2F,MAAM,GAAIC,UAAiC,IAAK;IACpD,MAAMxM,CAAC,GAAGwM,UAAU;IACpB,IAAIxM,CAAC,EAAE;MACJA,CAAC,CAA0ByM,SAAS,GAAG,MAAMlJ,QAAQ,CAACmJ,aAAa,KAAK1M,CAAC;MACzEA,CAAC,CAA0B2M,KAAK,GAAG,MAAM;QACxC3M,CAAC,CAAC4D,SAAS,GAAG,EAAE;QAChB8E,eAAe,CAAC1I,CAAC,EAAE,EAAE,CAAC;MACxB,CAAC;MAED,IAAI0B,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAKkL,SAAS,EAAE;QACvC;QACAlE,eAAe,CAAC1I,CAAC,EAAEA,CAAC,CAAC4D,SAAS,CAAC;MACjC;IACF;IAEA,IAAIsC,GAAG,EAAE;MACP,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;QAC3B;QACCA,GAAG,CAA6CU,OAAO,GAAG5G,CAAC;MAC9D,CAAC,MAAM,IAAI,OAAOkG,GAAG,KAAK,UAAU,EAAE;QACnCA,GAAG,CAAiDlG,CAAC,CAAC;MACzD;IACF;IACAsG,MAAM,CAACM,OAAO,GAAG5G,CAAC;EACpB,CAAC;EAEDgB,eAAe,CACb,SAAS6L,kBAAkBA,CAAA,EAAG;IAC5B,IAAI,CAACvG,MAAM,CAACM,OAAO,IAAI6B,cAAc,KAAKnC,MAAM,CAACM,OAAO,CAAChD,SAAS,EAAE;MAClE;IACF;IAEA,IAAIlC,KAAK,KAAKkL,SAAS,EAAE;MACvBrF,SAAS,CAACjB,MAAM,CAACM,OAAO,EAAEN,MAAM,CAACM,OAAO,CAAChD,SAAS,EAAEiE,sBAAsB,CAAC;MAC3E;IACF;IAEA,MAAMR,IAAI,GAAGoB,cAAc,KAAKmE,SAAS,GAAGnE,cAAc,GAAG,EAAE;IAE/DlB,SAAS,CAACjB,MAAM,CAACM,OAAO,EAAES,IAAI,EAAEQ,sBAAsB,EAAER,IAAI,CAAChF,MAAM,CAAC;IACpEqG,eAAe,CAACpC,MAAM,CAACM,OAAO,EAAElF,KAAK,CAAC;EACxC,CAAC,EACD,CAACuD,SAAS,EAAE4C,sBAAsB,EAAEY,cAAc,CACpD,CAAC;EAEDzH,eAAe,CACb,SAAS8L,YAAYA,CAAA,EAAG;IACtB,IAAI,CAACxG,MAAM,CAACM,OAAO,IAAI,CAAC3B,SAAS,EAAE;MACjC;IACF;IACA,MAAM8H,aAAa,GAAG7J,gBAAgB,CAACoD,MAAM,CAACM,OAAO,EAAEmB,WAAW,EAAE1E,aAAa,CAAC;IAClFiD,MAAM,CAACM,OAAO,CAACjD,KAAK,CAACO,MAAM,GAAG6I,aAAa;IAC3CzG,MAAM,CAACM,OAAO,CAACjD,KAAK,CAACqJ,SAAS,GAAGD,aAAa;EAChD,CAAC,EACD,CAAC1J,aAAa,CAChB,CAAC;EAED,IAAAnC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACoF,MAAM,CAACM,OAAO,EAAE;MACnB;IACF;IACA;IACA,IAAIb,SAAS,EAAE;MACbO,MAAM,CAACM,OAAO,CAACqG,KAAK,CAAC,CAAC;IACxB;IACA;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAA/L,gBAAS,EAAC,MAAM;IACd;IACAsI,uBAAuB,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACA,uBAAuB,EAAEzB,WAAW,CAAC,CAAC;EAE1C,IAAA7G,gBAAS,EAAC,MAAM;IACd,IAAI,CAACoF,MAAM,CAACM,OAAO,IAAI,CAACd,SAAS,IAAKU,gBAAgB,CAACI,OAAO,IAAId,SAAS,CAACkD,KAAK,KAAKxC,gBAAgB,CAACI,OAAO,CAACoC,KAAK,IAAIlD,SAAS,CAACmD,GAAG,KAAKzC,gBAAgB,CAACI,OAAO,CAACqC,GAAI,EAAE;MACvK;IACF;IAEA,MAAMF,YAAuB,GAAG;MAACC,KAAK,EAAElD,SAAS,CAACkD,KAAK;MAAEC,GAAG,EAAEnD,SAAS,CAACmD,GAAG,IAAInD,SAAS,CAACkD;IAAK,CAAC;IAC/FxC,gBAAgB,CAACI,OAAO,GAAGmC,YAAY;IACvCD,2BAA2B,CAACC,YAAY,CAAC;IACzC1J,WAAW,CAACwM,iBAAiB,CAACvF,MAAM,CAACM,OAAO,EAAEmC,YAAY,CAACC,KAAK,EAAED,YAAY,CAACE,GAAG,CAAC;EACrF,CAAC,EAAE,CAACnD,SAAS,EAAEgD,2BAA2B,CAAC,CAAC;EAE5C;IAAA;IACE;IACA9J,MAAA,CAAAY,OAAA,CAAA4D,aAAA;MACEyC,EAAE,EAAEA,EAAG;MACPC,GAAG,EAAEqG,MAAO;MACZW,eAAe,EAAE,CAAClI,QAAS;MAC3BrB,KAAK,EAAEoE,WAAY;MACnBoF,IAAI,EAAEzI,iBAAiB,IAAI,SAAU;MACrC,cAAYF,kBAAmB;MAC/B,mBAAkB,GAAEC,uBAAwB,EAAE;MAC9C,oBAAkByC,qBAAsB;MACxC,kBAAgBjC,SAAU;MAC1BL,WAAW,EAAEA,WAAW,GAAG,IAAI,GAAG,KAAM;MACxCD,cAAc,EAAEA,cAAe;MAC/B8B,SAAS,EAAEA,SAAU;MACrB2G,SAAS,EAAErC,cAAe;MAC1BsC,kBAAkB,EAAEf,gBAAiB;MACrCgB,OAAO,EAAEjE,eAAgB;MACzBkE,OAAO,EAAEvD,kBAAmB;MAC5B1E,OAAO,EAAE4G,WAAY;MACrB3G,OAAO,EAAEqG,WAAY;MACrBzG,MAAM,EAAE6G,UAAW;MACnBwB,OAAO,EAAErB,WAAY;MACrB/J,WAAW,EAAE8E,qBAAsB;MACnCrB,UAAU,EAAEA,UAAW;MACvBd,GAAG,EAAEA;IAAI,CACV;EAAC;AAEN,CACF,CAAC;AAED,MAAM3B,MAAM,GAAG4D,uBAAU,CAACyG,MAAM,CAAC;EAC/BzF,kBAAkB,EAAE;IAClB0F,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;EACD/F,mBAAmB,EAAE;IACnBgG,OAAO,EAAE,IAAI;IACbC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA1O,OAAA,GAEYyE,iBAAiB"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getCurrentCursorPosition = getCurrentCursorPosition;
|
|
7
|
+
exports.getPrevTextLength = getPrevTextLength;
|
|
7
8
|
exports.moveCursorToEnd = moveCursorToEnd;
|
|
8
9
|
exports.removeSelection = removeSelection;
|
|
9
10
|
exports.scrollCursorIntoView = scrollCursorIntoView;
|
|
@@ -13,6 +14,9 @@ var BrowserUtils = _interopRequireWildcard(require("./browserUtils"));
|
|
|
13
14
|
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); }
|
|
14
15
|
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
16
|
let prevTextLength;
|
|
17
|
+
function getPrevTextLength() {
|
|
18
|
+
return prevTextLength;
|
|
19
|
+
}
|
|
16
20
|
function findTextNodes(textNodes, node) {
|
|
17
21
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
18
22
|
textNodes.push(node);
|
|
@@ -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","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","document","activeElement","range","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","textNode","nextCharCount","undefined","setStart","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","toString","removeSelection","removeAllRanges","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":"
|
|
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","getPrevTextLength","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","document","activeElement","range","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","textNode","nextCharCount","undefined","setStart","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","toString","removeSelection","removeAllRanges","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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"}
|
|
@@ -171,19 +171,25 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
171
171
|
}, disabled && styles.disabledInputStyles, createReactDOMStyle(preprocessStyle(flattenedStyle))]), [flattenedStyle, disabled]);
|
|
172
172
|
const undo = useCallback(target => {
|
|
173
173
|
if (!history.current) {
|
|
174
|
-
return
|
|
174
|
+
return {
|
|
175
|
+
text: '',
|
|
176
|
+
cursorPosition: 0
|
|
177
|
+
};
|
|
175
178
|
}
|
|
176
179
|
const item = history.current.undo();
|
|
177
180
|
const undoValue = item ? denormalizeValue(item.text) : null;
|
|
178
|
-
return parseText(target, undoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false)
|
|
181
|
+
return parseText(target, undoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
179
182
|
}, [parseText, processedMarkdownStyle]);
|
|
180
183
|
const redo = useCallback(target => {
|
|
181
184
|
if (!history.current) {
|
|
182
|
-
return
|
|
185
|
+
return {
|
|
186
|
+
text: '',
|
|
187
|
+
cursorPosition: 0
|
|
188
|
+
};
|
|
183
189
|
}
|
|
184
190
|
const item = history.current.redo();
|
|
185
191
|
const redoValue = item ? denormalizeValue(item.text) : null;
|
|
186
|
-
return parseText(target, redoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false)
|
|
192
|
+
return parseText(target, redoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
187
193
|
}, [parseText, processedMarkdownStyle]);
|
|
188
194
|
|
|
189
195
|
// We have to process value property since contentEditable div adds one additional '\n' at the end of the text if we are entering new line
|
|
@@ -254,32 +260,43 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
254
260
|
if (!divRef.current || !(e.target instanceof HTMLElement)) {
|
|
255
261
|
return;
|
|
256
262
|
}
|
|
263
|
+
const prevSelection = contentSelection.current ?? {
|
|
264
|
+
start: 0,
|
|
265
|
+
end: 0
|
|
266
|
+
};
|
|
267
|
+
const prevTextLength = CursorUtils.getPrevTextLength() ?? 0;
|
|
257
268
|
const changedText = e.target.innerText;
|
|
258
269
|
if (compositionRef.current && !BrowserUtils.isMobile) {
|
|
259
270
|
updateTextColor(divRef.current, changedText);
|
|
260
271
|
compositionRef.current = false;
|
|
261
272
|
return;
|
|
262
273
|
}
|
|
263
|
-
let
|
|
274
|
+
let newInputUpdate;
|
|
264
275
|
const nativeEvent = e.nativeEvent;
|
|
265
|
-
|
|
276
|
+
const inputType = nativeEvent.inputType;
|
|
277
|
+
switch (inputType) {
|
|
266
278
|
case 'historyUndo':
|
|
267
|
-
|
|
279
|
+
newInputUpdate = undo(divRef.current);
|
|
268
280
|
break;
|
|
269
281
|
case 'historyRedo':
|
|
270
|
-
|
|
282
|
+
newInputUpdate = redo(divRef.current);
|
|
271
283
|
break;
|
|
272
284
|
case 'insertFromPaste':
|
|
273
285
|
// if there is no newline at the end of the copied text, contentEditable adds invisible <br> tag at the end of the text, so we need to normalize it
|
|
274
286
|
if (changedText.length > 2 && changedText[changedText.length - 2] !== '\n' && changedText[changedText.length - 1] === '\n') {
|
|
275
|
-
|
|
287
|
+
newInputUpdate = parseText(divRef.current, normalizeValue(changedText), processedMarkdownStyle);
|
|
276
288
|
break;
|
|
277
289
|
}
|
|
278
|
-
|
|
290
|
+
newInputUpdate = parseText(divRef.current, changedText, processedMarkdownStyle);
|
|
279
291
|
break;
|
|
280
292
|
default:
|
|
281
|
-
|
|
293
|
+
newInputUpdate = parseText(divRef.current, changedText, processedMarkdownStyle);
|
|
282
294
|
}
|
|
295
|
+
const {
|
|
296
|
+
text,
|
|
297
|
+
cursorPosition
|
|
298
|
+
} = newInputUpdate;
|
|
299
|
+
const normalizedText = normalizeValue(text);
|
|
283
300
|
if (pasteRef !== null && pasteRef !== void 0 && pasteRef.current) {
|
|
284
301
|
pasteRef.current = false;
|
|
285
302
|
updateSelection(e);
|
|
@@ -288,10 +305,33 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
288
305
|
if (onChange) {
|
|
289
306
|
const event = e;
|
|
290
307
|
setEventProps(event);
|
|
308
|
+
|
|
309
|
+
// The new text is between the prev start selection and the new end selection, can be empty
|
|
310
|
+
const addedText = normalizedText.slice(prevSelection.start, cursorPosition ?? 0);
|
|
311
|
+
// The length of the text that replaced the before text
|
|
312
|
+
const count = addedText.length;
|
|
313
|
+
// The start index of the replacement operation
|
|
314
|
+
let start = prevSelection.start;
|
|
315
|
+
const prevSelectionRange = prevSelection.end - prevSelection.start;
|
|
316
|
+
// The length the deleted text had before
|
|
317
|
+
let before = prevSelectionRange;
|
|
318
|
+
if (prevSelectionRange === 0 && (inputType === 'deleteContentBackward' || inputType === 'deleteContentForward')) {
|
|
319
|
+
// its possible the user pressed a delete key without a selection range, so we need to adjust the before value to have the length of the deleted text
|
|
320
|
+
before = prevTextLength - normalizedText.length;
|
|
321
|
+
}
|
|
322
|
+
if (inputType === 'deleteContentBackward') {
|
|
323
|
+
// When the user does a backspace delete he expects the content before the cursor to be removed.
|
|
324
|
+
// For this the start value needs to be adjusted (its as if the selection was before the text that we want to delete)
|
|
325
|
+
start -= before;
|
|
326
|
+
}
|
|
327
|
+
event.nativeEvent.count = count;
|
|
328
|
+
event.nativeEvent.before = before;
|
|
329
|
+
event.nativeEvent.start = start;
|
|
330
|
+
|
|
331
|
+
// @ts-expect-error TODO: Remove once react native PR merged https://github.com/facebook/react-native/pull/45248
|
|
291
332
|
onChange(event);
|
|
292
333
|
}
|
|
293
334
|
if (onChangeText) {
|
|
294
|
-
const normalizedText = normalizeValue(text);
|
|
295
335
|
onChangeText(normalizedText);
|
|
296
336
|
}
|
|
297
337
|
handleContentSizeChange();
|
|
@@ -396,6 +436,9 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
396
436
|
}, [onClick, updateSelection]);
|
|
397
437
|
const handlePaste = useCallback(e => {
|
|
398
438
|
pasteRef.current = true;
|
|
439
|
+
if (e.isDefaultPrevented()) {
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
399
442
|
e.preventDefault();
|
|
400
443
|
const clipboardData = e.clipboardData;
|
|
401
444
|
const text = clipboardData.getData('text/plain');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","ParseUtils","CursorUtils","StyleUtils","BrowserUtils","InputHistory","require","useClientEffect","window","createReactDOMStyle","default","e","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","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","onContentSizeChange","id","ref","compositionRef","pasteRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","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","changedText","isMobile","inputType","normalizedText","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","setCursorPosition","valueLength","clearTimeout","handleBlur","removeSelection","handleClick","handlePaste","clipboardData","getData","startComposition","setRef","currentRef","r","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","onPaste","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","ParseUtils","CursorUtils","StyleUtils","BrowserUtils","InputHistory","require","useClientEffect","window","createReactDOMStyle","default","e","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","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","onContentSizeChange","id","ref","compositionRef","pasteRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","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","isMobile","newInputUpdate","inputType","normalizedText","addedText","slice","count","prevSelectionRange","before","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","setCursorPosition","valueLength","clearTimeout","handleBlur","removeSelection","handleClick","handlePaste","clipboardData","getData","startComposition","setRef","currentRef","r","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","onPaste","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as BrowserUtils from './browserUtils';
|
|
2
2
|
let prevTextLength;
|
|
3
|
+
function getPrevTextLength() {
|
|
4
|
+
return prevTextLength;
|
|
5
|
+
}
|
|
3
6
|
function findTextNodes(textNodes, node) {
|
|
4
7
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
5
8
|
textNodes.push(node);
|
|
@@ -136,5 +139,5 @@ function scrollCursorIntoView(target) {
|
|
|
136
139
|
target.scrollTo(0, topToCaret + target.scrollTop + inputOffset);
|
|
137
140
|
}
|
|
138
141
|
}
|
|
139
|
-
export { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, setPrevText, removeSelection, scrollCursorIntoView };
|
|
142
|
+
export { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, setPrevText, removeSelection, scrollCursorIntoView, getPrevTextLength };
|
|
140
143
|
//# sourceMappingURL=cursorUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
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","document","activeElement","range","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","n","textNode","nextCharCount","undefined","setStart","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","toString","removeSelection","removeAllRanges","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":"AAAA,OAAO,KAAKA,YAAY,MAAM,gBAAgB;AAE9C,IAAIC,cAAkC;AAEtC,SAASC,aAAaA,CAACC,SAAiB,EAAEC,IAAe,EAAE;EACzD,IAAIA,IAAI,CAACC,QAAQ,KAAKC,IAAI,CAACC,SAAS,EAAE;IACpCJ,SAAS,CAACK,IAAI,CAACJ,IAAY,CAAC;EAC9B,CAAC,MAAM;IACL,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEC,MAAM,GAAGN,IAAI,CAACO,UAAU,CAACD,MAAM,EAAED,CAAC,GAAGC,MAAM,EAAE,EAAED,CAAC,EAAE;MAChE,MAAMG,SAAS,GAAGR,IAAI,CAACO,UAAU,CAACF,CAAC,CAAC;MACpC,IAAIG,SAAS,EAAE;QACbV,aAAa,CAACC,SAAS,EAAES,SAAS,CAAC;MACrC;IACF;EACF;AACF;AAEA,SAASC,WAAWA,CAACC,MAAmB,EAAE;EAAA,IAAAC,cAAA;EACxC,IAAIC,IAAI,GAAG,EAAE;EACb,MAAMb,SAAiB,GAAG,EAAE;EAC5BD,aAAa,CAACC,SAAS,EAAEW,MAAM,CAAC;EAChCE,IAAI,IAAAD,cAAA,GAAGZ,SAAS,CACbc,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,SAAS,IAAI,EAAE,CAAC,cAAAJ,cAAA,gBAAAA,cAAA,GADzBA,cAAA,CAEHK,IAAI,CAAC,EAAE,CAAC,cAAAL,cAAA,uBAFLA,cAAA,CAGHM,KAAK,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"names":["BrowserUtils","prevTextLength","getPrevTextLength","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","document","activeElement","range","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","n","textNode","nextCharCount","undefined","setStart","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","toString","removeSelection","removeAllRanges","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":"AAAA,OAAO,KAAKA,YAAY,MAAM,gBAAgB;AAE9C,IAAIC,cAAkC;AAEtC,SAASC,iBAAiBA,CAAA,EAAG;EAC3B,OAAOD,cAAc;AACvB;AAEA,SAASE,aAAaA,CAACC,SAAiB,EAAEC,IAAe,EAAE;EACzD,IAAIA,IAAI,CAACC,QAAQ,KAAKC,IAAI,CAACC,SAAS,EAAE;IACpCJ,SAAS,CAACK,IAAI,CAACJ,IAAY,CAAC;EAC9B,CAAC,MAAM;IACL,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEC,MAAM,GAAGN,IAAI,CAACO,UAAU,CAACD,MAAM,EAAED,CAAC,GAAGC,MAAM,EAAE,EAAED,CAAC,EAAE;MAChE,MAAMG,SAAS,GAAGR,IAAI,CAACO,UAAU,CAACF,CAAC,CAAC;MACpC,IAAIG,SAAS,EAAE;QACbV,aAAa,CAACC,SAAS,EAAES,SAAS,CAAC;MACrC;IACF;EACF;AACF;AAEA,SAASC,WAAWA,CAACC,MAAmB,EAAE;EAAA,IAAAC,cAAA;EACxC,IAAIC,IAAI,GAAG,EAAE;EACb,MAAMb,SAAiB,GAAG,EAAE;EAC5BD,aAAa,CAACC,SAAS,EAAEW,MAAM,CAAC;EAChCE,IAAI,IAAAD,cAAA,GAAGZ,SAAS,CACbc,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,SAAS,IAAI,EAAE,CAAC,cAAAJ,cAAA,gBAAAA,cAAA,GADzBA,cAAA,CAEHK,IAAI,CAAC,EAAE,CAAC,cAAAL,cAAA,uBAFLA,cAAA,CAGHM,KAAK,CAAC,EAAE,CAAC;EAEbrB,cAAc,GAAGgB,IAAI,CAACN,MAAM;AAC9B;AAEA,SAASY,iBAAiBA,CAACR,MAAmB,EAAES,KAAa,EAAEC,GAAkB,GAAG,IAAI,EAAE;EAAA,IAAAC,eAAA;EACxF;EACA,IAAIX,MAAM,KAAKY,QAAQ,CAACC,aAAa,EAAE;IACrC;EACF;EAEA,MAAMC,KAAK,GAAGF,QAAQ,CAACG,WAAW,CAAC,CAAC;EACpCD,KAAK,CAACE,kBAAkB,CAAChB,MAAM,CAAC;EAEhC,MAAMX,SAAiB,GAAG,EAAE;EAC5BD,aAAa,CAACC,SAAS,EAAEW,MAAM,CAAC;;EAEhC;EACA;EACA,MAAMiB,cAAc,IAAAN,eAAA,GAAGtB,SAAS,CAC7Bc,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,SAAS,IAAI,EAAE,CAAC,cAAAM,eAAA,gBAAAA,eAAA,GADTA,eAAA,CAEnBL,IAAI,CAAC,EAAE,CAAC,cAAAK,eAAA,uBAFWA,eAAA,CAGnBJ,KAAK,CAAC,EAAE,CAAC;EACb,MAAMW,QAAQ,GAAG,CAAAD,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGR,KAAK,GAAG,CAAC,CAAC,KAAI,EAAE;EAClD,MAAMU,QAAQ,GAAG,CAAAF,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGR,KAAK,CAAC,KAAI,EAAE;EAE9C,IAAIW,SAAS,GAAG,CAAC;EACjB,IAAIC,SAAsB,GAAG,IAAI;EACjC,IAAIC,OAAoB,GAAG,IAAI;EAC/B,MAAMC,CAAC,GAAGlC,SAAS,CAACO,MAAM;EAC1B,KAAK,IAAID,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4B,CAAC,EAAE,EAAE5B,CAAC,EAAE;IAC1B,MAAM6B,QAAQ,GAAGnC,SAAS,CAACM,CAAC,CAAC;IAC7B,IAAI6B,QAAQ,EAAE;MACZ,MAAMC,aAAa,GAAGL,SAAS,GAAGI,QAAQ,CAAC5B,MAAM;MAEjD,IAAI,CAACyB,SAAS,IAAIZ,KAAK,IAAIW,SAAS,KAAKX,KAAK,IAAIgB,aAAa,IAAKhB,KAAK,KAAKgB,aAAa,IAAI9B,CAAC,GAAG4B,CAAC,GAAG,CAAE,CAAC,EAAE;QAC1GF,SAAS,GAAGG,QAAQ;;QAEpB;QACA;QACA;QACA;QACA;QACA,IAAIN,QAAQ,KAAK,IAAI,IAAIhC,cAAc,KAAKwC,SAAS,IAAIxC,cAAc,GAAG+B,cAAc,CAACrB,MAAM,EAAE;UAC/F,IAAIuB,QAAQ,IAAIA,QAAQ,KAAK,IAAI,IAAIxB,CAAC,KAAK4B,CAAC,GAAG,CAAC,EAAE;YAChDT,KAAK,CAACa,QAAQ,CAACtC,SAAS,CAACM,CAAC,GAAG,CAAC,CAAC,EAAU,CAAC,CAAC;UAC7C,CAAC,MAAM,IAAIA,CAAC,KAAKN,SAAS,CAACO,MAAM,GAAG,CAAC,EAAE;YACrCkB,KAAK,CAACa,QAAQ,CAACtC,SAAS,CAACM,CAAC,CAAC,EAAU,CAAC,CAAC;UACzC,CAAC,MAAM;YACLmB,KAAK,CAACa,QAAQ,CAACH,QAAQ,EAAEf,KAAK,GAAGW,SAAS,CAAC;UAC7C;QACF,CAAC,MAAM;UACLN,KAAK,CAACa,QAAQ,CAACH,QAAQ,EAAEf,KAAK,GAAGW,SAAS,CAAC;QAC7C;QACA,IAAI,CAACV,GAAG,EAAE;UACR;QACF;MACF;MACA,IAAIA,GAAG,IAAI,CAACY,OAAO,IAAIZ,GAAG,IAAIU,SAAS,KAAKV,GAAG,IAAIe,aAAa,IAAKf,GAAG,KAAKe,aAAa,IAAI9B,CAAC,GAAG4B,CAAC,GAAG,CAAE,CAAC,EAAE;QACzGD,OAAO,GAAGE,QAAQ;QAClBV,KAAK,CAACc,MAAM,CAACJ,QAAQ,EAAEd,GAAG,GAAGU,SAAS,CAAC;MACzC;MACAA,SAAS,GAAGK,aAAa;IAC3B;EACF;EAEA,IAAI,CAACf,GAAG,EAAE;IACRI,KAAK,CAACe,QAAQ,CAAC,IAAI,CAAC;EACtB;EAEA,MAAMC,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAIF,SAAS,EAAE;IACbA,SAAS,CAACG,gBAAgB,CAACnB,KAAK,CAACoB,cAAc,EAAEpB,KAAK,CAACqB,WAAW,EAAErB,KAAK,CAACsB,YAAY,EAAEtB,KAAK,CAACuB,SAAS,CAAC;EAC1G;EAEAC,oBAAoB,CAACtC,MAA0B,CAAC;AAClD;AAEA,SAASuC,eAAeA,CAACvC,MAAmB,EAAE;EAC5C,MAAMc,KAAK,GAAGF,QAAQ,CAACG,WAAW,CAAC,CAAC;EACpC,MAAMe,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAIF,SAAS,EAAE;IACbhB,KAAK,CAACa,QAAQ,CAAC3B,MAAM,EAAEA,MAAM,CAACH,UAAU,CAACD,MAAM,CAAC;IAChDkB,KAAK,CAACe,QAAQ,CAAC,IAAI,CAAC;IACpBC,SAAS,CAACG,gBAAgB,CAACnB,KAAK,CAACoB,cAAc,EAAEpB,KAAK,CAACqB,WAAW,EAAErB,KAAK,CAACsB,YAAY,EAAEtB,KAAK,CAACuB,SAAS,CAAC;EAC1G;AACF;AAEA,SAASG,wBAAwBA,CAACxC,MAAmB,EAAE;EACrD,MAAM8B,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAI,CAACF,SAAS,IAAKA,SAAS,IAAIA,SAAS,CAACW,UAAU,KAAK,CAAE,EAAE;IAC3D,OAAO,IAAI;EACb;EACA,MAAM3B,KAAK,GAAGgB,SAAS,CAACY,UAAU,CAAC,CAAC,CAAC;EACrC,MAAMC,iBAAiB,GAAG7B,KAAK,CAAC8B,UAAU,CAAC,CAAC;EAC5CD,iBAAiB,CAAC3B,kBAAkB,CAAChB,MAAM,CAAC;EAC5C2C,iBAAiB,CAACf,MAAM,CAACd,KAAK,CAACoB,cAAc,EAAEpB,KAAK,CAACqB,WAAW,CAAC;EACjE,MAAM1B,KAAK,GAAGkC,iBAAiB,CAACE,QAAQ,CAAC,CAAC,CAACjD,MAAM;EACjD,MAAMc,GAAG,GAAGD,KAAK,GAAGK,KAAK,CAAC+B,QAAQ,CAAC,CAAC,CAACjD,MAAM;EAC3C,OAAO;IAACa,KAAK;IAAEC;EAAG,CAAC;AACrB;AAEA,SAASoC,eAAeA,CAAA,EAAG;EACzB,MAAMhB,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAIF,SAAS,EAAE;IACbA,SAAS,CAACiB,eAAe,CAAC,CAAC;EAC7B;AACF;AAEA,SAAST,oBAAoBA,CAACtC,MAAwB,EAAE;EACtD,IAAIA,MAAM,CAACgD,cAAc,KAAK,IAAI,IAAI,CAAChD,MAAM,CAACiD,KAAK,IAAIhE,YAAY,CAACiE,SAAS,EAAE;IAC7E;EACF;EAEA,MAAMpB,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAI,CAACF,SAAS,IAAKA,SAAS,IAAIA,SAAS,CAACW,UAAU,KAAK,CAAE,EAAE;IAC3D;EACF;EAEA,MAAMU,SAAS,GAAGrB,SAAS,CAACY,UAAU,CAAC,CAAC,CAAC,CAACU,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;EAC7D,MAAMC,YAAY,GAAGrD,MAAM,CAACsD,qBAAqB,CAAC,CAAC;;EAEnD;EACA,MAAMC,UAAU,GAAGC,UAAU,CAACzB,MAAM,CAAC0B,gBAAgB,CAACzD,MAAM,CAAC,CAACuD,UAAU,CAAC;EACzE,MAAMG,SAAS,GAAGF,UAAU,CAACzB,MAAM,CAAC0B,gBAAgB,CAACzD,MAAM,CAAC,CAAC2D,cAAc,CAAC;EAE5E,IAAIR,SAAS,IAAI,EAAEA,SAAS,CAACS,GAAG,IAAIP,YAAY,CAACO,GAAG,GAAGL,UAAU,GAAGG,SAAS,IAAIP,SAAS,CAACU,MAAM,IAAIR,YAAY,CAACQ,MAAM,GAAG,CAAC,IAAIN,UAAU,GAAGG,SAAS,CAAC,CAAC,EAAE;IACxJ,MAAMI,UAAU,GAAGX,SAAS,CAACS,GAAG,GAAGP,YAAY,CAACO,GAAG;IACnD,MAAMG,WAAW,GAAGV,YAAY,CAACW,MAAM;IACvC;IACA,MAAMC,WAAW,GAAGd,SAAS,CAACa,MAAM,GAAGD,WAAW,GAAGR,UAAU,GAAGG,SAAS,IAAIzE,YAAY,CAACiF,UAAU,GAAG,CAAC,GAAG,CAAC,IAAIX,UAAU,GAAGG,SAAS,CAAC,CAAC;IAE1I1D,MAAM,CAACmE,QAAQ,CAAC,CAAC,EAAEL,UAAU,GAAG9D,MAAM,CAACoE,SAAS,GAAGH,WAAW,CAAC;EACjE;AACF;AAEA,SAAQzB,wBAAwB,EAAED,eAAe,EAAE/B,iBAAiB,EAAET,WAAW,EAAE+C,eAAe,EAAER,oBAAoB,EAAEnD,iBAAiB"}
|
|
@@ -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,EAIf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAwE,UAAU,EAAgC,MAAM,OAAO,CAAC;AAM5I,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;
|
|
1
|
+
{"version":3,"file":"MarkdownTextInput.web.d.ts","sourceRoot":"","sources":["../../../src/MarkdownTextInput.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EAKT,cAAc,EAIf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAwE,UAAU,EAAgC,MAAM,OAAO,CAAC;AAM5I,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;AAgFD,QAAA,MAAM,iBAAiB,0FA4iBtB,CAAC;AAqBF,eAAe,iBAAiB,CAAC;AAEjC,YAAY,EAAC,sBAAsB,EAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
declare function getPrevTextLength(): number | undefined;
|
|
1
2
|
declare function setPrevText(target: HTMLElement): void;
|
|
2
3
|
declare function setCursorPosition(target: HTMLElement, start: number, end?: number | null): void;
|
|
3
4
|
declare function moveCursorToEnd(target: HTMLElement): void;
|
|
@@ -7,5 +8,5 @@ declare function getCurrentCursorPosition(target: HTMLElement): {
|
|
|
7
8
|
} | null;
|
|
8
9
|
declare function removeSelection(): void;
|
|
9
10
|
declare function scrollCursorIntoView(target: HTMLInputElement): void;
|
|
10
|
-
export { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, setPrevText, removeSelection, scrollCursorIntoView };
|
|
11
|
+
export { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, setPrevText, removeSelection, scrollCursorIntoView, getPrevTextLength };
|
|
11
12
|
//# sourceMappingURL=cursorUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursorUtils.d.ts","sourceRoot":"","sources":["../../../../src/web/cursorUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cursorUtils.d.ts","sourceRoot":"","sources":["../../../../src/web/cursorUtils.ts"],"names":[],"mappings":"AAIA,iBAAS,iBAAiB,uBAEzB;AAeD,iBAAS,WAAW,CAAC,MAAM,EAAE,WAAW,QAUvC;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,GAAG,IAAW,QAuEvF;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,WAAW,QAQ3C;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,EAAE,iBAAiB,EAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expensify/react-native-live-markdown",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.103",
|
|
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",
|
|
@@ -75,6 +75,11 @@ type Dimensions = {
|
|
|
75
75
|
height: number;
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
+
type ParseTextResult = {
|
|
79
|
+
text: string;
|
|
80
|
+
cursorPosition: number | null;
|
|
81
|
+
};
|
|
82
|
+
|
|
78
83
|
let focusTimeout: NodeJS.Timeout | null = null;
|
|
79
84
|
|
|
80
85
|
// Removes one '\n' from the end of the string that were added by contentEditable div
|
|
@@ -203,7 +208,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
|
|
|
203
208
|
}, []);
|
|
204
209
|
|
|
205
210
|
const parseText = useCallback(
|
|
206
|
-
(target: HTMLDivElement, text: string | null, customMarkdownStyles: MarkdownStyle, cursorPosition: number | null = null, shouldAddToHistory = true) => {
|
|
211
|
+
(target: HTMLDivElement, text: string | null, customMarkdownStyles: MarkdownStyle, cursorPosition: number | null = null, shouldAddToHistory = true): ParseTextResult => {
|
|
207
212
|
if (text === null) {
|
|
208
213
|
return {text: target.innerText, cursorPosition: null};
|
|
209
214
|
}
|
|
@@ -240,25 +245,31 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
|
|
|
240
245
|
);
|
|
241
246
|
|
|
242
247
|
const undo = useCallback(
|
|
243
|
-
(target: HTMLDivElement) => {
|
|
248
|
+
(target: HTMLDivElement): ParseTextResult => {
|
|
244
249
|
if (!history.current) {
|
|
245
|
-
return
|
|
250
|
+
return {
|
|
251
|
+
text: '',
|
|
252
|
+
cursorPosition: 0,
|
|
253
|
+
};
|
|
246
254
|
}
|
|
247
255
|
const item = history.current.undo();
|
|
248
256
|
const undoValue = item ? denormalizeValue(item.text) : null;
|
|
249
|
-
return parseText(target, undoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false)
|
|
257
|
+
return parseText(target, undoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
250
258
|
},
|
|
251
259
|
[parseText, processedMarkdownStyle],
|
|
252
260
|
);
|
|
253
261
|
|
|
254
262
|
const redo = useCallback(
|
|
255
|
-
(target: HTMLDivElement) => {
|
|
263
|
+
(target: HTMLDivElement): ParseTextResult => {
|
|
256
264
|
if (!history.current) {
|
|
257
|
-
return
|
|
265
|
+
return {
|
|
266
|
+
text: '',
|
|
267
|
+
cursorPosition: 0,
|
|
268
|
+
};
|
|
258
269
|
}
|
|
259
270
|
const item = history.current.redo();
|
|
260
271
|
const redoValue = item ? denormalizeValue(item.text) : null;
|
|
261
|
-
return parseText(target, redoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false)
|
|
272
|
+
return parseText(target, redoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
|
|
262
273
|
},
|
|
263
274
|
[parseText, processedMarkdownStyle],
|
|
264
275
|
);
|
|
@@ -341,6 +352,8 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
|
|
|
341
352
|
if (!divRef.current || !(e.target instanceof HTMLElement)) {
|
|
342
353
|
return;
|
|
343
354
|
}
|
|
355
|
+
const prevSelection = contentSelection.current ?? {start: 0, end: 0};
|
|
356
|
+
const prevTextLength = CursorUtils.getPrevTextLength() ?? 0;
|
|
344
357
|
const changedText = e.target.innerText;
|
|
345
358
|
if (compositionRef.current && !BrowserUtils.isMobile) {
|
|
346
359
|
updateTextColor(divRef.current, changedText);
|
|
@@ -348,27 +361,31 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
|
|
|
348
361
|
return;
|
|
349
362
|
}
|
|
350
363
|
|
|
351
|
-
let
|
|
364
|
+
let newInputUpdate: ParseTextResult;
|
|
352
365
|
const nativeEvent = e.nativeEvent as MarkdownNativeEvent;
|
|
353
|
-
|
|
366
|
+
const inputType = nativeEvent.inputType;
|
|
367
|
+
switch (inputType) {
|
|
354
368
|
case 'historyUndo':
|
|
355
|
-
|
|
369
|
+
newInputUpdate = undo(divRef.current);
|
|
356
370
|
break;
|
|
357
371
|
case 'historyRedo':
|
|
358
|
-
|
|
372
|
+
newInputUpdate = redo(divRef.current);
|
|
359
373
|
break;
|
|
360
374
|
case 'insertFromPaste':
|
|
361
375
|
// if there is no newline at the end of the copied text, contentEditable adds invisible <br> tag at the end of the text, so we need to normalize it
|
|
362
376
|
if (changedText.length > 2 && changedText[changedText.length - 2] !== '\n' && changedText[changedText.length - 1] === '\n') {
|
|
363
|
-
|
|
377
|
+
newInputUpdate = parseText(divRef.current, normalizeValue(changedText), processedMarkdownStyle);
|
|
364
378
|
break;
|
|
365
379
|
}
|
|
366
|
-
|
|
380
|
+
newInputUpdate = parseText(divRef.current, changedText, processedMarkdownStyle);
|
|
367
381
|
break;
|
|
368
382
|
default:
|
|
369
|
-
|
|
383
|
+
newInputUpdate = parseText(divRef.current, changedText, processedMarkdownStyle);
|
|
370
384
|
}
|
|
371
385
|
|
|
386
|
+
const {text, cursorPosition} = newInputUpdate;
|
|
387
|
+
const normalizedText = normalizeValue(text);
|
|
388
|
+
|
|
372
389
|
if (pasteRef?.current) {
|
|
373
390
|
pasteRef.current = false;
|
|
374
391
|
updateSelection(e);
|
|
@@ -376,13 +393,43 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
|
|
|
376
393
|
updateTextColor(divRef.current, text);
|
|
377
394
|
|
|
378
395
|
if (onChange) {
|
|
379
|
-
const event = e as unknown as NativeSyntheticEvent<
|
|
396
|
+
const event = e as unknown as NativeSyntheticEvent<{
|
|
397
|
+
count: number;
|
|
398
|
+
before: number;
|
|
399
|
+
start: number;
|
|
400
|
+
}>;
|
|
380
401
|
setEventProps(event);
|
|
402
|
+
|
|
403
|
+
// The new text is between the prev start selection and the new end selection, can be empty
|
|
404
|
+
const addedText = normalizedText.slice(prevSelection.start, cursorPosition ?? 0);
|
|
405
|
+
// The length of the text that replaced the before text
|
|
406
|
+
const count = addedText.length;
|
|
407
|
+
// The start index of the replacement operation
|
|
408
|
+
let start = prevSelection.start;
|
|
409
|
+
|
|
410
|
+
const prevSelectionRange = prevSelection.end - prevSelection.start;
|
|
411
|
+
// The length the deleted text had before
|
|
412
|
+
let before = prevSelectionRange;
|
|
413
|
+
if (prevSelectionRange === 0 && (inputType === 'deleteContentBackward' || inputType === 'deleteContentForward')) {
|
|
414
|
+
// its possible the user pressed a delete key without a selection range, so we need to adjust the before value to have the length of the deleted text
|
|
415
|
+
before = prevTextLength - normalizedText.length;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
if (inputType === 'deleteContentBackward') {
|
|
419
|
+
// When the user does a backspace delete he expects the content before the cursor to be removed.
|
|
420
|
+
// For this the start value needs to be adjusted (its as if the selection was before the text that we want to delete)
|
|
421
|
+
start -= before;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
event.nativeEvent.count = count;
|
|
425
|
+
event.nativeEvent.before = before;
|
|
426
|
+
event.nativeEvent.start = start;
|
|
427
|
+
|
|
428
|
+
// @ts-expect-error TODO: Remove once react native PR merged https://github.com/facebook/react-native/pull/45248
|
|
381
429
|
onChange(event);
|
|
382
430
|
}
|
|
383
431
|
|
|
384
432
|
if (onChangeText) {
|
|
385
|
-
const normalizedText = normalizeValue(text);
|
|
386
433
|
onChangeText(normalizedText);
|
|
387
434
|
}
|
|
388
435
|
|
|
@@ -521,8 +568,11 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
|
|
|
521
568
|
|
|
522
569
|
const handlePaste = useCallback((e) => {
|
|
523
570
|
pasteRef.current = true;
|
|
524
|
-
e.
|
|
571
|
+
if (e.isDefaultPrevented()) {
|
|
572
|
+
return;
|
|
573
|
+
}
|
|
525
574
|
|
|
575
|
+
e.preventDefault();
|
|
526
576
|
const clipboardData = e.clipboardData;
|
|
527
577
|
const text = clipboardData.getData('text/plain');
|
|
528
578
|
document.execCommand('insertText', false, text);
|
package/src/web/cursorUtils.ts
CHANGED
|
@@ -2,6 +2,10 @@ import * as BrowserUtils from './browserUtils';
|
|
|
2
2
|
|
|
3
3
|
let prevTextLength: number | undefined;
|
|
4
4
|
|
|
5
|
+
function getPrevTextLength() {
|
|
6
|
+
return prevTextLength;
|
|
7
|
+
}
|
|
8
|
+
|
|
5
9
|
function findTextNodes(textNodes: Text[], node: ChildNode) {
|
|
6
10
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
7
11
|
textNodes.push(node as Text);
|
|
@@ -158,4 +162,4 @@ function scrollCursorIntoView(target: HTMLInputElement) {
|
|
|
158
162
|
}
|
|
159
163
|
}
|
|
160
164
|
|
|
161
|
-
export {getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, setPrevText, removeSelection, scrollCursorIntoView};
|
|
165
|
+
export {getCurrentCursorPosition, moveCursorToEnd, setCursorPosition, setPrevText, removeSelection, scrollCursorIntoView, getPrevTextLength};
|