@multiplatform.one/rich-text 6.0.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 (450) hide show
  1. package/LICENSE +201 -0
  2. package/dist/cjs/RichEditor.cjs +132 -0
  3. package/dist/cjs/RichEditor.native.js +120 -0
  4. package/dist/cjs/RichEditor.native.js.map +1 -0
  5. package/dist/cjs/RichEditor.stories.cjs +327 -0
  6. package/dist/cjs/RichEditor.stories.native.js +342 -0
  7. package/dist/cjs/RichEditor.stories.native.js.map +1 -0
  8. package/dist/cjs/RichTextEditor/index.cjs +148 -0
  9. package/dist/cjs/RichTextEditor/index.native.js +160 -0
  10. package/dist/cjs/RichTextEditor/index.native.js.map +1 -0
  11. package/dist/cjs/constants.cjs +135 -0
  12. package/dist/cjs/constants.native.js +138 -0
  13. package/dist/cjs/constants.native.js.map +1 -0
  14. package/dist/cjs/context.cjs +33 -0
  15. package/dist/cjs/context.native.js +36 -0
  16. package/dist/cjs/context.native.js.map +1 -0
  17. package/dist/cjs/editor/BlockDragHandle.cjs +137 -0
  18. package/dist/cjs/editor/BlockDragHandle.native.js +142 -0
  19. package/dist/cjs/editor/BlockDragHandle.native.js.map +1 -0
  20. package/dist/cjs/editor/MarkdownPaste.cjs +65 -0
  21. package/dist/cjs/editor/MarkdownPaste.native.js +68 -0
  22. package/dist/cjs/editor/MarkdownPaste.native.js.map +1 -0
  23. package/dist/cjs/editor/SlashCommands.cjs +369 -0
  24. package/dist/cjs/editor/SlashCommands.native.js +424 -0
  25. package/dist/cjs/editor/SlashCommands.native.js.map +1 -0
  26. package/dist/cjs/editor/TentapEditor.native.js +242 -0
  27. package/dist/cjs/editor/TentapEditor.native.js.map +1 -0
  28. package/dist/cjs/editor/TiptapEditor.cjs +578 -0
  29. package/dist/cjs/editor/TiptapEditor.native.js +661 -0
  30. package/dist/cjs/editor/TiptapEditor.native.js.map +1 -0
  31. package/dist/cjs/editor/editorStyles.cjs +272 -0
  32. package/dist/cjs/editor/editorStyles.native.js +276 -0
  33. package/dist/cjs/editor/editorStyles.native.js.map +1 -0
  34. package/dist/cjs/editor/index.cjs +33 -0
  35. package/dist/cjs/editor/index.native.js +36 -0
  36. package/dist/cjs/editor/index.native.js.map +1 -0
  37. package/dist/cjs/editor/types.cjs +54 -0
  38. package/dist/cjs/editor/types.native.js +57 -0
  39. package/dist/cjs/editor/types.native.js.map +1 -0
  40. package/dist/cjs/editor/useEditorState.cjs +129 -0
  41. package/dist/cjs/editor/useEditorState.native.js +135 -0
  42. package/dist/cjs/editor/useEditorState.native.js.map +1 -0
  43. package/dist/cjs/index.cjs +30 -0
  44. package/dist/cjs/index.native.js +33 -0
  45. package/dist/cjs/index.native.js.map +1 -0
  46. package/dist/cjs/styled.cjs +173 -0
  47. package/dist/cjs/styled.native.js +185 -0
  48. package/dist/cjs/styled.native.js.map +1 -0
  49. package/dist/cjs/toolbar/BubbleToolbar.cjs +130 -0
  50. package/dist/cjs/toolbar/BubbleToolbar.native.js +159 -0
  51. package/dist/cjs/toolbar/BubbleToolbar.native.js.map +1 -0
  52. package/dist/cjs/toolbar/CodeBlockBubble.cjs +211 -0
  53. package/dist/cjs/toolbar/CodeBlockBubble.native.js +228 -0
  54. package/dist/cjs/toolbar/CodeBlockBubble.native.js.map +1 -0
  55. package/dist/cjs/toolbar/ColorPicker.cjs +217 -0
  56. package/dist/cjs/toolbar/ColorPicker.native.js +234 -0
  57. package/dist/cjs/toolbar/ColorPicker.native.js.map +1 -0
  58. package/dist/cjs/toolbar/FixedToolbar.cjs +221 -0
  59. package/dist/cjs/toolbar/FixedToolbar.native.js +322 -0
  60. package/dist/cjs/toolbar/FixedToolbar.native.js.map +1 -0
  61. package/dist/cjs/toolbar/HeadingPicker.cjs +158 -0
  62. package/dist/cjs/toolbar/HeadingPicker.native.js +167 -0
  63. package/dist/cjs/toolbar/HeadingPicker.native.js.map +1 -0
  64. package/dist/cjs/toolbar/ImageBubble.cjs +156 -0
  65. package/dist/cjs/toolbar/ImageBubble.native.js +165 -0
  66. package/dist/cjs/toolbar/ImageBubble.native.js.map +1 -0
  67. package/dist/cjs/toolbar/ImageDialog.cjs +115 -0
  68. package/dist/cjs/toolbar/ImageDialog.native.js +122 -0
  69. package/dist/cjs/toolbar/ImageDialog.native.js.map +1 -0
  70. package/dist/cjs/toolbar/LinkBubble.cjs +195 -0
  71. package/dist/cjs/toolbar/LinkBubble.native.js +204 -0
  72. package/dist/cjs/toolbar/LinkBubble.native.js.map +1 -0
  73. package/dist/cjs/toolbar/LinkDialog.cjs +138 -0
  74. package/dist/cjs/toolbar/LinkDialog.native.js +146 -0
  75. package/dist/cjs/toolbar/LinkDialog.native.js.map +1 -0
  76. package/dist/cjs/toolbar/ListPicker.cjs +117 -0
  77. package/dist/cjs/toolbar/ListPicker.native.js +124 -0
  78. package/dist/cjs/toolbar/ListPicker.native.js.map +1 -0
  79. package/dist/cjs/toolbar/MoreDropdown.cjs +201 -0
  80. package/dist/cjs/toolbar/MoreDropdown.native.js +224 -0
  81. package/dist/cjs/toolbar/MoreDropdown.native.js.map +1 -0
  82. package/dist/cjs/toolbar/ResizeHandle.cjs +105 -0
  83. package/dist/cjs/toolbar/ResizeHandle.native.js +109 -0
  84. package/dist/cjs/toolbar/ResizeHandle.native.js.map +1 -0
  85. package/dist/cjs/toolbar/StatusBar.cjs +91 -0
  86. package/dist/cjs/toolbar/StatusBar.native.js +100 -0
  87. package/dist/cjs/toolbar/StatusBar.native.js.map +1 -0
  88. package/dist/cjs/toolbar/TableBubble.cjs +232 -0
  89. package/dist/cjs/toolbar/TableBubble.native.js +273 -0
  90. package/dist/cjs/toolbar/TableBubble.native.js.map +1 -0
  91. package/dist/cjs/toolbar/ToolbarButton.cjs +105 -0
  92. package/dist/cjs/toolbar/ToolbarButton.native.js +97 -0
  93. package/dist/cjs/toolbar/ToolbarButton.native.js.map +1 -0
  94. package/dist/cjs/toolbar/ToolbarGroup.cjs +41 -0
  95. package/dist/cjs/toolbar/ToolbarGroup.native.js +45 -0
  96. package/dist/cjs/toolbar/ToolbarGroup.native.js.map +1 -0
  97. package/dist/cjs/toolbar/icons.cjs +601 -0
  98. package/dist/cjs/toolbar/icons.native.js +165 -0
  99. package/dist/cjs/toolbar/icons.native.js.map +1 -0
  100. package/dist/cjs/toolbar/shortcuts.cjs +62 -0
  101. package/dist/cjs/toolbar/shortcuts.native.js +66 -0
  102. package/dist/cjs/toolbar/shortcuts.native.js.map +1 -0
  103. package/dist/cjs/toolbar/useHorizontalScroll.cjs +250 -0
  104. package/dist/cjs/toolbar/useHorizontalScroll.native.js +260 -0
  105. package/dist/cjs/toolbar/useHorizontalScroll.native.js.map +1 -0
  106. package/dist/cjs/types.cjs +56 -0
  107. package/dist/cjs/types.native.js +59 -0
  108. package/dist/cjs/types.native.js.map +1 -0
  109. package/dist/esm/RichEditor.mjs +107 -0
  110. package/dist/esm/RichEditor.mjs.map +1 -0
  111. package/dist/esm/RichEditor.native.js +92 -0
  112. package/dist/esm/RichEditor.native.js.map +1 -0
  113. package/dist/esm/RichEditor.stories.mjs +291 -0
  114. package/dist/esm/RichEditor.stories.mjs.map +1 -0
  115. package/dist/esm/RichEditor.stories.native.js +303 -0
  116. package/dist/esm/RichEditor.stories.native.js.map +1 -0
  117. package/dist/esm/RichTextEditor/index.mjs +123 -0
  118. package/dist/esm/RichTextEditor/index.mjs.map +1 -0
  119. package/dist/esm/RichTextEditor/index.native.js +132 -0
  120. package/dist/esm/RichTextEditor/index.native.js.map +1 -0
  121. package/dist/esm/constants.mjs +108 -0
  122. package/dist/esm/constants.mjs.map +1 -0
  123. package/dist/esm/constants.native.js +108 -0
  124. package/dist/esm/constants.native.js.map +1 -0
  125. package/dist/esm/context.mjs +8 -0
  126. package/dist/esm/context.mjs.map +1 -0
  127. package/dist/esm/context.native.js +8 -0
  128. package/dist/esm/context.native.js.map +1 -0
  129. package/dist/esm/editor/BlockDragHandle.mjs +112 -0
  130. package/dist/esm/editor/BlockDragHandle.mjs.map +1 -0
  131. package/dist/esm/editor/BlockDragHandle.native.js +114 -0
  132. package/dist/esm/editor/BlockDragHandle.native.js.map +1 -0
  133. package/dist/esm/editor/MarkdownPaste.mjs +40 -0
  134. package/dist/esm/editor/MarkdownPaste.mjs.map +1 -0
  135. package/dist/esm/editor/MarkdownPaste.native.js +40 -0
  136. package/dist/esm/editor/MarkdownPaste.native.js.map +1 -0
  137. package/dist/esm/editor/SlashCommands.mjs +333 -0
  138. package/dist/esm/editor/SlashCommands.mjs.map +1 -0
  139. package/dist/esm/editor/SlashCommands.native.js +385 -0
  140. package/dist/esm/editor/SlashCommands.native.js.map +1 -0
  141. package/dist/esm/editor/TentapEditor.native.js +214 -0
  142. package/dist/esm/editor/TentapEditor.native.js.map +1 -0
  143. package/dist/esm/editor/TiptapEditor.mjs +542 -0
  144. package/dist/esm/editor/TiptapEditor.mjs.map +1 -0
  145. package/dist/esm/editor/TiptapEditor.native.js +622 -0
  146. package/dist/esm/editor/TiptapEditor.native.js.map +1 -0
  147. package/dist/esm/editor/editorStyles.mjs +247 -0
  148. package/dist/esm/editor/editorStyles.mjs.map +1 -0
  149. package/dist/esm/editor/editorStyles.native.js +248 -0
  150. package/dist/esm/editor/editorStyles.native.js.map +1 -0
  151. package/dist/esm/editor/index.mjs +5 -0
  152. package/dist/esm/editor/index.mjs.map +1 -0
  153. package/dist/esm/editor/index.native.js +5 -0
  154. package/dist/esm/editor/index.native.js.map +1 -0
  155. package/dist/esm/editor/types.mjs +29 -0
  156. package/dist/esm/editor/types.mjs.map +1 -0
  157. package/dist/esm/editor/types.native.js +29 -0
  158. package/dist/esm/editor/types.native.js.map +1 -0
  159. package/dist/esm/editor/useEditorState.mjs +102 -0
  160. package/dist/esm/editor/useEditorState.mjs.map +1 -0
  161. package/dist/esm/editor/useEditorState.native.js +105 -0
  162. package/dist/esm/editor/useEditorState.native.js.map +1 -0
  163. package/dist/esm/index.mjs +4 -0
  164. package/dist/esm/index.mjs.map +1 -0
  165. package/dist/esm/index.native.js +4 -0
  166. package/dist/esm/index.native.js.map +1 -0
  167. package/dist/esm/styled.mjs +144 -0
  168. package/dist/esm/styled.mjs.map +1 -0
  169. package/dist/esm/styled.native.js +153 -0
  170. package/dist/esm/styled.native.js.map +1 -0
  171. package/dist/esm/toolbar/BubbleToolbar.mjs +105 -0
  172. package/dist/esm/toolbar/BubbleToolbar.mjs.map +1 -0
  173. package/dist/esm/toolbar/BubbleToolbar.native.js +131 -0
  174. package/dist/esm/toolbar/BubbleToolbar.native.js.map +1 -0
  175. package/dist/esm/toolbar/CodeBlockBubble.mjs +186 -0
  176. package/dist/esm/toolbar/CodeBlockBubble.mjs.map +1 -0
  177. package/dist/esm/toolbar/CodeBlockBubble.native.js +200 -0
  178. package/dist/esm/toolbar/CodeBlockBubble.native.js.map +1 -0
  179. package/dist/esm/toolbar/ColorPicker.mjs +191 -0
  180. package/dist/esm/toolbar/ColorPicker.mjs.map +1 -0
  181. package/dist/esm/toolbar/ColorPicker.native.js +205 -0
  182. package/dist/esm/toolbar/ColorPicker.native.js.map +1 -0
  183. package/dist/esm/toolbar/FixedToolbar.mjs +196 -0
  184. package/dist/esm/toolbar/FixedToolbar.mjs.map +1 -0
  185. package/dist/esm/toolbar/FixedToolbar.native.js +294 -0
  186. package/dist/esm/toolbar/FixedToolbar.native.js.map +1 -0
  187. package/dist/esm/toolbar/HeadingPicker.mjs +133 -0
  188. package/dist/esm/toolbar/HeadingPicker.mjs.map +1 -0
  189. package/dist/esm/toolbar/HeadingPicker.native.js +139 -0
  190. package/dist/esm/toolbar/HeadingPicker.native.js.map +1 -0
  191. package/dist/esm/toolbar/ImageBubble.mjs +131 -0
  192. package/dist/esm/toolbar/ImageBubble.mjs.map +1 -0
  193. package/dist/esm/toolbar/ImageBubble.native.js +137 -0
  194. package/dist/esm/toolbar/ImageBubble.native.js.map +1 -0
  195. package/dist/esm/toolbar/ImageDialog.mjs +90 -0
  196. package/dist/esm/toolbar/ImageDialog.mjs.map +1 -0
  197. package/dist/esm/toolbar/ImageDialog.native.js +94 -0
  198. package/dist/esm/toolbar/ImageDialog.native.js.map +1 -0
  199. package/dist/esm/toolbar/LinkBubble.mjs +170 -0
  200. package/dist/esm/toolbar/LinkBubble.mjs.map +1 -0
  201. package/dist/esm/toolbar/LinkBubble.native.js +176 -0
  202. package/dist/esm/toolbar/LinkBubble.native.js.map +1 -0
  203. package/dist/esm/toolbar/LinkDialog.mjs +112 -0
  204. package/dist/esm/toolbar/LinkDialog.mjs.map +1 -0
  205. package/dist/esm/toolbar/LinkDialog.native.js +117 -0
  206. package/dist/esm/toolbar/LinkDialog.native.js.map +1 -0
  207. package/dist/esm/toolbar/ListPicker.mjs +92 -0
  208. package/dist/esm/toolbar/ListPicker.mjs.map +1 -0
  209. package/dist/esm/toolbar/ListPicker.native.js +96 -0
  210. package/dist/esm/toolbar/ListPicker.native.js.map +1 -0
  211. package/dist/esm/toolbar/MoreDropdown.mjs +176 -0
  212. package/dist/esm/toolbar/MoreDropdown.mjs.map +1 -0
  213. package/dist/esm/toolbar/MoreDropdown.native.js +196 -0
  214. package/dist/esm/toolbar/MoreDropdown.native.js.map +1 -0
  215. package/dist/esm/toolbar/ResizeHandle.mjs +80 -0
  216. package/dist/esm/toolbar/ResizeHandle.mjs.map +1 -0
  217. package/dist/esm/toolbar/ResizeHandle.native.js +81 -0
  218. package/dist/esm/toolbar/ResizeHandle.native.js.map +1 -0
  219. package/dist/esm/toolbar/StatusBar.mjs +66 -0
  220. package/dist/esm/toolbar/StatusBar.mjs.map +1 -0
  221. package/dist/esm/toolbar/StatusBar.native.js +72 -0
  222. package/dist/esm/toolbar/StatusBar.native.js.map +1 -0
  223. package/dist/esm/toolbar/TableBubble.mjs +207 -0
  224. package/dist/esm/toolbar/TableBubble.mjs.map +1 -0
  225. package/dist/esm/toolbar/TableBubble.native.js +245 -0
  226. package/dist/esm/toolbar/TableBubble.native.js.map +1 -0
  227. package/dist/esm/toolbar/ToolbarButton.mjs +79 -0
  228. package/dist/esm/toolbar/ToolbarButton.mjs.map +1 -0
  229. package/dist/esm/toolbar/ToolbarButton.native.js +68 -0
  230. package/dist/esm/toolbar/ToolbarButton.native.js.map +1 -0
  231. package/dist/esm/toolbar/ToolbarGroup.mjs +16 -0
  232. package/dist/esm/toolbar/ToolbarGroup.mjs.map +1 -0
  233. package/dist/esm/toolbar/ToolbarGroup.native.js +17 -0
  234. package/dist/esm/toolbar/ToolbarGroup.native.js.map +1 -0
  235. package/dist/esm/toolbar/icons.mjs +554 -0
  236. package/dist/esm/toolbar/icons.mjs.map +1 -0
  237. package/dist/esm/toolbar/icons.native.js +115 -0
  238. package/dist/esm/toolbar/icons.native.js.map +1 -0
  239. package/dist/esm/toolbar/shortcuts.mjs +36 -0
  240. package/dist/esm/toolbar/shortcuts.mjs.map +1 -0
  241. package/dist/esm/toolbar/shortcuts.native.js +37 -0
  242. package/dist/esm/toolbar/shortcuts.native.js.map +1 -0
  243. package/dist/esm/toolbar/useHorizontalScroll.mjs +223 -0
  244. package/dist/esm/toolbar/useHorizontalScroll.mjs.map +1 -0
  245. package/dist/esm/toolbar/useHorizontalScroll.native.js +230 -0
  246. package/dist/esm/toolbar/useHorizontalScroll.native.js.map +1 -0
  247. package/dist/esm/types.mjs +31 -0
  248. package/dist/esm/types.mjs.map +1 -0
  249. package/dist/esm/types.native.js +31 -0
  250. package/dist/esm/types.native.js.map +1 -0
  251. package/dist/jsx/RichEditor.mjs +107 -0
  252. package/dist/jsx/RichEditor.mjs.map +1 -0
  253. package/dist/jsx/RichEditor.native.js +120 -0
  254. package/dist/jsx/RichEditor.native.js.map +1 -0
  255. package/dist/jsx/RichEditor.stories.mjs +291 -0
  256. package/dist/jsx/RichEditor.stories.mjs.map +1 -0
  257. package/dist/jsx/RichEditor.stories.native.js +342 -0
  258. package/dist/jsx/RichEditor.stories.native.js.map +1 -0
  259. package/dist/jsx/RichTextEditor/index.mjs +123 -0
  260. package/dist/jsx/RichTextEditor/index.mjs.map +1 -0
  261. package/dist/jsx/RichTextEditor/index.native.js +160 -0
  262. package/dist/jsx/RichTextEditor/index.native.js.map +1 -0
  263. package/dist/jsx/constants.mjs +108 -0
  264. package/dist/jsx/constants.mjs.map +1 -0
  265. package/dist/jsx/constants.native.js +138 -0
  266. package/dist/jsx/constants.native.js.map +1 -0
  267. package/dist/jsx/context.mjs +8 -0
  268. package/dist/jsx/context.mjs.map +1 -0
  269. package/dist/jsx/context.native.js +36 -0
  270. package/dist/jsx/context.native.js.map +1 -0
  271. package/dist/jsx/editor/BlockDragHandle.mjs +112 -0
  272. package/dist/jsx/editor/BlockDragHandle.mjs.map +1 -0
  273. package/dist/jsx/editor/BlockDragHandle.native.js +142 -0
  274. package/dist/jsx/editor/BlockDragHandle.native.js.map +1 -0
  275. package/dist/jsx/editor/MarkdownPaste.mjs +40 -0
  276. package/dist/jsx/editor/MarkdownPaste.mjs.map +1 -0
  277. package/dist/jsx/editor/MarkdownPaste.native.js +68 -0
  278. package/dist/jsx/editor/MarkdownPaste.native.js.map +1 -0
  279. package/dist/jsx/editor/SlashCommands.mjs +333 -0
  280. package/dist/jsx/editor/SlashCommands.mjs.map +1 -0
  281. package/dist/jsx/editor/SlashCommands.native.js +424 -0
  282. package/dist/jsx/editor/SlashCommands.native.js.map +1 -0
  283. package/dist/jsx/editor/TentapEditor.native.js +242 -0
  284. package/dist/jsx/editor/TentapEditor.native.js.map +1 -0
  285. package/dist/jsx/editor/TiptapEditor.mjs +542 -0
  286. package/dist/jsx/editor/TiptapEditor.mjs.map +1 -0
  287. package/dist/jsx/editor/TiptapEditor.native.js +661 -0
  288. package/dist/jsx/editor/TiptapEditor.native.js.map +1 -0
  289. package/dist/jsx/editor/editorStyles.mjs +247 -0
  290. package/dist/jsx/editor/editorStyles.mjs.map +1 -0
  291. package/dist/jsx/editor/editorStyles.native.js +276 -0
  292. package/dist/jsx/editor/editorStyles.native.js.map +1 -0
  293. package/dist/jsx/editor/index.mjs +5 -0
  294. package/dist/jsx/editor/index.mjs.map +1 -0
  295. package/dist/jsx/editor/index.native.js +36 -0
  296. package/dist/jsx/editor/index.native.js.map +1 -0
  297. package/dist/jsx/editor/types.mjs +29 -0
  298. package/dist/jsx/editor/types.mjs.map +1 -0
  299. package/dist/jsx/editor/types.native.js +57 -0
  300. package/dist/jsx/editor/types.native.js.map +1 -0
  301. package/dist/jsx/editor/useEditorState.mjs +102 -0
  302. package/dist/jsx/editor/useEditorState.mjs.map +1 -0
  303. package/dist/jsx/editor/useEditorState.native.js +135 -0
  304. package/dist/jsx/editor/useEditorState.native.js.map +1 -0
  305. package/dist/jsx/index.js +4 -0
  306. package/dist/jsx/index.js.map +1 -0
  307. package/dist/jsx/index.mjs +4 -0
  308. package/dist/jsx/index.mjs.map +1 -0
  309. package/dist/jsx/index.native.js +33 -0
  310. package/dist/jsx/index.native.js.map +1 -0
  311. package/dist/jsx/styled.mjs +144 -0
  312. package/dist/jsx/styled.mjs.map +1 -0
  313. package/dist/jsx/styled.native.js +185 -0
  314. package/dist/jsx/styled.native.js.map +1 -0
  315. package/dist/jsx/toolbar/BubbleToolbar.mjs +105 -0
  316. package/dist/jsx/toolbar/BubbleToolbar.mjs.map +1 -0
  317. package/dist/jsx/toolbar/BubbleToolbar.native.js +159 -0
  318. package/dist/jsx/toolbar/BubbleToolbar.native.js.map +1 -0
  319. package/dist/jsx/toolbar/CodeBlockBubble.mjs +186 -0
  320. package/dist/jsx/toolbar/CodeBlockBubble.mjs.map +1 -0
  321. package/dist/jsx/toolbar/CodeBlockBubble.native.js +228 -0
  322. package/dist/jsx/toolbar/CodeBlockBubble.native.js.map +1 -0
  323. package/dist/jsx/toolbar/ColorPicker.mjs +191 -0
  324. package/dist/jsx/toolbar/ColorPicker.mjs.map +1 -0
  325. package/dist/jsx/toolbar/ColorPicker.native.js +234 -0
  326. package/dist/jsx/toolbar/ColorPicker.native.js.map +1 -0
  327. package/dist/jsx/toolbar/FixedToolbar.mjs +196 -0
  328. package/dist/jsx/toolbar/FixedToolbar.mjs.map +1 -0
  329. package/dist/jsx/toolbar/FixedToolbar.native.js +322 -0
  330. package/dist/jsx/toolbar/FixedToolbar.native.js.map +1 -0
  331. package/dist/jsx/toolbar/HeadingPicker.mjs +133 -0
  332. package/dist/jsx/toolbar/HeadingPicker.mjs.map +1 -0
  333. package/dist/jsx/toolbar/HeadingPicker.native.js +167 -0
  334. package/dist/jsx/toolbar/HeadingPicker.native.js.map +1 -0
  335. package/dist/jsx/toolbar/ImageBubble.mjs +131 -0
  336. package/dist/jsx/toolbar/ImageBubble.mjs.map +1 -0
  337. package/dist/jsx/toolbar/ImageBubble.native.js +165 -0
  338. package/dist/jsx/toolbar/ImageBubble.native.js.map +1 -0
  339. package/dist/jsx/toolbar/ImageDialog.mjs +90 -0
  340. package/dist/jsx/toolbar/ImageDialog.mjs.map +1 -0
  341. package/dist/jsx/toolbar/ImageDialog.native.js +122 -0
  342. package/dist/jsx/toolbar/ImageDialog.native.js.map +1 -0
  343. package/dist/jsx/toolbar/LinkBubble.mjs +170 -0
  344. package/dist/jsx/toolbar/LinkBubble.mjs.map +1 -0
  345. package/dist/jsx/toolbar/LinkBubble.native.js +204 -0
  346. package/dist/jsx/toolbar/LinkBubble.native.js.map +1 -0
  347. package/dist/jsx/toolbar/LinkDialog.mjs +112 -0
  348. package/dist/jsx/toolbar/LinkDialog.mjs.map +1 -0
  349. package/dist/jsx/toolbar/LinkDialog.native.js +146 -0
  350. package/dist/jsx/toolbar/LinkDialog.native.js.map +1 -0
  351. package/dist/jsx/toolbar/ListPicker.mjs +92 -0
  352. package/dist/jsx/toolbar/ListPicker.mjs.map +1 -0
  353. package/dist/jsx/toolbar/ListPicker.native.js +124 -0
  354. package/dist/jsx/toolbar/ListPicker.native.js.map +1 -0
  355. package/dist/jsx/toolbar/MoreDropdown.mjs +176 -0
  356. package/dist/jsx/toolbar/MoreDropdown.mjs.map +1 -0
  357. package/dist/jsx/toolbar/MoreDropdown.native.js +224 -0
  358. package/dist/jsx/toolbar/MoreDropdown.native.js.map +1 -0
  359. package/dist/jsx/toolbar/ResizeHandle.mjs +80 -0
  360. package/dist/jsx/toolbar/ResizeHandle.mjs.map +1 -0
  361. package/dist/jsx/toolbar/ResizeHandle.native.js +109 -0
  362. package/dist/jsx/toolbar/ResizeHandle.native.js.map +1 -0
  363. package/dist/jsx/toolbar/StatusBar.mjs +66 -0
  364. package/dist/jsx/toolbar/StatusBar.mjs.map +1 -0
  365. package/dist/jsx/toolbar/StatusBar.native.js +100 -0
  366. package/dist/jsx/toolbar/StatusBar.native.js.map +1 -0
  367. package/dist/jsx/toolbar/TableBubble.mjs +207 -0
  368. package/dist/jsx/toolbar/TableBubble.mjs.map +1 -0
  369. package/dist/jsx/toolbar/TableBubble.native.js +273 -0
  370. package/dist/jsx/toolbar/TableBubble.native.js.map +1 -0
  371. package/dist/jsx/toolbar/ToolbarButton.mjs +79 -0
  372. package/dist/jsx/toolbar/ToolbarButton.mjs.map +1 -0
  373. package/dist/jsx/toolbar/ToolbarButton.native.js +97 -0
  374. package/dist/jsx/toolbar/ToolbarButton.native.js.map +1 -0
  375. package/dist/jsx/toolbar/ToolbarGroup.mjs +16 -0
  376. package/dist/jsx/toolbar/ToolbarGroup.mjs.map +1 -0
  377. package/dist/jsx/toolbar/ToolbarGroup.native.js +45 -0
  378. package/dist/jsx/toolbar/ToolbarGroup.native.js.map +1 -0
  379. package/dist/jsx/toolbar/icons.mjs +554 -0
  380. package/dist/jsx/toolbar/icons.mjs.map +1 -0
  381. package/dist/jsx/toolbar/icons.native.js +165 -0
  382. package/dist/jsx/toolbar/icons.native.js.map +1 -0
  383. package/dist/jsx/toolbar/shortcuts.mjs +36 -0
  384. package/dist/jsx/toolbar/shortcuts.mjs.map +1 -0
  385. package/dist/jsx/toolbar/shortcuts.native.js +66 -0
  386. package/dist/jsx/toolbar/shortcuts.native.js.map +1 -0
  387. package/dist/jsx/toolbar/useHorizontalScroll.mjs +223 -0
  388. package/dist/jsx/toolbar/useHorizontalScroll.mjs.map +1 -0
  389. package/dist/jsx/toolbar/useHorizontalScroll.native.js +260 -0
  390. package/dist/jsx/toolbar/useHorizontalScroll.native.js.map +1 -0
  391. package/dist/jsx/types.mjs +31 -0
  392. package/dist/jsx/types.mjs.map +1 -0
  393. package/dist/jsx/types.native.js +59 -0
  394. package/dist/jsx/types.native.js.map +1 -0
  395. package/package.json +117 -0
  396. package/src/RichEditor.native.tsx +161 -0
  397. package/src/RichEditor.stories.tsx +324 -0
  398. package/src/RichEditor.tsx +185 -0
  399. package/src/RichTextEditor/index.tsx +245 -0
  400. package/src/RichTextEditor/richTextEditor.spec.tsx +239 -0
  401. package/src/constants.ts +100 -0
  402. package/src/context.spec.ts +9 -0
  403. package/src/context.ts +16 -0
  404. package/src/editor/BlockDragHandle.ts +141 -0
  405. package/src/editor/MarkdownPaste.ts +50 -0
  406. package/src/editor/SlashCommands.tsx +357 -0
  407. package/src/editor/TentapEditor.native.tsx +269 -0
  408. package/src/editor/TiptapEditor.tsx +616 -0
  409. package/src/editor/editorStyles.spec.ts +24 -0
  410. package/src/editor/editorStyles.ts +260 -0
  411. package/src/editor/index.ts +10 -0
  412. package/src/editor/tentapEditor.spec.ts +125 -0
  413. package/src/editor/tiptapEditor.spec.tsx +169 -0
  414. package/src/editor/types.ts +142 -0
  415. package/src/editor/useEditorState.spec.ts +93 -0
  416. package/src/editor/useEditorState.ts +125 -0
  417. package/src/exports.spec.ts +128 -0
  418. package/src/index.ts +13 -0
  419. package/src/integration.spec.tsx +430 -0
  420. package/src/richEditor.spec.tsx +169 -0
  421. package/src/styled.spec.tsx +42 -0
  422. package/src/styled.ts +177 -0
  423. package/src/toolbar/BubbleToolbar.tsx +151 -0
  424. package/src/toolbar/CodeBlockBubble.tsx +141 -0
  425. package/src/toolbar/ColorPicker.tsx +211 -0
  426. package/src/toolbar/FixedToolbar.native.tsx +381 -0
  427. package/src/toolbar/FixedToolbar.tsx +252 -0
  428. package/src/toolbar/HeadingPicker.tsx +169 -0
  429. package/src/toolbar/ImageBubble.tsx +126 -0
  430. package/src/toolbar/ImageDialog.tsx +93 -0
  431. package/src/toolbar/LinkBubble.tsx +166 -0
  432. package/src/toolbar/LinkDialog.tsx +124 -0
  433. package/src/toolbar/ListPicker.tsx +121 -0
  434. package/src/toolbar/MoreDropdown.tsx +185 -0
  435. package/src/toolbar/ResizeHandle.tsx +80 -0
  436. package/src/toolbar/StatusBar.tsx +76 -0
  437. package/src/toolbar/TableBubble.tsx +197 -0
  438. package/src/toolbar/ToolbarButton.native.tsx +105 -0
  439. package/src/toolbar/ToolbarButton.tsx +114 -0
  440. package/src/toolbar/ToolbarGroup.tsx +38 -0
  441. package/src/toolbar/bubbleToolbar.spec.tsx +93 -0
  442. package/src/toolbar/fixedToolbar.spec.tsx +127 -0
  443. package/src/toolbar/icons.native.tsx +112 -0
  444. package/src/toolbar/icons.tsx +417 -0
  445. package/src/toolbar/shortcuts.ts +42 -0
  446. package/src/toolbar/toolbarPrimitives.spec.tsx +118 -0
  447. package/src/toolbar/toolbarSubComponents.spec.tsx +115 -0
  448. package/src/toolbar/useHorizontalScroll.tsx +270 -0
  449. package/src/types.spec.ts +102 -0
  450. package/src/types.ts +217 -0
@@ -0,0 +1,542 @@
1
+ import { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
2
+ import { useEditor, EditorContent } from "@tiptap/react";
3
+ import { Extension } from "@tiptap/core";
4
+ import StarterKit from "@tiptap/starter-kit";
5
+ import Placeholder from "@tiptap/extension-placeholder";
6
+ import TextAlign from "@tiptap/extension-text-align";
7
+ import { Color } from "@tiptap/extension-color";
8
+ import { TextStyle } from "@tiptap/extension-text-style";
9
+ import { Highlight } from "@tiptap/extension-highlight";
10
+ import { Subscript } from "@tiptap/extension-subscript";
11
+ import { Superscript } from "@tiptap/extension-superscript";
12
+ import TaskList from "@tiptap/extension-task-list";
13
+ import TaskItem from "@tiptap/extension-task-item";
14
+ import Image from "@tiptap/extension-image";
15
+ import CodeBlockLowlight from "@tiptap/extension-code-block-lowlight";
16
+ import Typography from "@tiptap/extension-typography";
17
+ import CharacterCount from "@tiptap/extension-character-count";
18
+ import { Table } from "@tiptap/extension-table";
19
+ import { TableRow } from "@tiptap/extension-table-row";
20
+ import { TableHeader } from "@tiptap/extension-table-header";
21
+ import { TableCell } from "@tiptap/extension-table-cell";
22
+ import { common, createLowlight } from "lowlight";
23
+ import TurndownService from "turndown";
24
+ import { marked } from "marked";
25
+ import { View, styled } from "tamagui";
26
+ import { isWeb } from "@tamagui/constants";
27
+ import { defaultEditorState } from "../types.mjs";
28
+ import { RichEditorContext } from "../context.mjs";
29
+ import { getEditorCSS } from "./editorStyles.mjs";
30
+ import { SlashCommands } from "./SlashCommands.mjs";
31
+ import { MarkdownPaste } from "./MarkdownPaste.mjs";
32
+ import { BlockDragHandle } from "./BlockDragHandle.mjs";
33
+ import { getEditorStateFromTiptap } from "./useEditorState.mjs";
34
+ import { BubbleToolbar } from "../toolbar/BubbleToolbar.mjs";
35
+ import { LinkBubble } from "../toolbar/LinkBubble.mjs";
36
+ import { CodeBlockBubble } from "../toolbar/CodeBlockBubble.mjs";
37
+ import { ImageBubble } from "../toolbar/ImageBubble.mjs";
38
+ import { TableBubble } from "../toolbar/TableBubble.mjs";
39
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
40
+ const lowlight = createLowlight(common);
41
+ const turndownService = new TurndownService({
42
+ headingStyle: "atx",
43
+ codeBlockStyle: "fenced"
44
+ });
45
+ const CodeBlockTabIndent = Extension.create({
46
+ name: "codeBlockTabIndent",
47
+ addKeyboardShortcuts() {
48
+ return {
49
+ Tab: ({
50
+ editor
51
+ }) => {
52
+ if (!editor.isActive("codeBlock")) return false;
53
+ const {
54
+ state,
55
+ dispatch
56
+ } = editor.view;
57
+ const {
58
+ from,
59
+ to
60
+ } = state.selection;
61
+ if (from === to) {
62
+ dispatch(state.tr.insertText(" ", from, to));
63
+ return true;
64
+ }
65
+ const doc = state.doc;
66
+ const lines = [];
67
+ doc.nodesBetween(from, to, (node, pos) => {
68
+ if (node.isTextblock) {
69
+ lines.push({
70
+ start: pos + 1
71
+ });
72
+ }
73
+ });
74
+ if (lines.length === 0) {
75
+ dispatch(state.tr.insertText(" ", from, to));
76
+ return true;
77
+ }
78
+ let tr = state.tr;
79
+ let offset = 0;
80
+ for (const line of lines) {
81
+ const lineStart = line.start + offset;
82
+ tr = tr.insertText(" ", lineStart);
83
+ offset += 2;
84
+ }
85
+ dispatch(tr);
86
+ return true;
87
+ },
88
+ "Shift-Tab": ({
89
+ editor
90
+ }) => {
91
+ if (!editor.isActive("codeBlock")) return false;
92
+ const {
93
+ state,
94
+ dispatch
95
+ } = editor.view;
96
+ const {
97
+ from,
98
+ to,
99
+ $from
100
+ } = state.selection;
101
+ if (from === to) {
102
+ const lineStart = from - $from.parentOffset;
103
+ const text = state.doc.textBetween(lineStart, from);
104
+ const leadingSpaces = text.match(/^ {1,2}/)?.[0];
105
+ if (leadingSpaces) {
106
+ dispatch(state.tr.delete(lineStart, lineStart + leadingSpaces.length));
107
+ }
108
+ return true;
109
+ }
110
+ const doc = state.doc;
111
+ let tr = state.tr;
112
+ let offset = 0;
113
+ doc.nodesBetween(from, to, (node, pos) => {
114
+ if (node.isTextblock) {
115
+ const lineStart = pos + 1 + offset;
116
+ const text = tr.doc.textBetween(lineStart, Math.min(lineStart + node.content.size, tr.doc.content.size));
117
+ const leadingSpaces = text.match(/^ {1,2}/)?.[0];
118
+ if (leadingSpaces) {
119
+ tr = tr.delete(lineStart, lineStart + leadingSpaces.length);
120
+ offset -= leadingSpaces.length;
121
+ }
122
+ }
123
+ });
124
+ dispatch(tr);
125
+ return true;
126
+ }
127
+ };
128
+ }
129
+ });
130
+ const ParagraphEnterKeys = Extension.create({
131
+ name: "paragraphEnterKeys",
132
+ priority: 1e3,
133
+ addKeyboardShortcuts() {
134
+ return {
135
+ "Shift-Enter": ({
136
+ editor
137
+ }) => editor.commands.first([() => editor.commands.newlineInCode(), () => editor.commands.splitListItem("listItem"), () => editor.commands.createParagraphNear(), () => editor.commands.liftEmptyBlock(), () => editor.commands.splitBlock()]),
138
+ "Mod-Enter": ({
139
+ editor
140
+ }) => editor.commands.first([() => editor.commands.newlineInCode(), () => editor.commands.createParagraphNear(), () => editor.commands.liftEmptyBlock(), () => editor.commands.splitBlock()])
141
+ };
142
+ }
143
+ });
144
+ const ListItemKeys = Extension.create({
145
+ name: "listItemKeys",
146
+ addKeyboardShortcuts() {
147
+ return {
148
+ Tab: ({
149
+ editor
150
+ }) => {
151
+ if (editor.isActive("codeBlock")) return false;
152
+ if (editor.isActive("bulletList") || editor.isActive("orderedList") || editor.isActive("taskList")) {
153
+ return editor.commands.sinkListItem("listItem") || editor.commands.sinkListItem("taskItem");
154
+ }
155
+ return false;
156
+ },
157
+ "Shift-Tab": ({
158
+ editor
159
+ }) => {
160
+ if (editor.isActive("codeBlock")) return false;
161
+ if (editor.isActive("bulletList") || editor.isActive("orderedList") || editor.isActive("taskList")) {
162
+ return editor.commands.liftListItem("listItem") || editor.commands.liftListItem("taskItem");
163
+ }
164
+ return false;
165
+ }
166
+ };
167
+ }
168
+ });
169
+ const EditorContainer = styled(View, {
170
+ name: "TiptapEditorContainer",
171
+ flex: 1,
172
+ minHeight: 150,
173
+ overflow: "hidden"
174
+ });
175
+ const TiptapEditor = memo(forwardRef(({
176
+ initialContent = "",
177
+ initialJSON,
178
+ placeholder = "Start writing...",
179
+ editable = true,
180
+ autoFocus = false,
181
+ onChange,
182
+ onStateChange,
183
+ onFocus,
184
+ onBlur,
185
+ minHeight = 150,
186
+ maxHeight,
187
+ hasError: _hasError,
188
+ showBubbleToolbar = false,
189
+ bodyFontFamily,
190
+ headingFontFamily,
191
+ editorMode = "richtext"
192
+ }, ref) => {
193
+ const _ctx = RichEditorContext.useStyledContext();
194
+ const internalRef = useRef(null);
195
+ const stateRafRef = useRef(0);
196
+ const changeRafRef = useRef(0);
197
+ const onStateChangeRef = useRef(onStateChange);
198
+ const onChangeRef = useRef(onChange);
199
+ const [markdownSource, setMarkdownSource] = useState("");
200
+ const prevModeRef = useRef(editorMode);
201
+ useEffect(() => {
202
+ onStateChangeRef.current = onStateChange;
203
+ onChangeRef.current = onChange;
204
+ });
205
+ const editor = useEditor({
206
+ extensions: [StarterKit.configure({
207
+ heading: {
208
+ levels: [1, 2, 3, 4, 5, 6],
209
+ HTMLAttributes: {
210
+ dir: "auto"
211
+ }
212
+ },
213
+ paragraph: {
214
+ HTMLAttributes: {
215
+ dir: "auto"
216
+ }
217
+ },
218
+ link: {
219
+ openOnClick: false,
220
+ HTMLAttributes: {
221
+ rel: "noopener noreferrer",
222
+ target: "_blank"
223
+ }
224
+ },
225
+ bulletList: {
226
+ keepMarks: true
227
+ },
228
+ orderedList: {
229
+ keepMarks: true
230
+ },
231
+ codeBlock: false,
232
+ hardBreak: false
233
+ }), CodeBlockLowlight.configure({
234
+ lowlight,
235
+ exitOnTripleEnter: true,
236
+ exitOnArrowDown: false
237
+ }), ParagraphEnterKeys, CodeBlockTabIndent, ListItemKeys, Typography, CharacterCount, SlashCommands, MarkdownPaste, BlockDragHandle, Table.configure({
238
+ resizable: true
239
+ }), TableRow, TableHeader, TableCell, Placeholder.configure({
240
+ placeholder
241
+ }), TextAlign.configure({
242
+ types: ["heading", "paragraph"],
243
+ defaultAlignment: "left"
244
+ }), TextStyle, Color, Highlight.configure({
245
+ multicolor: true
246
+ }), Subscript, Superscript, TaskList, TaskItem.configure({
247
+ nested: true
248
+ }), Image.configure({
249
+ inline: true,
250
+ allowBase64: true
251
+ })],
252
+ content: initialJSON || initialContent,
253
+ editable,
254
+ autofocus: autoFocus,
255
+ injectCSS: false,
256
+ immediatelyRender: false,
257
+ shouldRerenderOnTransaction: false,
258
+ onUpdate: ({
259
+ editor: editor2
260
+ }) => {
261
+ cancelAnimationFrame(changeRafRef.current);
262
+ changeRafRef.current = requestAnimationFrame(() => {
263
+ const html = editor2.getHTML();
264
+ const json = editor2.getJSON();
265
+ onChangeRef.current?.(html, json);
266
+ });
267
+ },
268
+ onTransaction: ({
269
+ editor: editor2
270
+ }) => {
271
+ cancelAnimationFrame(stateRafRef.current);
272
+ stateRafRef.current = requestAnimationFrame(() => {
273
+ onStateChangeRef.current?.(getEditorStateFromTiptap(editor2));
274
+ });
275
+ },
276
+ onFocus: () => onFocus?.(),
277
+ onBlur: () => onBlur?.()
278
+ });
279
+ useEffect(() => {
280
+ if (!editor) return;
281
+ if (prevModeRef.current === editorMode) return;
282
+ prevModeRef.current = editorMode;
283
+ if (editorMode === "markdown") {
284
+ setMarkdownSource(turndownService.turndown(editor.getHTML()));
285
+ } else {
286
+ const html = marked.parse(markdownSource, {
287
+ async: false
288
+ });
289
+ editor.commands.setContent(html);
290
+ }
291
+ }, [editorMode, editor, markdownSource]);
292
+ const handleMarkdownChange = useCallback(e => {
293
+ const md = e.target.value;
294
+ setMarkdownSource(md);
295
+ const html = marked.parse(md, {
296
+ async: false
297
+ });
298
+ onChangeRef.current?.(html, null);
299
+ }, []);
300
+ const executeCommand = useCallback((command, payload) => {
301
+ if (!editor) return;
302
+ const chain = editor.chain().focus();
303
+ switch (command) {
304
+ case "bold":
305
+ chain.toggleBold().run();
306
+ break;
307
+ case "italic":
308
+ chain.toggleItalic().run();
309
+ break;
310
+ case "underline":
311
+ chain.toggleUnderline().run();
312
+ break;
313
+ case "strike":
314
+ chain.toggleStrike().run();
315
+ break;
316
+ case "code":
317
+ chain.toggleCode().run();
318
+ break;
319
+ case "subscript":
320
+ chain.toggleSubscript().run();
321
+ break;
322
+ case "superscript":
323
+ chain.toggleSuperscript().run();
324
+ break;
325
+ case "heading1":
326
+ chain.toggleHeading({
327
+ level: 1
328
+ }).run();
329
+ break;
330
+ case "heading2":
331
+ chain.toggleHeading({
332
+ level: 2
333
+ }).run();
334
+ break;
335
+ case "heading3":
336
+ chain.toggleHeading({
337
+ level: 3
338
+ }).run();
339
+ break;
340
+ case "heading4":
341
+ chain.toggleHeading({
342
+ level: 4
343
+ }).run();
344
+ break;
345
+ case "heading5":
346
+ chain.toggleHeading({
347
+ level: 5
348
+ }).run();
349
+ break;
350
+ case "heading6":
351
+ chain.toggleHeading({
352
+ level: 6
353
+ }).run();
354
+ break;
355
+ case "paragraph":
356
+ chain.setParagraph().run();
357
+ break;
358
+ case "bulletList":
359
+ chain.toggleBulletList().run();
360
+ break;
361
+ case "orderedList":
362
+ chain.toggleOrderedList().run();
363
+ break;
364
+ case "taskList":
365
+ chain.toggleTaskList().run();
366
+ break;
367
+ case "image":
368
+ if (payload?.src) {
369
+ chain.setImage({
370
+ src: payload.src,
371
+ alt: payload.alt || ""
372
+ }).run();
373
+ }
374
+ break;
375
+ case "blockquote":
376
+ chain.toggleBlockquote().run();
377
+ break;
378
+ case "codeBlock":
379
+ chain.toggleCodeBlock().run();
380
+ break;
381
+ case "link":
382
+ if (payload?.href) {
383
+ chain.setLink({
384
+ href: payload.href
385
+ }).run();
386
+ } else {
387
+ chain.unsetLink().run();
388
+ }
389
+ break;
390
+ case "undo":
391
+ chain.undo().run();
392
+ break;
393
+ case "redo":
394
+ chain.redo().run();
395
+ break;
396
+ case "alignLeft":
397
+ chain.setTextAlign("left").run();
398
+ break;
399
+ case "alignCenter":
400
+ chain.setTextAlign("center").run();
401
+ break;
402
+ case "alignRight":
403
+ chain.setTextAlign("right").run();
404
+ break;
405
+ case "alignJustify":
406
+ chain.setTextAlign("justify").run();
407
+ break;
408
+ case "textColor":
409
+ if (payload?.color) {
410
+ chain.setColor(payload.color).run();
411
+ } else {
412
+ chain.unsetColor().run();
413
+ }
414
+ break;
415
+ case "highlight":
416
+ if (payload?.color) {
417
+ chain.setHighlight({
418
+ color: payload.color
419
+ }).run();
420
+ } else {
421
+ chain.unsetHighlight().run();
422
+ }
423
+ break;
424
+ case "horizontalRule":
425
+ chain.setHorizontalRule().run();
426
+ break;
427
+ case "clearFormatting":
428
+ chain.unsetAllMarks().clearNodes().run();
429
+ break;
430
+ case "insertTable":
431
+ chain.insertTable({
432
+ rows: payload?.rows ?? 3,
433
+ cols: payload?.cols ?? 3,
434
+ withHeaderRow: payload?.withHeaderRow ?? true
435
+ }).run();
436
+ break;
437
+ case "addColumnBefore":
438
+ chain.addColumnBefore().run();
439
+ break;
440
+ case "addColumnAfter":
441
+ chain.addColumnAfter().run();
442
+ break;
443
+ case "deleteColumn":
444
+ chain.deleteColumn().run();
445
+ break;
446
+ case "addRowBefore":
447
+ chain.addRowBefore().run();
448
+ break;
449
+ case "addRowAfter":
450
+ chain.addRowAfter().run();
451
+ break;
452
+ case "deleteRow":
453
+ chain.deleteRow().run();
454
+ break;
455
+ case "deleteTable":
456
+ chain.deleteTable().run();
457
+ break;
458
+ case "mergeCells":
459
+ chain.mergeCells().run();
460
+ break;
461
+ case "splitCell":
462
+ chain.splitCell().run();
463
+ break;
464
+ case "toggleHeaderRow":
465
+ chain.toggleHeaderRow().run();
466
+ break;
467
+ }
468
+ }, [editor]);
469
+ const refMethods = useMemo(() => ({
470
+ executeCommand,
471
+ getState: () => getEditorStateFromTiptap(editor),
472
+ getHTML: () => editor?.getHTML() || "",
473
+ getJSON: () => editor?.getJSON() || null,
474
+ setHTML: html => editor?.commands.setContent(html),
475
+ setJSON: json => editor?.commands.setContent(json),
476
+ focus: () => editor?.commands.focus(),
477
+ blur: () => editor?.commands.blur()
478
+ }), [editor, executeCommand]);
479
+ useImperativeHandle(ref, () => refMethods, [refMethods]);
480
+ internalRef.current = refMethods;
481
+ const editorCSS = useMemo(() => getEditorCSS({
482
+ minHeight,
483
+ maxHeight,
484
+ bodyFontFamily,
485
+ headingFontFamily
486
+ }), [minHeight, maxHeight, bodyFontFamily, headingFontFamily]);
487
+ if (editorMode === "markdown") {
488
+ return /* @__PURE__ */jsx(EditorContainer, {
489
+ minHeight,
490
+ maxHeight,
491
+ overflow: "hidden",
492
+ children: /* @__PURE__ */jsx("textarea", {
493
+ value: markdownSource,
494
+ onChange: handleMarkdownChange,
495
+ style: {
496
+ width: "100%",
497
+ minHeight,
498
+ maxHeight: maxHeight || void 0,
499
+ padding: "12px 12px 12px 16px",
500
+ border: "none",
501
+ outline: "none",
502
+ resize: "none",
503
+ background: "transparent",
504
+ color: "inherit",
505
+ fontFamily: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",
506
+ fontSize: "0.875em",
507
+ lineHeight: "1.6",
508
+ overflow: "auto",
509
+ boxSizing: "border-box"
510
+ },
511
+ spellCheck: false
512
+ })
513
+ });
514
+ }
515
+ return /* @__PURE__ */jsxs(EditorContainer, {
516
+ minHeight,
517
+ maxHeight,
518
+ overflow: "hidden",
519
+ children: [isWeb && /* @__PURE__ */jsx("style", {
520
+ children: editorCSS
521
+ }), showBubbleToolbar && /* @__PURE__ */jsxs(Fragment, {
522
+ children: [/* @__PURE__ */jsx(BubbleToolbar, {
523
+ editor,
524
+ editorRef: internalRef,
525
+ state: defaultEditorState
526
+ }), /* @__PURE__ */jsx(LinkBubble, {
527
+ editor
528
+ }), /* @__PURE__ */jsx(CodeBlockBubble, {
529
+ editor
530
+ }), /* @__PURE__ */jsx(ImageBubble, {
531
+ editor
532
+ }), /* @__PURE__ */jsx(TableBubble, {
533
+ editor
534
+ })]
535
+ }), /* @__PURE__ */jsx(EditorContent, {
536
+ editor
537
+ })]
538
+ });
539
+ }));
540
+ TiptapEditor.displayName = "TiptapEditor";
541
+ export { TiptapEditor };
542
+ //# sourceMappingURL=TiptapEditor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","memo","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useEditor","EditorContent","Extension","StarterKit","Placeholder","TextAlign","Color","TextStyle","Highlight","Subscript","Superscript","TaskList","TaskItem","Image","CodeBlockLowlight","Typography","CharacterCount","Table","TableRow","TableHeader","TableCell","common","createLowlight","TurndownService","marked","View","styled","isWeb","defaultEditorState","RichEditorContext","getEditorCSS","SlashCommands","MarkdownPaste","BlockDragHandle","getEditorStateFromTiptap","BubbleToolbar","LinkBubble","CodeBlockBubble","ImageBubble","TableBubble","Fragment","jsx","jsxs","lowlight","turndownService","headingStyle","codeBlockStyle","CodeBlockTabIndent","create","name","addKeyboardShortcuts","Tab","editor","isActive","state","dispatch","view","from","to","selection","tr","insertText","doc","lines","nodesBetween","node","pos","isTextblock","push","start","length","offset","line","lineStart","Shift-Tab","$from","parentOffset","text","textBetween","leadingSpaces","match","delete","Math","min","content","size","ParagraphEnterKeys","priority","Shift-Enter","commands","first","newlineInCode","splitListItem","createParagraphNear","liftEmptyBlock","splitBlock","Mod-Enter","ListItemKeys","sinkListItem","liftListItem","EditorContainer","flex","minHeight","overflow","TiptapEditor","initialContent","initialJSON","placeholder","editable","autoFocus","onChange","onStateChange","onFocus","onBlur","maxHeight","hasError","_hasError","showBubbleToolbar","bodyFontFamily","headingFontFamily","editorMode","ref","_ctx","useStyledContext","internalRef","stateRafRef","changeRafRef","onStateChangeRef","onChangeRef","markdownSource","setMarkdownSource","prevModeRef","current","extensions","configure","heading","levels","HTMLAttributes","dir","paragraph","link","openOnClick","rel","target","bulletList","keepMarks","orderedList","codeBlock","hardBreak","exitOnTripleEnter","exitOnArrowDown","resizable","types","defaultAlignment","multicolor","nested","inline","allowBase64","autofocus","injectCSS","immediatelyRender","shouldRerenderOnTransaction","onUpdate","editor2","cancelAnimationFrame","requestAnimationFrame","html","getHTML","json","getJSON","onTransaction","turndown","parse","async","setContent","handleMarkdownChange","e","md","value","executeCommand","command","payload","chain","focus","toggleBold","run","toggleItalic","toggleUnderline","toggleStrike","toggleCode","toggleSubscript","toggleSuperscript","toggleHeading","level","setParagraph","toggleBulletList","toggleOrderedList","toggleTaskList","src","setImage","alt","toggleBlockquote","toggleCodeBlock","href","setLink","unsetLink","undo","redo","setTextAlign","color","setColor","unsetColor","setHighlight","unsetHighlight","setHorizontalRule","unsetAllMarks","clearNodes","insertTable","rows","cols","withHeaderRow","addColumnBefore","addColumnAfter","deleteColumn","addRowBefore","addRowAfter","deleteRow","deleteTable","mergeCells","splitCell","toggleHeaderRow","refMethods","getState","setHTML","setJSON","blur","editorCSS","children","style","width","padding","border","outline","resize","background","fontFamily","fontSize","lineHeight","boxSizing","spellCheck","editorRef","displayName"],"sources":["../../../src/editor/TiptapEditor.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}