react-native-simple-rich-text-editor 0.3.2 → 0.3.3

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 (31) hide show
  1. package/lib/commonjs/index.js +14 -7
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/internal/rendering/components/Render.js +3 -1
  4. package/lib/commonjs/internal/rendering/components/Render.js.map +1 -1
  5. package/lib/commonjs/internal/text-formats/conversions.js +16 -3
  6. package/lib/commonjs/internal/text-formats/conversions.js.map +1 -1
  7. package/lib/commonjs/internal/text-formats/unicode-markers-format/constants.js +2 -2
  8. package/lib/commonjs/internal/text-formats/unicode-markers-format/constants.js.map +1 -1
  9. package/lib/module/index.js +14 -7
  10. package/lib/module/index.js.map +1 -1
  11. package/lib/module/internal/rendering/components/Render.js +3 -1
  12. package/lib/module/internal/rendering/components/Render.js.map +1 -1
  13. package/lib/module/internal/text-formats/conversions.js +17 -4
  14. package/lib/module/internal/text-formats/conversions.js.map +1 -1
  15. package/lib/module/internal/text-formats/unicode-markers-format/constants.js +1 -1
  16. package/lib/module/internal/text-formats/unicode-markers-format/constants.js.map +1 -1
  17. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  18. package/lib/typescript/commonjs/src/internal/rendering/components/Render.d.ts.map +1 -1
  19. package/lib/typescript/commonjs/src/internal/text-formats/conversions.d.ts.map +1 -1
  20. package/lib/typescript/commonjs/src/internal/text-formats/unicode-markers-format/constants.d.ts +2 -1
  21. package/lib/typescript/commonjs/src/internal/text-formats/unicode-markers-format/constants.d.ts.map +1 -1
  22. package/lib/typescript/module/src/index.d.ts.map +1 -1
  23. package/lib/typescript/module/src/internal/rendering/components/Render.d.ts.map +1 -1
  24. package/lib/typescript/module/src/internal/text-formats/conversions.d.ts.map +1 -1
  25. package/lib/typescript/module/src/internal/text-formats/unicode-markers-format/constants.d.ts +2 -1
  26. package/lib/typescript/module/src/internal/text-formats/unicode-markers-format/constants.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/src/index.tsx +32 -7
  29. package/src/internal/rendering/components/Render.tsx +6 -1
  30. package/src/internal/text-formats/conversions.ts +19 -4
  31. package/src/internal/text-formats/unicode-markers-format/constants.ts +1 -0
@@ -135,18 +135,18 @@ const RichTextEditor = ({
135
135
  children: "List"
136
136
  })
137
137
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
138
- style: [styles.button, styles.fixedWidth],
138
+ style: [styles.button, styles.fixedWidth, needsBoldEndMarker ? styles.endFontStyleButton : null],
139
139
  onPress: handleFontStyleMarkerInsertion('bold'),
140
140
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
141
- style: styles.buttonText,
142
- children: needsBoldEndMarker ? 'Bold ✖' : 'Bold'
141
+ style: [styles.buttonText, needsBoldEndMarker ? styles.endFontStyleText : null],
142
+ children: "Bold"
143
143
  })
144
144
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
145
- style: [styles.button, styles.fixedWidth],
145
+ style: [styles.button, styles.fixedWidth, needsItalicEndMarker ? styles.endFontStyleButton : null],
146
146
  onPress: handleFontStyleMarkerInsertion('italic'),
147
147
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
148
- style: styles.buttonText,
149
- children: needsItalicEndMarker ? 'Italic ✖' : 'Italic'
148
+ style: [styles.buttonText, needsItalicEndMarker ? styles.endFontStyleText : null],
149
+ children: "Italic"
150
150
  })
151
151
  })]
152
152
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
@@ -164,6 +164,7 @@ const RichTextEditor = ({
164
164
  };
165
165
  exports.RichTextEditor = RichTextEditor;
166
166
  const electricBlueHex = '#009DDC';
167
+ const jasperRedHex = '#E03A3E';
167
168
  const styles = _reactNative.StyleSheet.create({
168
169
  container: {
169
170
  flex: 1
@@ -192,7 +193,13 @@ const styles = _reactNative.StyleSheet.create({
192
193
  color: electricBlueHex
193
194
  },
194
195
  fixedWidth: {
195
- width: 70
196
+ width: 80
197
+ },
198
+ endFontStyleButton: {
199
+ borderColor: jasperRedHex
200
+ },
201
+ endFontStyleText: {
202
+ color: jasperRedHex
196
203
  }
197
204
  });
198
205
  var _default = exports.default = RichTextEditor;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_Render","_textManipulation","_markers","_jsxRuntime","debounce","func","delay","timeoutId","args","clearTimeout","setTimeout","RichTextEditor","text","externalText","onEmitText","emitTextAfterMillisecondsOfInactivity","internalText","setInternalText","useState","selection","setSelection","start","end","needsBoldEndMarker","setNeedsBoldEndMarker","needsItalicEndMarker","setNeedsItalicEndMarker","debouncedEmitText","useRef","newText","current","useEffect","handleTextChange","useCallback","handleFontStyleMarkerInsertion","style","isBold","addFontStyleEndMarker","addFontStyleMarkers","jsxs","View","styles","container","children","toolbar","jsx","TouchableOpacity","button","onPress","addHeadlineMarker","Markers","H1","Text","buttonText","H2","H3","addBulletPointMarker","fixedWidth","TextInput","multiline","autoFocus","autoCorrect","input","onSelectionChange","e","nativeEvent","onChangeText","Render","encodedText","exports","electricBlueHex","StyleSheet","create","flex","marginVertical","flexDirection","justifyContent","flexWrap","textAlignVertical","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","backgroundColor","flexShrink","textAlign","color","width","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_Render","_textManipulation","_markers","_jsxRuntime","debounce","func","delay","timeoutId","args","clearTimeout","setTimeout","RichTextEditor","text","externalText","onEmitText","emitTextAfterMillisecondsOfInactivity","internalText","setInternalText","useState","selection","setSelection","start","end","needsBoldEndMarker","setNeedsBoldEndMarker","needsItalicEndMarker","setNeedsItalicEndMarker","debouncedEmitText","useRef","newText","current","useEffect","handleTextChange","useCallback","handleFontStyleMarkerInsertion","style","isBold","addFontStyleEndMarker","addFontStyleMarkers","jsxs","View","styles","container","children","toolbar","jsx","TouchableOpacity","button","onPress","addHeadlineMarker","Markers","H1","Text","buttonText","H2","H3","addBulletPointMarker","fixedWidth","endFontStyleButton","endFontStyleText","TextInput","multiline","autoFocus","autoCorrect","input","onSelectionChange","e","nativeEvent","onChangeText","Render","encodedText","exports","electricBlueHex","jasperRedHex","StyleSheet","create","flex","marginVertical","flexDirection","justifyContent","flexWrap","textAlignVertical","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","backgroundColor","flexShrink","textAlign","color","width","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -13,10 +13,12 @@ var _jsxRuntime = require("react/jsx-runtime");
13
13
  var _Italic = require("./Italic.js");
14
14
  var _BulletPoint = require("./BulletPoint.js");
15
15
  var _utils = require("../utils.js");
16
+ const bulletPointRegex = new RegExp(_constants.BULLET_POINT_STRING_REPRESENTATION.trimEnd() + ' ?', 'g'); // matches the bullet point alone or the bullet point followed by a space
17
+
16
18
  const Render = ({
17
19
  encodedText
18
20
  }) => {
19
- const lines = splitPreservingSeparator(encodedText.replaceAll(_constants.BULLET_POINT_STRING_REPRESENTATION, ''), _constants.ZWS); // each BulletPoint.tsx instance adds a BULLET_POINT_STRING_REPRESENTATION, we need to remove them to avoid adding extra chars on each render
21
+ const lines = splitPreservingSeparator(encodedText.replaceAll(bulletPointRegex, ''), _constants.ZWS); // each BulletPoint.tsx instance adds a BULLET_POINT_STRING_REPRESENTATION, we need to remove them to avoid adding extra chars on each render
20
22
 
21
23
  return lines.map((line, i) => {
22
24
  const marker = line.substring(0, _constants.MARKER_STRING_LENGTH);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_constants","_Headline","_Bold","_markers","_jsxRuntime","_Italic","_BulletPoint","_utils","Render","encodedText","lines","splitPreservingSeparator","replaceAll","BULLET_POINT_STRING_REPRESENTATION","ZWS","map","line","i","marker","substring","MARKER_STRING_LENGTH","Markers","H1","H2","H3","headline","restOfLineWithoutMarkers","jsxs","Fragment","children","jsx","Headline","level","join","UL","bulletPoints","paragraphs","intersperse","split","bulletPointLine","j","BulletPoint","p","Text","BOLD_START","Bold","BOLD_END","ITALIC_START","Italic","ITALIC_END","length","exports","str","separator","s"],"sourceRoot":"../../../../../src","sources":["internal/rendering/components/Render.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAEO,MAAMS,MAAM,GAAGA,CAAC;EAAEC;AAAqC,CAAC,KAAK;EAClE,MAAMC,KAAK,GAAGC,wBAAwB,CACpCF,WAAW,CAACG,UAAU,CAACC,6CAAkC,EAAE,EAAE,CAAC,EAC9DC,cACF,CAAC,CAAC,CAAC;;EAEH,OAAOJ,KAAK,CAACK,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;IAC5B,MAAMC,MAAM,GAAGF,IAAI,CAACG,SAAS,CAAC,CAAC,EAAEC,+BAAoB,CAAC;IACtD,QAAQF,MAAM;MACZ,KAAKG,gBAAO,CAACC,EAAE;MACf,KAAKD,gBAAO,CAACE,EAAE;MACf,KAAKF,gBAAO,CAACG,EAAE;QACb,MAAM,CAACC,QAAQ,EAAE,GAAGC,wBAAwB,CAAC,GAC3Cf,wBAAwB,CAACK,IAAI,EAAE,IAAI,CAAC;QACtC,oBACE,IAAAZ,WAAA,CAAAuB,IAAA,EAACvB,WAAA,CAAAwB,QAAQ;UAAAC,QAAA,gBACP,IAAAzB,WAAA,CAAA0B,GAAA,EAAC7B,SAAA,CAAA8B,QAAQ;YAACC,KAAK,EAAEd,MAAO;YAAAW,QAAA,EAAEJ;UAAQ,CAAW,CAAC,EAC7CC,wBAAwB,CAACO,IAAI,CAAC,EAAE,CAAC;QAAA,GAFrBhB,CAAC,GAAGD,IAGT,CAAC;MAEf,KAAKK,gBAAO,CAACa,EAAE;QACb;QACA;QACA,MAAM,CAACC,YAAY,EAAE,GAAGC,UAAU,CAAC,GAAGzB,wBAAwB,CAC5DK,IAAI,EACJ,MACF,CAAC;QAED,oBACE,IAAAZ,WAAA,CAAAuB,IAAA,EAACvB,WAAA,CAAAwB,QAAQ;UAAAC,QAAA,GACN,IAAAQ,kBAAW;UACV;UACA,CAACF,YAAY,IAAI,EAAE,EAChBG,KAAK,CAAC,IAAI,CAAC,CAAC;UAAA,CACZvB,GAAG,CAAC,CAACwB,eAAe,EAAEC,CAAC,kBACtB,IAAApC,WAAA,CAAA0B,GAAA,EAACxB,YAAA,CAAAmC,WAAW;YAAAZ,QAAA,EACTU;UAAe,GADAC,CAAC,GAAGD,eAET,CACd,CAAC,EACJ,IACF,CAAC,EACAH,UAAU,CAACrB,GAAG,CAAE2B,CAAC,iBAChB,IAAAtC,WAAA,CAAA0B,GAAA,EAAChC,YAAA,CAAA6C,IAAI;YAAAd,QAAA,EAAUa;UAAC,GAALA,CAAY,CACxB,CAAC;QAAA,GAdWzB,CAAC,GAAGD,IAeT,CAAC;MAEf,KAAKK,gBAAO,CAACuB,UAAU;QACrB;QACA;QACA;QACA,oBAAO,IAAAxC,WAAA,CAAA0B,GAAA,EAAC5B,KAAA,CAAA2C,IAAI;UAAAhB,QAAA,EAAiBb;QAAI,GAAfC,CAAC,GAAGD,IAAkB,CAAC;MAC3C,KAAKK,gBAAO,CAACyB,QAAQ;QACnB;MACF,KAAKzB,gBAAO,CAAC0B,YAAY;QACvB,oBAAO,IAAA3C,WAAA,CAAA0B,GAAA,EAACzB,OAAA,CAAA2C,MAAM;UAAAnB,QAAA,EAAiBb;QAAI,GAAfC,CAAC,GAAGD,IAAoB,CAAC;MAC/C,KAAKK,gBAAO,CAAC4B,UAAU;QACrB;MACF;QACE;QACA;QACA;QACA,IAAIhC,CAAC,KAAK,CAAC,EAAE;UACX;UACA,IAAID,IAAI,CAACkC,MAAM,GAAG9B,+BAAoB,EAAE;YACtC,OAAO,EAAE;UACX;QACF;QACA;IACJ;IAEA,oBAAO,IAAAhB,WAAA,CAAA0B,GAAA,EAAChC,YAAA,CAAA6C,IAAI;MAAAd,QAAA,EAAiBb;IAAI,GAAfC,CAAC,GAAGD,IAAkB,CAAC;EAC3C,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAmC,OAAA,CAAA3C,MAAA,GAAAA,MAAA;AAQA,SAASG,wBAAwBA,CAACyC,GAAW,EAAEC,SAAiB,EAAY;EAC1E,OAAOD,GAAG,CAACd,KAAK,CAACe,SAAS,CAAC,CAACtC,GAAG,CAAC,CAACuC,CAAC,EAAErC,CAAC,KAAK;IACxC,IAAIA,CAAC,KAAK,CAAC,EAAE;MACX,OAAOqC,CAAC;IACV,CAAC,MAAM;MACL,OAAOD,SAAS,GAAGC,CAAC;IACtB;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_constants","_Headline","_Bold","_markers","_jsxRuntime","_Italic","_BulletPoint","_utils","bulletPointRegex","RegExp","BULLET_POINT_STRING_REPRESENTATION","trimEnd","Render","encodedText","lines","splitPreservingSeparator","replaceAll","ZWS","map","line","i","marker","substring","MARKER_STRING_LENGTH","Markers","H1","H2","H3","headline","restOfLineWithoutMarkers","jsxs","Fragment","children","jsx","Headline","level","join","UL","bulletPoints","paragraphs","intersperse","split","bulletPointLine","j","BulletPoint","p","Text","BOLD_START","Bold","BOLD_END","ITALIC_START","Italic","ITALIC_END","length","exports","str","separator","s"],"sourceRoot":"../../../../../src","sources":["internal/rendering/components/Render.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,9 @@ var _encodeDecode = require("./unicode-markers-format/encode-decode.js");
9
9
  const Markdown = {
10
10
  H1: '# ',
11
11
  H2: '## ',
12
- H3: '### '
12
+ H3: '### ',
13
+ BOLD: '**',
14
+ ITALIC: '__'
13
15
  };
14
16
  /**
15
17
  * convertInternalFormatToMarkdown converts text from the internal format to Markdown
@@ -25,8 +27,14 @@ const convertInternalFormatToMarkdown = internalText => {
25
27
  while (i < internalText.length) {
26
28
  const char = internalText[i];
27
29
  if (char === _constants.ZWS) {
28
- markdownText += decodedTokenToMarkdownToken((0, _encodeDecode.decode)(internalText.substring(i, i + _constants.MARKER_BYTE_LENGTH)));
29
- i += _constants.MARKER_BYTE_LENGTH;
30
+ markdownText += decodedTokenToMarkdownToken((0, _encodeDecode.decode)(internalText.substring(i, i + _constants.MARKER_STRING_LENGTH)));
31
+ /**
32
+ * Funny: when we use ${Markers.H1}Headline 1 in ./src/__tests__/utils/texts.ts to declare the test input text in the internal format,
33
+ * then we need to use MARKER_STRING_LENGTH to iterate to the next character.
34
+ * When we use a text like in `internalText1WithRealMarkers` variable, that has been produced by a function and copy-n-pasted,
35
+ * then need to use MARKER_BYTE_LENGTH..
36
+ */
37
+ i += _constants.MARKER_STRING_LENGTH;
30
38
  } else {
31
39
  markdownText += char;
32
40
  i++;
@@ -40,6 +48,11 @@ const decodedTokenToMarkdownToken = internalToken => {
40
48
  switch (internalToken[0]) {
41
49
  case _constants.HEADLINE_MARKER_TYPE:
42
50
  return Markdown[`H${internalToken[1]}`];
51
+ case _constants.BOLD_MARKER_TYPE:
52
+ // no need to check whether it is a start marker or end marker, because they are the same in markdown
53
+ return Markdown.BOLD;
54
+ case _constants.ITALIC_MARKER_TYPE:
55
+ return Markdown.ITALIC;
43
56
  default:
44
57
  return '';
45
58
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_encodeDecode","Markdown","H1","H2","H3","convertInternalFormatToMarkdown","internalText","markdownText","i","length","char","ZWS","decodedTokenToMarkdownToken","decode","substring","MARKER_BYTE_LENGTH","exports","internalToken","HEADLINE_MARKER_TYPE"],"sourceRoot":"../../../../src","sources":["internal/text-formats/conversions.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAMA,IAAAC,aAAA,GAAAD,OAAA;AAEA,MAAME,QAAQ,GAAG;EACfC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE;AACN,CAAU;AAIV;AACA;AACA;AACA;AACA;AACA,MAAMC,+BAA+B,GACnCC,YAAoB,IACD;EACnB;EACA;EACA;EACA,IAAIC,YAAY,GAAG,EAAE;EAErB,IAAIC,CAAC,GAAG,CAAC;EACT,OAAOA,CAAC,GAAGF,YAAY,CAACG,MAAM,EAAE;IAC9B,MAAMC,IAAI,GAAGJ,YAAY,CAACE,CAAC,CAAC;IAE5B,IAAIE,IAAI,KAAKC,cAAG,EAAE;MAChBJ,YAAY,IAAIK,2BAA2B,CACzC,IAAAC,oBAAM,EAACP,YAAY,CAACQ,SAAS,CAACN,CAAC,EAAEA,CAAC,GAAGO,6BAAkB,CAAC,CAC1D,CAAC;MACDP,CAAC,IAAIO,6BAAkB;IACzB,CAAC,MAAM;MACLR,YAAY,IAAIG,IAAI;MACpBF,CAAC,EAAE;IACL;EACF;EAEA,OAAOD,YAAY;AACrB,CAAC;AAACS,OAAA,CAAAX,+BAAA,GAAAA,+BAAA;AAEF,MAAMO,2BAA2B,GAC/BK,aAAuB,IACJ;EACnB;EACA,QAAQA,aAAa,CAAC,CAAC,CAAC;IACtB,KAAKC,+BAAoB;MACvB,OAAOjB,QAAQ,CACb,IAAIgB,aAAa,CAAC,CAAC,CAAC,EAA4D,CACjF;IACH;MACE,OAAO,EAAE;EACb;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_encodeDecode","Markdown","H1","H2","H3","BOLD","ITALIC","convertInternalFormatToMarkdown","internalText","markdownText","i","length","char","ZWS","decodedTokenToMarkdownToken","decode","substring","MARKER_STRING_LENGTH","exports","internalToken","HEADLINE_MARKER_TYPE","BOLD_MARKER_TYPE","ITALIC_MARKER_TYPE"],"sourceRoot":"../../../../src","sources":["internal/text-formats/conversions.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAQA,IAAAC,aAAA,GAAAD,OAAA;AAEA,MAAME,QAAQ,GAAG;EACfC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,MAAM;EACVC,IAAI,EAAE,IAAI;EACVC,MAAM,EAAE;AACV,CAAU;AAIV;AACA;AACA;AACA;AACA;AACA,MAAMC,+BAA+B,GACnCC,YAAoB,IACD;EACnB;EACA;EACA;EACA,IAAIC,YAAY,GAAG,EAAE;EAErB,IAAIC,CAAC,GAAG,CAAC;EACT,OAAOA,CAAC,GAAGF,YAAY,CAACG,MAAM,EAAE;IAC9B,MAAMC,IAAI,GAAGJ,YAAY,CAACE,CAAC,CAAC;IAE5B,IAAIE,IAAI,KAAKC,cAAG,EAAE;MAChBJ,YAAY,IAAIK,2BAA2B,CACzC,IAAAC,oBAAM,EAACP,YAAY,CAACQ,SAAS,CAACN,CAAC,EAAEA,CAAC,GAAGO,+BAAoB,CAAC,CAC5D,CAAC;MACD;AACN;AACA;AACA;AACA;AACA;MACMP,CAAC,IAAIO,+BAAoB;IAC3B,CAAC,MAAM;MACLR,YAAY,IAAIG,IAAI;MACpBF,CAAC,EAAE;IACL;EACF;EAEA,OAAOD,YAAY;AACrB,CAAC;AAACS,OAAA,CAAAX,+BAAA,GAAAA,+BAAA;AAEF,MAAMO,2BAA2B,GAC/BK,aAAuB,IACJ;EACnB;EACA,QAAQA,aAAa,CAAC,CAAC,CAAC;IACtB,KAAKC,+BAAoB;MACvB,OAAOnB,QAAQ,CACb,IAAIkB,aAAa,CAAC,CAAC,CAAC,EAA4D,CACjF;IACH,KAAKE,2BAAgB;MACnB;MACA,OAAOpB,QAAQ,CAACI,IAAI;IACtB,KAAKiB,6BAAkB;MACrB,OAAOrB,QAAQ,CAACK,MAAM;IACxB;MACE,OAAO,EAAE;EACb;AACF,CAAC","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ZWS = exports.MARKER_STRING_LENGTH = exports.MARKER_BYTE_LENGTH = exports.ITALIC_MARKERS = exports.HEADLINE_MARKER_TYPE = exports.HEADLINE_MARKERS = exports.HEADLINE_LEVELS = exports.BULLET_POINT_UL_MARKER = exports.BULLET_POINT_STRING_REPRESENTATION = exports.BOLD_MARKER_TYPE = exports.BOLD_MARKERS = void 0;
6
+ exports.ZWS = exports.MARKER_STRING_LENGTH = exports.MARKER_BYTE_LENGTH = exports.ITALIC_MARKER_TYPE = exports.ITALIC_MARKERS = exports.HEADLINE_MARKER_TYPE = exports.HEADLINE_MARKERS = exports.HEADLINE_LEVELS = exports.BULLET_POINT_UL_MARKER = exports.BULLET_POINT_STRING_REPRESENTATION = exports.BOLD_MARKER_TYPE = exports.BOLD_MARKERS = void 0;
7
7
  /**
8
8
  * Constants for rich text markers.
9
9
  */
@@ -29,7 +29,7 @@ const BOLD_MARKERS = exports.BOLD_MARKERS = {
29
29
  START: createMarker([BOLD_MARKER_TYPE, BOLD_MARKER_START]),
30
30
  END: createMarker([BOLD_MARKER_TYPE, BOLD_MARKER_END])
31
31
  };
32
- const ITALIC_MARKER_TYPE = 0x30;
32
+ const ITALIC_MARKER_TYPE = exports.ITALIC_MARKER_TYPE = 0x30;
33
33
  const ITALIC_MARKER_START = 3;
34
34
  const ITALIC_MARKER_END = 4;
35
35
  const ITALIC_MARKERS = exports.ITALIC_MARKERS = {
@@ -1 +1 @@
1
- {"version":3,"names":["ZWS","exports","MARKER_BYTE_LENGTH","MARKER_STRING_LENGTH","HEADLINE_MARKER_TYPE","HEADLINE_LEVELS","H1","H2","H3","HEADLINE_MARKERS","createMarker","BOLD_MARKER_TYPE","BOLD_MARKER_START","BOLD_MARKER_END","BOLD_MARKERS","START","END","ITALIC_MARKER_TYPE","ITALIC_MARKER_START","ITALIC_MARKER_END","ITALIC_MARKERS","BULLET_POINT_MARKER_TYPE","BULLET_POINT_UNORDERED","BULLET_POINT_UL_MARKER","BULLET_POINT_STRING_REPRESENTATION","data","length","array","Uint8Array","set"],"sourceRoot":"../../../../../src","sources":["internal/text-formats/unicode-markers-format/constants.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA,MAAMA,GAAG,GAAAC,OAAA,CAAAD,GAAA,GAAG,QAAQ,CAAC,CAAC;AACtB,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,CAAC,CAAC,CAAC;AAC9B,MAAMC,oBAAoB,GAAAF,OAAA,CAAAE,oBAAA,GAAGD,kBAAkB,GAAG,CAAC,CAAC,CAAC;AACrD,MAAME,oBAAoB,GAAAH,OAAA,CAAAG,oBAAA,GAAG,IAAI,CAAC,CAAC;AACnC;AACA,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG;EACtBC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE;AACN,CAAU;AACV,MAAMC,gBAAkE,GAAAR,OAAA,CAAAQ,gBAAA,GAAG;EACzEH,EAAE,EAAEI,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACC,EAAE,CAAC,CAAC;EAC5DC,EAAE,EAAEG,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACE,EAAE,CAAC,CAAC;EAC5DC,EAAE,EAAEE,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACG,EAAE,CAAC;AAC7D,CAAU;AAEV,MAAMG,gBAAgB,GAAAV,OAAA,CAAAU,gBAAA,GAAG,IAAI;AAC7B,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,eAAe,GAAG,CAAC;AAEzB,MAAMC,YAAY,GAAAb,OAAA,CAAAa,YAAA,GAAG;EACnBC,KAAK,EAAEL,YAAY,CAAC,CAACC,gBAAgB,EAAEC,iBAAiB,CAAC,CAAC;EAC1DI,GAAG,EAAEN,YAAY,CAAC,CAACC,gBAAgB,EAAEE,eAAe,CAAC;AACvD,CAAU;AAEV,MAAMI,kBAAkB,GAAG,IAAI;AAC/B,MAAMC,mBAAmB,GAAG,CAAC;AAC7B,MAAMC,iBAAiB,GAAG,CAAC;AAE3B,MAAMC,cAAc,GAAAnB,OAAA,CAAAmB,cAAA,GAAG;EACrBL,KAAK,EAAEL,YAAY,CAAC,CAACO,kBAAkB,EAAEC,mBAAmB,CAAC,CAAC;EAC9DF,GAAG,EAAEN,YAAY,CAAC,CAACO,kBAAkB,EAAEE,iBAAiB,CAAC;AAC3D,CAAU;AAEV,MAAME,wBAAwB,GAAG,IAAI;AACrC,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,sBAAsB,GAAAtB,OAAA,CAAAsB,sBAAA,GAAGb,YAAY,CAAC,CAC1CW,wBAAwB,EACxBC,sBAAsB,CACvB,CAAC;AACF,MAAME,kCAAkC,GAAAvB,OAAA,CAAAuB,kCAAA,GAAG,IAAI;AAE/C,SAASd,YAAYA,CAACe,IAAc,EAAEC,MAAM,GAAGxB,kBAAkB,EAAE;EACjE,MAAMyB,KAAK,GAAG,IAAIC,UAAU,CAACF,MAAM,CAAC;EACpCC,KAAK,CAACE,GAAG,CAACJ,IAAI,CAAC;EACf,OAAOE,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"names":["ZWS","exports","MARKER_BYTE_LENGTH","MARKER_STRING_LENGTH","HEADLINE_MARKER_TYPE","HEADLINE_LEVELS","H1","H2","H3","HEADLINE_MARKERS","createMarker","BOLD_MARKER_TYPE","BOLD_MARKER_START","BOLD_MARKER_END","BOLD_MARKERS","START","END","ITALIC_MARKER_TYPE","ITALIC_MARKER_START","ITALIC_MARKER_END","ITALIC_MARKERS","BULLET_POINT_MARKER_TYPE","BULLET_POINT_UNORDERED","BULLET_POINT_UL_MARKER","BULLET_POINT_STRING_REPRESENTATION","data","length","array","Uint8Array","set"],"sourceRoot":"../../../../../src","sources":["internal/text-formats/unicode-markers-format/constants.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA,MAAMA,GAAG,GAAAC,OAAA,CAAAD,GAAA,GAAG,QAAQ,CAAC,CAAC;AACtB,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,CAAC,CAAC,CAAC;AAC9B,MAAMC,oBAAoB,GAAAF,OAAA,CAAAE,oBAAA,GAAGD,kBAAkB,GAAG,CAAC,CAAC,CAAC;AACrD,MAAME,oBAAoB,GAAAH,OAAA,CAAAG,oBAAA,GAAG,IAAI,CAAC,CAAC;AACnC;AACA,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG;EACtBC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE;AACN,CAAU;AACV,MAAMC,gBAAkE,GAAAR,OAAA,CAAAQ,gBAAA,GAAG;EACzEH,EAAE,EAAEI,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACC,EAAE,CAAC,CAAC;EAC5DC,EAAE,EAAEG,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACE,EAAE,CAAC,CAAC;EAC5DC,EAAE,EAAEE,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACG,EAAE,CAAC;AAC7D,CAAU;AAEV,MAAMG,gBAAgB,GAAAV,OAAA,CAAAU,gBAAA,GAAG,IAAI;AAC7B,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,eAAe,GAAG,CAAC;AAEzB,MAAMC,YAAY,GAAAb,OAAA,CAAAa,YAAA,GAAG;EACnBC,KAAK,EAAEL,YAAY,CAAC,CAACC,gBAAgB,EAAEC,iBAAiB,CAAC,CAAC;EAC1DI,GAAG,EAAEN,YAAY,CAAC,CAACC,gBAAgB,EAAEE,eAAe,CAAC;AACvD,CAAU;AAEV,MAAMI,kBAAkB,GAAAhB,OAAA,CAAAgB,kBAAA,GAAG,IAAI;AAC/B,MAAMC,mBAAmB,GAAG,CAAC;AAC7B,MAAMC,iBAAiB,GAAG,CAAC;AAE3B,MAAMC,cAAc,GAAAnB,OAAA,CAAAmB,cAAA,GAAG;EACrBL,KAAK,EAAEL,YAAY,CAAC,CAACO,kBAAkB,EAAEC,mBAAmB,CAAC,CAAC;EAC9DF,GAAG,EAAEN,YAAY,CAAC,CAACO,kBAAkB,EAAEE,iBAAiB,CAAC;AAC3D,CAAU;AAEV,MAAME,wBAAwB,GAAG,IAAI;AACrC,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,sBAAsB,GAAAtB,OAAA,CAAAsB,sBAAA,GAAGb,YAAY,CAAC,CAC1CW,wBAAwB,EACxBC,sBAAsB,CACvB,CAAC;AACF,MAAME,kCAAkC,GAAAvB,OAAA,CAAAuB,kCAAA,GAAG,IAAI;AAE/C,SAASd,YAAYA,CAACe,IAAc,EAAEC,MAAM,GAAGxB,kBAAkB,EAAE;EACjE,MAAMyB,KAAK,GAAG,IAAIC,UAAU,CAACF,MAAM,CAAC;EACpCC,KAAK,CAACE,GAAG,CAACJ,IAAI,CAAC;EACf,OAAOE,KAAK;AACd","ignoreList":[]}
@@ -132,18 +132,18 @@ const RichTextEditor = ({
132
132
  children: "List"
133
133
  })
134
134
  }), /*#__PURE__*/_jsx(TouchableOpacity, {
135
- style: [styles.button, styles.fixedWidth],
135
+ style: [styles.button, styles.fixedWidth, needsBoldEndMarker ? styles.endFontStyleButton : null],
136
136
  onPress: handleFontStyleMarkerInsertion('bold'),
137
137
  children: /*#__PURE__*/_jsx(Text, {
138
- style: styles.buttonText,
139
- children: needsBoldEndMarker ? 'Bold ✖' : 'Bold'
138
+ style: [styles.buttonText, needsBoldEndMarker ? styles.endFontStyleText : null],
139
+ children: "Bold"
140
140
  })
141
141
  }), /*#__PURE__*/_jsx(TouchableOpacity, {
142
- style: [styles.button, styles.fixedWidth],
142
+ style: [styles.button, styles.fixedWidth, needsItalicEndMarker ? styles.endFontStyleButton : null],
143
143
  onPress: handleFontStyleMarkerInsertion('italic'),
144
144
  children: /*#__PURE__*/_jsx(Text, {
145
- style: styles.buttonText,
146
- children: needsItalicEndMarker ? 'Italic ✖' : 'Italic'
145
+ style: [styles.buttonText, needsItalicEndMarker ? styles.endFontStyleText : null],
146
+ children: "Italic"
147
147
  })
148
148
  })]
149
149
  }), /*#__PURE__*/_jsx(TextInput, {
@@ -160,6 +160,7 @@ const RichTextEditor = ({
160
160
  });
161
161
  };
162
162
  const electricBlueHex = '#009DDC';
163
+ const jasperRedHex = '#E03A3E';
163
164
  const styles = StyleSheet.create({
164
165
  container: {
165
166
  flex: 1
@@ -188,7 +189,13 @@ const styles = StyleSheet.create({
188
189
  color: electricBlueHex
189
190
  },
190
191
  fixedWidth: {
191
- width: 70
192
+ width: 80
193
+ },
194
+ endFontStyleButton: {
195
+ borderColor: jasperRedHex
196
+ },
197
+ endFontStyleText: {
198
+ color: jasperRedHex
192
199
  }
193
200
  });
194
201
  export default RichTextEditor;
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useRef","useCallback","StyleSheet","TextInput","TouchableOpacity","View","Text","Render","addFontStyleMarkers","addFontStyleEndMarker","addHeadlineMarker","addBulletPointMarker","Markers","jsx","_jsx","jsxs","_jsxs","debounce","func","delay","timeoutId","args","clearTimeout","setTimeout","RichTextEditor","text","externalText","onEmitText","emitTextAfterMillisecondsOfInactivity","internalText","setInternalText","selection","setSelection","start","end","needsBoldEndMarker","setNeedsBoldEndMarker","needsItalicEndMarker","setNeedsItalicEndMarker","debouncedEmitText","newText","current","handleTextChange","handleFontStyleMarkerInsertion","style","isBold","styles","container","children","toolbar","button","onPress","H1","buttonText","H2","H3","fixedWidth","multiline","autoFocus","autoCorrect","input","onSelectionChange","e","nativeEvent","onChangeText","encodedText","electricBlueHex","create","flex","marginVertical","flexDirection","justifyContent","flexWrap","textAlignVertical","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","backgroundColor","flexShrink","textAlign","color","width"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useRef","useCallback","StyleSheet","TextInput","TouchableOpacity","View","Text","Render","addFontStyleMarkers","addFontStyleEndMarker","addHeadlineMarker","addBulletPointMarker","Markers","jsx","_jsx","jsxs","_jsxs","debounce","func","delay","timeoutId","args","clearTimeout","setTimeout","RichTextEditor","text","externalText","onEmitText","emitTextAfterMillisecondsOfInactivity","internalText","setInternalText","selection","setSelection","start","end","needsBoldEndMarker","setNeedsBoldEndMarker","needsItalicEndMarker","setNeedsItalicEndMarker","debouncedEmitText","newText","current","handleTextChange","handleFontStyleMarkerInsertion","style","isBold","styles","container","children","toolbar","button","onPress","H1","buttonText","H2","H3","fixedWidth","endFontStyleButton","endFontStyleText","multiline","autoFocus","autoCorrect","input","onSelectionChange","e","nativeEvent","onChangeText","encodedText","electricBlueHex","jasperRedHex","create","flex","marginVertical","flexDirection","justifyContent","flexWrap","textAlignVertical","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","backgroundColor","flexShrink","textAlign","color","width"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,10 +9,12 @@ import { Fragment, jsx as _jsx, jsxs as _jsxs } from 'react/jsx-runtime';
9
9
  import { Italic } from "./Italic.js";
10
10
  import { BulletPoint } from "./BulletPoint.js";
11
11
  import { intersperse } from "../utils.js";
12
+ const bulletPointRegex = new RegExp(BULLET_POINT_STRING_REPRESENTATION.trimEnd() + ' ?', 'g'); // matches the bullet point alone or the bullet point followed by a space
13
+
12
14
  export const Render = ({
13
15
  encodedText
14
16
  }) => {
15
- const lines = splitPreservingSeparator(encodedText.replaceAll(BULLET_POINT_STRING_REPRESENTATION, ''), ZWS); // each BulletPoint.tsx instance adds a BULLET_POINT_STRING_REPRESENTATION, we need to remove them to avoid adding extra chars on each render
17
+ const lines = splitPreservingSeparator(encodedText.replaceAll(bulletPointRegex, ''), ZWS); // each BulletPoint.tsx instance adds a BULLET_POINT_STRING_REPRESENTATION, we need to remove them to avoid adding extra chars on each render
16
18
 
17
19
  return lines.map((line, i) => {
18
20
  const marker = line.substring(0, MARKER_STRING_LENGTH);
@@ -1 +1 @@
1
- {"version":3,"names":["Text","ZWS","MARKER_STRING_LENGTH","BULLET_POINT_STRING_REPRESENTATION","Headline","Bold","Markers","Fragment","jsx","_jsx","jsxs","_jsxs","Italic","BulletPoint","intersperse","Render","encodedText","lines","splitPreservingSeparator","replaceAll","map","line","i","marker","substring","H1","H2","H3","headline","restOfLineWithoutMarkers","children","level","join","UL","bulletPoints","paragraphs","split","bulletPointLine","j","p","BOLD_START","BOLD_END","ITALIC_START","ITALIC_END","length","str","separator","s"],"sourceRoot":"../../../../../src","sources":["internal/rendering/components/Render.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Text","ZWS","MARKER_STRING_LENGTH","BULLET_POINT_STRING_REPRESENTATION","Headline","Bold","Markers","Fragment","jsx","_jsx","jsxs","_jsxs","Italic","BulletPoint","intersperse","bulletPointRegex","RegExp","trimEnd","Render","encodedText","lines","splitPreservingSeparator","replaceAll","map","line","i","marker","substring","H1","H2","H3","headline","restOfLineWithoutMarkers","children","level","join","UL","bulletPoints","paragraphs","split","bulletPointLine","j","p","BOLD_START","BOLD_END","ITALIC_START","ITALIC_END","length","str","separator","s"],"sourceRoot":"../../../../../src","sources":["internal/rendering/components/Render.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { HEADLINE_MARKER_TYPE, ZWS, MARKER_BYTE_LENGTH } from "./unicode-markers-format/constants.js";
3
+ import { ZWS, HEADLINE_MARKER_TYPE, MARKER_STRING_LENGTH, BOLD_MARKER_TYPE, ITALIC_MARKER_TYPE } from "./unicode-markers-format/constants.js";
4
4
  import { decode } from "./unicode-markers-format/encode-decode.js";
5
5
  const Markdown = {
6
6
  H1: '# ',
7
7
  H2: '## ',
8
- H3: '### '
8
+ H3: '### ',
9
+ BOLD: '**',
10
+ ITALIC: '__'
9
11
  };
10
12
  /**
11
13
  * convertInternalFormatToMarkdown converts text from the internal format to Markdown
@@ -21,8 +23,14 @@ const convertInternalFormatToMarkdown = internalText => {
21
23
  while (i < internalText.length) {
22
24
  const char = internalText[i];
23
25
  if (char === ZWS) {
24
- markdownText += decodedTokenToMarkdownToken(decode(internalText.substring(i, i + MARKER_BYTE_LENGTH)));
25
- i += MARKER_BYTE_LENGTH;
26
+ markdownText += decodedTokenToMarkdownToken(decode(internalText.substring(i, i + MARKER_STRING_LENGTH)));
27
+ /**
28
+ * Funny: when we use ${Markers.H1}Headline 1 in ./src/__tests__/utils/texts.ts to declare the test input text in the internal format,
29
+ * then we need to use MARKER_STRING_LENGTH to iterate to the next character.
30
+ * When we use a text like in `internalText1WithRealMarkers` variable, that has been produced by a function and copy-n-pasted,
31
+ * then need to use MARKER_BYTE_LENGTH..
32
+ */
33
+ i += MARKER_STRING_LENGTH;
26
34
  } else {
27
35
  markdownText += char;
28
36
  i++;
@@ -35,6 +43,11 @@ const decodedTokenToMarkdownToken = internalToken => {
35
43
  switch (internalToken[0]) {
36
44
  case HEADLINE_MARKER_TYPE:
37
45
  return Markdown[`H${internalToken[1]}`];
46
+ case BOLD_MARKER_TYPE:
47
+ // no need to check whether it is a start marker or end marker, because they are the same in markdown
48
+ return Markdown.BOLD;
49
+ case ITALIC_MARKER_TYPE:
50
+ return Markdown.ITALIC;
38
51
  default:
39
52
  return '';
40
53
  }
@@ -1 +1 @@
1
- {"version":3,"names":["HEADLINE_MARKER_TYPE","ZWS","MARKER_BYTE_LENGTH","decode","Markdown","H1","H2","H3","convertInternalFormatToMarkdown","internalText","markdownText","i","length","char","decodedTokenToMarkdownToken","substring","internalToken"],"sourceRoot":"../../../../src","sources":["internal/text-formats/conversions.ts"],"mappings":";;AAAA,SAEEA,oBAAoB,EACpBC,GAAG,EACHC,kBAAkB,QACb,uCAAuC;AAC9C,SAASC,MAAM,QAAQ,2CAA2C;AAElE,MAAMC,QAAQ,GAAG;EACfC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE;AACN,CAAU;AAIV;AACA;AACA;AACA;AACA;AACA,MAAMC,+BAA+B,GACnCC,YAAoB,IACD;EACnB;EACA;EACA;EACA,IAAIC,YAAY,GAAG,EAAE;EAErB,IAAIC,CAAC,GAAG,CAAC;EACT,OAAOA,CAAC,GAAGF,YAAY,CAACG,MAAM,EAAE;IAC9B,MAAMC,IAAI,GAAGJ,YAAY,CAACE,CAAC,CAAC;IAE5B,IAAIE,IAAI,KAAKZ,GAAG,EAAE;MAChBS,YAAY,IAAII,2BAA2B,CACzCX,MAAM,CAACM,YAAY,CAACM,SAAS,CAACJ,CAAC,EAAEA,CAAC,GAAGT,kBAAkB,CAAC,CAC1D,CAAC;MACDS,CAAC,IAAIT,kBAAkB;IACzB,CAAC,MAAM;MACLQ,YAAY,IAAIG,IAAI;MACpBF,CAAC,EAAE;IACL;EACF;EAEA,OAAOD,YAAY;AACrB,CAAC;AAED,MAAMI,2BAA2B,GAC/BE,aAAuB,IACJ;EACnB;EACA,QAAQA,aAAa,CAAC,CAAC,CAAC;IACtB,KAAKhB,oBAAoB;MACvB,OAAOI,QAAQ,CACb,IAAIY,aAAa,CAAC,CAAC,CAAC,EAA4D,CACjF;IACH;MACE,OAAO,EAAE;EACb;AACF,CAAC;AAED,SAASR,+BAA+B","ignoreList":[]}
1
+ {"version":3,"names":["ZWS","HEADLINE_MARKER_TYPE","MARKER_STRING_LENGTH","BOLD_MARKER_TYPE","ITALIC_MARKER_TYPE","decode","Markdown","H1","H2","H3","BOLD","ITALIC","convertInternalFormatToMarkdown","internalText","markdownText","i","length","char","decodedTokenToMarkdownToken","substring","internalToken"],"sourceRoot":"../../../../src","sources":["internal/text-formats/conversions.ts"],"mappings":";;AAAA,SACEA,GAAG,EAEHC,oBAAoB,EACpBC,oBAAoB,EACpBC,gBAAgB,EAChBC,kBAAkB,QACb,uCAAuC;AAC9C,SAASC,MAAM,QAAQ,2CAA2C;AAElE,MAAMC,QAAQ,GAAG;EACfC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,MAAM;EACVC,IAAI,EAAE,IAAI;EACVC,MAAM,EAAE;AACV,CAAU;AAIV;AACA;AACA;AACA;AACA;AACA,MAAMC,+BAA+B,GACnCC,YAAoB,IACD;EACnB;EACA;EACA;EACA,IAAIC,YAAY,GAAG,EAAE;EAErB,IAAIC,CAAC,GAAG,CAAC;EACT,OAAOA,CAAC,GAAGF,YAAY,CAACG,MAAM,EAAE;IAC9B,MAAMC,IAAI,GAAGJ,YAAY,CAACE,CAAC,CAAC;IAE5B,IAAIE,IAAI,KAAKjB,GAAG,EAAE;MAChBc,YAAY,IAAII,2BAA2B,CACzCb,MAAM,CAACQ,YAAY,CAACM,SAAS,CAACJ,CAAC,EAAEA,CAAC,GAAGb,oBAAoB,CAAC,CAC5D,CAAC;MACD;AACN;AACA;AACA;AACA;AACA;MACMa,CAAC,IAAIb,oBAAoB;IAC3B,CAAC,MAAM;MACLY,YAAY,IAAIG,IAAI;MACpBF,CAAC,EAAE;IACL;EACF;EAEA,OAAOD,YAAY;AACrB,CAAC;AAED,MAAMI,2BAA2B,GAC/BE,aAAuB,IACJ;EACnB;EACA,QAAQA,aAAa,CAAC,CAAC,CAAC;IACtB,KAAKnB,oBAAoB;MACvB,OAAOK,QAAQ,CACb,IAAIc,aAAa,CAAC,CAAC,CAAC,EAA4D,CACjF;IACH,KAAKjB,gBAAgB;MACnB;MACA,OAAOG,QAAQ,CAACI,IAAI;IACtB,KAAKN,kBAAkB;MACrB,OAAOE,QAAQ,CAACK,MAAM;IACxB;MACE,OAAO,EAAE;EACb;AACF,CAAC;AAED,SAASC,+BAA+B","ignoreList":[]}
@@ -41,5 +41,5 @@ function createMarker(data, length = MARKER_BYTE_LENGTH) {
41
41
  array.set(data);
42
42
  return array;
43
43
  }
44
- export { ZWS, MARKER_STRING_LENGTH, MARKER_BYTE_LENGTH, HEADLINE_MARKER_TYPE, HEADLINE_LEVELS, HEADLINE_MARKERS, BOLD_MARKER_TYPE, BOLD_MARKERS, ITALIC_MARKERS, BULLET_POINT_UL_MARKER, BULLET_POINT_STRING_REPRESENTATION };
44
+ export { ZWS, MARKER_STRING_LENGTH, MARKER_BYTE_LENGTH, HEADLINE_MARKER_TYPE, HEADLINE_LEVELS, HEADLINE_MARKERS, BOLD_MARKER_TYPE, ITALIC_MARKER_TYPE, BOLD_MARKERS, ITALIC_MARKERS, BULLET_POINT_UL_MARKER, BULLET_POINT_STRING_REPRESENTATION };
45
45
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ZWS","MARKER_BYTE_LENGTH","MARKER_STRING_LENGTH","HEADLINE_MARKER_TYPE","HEADLINE_LEVELS","H1","H2","H3","HEADLINE_MARKERS","createMarker","BOLD_MARKER_TYPE","BOLD_MARKER_START","BOLD_MARKER_END","BOLD_MARKERS","START","END","ITALIC_MARKER_TYPE","ITALIC_MARKER_START","ITALIC_MARKER_END","ITALIC_MARKERS","BULLET_POINT_MARKER_TYPE","BULLET_POINT_UNORDERED","BULLET_POINT_UL_MARKER","BULLET_POINT_STRING_REPRESENTATION","data","length","array","Uint8Array","set"],"sourceRoot":"../../../../../src","sources":["internal/text-formats/unicode-markers-format/constants.ts"],"mappings":";;AAAA;AACA;AACA;AACA,MAAMA,GAAG,GAAG,QAAQ,CAAC,CAAC;AACtB,MAAMC,kBAAkB,GAAG,CAAC,CAAC,CAAC;AAC9B,MAAMC,oBAAoB,GAAGD,kBAAkB,GAAG,CAAC,CAAC,CAAC;AACrD,MAAME,oBAAoB,GAAG,IAAI,CAAC,CAAC;AACnC;AACA,MAAMC,eAAe,GAAG;EACtBC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE;AACN,CAAU;AACV,MAAMC,gBAAkE,GAAG;EACzEH,EAAE,EAAEI,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACC,EAAE,CAAC,CAAC;EAC5DC,EAAE,EAAEG,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACE,EAAE,CAAC,CAAC;EAC5DC,EAAE,EAAEE,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACG,EAAE,CAAC;AAC7D,CAAU;AAEV,MAAMG,gBAAgB,GAAG,IAAI;AAC7B,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,eAAe,GAAG,CAAC;AAEzB,MAAMC,YAAY,GAAG;EACnBC,KAAK,EAAEL,YAAY,CAAC,CAACC,gBAAgB,EAAEC,iBAAiB,CAAC,CAAC;EAC1DI,GAAG,EAAEN,YAAY,CAAC,CAACC,gBAAgB,EAAEE,eAAe,CAAC;AACvD,CAAU;AAEV,MAAMI,kBAAkB,GAAG,IAAI;AAC/B,MAAMC,mBAAmB,GAAG,CAAC;AAC7B,MAAMC,iBAAiB,GAAG,CAAC;AAE3B,MAAMC,cAAc,GAAG;EACrBL,KAAK,EAAEL,YAAY,CAAC,CAACO,kBAAkB,EAAEC,mBAAmB,CAAC,CAAC;EAC9DF,GAAG,EAAEN,YAAY,CAAC,CAACO,kBAAkB,EAAEE,iBAAiB,CAAC;AAC3D,CAAU;AAEV,MAAME,wBAAwB,GAAG,IAAI;AACrC,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,sBAAsB,GAAGb,YAAY,CAAC,CAC1CW,wBAAwB,EACxBC,sBAAsB,CACvB,CAAC;AACF,MAAME,kCAAkC,GAAG,IAAI;AAE/C,SAASd,YAAYA,CAACe,IAAc,EAAEC,MAAM,GAAGxB,kBAAkB,EAAE;EACjE,MAAMyB,KAAK,GAAG,IAAIC,UAAU,CAACF,MAAM,CAAC;EACpCC,KAAK,CAACE,GAAG,CAACJ,IAAI,CAAC;EACf,OAAOE,KAAK;AACd;AAEA,SACE1B,GAAG,EACHE,oBAAoB,EACpBD,kBAAkB,EAClBE,oBAAoB,EACpBC,eAAe,EACfI,gBAAgB,EAChBE,gBAAgB,EAChBG,YAAY,EACZM,cAAc,EACdG,sBAAsB,EACtBC,kCAAkC","ignoreList":[]}
1
+ {"version":3,"names":["ZWS","MARKER_BYTE_LENGTH","MARKER_STRING_LENGTH","HEADLINE_MARKER_TYPE","HEADLINE_LEVELS","H1","H2","H3","HEADLINE_MARKERS","createMarker","BOLD_MARKER_TYPE","BOLD_MARKER_START","BOLD_MARKER_END","BOLD_MARKERS","START","END","ITALIC_MARKER_TYPE","ITALIC_MARKER_START","ITALIC_MARKER_END","ITALIC_MARKERS","BULLET_POINT_MARKER_TYPE","BULLET_POINT_UNORDERED","BULLET_POINT_UL_MARKER","BULLET_POINT_STRING_REPRESENTATION","data","length","array","Uint8Array","set"],"sourceRoot":"../../../../../src","sources":["internal/text-formats/unicode-markers-format/constants.ts"],"mappings":";;AAAA;AACA;AACA;AACA,MAAMA,GAAG,GAAG,QAAQ,CAAC,CAAC;AACtB,MAAMC,kBAAkB,GAAG,CAAC,CAAC,CAAC;AAC9B,MAAMC,oBAAoB,GAAGD,kBAAkB,GAAG,CAAC,CAAC,CAAC;AACrD,MAAME,oBAAoB,GAAG,IAAI,CAAC,CAAC;AACnC;AACA,MAAMC,eAAe,GAAG;EACtBC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE;AACN,CAAU;AACV,MAAMC,gBAAkE,GAAG;EACzEH,EAAE,EAAEI,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACC,EAAE,CAAC,CAAC;EAC5DC,EAAE,EAAEG,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACE,EAAE,CAAC,CAAC;EAC5DC,EAAE,EAAEE,YAAY,CAAC,CAACN,oBAAoB,EAAEC,eAAe,CAACG,EAAE,CAAC;AAC7D,CAAU;AAEV,MAAMG,gBAAgB,GAAG,IAAI;AAC7B,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,eAAe,GAAG,CAAC;AAEzB,MAAMC,YAAY,GAAG;EACnBC,KAAK,EAAEL,YAAY,CAAC,CAACC,gBAAgB,EAAEC,iBAAiB,CAAC,CAAC;EAC1DI,GAAG,EAAEN,YAAY,CAAC,CAACC,gBAAgB,EAAEE,eAAe,CAAC;AACvD,CAAU;AAEV,MAAMI,kBAAkB,GAAG,IAAI;AAC/B,MAAMC,mBAAmB,GAAG,CAAC;AAC7B,MAAMC,iBAAiB,GAAG,CAAC;AAE3B,MAAMC,cAAc,GAAG;EACrBL,KAAK,EAAEL,YAAY,CAAC,CAACO,kBAAkB,EAAEC,mBAAmB,CAAC,CAAC;EAC9DF,GAAG,EAAEN,YAAY,CAAC,CAACO,kBAAkB,EAAEE,iBAAiB,CAAC;AAC3D,CAAU;AAEV,MAAME,wBAAwB,GAAG,IAAI;AACrC,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,sBAAsB,GAAGb,YAAY,CAAC,CAC1CW,wBAAwB,EACxBC,sBAAsB,CACvB,CAAC;AACF,MAAME,kCAAkC,GAAG,IAAI;AAE/C,SAASd,YAAYA,CAACe,IAAc,EAAEC,MAAM,GAAGxB,kBAAkB,EAAE;EACjE,MAAMyB,KAAK,GAAG,IAAIC,UAAU,CAACF,MAAM,CAAC;EACpCC,KAAK,CAACE,GAAG,CAACJ,IAAI,CAAC;EACf,OAAOE,KAAK;AACd;AAEA,SACE1B,GAAG,EACHE,oBAAoB,EACpBD,kBAAkB,EAClBE,oBAAoB,EACpBC,eAAe,EACfI,gBAAgB,EAChBE,gBAAgB,EAChBM,kBAAkB,EAClBH,YAAY,EACZM,cAAc,EACdG,sBAAsB,EACtBC,kCAAkC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAuCtD,QAAA,MAAM,cAAc,GAAI,4EAIrB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,qCAAqC,CAAC,EAAE,MAAM,CAAC;CAChD,4CAgIA,CAAC;AAgCF,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAuCtD,QAAA,MAAM,cAAc,GAAI,4EAIrB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,qCAAqC,CAAC,EAAE,MAAM,CAAC;CAChD,4CAkJA,CAAC;AAuCF,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Render.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/rendering/components/Render.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,MAAM,GAAI,iBAAiB;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,qDAwE9D,CAAC"}
1
+ {"version":3,"file":"Render.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/rendering/components/Render.tsx"],"names":[],"mappings":"AAmBA,eAAO,MAAM,MAAM,GAAI,iBAAiB;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,qDAwE9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/text-formats/conversions.ts"],"names":[],"mappings":"AAcA,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B;;;;GAIG;AACH,QAAA,MAAM,+BAA+B,GACnC,cAAc,MAAM,KACnB,cAsBF,CAAC;AAgBF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
1
+ {"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/text-formats/conversions.ts"],"names":[],"mappings":"AAkBA,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B;;;;GAIG;AACH,QAAA,MAAM,+BAA+B,GACnC,cAAc,MAAM,KACnB,cA4BF,CAAC;AAqBF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
@@ -16,11 +16,12 @@ declare const BOLD_MARKERS: {
16
16
  readonly START: Uint8Array<ArrayBuffer>;
17
17
  readonly END: Uint8Array<ArrayBuffer>;
18
18
  };
19
+ declare const ITALIC_MARKER_TYPE = 48;
19
20
  declare const ITALIC_MARKERS: {
20
21
  readonly START: Uint8Array<ArrayBuffer>;
21
22
  readonly END: Uint8Array<ArrayBuffer>;
22
23
  };
23
24
  declare const BULLET_POINT_UL_MARKER: Uint8Array<ArrayBuffer>;
24
25
  declare const BULLET_POINT_STRING_REPRESENTATION = "\u2022 ";
25
- export { ZWS, MARKER_STRING_LENGTH, MARKER_BYTE_LENGTH, HEADLINE_MARKER_TYPE, HEADLINE_LEVELS, HEADLINE_MARKERS, BOLD_MARKER_TYPE, BOLD_MARKERS, ITALIC_MARKERS, BULLET_POINT_UL_MARKER, BULLET_POINT_STRING_REPRESENTATION, };
26
+ export { ZWS, MARKER_STRING_LENGTH, MARKER_BYTE_LENGTH, HEADLINE_MARKER_TYPE, HEADLINE_LEVELS, HEADLINE_MARKERS, BOLD_MARKER_TYPE, ITALIC_MARKER_TYPE, BOLD_MARKERS, ITALIC_MARKERS, BULLET_POINT_UL_MARKER, BULLET_POINT_STRING_REPRESENTATION, };
26
27
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/text-formats/unicode-markers-format/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,GAAG,WAAW,CAAC;AACrB,QAAA,MAAM,kBAAkB,IAAI,CAAC;AAC7B,QAAA,MAAM,oBAAoB,QAAyB,CAAC;AACpD,QAAA,MAAM,oBAAoB,KAAO,CAAC;AAElC,QAAA,MAAM,eAAe;;;;CAIX,CAAC;AACX,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,OAAO,eAAe,EAAE,UAAU,CAI7D,CAAC;AAEX,QAAA,MAAM,gBAAgB,KAAO,CAAC;AAI9B,QAAA,MAAM,YAAY;;;CAGR,CAAC;AAMX,QAAA,MAAM,cAAc;;;CAGV,CAAC;AAIX,QAAA,MAAM,sBAAsB,yBAG1B,CAAC;AACH,QAAA,MAAM,kCAAkC,YAAO,CAAC;AAQhD,OAAO,EACL,GAAG,EACH,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,kCAAkC,GACnC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/text-formats/unicode-markers-format/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,GAAG,WAAW,CAAC;AACrB,QAAA,MAAM,kBAAkB,IAAI,CAAC;AAC7B,QAAA,MAAM,oBAAoB,QAAyB,CAAC;AACpD,QAAA,MAAM,oBAAoB,KAAO,CAAC;AAElC,QAAA,MAAM,eAAe;;;;CAIX,CAAC;AACX,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,OAAO,eAAe,EAAE,UAAU,CAI7D,CAAC;AAEX,QAAA,MAAM,gBAAgB,KAAO,CAAC;AAI9B,QAAA,MAAM,YAAY;;;CAGR,CAAC;AAEX,QAAA,MAAM,kBAAkB,KAAO,CAAC;AAIhC,QAAA,MAAM,cAAc;;;CAGV,CAAC;AAIX,QAAA,MAAM,sBAAsB,yBAG1B,CAAC;AACH,QAAA,MAAM,kCAAkC,YAAO,CAAC;AAQhD,OAAO,EACL,GAAG,EACH,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,kCAAkC,GACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAuCtD,QAAA,MAAM,cAAc,GAAI,4EAIrB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,qCAAqC,CAAC,EAAE,MAAM,CAAC;CAChD,4CAgIA,CAAC;AAgCF,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAuCtD,QAAA,MAAM,cAAc,GAAI,4EAIrB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,qCAAqC,CAAC,EAAE,MAAM,CAAC;CAChD,4CAkJA,CAAC;AAuCF,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Render.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/rendering/components/Render.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,MAAM,GAAI,iBAAiB;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,qDAwE9D,CAAC"}
1
+ {"version":3,"file":"Render.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/rendering/components/Render.tsx"],"names":[],"mappings":"AAmBA,eAAO,MAAM,MAAM,GAAI,iBAAiB;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,qDAwE9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/text-formats/conversions.ts"],"names":[],"mappings":"AAcA,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B;;;;GAIG;AACH,QAAA,MAAM,+BAA+B,GACnC,cAAc,MAAM,KACnB,cAsBF,CAAC;AAgBF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
1
+ {"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/text-formats/conversions.ts"],"names":[],"mappings":"AAkBA,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B;;;;GAIG;AACH,QAAA,MAAM,+BAA+B,GACnC,cAAc,MAAM,KACnB,cA4BF,CAAC;AAqBF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
@@ -16,11 +16,12 @@ declare const BOLD_MARKERS: {
16
16
  readonly START: Uint8Array<ArrayBuffer>;
17
17
  readonly END: Uint8Array<ArrayBuffer>;
18
18
  };
19
+ declare const ITALIC_MARKER_TYPE = 48;
19
20
  declare const ITALIC_MARKERS: {
20
21
  readonly START: Uint8Array<ArrayBuffer>;
21
22
  readonly END: Uint8Array<ArrayBuffer>;
22
23
  };
23
24
  declare const BULLET_POINT_UL_MARKER: Uint8Array<ArrayBuffer>;
24
25
  declare const BULLET_POINT_STRING_REPRESENTATION = "\u2022 ";
25
- export { ZWS, MARKER_STRING_LENGTH, MARKER_BYTE_LENGTH, HEADLINE_MARKER_TYPE, HEADLINE_LEVELS, HEADLINE_MARKERS, BOLD_MARKER_TYPE, BOLD_MARKERS, ITALIC_MARKERS, BULLET_POINT_UL_MARKER, BULLET_POINT_STRING_REPRESENTATION, };
26
+ export { ZWS, MARKER_STRING_LENGTH, MARKER_BYTE_LENGTH, HEADLINE_MARKER_TYPE, HEADLINE_LEVELS, HEADLINE_MARKERS, BOLD_MARKER_TYPE, ITALIC_MARKER_TYPE, BOLD_MARKERS, ITALIC_MARKERS, BULLET_POINT_UL_MARKER, BULLET_POINT_STRING_REPRESENTATION, };
26
27
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/text-formats/unicode-markers-format/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,GAAG,WAAW,CAAC;AACrB,QAAA,MAAM,kBAAkB,IAAI,CAAC;AAC7B,QAAA,MAAM,oBAAoB,QAAyB,CAAC;AACpD,QAAA,MAAM,oBAAoB,KAAO,CAAC;AAElC,QAAA,MAAM,eAAe;;;;CAIX,CAAC;AACX,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,OAAO,eAAe,EAAE,UAAU,CAI7D,CAAC;AAEX,QAAA,MAAM,gBAAgB,KAAO,CAAC;AAI9B,QAAA,MAAM,YAAY;;;CAGR,CAAC;AAMX,QAAA,MAAM,cAAc;;;CAGV,CAAC;AAIX,QAAA,MAAM,sBAAsB,yBAG1B,CAAC;AACH,QAAA,MAAM,kCAAkC,YAAO,CAAC;AAQhD,OAAO,EACL,GAAG,EACH,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,kCAAkC,GACnC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/text-formats/unicode-markers-format/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,GAAG,WAAW,CAAC;AACrB,QAAA,MAAM,kBAAkB,IAAI,CAAC;AAC7B,QAAA,MAAM,oBAAoB,QAAyB,CAAC;AACpD,QAAA,MAAM,oBAAoB,KAAO,CAAC;AAElC,QAAA,MAAM,eAAe;;;;CAIX,CAAC;AACX,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,OAAO,eAAe,EAAE,UAAU,CAI7D,CAAC;AAEX,QAAA,MAAM,gBAAgB,KAAO,CAAC;AAI9B,QAAA,MAAM,YAAY;;;CAGR,CAAC;AAEX,QAAA,MAAM,kBAAkB,KAAO,CAAC;AAIhC,QAAA,MAAM,cAAc;;;CAGV,CAAC;AAIX,QAAA,MAAM,sBAAsB,yBAG1B,CAAC;AACH,QAAA,MAAM,kCAAkC,YAAO,CAAC;AAQhD,OAAO,EACL,GAAG,EACH,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,kCAAkC,GACnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-simple-rich-text-editor",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "A lean Rich Text Editor for React Native built upon TextInput outputting Markdown",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
package/src/index.tsx CHANGED
@@ -173,19 +173,37 @@ const RichTextEditor = ({
173
173
  <Text style={styles.buttonText}>List</Text>
174
174
  </TouchableOpacity>
175
175
  <TouchableOpacity
176
- style={[styles.button, styles.fixedWidth]}
176
+ style={[
177
+ styles.button,
178
+ styles.fixedWidth,
179
+ needsBoldEndMarker ? styles.endFontStyleButton : null,
180
+ ]}
177
181
  onPress={handleFontStyleMarkerInsertion('bold')}
178
182
  >
179
- <Text style={styles.buttonText}>
180
- {needsBoldEndMarker ? 'Bold ✖' : 'Bold'}
183
+ <Text
184
+ style={[
185
+ styles.buttonText,
186
+ needsBoldEndMarker ? styles.endFontStyleText : null,
187
+ ]}
188
+ >
189
+ Bold
181
190
  </Text>
182
191
  </TouchableOpacity>
183
192
  <TouchableOpacity
184
- style={[styles.button, styles.fixedWidth]}
193
+ style={[
194
+ styles.button,
195
+ styles.fixedWidth,
196
+ needsItalicEndMarker ? styles.endFontStyleButton : null,
197
+ ]}
185
198
  onPress={handleFontStyleMarkerInsertion('italic')}
186
199
  >
187
- <Text style={styles.buttonText}>
188
- {needsItalicEndMarker ? 'Italic ✖' : 'Italic'}
200
+ <Text
201
+ style={[
202
+ styles.buttonText,
203
+ needsItalicEndMarker ? styles.endFontStyleText : null,
204
+ ]}
205
+ >
206
+ Italic
189
207
  </Text>
190
208
  </TouchableOpacity>
191
209
  </View>
@@ -206,6 +224,7 @@ const RichTextEditor = ({
206
224
  };
207
225
 
208
226
  const electricBlueHex = '#009DDC';
227
+ const jasperRedHex = '#E03A3E';
209
228
  const styles = StyleSheet.create({
210
229
  container: {
211
230
  flex: 1,
@@ -231,7 +250,13 @@ const styles = StyleSheet.create({
231
250
  color: electricBlueHex,
232
251
  },
233
252
  fixedWidth: {
234
- width: 70,
253
+ width: 80,
254
+ },
255
+ endFontStyleButton: {
256
+ borderColor: jasperRedHex,
257
+ },
258
+ endFontStyleText: {
259
+ color: jasperRedHex,
235
260
  },
236
261
  });
237
262
 
@@ -12,9 +12,14 @@ import { Italic } from './Italic.tsx';
12
12
  import { BulletPoint } from './BulletPoint.tsx';
13
13
  import { intersperse } from '../utils.ts';
14
14
 
15
+ const bulletPointRegex = new RegExp(
16
+ BULLET_POINT_STRING_REPRESENTATION.trimEnd() + ' ?',
17
+ 'g'
18
+ ); // matches the bullet point alone or the bullet point followed by a space
19
+
15
20
  export const Render = ({ encodedText }: { encodedText: string }) => {
16
21
  const lines = splitPreservingSeparator(
17
- encodedText.replaceAll(BULLET_POINT_STRING_REPRESENTATION, ''),
22
+ encodedText.replaceAll(bulletPointRegex, ''),
18
23
  ZWS
19
24
  ); // each BulletPoint.tsx instance adds a BULLET_POINT_STRING_REPRESENTATION, we need to remove them to avoid adding extra chars on each render
20
25
 
@@ -1,8 +1,10 @@
1
1
  import {
2
+ ZWS,
2
3
  HEADLINE_LEVELS,
3
4
  HEADLINE_MARKER_TYPE,
4
- ZWS,
5
- MARKER_BYTE_LENGTH,
5
+ MARKER_STRING_LENGTH,
6
+ BOLD_MARKER_TYPE,
7
+ ITALIC_MARKER_TYPE,
6
8
  } from './unicode-markers-format/constants.ts';
7
9
  import { decode } from './unicode-markers-format/encode-decode.ts';
8
10
 
@@ -10,6 +12,8 @@ const Markdown = {
10
12
  H1: '# ',
11
13
  H2: '## ',
12
14
  H3: '### ',
15
+ BOLD: '**',
16
+ ITALIC: '__',
13
17
  } as const;
14
18
 
15
19
  type MarkdownString = string;
@@ -33,9 +37,15 @@ const convertInternalFormatToMarkdown = (
33
37
 
34
38
  if (char === ZWS) {
35
39
  markdownText += decodedTokenToMarkdownToken(
36
- decode(internalText.substring(i, i + MARKER_BYTE_LENGTH))
40
+ decode(internalText.substring(i, i + MARKER_STRING_LENGTH))
37
41
  );
38
- i += MARKER_BYTE_LENGTH;
42
+ /**
43
+ * Funny: when we use ${Markers.H1}Headline 1 in ./src/__tests__/utils/texts.ts to declare the test input text in the internal format,
44
+ * then we need to use MARKER_STRING_LENGTH to iterate to the next character.
45
+ * When we use a text like in `internalText1WithRealMarkers` variable, that has been produced by a function and copy-n-pasted,
46
+ * then need to use MARKER_BYTE_LENGTH..
47
+ */
48
+ i += MARKER_STRING_LENGTH;
39
49
  } else {
40
50
  markdownText += char;
41
51
  i++;
@@ -54,6 +64,11 @@ const decodedTokenToMarkdownToken = (
54
64
  return Markdown[
55
65
  `H${internalToken[1] as (typeof HEADLINE_LEVELS)[keyof typeof HEADLINE_LEVELS]}`
56
66
  ];
67
+ case BOLD_MARKER_TYPE:
68
+ // no need to check whether it is a start marker or end marker, because they are the same in markdown
69
+ return Markdown.BOLD;
70
+ case ITALIC_MARKER_TYPE:
71
+ return Markdown.ITALIC;
57
72
  default:
58
73
  return '';
59
74
  }
@@ -57,6 +57,7 @@ export {
57
57
  HEADLINE_LEVELS,
58
58
  HEADLINE_MARKERS,
59
59
  BOLD_MARKER_TYPE,
60
+ ITALIC_MARKER_TYPE,
60
61
  BOLD_MARKERS,
61
62
  ITALIC_MARKERS,
62
63
  BULLET_POINT_UL_MARKER,