@multiplatform.one/rich-text 6.1.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 (691) hide show
  1. package/README.md +60 -0
  2. package/dist/cjs/RichEditor.cjs +89 -9
  3. package/dist/cjs/RichEditor.native.js +444 -35
  4. package/dist/cjs/RichEditor.native.js.map +1 -1
  5. package/dist/cjs/RichTextEditor/index.cjs +20 -2
  6. package/dist/cjs/RichTextEditor/index.native.js +20 -2
  7. package/dist/cjs/RichTextEditor/index.native.js.map +1 -1
  8. package/dist/cjs/constants.cjs +52 -29
  9. package/dist/cjs/constants.native.js +59 -29
  10. package/dist/cjs/constants.native.js.map +1 -1
  11. package/dist/cjs/editor/BlockDragHandle.cjs +22 -7
  12. package/dist/cjs/editor/BlockDragHandle.native.js +41 -7
  13. package/dist/cjs/editor/BlockDragHandle.native.js.map +1 -1
  14. package/dist/cjs/editor/SlashCommands.cjs +257 -294
  15. package/dist/cjs/editor/SlashCommands.native.js +320 -341
  16. package/dist/cjs/editor/SlashCommands.native.js.map +1 -1
  17. package/dist/cjs/editor/TentapEditor.native.js +59 -12
  18. package/dist/cjs/editor/TentapEditor.native.js.map +1 -1
  19. package/dist/cjs/editor/TiptapEditor.cjs +143 -240
  20. package/dist/cjs/editor/TiptapEditor.native.js +163 -289
  21. package/dist/cjs/editor/TiptapEditor.native.js.map +1 -1
  22. package/dist/cjs/editor/blockAnchor.cjs +43 -0
  23. package/dist/cjs/editor/blockAnchor.native.js +68 -0
  24. package/dist/cjs/editor/blockAnchor.native.js.map +1 -0
  25. package/dist/cjs/editor/capabilities.cjs +37 -0
  26. package/dist/cjs/editor/capabilities.native.js +41 -0
  27. package/dist/cjs/editor/capabilities.native.js.map +1 -0
  28. package/dist/cjs/editor/codeBlockPreview.cjs +230 -0
  29. package/dist/cjs/editor/codeBlockPreview.native.js +265 -0
  30. package/dist/cjs/editor/codeBlockPreview.native.js.map +1 -0
  31. package/dist/cjs/editor/editorStyles.cjs +203 -34
  32. package/dist/cjs/editor/editorStyles.native.js +203 -34
  33. package/dist/cjs/editor/editorStyles.native.js.map +1 -1
  34. package/dist/cjs/editor/emoji.cjs +128 -0
  35. package/dist/cjs/editor/emoji.native.js +184 -0
  36. package/dist/cjs/editor/emoji.native.js.map +1 -0
  37. package/dist/cjs/editor/extensions.cjs +275 -0
  38. package/dist/cjs/editor/extensions.native.js +328 -0
  39. package/dist/cjs/editor/extensions.native.js.map +1 -0
  40. package/dist/cjs/editor/lazyKatex.cjs +78 -0
  41. package/dist/cjs/editor/lazyKatex.native.js +117 -0
  42. package/dist/cjs/editor/lazyKatex.native.js.map +1 -0
  43. package/dist/cjs/editor/markdown.cjs +216 -0
  44. package/dist/cjs/editor/markdown.native.js +278 -0
  45. package/dist/cjs/editor/markdown.native.js.map +1 -0
  46. package/dist/cjs/editor/mathematics.cjs +168 -0
  47. package/dist/cjs/editor/mathematics.native.js +202 -0
  48. package/dist/cjs/editor/mathematics.native.js.map +1 -0
  49. package/dist/cjs/editor/media.cjs +138 -0
  50. package/dist/cjs/editor/media.native.js +172 -0
  51. package/dist/cjs/editor/media.native.js.map +1 -0
  52. package/dist/cjs/editor/mentions.cjs +73 -0
  53. package/dist/cjs/editor/mentions.native.js +84 -0
  54. package/dist/cjs/editor/mentions.native.js.map +1 -0
  55. package/dist/cjs/editor/pasteCleanup.cjs +83 -0
  56. package/dist/cjs/editor/pasteCleanup.native.js +175 -0
  57. package/dist/cjs/editor/pasteCleanup.native.js.map +1 -0
  58. package/dist/cjs/editor/suggestionPopup.cjs +297 -0
  59. package/dist/cjs/editor/suggestionPopup.native.js +327 -0
  60. package/dist/cjs/editor/suggestionPopup.native.js.map +1 -0
  61. package/dist/cjs/index.cjs +5 -2
  62. package/dist/cjs/index.native.js +4 -1
  63. package/dist/cjs/index.native.js.map +1 -1
  64. package/dist/cjs/preview.cjs +263 -0
  65. package/dist/cjs/preview.native.js +294 -0
  66. package/dist/cjs/preview.native.js.map +1 -0
  67. package/dist/cjs/shared/t.cjs +53 -0
  68. package/dist/cjs/shared/t.native.js +56 -0
  69. package/dist/cjs/shared/t.native.js.map +1 -0
  70. package/dist/cjs/shared/url.cjs +35 -0
  71. package/dist/cjs/shared/url.native.js +38 -0
  72. package/dist/cjs/shared/url.native.js.map +1 -0
  73. package/dist/cjs/styled.cjs +13 -6
  74. package/dist/cjs/styled.native.js +13 -6
  75. package/dist/cjs/styled.native.js.map +1 -1
  76. package/dist/cjs/toolbar/BubbleToolbar.cjs +19 -14
  77. package/dist/cjs/toolbar/BubbleToolbar.native.js +22 -15
  78. package/dist/cjs/toolbar/BubbleToolbar.native.js.map +1 -1
  79. package/dist/cjs/toolbar/CodeBlockBubble.cjs +59 -23
  80. package/dist/cjs/toolbar/CodeBlockBubble.native.js +71 -25
  81. package/dist/cjs/toolbar/CodeBlockBubble.native.js.map +1 -1
  82. package/dist/cjs/toolbar/ColorPicker.cjs +19 -54
  83. package/dist/cjs/toolbar/ColorPicker.native.js +81 -179
  84. package/dist/cjs/toolbar/ColorPicker.native.js.map +1 -1
  85. package/dist/cjs/toolbar/FixedToolbar.cjs +39 -13
  86. package/dist/cjs/toolbar/FixedToolbar.native.js +46 -54
  87. package/dist/cjs/toolbar/FixedToolbar.native.js.map +1 -1
  88. package/dist/cjs/toolbar/HeadingPicker.cjs +32 -39
  89. package/dist/cjs/toolbar/HeadingPicker.native.js +61 -51
  90. package/dist/cjs/toolbar/HeadingPicker.native.js.map +1 -1
  91. package/dist/cjs/toolbar/ImageBubble.cjs +20 -43
  92. package/dist/cjs/toolbar/ImageBubble.native.js +20 -43
  93. package/dist/cjs/toolbar/ImageBubble.native.js.map +1 -1
  94. package/dist/cjs/toolbar/ImageDialog.cjs +5 -4
  95. package/dist/cjs/toolbar/ImageDialog.native.js +76 -65
  96. package/dist/cjs/toolbar/ImageDialog.native.js.map +1 -1
  97. package/dist/cjs/toolbar/LinkBubble.cjs +23 -70
  98. package/dist/cjs/toolbar/LinkBubble.native.js +23 -70
  99. package/dist/cjs/toolbar/LinkBubble.native.js.map +1 -1
  100. package/dist/cjs/toolbar/LinkDialog.cjs +19 -18
  101. package/dist/cjs/toolbar/LinkDialog.native.js +86 -83
  102. package/dist/cjs/toolbar/LinkDialog.native.js.map +1 -1
  103. package/dist/cjs/toolbar/ListPicker.cjs +32 -43
  104. package/dist/cjs/toolbar/ListPicker.native.js +43 -44
  105. package/dist/cjs/toolbar/ListPicker.native.js.map +1 -1
  106. package/dist/cjs/toolbar/MathBubble.cjs +159 -0
  107. package/dist/cjs/toolbar/MathBubble.native.js +169 -0
  108. package/dist/cjs/toolbar/MathBubble.native.js.map +1 -0
  109. package/dist/cjs/toolbar/MoreDropdown.cjs +54 -93
  110. package/dist/cjs/toolbar/MoreDropdown.native.js +80 -93
  111. package/dist/cjs/toolbar/MoreDropdown.native.js.map +1 -1
  112. package/dist/cjs/toolbar/StatusBar.cjs +19 -10
  113. package/dist/cjs/toolbar/StatusBar.native.js +19 -10
  114. package/dist/cjs/toolbar/StatusBar.native.js.map +1 -1
  115. package/dist/cjs/toolbar/TableBubble.cjs +91 -96
  116. package/dist/cjs/toolbar/TableBubble.native.js +90 -73
  117. package/dist/cjs/toolbar/TableBubble.native.js.map +1 -1
  118. package/dist/cjs/toolbar/ToolbarButton.cjs +86 -21
  119. package/dist/cjs/toolbar/ToolbarButton.native.js +14 -4
  120. package/dist/cjs/toolbar/ToolbarButton.native.js.map +1 -1
  121. package/dist/cjs/toolbar/icons.cjs +111 -468
  122. package/dist/cjs/toolbar/shortcuts.cjs +73 -24
  123. package/dist/cjs/toolbar/shortcuts.native.js +73 -24
  124. package/dist/cjs/toolbar/shortcuts.native.js.map +1 -1
  125. package/dist/cjs/toolbar/useHorizontalScroll.cjs +25 -5
  126. package/dist/cjs/toolbar/useHorizontalScroll.native.js +25 -5
  127. package/dist/cjs/toolbar/useHorizontalScroll.native.js.map +1 -1
  128. package/dist/cjs/toolbar/useRovingFocus.cjs +80 -0
  129. package/dist/cjs/toolbar/useRovingFocus.native.js +113 -0
  130. package/dist/cjs/toolbar/useRovingFocus.native.js.map +1 -0
  131. package/dist/cjs/types.native.js.map +1 -1
  132. package/dist/esm/RichEditor.mjs +90 -10
  133. package/dist/esm/RichEditor.mjs.map +1 -1
  134. package/dist/esm/RichEditor.native.js +447 -38
  135. package/dist/esm/RichEditor.native.js.map +1 -1
  136. package/dist/esm/RichTextEditor/index.mjs +20 -2
  137. package/dist/esm/RichTextEditor/index.mjs.map +1 -1
  138. package/dist/esm/RichTextEditor/index.native.js +20 -2
  139. package/dist/esm/RichTextEditor/index.native.js.map +1 -1
  140. package/dist/esm/constants.mjs +47 -29
  141. package/dist/esm/constants.mjs.map +1 -1
  142. package/dist/esm/constants.native.js +54 -29
  143. package/dist/esm/constants.native.js.map +1 -1
  144. package/dist/esm/editor/BlockDragHandle.mjs +22 -7
  145. package/dist/esm/editor/BlockDragHandle.mjs.map +1 -1
  146. package/dist/esm/editor/BlockDragHandle.native.js +41 -7
  147. package/dist/esm/editor/BlockDragHandle.native.js.map +1 -1
  148. package/dist/esm/editor/SlashCommands.mjs +258 -295
  149. package/dist/esm/editor/SlashCommands.mjs.map +1 -1
  150. package/dist/esm/editor/SlashCommands.native.js +321 -342
  151. package/dist/esm/editor/SlashCommands.native.js.map +1 -1
  152. package/dist/esm/editor/TentapEditor.native.js +60 -13
  153. package/dist/esm/editor/TentapEditor.native.js.map +1 -1
  154. package/dist/esm/editor/TiptapEditor.mjs +145 -231
  155. package/dist/esm/editor/TiptapEditor.mjs.map +1 -1
  156. package/dist/esm/editor/TiptapEditor.native.js +165 -280
  157. package/dist/esm/editor/TiptapEditor.native.js.map +1 -1
  158. package/dist/esm/editor/blockAnchor.mjs +18 -0
  159. package/dist/esm/editor/blockAnchor.mjs.map +1 -0
  160. package/dist/esm/editor/blockAnchor.native.js +40 -0
  161. package/dist/esm/editor/blockAnchor.native.js.map +1 -0
  162. package/dist/esm/editor/capabilities.mjs +10 -0
  163. package/dist/esm/editor/capabilities.mjs.map +1 -0
  164. package/dist/esm/editor/capabilities.native.js +11 -0
  165. package/dist/esm/editor/capabilities.native.js.map +1 -0
  166. package/dist/esm/editor/codeBlockPreview.mjs +190 -0
  167. package/dist/esm/editor/codeBlockPreview.mjs.map +1 -0
  168. package/dist/esm/editor/codeBlockPreview.native.js +222 -0
  169. package/dist/esm/editor/codeBlockPreview.native.js.map +1 -0
  170. package/dist/esm/editor/editorStyles.mjs +203 -34
  171. package/dist/esm/editor/editorStyles.mjs.map +1 -1
  172. package/dist/esm/editor/editorStyles.native.js +203 -34
  173. package/dist/esm/editor/editorStyles.native.js.map +1 -1
  174. package/dist/esm/editor/emoji.mjs +88 -0
  175. package/dist/esm/editor/emoji.mjs.map +1 -0
  176. package/dist/esm/editor/emoji.native.js +141 -0
  177. package/dist/esm/editor/emoji.native.js.map +1 -0
  178. package/dist/esm/editor/extensions.mjs +236 -0
  179. package/dist/esm/editor/extensions.mjs.map +1 -0
  180. package/dist/esm/editor/extensions.native.js +286 -0
  181. package/dist/esm/editor/extensions.native.js.map +1 -0
  182. package/dist/esm/editor/lazyKatex.mjs +40 -0
  183. package/dist/esm/editor/lazyKatex.mjs.map +1 -0
  184. package/dist/esm/editor/lazyKatex.native.js +76 -0
  185. package/dist/esm/editor/lazyKatex.native.js.map +1 -0
  186. package/dist/esm/editor/markdown.mjs +179 -0
  187. package/dist/esm/editor/markdown.mjs.map +1 -0
  188. package/dist/esm/editor/markdown.native.js +238 -0
  189. package/dist/esm/editor/markdown.native.js.map +1 -0
  190. package/dist/esm/editor/mathematics.mjs +142 -0
  191. package/dist/esm/editor/mathematics.mjs.map +1 -0
  192. package/dist/esm/editor/mathematics.native.js +173 -0
  193. package/dist/esm/editor/mathematics.native.js.map +1 -0
  194. package/dist/esm/editor/media.mjs +113 -0
  195. package/dist/esm/editor/media.mjs.map +1 -0
  196. package/dist/esm/editor/media.native.js +144 -0
  197. package/dist/esm/editor/media.native.js.map +1 -0
  198. package/dist/esm/editor/mentions.mjs +37 -0
  199. package/dist/esm/editor/mentions.mjs.map +1 -0
  200. package/dist/esm/editor/mentions.native.js +45 -0
  201. package/dist/esm/editor/mentions.native.js.map +1 -0
  202. package/dist/esm/editor/pasteCleanup.mjs +57 -0
  203. package/dist/esm/editor/pasteCleanup.mjs.map +1 -0
  204. package/dist/esm/editor/pasteCleanup.native.js +146 -0
  205. package/dist/esm/editor/pasteCleanup.native.js.map +1 -0
  206. package/dist/esm/editor/suggestionPopup.mjs +268 -0
  207. package/dist/esm/editor/suggestionPopup.mjs.map +1 -0
  208. package/dist/esm/editor/suggestionPopup.native.js +295 -0
  209. package/dist/esm/editor/suggestionPopup.native.js.map +1 -0
  210. package/dist/esm/index.mjs +2 -1
  211. package/dist/esm/index.mjs.map +1 -1
  212. package/dist/esm/index.native.js +2 -1
  213. package/dist/esm/index.native.js.map +1 -1
  214. package/dist/esm/preview.mjs +236 -0
  215. package/dist/esm/preview.mjs.map +1 -0
  216. package/dist/esm/preview.native.js +264 -0
  217. package/dist/esm/preview.native.js.map +1 -0
  218. package/dist/esm/shared/t.mjs +17 -0
  219. package/dist/esm/shared/t.mjs.map +1 -0
  220. package/dist/esm/shared/t.native.js +17 -0
  221. package/dist/esm/shared/t.native.js.map +1 -0
  222. package/dist/esm/shared/url.mjs +10 -0
  223. package/dist/esm/shared/url.mjs.map +1 -0
  224. package/dist/esm/shared/url.native.js +10 -0
  225. package/dist/esm/shared/url.native.js.map +1 -0
  226. package/dist/esm/styled.mjs +13 -6
  227. package/dist/esm/styled.mjs.map +1 -1
  228. package/dist/esm/styled.native.js +13 -6
  229. package/dist/esm/styled.native.js.map +1 -1
  230. package/dist/esm/toolbar/BubbleToolbar.mjs +20 -15
  231. package/dist/esm/toolbar/BubbleToolbar.mjs.map +1 -1
  232. package/dist/esm/toolbar/BubbleToolbar.native.js +23 -16
  233. package/dist/esm/toolbar/BubbleToolbar.native.js.map +1 -1
  234. package/dist/esm/toolbar/CodeBlockBubble.mjs +60 -24
  235. package/dist/esm/toolbar/CodeBlockBubble.mjs.map +1 -1
  236. package/dist/esm/toolbar/CodeBlockBubble.native.js +72 -26
  237. package/dist/esm/toolbar/CodeBlockBubble.native.js.map +1 -1
  238. package/dist/esm/toolbar/ColorPicker.mjs +21 -56
  239. package/dist/esm/toolbar/ColorPicker.mjs.map +1 -1
  240. package/dist/esm/toolbar/ColorPicker.native.js +82 -180
  241. package/dist/esm/toolbar/ColorPicker.native.js.map +1 -1
  242. package/dist/esm/toolbar/FixedToolbar.mjs +40 -14
  243. package/dist/esm/toolbar/FixedToolbar.mjs.map +1 -1
  244. package/dist/esm/toolbar/FixedToolbar.native.js +47 -55
  245. package/dist/esm/toolbar/FixedToolbar.native.js.map +1 -1
  246. package/dist/esm/toolbar/HeadingPicker.mjs +34 -41
  247. package/dist/esm/toolbar/HeadingPicker.mjs.map +1 -1
  248. package/dist/esm/toolbar/HeadingPicker.native.js +63 -53
  249. package/dist/esm/toolbar/HeadingPicker.native.js.map +1 -1
  250. package/dist/esm/toolbar/ImageBubble.mjs +20 -43
  251. package/dist/esm/toolbar/ImageBubble.mjs.map +1 -1
  252. package/dist/esm/toolbar/ImageBubble.native.js +20 -43
  253. package/dist/esm/toolbar/ImageBubble.native.js.map +1 -1
  254. package/dist/esm/toolbar/ImageDialog.mjs +5 -4
  255. package/dist/esm/toolbar/ImageDialog.mjs.map +1 -1
  256. package/dist/esm/toolbar/ImageDialog.native.js +75 -64
  257. package/dist/esm/toolbar/ImageDialog.native.js.map +1 -1
  258. package/dist/esm/toolbar/LinkBubble.mjs +23 -70
  259. package/dist/esm/toolbar/LinkBubble.mjs.map +1 -1
  260. package/dist/esm/toolbar/LinkBubble.native.js +23 -70
  261. package/dist/esm/toolbar/LinkBubble.native.js.map +1 -1
  262. package/dist/esm/toolbar/LinkDialog.mjs +17 -16
  263. package/dist/esm/toolbar/LinkDialog.mjs.map +1 -1
  264. package/dist/esm/toolbar/LinkDialog.native.js +84 -80
  265. package/dist/esm/toolbar/LinkDialog.native.js.map +1 -1
  266. package/dist/esm/toolbar/ListPicker.mjs +33 -44
  267. package/dist/esm/toolbar/ListPicker.mjs.map +1 -1
  268. package/dist/esm/toolbar/ListPicker.native.js +44 -45
  269. package/dist/esm/toolbar/ListPicker.native.js.map +1 -1
  270. package/dist/esm/toolbar/MathBubble.mjs +134 -0
  271. package/dist/esm/toolbar/MathBubble.mjs.map +1 -0
  272. package/dist/esm/toolbar/MathBubble.native.js +141 -0
  273. package/dist/esm/toolbar/MathBubble.native.js.map +1 -0
  274. package/dist/esm/toolbar/MoreDropdown.mjs +53 -92
  275. package/dist/esm/toolbar/MoreDropdown.mjs.map +1 -1
  276. package/dist/esm/toolbar/MoreDropdown.native.js +79 -92
  277. package/dist/esm/toolbar/MoreDropdown.native.js.map +1 -1
  278. package/dist/esm/toolbar/StatusBar.mjs +19 -10
  279. package/dist/esm/toolbar/StatusBar.mjs.map +1 -1
  280. package/dist/esm/toolbar/StatusBar.native.js +19 -10
  281. package/dist/esm/toolbar/StatusBar.native.js.map +1 -1
  282. package/dist/esm/toolbar/TableBubble.mjs +91 -96
  283. package/dist/esm/toolbar/TableBubble.mjs.map +1 -1
  284. package/dist/esm/toolbar/TableBubble.native.js +90 -73
  285. package/dist/esm/toolbar/TableBubble.native.js.map +1 -1
  286. package/dist/esm/toolbar/ToolbarButton.mjs +87 -22
  287. package/dist/esm/toolbar/ToolbarButton.mjs.map +1 -1
  288. package/dist/esm/toolbar/ToolbarButton.native.js +14 -4
  289. package/dist/esm/toolbar/ToolbarButton.native.js.map +1 -1
  290. package/dist/esm/toolbar/icons.mjs +109 -469
  291. package/dist/esm/toolbar/icons.mjs.map +1 -1
  292. package/dist/esm/toolbar/shortcuts.mjs +73 -24
  293. package/dist/esm/toolbar/shortcuts.mjs.map +1 -1
  294. package/dist/esm/toolbar/shortcuts.native.js +73 -24
  295. package/dist/esm/toolbar/shortcuts.native.js.map +1 -1
  296. package/dist/esm/toolbar/useHorizontalScroll.mjs +25 -6
  297. package/dist/esm/toolbar/useHorizontalScroll.mjs.map +1 -1
  298. package/dist/esm/toolbar/useHorizontalScroll.native.js +25 -6
  299. package/dist/esm/toolbar/useHorizontalScroll.native.js.map +1 -1
  300. package/dist/esm/toolbar/useRovingFocus.mjs +55 -0
  301. package/dist/esm/toolbar/useRovingFocus.mjs.map +1 -0
  302. package/dist/esm/toolbar/useRovingFocus.native.js +85 -0
  303. package/dist/esm/toolbar/useRovingFocus.native.js.map +1 -0
  304. package/dist/esm/types.mjs.map +1 -1
  305. package/dist/esm/types.native.js.map +1 -1
  306. package/dist/jsx/RichEditor.mjs +90 -10
  307. package/dist/jsx/RichEditor.mjs.map +1 -1
  308. package/dist/jsx/RichEditor.native.js +444 -35
  309. package/dist/jsx/RichEditor.native.js.map +1 -1
  310. package/dist/jsx/RichTextEditor/index.mjs +20 -2
  311. package/dist/jsx/RichTextEditor/index.mjs.map +1 -1
  312. package/dist/jsx/RichTextEditor/index.native.js +20 -2
  313. package/dist/jsx/RichTextEditor/index.native.js.map +1 -1
  314. package/dist/jsx/constants.mjs +47 -29
  315. package/dist/jsx/constants.mjs.map +1 -1
  316. package/dist/jsx/constants.native.js +59 -29
  317. package/dist/jsx/constants.native.js.map +1 -1
  318. package/dist/jsx/editor/BlockDragHandle.mjs +22 -7
  319. package/dist/jsx/editor/BlockDragHandle.mjs.map +1 -1
  320. package/dist/jsx/editor/BlockDragHandle.native.js +41 -7
  321. package/dist/jsx/editor/BlockDragHandle.native.js.map +1 -1
  322. package/dist/jsx/editor/SlashCommands.mjs +258 -295
  323. package/dist/jsx/editor/SlashCommands.mjs.map +1 -1
  324. package/dist/jsx/editor/SlashCommands.native.js +320 -341
  325. package/dist/jsx/editor/SlashCommands.native.js.map +1 -1
  326. package/dist/jsx/editor/TentapEditor.native.js +59 -12
  327. package/dist/jsx/editor/TentapEditor.native.js.map +1 -1
  328. package/dist/jsx/editor/TiptapEditor.mjs +145 -231
  329. package/dist/jsx/editor/TiptapEditor.mjs.map +1 -1
  330. package/dist/jsx/editor/TiptapEditor.native.js +163 -289
  331. package/dist/jsx/editor/TiptapEditor.native.js.map +1 -1
  332. package/dist/jsx/editor/blockAnchor.mjs +18 -0
  333. package/dist/jsx/editor/blockAnchor.mjs.map +1 -0
  334. package/dist/jsx/editor/blockAnchor.native.js +68 -0
  335. package/dist/jsx/editor/blockAnchor.native.js.map +1 -0
  336. package/dist/jsx/editor/capabilities.mjs +10 -0
  337. package/dist/jsx/editor/capabilities.mjs.map +1 -0
  338. package/dist/jsx/editor/capabilities.native.js +41 -0
  339. package/dist/jsx/editor/capabilities.native.js.map +1 -0
  340. package/dist/jsx/editor/codeBlockPreview.mjs +190 -0
  341. package/dist/jsx/editor/codeBlockPreview.mjs.map +1 -0
  342. package/dist/jsx/editor/codeBlockPreview.native.js +265 -0
  343. package/dist/jsx/editor/codeBlockPreview.native.js.map +1 -0
  344. package/dist/jsx/editor/editorStyles.mjs +203 -34
  345. package/dist/jsx/editor/editorStyles.mjs.map +1 -1
  346. package/dist/jsx/editor/editorStyles.native.js +203 -34
  347. package/dist/jsx/editor/editorStyles.native.js.map +1 -1
  348. package/dist/jsx/editor/emoji.mjs +88 -0
  349. package/dist/jsx/editor/emoji.mjs.map +1 -0
  350. package/dist/jsx/editor/emoji.native.js +184 -0
  351. package/dist/jsx/editor/emoji.native.js.map +1 -0
  352. package/dist/jsx/editor/extensions.mjs +236 -0
  353. package/dist/jsx/editor/extensions.mjs.map +1 -0
  354. package/dist/jsx/editor/extensions.native.js +328 -0
  355. package/dist/jsx/editor/extensions.native.js.map +1 -0
  356. package/dist/jsx/editor/lazyKatex.mjs +40 -0
  357. package/dist/jsx/editor/lazyKatex.mjs.map +1 -0
  358. package/dist/jsx/editor/lazyKatex.native.js +117 -0
  359. package/dist/jsx/editor/lazyKatex.native.js.map +1 -0
  360. package/dist/jsx/editor/markdown.mjs +179 -0
  361. package/dist/jsx/editor/markdown.mjs.map +1 -0
  362. package/dist/jsx/editor/markdown.native.js +278 -0
  363. package/dist/jsx/editor/markdown.native.js.map +1 -0
  364. package/dist/jsx/editor/mathematics.mjs +142 -0
  365. package/dist/jsx/editor/mathematics.mjs.map +1 -0
  366. package/dist/jsx/editor/mathematics.native.js +202 -0
  367. package/dist/jsx/editor/mathematics.native.js.map +1 -0
  368. package/dist/jsx/editor/media.mjs +113 -0
  369. package/dist/jsx/editor/media.mjs.map +1 -0
  370. package/dist/jsx/editor/media.native.js +172 -0
  371. package/dist/jsx/editor/media.native.js.map +1 -0
  372. package/dist/jsx/editor/mentions.mjs +37 -0
  373. package/dist/jsx/editor/mentions.mjs.map +1 -0
  374. package/dist/jsx/editor/mentions.native.js +84 -0
  375. package/dist/jsx/editor/mentions.native.js.map +1 -0
  376. package/dist/jsx/editor/pasteCleanup.mjs +57 -0
  377. package/dist/jsx/editor/pasteCleanup.mjs.map +1 -0
  378. package/dist/jsx/editor/pasteCleanup.native.js +175 -0
  379. package/dist/jsx/editor/pasteCleanup.native.js.map +1 -0
  380. package/dist/jsx/editor/suggestionPopup.mjs +268 -0
  381. package/dist/jsx/editor/suggestionPopup.mjs.map +1 -0
  382. package/dist/jsx/editor/suggestionPopup.native.js +327 -0
  383. package/dist/jsx/editor/suggestionPopup.native.js.map +1 -0
  384. package/dist/jsx/index.js +2 -1
  385. package/dist/jsx/index.js.map +1 -1
  386. package/dist/jsx/index.mjs +2 -1
  387. package/dist/jsx/index.mjs.map +1 -1
  388. package/dist/jsx/index.native.js +4 -1
  389. package/dist/jsx/index.native.js.map +1 -1
  390. package/dist/jsx/preview.mjs +236 -0
  391. package/dist/jsx/preview.mjs.map +1 -0
  392. package/dist/jsx/preview.native.js +294 -0
  393. package/dist/jsx/preview.native.js.map +1 -0
  394. package/dist/jsx/shared/t.mjs +17 -0
  395. package/dist/jsx/shared/t.mjs.map +1 -0
  396. package/dist/jsx/shared/t.native.js +56 -0
  397. package/dist/jsx/shared/t.native.js.map +1 -0
  398. package/dist/jsx/shared/url.mjs +10 -0
  399. package/dist/jsx/shared/url.mjs.map +1 -0
  400. package/dist/jsx/shared/url.native.js +38 -0
  401. package/dist/jsx/shared/url.native.js.map +1 -0
  402. package/dist/jsx/styled.mjs +13 -6
  403. package/dist/jsx/styled.mjs.map +1 -1
  404. package/dist/jsx/styled.native.js +13 -6
  405. package/dist/jsx/styled.native.js.map +1 -1
  406. package/dist/jsx/toolbar/BubbleToolbar.mjs +20 -15
  407. package/dist/jsx/toolbar/BubbleToolbar.mjs.map +1 -1
  408. package/dist/jsx/toolbar/BubbleToolbar.native.js +22 -15
  409. package/dist/jsx/toolbar/BubbleToolbar.native.js.map +1 -1
  410. package/dist/jsx/toolbar/CodeBlockBubble.mjs +60 -24
  411. package/dist/jsx/toolbar/CodeBlockBubble.mjs.map +1 -1
  412. package/dist/jsx/toolbar/CodeBlockBubble.native.js +71 -25
  413. package/dist/jsx/toolbar/CodeBlockBubble.native.js.map +1 -1
  414. package/dist/jsx/toolbar/ColorPicker.mjs +21 -56
  415. package/dist/jsx/toolbar/ColorPicker.mjs.map +1 -1
  416. package/dist/jsx/toolbar/ColorPicker.native.js +81 -179
  417. package/dist/jsx/toolbar/ColorPicker.native.js.map +1 -1
  418. package/dist/jsx/toolbar/FixedToolbar.mjs +40 -14
  419. package/dist/jsx/toolbar/FixedToolbar.mjs.map +1 -1
  420. package/dist/jsx/toolbar/FixedToolbar.native.js +46 -54
  421. package/dist/jsx/toolbar/FixedToolbar.native.js.map +1 -1
  422. package/dist/jsx/toolbar/HeadingPicker.mjs +34 -41
  423. package/dist/jsx/toolbar/HeadingPicker.mjs.map +1 -1
  424. package/dist/jsx/toolbar/HeadingPicker.native.js +61 -51
  425. package/dist/jsx/toolbar/HeadingPicker.native.js.map +1 -1
  426. package/dist/jsx/toolbar/ImageBubble.mjs +20 -43
  427. package/dist/jsx/toolbar/ImageBubble.mjs.map +1 -1
  428. package/dist/jsx/toolbar/ImageBubble.native.js +20 -43
  429. package/dist/jsx/toolbar/ImageBubble.native.js.map +1 -1
  430. package/dist/jsx/toolbar/ImageDialog.mjs +5 -4
  431. package/dist/jsx/toolbar/ImageDialog.mjs.map +1 -1
  432. package/dist/jsx/toolbar/ImageDialog.native.js +76 -65
  433. package/dist/jsx/toolbar/ImageDialog.native.js.map +1 -1
  434. package/dist/jsx/toolbar/LinkBubble.mjs +23 -70
  435. package/dist/jsx/toolbar/LinkBubble.mjs.map +1 -1
  436. package/dist/jsx/toolbar/LinkBubble.native.js +23 -70
  437. package/dist/jsx/toolbar/LinkBubble.native.js.map +1 -1
  438. package/dist/jsx/toolbar/LinkDialog.mjs +17 -16
  439. package/dist/jsx/toolbar/LinkDialog.mjs.map +1 -1
  440. package/dist/jsx/toolbar/LinkDialog.native.js +86 -83
  441. package/dist/jsx/toolbar/LinkDialog.native.js.map +1 -1
  442. package/dist/jsx/toolbar/ListPicker.mjs +33 -44
  443. package/dist/jsx/toolbar/ListPicker.mjs.map +1 -1
  444. package/dist/jsx/toolbar/ListPicker.native.js +43 -44
  445. package/dist/jsx/toolbar/ListPicker.native.js.map +1 -1
  446. package/dist/jsx/toolbar/MathBubble.mjs +134 -0
  447. package/dist/jsx/toolbar/MathBubble.mjs.map +1 -0
  448. package/dist/jsx/toolbar/MathBubble.native.js +169 -0
  449. package/dist/jsx/toolbar/MathBubble.native.js.map +1 -0
  450. package/dist/jsx/toolbar/MoreDropdown.mjs +53 -92
  451. package/dist/jsx/toolbar/MoreDropdown.mjs.map +1 -1
  452. package/dist/jsx/toolbar/MoreDropdown.native.js +80 -93
  453. package/dist/jsx/toolbar/MoreDropdown.native.js.map +1 -1
  454. package/dist/jsx/toolbar/StatusBar.mjs +19 -10
  455. package/dist/jsx/toolbar/StatusBar.mjs.map +1 -1
  456. package/dist/jsx/toolbar/StatusBar.native.js +19 -10
  457. package/dist/jsx/toolbar/StatusBar.native.js.map +1 -1
  458. package/dist/jsx/toolbar/TableBubble.mjs +91 -96
  459. package/dist/jsx/toolbar/TableBubble.mjs.map +1 -1
  460. package/dist/jsx/toolbar/TableBubble.native.js +90 -73
  461. package/dist/jsx/toolbar/TableBubble.native.js.map +1 -1
  462. package/dist/jsx/toolbar/ToolbarButton.mjs +87 -22
  463. package/dist/jsx/toolbar/ToolbarButton.mjs.map +1 -1
  464. package/dist/jsx/toolbar/ToolbarButton.native.js +14 -4
  465. package/dist/jsx/toolbar/ToolbarButton.native.js.map +1 -1
  466. package/dist/jsx/toolbar/icons.mjs +109 -469
  467. package/dist/jsx/toolbar/icons.mjs.map +1 -1
  468. package/dist/jsx/toolbar/shortcuts.mjs +73 -24
  469. package/dist/jsx/toolbar/shortcuts.mjs.map +1 -1
  470. package/dist/jsx/toolbar/shortcuts.native.js +73 -24
  471. package/dist/jsx/toolbar/shortcuts.native.js.map +1 -1
  472. package/dist/jsx/toolbar/useHorizontalScroll.mjs +25 -6
  473. package/dist/jsx/toolbar/useHorizontalScroll.mjs.map +1 -1
  474. package/dist/jsx/toolbar/useHorizontalScroll.native.js +25 -5
  475. package/dist/jsx/toolbar/useHorizontalScroll.native.js.map +1 -1
  476. package/dist/jsx/toolbar/useRovingFocus.mjs +55 -0
  477. package/dist/jsx/toolbar/useRovingFocus.mjs.map +1 -0
  478. package/dist/jsx/toolbar/useRovingFocus.native.js +113 -0
  479. package/dist/jsx/toolbar/useRovingFocus.native.js.map +1 -0
  480. package/dist/jsx/types.mjs.map +1 -1
  481. package/dist/jsx/types.native.js.map +1 -1
  482. package/package.json +28 -13
  483. package/src/RichEditor.native.tsx +471 -49
  484. package/src/RichEditor.stories.tsx +190 -0
  485. package/src/RichEditor.tsx +126 -7
  486. package/src/RichTextEditor/index.tsx +54 -3
  487. package/src/RichTextEditor/richTextEditor.spec.tsx +11 -4
  488. package/src/constants.ts +86 -24
  489. package/src/editor/BlockDragHandle.ts +30 -5
  490. package/src/editor/SlashCommands.tsx +238 -293
  491. package/src/editor/TentapEditor.native.tsx +81 -17
  492. package/src/editor/TiptapEditor.tsx +202 -265
  493. package/src/editor/blockAnchor.spec.ts +70 -0
  494. package/src/editor/blockAnchor.ts +42 -0
  495. package/src/editor/capabilities.spec.ts +190 -0
  496. package/src/editor/capabilities.ts +76 -0
  497. package/src/editor/codeBlockPreview.spec.ts +144 -0
  498. package/src/editor/codeBlockPreview.ts +266 -0
  499. package/src/editor/css.d.ts +2 -0
  500. package/src/editor/details.spec.ts +48 -0
  501. package/src/editor/editorStyles.spec.ts +25 -0
  502. package/src/editor/editorStyles.ts +218 -34
  503. package/src/editor/emoji.spec.ts +88 -0
  504. package/src/editor/emoji.ts +147 -0
  505. package/src/editor/emojilib.d.ts +16 -0
  506. package/src/editor/extensions.ts +315 -0
  507. package/src/editor/lazyKatex.spec.ts +38 -0
  508. package/src/editor/lazyKatex.ts +68 -0
  509. package/src/editor/markdown.spec.ts +196 -0
  510. package/src/editor/markdown.ts +249 -0
  511. package/src/editor/mathematics.spec.ts +97 -0
  512. package/src/editor/mathematics.ts +179 -0
  513. package/src/editor/media.spec.ts +121 -0
  514. package/src/editor/media.ts +133 -0
  515. package/src/editor/mentions.spec.ts +41 -0
  516. package/src/editor/mentions.ts +55 -0
  517. package/src/editor/pasteCleanup.spec.ts +84 -0
  518. package/src/editor/pasteCleanup.ts +124 -0
  519. package/src/editor/suggestionPopup.spec.tsx +105 -0
  520. package/src/editor/suggestionPopup.tsx +414 -0
  521. package/src/editor/tiptapEditor.spec.tsx +15 -8
  522. package/src/exports.spec.ts +4 -2
  523. package/src/index.ts +10 -1
  524. package/src/integration.spec.tsx +38 -9
  525. package/src/preview.spec.ts +130 -0
  526. package/src/preview.ts +287 -0
  527. package/src/richEditor.spec.tsx +10 -3
  528. package/src/shared/t.ts +25 -0
  529. package/src/shared/url.ts +16 -0
  530. package/src/styled.ts +13 -6
  531. package/src/toolbar/BubbleToolbar.tsx +48 -33
  532. package/src/toolbar/CodeBlockBubble.tsx +66 -28
  533. package/src/toolbar/ColorPicker.native.tsx +126 -0
  534. package/src/toolbar/ColorPicker.tsx +23 -67
  535. package/src/toolbar/FixedToolbar.native.tsx +51 -51
  536. package/src/toolbar/FixedToolbar.tsx +73 -21
  537. package/src/toolbar/HeadingPicker.tsx +46 -38
  538. package/src/toolbar/ImageBubble.tsx +26 -44
  539. package/src/toolbar/ImageDialog.native.tsx +97 -0
  540. package/src/toolbar/ImageDialog.tsx +5 -4
  541. package/src/toolbar/LinkBubble.tsx +27 -64
  542. package/src/toolbar/LinkDialog.native.tsx +117 -0
  543. package/src/toolbar/LinkDialog.tsx +28 -24
  544. package/src/toolbar/ListPicker.tsx +47 -43
  545. package/src/toolbar/MathBubble.tsx +140 -0
  546. package/src/toolbar/MoreDropdown.tsx +79 -62
  547. package/src/toolbar/StatusBar.tsx +13 -8
  548. package/src/toolbar/TableBubble.tsx +136 -95
  549. package/src/toolbar/ToolbarButton.native.tsx +14 -4
  550. package/src/toolbar/ToolbarButton.tsx +98 -19
  551. package/src/toolbar/bubbleToolbar.spec.tsx +2 -1
  552. package/src/toolbar/fixedToolbar.spec.tsx +4 -2
  553. package/src/toolbar/icons.tsx +113 -323
  554. package/src/toolbar/shortcuts.ts +77 -24
  555. package/src/toolbar/toolbarPrimitives.spec.tsx +29 -1
  556. package/src/toolbar/toolbarSubComponents.spec.tsx +4 -2
  557. package/src/toolbar/useHorizontalScroll.spec.ts +67 -0
  558. package/src/toolbar/useHorizontalScroll.tsx +39 -12
  559. package/src/toolbar/useRovingFocus.spec.tsx +100 -0
  560. package/src/toolbar/useRovingFocus.ts +82 -0
  561. package/src/types.spec.ts +40 -1
  562. package/src/types.ts +56 -1
  563. package/types/RichEditor.d.ts +51 -0
  564. package/types/RichEditor.d.ts.map +1 -0
  565. package/types/RichEditor.native.d.ts +59 -0
  566. package/types/RichEditor.native.d.ts.map +1 -0
  567. package/types/RichTextEditor/index.d.ts +77 -0
  568. package/types/RichTextEditor/index.d.ts.map +1 -0
  569. package/types/constants.d.ts +49 -0
  570. package/types/constants.d.ts.map +1 -0
  571. package/types/context.d.ts +10 -0
  572. package/types/context.d.ts.map +1 -0
  573. package/types/editor/BlockDragHandle.d.ts +8 -0
  574. package/types/editor/BlockDragHandle.d.ts.map +1 -0
  575. package/types/editor/MarkdownPaste.d.ts +8 -0
  576. package/types/editor/MarkdownPaste.d.ts.map +1 -0
  577. package/types/editor/SlashCommands.d.ts +24 -0
  578. package/types/editor/SlashCommands.d.ts.map +1 -0
  579. package/types/editor/TentapEditor.native.d.ts +21 -0
  580. package/types/editor/TentapEditor.native.d.ts.map +1 -0
  581. package/types/editor/TiptapEditor.d.ts +24 -0
  582. package/types/editor/TiptapEditor.d.ts.map +1 -0
  583. package/types/editor/blockAnchor.d.ts +25 -0
  584. package/types/editor/blockAnchor.d.ts.map +1 -0
  585. package/types/editor/capabilities.d.ts +29 -0
  586. package/types/editor/capabilities.d.ts.map +1 -0
  587. package/types/editor/codeBlockPreview.d.ts +51 -0
  588. package/types/editor/codeBlockPreview.d.ts.map +1 -0
  589. package/types/editor/editorStyles.d.ts +25 -0
  590. package/types/editor/editorStyles.d.ts.map +1 -0
  591. package/types/editor/emoji.d.ts +45 -0
  592. package/types/editor/emoji.d.ts.map +1 -0
  593. package/types/editor/extensions.d.ts +41 -0
  594. package/types/editor/extensions.d.ts.map +1 -0
  595. package/types/editor/index.d.ts +11 -0
  596. package/types/editor/index.d.ts.map +1 -0
  597. package/types/editor/lazyKatex.d.ts +33 -0
  598. package/types/editor/lazyKatex.d.ts.map +1 -0
  599. package/types/editor/markdown.d.ts +24 -0
  600. package/types/editor/markdown.d.ts.map +1 -0
  601. package/types/editor/mathematics.d.ts +44 -0
  602. package/types/editor/mathematics.d.ts.map +1 -0
  603. package/types/editor/media.d.ts +32 -0
  604. package/types/editor/media.d.ts.map +1 -0
  605. package/types/editor/mentions.d.ts +15 -0
  606. package/types/editor/mentions.d.ts.map +1 -0
  607. package/types/editor/pasteCleanup.d.ts +24 -0
  608. package/types/editor/pasteCleanup.d.ts.map +1 -0
  609. package/types/editor/suggestionPopup.d.ts +113 -0
  610. package/types/editor/suggestionPopup.d.ts.map +1 -0
  611. package/types/editor/types.d.ts +80 -0
  612. package/types/editor/types.d.ts.map +1 -0
  613. package/types/editor/useEditorState.d.ts +19 -0
  614. package/types/editor/useEditorState.d.ts.map +1 -0
  615. package/types/index.d.ts +12 -0
  616. package/types/index.d.ts.map +1 -0
  617. package/types/preview.d.ts +44 -0
  618. package/types/preview.d.ts.map +1 -0
  619. package/types/shared/t.d.ts +10 -0
  620. package/types/shared/t.d.ts.map +1 -0
  621. package/types/shared/url.d.ts +9 -0
  622. package/types/shared/url.d.ts.map +1 -0
  623. package/types/styled.d.ts +40 -0
  624. package/types/styled.d.ts.map +1 -0
  625. package/types/toolbar/BubbleToolbar.d.ts +25 -0
  626. package/types/toolbar/BubbleToolbar.d.ts.map +1 -0
  627. package/types/toolbar/CodeBlockBubble.d.ts +10 -0
  628. package/types/toolbar/CodeBlockBubble.d.ts.map +1 -0
  629. package/types/toolbar/ColorPicker.d.ts +15 -0
  630. package/types/toolbar/ColorPicker.d.ts.map +1 -0
  631. package/types/toolbar/ColorPicker.native.d.ts +20 -0
  632. package/types/toolbar/ColorPicker.native.d.ts.map +1 -0
  633. package/types/toolbar/FixedToolbar.d.ts +34 -0
  634. package/types/toolbar/FixedToolbar.d.ts.map +1 -0
  635. package/types/toolbar/FixedToolbar.native.d.ts +30 -0
  636. package/types/toolbar/FixedToolbar.native.d.ts.map +1 -0
  637. package/types/toolbar/HeadingPicker.d.ts +14 -0
  638. package/types/toolbar/HeadingPicker.d.ts.map +1 -0
  639. package/types/toolbar/ImageBubble.d.ts +10 -0
  640. package/types/toolbar/ImageBubble.d.ts.map +1 -0
  641. package/types/toolbar/ImageDialog.d.ts +12 -0
  642. package/types/toolbar/ImageDialog.d.ts.map +1 -0
  643. package/types/toolbar/ImageDialog.native.d.ts +15 -0
  644. package/types/toolbar/ImageDialog.native.d.ts.map +1 -0
  645. package/types/toolbar/LinkBubble.d.ts +10 -0
  646. package/types/toolbar/LinkBubble.d.ts.map +1 -0
  647. package/types/toolbar/LinkDialog.d.ts +20 -0
  648. package/types/toolbar/LinkDialog.d.ts.map +1 -0
  649. package/types/toolbar/LinkDialog.native.d.ts +18 -0
  650. package/types/toolbar/LinkDialog.native.d.ts.map +1 -0
  651. package/types/toolbar/ListPicker.d.ts +14 -0
  652. package/types/toolbar/ListPicker.d.ts.map +1 -0
  653. package/types/toolbar/MathBubble.d.ts +11 -0
  654. package/types/toolbar/MathBubble.d.ts.map +1 -0
  655. package/types/toolbar/MoreDropdown.d.ts +15 -0
  656. package/types/toolbar/MoreDropdown.d.ts.map +1 -0
  657. package/types/toolbar/ResizeHandle.d.ts +11 -0
  658. package/types/toolbar/ResizeHandle.d.ts.map +1 -0
  659. package/types/toolbar/StatusBar.d.ts +11 -0
  660. package/types/toolbar/StatusBar.d.ts.map +1 -0
  661. package/types/toolbar/TableBubble.d.ts +13 -0
  662. package/types/toolbar/TableBubble.d.ts.map +1 -0
  663. package/types/toolbar/ToolbarButton.d.ts +35 -0
  664. package/types/toolbar/ToolbarButton.d.ts.map +1 -0
  665. package/types/toolbar/ToolbarButton.native.d.ts +30 -0
  666. package/types/toolbar/ToolbarButton.native.d.ts.map +1 -0
  667. package/types/toolbar/ToolbarGroup.d.ts +14 -0
  668. package/types/toolbar/ToolbarGroup.d.ts.map +1 -0
  669. package/types/toolbar/icons.d.ts +52 -0
  670. package/types/toolbar/icons.d.ts.map +1 -0
  671. package/types/toolbar/icons.native.d.ts +41 -0
  672. package/types/toolbar/icons.native.d.ts.map +1 -0
  673. package/types/toolbar/shortcuts.d.ts +34 -0
  674. package/types/toolbar/shortcuts.d.ts.map +1 -0
  675. package/types/toolbar/useHorizontalScroll.d.ts +43 -0
  676. package/types/toolbar/useHorizontalScroll.d.ts.map +1 -0
  677. package/types/toolbar/useRovingFocus.d.ts +10 -0
  678. package/types/toolbar/useRovingFocus.d.ts.map +1 -0
  679. package/types/types.d.ts +147 -0
  680. package/types/types.d.ts.map +1 -0
  681. package/dist/cjs/RichEditor.stories.cjs +0 -327
  682. package/dist/cjs/RichEditor.stories.native.js +0 -342
  683. package/dist/cjs/RichEditor.stories.native.js.map +0 -1
  684. package/dist/esm/RichEditor.stories.mjs +0 -291
  685. package/dist/esm/RichEditor.stories.mjs.map +0 -1
  686. package/dist/esm/RichEditor.stories.native.js +0 -303
  687. package/dist/esm/RichEditor.stories.native.js.map +0 -1
  688. package/dist/jsx/RichEditor.stories.mjs +0 -291
  689. package/dist/jsx/RichEditor.stories.mjs.map +0 -1
  690. package/dist/jsx/RichEditor.stories.native.js +0 -342
  691. package/dist/jsx/RichEditor.stories.native.js.map +0 -1
@@ -0,0 +1,77 @@
1
+ /**
2
+ * RichTextEditor with form integration
3
+ *
4
+ * Three-branch architecture following field architecture standard:
5
+ * - Branch 1: Skeleton loading state
6
+ * - Branch 2: Standalone (no form context)
7
+ * - Branch 3: Form-integrated (with TanStack Form)
8
+ *
9
+ * Wraps RichEditor compound component with FieldLayout and validation.
10
+ * Uses custom empty check for '<p></p>' which is Tiptap's empty state.
11
+ */
12
+ import type { DeepKeys, DeepValue } from "@tanstack/form-core";
13
+ import type React from "react";
14
+ import type { LabelProps, SizeTokens } from "tamagui";
15
+ import { type FormFieldProps, type FieldComponentProps, type Validator } from "@multiplatform.one/forms";
16
+ import type { EditorCapabilities, RichTextMentionOptions, ToolbarSection } from "../types";
17
+ export type RichTextEditorProps<TParentData = any, TName extends DeepKeys<TParentData> = any, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = Omit<FormFieldProps<TParentData, TName, TFieldValidator, TFormValidator, TData>, "children" | "field"> & Partial<Omit<FieldComponentProps<TParentData, TName, TFieldValidator, TFormValidator, TData>, "children">> & {
18
+ value?: string;
19
+ defaultValue?: string;
20
+ onChange?: (value: string) => void;
21
+ onBlur?: (...args: any[]) => void;
22
+ placeholder?: string;
23
+ disabled?: boolean;
24
+ readOnly?: boolean;
25
+ minHeight?: number;
26
+ maxHeight?: number;
27
+ label?: React.ReactNode;
28
+ labelProps?: Omit<LabelProps, "htmlFor" | "ref">;
29
+ helperText?: string;
30
+ error?: string | boolean;
31
+ required?: boolean;
32
+ size?: SizeTokens;
33
+ /** Show the formatting toolbar (default: true) */
34
+ showToolbar?: boolean;
35
+ /** Use compact sizing for toolbar (default: false) */
36
+ compact?: boolean;
37
+ /** Show the bubble toolbar on text selection (default: false, web only) */
38
+ showBubbleToolbar?: boolean;
39
+ /** Toolbar sections to display (shows all when omitted) */
40
+ sections?: ToolbarSection[];
41
+ /**
42
+ * Capability surface (default "full"). "markdown" constrains the editor
43
+ * to markdown-expressible features and makes value/onChange markdown
44
+ * strings instead of HTML.
45
+ */
46
+ capabilities?: EditorCapabilities;
47
+ /** When true, renders a skeleton placeholder instead of the editor */
48
+ skeleton?: boolean;
49
+ /** Controlled fullscreen state (web; uncontrolled when omitted) */
50
+ fullscreen?: boolean;
51
+ /** Initial fullscreen state when uncontrolled (default: false) */
52
+ defaultFullscreen?: boolean;
53
+ /** Called when the fullscreen state changes */
54
+ onFullscreenChange?: (fullscreen: boolean) => void;
55
+ /**
56
+ * Native only: render the embedded inline editor instead of the
57
+ * preview + fullscreen edit modal (ignored on web)
58
+ */
59
+ inlineEditing?: boolean;
60
+ /**
61
+ * Uploads a pasted/dropped image and resolves its URL (web). Without it,
62
+ * images are inlined as base64 data URIs.
63
+ */
64
+ onImageUpload?: (file: File) => Promise<string>;
65
+ /**
66
+ * Uploads a pasted/dropped non-image file and resolves its URL (web).
67
+ * Inserts an attachment chip link; without it, non-image files are ignored.
68
+ */
69
+ onFileUpload?: (file: File) => Promise<{
70
+ url: string;
71
+ name?: string;
72
+ }>;
73
+ /** Enables the @ mention suggestion popup (web) */
74
+ mentions?: RichTextMentionOptions;
75
+ };
76
+ export declare function RichTextEditor<TParentData, TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>>(props: RichTextEditorProps<TParentData, TName, TFieldValidator, TFormValidator, TData>): import("react/jsx-runtime").JSX.Element;
77
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/RichTextEditor/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,EAQL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,kBAAkB,EAElB,sBAAsB,EACtB,cAAc,EACf,MAAM,UAAU,CAAC;AAkBlB,MAAM,MAAM,mBAAmB,CAC7B,WAAW,GAAG,GAAG,EACjB,KAAK,SAAS,QAAQ,CAAC,WAAW,CAAC,GAAG,GAAG,EACzC,eAAe,SAAS,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,EACjG,cAAc,SAAS,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,EAC9E,KAAK,SAAS,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,IACzE,IAAI,CACN,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,CAAC,EAC1E,UAAU,GAAG,OAAO,CACrB,GACC,OAAO,CACL,IAAI,CACF,mBAAmB,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,CAAC,EAC/E,UAAU,CACX,CACF,GAAG;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B;;;;OAIG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,mDAAmD;IACnD,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAMJ,wBAAgB,cAAc,CAC5B,WAAW,EACX,KAAK,SAAS,QAAQ,CAAC,WAAW,CAAC,EACnC,eAAe,SAAS,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,EACjG,cAAc,SAAS,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,EAC9E,KAAK,SAAS,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,EAC3E,KAAK,EAAE,mBAAmB,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,CAAC,2CAiKvF"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Shared constants for the rich text editor
3
+ */
4
+ import type { NativeCapability } from "./types";
5
+ export interface ColorEntry {
6
+ /** Display name for the color */
7
+ name: string;
8
+ /** CSS color value (theme custom property on web), or null for default/none */
9
+ value: string | null;
10
+ }
11
+ /** A palette entry backed by a theme token instead of a literal color */
12
+ export interface ColorTokenEntry {
13
+ /** Display name for the color */
14
+ name: string;
15
+ /** Theme token key (e.g. "red11"), or null for default/none */
16
+ token: string | null;
17
+ }
18
+ export declare const TEXT_COLOR_TOKENS: ColorTokenEntry[];
19
+ /**
20
+ * Dark-scheme display names for the same tokens: the values are identical
21
+ * (theme vars re-resolve per scheme) — only the neutral ink's honest label
22
+ * flips (color12 renders near-white in dark).
23
+ */
24
+ export declare const TEXT_COLOR_TOKENS_DARK: ColorTokenEntry[];
25
+ /**
26
+ * Highlight washes ride the radix step-5 component backgrounds: pastel in
27
+ * light, deep-dim in dark — the scheme's own ink (color12, inherited by the
28
+ * mark) stays legible on them in both schemes.
29
+ */
30
+ export declare const HIGHLIGHT_COLOR_TOKENS: ColorTokenEntry[];
31
+ export declare const TEXT_COLORS: ColorEntry[];
32
+ export declare const TEXT_COLORS_DARK: ColorEntry[];
33
+ export declare const HIGHLIGHT_COLORS: ColorEntry[];
34
+ /**
35
+ * Every theme token the palettes reference — the single list used to inject
36
+ * resolved CSS custom properties into the native 10Tap webview.
37
+ */
38
+ export declare const PALETTE_THEME_TOKENS: string[];
39
+ /**
40
+ * Maps each EditorCommand to whether 10Tap supports it via bridge extensions.
41
+ *
42
+ * Supported commands use actual bridge methods (ColorBridge, HighlightBridge,
43
+ * ImageBridge, TaskListBridge, etc.).
44
+ *
45
+ * Unsupported commands (subscript, superscript, textAlign, codeBlock,
46
+ * horizontalRule, clearFormatting) have no 10Tap bridge equivalent.
47
+ */
48
+ export declare const NATIVE_SUPPORTED_COMMANDS: NativeCapability;
49
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAMhD,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAmBD,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAK9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAInD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAUnD,CAAC;AAcF,eAAO,MAAM,WAAW,EAAE,UAAU,EAAyC,CAAC;AAC9E,eAAO,MAAM,gBAAgB,EAAE,UAAU,EAA8C,CAAC;AACxF,eAAO,MAAM,gBAAgB,EAAE,UAAU,EAA8C,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAMxC,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBA2CvC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Shared context for the rich text editor compound component
3
+ */
4
+ import type { FontSizeTokens } from "tamagui";
5
+ export declare const RichEditorContext: import("@tamagui/web").StyledContext<{
6
+ size: FontSizeTokens;
7
+ compact: boolean;
8
+ disabled: boolean;
9
+ }>;
10
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,eAAO,MAAM,iBAAiB;UACtB,cAAc;aACX,OAAO;cACN,OAAO;EAKjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Universal block drag handle extension.
3
+ * Shows a grip icon to the left of the hovered top-level block.
4
+ * Dragging from the handle moves the entire block.
5
+ */
6
+ import { Extension } from "@tiptap/core";
7
+ export declare const BlockDragHandle: Extension<any, any>;
8
+ //# sourceMappingURL=BlockDragHandle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockDragHandle.d.ts","sourceRoot":"","sources":["../../src/editor/BlockDragHandle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAsDzC,eAAO,MAAM,eAAe,qBAyG1B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Extension that intercepts paste events containing markdown-formatted plain
3
+ * text and converts it to HTML before insertion. If the clipboard already
4
+ * contains HTML (e.g. from a web page), the default paste behavior is used.
5
+ */
6
+ import { Extension } from "@tiptap/core";
7
+ export declare const MarkdownPaste: Extension<any, any>;
8
+ //# sourceMappingURL=MarkdownPaste.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownPaste.d.ts","sourceRoot":"","sources":["../../src/editor/MarkdownPaste.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,eAAO,MAAM,aAAa,qBAiCxB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Slash commands extension -- type "/" to open a searchable menu of block
3
+ * types. Uses @tiptap/suggestion for trigger/matching and the shared
4
+ * suggestion popup (LC-16: same list, rows, chrome, and keyboard handling
5
+ * as the @ mention menu).
6
+ */
7
+ import { Extension } from "@tiptap/core";
8
+ import type { Editor, Range } from "@tiptap/core";
9
+ import { type SuggestionRow } from "./suggestionPopup";
10
+ export interface SlashCommandItem {
11
+ /** Stable identifier (also the row key) */
12
+ id: string;
13
+ /** Translated display title */
14
+ title: string;
15
+ /** Translated one-line description */
16
+ description: string;
17
+ icon: SuggestionRow["icon"];
18
+ command: (props: {
19
+ editor: Editor;
20
+ range: Range;
21
+ }) => void;
22
+ }
23
+ export declare const SlashCommands: Extension<any, any>;
24
+ //# sourceMappingURL=SlashCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashCommands.d.ts","sourceRoot":"","sources":["../../src/editor/SlashCommands.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAsBlD,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,IAAI,CAAC;CAC5D;AAiMD,eAAO,MAAM,aAAa,qBA0DxB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 10Tap-based rich text editor for React Native
3
+ *
4
+ * Rebuilt to properly use 10Tap bridge extensions:
5
+ * - ColorBridge for text color
6
+ * - HighlightBridge for highlight/background color
7
+ * - ImageBridge for image insertion
8
+ * - TaskListBridge for task lists
9
+ *
10
+ * Uses getEditorStateFromBridge() for state mapping and
11
+ * RichEditorContext for styling from the compound component.
12
+ *
13
+ * No BubbleToolbar (10Tap does not support floating menus).
14
+ */
15
+ import type { RichEditorProps, RichEditorRef } from "../types";
16
+ export interface TentapEditorProps extends RichEditorProps {
17
+ /** Fill the available space (fullscreen modal) instead of using minHeight */
18
+ fill?: boolean;
19
+ }
20
+ export declare const TentapEditor: import("react").ForwardRefExoticComponent<TentapEditorProps & import("react").RefAttributes<RichEditorRef>>;
21
+ //# sourceMappingURL=TentapEditor.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TentapEditor.native.d.ts","sourceRoot":"","sources":["../../src/editor/TentapEditor.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA0BH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAiB,MAAM,UAAU,CAAC;AAoB9E,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,6EAA6E;IAC7E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAID,eAAO,MAAM,YAAY,6GA8PxB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Tiptap-based rich text editor for web
3
+ *
4
+ * Uses extracted utilities:
5
+ * - getEditorCSS() for ProseMirror styles (theme-aware CSS custom properties)
6
+ * - getEditorStateFromTiptap() for state mapping
7
+ * - RichEditorContext for styling context
8
+ * - BubbleToolbar for inline formatting on text selection
9
+ */
10
+ import type { RichEditorProps, RichEditorRef } from "../types";
11
+ export interface TiptapEditorProps extends RichEditorProps {
12
+ /** Show the bubble toolbar on text selection (web only) */
13
+ showBubbleToolbar?: boolean;
14
+ /** CSS font-family string for body text (resolved from knobs) */
15
+ bodyFontFamily?: string;
16
+ /** CSS font-family string for headings (resolved from knobs) */
17
+ headingFontFamily?: string;
18
+ /** Current editing mode: richtext (WYSIWYG) or markdown (raw source) */
19
+ editorMode?: "richtext" | "markdown";
20
+ /** Fullscreen mode: content fills the flex parent and scrolls internally */
21
+ fullscreen?: boolean;
22
+ }
23
+ export declare const TiptapEditor: import("react").NamedExoticComponent<TiptapEditorProps & import("react").RefAttributes<RichEditorRef>>;
24
+ //# sourceMappingURL=TiptapEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TiptapEditor.d.ts","sourceRoot":"","sources":["../../src/editor/TiptapEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAiB,MAAM,UAAU,CAAC;AA2B9E,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACrC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAiBD,eAAO,MAAM,YAAY,wGAqdxB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Block-rect anchoring for bubble menus (web).
3
+ *
4
+ * Tiptap's BubbleMenu anchors to the text caret by default. For tall blocks
5
+ * (tables, code blocks) that puts the bubble INSIDE the block box — hovering
6
+ * over the first table row / first code line, where it traps pointer events
7
+ * and chases the caret on every keystroke. Anchoring to the block's own DOM
8
+ * rect keeps the bubble outside the block (above it, or flipped below by
9
+ * floating-ui), so block content stays clickable and the bubble holds still
10
+ * while typing. GitLab's content editor anchors its table/code chrome the
11
+ * same way.
12
+ */
13
+ import type { Editor } from "@tiptap/core";
14
+ interface BlockVirtualElement {
15
+ getBoundingClientRect: () => DOMRect;
16
+ contextElement: Element;
17
+ }
18
+ /**
19
+ * Returns a floating-ui VirtualElement for the nearest ancestor node of
20
+ * `nodeTypeName` containing the selection, or null when the selection is
21
+ * not inside one (the bubble is hidden by `shouldShow` in that case).
22
+ */
23
+ export declare function getBlockVirtualElement(editor: Editor, nodeTypeName: string): BlockVirtualElement | null;
24
+ export {};
25
+ //# sourceMappingURL=blockAnchor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockAnchor.d.ts","sourceRoot":"","sources":["../../src/editor/blockAnchor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,UAAU,mBAAmB;IAC3B,qBAAqB,EAAE,MAAM,OAAO,CAAC;IACrC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,mBAAmB,GAAG,IAAI,CAa5B"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Editor capability presets.
3
+ *
4
+ * "markdown" constrains the WYSIWYG editor to exactly what GFM markdown can
5
+ * express (owner ruling, LC-52 MARKDOWN-EXPRESSIBLE-EDITING): bold, italic,
6
+ * strikethrough, inline code, links, headings, bullet/ordered/task lists,
7
+ * blockquote, fenced code blocks, images, horizontal rule, and simple pipe
8
+ * tables. Everything markdown cannot express — underline, highlight, text
9
+ * color, alignment, sub/superscript, collapsible details, inline math,
10
+ * mention chips, table cell merge/split — is ABSENT in this mode: the
11
+ * extensions are not registered (commands do not exist) and the toolbar
12
+ * controls do not render.
13
+ *
14
+ * This module is the single source of truth both the runtime (extension
15
+ * factory, toolbars, executeCommand guard) and the VERIFY specs consume.
16
+ */
17
+ import type { EditorCapabilities, EditorCommand } from "../types";
18
+ /** Commands expressible in GFM markdown (the "markdown" capability surface) */
19
+ export declare const MARKDOWN_COMMANDS: ReadonlySet<EditorCommand>;
20
+ /** True when the command exists in the given capability surface */
21
+ export declare function isCommandInCapabilities(command: EditorCommand, capabilities?: EditorCapabilities): boolean;
22
+ /**
23
+ * Slash-menu items excluded in markdown capabilities. Mermaid stays out of
24
+ * the INSERT surface to keep it strictly GFM (a hand-typed ``` fence still
25
+ * produces a plain code block); math and details have no markdown syntax.
26
+ * Emoji stays — it inserts a plain unicode character (just text).
27
+ */
28
+ export declare const MARKDOWN_EXCLUDED_SLASH_IDS: readonly string[];
29
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/editor/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAElE,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,aAAa,CAiCvD,CAAC;AAEH,mEAAmE;AACnE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,EACtB,YAAY,GAAE,kBAA2B,GACxC,OAAO,CAGT;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAKxD,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Code block with live below-block preview for `mermaid` and `math`
3
+ * languages — GitLab content-editor parity.
4
+ *
5
+ * The code stays a normal editable code block (language picker, copy,
6
+ * tab-indent, lowlight all keep working through contentDOM); when the
7
+ * language is `mermaid` or `math` a preview pane renders below the source:
8
+ *
9
+ * - mermaid: SVG via the canonical `@multiplatform.one/markdown` renderer
10
+ * (LC-16 — one implementation; the engine is dynamically imported on the
11
+ * first diagram, zero eager bytes).
12
+ * - math: display-mode KaTeX via lazyKatex (same discipline).
13
+ *
14
+ * Re-renders are debounced while typing; the previous preview stays
15
+ * visible until the new one lands (no flicker). Invalid source shows the
16
+ * parse error in the pane (Axiom 6: show the error, never blank).
17
+ *
18
+ * `$$ ` at the start of a line opens a math block (GitLab-style display
19
+ * math input); ```mermaid and ```math fences already work through the
20
+ * inherited code block input rule.
21
+ */
22
+ import { Extension } from "@tiptap/core";
23
+ import type { Editor } from "@tiptap/core";
24
+ export interface PreviewChrome {
25
+ /** Color scheme forwarded to the diagram/math renderers */
26
+ scheme: "light" | "dark";
27
+ /** CSS font family forwarded to mermaid's theme config */
28
+ fontFamily?: string;
29
+ }
30
+ interface PreviewChromeStorage {
31
+ value: PreviewChrome;
32
+ listeners: Set<() => void>;
33
+ }
34
+ declare module "@tiptap/core" {
35
+ interface Storage {
36
+ previewChrome: PreviewChromeStorage;
37
+ }
38
+ }
39
+ /**
40
+ * Storage-only extension carrying the resolved scheme for block previews.
41
+ * The editor host pushes values (setPreviewChrome) from React land; node
42
+ * views subscribe so a theme flip re-renders live diagrams.
43
+ */
44
+ export declare const PreviewChromeStore: Extension<any, PreviewChromeStorage>;
45
+ export declare function setPreviewChrome(editor: Editor, chrome: PreviewChrome): void;
46
+ export declare const PREVIEW_LANGUAGES: readonly ["mermaid", "math"];
47
+ export type PreviewLanguage = (typeof PREVIEW_LANGUAGES)[number];
48
+ export declare function getPreviewKind(language: string | null | undefined): PreviewLanguage | null;
49
+ export declare const CodeBlockWithPreview: import("@tiptap/core").Node<import("@tiptap/extension-code-block-lowlight").CodeBlockLowlightOptions, any>;
50
+ export {};
51
+ //# sourceMappingURL=codeBlockPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeBlockPreview.d.ts","sourceRoot":"","sources":["../../src/editor/codeBlockPreview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,SAAS,EAA0B,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAQ3C,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CAC5B;AAED,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,OAAO;QACf,aAAa,EAAE,oBAAoB,CAAC;KACrC;CACF;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,sCAK7B,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAQ5E;AAUD,eAAO,MAAM,iBAAiB,8BAA+B,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI,CAI1F;AAQD,eAAO,MAAM,oBAAoB,4GA0K/B,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * CSS styles for the ProseMirror editor content area.
3
+ *
4
+ * ProseMirror renders its own DOM outside Tamagui, so CSS injection via
5
+ * a <style> tag is necessary. Colors use Tamagui CSS custom properties
6
+ * for theme awareness.
7
+ */
8
+ export interface EditorCSSOptions {
9
+ /** Minimum height of the editor in pixels */
10
+ minHeight?: number;
11
+ /** Maximum height of the editor in pixels (enables scroll) */
12
+ maxHeight?: number;
13
+ /** CSS font-family string for body text */
14
+ bodyFontFamily?: string;
15
+ /** CSS font-family string for headings */
16
+ headingFontFamily?: string;
17
+ /** Fullscreen mode: fill the container instead of min/max pixel heights */
18
+ fullscreen?: boolean;
19
+ /** Bubble/popup fade duration in ms; 0 = animation none (motion silenced) */
20
+ motionMs?: number;
21
+ /** Per-instance scope class so bubble motion rules do not cross editors */
22
+ scopeClass?: string;
23
+ }
24
+ export declare function getEditorCSS(options?: EditorCSSOptions): string;
25
+ //# sourceMappingURL=editorStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorStyles.d.ts","sourceRoot":"","sources":["../../src/editor/editorStyles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAkanE"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * `:emoji:` autocomplete for the rich text editor (web) — GitLab parity.
3
+ *
4
+ * Third suggestion source on the shared LC-16 popup (same rows, chrome,
5
+ * keyboard handling, and ARIA roles as slash commands and @ mentions).
6
+ * Typing `:` opens a searchable shortname list; selecting inserts the plain
7
+ * unicode character (like GitLab's editor), so the markdown round-trip is
8
+ * lossless by construction — an emoji is just text.
9
+ *
10
+ * Bundle discipline: the emoji dataset (emojilib, ~32 KB gz) is NOT in the
11
+ * editor chunk. It is dynamically imported on the first `:` trigger and
12
+ * cached for the session.
13
+ */
14
+ import { Extension } from "@tiptap/core";
15
+ import type { Editor, Range } from "@tiptap/core";
16
+ export interface EmojiEntry {
17
+ /** Shortname, e.g. "thumbsup" (typed between colons) */
18
+ name: string;
19
+ /** The unicode character inserted into the document */
20
+ char: string;
21
+ /** Search keywords from the dataset */
22
+ keywords: string[];
23
+ }
24
+ /**
25
+ * Loads and flattens the emojilib dataset on first use. The dynamic import
26
+ * keeps the JSON out of the editor chunk (zero eager bytes); the promise is
27
+ * cached so the fetch happens at most once per session.
28
+ */
29
+ export declare function loadEmojiIndex(): Promise<EmojiEntry[]>;
30
+ /** Test seam: reset the cached dataset promise */
31
+ export declare function resetEmojiIndexForTesting(): void;
32
+ /**
33
+ * Ranked shortname search: exact name, name prefix, name substring, then
34
+ * keyword prefix/substring. Ties keep dataset order (faces first), matching
35
+ * the GitLab popup's feel. An empty query lists the head of the dataset.
36
+ */
37
+ export declare function searchEmoji(entries: EmojiEntry[], query: string, limit?: number): EmojiEntry[];
38
+ /** Inserts the unicode character, replacing the `:query` trigger text */
39
+ export declare function insertEmoji(editor: Editor, range: Range, char: string): void;
40
+ /**
41
+ * `:` trigger suggestion menu. Own plugin key — the slash menu owns the
42
+ * default Suggestion key and the two must coexist.
43
+ */
44
+ export declare const EmojiSuggestion: Extension<any, any>;
45
+ //# sourceMappingURL=emoji.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../src/editor/emoji.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAUlD,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AASD;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAatD;AAED,kDAAkD;AAClD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAMD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,UAAU,EAAE,CAmB1F;AAMD,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE5E;AAID;;;GAGG;AACH,eAAO,MAAM,eAAe,qBAmC1B,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Extension factory for the web Tiptap editor.
3
+ *
4
+ * One canonical list (LC-16) consumed by TiptapEditor AND by the
5
+ * capability specs, so what ships is exactly what is verified. With
6
+ * `capabilities: "markdown"` the non-markdown extensions are NOT
7
+ * registered — their commands do not exist on the editor (LC-52
8
+ * MARKDOWN-EXPRESSIBLE-EDITING), and StarterKit's underline sub-extension
9
+ * is disabled.
10
+ */
11
+ import { Extension, type Extensions } from "@tiptap/core";
12
+ import type { EditorCapabilities } from "../types";
13
+ /**
14
+ * Tab / Shift-Tab indentation inside code blocks.
15
+ * Inserts or removes 2 spaces at the cursor (or start of each selected line).
16
+ */
17
+ export declare const CodeBlockTabIndent: Extension<any, any>;
18
+ /**
19
+ * Override Shift-Enter and Mod-Enter to create new paragraphs instead of
20
+ * hard breaks (<br>). Mirrors GitLab's approach: HardBreak node stays
21
+ * registered (so <br> in pasted HTML is preserved) but its keyboard
22
+ * shortcuts are replaced with the default enter (split paragraph) behavior.
23
+ */
24
+ export declare const ParagraphEnterKeys: Extension<any, any>;
25
+ /**
26
+ * Tab/Shift-Tab indent/dedent and Alt+Arrow move for list items.
27
+ * Tab sinks (indents), Shift-Tab lifts (dedents).
28
+ * Alt+Up/Down moves the list item up or down among siblings.
29
+ */
30
+ export declare const ListItemKeys: Extension<any, any>;
31
+ export interface BuildEditorExtensionsOptions {
32
+ /** Capability preset (default "full") */
33
+ capabilities?: EditorCapabilities;
34
+ /** Placeholder text (defaults to the translated "Start writing...") */
35
+ placeholder?: string;
36
+ /** Pre-built mention extension (ignored in markdown capabilities) */
37
+ mentionExtension?: Extensions[number] | null;
38
+ }
39
+ /** Build the production extension list for the given capability surface */
40
+ export declare function buildEditorExtensions({ capabilities, placeholder, mentionExtension, }?: BuildEditorExtensionsOptions): Extensions;
41
+ //# sourceMappingURL=extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/editor/extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAoB1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAcnD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,qBAyE7B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,qBAsB7B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,qBAgCvB,CAAC;AAMH,MAAM,WAAW,4BAA4B;IAC3C,yCAAyC;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAC9C;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,EACpC,YAAqB,EACrB,WAAW,EACX,gBAAuB,GACxB,GAAE,4BAAiC,GAAG,UAAU,CAuGhD"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Editor internal exports
3
+ *
4
+ * These are implementation details used by the compound component.
5
+ * Public API is exported from src/index.ts.
6
+ */
7
+ export { TiptapEditor } from "./TiptapEditor";
8
+ export type { TiptapEditorProps } from "./TiptapEditor";
9
+ export { getEditorCSS } from "./editorStyles";
10
+ export { getEditorStateFromTiptap, getEditorStateFromBridge } from "./useEditorState";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Lazy KaTeX renderer for `$...$` inline and `$$...$$` block math.
3
+ *
4
+ * Bundle discipline: KaTeX (~70 KB gz JS + CSS + fonts) never rides the
5
+ * editor chunk. Both the library and its stylesheet load through dynamic
6
+ * import on the first math render and are cached for the session. The
7
+ * stylesheet colors inherit `currentColor`, so dark schemes work without
8
+ * a separate dark CSS pass.
9
+ *
10
+ * The result contract is Axiom 6 friendly — invalid TeX returns
11
+ * `{ ok: false, error }` with KaTeX's parse message so callers can show
12
+ * the error instead of a blank node.
13
+ */
14
+ export type KatexRenderResult = {
15
+ ok: true;
16
+ html: string;
17
+ } | {
18
+ ok: false;
19
+ error: string;
20
+ };
21
+ /** Renders TeX to KaTeX HTML markup (display mode for `$$` blocks) */
22
+ export declare function renderKatexHtml(latex: string, options?: {
23
+ displayMode?: boolean;
24
+ }): Promise<KatexRenderResult>;
25
+ /**
26
+ * Mounts KaTeX markup as real DOM nodes. KaTeX output is spans + MathML by
27
+ * construction; parsing inert and stripping executables is defense in
28
+ * depth, mirroring the mermaid mount helper.
29
+ */
30
+ export declare function mountKatexHtml(container: HTMLElement, html: string): void;
31
+ /** Test seam: reset the cached library promise */
32
+ export declare function resetKatexForTesting(): void;
33
+ //# sourceMappingURL=lazyKatex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazyKatex.d.ts","sourceRoot":"","sources":["../../src/editor/lazyKatex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAiB1F,sEAAsE;AACtE,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC,OAAO,CAAC,iBAAiB,CAAC,CAY5B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQzE;AAED,kDAAkD;AAClD,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Canonical HTML <-> Markdown conversion for the rich text editor (web).
3
+ *
4
+ * One implementation (LC-16) shared by the markdown source mode toggle and
5
+ * the markdown paste handler. GFM coverage beyond turndown's defaults:
6
+ * strikethrough, task lists (Tiptap's label-nested checkbox markup), and
7
+ * pipe tables. Marks with no markdown syntax (underline, sub/superscript,
8
+ * highlight, text color spans) survive as inline HTML so the
9
+ * rich -> markdown -> rich round-trip is lossless for every toolbar feature.
10
+ *
11
+ * GitLab-flavored extras (round-trip lossless):
12
+ * - `$x$` inline math <-> `<span data-type="inline-math" data-latex>`
13
+ * - `$$ ... $$` block math <-> code block with language "math"
14
+ * (``` math fences parse to the same node; `$$` is the canonical output)
15
+ * - ```mermaid fences <-> code block with language "mermaid" (turndown's
16
+ * fenced rule + marked's language classes handle this natively)
17
+ * - `<details>` collapsible sections stay raw HTML in markdown, exactly
18
+ * like GitLab renders them
19
+ */
20
+ /** Convert editor HTML to GFM markdown */
21
+ export declare function htmlToMarkdown(html: string): string;
22
+ /** Convert GFM markdown to HTML the Tiptap schema can ingest */
23
+ export declare function markdownToHtml(markdown: string): string;
24
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/editor/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAkIH,0CAA0C;AAC1C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AA4FD,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD"}