react-native-richify 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/lib/commonjs/components/RenderedOutput.js +168 -0
  2. package/lib/commonjs/components/RenderedOutput.js.map +1 -0
  3. package/lib/commonjs/components/RichTextInput.js +196 -52
  4. package/lib/commonjs/components/RichTextInput.js.map +1 -1
  5. package/lib/commonjs/components/Toolbar.js +41 -2
  6. package/lib/commonjs/components/Toolbar.js.map +1 -1
  7. package/lib/commonjs/constants/defaultStyles.js +81 -2
  8. package/lib/commonjs/constants/defaultStyles.js.map +1 -1
  9. package/lib/commonjs/hooks/useFormatting.js +46 -2
  10. package/lib/commonjs/hooks/useFormatting.js.map +1 -1
  11. package/lib/commonjs/hooks/useRichText.js +130 -12
  12. package/lib/commonjs/hooks/useRichText.js.map +1 -1
  13. package/lib/commonjs/index.d.js +19 -0
  14. package/lib/commonjs/index.d.js.map +1 -1
  15. package/lib/commonjs/index.js +19 -0
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/commonjs/utils/formatter.js +48 -12
  18. package/lib/commonjs/utils/formatter.js.map +1 -1
  19. package/lib/commonjs/utils/parser.js +1 -1
  20. package/lib/commonjs/utils/parser.js.map +1 -1
  21. package/lib/commonjs/utils/serializer.d.js +6 -0
  22. package/lib/commonjs/utils/serializer.d.js.map +1 -0
  23. package/lib/commonjs/utils/serializer.js +259 -0
  24. package/lib/commonjs/utils/serializer.js.map +1 -0
  25. package/lib/commonjs/utils/styleMapper.js +11 -0
  26. package/lib/commonjs/utils/styleMapper.js.map +1 -1
  27. package/lib/module/components/RenderedOutput.js +163 -0
  28. package/lib/module/components/RenderedOutput.js.map +1 -0
  29. package/lib/module/components/RichTextInput.js +198 -55
  30. package/lib/module/components/RichTextInput.js.map +1 -1
  31. package/lib/module/components/Toolbar.js +41 -2
  32. package/lib/module/components/Toolbar.js.map +1 -1
  33. package/lib/module/constants/defaultStyles.js +81 -2
  34. package/lib/module/constants/defaultStyles.js.map +1 -1
  35. package/lib/module/hooks/useFormatting.js +47 -3
  36. package/lib/module/hooks/useFormatting.js.map +1 -1
  37. package/lib/module/hooks/useRichText.js +130 -12
  38. package/lib/module/hooks/useRichText.js.map +1 -1
  39. package/lib/module/index.d.js +1 -0
  40. package/lib/module/index.d.js.map +1 -1
  41. package/lib/module/index.js +1 -0
  42. package/lib/module/index.js.map +1 -1
  43. package/lib/module/utils/formatter.js +46 -12
  44. package/lib/module/utils/formatter.js.map +1 -1
  45. package/lib/module/utils/parser.js +1 -1
  46. package/lib/module/utils/parser.js.map +1 -1
  47. package/lib/module/utils/serializer.d.js +4 -0
  48. package/lib/module/utils/serializer.d.js.map +1 -0
  49. package/lib/module/utils/serializer.js +253 -0
  50. package/lib/module/utils/serializer.js.map +1 -0
  51. package/lib/module/utils/styleMapper.js +11 -0
  52. package/lib/module/utils/styleMapper.js.map +1 -1
  53. package/lib/typescript/src/components/RenderedOutput.d.ts +9 -0
  54. package/lib/typescript/src/components/RenderedOutput.d.ts.map +1 -0
  55. package/lib/typescript/src/components/RichTextInput.d.ts +2 -13
  56. package/lib/typescript/src/components/RichTextInput.d.ts.map +1 -1
  57. package/lib/typescript/src/components/Toolbar.d.ts.map +1 -1
  58. package/lib/typescript/src/constants/defaultStyles.d.ts +3 -0
  59. package/lib/typescript/src/constants/defaultStyles.d.ts.map +1 -1
  60. package/lib/typescript/src/hooks/useFormatting.d.ts +4 -1
  61. package/lib/typescript/src/hooks/useFormatting.d.ts.map +1 -1
  62. package/lib/typescript/src/hooks/useRichText.d.ts.map +1 -1
  63. package/lib/typescript/src/index.d.ts +2 -1
  64. package/lib/typescript/src/index.d.ts.map +1 -1
  65. package/lib/typescript/src/types/index.d.ts +112 -1
  66. package/lib/typescript/src/types/index.d.ts.map +1 -1
  67. package/lib/typescript/src/utils/formatter.d.ts +9 -1
  68. package/lib/typescript/src/utils/formatter.d.ts.map +1 -1
  69. package/lib/typescript/src/utils/parser.d.ts.map +1 -1
  70. package/lib/typescript/src/utils/serializer.d.ts +14 -0
  71. package/lib/typescript/src/utils/serializer.d.ts.map +1 -0
  72. package/lib/typescript/src/utils/styleMapper.d.ts.map +1 -1
  73. package/package.json +1 -1
  74. package/src/components/RenderedOutput.tsx +231 -0
  75. package/src/components/RichTextInput.d.ts +3 -14
  76. package/src/components/RichTextInput.tsx +291 -56
  77. package/src/components/Toolbar.tsx +54 -2
  78. package/src/constants/defaultStyles.d.ts +3 -0
  79. package/src/constants/defaultStyles.ts +47 -1
  80. package/src/hooks/useFormatting.ts +89 -2
  81. package/src/hooks/useRichText.ts +193 -11
  82. package/src/index.d.ts +2 -1
  83. package/src/index.ts +10 -0
  84. package/src/types/index.d.ts +112 -1
  85. package/src/types/index.ts +123 -1
  86. package/src/utils/formatter.ts +60 -10
  87. package/src/utils/parser.ts +6 -1
  88. package/src/utils/serializer.d.ts +13 -0
  89. package/src/utils/serializer.ts +365 -0
  90. package/src/utils/styleMapper.ts +21 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_defaultStyles","_ToolbarButton","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Toolbar","exports","React","memo","actions","state","items","theme","visible","renderToolbar","resolvedTheme","DEFAULT_THEME","toolbarItems","DEFAULT_TOOLBAR_ITEMS","enrichedItems","useMemo","selectionStyle","getSelectionStyle","map","item","isActive","format","isFormatActive","heading","active","toolbarStyle","jsx","View","style","children","ScrollView","horizontal","showsHorizontalScrollIndicator","keyboardShouldPersistTaps","contentContainerStyle","styles","scrollContent","ToolbarButton","label","renderButton","onPress","toggleFormat","setHeading","id","displayName","StyleSheet","create","flexDirection","alignItems","gap"],"sourceRoot":"../../../src","sources":["components/Toolbar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_defaultStyles","_ToolbarButton","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Toolbar","exports","React","memo","actions","state","items","theme","visible","outputFormat","outputPreviewMode","onOutputFormatChange","onOutputPreviewModeChange","onRequestLink","onRequestImage","renderToolbar","resolvedTheme","DEFAULT_THEME","toolbarItems","DEFAULT_TOOLBAR_ITEMS","enrichedItems","useMemo","selectionStyle","getSelectionStyle","map","item","isActive","format","isFormatActive","heading","listType","textAlign","actionType","link","active","undefined","toolbarStyle","jsx","View","style","children","ScrollView","horizontal","showsHorizontalScrollIndicator","keyboardShouldPersistTaps","contentContainerStyle","styles","scrollContent","ToolbarButton","label","renderButton","onPress","toggleFormat","setHeading","setListType","setTextAlign","id","displayName","StyleSheet","create","flexDirection","alignItems","gap"],"sourceRoot":"../../../src","sources":["components/Toolbar.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAAgD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMkB,OAA+B,GAAAC,OAAA,CAAAD,OAAA,gBAAGE,cAAK,CAACC,IAAI,CACvD,CAAC;EACCC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC,KAAK;EACLC,OAAO,GAAG,IAAI;EACdC,YAAY,GAAG,UAAU;EACzBC,iBAAiB,GAAG,SAAS;EAC7BC,oBAAoB;EACpBC,yBAAyB;EACzBC,aAAa;EACbC,cAAc;EACdC;AACF,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAGT,KAAK,IAAIU,4BAAa;EAC5C,MAAMC,YAAY,GAAGZ,KAAK,IAAIa,oCAAqB;;EAEnD;EACA,MAAMC,aAA4B,GAAG,IAAAC,cAAO,EAAC,MAAM;IACjD,MAAMC,cAAc,GAAGlB,OAAO,CAACmB,iBAAiB,CAAC,CAAC;IAElD,OAAOL,YAAY,CAACM,GAAG,CAAEC,IAAI,IAAK;MAChC,IAAIC,QAAQ,GAAG,KAAK;MAEpB,IAAID,IAAI,CAACE,MAAM,EAAE;QACfD,QAAQ,GAAGtB,OAAO,CAACwB,cAAc,CAACH,IAAI,CAACE,MAAM,CAAC;MAChD;MAEA,IAAIF,IAAI,CAACI,OAAO,EAAE;QAChBH,QAAQ,GAAGJ,cAAc,CAACO,OAAO,KAAKJ,IAAI,CAACI,OAAO;MACpD;MAEA,IAAIJ,IAAI,CAACK,QAAQ,EAAE;QACjBJ,QAAQ,GAAGJ,cAAc,CAACQ,QAAQ,KAAKL,IAAI,CAACK,QAAQ;MACtD;MAEA,IAAIL,IAAI,CAACM,SAAS,EAAE;QAClBL,QAAQ,GAAGJ,cAAc,CAACS,SAAS,KAAKN,IAAI,CAACM,SAAS;MACxD;MAEA,IAAIN,IAAI,CAAChB,YAAY,EAAE;QACrBiB,QAAQ,GAAGjB,YAAY,KAAKgB,IAAI,CAAChB,YAAY;MAC/C;MAEA,IAAIgB,IAAI,CAACf,iBAAiB,EAAE;QAC1BgB,QAAQ,GAAGhB,iBAAiB,KAAKe,IAAI,CAACf,iBAAiB;MACzD;MAEA,IAAIe,IAAI,CAACO,UAAU,KAAK,MAAM,EAAE;QAC9BN,QAAQ,GAAG,CAAC,CAACJ,cAAc,CAACW,IAAI;MAClC;MAEA,OAAO;QACL,GAAGR,IAAI;QACPS,MAAM,EAAET,IAAI,CAACS,MAAM,IAAIR;MACzB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EAAE,CAACtB,OAAO,EAAEK,YAAY,EAAEC,iBAAiB,EAAEQ,YAAY,CAAC,CAAC;;EAE5D;EACA,IAAIH,aAAa,EAAE;IACjB,OAAOA,aAAa,CAAC;MACnBT,KAAK,EAAEc,aAAa;MACpBf,KAAK;MACLD,OAAO;MACPK,YAAY;MACZC,iBAAiB;MACjBC,oBAAoB,EAAEA,oBAAoB,KAAK,MAAMwB,SAAS,CAAC;MAC/DvB,yBAAyB,EACvBA,yBAAyB,KAAK,MAAMuB,SAAS,CAAC;MAChDtB,aAAa;MACbC;IACF,CAAC,CAAC;EACJ;EAEA,IAAI,CAACN,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EAEA,MAAM4B,YAAY,GAAG,CACnBpB,aAAa,CAACoB,YAAY,IAAInB,4BAAa,CAACmB,YAAY,CACzD;EAED,oBACE,IAAAxD,WAAA,CAAAyD,GAAA,EAAC5D,YAAA,CAAA6D,IAAI;IAACC,KAAK,EAAEH,YAAa;IAAAI,QAAA,eACxB,IAAA5D,WAAA,CAAAyD,GAAA,EAAC5D,YAAA,CAAAgE,UAAU;MACTC,UAAU;MACVC,8BAA8B,EAAE,KAAM;MACtCC,yBAAyB,EAAC,QAAQ;MAClCC,qBAAqB,EAAEC,MAAM,CAACC,aAAc;MAAAP,QAAA,EAE3CpB,aAAa,CAACI,GAAG,CAAEC,IAAI,iBACtB,IAAA7C,WAAA,CAAAyD,GAAA,EAAC1D,cAAA,CAAAqE,aAAa;QAEZC,KAAK,EAAExB,IAAI,CAACwB,KAAM;QAClBf,MAAM,EAAE,CAAC,CAACT,IAAI,CAACS,MAAO;QACtB3B,KAAK,EAAES,aAAc;QACrBkC,YAAY,EAAEzB,IAAI,CAACyB,YAAa;QAChCC,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI1B,IAAI,CAAC0B,OAAO,EAAE;YAChB1B,IAAI,CAAC0B,OAAO,CAAC,CAAC;UAChB,CAAC,MAAM,IAAI1B,IAAI,CAACE,MAAM,EAAE;YACtBvB,OAAO,CAACgD,YAAY,CAAC3B,IAAI,CAACE,MAAM,CAAC;UACnC,CAAC,MAAM,IAAIF,IAAI,CAACI,OAAO,EAAE;YACvBzB,OAAO,CAACiD,UAAU,CAAC5B,IAAI,CAACI,OAAO,CAAC;UAClC,CAAC,MAAM,IAAIJ,IAAI,CAACK,QAAQ,EAAE;YACxB1B,OAAO,CAACkD,WAAW,CAAC7B,IAAI,CAACK,QAAQ,CAAC;UACpC,CAAC,MAAM,IAAIL,IAAI,CAACM,SAAS,EAAE;YACzB3B,OAAO,CAACmD,YAAY,CAAC9B,IAAI,CAACM,SAAS,CAAC;UACtC,CAAC,MAAM,IAAIN,IAAI,CAAChB,YAAY,EAAE;YAC5BE,oBAAoB,GAAGc,IAAI,CAAChB,YAAY,CAAC;UAC3C,CAAC,MAAM,IAAIgB,IAAI,CAACf,iBAAiB,EAAE;YACjCE,yBAAyB,GAAGa,IAAI,CAACf,iBAAiB,CAAC;UACrD,CAAC,MAAM,IAAIe,IAAI,CAACO,UAAU,KAAK,MAAM,EAAE;YACrCnB,aAAa,GAAG,CAAC;UACnB,CAAC,MAAM,IAAIY,IAAI,CAACO,UAAU,KAAK,OAAO,EAAE;YACtClB,cAAc,GAAG,CAAC;UACpB;QACF;MAAE,GAzBGW,IAAI,CAAC+B,EA0BX,CACF;IAAC,CACQ;EAAC,CACT,CAAC;AAEX,CACF,CAAC;AAEDxD,OAAO,CAACyD,WAAW,GAAG,SAAS;AAE/B,MAAMX,MAAM,GAAGY,uBAAU,CAACC,MAAM,CAAC;EAC/BZ,aAAa,EAAE;IACba,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
@@ -14,6 +14,9 @@ const DEFAULT_COLORS = exports.DEFAULT_COLORS = {
14
14
  placeholder: '#9CA3AF',
15
15
  toolbarBackground: '#F9FAFB',
16
16
  toolbarBorder: '#E5E7EB',
17
+ outputBackground: '#F8FAFC',
18
+ outputLabel: '#475569',
19
+ link: '#2563EB',
17
20
  cursor: '#6366F1',
18
21
  activeButtonBg: '#EEF2FF',
19
22
  codeBackground: '#F3F4F6'
@@ -51,7 +54,12 @@ const EMPTY_FORMAT_STYLE = exports.EMPTY_FORMAT_STYLE = {
51
54
  color: undefined,
52
55
  backgroundColor: undefined,
53
56
  fontSize: undefined,
54
- heading: undefined
57
+ heading: undefined,
58
+ listType: undefined,
59
+ textAlign: undefined,
60
+ link: undefined,
61
+ imageSrc: undefined,
62
+ imageAlt: undefined
55
63
  };
56
64
 
57
65
  /**
@@ -68,7 +76,7 @@ const DEFAULT_THEME = exports.DEFAULT_THEME = {
68
76
  inputStyle: {
69
77
  fontSize: DEFAULT_BASE_TEXT_STYLE.fontSize,
70
78
  lineHeight: DEFAULT_BASE_TEXT_STYLE.lineHeight,
71
- color: 'transparent',
79
+ color: DEFAULT_COLORS.text,
72
80
  paddingHorizontal: 16,
73
81
  paddingVertical: 12,
74
82
  textAlignVertical: 'top'
@@ -87,6 +95,32 @@ const DEFAULT_THEME = exports.DEFAULT_THEME = {
87
95
  lineHeight: DEFAULT_BASE_TEXT_STYLE.lineHeight,
88
96
  color: DEFAULT_COLORS.text
89
97
  },
98
+ outputContainerStyle: {
99
+ marginHorizontal: 12,
100
+ marginBottom: 12,
101
+ padding: 12,
102
+ borderRadius: 10,
103
+ borderWidth: 1,
104
+ borderColor: DEFAULT_COLORS.toolbarBorder,
105
+ backgroundColor: DEFAULT_COLORS.outputBackground
106
+ },
107
+ outputLabelStyle: {
108
+ marginBottom: 8,
109
+ fontSize: 12,
110
+ fontWeight: '700',
111
+ letterSpacing: 0.4,
112
+ color: DEFAULT_COLORS.outputLabel,
113
+ textTransform: 'uppercase'
114
+ },
115
+ outputTextStyle: {
116
+ fontSize: 14,
117
+ lineHeight: 20,
118
+ color: DEFAULT_COLORS.text,
119
+ fontFamily: 'monospace'
120
+ },
121
+ renderedOutputStyle: {
122
+ gap: 10
123
+ },
90
124
  toolbarStyle: {
91
125
  flexDirection: 'row',
92
126
  alignItems: 'center',
@@ -129,6 +163,7 @@ const DEFAULT_THEME = exports.DEFAULT_THEME = {
129
163
  placeholder: DEFAULT_COLORS.placeholder,
130
164
  toolbarBackground: DEFAULT_COLORS.toolbarBackground,
131
165
  toolbarBorder: DEFAULT_COLORS.toolbarBorder,
166
+ link: DEFAULT_COLORS.link,
132
167
  cursor: DEFAULT_COLORS.cursor
133
168
  }
134
169
  };
@@ -168,5 +203,49 @@ const DEFAULT_TOOLBAR_ITEMS = exports.DEFAULT_TOOLBAR_ITEMS = [{
168
203
  id: 'h3',
169
204
  label: 'H3',
170
205
  heading: 'h3'
206
+ }, {
207
+ id: 'bullet',
208
+ label: '\u2022',
209
+ listType: 'bullet'
210
+ }, {
211
+ id: 'ordered',
212
+ label: '1.',
213
+ listType: 'ordered'
214
+ }, {
215
+ id: 'link',
216
+ label: 'Link',
217
+ actionType: 'link'
218
+ }, {
219
+ id: 'image',
220
+ label: 'Img',
221
+ actionType: 'image'
222
+ }, {
223
+ id: 'align-left',
224
+ label: 'L',
225
+ textAlign: 'left'
226
+ }, {
227
+ id: 'align-center',
228
+ label: 'C',
229
+ textAlign: 'center'
230
+ }, {
231
+ id: 'align-right',
232
+ label: 'R',
233
+ textAlign: 'right'
234
+ }, {
235
+ id: 'format-markdown',
236
+ label: 'MD',
237
+ outputFormat: 'markdown'
238
+ }, {
239
+ id: 'format-html',
240
+ label: 'HTML',
241
+ outputFormat: 'html'
242
+ }, {
243
+ id: 'preview-literal',
244
+ label: 'Raw',
245
+ outputPreviewMode: 'literal'
246
+ }, {
247
+ id: 'preview-rendered',
248
+ label: 'View',
249
+ outputPreviewMode: 'rendered'
171
250
  }];
172
251
  //# sourceMappingURL=defaultStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_COLORS","exports","primary","background","text","placeholder","toolbarBackground","toolbarBorder","cursor","activeButtonBg","codeBackground","HEADING_FONT_SIZES","h1","h2","h3","none","DEFAULT_BASE_TEXT_STYLE","fontSize","lineHeight","color","fontFamily","undefined","EMPTY_FORMAT_STYLE","bold","italic","underline","strikethrough","code","backgroundColor","heading","DEFAULT_THEME","containerStyle","borderWidth","borderColor","borderRadius","overflow","inputStyle","paddingHorizontal","paddingVertical","textAlignVertical","overlayContainerStyle","position","top","left","right","bottom","baseTextStyle","toolbarStyle","flexDirection","alignItems","gap","toolbarButtonStyle","minWidth","justifyContent","toolbarButtonActiveStyle","toolbarButtonTextStyle","fontWeight","toolbarButtonActiveTextStyle","codeStyle","colors","DEFAULT_TOOLBAR_ITEMS","id","label","format"],"sourceRoot":"../../../src","sources":["constants/defaultStyles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_COLORS","exports","primary","background","text","placeholder","toolbarBackground","toolbarBorder","outputBackground","outputLabel","link","cursor","activeButtonBg","codeBackground","HEADING_FONT_SIZES","h1","h2","h3","none","DEFAULT_BASE_TEXT_STYLE","fontSize","lineHeight","color","fontFamily","undefined","EMPTY_FORMAT_STYLE","bold","italic","underline","strikethrough","code","backgroundColor","heading","listType","textAlign","imageSrc","imageAlt","DEFAULT_THEME","containerStyle","borderWidth","borderColor","borderRadius","overflow","inputStyle","paddingHorizontal","paddingVertical","textAlignVertical","overlayContainerStyle","position","top","left","right","bottom","baseTextStyle","outputContainerStyle","marginHorizontal","marginBottom","padding","outputLabelStyle","fontWeight","letterSpacing","textTransform","outputTextStyle","renderedOutputStyle","gap","toolbarStyle","flexDirection","alignItems","toolbarButtonStyle","minWidth","justifyContent","toolbarButtonActiveStyle","toolbarButtonTextStyle","toolbarButtonActiveTextStyle","codeStyle","colors","DEFAULT_TOOLBAR_ITEMS","id","label","format","actionType","outputFormat","outputPreviewMode"],"sourceRoot":"../../../src","sources":["constants/defaultStyles.ts"],"mappings":"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","ignoreList":[]}
@@ -44,9 +44,50 @@ function useFormatting({
44
44
  }
45
45
  }, [segments, selection, activeStyles, onSegmentsChange, onActiveStylesChange]);
46
46
  const setHeading = (0, _react.useCallback)(level => {
47
- const newSegments = (0, _formatter.setHeadingOnLine)(segments, selection, level);
47
+ const currentHeading = selection.start === selection.end ? (0, _formatter.getSelectionStyle)(segments, selection).heading ?? activeStyles.heading : (0, _formatter.getSelectionStyle)(segments, selection).heading;
48
+ const nextHeading = currentHeading === level ? 'none' : level;
49
+ if (selection.start === selection.end) {
50
+ onActiveStylesChange({
51
+ ...activeStyles,
52
+ heading: nextHeading === 'none' ? undefined : nextHeading,
53
+ listType: nextHeading === 'none' ? activeStyles.listType : undefined
54
+ });
55
+ }
56
+ const newSegments = (0, _formatter.setHeadingOnLine)(segments, selection, nextHeading);
48
57
  onSegmentsChange(newSegments);
49
- }, [segments, selection, onSegmentsChange]);
58
+ }, [activeStyles, onActiveStylesChange, onSegmentsChange, segments, selection]);
59
+ const setListType = (0, _react.useCallback)(listType => {
60
+ if (selection.start === selection.end) {
61
+ onActiveStylesChange({
62
+ ...activeStyles,
63
+ listType: listType === 'none' ? undefined : listType,
64
+ heading: listType === 'none' ? activeStyles.heading : undefined
65
+ });
66
+ }
67
+ const newSegments = (0, _formatter.setListTypeOnLine)(segments, selection, listType);
68
+ onSegmentsChange(newSegments);
69
+ }, [activeStyles, onActiveStylesChange, onSegmentsChange, segments, selection]);
70
+ const setTextAlign = (0, _react.useCallback)(textAlign => {
71
+ if (selection.start === selection.end) {
72
+ onActiveStylesChange({
73
+ ...activeStyles,
74
+ textAlign
75
+ });
76
+ }
77
+ const newSegments = (0, _formatter.setTextAlignOnLine)(segments, selection, textAlign);
78
+ onSegmentsChange(newSegments);
79
+ }, [activeStyles, onActiveStylesChange, onSegmentsChange, segments, selection]);
80
+ const setLink = (0, _react.useCallback)(url => {
81
+ if (selection.start === selection.end) {
82
+ onActiveStylesChange({
83
+ ...activeStyles,
84
+ link: url
85
+ });
86
+ } else {
87
+ const newSegments = (0, _formatter.setStyleOnSelection)(segments, selection, 'link', url);
88
+ onSegmentsChange(newSegments);
89
+ }
90
+ }, [segments, selection, activeStyles, onSegmentsChange, onActiveStylesChange]);
50
91
  const setColor = (0, _react.useCallback)(color => {
51
92
  setStyleProperty('color', color);
52
93
  }, [setStyleProperty]);
@@ -72,6 +113,9 @@ function useFormatting({
72
113
  toggleFormat,
73
114
  setStyleProperty,
74
115
  setHeading,
116
+ setListType,
117
+ setTextAlign,
118
+ setLink,
75
119
  setColor,
76
120
  setBackgroundColor,
77
121
  setFontSize,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_formatter","useFormatting","segments","selection","activeStyles","onSegmentsChange","onActiveStylesChange","toggleFormat","useCallback","format","start","end","newSegments","toggleFormatOnSelection","setStyleProperty","key","value","setStyleOnSelection","setHeading","level","setHeadingOnLine","setColor","color","setBackgroundColor","setFontSize","size","isFormatActive","isFormatActiveInSelection","currentSelectionStyle","getSelectionStyle"],"sourceRoot":"../../../src","sources":["hooks/useFormatting.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_formatter","useFormatting","segments","selection","activeStyles","onSegmentsChange","onActiveStylesChange","toggleFormat","useCallback","format","start","end","newSegments","toggleFormatOnSelection","setStyleProperty","key","value","setStyleOnSelection","setHeading","level","currentHeading","getSelectionStyle","heading","nextHeading","undefined","listType","setHeadingOnLine","setListType","setListTypeOnLine","setTextAlign","textAlign","setTextAlignOnLine","setLink","url","link","setColor","color","setBackgroundColor","setFontSize","size","isFormatActive","isFormatActiveInSelection","currentSelectionStyle"],"sourceRoot":"../../../src","sources":["hooks/useFormatting.ts"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ var _react = require("react");
8
8
  var _defaultStyles = require("../constants/defaultStyles");
9
9
  var _parser = require("../utils/parser");
10
10
  var _formatter = require("../utils/formatter");
11
+ var _serializer = require("../utils/serializer");
11
12
  var _useSelection = require("../hooks/useSelection");
12
13
  var _useFormatting = require("../hooks/useFormatting");
13
14
  /**
@@ -46,6 +47,7 @@ function useRichText(options = {}) {
46
47
  selectionRef.current = selection;
47
48
  const activeStylesRef = (0, _react.useRef)(activeStyles);
48
49
  activeStylesRef.current = activeStyles;
50
+ const preserveActiveStylesRef = (0, _react.useRef)(false);
49
51
 
50
52
  // ─── Segment Change Handler ──────────────────────────────────────────────
51
53
 
@@ -70,7 +72,7 @@ function useRichText(options = {}) {
70
72
  const handleTextChange = (0, _react.useCallback)(newText => {
71
73
  const currentSegments = segmentsRef.current;
72
74
  const currentSelection = selectionRef.current;
73
- const currentActiveStyles = currentSelection.start === currentSelection.end ? activeStylesRef.current : (0, _formatter.getSelectionStyle)(currentSegments, currentSelection);
75
+ const currentActiveStyles = sanitizeTypingStyles(currentSelection.start === currentSelection.end ? activeStylesRef.current : (0, _formatter.getSelectionStyle)(currentSegments, currentSelection));
74
76
  const newSegments = (0, _parser.reconcileTextChange)(currentSegments, newText, currentActiveStyles);
75
77
  updateSegments(newSegments);
76
78
  }, [updateSegments]);
@@ -78,16 +80,20 @@ function useRichText(options = {}) {
78
80
  // ─── Selection Change Handler ────────────────────────────────────────────
79
81
 
80
82
  const onSelectionChange = (0, _react.useCallback)(newSelection => {
83
+ const previousSelection = selectionRef.current;
81
84
  handleSelectionChange(newSelection);
85
+ const shouldPreserveActiveStyles = preserveActiveStylesRef.current && previousSelection.start === previousSelection.end && newSelection.start === newSelection.end && newSelection.start >= previousSelection.start && newSelection.start - previousSelection.start <= 1;
86
+ if (shouldPreserveActiveStyles) {
87
+ return;
88
+ }
89
+ preserveActiveStylesRef.current = false;
82
90
 
83
91
  // Update active styles based on cursor position
84
92
  if (newSelection.start === newSelection.end) {
85
93
  const pos = (0, _parser.findPositionInSegments)(segmentsRef.current, newSelection.start);
86
94
  if (segmentsRef.current.length > 0) {
87
95
  const seg = segmentsRef.current[pos.segmentIndex];
88
- setActiveStyles({
89
- ...seg.styles
90
- });
96
+ setActiveStyles(sanitizeTypingStyles(seg.styles));
91
97
  }
92
98
  }
93
99
  }, [handleSelectionChange]);
@@ -97,19 +103,109 @@ function useRichText(options = {}) {
97
103
  const getPlainText = (0, _react.useCallback)(() => {
98
104
  return (0, _parser.segmentsToPlainText)(segmentsRef.current);
99
105
  }, []);
106
+ const getOutput = (0, _react.useCallback)((format = 'markdown') => {
107
+ return (0, _serializer.serializeSegments)(segmentsRef.current, format);
108
+ }, []);
100
109
  const exportJSON = (0, _react.useCallback)(() => {
101
110
  return JSON.parse(JSON.stringify(segmentsRef.current));
102
111
  }, []);
103
112
  const importJSON = (0, _react.useCallback)(newSegments => {
104
113
  const safeSegments = newSegments.length > 0 ? newSegments : [(0, _parser.createSegment)('')];
105
114
  updateSegments(safeSegments);
106
- }, [updateSegments]);
115
+ handleSelectionChange({
116
+ start: 0,
117
+ end: 0
118
+ });
119
+ setActiveStyles({
120
+ ..._defaultStyles.EMPTY_FORMAT_STYLE
121
+ });
122
+ }, [handleSelectionChange, updateSegments]);
107
123
  const clear = (0, _react.useCallback)(() => {
108
124
  updateSegments([(0, _parser.createSegment)('')]);
125
+ handleSelectionChange({
126
+ start: 0,
127
+ end: 0
128
+ });
109
129
  setActiveStyles({
110
130
  ..._defaultStyles.EMPTY_FORMAT_STYLE
111
131
  });
112
- }, [updateSegments]);
132
+ preserveActiveStylesRef.current = false;
133
+ }, [handleSelectionChange, updateSegments]);
134
+ const toggleFormat = (0, _react.useCallback)(format => {
135
+ if (selectionRef.current.start === selectionRef.current.end) {
136
+ preserveActiveStylesRef.current = true;
137
+ }
138
+ formatting.toggleFormat(format);
139
+ }, [formatting]);
140
+ const setStyleProperty = (0, _react.useCallback)((key, value) => {
141
+ if (selectionRef.current.start === selectionRef.current.end) {
142
+ preserveActiveStylesRef.current = true;
143
+ }
144
+ formatting.setStyleProperty(key, value);
145
+ }, [formatting]);
146
+ const setHeading = (0, _react.useCallback)(level => {
147
+ if (selectionRef.current.start === selectionRef.current.end) {
148
+ preserveActiveStylesRef.current = true;
149
+ }
150
+ formatting.setHeading(level);
151
+ }, [formatting]);
152
+ const setListType = (0, _react.useCallback)(type => {
153
+ if (selectionRef.current.start === selectionRef.current.end) {
154
+ preserveActiveStylesRef.current = true;
155
+ }
156
+ formatting.setListType(type);
157
+ }, [formatting]);
158
+ const setTextAlign = (0, _react.useCallback)(align => {
159
+ if (selectionRef.current.start === selectionRef.current.end) {
160
+ preserveActiveStylesRef.current = true;
161
+ }
162
+ formatting.setTextAlign(align);
163
+ }, [formatting]);
164
+ const setLink = (0, _react.useCallback)(url => {
165
+ if (selectionRef.current.start === selectionRef.current.end) {
166
+ preserveActiveStylesRef.current = true;
167
+ }
168
+ formatting.setLink(url);
169
+ }, [formatting]);
170
+ const setColor = (0, _react.useCallback)(color => {
171
+ if (selectionRef.current.start === selectionRef.current.end) {
172
+ preserveActiveStylesRef.current = true;
173
+ }
174
+ formatting.setColor(color);
175
+ }, [formatting]);
176
+ const setBackgroundColor = (0, _react.useCallback)(color => {
177
+ if (selectionRef.current.start === selectionRef.current.end) {
178
+ preserveActiveStylesRef.current = true;
179
+ }
180
+ formatting.setBackgroundColor(color);
181
+ }, [formatting]);
182
+ const setFontSize = (0, _react.useCallback)(size => {
183
+ if (selectionRef.current.start === selectionRef.current.end) {
184
+ preserveActiveStylesRef.current = true;
185
+ }
186
+ formatting.setFontSize(size);
187
+ }, [formatting]);
188
+ const insertImage = (0, _react.useCallback)((source, options) => {
189
+ const currentSegments = segmentsRef.current;
190
+ const currentSelection = selectionRef.current;
191
+ const plainText = (0, _parser.segmentsToPlainText)(currentSegments);
192
+ const start = Math.min(currentSelection.start, currentSelection.end);
193
+ const end = Math.max(currentSelection.start, currentSelection.end);
194
+ const placeholder = options?.placeholder ?? buildImagePlaceholder(source, options?.alt);
195
+ const nextText = `${plainText.slice(0, start)}${placeholder}${plainText.slice(end)}`;
196
+ const insertionStyles = sanitizeTypingStyles(start === end ? activeStylesRef.current : (0, _formatter.getSelectionStyle)(currentSegments, currentSelection));
197
+ const nextSegments = (0, _parser.reconcileTextChange)(currentSegments, nextText, {
198
+ ...insertionStyles,
199
+ imageSrc: source,
200
+ imageAlt: options?.alt
201
+ });
202
+ updateSegments(nextSegments);
203
+ handleSelectionChange({
204
+ start: start + placeholder.length,
205
+ end: start + placeholder.length
206
+ });
207
+ preserveActiveStylesRef.current = false;
208
+ }, [handleSelectionChange, updateSegments]);
113
209
 
114
210
  // ─── Build Return Value ──────────────────────────────────────────────────
115
211
 
@@ -119,16 +215,21 @@ function useRichText(options = {}) {
119
215
  activeStyles
120
216
  };
121
217
  const actions = {
122
- toggleFormat: formatting.toggleFormat,
123
- setStyleProperty: formatting.setStyleProperty,
124
- setHeading: formatting.setHeading,
125
- setColor: formatting.setColor,
126
- setBackgroundColor: formatting.setBackgroundColor,
127
- setFontSize: formatting.setFontSize,
218
+ toggleFormat,
219
+ setStyleProperty,
220
+ setHeading,
221
+ setListType,
222
+ setTextAlign,
223
+ setLink,
224
+ insertImage,
225
+ setColor,
226
+ setBackgroundColor,
227
+ setFontSize,
128
228
  handleTextChange,
129
229
  handleSelectionChange: onSelectionChange,
130
230
  isFormatActive: formatting.isFormatActive,
131
231
  getSelectionStyle: formatting.currentSelectionStyle,
232
+ getOutput,
132
233
  getPlainText,
133
234
  exportJSON,
134
235
  importJSON,
@@ -139,4 +240,21 @@ function useRichText(options = {}) {
139
240
  actions
140
241
  };
141
242
  }
243
+ function sanitizeTypingStyles(style) {
244
+ return {
245
+ ...style,
246
+ imageSrc: undefined,
247
+ imageAlt: undefined
248
+ };
249
+ }
250
+ function buildImagePlaceholder(source, alt) {
251
+ if (alt && alt.trim().length > 0) {
252
+ return `[Image: ${alt.trim()}]`;
253
+ }
254
+ const fileName = source.split('/').pop()?.split('?')[0]?.trim();
255
+ if (fileName) {
256
+ return `[Image: ${fileName}]`;
257
+ }
258
+ return '[Image]';
259
+ }
142
260
  //# sourceMappingURL=useRichText.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_defaultStyles","_parser","_formatter","_useSelection","_useFormatting","useRichText","options","initialSegments","onChangeSegments","onChangeText","segments","setSegments","useState","length","createSegment","activeStyles","setActiveStyles","EMPTY_FORMAT_STYLE","selection","handleSelectionChange","useSelection","segmentsRef","useRef","current","selectionRef","activeStylesRef","updateSegments","useCallback","newSegments","segmentsToPlainText","formatting","useFormatting","onSegmentsChange","onActiveStylesChange","handleTextChange","newText","currentSegments","currentSelection","currentActiveStyles","start","end","getSelectionStyle","reconcileTextChange","onSelectionChange","newSelection","pos","findPositionInSegments","seg","segmentIndex","styles","getPlainText","exportJSON","JSON","parse","stringify","importJSON","safeSegments","clear","state","actions","toggleFormat","setStyleProperty","setHeading","setColor","setBackgroundColor","setFontSize","isFormatActive","currentSelectionStyle"],"sourceRoot":"../../../src","sources":["hooks/useRichText.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_defaultStyles","_parser","_formatter","_serializer","_useSelection","_useFormatting","useRichText","options","initialSegments","onChangeSegments","onChangeText","segments","setSegments","useState","length","createSegment","activeStyles","setActiveStyles","EMPTY_FORMAT_STYLE","selection","handleSelectionChange","useSelection","segmentsRef","useRef","current","selectionRef","activeStylesRef","preserveActiveStylesRef","updateSegments","useCallback","newSegments","segmentsToPlainText","formatting","useFormatting","onSegmentsChange","onActiveStylesChange","handleTextChange","newText","currentSegments","currentSelection","currentActiveStyles","sanitizeTypingStyles","start","end","getSelectionStyle","reconcileTextChange","onSelectionChange","newSelection","previousSelection","shouldPreserveActiveStyles","pos","findPositionInSegments","seg","segmentIndex","styles","getPlainText","getOutput","format","serializeSegments","exportJSON","JSON","parse","stringify","importJSON","safeSegments","clear","toggleFormat","setStyleProperty","key","value","setHeading","level","setListType","type","setTextAlign","align","setLink","url","setColor","color","setBackgroundColor","setFontSize","size","insertImage","source","plainText","Math","min","max","placeholder","buildImagePlaceholder","alt","nextText","slice","insertionStyles","nextSegments","imageSrc","imageAlt","state","actions","isFormatActive","currentSelectionStyle","style","undefined","trim","fileName","split","pop"],"sourceRoot":"../../../src","sources":["hooks/useRichText.ts"],"mappings":"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","ignoreList":[]}
@@ -117,6 +117,18 @@ Object.defineProperty(exports, "segmentToTextStyle", {
117
117
  return _styleMapper.segmentToTextStyle;
118
118
  }
119
119
  });
120
+ Object.defineProperty(exports, "segmentsToHTML", {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _serializer.segmentsToHTML;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, "segmentsToMarkdown", {
127
+ enumerable: true,
128
+ get: function () {
129
+ return _serializer.segmentsToMarkdown;
130
+ }
131
+ });
120
132
  Object.defineProperty(exports, "segmentsToPlainText", {
121
133
  enumerable: true,
122
134
  get: function () {
@@ -129,6 +141,12 @@ Object.defineProperty(exports, "segmentsToTextStyles", {
129
141
  return _styleMapper.segmentsToTextStyles;
130
142
  }
131
143
  });
144
+ Object.defineProperty(exports, "serializeSegments", {
145
+ enumerable: true,
146
+ get: function () {
147
+ return _serializer.serializeSegments;
148
+ }
149
+ });
132
150
  Object.defineProperty(exports, "setHeadingOnLine", {
133
151
  enumerable: true,
134
152
  get: function () {
@@ -182,5 +200,6 @@ var _RichTextContext = require("./context/RichTextContext");
182
200
  var _parser = require("./utils/parser");
183
201
  var _formatter = require("./utils/formatter");
184
202
  var _styleMapper = require("./utils/styleMapper");
203
+ var _serializer = require("./utils/serializer");
185
204
  var _defaultStyles = require("./constants/defaultStyles");
186
205
  //# sourceMappingURL=index.d.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_RichTextInput","require","_OverlayText","_Toolbar","_ToolbarButton","_useRichText","_useSelection","_useFormatting","_RichTextContext","_parser","_formatter","_styleMapper","_defaultStyles"],"sourceRoot":"../../src","sources":["index.d.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AAEA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_RichTextInput","require","_OverlayText","_Toolbar","_ToolbarButton","_useRichText","_useSelection","_useFormatting","_RichTextContext","_parser","_formatter","_styleMapper","_serializer","_defaultStyles"],"sourceRoot":"../../src","sources":["index.d.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AAEA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,cAAA,GAAAZ,OAAA","ignoreList":[]}
@@ -117,6 +117,18 @@ Object.defineProperty(exports, "segmentToTextStyle", {
117
117
  return _styleMapper.segmentToTextStyle;
118
118
  }
119
119
  });
120
+ Object.defineProperty(exports, "segmentsToHTML", {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _serializer.segmentsToHTML;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, "segmentsToMarkdown", {
127
+ enumerable: true,
128
+ get: function () {
129
+ return _serializer.segmentsToMarkdown;
130
+ }
131
+ });
120
132
  Object.defineProperty(exports, "segmentsToPlainText", {
121
133
  enumerable: true,
122
134
  get: function () {
@@ -129,6 +141,12 @@ Object.defineProperty(exports, "segmentsToTextStyles", {
129
141
  return _styleMapper.segmentsToTextStyles;
130
142
  }
131
143
  });
144
+ Object.defineProperty(exports, "serializeSegments", {
145
+ enumerable: true,
146
+ get: function () {
147
+ return _serializer.serializeSegments;
148
+ }
149
+ });
132
150
  Object.defineProperty(exports, "setHeadingOnLine", {
133
151
  enumerable: true,
134
152
  get: function () {
@@ -182,5 +200,6 @@ var _RichTextContext = require("./context/RichTextContext");
182
200
  var _parser = require("./utils/parser");
183
201
  var _formatter = require("./utils/formatter");
184
202
  var _styleMapper = require("./utils/styleMapper");
203
+ var _serializer = require("./utils/serializer");
185
204
  var _defaultStyles = require("./constants/defaultStyles");
186
205
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_RichTextInput","require","_OverlayText","_Toolbar","_ToolbarButton","_useRichText","_useSelection","_useFormatting","_RichTextContext","_parser","_formatter","_styleMapper","_defaultStyles"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAGA,IAAAI,YAAA,GAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAGA,IAAAO,gBAAA,GAAAP,OAAA;AAOA,IAAAQ,OAAA,GAAAR,OAAA;AAOA,IAAAS,UAAA,GAAAT,OAAA;AAOA,IAAAU,YAAA,GAAAV,OAAA;AAOA,IAAAW,cAAA,GAAAX,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_RichTextInput","require","_OverlayText","_Toolbar","_ToolbarButton","_useRichText","_useSelection","_useFormatting","_RichTextContext","_parser","_formatter","_styleMapper","_serializer","_defaultStyles"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAGA,IAAAI,YAAA,GAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAGA,IAAAO,gBAAA,GAAAP,OAAA;AAOA,IAAAQ,OAAA,GAAAR,OAAA;AAOA,IAAAS,UAAA,GAAAT,OAAA;AAOA,IAAAU,YAAA,GAAAV,OAAA;AAKA,IAAAW,WAAA,GAAAX,OAAA;AAOA,IAAAY,cAAA,GAAAZ,OAAA","ignoreList":[]}