@expensify/react-native-live-markdown 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/lib/commonjs/MarkdownTextInput.js +5 -55
  2. package/lib/commonjs/MarkdownTextInput.js.map +1 -1
  3. package/lib/commonjs/MarkdownTextInput.web.js +399 -9
  4. package/lib/commonjs/MarkdownTextInput.web.js.map +1 -1
  5. package/lib/commonjs/react-native-web.d.js +2 -0
  6. package/lib/commonjs/react-native-web.d.js.map +1 -0
  7. package/lib/commonjs/styleUtils.js +61 -0
  8. package/lib/commonjs/styleUtils.js.map +1 -0
  9. package/lib/commonjs/web/InputHistory.js +92 -0
  10. package/lib/commonjs/web/InputHistory.js.map +1 -0
  11. package/lib/commonjs/web/MarkdownTextInput.css +24 -0
  12. package/lib/commonjs/web/cursorUtils.js +90 -0
  13. package/lib/commonjs/web/cursorUtils.js.map +1 -0
  14. package/lib/commonjs/web/parserUtils.js +170 -0
  15. package/lib/commonjs/web/parserUtils.js.map +1 -0
  16. package/lib/module/MarkdownTextInput.js +3 -55
  17. package/lib/module/MarkdownTextInput.js.map +1 -1
  18. package/lib/module/MarkdownTextInput.web.js +399 -12
  19. package/lib/module/MarkdownTextInput.web.js.map +1 -1
  20. package/lib/module/react-native-web.d.js +2 -0
  21. package/lib/module/react-native-web.d.js.map +1 -0
  22. package/lib/module/styleUtils.js +56 -0
  23. package/lib/module/styleUtils.js.map +1 -0
  24. package/lib/module/web/InputHistory.js +85 -0
  25. package/lib/module/web/InputHistory.js.map +1 -0
  26. package/lib/module/web/MarkdownTextInput.css +24 -0
  27. package/lib/module/web/cursorUtils.js +83 -0
  28. package/lib/module/web/cursorUtils.js.map +1 -0
  29. package/lib/module/web/parserUtils.js +162 -0
  30. package/lib/module/web/parserUtils.js.map +1 -0
  31. package/lib/parser/react-native-live-markdown-parser.js +34 -0
  32. package/lib/typescript/src/MarkdownTextInput.d.ts +3 -6
  33. package/lib/typescript/src/MarkdownTextInput.d.ts.map +1 -1
  34. package/lib/typescript/src/MarkdownTextInput.web.d.ts +9 -2
  35. package/lib/typescript/src/MarkdownTextInput.web.d.ts.map +1 -1
  36. package/lib/typescript/src/styleUtils.d.ts +9 -0
  37. package/lib/typescript/src/styleUtils.d.ts.map +1 -0
  38. package/lib/typescript/src/web/InputHistory.d.ts +24 -0
  39. package/lib/typescript/src/web/InputHistory.d.ts.map +1 -0
  40. package/lib/typescript/src/web/cursorUtils.d.ts +8 -0
  41. package/lib/typescript/src/web/cursorUtils.d.ts.map +1 -0
  42. package/lib/typescript/src/web/parserUtils.d.ts +16 -0
  43. package/lib/typescript/src/web/parserUtils.d.ts.map +1 -0
  44. package/package.json +6 -3
  45. package/parser/react-native-live-markdown-parser.js +7 -7
  46. package/src/MarkdownTextInput.tsx +9 -69
  47. package/src/MarkdownTextInput.web.tsx +516 -16
  48. package/src/react-native-web.d.ts +1 -0
  49. package/src/styleUtils.ts +70 -0
  50. package/src/web/InputHistory.ts +114 -0
  51. package/src/web/MarkdownTextInput.css +24 -0
  52. package/src/web/cursorUtils.ts +87 -0
  53. package/src/web/parserUtils.ts +194 -0
@@ -4,64 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _reactNative = require("react-native");
8
+ var _react = _interopRequireDefault(require("react"));
9
9
  var _MarkdownTextInputDecoratorViewNativeComponent = _interopRequireDefault(require("./MarkdownTextInputDecoratorViewNativeComponent"));
10
+ var StyleUtils = _interopRequireWildcard(require("./styleUtils"));
11
+ 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); }
12
+ 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; }
10
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
14
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
- const FONT_FAMILY_MONOSPACE = _reactNative.Platform.select({
13
- ios: 'Courier',
14
- default: 'monospace'
15
- });
16
- function makeDefaultMarkdownStyle() {
17
- return {
18
- syntax: {
19
- color: 'gray'
20
- },
21
- link: {
22
- color: 'blue'
23
- },
24
- h1: {
25
- fontSize: 25
26
- },
27
- blockquote: {
28
- borderColor: 'gray',
29
- borderWidth: 6,
30
- marginLeft: 6,
31
- paddingLeft: 6
32
- },
33
- code: {
34
- fontFamily: FONT_FAMILY_MONOSPACE,
35
- color: 'black',
36
- backgroundColor: 'lightgray'
37
- },
38
- pre: {
39
- fontFamily: FONT_FAMILY_MONOSPACE,
40
- color: 'black',
41
- backgroundColor: 'lightgray'
42
- },
43
- mentionHere: {
44
- color: 'green',
45
- backgroundColor: 'lime'
46
- },
47
- mentionUser: {
48
- color: 'blue',
49
- backgroundColor: 'cyan'
50
- }
51
- };
52
- }
53
- function mergeMarkdownStyleWithDefault(input) {
54
- const output = makeDefaultMarkdownStyle();
55
- if (input !== undefined) {
56
- Object.keys(input).forEach(key => {
57
- if (!(key in output)) {
58
- return;
59
- }
60
- Object.assign(output[key], input[key]);
61
- });
62
- }
63
- return output;
64
- }
65
15
  function processColorsInMarkdownStyle(input) {
66
16
  const output = JSON.parse(JSON.stringify(input));
67
17
  Object.keys(output).forEach(key => {
@@ -77,7 +27,7 @@ function processColorsInMarkdownStyle(input) {
77
27
  return output;
78
28
  }
79
29
  function processMarkdownStyle(input) {
80
- return processColorsInMarkdownStyle(mergeMarkdownStyleWithDefault(input));
30
+ return processColorsInMarkdownStyle(StyleUtils.mergeMarkdownStyleWithDefault(input));
81
31
  }
82
32
  const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
83
33
  const IS_FABRIC = ('nativeFabricUIManager' in global);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MarkdownTextInputDecoratorViewNativeComponent","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","FONT_FAMILY_MONOSPACE","Platform","select","ios","makeDefaultMarkdownStyle","syntax","color","link","h1","fontSize","blockquote","borderColor","borderWidth","marginLeft","paddingLeft","code","fontFamily","backgroundColor","pre","mentionHere","mentionUser","mergeMarkdownStyleWithDefault","input","output","undefined","keys","forEach","processColorsInMarkdownStyle","JSON","parse","stringify","prop","endsWith","processColor","processMarkdownStyle","MarkdownTextInput","React","forwardRef","props","ref","IS_FABRIC","global","markdownStyle","useMemo","createElement","Fragment","TextInput","style","styles","farAway","displayNone","StyleSheet","create","display","position","top","left","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","_MarkdownTextInputDecoratorViewNativeComponent","StyleUtils","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","processColorsInMarkdownStyle","input","output","JSON","parse","stringify","keys","forEach","prop","endsWith","processColor","processMarkdownStyle","mergeMarkdownStyleWithDefault","MarkdownTextInput","React","forwardRef","props","ref","IS_FABRIC","global","markdownStyle","useMemo","createElement","Fragment","TextInput","style","styles","farAway","displayNone","StyleSheet","create","display","position","top","left","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,8CAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,UAAA,GAAAC,uBAAA,CAAAL,OAAA;AAA2C,SAAAM,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,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,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,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAb,uBAAAyB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAU3C,SAASK,4BAA4BA,CAACC,KAAoB,EAAiB;EACzE,MAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACJ,KAAK,CAAC,CAAC;EAEhDpB,MAAM,CAACyB,IAAI,CAACJ,MAAM,CAAC,CAACK,OAAO,CAAET,GAAG,IAAK;IACnC,MAAMR,GAAG,GAAGY,MAAM,CAACJ,GAAG,CAAC;IACvBjB,MAAM,CAACyB,IAAI,CAAChB,GAAG,CAAC,CAACiB,OAAO,CAAEC,IAAI,IAAK;MACjC;MACA,IAAI,EAAEA,IAAI,KAAK,OAAO,IAAIA,IAAI,CAACC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;QACjD;MACF;MACAnB,GAAG,CAACkB,IAAI,CAAC,GAAG,IAAAE,yBAAY,EAACpB,GAAG,CAACkB,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAON,MAAM;AACf;AAEA,SAASS,oBAAoBA,CAACV,KAAuC,EAAiB;EACpF,OAAOD,4BAA4B,CAACjC,UAAU,CAAC6C,6BAA6B,CAACX,KAAK,CAAC,CAAC;AACtF;AAEA,MAAMY,iBAAiB,gBAAGC,cAAK,CAACC,UAAU,CAAoC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC5F,MAAMC,SAAS,IAAG,uBAAuB,IAAIC,MAAM;EAEnD,MAAMC,aAAa,GAAGN,cAAK,CAACO,OAAO,CAAC,MAAMV,oBAAoB,CAACK,KAAK,CAACI,aAAa,CAAC,EAAE,CAACJ,KAAK,CAACI,aAAa,CAAC,CAAC;EAE3G,oBACExD,MAAA,CAAAW,OAAA,CAAA+C,aAAA,CAAA1D,MAAA,CAAAW,OAAA,CAAAgD,QAAA,qBACE3D,MAAA,CAAAW,OAAA,CAAA+C,aAAA,CAAC5D,YAAA,CAAA8D,SAAS,EAAAjC,QAAA,KACJyB,KAAK;IACTC,GAAG,EAAEA;EAAI,EACV,CAAC,eACFrD,MAAA,CAAAW,OAAA,CAAA+C,aAAA,CAACxD,8CAAA,CAAAS,OAA6C;IAC5CkD,KAAK,EAAEP,SAAS,GAAGQ,MAAM,CAACC,OAAO,GAAGD,MAAM,CAACE,WAAY;IACvDR,aAAa,EAAEA;EAAc,CAC9B,CACD,CAAC;AAEP,CAAC,CAAC;AAEF,MAAMM,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAC/BF,WAAW,EAAE;IACXG,OAAO,EAAE;EACX,CAAC;EACDJ,OAAO,EAAE;IACPK,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,GAAG;IACRC,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA7D,OAAA,GAIYsC,iBAAiB"}
@@ -4,18 +4,408 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
7
8
  var _reactNative = require("react-native");
8
- var _react = _interopRequireDefault(require("react"));
9
+ var ParseUtils = _interopRequireWildcard(require("./web/parserUtils"));
10
+ var CursorUtils = _interopRequireWildcard(require("./web/cursorUtils"));
11
+ var StyleUtils = _interopRequireWildcard(require("./styleUtils"));
12
+ require("./web/MarkdownTextInput.css");
13
+ var _InputHistory = _interopRequireDefault(require("./web/InputHistory"));
9
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
15
+ 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); }
16
+ 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; }
17
+ /* eslint-disable @typescript-eslint/no-explicit-any */
12
18
 
13
- // eslint-disable-next-line arrow-body-style
14
- const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
15
- // TODO: add web implementation here
16
- return /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, _extends({}, props, {
17
- ref: ref
18
- }));
19
+ require('../parser/react-native-live-markdown-parser.js');
20
+ let createReactDOMStyle;
21
+ try {
22
+ createReactDOMStyle =
23
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
24
+ require('react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle').default;
25
+ } catch (e) {
26
+ throw new Error('[react-native-live-markdown] Function `createReactDOMStyle` from react-native-web not found. Please make sure that you are using React Native Web 0.18 or newer.');
27
+ }
28
+ let preprocessStyle;
29
+ try {
30
+ preprocessStyle =
31
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
32
+ require('react-native-web/dist/exports/StyleSheet/preprocess').default;
33
+ } catch (e) {
34
+ throw new Error('[react-native-live-markdown] Function `preprocessStyle` from react-native-web not found.');
35
+ }
36
+ let dangerousStyleValue;
37
+ try {
38
+ dangerousStyleValue =
39
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
40
+ require('react-native-web/dist/modules/setValueForStyles/dangerousStyleValue').default;
41
+ } catch (e) {
42
+ throw new Error('[react-native-live-markdown] Function `dangerousStyleValue` from react-native-web not found.');
43
+ }
44
+ let focusTimeout = null;
45
+
46
+ // Removes one '\n' from the end of the string that were added by contentEditable div
47
+ function normalizeValue(value) {
48
+ return value.replace(/\n$/, '');
49
+ }
50
+
51
+ // If an Input Method Editor is processing key input, the 'keyCode' is 229.
52
+ // https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode
53
+ function isEventComposing(nativeEvent) {
54
+ return nativeEvent.isComposing || nativeEvent.keyCode === 229;
55
+ }
56
+ const ZERO_WIDTH_SPACE = '\u200B';
57
+ function getPlaceholderValue(placeholder) {
58
+ if (!placeholder) {
59
+ return ZERO_WIDTH_SPACE;
60
+ }
61
+ return placeholder.length ? placeholder : ZERO_WIDTH_SPACE;
62
+ }
63
+ function processUnitsInMarkdownStyle(input) {
64
+ const output = JSON.parse(JSON.stringify(input));
65
+ Object.keys(output).forEach(key => {
66
+ const obj = output[key];
67
+ Object.keys(obj).forEach(prop => {
68
+ obj[prop] = dangerousStyleValue(prop, obj[prop], false);
69
+ });
70
+ });
71
+ return output;
72
+ }
73
+ function processMarkdownStyle(input) {
74
+ return processUnitsInMarkdownStyle(StyleUtils.mergeMarkdownStyleWithDefault(input));
75
+ }
76
+ function getElementHeight(node, styles, numberOfLines) {
77
+ if (numberOfLines) {
78
+ const tempElement = document.createElement('div');
79
+ tempElement.setAttribute('contenteditable', 'true');
80
+ Object.assign(tempElement.style, styles);
81
+ tempElement.innerText = Array(numberOfLines).fill('A').join('\n');
82
+ if (node.parentElement) {
83
+ node.parentElement.appendChild(tempElement);
84
+ const height = tempElement.clientHeight;
85
+ node.parentElement.removeChild(tempElement);
86
+ return `${height}px`;
87
+ }
88
+ }
89
+ return `${styles.height}px` || 'auto';
90
+ }
91
+ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
92
+ accessibilityLabel,
93
+ accessibilityLabelledBy,
94
+ accessibilityRole,
95
+ autoCapitalize = 'sentences',
96
+ autoCorrect = true,
97
+ blurOnSubmit = false,
98
+ clearTextOnFocus,
99
+ dir = 'auto',
100
+ disabled = false,
101
+ numberOfLines,
102
+ multiline = false,
103
+ markdownStyle,
104
+ onBlur,
105
+ onChange,
106
+ onChangeText,
107
+ onClick,
108
+ onFocus,
109
+ onKeyPress,
110
+ onSelectionChange,
111
+ onSubmitEditing,
112
+ placeholder,
113
+ placeholderTextColor = `rgba(0,0,0,0.2)`,
114
+ selectTextOnFocus,
115
+ spellCheck,
116
+ style = {},
117
+ value
118
+ }, ref) => {
119
+ const divRef = (0, _react.useRef)(null);
120
+ const currentlyFocusedField = (0, _react.useRef)(null);
121
+ const contentSelection = (0, _react.useRef)(null);
122
+ const className = `react-native-live-markdown-input-${multiline ? 'multiline' : 'singleline'}`;
123
+ const history = (0, _react.useRef)();
124
+ if (!history.current) {
125
+ history.current = new _InputHistory.default(100);
126
+ }
127
+ const flattenedStyle = (0, _react.useMemo)(() => _reactNative.StyleSheet.flatten(style), [style]);
128
+
129
+ // Empty placeholder would collapse the div, so we need to use zero-width space to prevent it
130
+ const heightSafePlaceholder = (0, _react.useMemo)(() => getPlaceholderValue(placeholder), [placeholder]);
131
+ const parseText = (0, _react.useCallback)((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true) => {
132
+ if (text === null) {
133
+ return {
134
+ text: target.innerText,
135
+ cursorPosition: null
136
+ };
137
+ }
138
+ const parsedText = ParseUtils.parseText(target, text, cursorPosition, customMarkdownStyles, !multiline);
139
+ if (history.current && shouldAddToHistory) {
140
+ history.current.debouncedAdd(parsedText.text, parsedText.cursorPosition);
141
+ }
142
+ if (parsedText.cursorPosition !== null) {
143
+ contentSelection.current = {
144
+ start: parsedText.cursorPosition,
145
+ end: parsedText.cursorPosition
146
+ };
147
+ }
148
+ return parsedText;
149
+ }, [multiline]);
150
+ const processedMarkdownStyle = (0, _react.useMemo)(() => {
151
+ const newMarkdownStyle = processMarkdownStyle(markdownStyle);
152
+ if (divRef.current) {
153
+ parseText(divRef.current, divRef.current.innerText, newMarkdownStyle);
154
+ }
155
+ return newMarkdownStyle;
156
+ }, [markdownStyle]);
157
+ const inputStyles = (0, _react.useMemo)(() => _reactNative.StyleSheet.flatten([styles.defaultInputStyles, flattenedStyle && {
158
+ caretColor: flattenedStyle.color || 'black'
159
+ }, disabled && styles.disabledInputStyles, createReactDOMStyle(preprocessStyle(flattenedStyle))]), [flattenedStyle, disabled]);
160
+ const undo = (0, _react.useCallback)(target => {
161
+ if (!history.current) return '';
162
+ const item = history.current.undo();
163
+ return parseText(target, item ? item.text : null, processedMarkdownStyle, item ? item.cursorPosition : null, false).text;
164
+ }, [processedMarkdownStyle]);
165
+ const redo = (0, _react.useCallback)(target => {
166
+ if (!history.current) return '';
167
+ const item = history.current.redo();
168
+ return parseText(target, item ? item.text : null, processedMarkdownStyle, item ? item.cursorPosition : null, false).text;
169
+ }, [processedMarkdownStyle]);
170
+
171
+ // 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
172
+ const processedValue = (0, _react.useMemo)(() => {
173
+ if (value && value[value.length - 1] === '\n') {
174
+ return `${value}\n`;
175
+ }
176
+ return value;
177
+ }, [value]);
178
+ const setEventProps = (0, _react.useCallback)(e => {
179
+ if (divRef.current) {
180
+ const text = normalizeValue(divRef.current.innerText || '');
181
+ if (typeof e.target !== 'number') {
182
+ // TODO: change the logic here so every event have value property
183
+ e.target.value = text;
184
+ }
185
+ e.nativeEvent.text = text;
186
+ }
187
+ return e;
188
+ }, []);
189
+
190
+ // Placeholder text color logic
191
+ const updateTextColor = (0, _react.useCallback)((node, text) => {
192
+ // eslint-disable-next-line no-param-reassign -- we need to change the style of the node, so we need to modify it
193
+ node.style.color = String(placeholder && (text === '' || text === '\n') ? placeholderTextColor : flattenedStyle.color || 'black');
194
+ }, []);
195
+ const handleOnChangeText = (0, _react.useCallback)(e => {
196
+ if (!divRef.current || !(e.target instanceof HTMLElement)) {
197
+ return;
198
+ }
199
+ let text = '';
200
+ const nativeEvent = e.nativeEvent;
201
+ switch (nativeEvent.inputType) {
202
+ case 'historyUndo':
203
+ text = undo(divRef.current);
204
+ break;
205
+ case 'historyRedo':
206
+ text = redo(divRef.current);
207
+ break;
208
+ default:
209
+ text = parseText(divRef.current, e.target.innerText, processedMarkdownStyle).text;
210
+ }
211
+ updateTextColor(divRef.current, e.target.innerText);
212
+ if (onChange) {
213
+ const event = e;
214
+ setEventProps(event);
215
+ onChange(event);
216
+ }
217
+ if (onChangeText) {
218
+ const normalizedText = normalizeValue(text);
219
+ onChangeText(normalizedText);
220
+ }
221
+ }, [multiline, onChange, onChangeText, setEventProps, processedMarkdownStyle]);
222
+ const handleKeyPress = (0, _react.useCallback)(e => {
223
+ if (!divRef.current) {
224
+ return;
225
+ }
226
+ const hostNode = e.target;
227
+ e.stopPropagation();
228
+ if (e.key === 'z' && e.metaKey) {
229
+ e.preventDefault();
230
+ const nativeEvent = e.nativeEvent;
231
+ if (e.shiftKey) {
232
+ nativeEvent.inputType = 'historyRedo';
233
+ } else {
234
+ nativeEvent.inputType = 'historyUndo';
235
+ }
236
+ handleOnChangeText(e);
237
+ return;
238
+ }
239
+ const blurOnSubmitDefault = !multiline;
240
+ const shouldBlurOnSubmit = blurOnSubmit === null ? blurOnSubmitDefault : blurOnSubmit;
241
+ const nativeEvent = e.nativeEvent;
242
+ const isComposing = isEventComposing(nativeEvent);
243
+ const event = e;
244
+ setEventProps(event);
245
+ if (onKeyPress) {
246
+ onKeyPress(event);
247
+ }
248
+ if (e.key === 'Enter' && !e.shiftKey &&
249
+ // Do not call submit if composition is occuring.
250
+ !isComposing && !e.isDefaultPrevented()) {
251
+ // prevent "Enter" from inserting a newline or submitting a form
252
+ e.preventDefault();
253
+ if ((blurOnSubmit || !multiline) && onSubmitEditing) {
254
+ onSubmitEditing(event);
255
+ } else {
256
+ e.preventDefault();
257
+ // We need to change normal behavior of "Enter" key to insert a line breaks, to prevent wrapping contentEditable text in <div> tags.
258
+ // Thanks to that in every situation we have proper amount of new lines in our parsed text. Without it pressing enter in empty lines will add 2 more new lines.
259
+ if (multiline) {
260
+ document.execCommand('insertLineBreak');
261
+ }
262
+ }
263
+ if (shouldBlurOnSubmit && hostNode !== null || !multiline) {
264
+ setTimeout(() => divRef.current && divRef.current.blur(), 0);
265
+ }
266
+ }
267
+ }, [onKeyPress]);
268
+ const handleSelectionChange = (0, _react.useCallback)(event => {
269
+ const e = event;
270
+ setEventProps(e);
271
+ const selection = CursorUtils.getCurrentCursorPosition(e.target);
272
+ contentSelection.current = selection;
273
+ if (onSelectionChange) {
274
+ e.nativeEvent.selection = selection;
275
+ onSelectionChange(e);
276
+ }
277
+ }, [onSelectionChange, setEventProps]);
278
+ const handleFocus = (0, _react.useCallback)(event => {
279
+ const e = event;
280
+ const hostNode = e.target;
281
+ currentlyFocusedField.current = hostNode;
282
+ setEventProps(e);
283
+ if (divRef.current && contentSelection.current) {
284
+ CursorUtils.setCursorPosition(divRef.current, contentSelection.current.start || divRef.current.innerText.length, !multiline);
285
+ }
286
+ if (onFocus) {
287
+ setEventProps(e);
288
+ onFocus(e);
289
+ }
290
+ if (hostNode !== null) {
291
+ if (clearTextOnFocus && divRef.current) {
292
+ divRef.current.innerText = '';
293
+ }
294
+ if (selectTextOnFocus) {
295
+ // Safari requires selection to occur in a setTimeout
296
+ if (focusTimeout !== null) {
297
+ clearTimeout(focusTimeout);
298
+ }
299
+ focusTimeout = setTimeout(() => {
300
+ if (hostNode === null) {
301
+ return;
302
+ }
303
+ document.execCommand('selectAll', false, '');
304
+ }, 0);
305
+ }
306
+ }
307
+ }, [clearTextOnFocus, multiline, onFocus, selectTextOnFocus, setEventProps]);
308
+ const handleBlur = (0, _react.useCallback)(event => {
309
+ const e = event;
310
+ currentlyFocusedField.current = null;
311
+ if (onBlur) {
312
+ setEventProps(e);
313
+ onBlur(e);
314
+ }
315
+ }, [onBlur, setEventProps]);
316
+ const handleClick = (0, _react.useCallback)(e => {
317
+ if (!onClick || !divRef.current) {
318
+ return;
319
+ }
320
+ e.target.value = normalizeValue(divRef.current.innerText || '');
321
+ onClick(e);
322
+ }, [onClick]);
323
+ const setRef = currentRef => {
324
+ const r = currentRef;
325
+ if (r) {
326
+ r.isFocused = () => document.activeElement === r;
327
+ r.clear = () => {
328
+ r.innerText = '';
329
+ updateTextColor(r, '');
330
+ };
331
+ if (value === '' || value === undefined) {
332
+ // update to placeholder color when value is empty
333
+ updateTextColor(r, r.innerText);
334
+ }
335
+ }
336
+ if (ref) {
337
+ if (typeof ref === 'object') {
338
+ // eslint-disable-next-line no-param-reassign
339
+ ref.current = r;
340
+ } else if (typeof ref === 'function') {
341
+ ref(r);
342
+ }
343
+ }
344
+ divRef.current = r;
345
+ };
346
+ (0, _react.useEffect)(() => {
347
+ if (!divRef.current || processedValue === divRef.current.innerText) {
348
+ return;
349
+ }
350
+ if (value === undefined) {
351
+ parseText(divRef.current, divRef.current.innerText, processedMarkdownStyle);
352
+ return;
353
+ }
354
+ const text = processedValue !== undefined ? processedValue : '';
355
+ parseText(divRef.current, text, processedMarkdownStyle, text.length);
356
+ updateTextColor(divRef.current, value);
357
+ }, [multiline, processedMarkdownStyle, processedValue]);
358
+ (0, _react.useEffect)(() => {
359
+ if (!divRef.current || !multiline) {
360
+ return;
361
+ }
362
+ const elementHeight = getElementHeight(divRef.current, inputStyles, numberOfLines);
363
+ divRef.current.style.height = elementHeight;
364
+ divRef.current.style.maxHeight = elementHeight;
365
+ }, [numberOfLines]);
366
+ return (
367
+ /*#__PURE__*/
368
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
369
+ _react.default.createElement("div", {
370
+ ref: setRef,
371
+ contentEditable: !disabled,
372
+ style: inputStyles,
373
+ role: accessibilityRole || 'textbox',
374
+ "aria-label": accessibilityLabel,
375
+ "aria-labelledby": `${accessibilityLabelledBy}`,
376
+ "aria-placeholder": heightSafePlaceholder,
377
+ "aria-multiline": multiline,
378
+ autoCorrect: autoCorrect ? 'on' : 'off',
379
+ autoCapitalize: autoCapitalize,
380
+ className: className,
381
+ onKeyDown: handleKeyPress,
382
+ onInput: handleOnChangeText,
383
+ onSelect: handleSelectionChange,
384
+ onClick: handleClick,
385
+ onFocus: handleFocus,
386
+ onBlur: handleBlur,
387
+ placeholder: heightSafePlaceholder,
388
+ spellCheck: spellCheck,
389
+ dir: dir
390
+ })
391
+ );
392
+ });
393
+ const styles = _reactNative.StyleSheet.create({
394
+ defaultInputStyles: {
395
+ borderColor: 'black',
396
+ borderWidth: 1,
397
+ borderStyle: 'solid',
398
+ fontFamily: 'sans-serif',
399
+ boxSizing: 'border-box',
400
+ whiteSpace: 'pre-wrap',
401
+ overflowY: 'scroll',
402
+ overflowX: 'scroll',
403
+ overflowWrap: 'break-word'
404
+ },
405
+ disabledInputStyles: {
406
+ opacity: 0.75,
407
+ cursor: 'default'
408
+ }
19
409
  });
20
410
  var _default = exports.default = MarkdownTextInput;
21
411
  //# sourceMappingURL=MarkdownTextInput.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","MarkdownTextInput","React","forwardRef","props","ref","createElement","TextInput","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAG1B;;AAKA;AACA,MAAMQ,iBAAiB,gBAAGC,cAAK,CAACC,UAAU,CAAoC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC5F;EACA,oBACEvB,MAAA,CAAAI,OAAA,CAAAoB,aAAA,CAAC1B,YAAA,CAAA2B,SAAS,EAAApB,QAAA,KACJiB,KAAK;IACTC,GAAG,EAAEA;EAAI,EACV,CAAC;AAEN,CAAC,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAvB,OAAA,GAEYe,iBAAiB"}
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","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","ref","divRef","useRef","currentlyFocusedField","contentSelection","className","history","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","parseText","useCallback","target","text","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","debouncedAdd","start","end","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","redo","processedValue","setEventProps","updateTextColor","String","handleOnChangeText","HTMLElement","inputType","event","normalizedText","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","setTimeout","blur","handleSelectionChange","selection","getCurrentCursorPosition","handleFocus","setCursorPosition","clearTimeout","handleBlur","handleClick","setRef","currentRef","isFocused","activeElement","clear","undefined","useEffect","elementHeight","maxHeight","contentEditable","role","onKeyDown","onInput","onSelect","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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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=react-native-web.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["react-native-web.d.ts"],"mappings":""}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mergeMarkdownStyleWithDefault = mergeMarkdownStyleWithDefault;
7
+ var _reactNative = require("react-native");
8
+ const FONT_FAMILY_MONOSPACE = _reactNative.Platform.select({
9
+ ios: 'Courier',
10
+ default: 'monospace'
11
+ });
12
+ function makeDefaultMarkdownStyle() {
13
+ return {
14
+ syntax: {
15
+ color: 'gray'
16
+ },
17
+ link: {
18
+ color: 'blue'
19
+ },
20
+ h1: {
21
+ fontSize: 25
22
+ },
23
+ blockquote: {
24
+ borderColor: 'gray',
25
+ borderWidth: 6,
26
+ marginLeft: 6,
27
+ paddingLeft: 6
28
+ },
29
+ code: {
30
+ fontFamily: FONT_FAMILY_MONOSPACE,
31
+ color: 'black',
32
+ backgroundColor: 'lightgray'
33
+ },
34
+ pre: {
35
+ fontFamily: FONT_FAMILY_MONOSPACE,
36
+ color: 'black',
37
+ backgroundColor: 'lightgray'
38
+ },
39
+ mentionHere: {
40
+ color: 'green',
41
+ backgroundColor: 'lime'
42
+ },
43
+ mentionUser: {
44
+ color: 'blue',
45
+ backgroundColor: 'cyan'
46
+ }
47
+ };
48
+ }
49
+ function mergeMarkdownStyleWithDefault(input) {
50
+ const output = makeDefaultMarkdownStyle();
51
+ if (input !== undefined) {
52
+ Object.keys(input).forEach(key => {
53
+ if (!(key in output)) {
54
+ return;
55
+ }
56
+ Object.assign(output[key], input[key]);
57
+ });
58
+ }
59
+ return output;
60
+ }
61
+ //# sourceMappingURL=styleUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","FONT_FAMILY_MONOSPACE","Platform","select","ios","default","makeDefaultMarkdownStyle","syntax","color","link","h1","fontSize","blockquote","borderColor","borderWidth","marginLeft","paddingLeft","code","fontFamily","backgroundColor","pre","mentionHere","mentionUser","mergeMarkdownStyleWithDefault","input","output","undefined","Object","keys","forEach","key","assign"],"sourceRoot":"../../src","sources":["styleUtils.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AASA,MAAMC,qBAAqB,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EAC5CC,GAAG,EAAE,SAAS;EACdC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,SAASC,wBAAwBA,CAAA,EAAkB;EACjD,OAAO;IACLC,MAAM,EAAE;MACNC,KAAK,EAAE;IACT,CAAC;IACDC,IAAI,EAAE;MACJD,KAAK,EAAE;IACT,CAAC;IACDE,EAAE,EAAE;MACFC,QAAQ,EAAE;IACZ,CAAC;IACDC,UAAU,EAAE;MACVC,WAAW,EAAE,MAAM;MACnBC,WAAW,EAAE,CAAC;MACdC,UAAU,EAAE,CAAC;MACbC,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJC,UAAU,EAAEjB,qBAAqB;MACjCO,KAAK,EAAE,OAAO;MACdW,eAAe,EAAE;IACnB,CAAC;IACDC,GAAG,EAAE;MACHF,UAAU,EAAEjB,qBAAqB;MACjCO,KAAK,EAAE,OAAO;MACdW,eAAe,EAAE;IACnB,CAAC;IACDE,WAAW,EAAE;MACXb,KAAK,EAAE,OAAO;MACdW,eAAe,EAAE;IACnB,CAAC;IACDG,WAAW,EAAE;MACXd,KAAK,EAAE,MAAM;MACbW,eAAe,EAAE;IACnB;EACF,CAAC;AACH;AAEA,SAASI,6BAA6BA,CAACC,KAAuC,EAAiB;EAC7F,MAAMC,MAAM,GAAGnB,wBAAwB,CAAC,CAAC;EAEzC,IAAIkB,KAAK,KAAKE,SAAS,EAAE;IACvBC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAEC,GAAG,IAAK;MAClC,IAAI,EAAEA,GAAG,IAAIL,MAAM,CAAC,EAAE;QACpB;MACF;MACAE,MAAM,CAACI,MAAM,CAACN,MAAM,CAACK,GAAG,CAAwB,EAAEN,KAAK,CAACM,GAAG,CAAwB,CAAC;IACtF,CAAC,CAAC;EACJ;EAEA,OAAOL,MAAM;AACf"}