@multiplatform.one/rich-text 6.3.0 → 6.4.0

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 (168) hide show
  1. package/dist/cjs/RichEditor.cjs +5 -0
  2. package/dist/cjs/RichEditor.native.js +22 -0
  3. package/dist/cjs/RichEditor.native.js.map +1 -1
  4. package/dist/cjs/RichTextEditor/index.cjs +2 -0
  5. package/dist/cjs/RichTextEditor/index.native.js +2 -0
  6. package/dist/cjs/RichTextEditor/index.native.js.map +1 -1
  7. package/dist/cjs/editor/SlashCommands.cjs +8 -1
  8. package/dist/cjs/editor/SlashCommands.native.js +14 -1
  9. package/dist/cjs/editor/SlashCommands.native.js.map +1 -1
  10. package/dist/cjs/editor/TentapEditor.native.js +15 -0
  11. package/dist/cjs/editor/TentapEditor.native.js.map +1 -1
  12. package/dist/cjs/editor/TiptapEditor.cjs +26 -230
  13. package/dist/cjs/editor/TiptapEditor.native.js +34 -280
  14. package/dist/cjs/editor/TiptapEditor.native.js.map +1 -1
  15. package/dist/cjs/editor/capabilities.cjs +37 -0
  16. package/dist/cjs/editor/capabilities.native.js +41 -0
  17. package/dist/cjs/editor/capabilities.native.js.map +1 -0
  18. package/dist/cjs/editor/extensions.cjs +275 -0
  19. package/dist/cjs/editor/extensions.native.js +328 -0
  20. package/dist/cjs/editor/extensions.native.js.map +1 -0
  21. package/dist/cjs/index.cjs +5 -2
  22. package/dist/cjs/index.native.js +4 -1
  23. package/dist/cjs/index.native.js.map +1 -1
  24. package/dist/cjs/toolbar/BubbleToolbar.cjs +9 -6
  25. package/dist/cjs/toolbar/BubbleToolbar.native.js +12 -7
  26. package/dist/cjs/toolbar/BubbleToolbar.native.js.map +1 -1
  27. package/dist/cjs/toolbar/FixedToolbar.cjs +6 -3
  28. package/dist/cjs/toolbar/MoreDropdown.cjs +17 -9
  29. package/dist/cjs/toolbar/MoreDropdown.native.js +21 -9
  30. package/dist/cjs/toolbar/MoreDropdown.native.js.map +1 -1
  31. package/dist/cjs/toolbar/TableBubble.cjs +15 -2
  32. package/dist/cjs/toolbar/TableBubble.native.js +17 -2
  33. package/dist/cjs/toolbar/TableBubble.native.js.map +1 -1
  34. package/dist/cjs/types.native.js.map +1 -1
  35. package/dist/esm/RichEditor.mjs +5 -0
  36. package/dist/esm/RichEditor.mjs.map +1 -1
  37. package/dist/esm/RichEditor.native.js +22 -0
  38. package/dist/esm/RichEditor.native.js.map +1 -1
  39. package/dist/esm/RichTextEditor/index.mjs +2 -0
  40. package/dist/esm/RichTextEditor/index.mjs.map +1 -1
  41. package/dist/esm/RichTextEditor/index.native.js +2 -0
  42. package/dist/esm/RichTextEditor/index.native.js.map +1 -1
  43. package/dist/esm/editor/SlashCommands.mjs +8 -1
  44. package/dist/esm/editor/SlashCommands.mjs.map +1 -1
  45. package/dist/esm/editor/SlashCommands.native.js +14 -1
  46. package/dist/esm/editor/SlashCommands.native.js.map +1 -1
  47. package/dist/esm/editor/TentapEditor.native.js +15 -0
  48. package/dist/esm/editor/TentapEditor.native.js.map +1 -1
  49. package/dist/esm/editor/TiptapEditor.mjs +28 -221
  50. package/dist/esm/editor/TiptapEditor.mjs.map +1 -1
  51. package/dist/esm/editor/TiptapEditor.native.js +36 -271
  52. package/dist/esm/editor/TiptapEditor.native.js.map +1 -1
  53. package/dist/esm/editor/capabilities.mjs +10 -0
  54. package/dist/esm/editor/capabilities.mjs.map +1 -0
  55. package/dist/esm/editor/capabilities.native.js +11 -0
  56. package/dist/esm/editor/capabilities.native.js.map +1 -0
  57. package/dist/esm/editor/extensions.mjs +236 -0
  58. package/dist/esm/editor/extensions.mjs.map +1 -0
  59. package/dist/esm/editor/extensions.native.js +286 -0
  60. package/dist/esm/editor/extensions.native.js.map +1 -0
  61. package/dist/esm/index.mjs +2 -1
  62. package/dist/esm/index.mjs.map +1 -1
  63. package/dist/esm/index.native.js +2 -1
  64. package/dist/esm/index.native.js.map +1 -1
  65. package/dist/esm/toolbar/BubbleToolbar.mjs +9 -6
  66. package/dist/esm/toolbar/BubbleToolbar.mjs.map +1 -1
  67. package/dist/esm/toolbar/BubbleToolbar.native.js +12 -7
  68. package/dist/esm/toolbar/BubbleToolbar.native.js.map +1 -1
  69. package/dist/esm/toolbar/FixedToolbar.mjs +6 -3
  70. package/dist/esm/toolbar/FixedToolbar.mjs.map +1 -1
  71. package/dist/esm/toolbar/MoreDropdown.mjs +17 -9
  72. package/dist/esm/toolbar/MoreDropdown.mjs.map +1 -1
  73. package/dist/esm/toolbar/MoreDropdown.native.js +21 -9
  74. package/dist/esm/toolbar/MoreDropdown.native.js.map +1 -1
  75. package/dist/esm/toolbar/TableBubble.mjs +15 -2
  76. package/dist/esm/toolbar/TableBubble.mjs.map +1 -1
  77. package/dist/esm/toolbar/TableBubble.native.js +17 -2
  78. package/dist/esm/toolbar/TableBubble.native.js.map +1 -1
  79. package/dist/esm/types.mjs.map +1 -1
  80. package/dist/esm/types.native.js.map +1 -1
  81. package/dist/jsx/RichEditor.mjs +5 -0
  82. package/dist/jsx/RichEditor.mjs.map +1 -1
  83. package/dist/jsx/RichEditor.native.js +22 -0
  84. package/dist/jsx/RichEditor.native.js.map +1 -1
  85. package/dist/jsx/RichTextEditor/index.mjs +2 -0
  86. package/dist/jsx/RichTextEditor/index.mjs.map +1 -1
  87. package/dist/jsx/RichTextEditor/index.native.js +2 -0
  88. package/dist/jsx/RichTextEditor/index.native.js.map +1 -1
  89. package/dist/jsx/editor/SlashCommands.mjs +8 -1
  90. package/dist/jsx/editor/SlashCommands.mjs.map +1 -1
  91. package/dist/jsx/editor/SlashCommands.native.js +14 -1
  92. package/dist/jsx/editor/SlashCommands.native.js.map +1 -1
  93. package/dist/jsx/editor/TentapEditor.native.js +15 -0
  94. package/dist/jsx/editor/TentapEditor.native.js.map +1 -1
  95. package/dist/jsx/editor/TiptapEditor.mjs +28 -221
  96. package/dist/jsx/editor/TiptapEditor.mjs.map +1 -1
  97. package/dist/jsx/editor/TiptapEditor.native.js +34 -280
  98. package/dist/jsx/editor/TiptapEditor.native.js.map +1 -1
  99. package/dist/jsx/editor/capabilities.mjs +10 -0
  100. package/dist/jsx/editor/capabilities.mjs.map +1 -0
  101. package/dist/jsx/editor/capabilities.native.js +41 -0
  102. package/dist/jsx/editor/capabilities.native.js.map +1 -0
  103. package/dist/jsx/editor/extensions.mjs +236 -0
  104. package/dist/jsx/editor/extensions.mjs.map +1 -0
  105. package/dist/jsx/editor/extensions.native.js +328 -0
  106. package/dist/jsx/editor/extensions.native.js.map +1 -0
  107. package/dist/jsx/index.js +2 -1
  108. package/dist/jsx/index.js.map +1 -1
  109. package/dist/jsx/index.mjs +2 -1
  110. package/dist/jsx/index.mjs.map +1 -1
  111. package/dist/jsx/index.native.js +4 -1
  112. package/dist/jsx/index.native.js.map +1 -1
  113. package/dist/jsx/toolbar/BubbleToolbar.mjs +9 -6
  114. package/dist/jsx/toolbar/BubbleToolbar.mjs.map +1 -1
  115. package/dist/jsx/toolbar/BubbleToolbar.native.js +12 -7
  116. package/dist/jsx/toolbar/BubbleToolbar.native.js.map +1 -1
  117. package/dist/jsx/toolbar/FixedToolbar.mjs +6 -3
  118. package/dist/jsx/toolbar/FixedToolbar.mjs.map +1 -1
  119. package/dist/jsx/toolbar/MoreDropdown.mjs +17 -9
  120. package/dist/jsx/toolbar/MoreDropdown.mjs.map +1 -1
  121. package/dist/jsx/toolbar/MoreDropdown.native.js +21 -9
  122. package/dist/jsx/toolbar/MoreDropdown.native.js.map +1 -1
  123. package/dist/jsx/toolbar/TableBubble.mjs +15 -2
  124. package/dist/jsx/toolbar/TableBubble.mjs.map +1 -1
  125. package/dist/jsx/toolbar/TableBubble.native.js +17 -2
  126. package/dist/jsx/toolbar/TableBubble.native.js.map +1 -1
  127. package/dist/jsx/types.mjs.map +1 -1
  128. package/dist/jsx/types.native.js.map +1 -1
  129. package/package.json +8 -8
  130. package/src/RichEditor.native.tsx +20 -0
  131. package/src/RichEditor.stories.tsx +32 -0
  132. package/src/RichEditor.tsx +5 -0
  133. package/src/RichTextEditor/index.tsx +14 -1
  134. package/src/editor/SlashCommands.tsx +10 -0
  135. package/src/editor/TentapEditor.native.tsx +13 -0
  136. package/src/editor/TiptapEditor.tsx +51 -279
  137. package/src/editor/capabilities.spec.ts +190 -0
  138. package/src/editor/capabilities.ts +76 -0
  139. package/src/editor/extensions.ts +315 -0
  140. package/src/index.ts +3 -0
  141. package/src/toolbar/BubbleToolbar.tsx +40 -28
  142. package/src/toolbar/FixedToolbar.tsx +20 -12
  143. package/src/toolbar/MoreDropdown.tsx +30 -6
  144. package/src/toolbar/TableBubble.tsx +65 -12
  145. package/src/types.ts +28 -1
  146. package/types/RichEditor.d.ts.map +1 -1
  147. package/types/RichEditor.native.d.ts.map +1 -1
  148. package/types/RichTextEditor/index.d.ts +7 -1
  149. package/types/RichTextEditor/index.d.ts.map +1 -1
  150. package/types/editor/SlashCommands.d.ts.map +1 -1
  151. package/types/editor/TentapEditor.native.d.ts.map +1 -1
  152. package/types/editor/TiptapEditor.d.ts.map +1 -1
  153. package/types/editor/capabilities.d.ts +29 -0
  154. package/types/editor/capabilities.d.ts.map +1 -0
  155. package/types/editor/extensions.d.ts +41 -0
  156. package/types/editor/extensions.d.ts.map +1 -0
  157. package/types/index.d.ts +2 -1
  158. package/types/index.d.ts.map +1 -1
  159. package/types/toolbar/BubbleToolbar.d.ts +4 -2
  160. package/types/toolbar/BubbleToolbar.d.ts.map +1 -1
  161. package/types/toolbar/FixedToolbar.d.ts +4 -2
  162. package/types/toolbar/FixedToolbar.d.ts.map +1 -1
  163. package/types/toolbar/MoreDropdown.d.ts +4 -2
  164. package/types/toolbar/MoreDropdown.d.ts.map +1 -1
  165. package/types/toolbar/TableBubble.d.ts +4 -1
  166. package/types/toolbar/TableBubble.d.ts.map +1 -1
  167. package/types/types.d.ts +23 -1
  168. package/types/types.d.ts.map +1 -1
@@ -38,6 +38,7 @@ var import_blockAnchor = require("../editor/blockAnchor.native.js");
38
38
  var import_ToolbarButton = require("./ToolbarButton.native.js");
39
39
  var import_t = require("../shared/t.native.js");
40
40
  var ROW_ACTIONS = [{
41
+ id: "addRowBefore",
41
42
  label: function label() {
42
43
  return (0, import_t.t)("Add row above");
43
44
  },
@@ -45,6 +46,7 @@ var ROW_ACTIONS = [{
45
46
  return e.chain().focus().addRowBefore().run();
46
47
  }
47
48
  }, {
49
+ id: "addRowAfter",
48
50
  label: function label2() {
49
51
  return (0, import_t.t)("Add row below");
50
52
  },
@@ -52,6 +54,7 @@ var ROW_ACTIONS = [{
52
54
  return e.chain().focus().addRowAfter().run();
53
55
  }
54
56
  }, {
57
+ id: "deleteRow",
55
58
  label: function label3() {
56
59
  return (0, import_t.t)("Delete row");
57
60
  },
@@ -60,6 +63,7 @@ var ROW_ACTIONS = [{
60
63
  }
61
64
  }];
62
65
  var COL_ACTIONS = [{
66
+ id: "addColumnBefore",
63
67
  label: function label4() {
64
68
  return (0, import_t.t)("Add column before");
65
69
  },
@@ -67,6 +71,7 @@ var COL_ACTIONS = [{
67
71
  return e.chain().focus().addColumnBefore().run();
68
72
  }
69
73
  }, {
74
+ id: "addColumnAfter",
70
75
  label: function label5() {
71
76
  return (0, import_t.t)("Add column after");
72
77
  },
@@ -74,6 +79,7 @@ var COL_ACTIONS = [{
74
79
  return e.chain().focus().addColumnAfter().run();
75
80
  }
76
81
  }, {
82
+ id: "deleteColumn",
77
83
  label: function label6() {
78
84
  return (0, import_t.t)("Delete column");
79
85
  },
@@ -82,6 +88,7 @@ var COL_ACTIONS = [{
82
88
  }
83
89
  }];
84
90
  var TABLE_ACTIONS = [{
91
+ id: "toggleHeaderRow",
85
92
  label: function label7() {
86
93
  return (0, import_t.t)("Toggle header row");
87
94
  },
@@ -89,6 +96,7 @@ var TABLE_ACTIONS = [{
89
96
  return e.chain().focus().toggleHeaderRow().run();
90
97
  }
91
98
  }, {
99
+ id: "mergeCells",
92
100
  label: function label8() {
93
101
  return (0, import_t.t)("Merge cells");
94
102
  },
@@ -96,6 +104,7 @@ var TABLE_ACTIONS = [{
96
104
  return e.chain().focus().mergeCells().run();
97
105
  }
98
106
  }, {
107
+ id: "splitCell",
99
108
  label: function label9() {
100
109
  return (0, import_t.t)("Split cell");
101
110
  },
@@ -103,6 +112,7 @@ var TABLE_ACTIONS = [{
103
112
  return e.chain().focus().splitCell().run();
104
113
  }
105
114
  }, {
115
+ id: "deleteTable",
106
116
  label: function label10() {
107
117
  return (0, import_t.t)("Delete table");
108
118
  },
@@ -110,14 +120,19 @@ var TABLE_ACTIONS = [{
110
120
  return e.chain().focus().deleteTable().run();
111
121
  }
112
122
  }];
123
+ var MARKDOWN_EXCLUDED_TABLE_ACTIONS = /* @__PURE__ */new Set(["mergeCells", "splitCell"]);
113
124
  function TableBubble(param) {
114
125
  var {
115
- editor
126
+ editor,
127
+ capabilities = "full"
116
128
  } = param;
117
129
  var {
118
130
  knobProps
119
131
  } = (0, import_theme.useResolvedKnobs)();
120
132
  var [menuOpen, setMenuOpen] = (0, import_react.useState)(false);
133
+ var tableActions = capabilities === "markdown" ? TABLE_ACTIONS.filter(function (a) {
134
+ return !MARKDOWN_EXCLUDED_TABLE_ACTIONS.has(a.id);
135
+ }) : TABLE_ACTIONS;
121
136
  if (!editor) return null;
122
137
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_menus.BubbleMenu, {
123
138
  editor,
@@ -243,7 +258,7 @@ function TableBubble(param) {
243
258
  height: 1,
244
259
  marginHorizontal: 0
245
260
  })
246
- }), TABLE_ACTIONS.map(function (a) {
261
+ }), tableActions.map(function (a) {
247
262
  var label11 = a.label();
248
263
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_styled.DropdownMenuItemFrame, {
249
264
  onPress: function onPress() {
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","TableBubble_exports","TableBubble","module","exports","import_jsx_runtime","require","import_react","import_menus","import_theme","import_react2","import_tamagui","import_styled","import_blockAnchor","import_ToolbarButton","import_t","ROW_ACTIONS","label","t","action","e","chain","focus","addRowBefore","run","label2","action2","addRowAfter","label3","action3","deleteRow","COL_ACTIONS","label4","action4","addColumnBefore","label5","action5","addColumnAfter","label6","action6","deleteColumn","TABLE_ACTIONS","label7","action7","toggleHeaderRow","label8","action8","mergeCells","label9","action9","splitCell","label10","action10","deleteTable","param","editor","knobProps","useResolvedKnobs","menuOpen","setMenuOpen","useState","jsx","BubbleMenu","className","shouldShow","param2","isActive","getReferencedVirtualElement","getBlockVirtualElement","options","placement","offset","children","jsxs","XStack","backgroundColor","borderWidth","borderColor","borderRadius","padding","gap","alignItems","elevation","ToolbarButton","onPress","tooltip","RowsPlusBottomIcon","size","ColumnsPlusRightIcon","Popover"],"sources":["../../../src/toolbar/TableBubble.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","TableBubble_exports","TableBubble","module","exports","import_jsx_runtime","require","import_react","import_menus","import_theme","import_react2","import_tamagui","import_styled","import_blockAnchor","import_ToolbarButton","import_t","ROW_ACTIONS","id","label","t","action","e","chain","focus","addRowBefore","run","label2","action2","addRowAfter","label3","action3","deleteRow","COL_ACTIONS","label4","action4","addColumnBefore","label5","action5","addColumnAfter","label6","action6","deleteColumn","TABLE_ACTIONS","label7","action7","toggleHeaderRow","label8","action8","mergeCells","label9","action9","splitCell","label10","action10","deleteTable","MARKDOWN_EXCLUDED_TABLE_ACTIONS","Set","param","editor","capabilities","knobProps","useResolvedKnobs","menuOpen","setMenuOpen","useState","tableActions","filter","a","has","jsx","BubbleMenu","className","shouldShow","param2","isActive","getReferencedVirtualElement","getBlockVirtualElement","options","placement","offset","children","jsxs","XStack","backgroundColor","borderWidth","borderColor","borderRadius","padding","gap","alignItems","elevation","ToolbarButton","onPress","tooltip","RowsPlusBottomIcon","size","ColumnsPlusRightIcon","Popover","open","onOpenChange","Trigger","asChild","ToolbarDropdownButton","Text","fontSize","Content","overflow"],"sources":["../../../src/toolbar/TableBubble.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["defaultEditorState","isBold","isItalic","isUnderline","isStrike","isCode","isSubscript","isSuperscript","isHeading1","isHeading2","isHeading3","isHeading4","isHeading5","isHeading6","isParagraph","isBulletList","isOrderedList","isTaskList","isBlockquote","isCodeBlock","isLink","canUndo","canRedo","textAlign","textColor","highlightColor","wordCount","characterCount"],"sources":["../../src/types.ts"],"sourcesContent":[null],"mappings":"AA8GO,MAAMA,kBAAA,GAAkC;EAC7CC,MAAA,EAAQ;EACRC,QAAA,EAAU;EACVC,WAAA,EAAa;EACbC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,WAAA,EAAa;EACbC,aAAA,EAAe;EACfC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,WAAA,EAAa;EACbC,YAAA,EAAc;EACdC,aAAA,EAAe;EACfC,UAAA,EAAY;EACZC,YAAA,EAAc;EACdC,WAAA,EAAa;EACbC,MAAA,EAAQ;EACRC,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,SAAA,EAAW;EACXC,SAAA,EAAW;EACXC,cAAA,EAAgB;EAChBC,SAAA,EAAW;EACXC,cAAA,EAAgB;AAClB","ignoreList":[]}
1
+ {"version":3,"names":["defaultEditorState","isBold","isItalic","isUnderline","isStrike","isCode","isSubscript","isSuperscript","isHeading1","isHeading2","isHeading3","isHeading4","isHeading5","isHeading6","isParagraph","isBulletList","isOrderedList","isTaskList","isBlockquote","isCodeBlock","isLink","canUndo","canRedo","textAlign","textColor","highlightColor","wordCount","characterCount"],"sources":["../../src/types.ts"],"sourcesContent":[null],"mappings":"AA8HO,MAAMA,kBAAA,GAAkC;EAC7CC,MAAA,EAAQ;EACRC,QAAA,EAAU;EACVC,WAAA,EAAa;EACbC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,WAAA,EAAa;EACbC,aAAA,EAAe;EACfC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,WAAA,EAAa;EACbC,YAAA,EAAc;EACdC,aAAA,EAAe;EACfC,UAAA,EAAY;EACZC,YAAA,EAAc;EACdC,WAAA,EAAa;EACbC,MAAA,EAAQ;EACRC,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,SAAA,EAAW;EACXC,SAAA,EAAW;EACXC,cAAA,EAAgB;EAChBC,SAAA,EAAW;EACXC,cAAA,EAAgB;AAClB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","types_exports","defaultEditorState","module","exports","isBold","isItalic","isUnderline","isStrike","isCode"],"sources":["../../src/types.ts"],"sourcesContent":[null],"mappings":"AA8GO,YAAM;;AAAkC,IAC7CA,SAAQ,GAAAC,MAAA,CAAAC,cAAA;AAAA,IACRC,gBAAU,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACVC,iBAAa,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACbC,YAAU,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IACVC,QAAQ,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACR,SAAAC,IAAa,IAAAD,GAAA,EACbZ,SAAA,CAAAW,MAAe,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AACH,IACZC,WAAY,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACZ,IAAAF,IAAA,IAAY,OAAAA,IAAA,wBAAAA,IAAA;IACZ,SAAAG,GAAY,IAAAhB,iBAAA,CAAAa,IAAA,GACZ,KAAAX,YAAY,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACZnB,SAAY,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACZ;EACA,OAAAE,EAAA;AAAc;AACC,IACfM,YAAY,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IACZE,aAAc;AAAAhB,QACd,CAAAgB,aAAa;EACbC,kBAAQ,EAAAA,CAAA,KAAAA;AAAA,EACR;AAASC,MACT,CAAAC,OAAS,GAAAN,YAAA,CAAAG,aAAA;AAAA,IACTC,kBAAW;EACXG,MAAA,OAAW;EACXC,QAAA;EACAC,WAAW;EACXC,QAAA;EACFC,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","types_exports","defaultEditorState","module","exports","isBold","isItalic","isUnderline","isStrike","isCode"],"sources":["../../src/types.ts"],"sourcesContent":[null],"mappings":"AA8HO,YAAM;;AAAkC,IAC7CA,SAAQ,GAAAC,MAAA,CAAAC,cAAA;AAAA,IACRC,gBAAU,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACVC,iBAAa,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACbC,YAAU,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IACVC,QAAQ,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACR,SAAAC,IAAa,IAAAD,GAAA,EACbZ,SAAA,CAAAW,MAAe,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AACH,IACZC,WAAY,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACZ,IAAAF,IAAA,IAAY,OAAAA,IAAA,wBAAAA,IAAA;IACZ,SAAAG,GAAY,IAAAhB,iBAAA,CAAAa,IAAA,GACZ,KAAAX,YAAY,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACZnB,SAAY,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACZ;EACA,OAAAE,EAAA;AAAc;AACC,IACfM,YAAY,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IACZE,aAAc;AAAAhB,QACd,CAAAgB,aAAa;EACbC,kBAAQ,EAAAA,CAAA,KAAAA;AAAA,EACR;AAASC,MACT,CAAAC,OAAS,GAAAN,YAAA,CAAAG,aAAA;AAAA,IACTC,kBAAW;EACXG,MAAA,OAAW;EACXC,QAAA;EACAC,WAAW;EACXC,QAAA;EACFC,MAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/rich-text",
3
- "version": "6.3.0",
3
+ "version": "6.4.0",
4
4
  "description": "Cross-platform rich text editor with markdown support and syntax highlighting",
5
5
  "keywords": [
6
6
  "cross-platform",
@@ -93,10 +93,10 @@
93
93
  "marked": "^17.0.6",
94
94
  "tamagui": "2.0.0-rc.41",
95
95
  "turndown": "^7.2.4",
96
- "@multiplatform.one/markdown": "6.3.0",
97
- "@multiplatform.one/forms": "6.3.0",
98
- "@multiplatform.one/theme": "6.3.0",
99
- "@multiplatform.one/components": "6.3.0"
96
+ "@multiplatform.one/components": "6.4.0",
97
+ "@multiplatform.one/forms": "6.4.0",
98
+ "@multiplatform.one/theme": "6.4.0",
99
+ "@multiplatform.one/markdown": "6.4.0"
100
100
  },
101
101
  "devDependencies": {
102
102
  "@tamagui/build": "2.0.0-rc.41",
@@ -109,9 +109,9 @@
109
109
  "react": "19.2.5",
110
110
  "react-dom": "19.2.5",
111
111
  "vitest": "^4.1.5",
112
- "@multiplatform.one/test-utils": "6.3.0",
113
- "@multiplatform.one/config": "6.3.0",
114
- "@multiplatform.one/storybook": "6.3.0"
112
+ "@multiplatform.one/config": "6.4.0",
113
+ "@multiplatform.one/test-utils": "6.4.0",
114
+ "@multiplatform.one/storybook": "6.4.0"
115
115
  },
116
116
  "peerDependencies": {
117
117
  "i18next": "^25.0.0",
@@ -43,6 +43,7 @@ import { EditorFrame } from "./styled";
43
43
  import { FixedToolbar } from "./toolbar/FixedToolbar";
44
44
  import type { PreviewBlock } from "./preview";
45
45
  import { parseHtmlPreview } from "./preview";
46
+ import { htmlToMarkdown, markdownToHtml } from "./editor/markdown";
46
47
  import { t } from "./shared/t";
47
48
 
48
49
  // ===========================================================================
@@ -319,6 +320,25 @@ const RichEditorImpl = forwardRef<RichEditorRef, RichEditorCombinedProps>(
319
320
  internalRef.current
320
321
  ? (internalRef.current.getJSON() ?? committedRef.current.json)
321
322
  : committedRef.current.json,
323
+ // Native markdown serialization is best-effort (turndown needs a
324
+ // DOM): the editor delegates and returns "" when unavailable.
325
+ getMarkdown: () => {
326
+ if (internalRef.current) return internalRef.current.getMarkdown();
327
+ try {
328
+ return htmlToMarkdown(committedRef.current.html);
329
+ } catch (err) {
330
+ console.warn("[RichEditor] getMarkdown unavailable on native:", err);
331
+ return "";
332
+ }
333
+ },
334
+ setMarkdown: (markdown: string) => {
335
+ const html = markdownToHtml(markdown);
336
+ if (internalRef.current) internalRef.current.setHTML(html);
337
+ else {
338
+ committedRef.current = { html, json: null };
339
+ setCommitted(committedRef.current);
340
+ }
341
+ },
322
342
  setHTML: (html: string) => {
323
343
  if (internalRef.current) internalRef.current.setHTML(html);
324
344
  else {
@@ -450,6 +450,38 @@ export const WithDetails: Story = {
450
450
  },
451
451
  };
452
452
 
453
+ // ---------------------------------------------------------------------------
454
+ // MarkdownMode (capabilities="markdown" — GFM-expressible surface only)
455
+ // ---------------------------------------------------------------------------
456
+
457
+ export const MarkdownMode: Story = {
458
+ render: () => {
459
+ const [markdown, setMarkdown] = useState(
460
+ "# Markdown mode\n\nWYSIWYG editing constrained to **GFM**: no highlight, underline, color, or alignment.\n\n- [ ] Task lists work\n- Bullet lists too\n\n> Blockquotes and `inline code` round-trip.",
461
+ );
462
+
463
+ return (
464
+ <YStack gap="$4">
465
+ <RichEditor
466
+ capabilities="markdown"
467
+ initialContent={markdown}
468
+ onChange={(md) => setMarkdown(md)}
469
+ minHeight={240}
470
+ showBubbleToolbar
471
+ />
472
+ <YStack backgroundColor="$color3" padding="$3" borderRadius="$3" maxHeight={200}>
473
+ <Text color="$color10" fontSize="$2">
474
+ Serialized markdown (onChange):
475
+ </Text>
476
+ <Paragraph size="$1" fontFamily="$mono" whiteSpace="pre-wrap">
477
+ {markdown}
478
+ </Paragraph>
479
+ </YStack>
480
+ </YStack>
481
+ );
482
+ },
483
+ };
484
+
453
485
  // ---------------------------------------------------------------------------
454
486
  // WithUploadHooks (prop-driven image/file upload)
455
487
  // ---------------------------------------------------------------------------
@@ -89,6 +89,7 @@ const RichEditorImpl = forwardRef<RichEditorRef, RichEditorCombinedProps>(
89
89
  resizable = true,
90
90
  showStatusBar = true,
91
91
  sections,
92
+ capabilities = "full",
92
93
  hasError,
93
94
  editable = true,
94
95
  onStateChange,
@@ -204,8 +205,10 @@ const RichEditorImpl = forwardRef<RichEditorRef, RichEditorCombinedProps>(
204
205
  getState: () => internalRef.current?.getState() ?? defaultEditorState,
205
206
  getHTML: () => internalRef.current?.getHTML() ?? "",
206
207
  getJSON: () => internalRef.current?.getJSON() ?? null,
208
+ getMarkdown: () => internalRef.current?.getMarkdown() ?? "",
207
209
  setHTML: (html) => internalRef.current?.setHTML(html),
208
210
  setJSON: (json) => internalRef.current?.setJSON(json),
211
+ setMarkdown: (markdown) => internalRef.current?.setMarkdown(markdown),
209
212
  focus: () => internalRef.current?.focus(),
210
213
  blur: () => internalRef.current?.blur(),
211
214
  }),
@@ -251,6 +254,7 @@ const RichEditorImpl = forwardRef<RichEditorRef, RichEditorCombinedProps>(
251
254
  editorRef={internalRef}
252
255
  state={editorState}
253
256
  sections={sections}
257
+ capabilities={capabilities}
254
258
  hasError={hasError}
255
259
  fullscreen={fullscreen}
256
260
  onFullscreenToggle={() => handleFullscreenChange(!fullscreen)}
@@ -261,6 +265,7 @@ const RichEditorImpl = forwardRef<RichEditorRef, RichEditorCombinedProps>(
261
265
  <TiptapEditor
262
266
  ref={internalRef}
263
267
  {...editorProps}
268
+ capabilities={capabilities}
264
269
  editable={editable}
265
270
  onStateChange={handleStateChange}
266
271
  hasError={false}
@@ -27,7 +27,12 @@ import {
27
27
  type FieldComponentProps,
28
28
  type Validator,
29
29
  } from "@multiplatform.one/forms";
30
- import type { RichEditorRef, RichTextMentionOptions, ToolbarSection } from "../types";
30
+ import type {
31
+ EditorCapabilities,
32
+ RichEditorRef,
33
+ RichTextMentionOptions,
34
+ ToolbarSection,
35
+ } from "../types";
31
36
  import { RichEditor } from "../RichEditor";
32
37
  import { t } from "../shared/t";
33
38
 
@@ -84,6 +89,12 @@ export type RichTextEditorProps<
84
89
  showBubbleToolbar?: boolean;
85
90
  /** Toolbar sections to display (shows all when omitted) */
86
91
  sections?: ToolbarSection[];
92
+ /**
93
+ * Capability surface (default "full"). "markdown" constrains the editor
94
+ * to markdown-expressible features and makes value/onChange markdown
95
+ * strings instead of HTML.
96
+ */
97
+ capabilities?: EditorCapabilities;
87
98
  /** When true, renders a skeleton placeholder instead of the editor */
88
99
  skeleton?: boolean;
89
100
  /** Controlled fullscreen state (web; uncontrolled when omitted) */
@@ -147,6 +158,7 @@ export function RichTextEditor<
147
158
  compact = false,
148
159
  showBubbleToolbar = false,
149
160
  sections,
161
+ capabilities,
150
162
  skeleton,
151
163
  fullscreen,
152
164
  defaultFullscreen,
@@ -210,6 +222,7 @@ export function RichTextEditor<
210
222
  showToolbar={showToolbar}
211
223
  showBubbleToolbar={showBubbleToolbar}
212
224
  sections={sections}
225
+ capabilities={capabilities}
213
226
  hasError={hasError}
214
227
  size={size}
215
228
  compact={compact}
@@ -246,6 +246,11 @@ export const SlashCommands = Extension.create({
246
246
 
247
247
  addOptions() {
248
248
  return {
249
+ /**
250
+ * Item ids removed from the menu (capability gating — e.g. markdown
251
+ * capabilities exclude math/details, which GFM cannot express).
252
+ */
253
+ excludeIds: [] as string[],
249
254
  suggestion: {
250
255
  char: "/",
251
256
  startOfLine: false,
@@ -282,10 +287,15 @@ export const SlashCommands = Extension.create({
282
287
  },
283
288
 
284
289
  addProseMirrorPlugins() {
290
+ const excludeIds: string[] = this.options.excludeIds ?? [];
285
291
  return [
286
292
  Suggestion({
287
293
  editor: this.editor,
288
294
  ...this.options.suggestion,
295
+ items: (args: { query: string }) =>
296
+ this.options.suggestion
297
+ .items(args)
298
+ .filter((item: SlashCommandItem) => !excludeIds.includes(item.id)),
289
299
  }),
290
300
  ];
291
301
  },
@@ -42,6 +42,7 @@ import { RichEditorContext } from "../context";
42
42
  import { PALETTE_THEME_TOKENS } from "../constants";
43
43
  import { t } from "../shared/t";
44
44
  import { getEditorStateFromBridge } from "./useEditorState";
45
+ import { htmlToMarkdown, markdownToHtml } from "./markdown";
45
46
 
46
47
  function useNativeEditorDarkMode(): boolean {
47
48
  const themeName = useThemeName();
@@ -284,8 +285,20 @@ export const TentapEditor = forwardRef(
284
285
  getState: () => getEditorStateFromBridge(editor.getEditorState()),
285
286
  getHTML: () => cachedHtml.current,
286
287
  getJSON: () => cachedJson.current,
288
+ // Best-effort on native: turndown needs a DOM, which Hermes lacks —
289
+ // hosts needing markdown values on native should keep markdown
290
+ // source editing instead (documented fallback).
291
+ getMarkdown: () => {
292
+ try {
293
+ return htmlToMarkdown(cachedHtml.current);
294
+ } catch (err) {
295
+ console.warn("[TentapEditor] getMarkdown unavailable on native:", err);
296
+ return "";
297
+ }
298
+ },
287
299
  setHTML: (html: string) => editor.setContent(html),
288
300
  setJSON: (json: any) => editor.setContent(json),
301
+ setMarkdown: (markdown: string) => editor.setContent(markdownToHtml(markdown)),
289
302
  focus: () => editor.focus(),
290
303
  blur: () => editor.blur(),
291
304
  }),