@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,661 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var TiptapEditor_exports = {};
37
+ __export(TiptapEditor_exports, {
38
+ TiptapEditor: () => TiptapEditor
39
+ });
40
+ module.exports = __toCommonJS(TiptapEditor_exports);
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var import_react = require("react");
43
+ var import_react2 = require("@tiptap/react");
44
+ var import_core = require("@tiptap/core");
45
+ var import_starter_kit = __toESM(require("@tiptap/starter-kit"));
46
+ var import_extension_placeholder = __toESM(require("@tiptap/extension-placeholder"));
47
+ var import_extension_text_align = __toESM(require("@tiptap/extension-text-align"));
48
+ var import_extension_color = require("@tiptap/extension-color");
49
+ var import_extension_text_style = require("@tiptap/extension-text-style");
50
+ var import_extension_highlight = require("@tiptap/extension-highlight");
51
+ var import_extension_subscript = require("@tiptap/extension-subscript");
52
+ var import_extension_superscript = require("@tiptap/extension-superscript");
53
+ var import_extension_task_list = __toESM(require("@tiptap/extension-task-list"));
54
+ var import_extension_task_item = __toESM(require("@tiptap/extension-task-item"));
55
+ var import_extension_image = __toESM(require("@tiptap/extension-image"));
56
+ var import_extension_code_block_lowlight = __toESM(require("@tiptap/extension-code-block-lowlight"));
57
+ var import_extension_typography = __toESM(require("@tiptap/extension-typography"));
58
+ var import_extension_character_count = __toESM(require("@tiptap/extension-character-count"));
59
+ var import_extension_table = require("@tiptap/extension-table");
60
+ var import_extension_table_row = require("@tiptap/extension-table-row");
61
+ var import_extension_table_header = require("@tiptap/extension-table-header");
62
+ var import_extension_table_cell = require("@tiptap/extension-table-cell");
63
+ var import_lowlight = require("lowlight");
64
+ var import_turndown = __toESM(require("turndown"));
65
+ var import_marked = require("marked");
66
+ var import_tamagui = require("tamagui");
67
+ var import_constants = require("@tamagui/constants");
68
+ var import_types = require("../types.native.js");
69
+ var import_context = require("../context.native.js");
70
+ var import_editorStyles = require("./editorStyles.native.js");
71
+ var import_SlashCommands = require("./SlashCommands.native.js");
72
+ var import_MarkdownPaste = require("./MarkdownPaste.native.js");
73
+ var import_BlockDragHandle = require("./BlockDragHandle.native.js");
74
+ var import_useEditorState = require("./useEditorState.native.js");
75
+ var import_BubbleToolbar = require("../toolbar/BubbleToolbar.native.js");
76
+ var import_LinkBubble = require("../toolbar/LinkBubble.native.js");
77
+ var import_CodeBlockBubble = require("../toolbar/CodeBlockBubble.native.js");
78
+ var import_ImageBubble = require("../toolbar/ImageBubble.native.js");
79
+ var import_TableBubble = require("../toolbar/TableBubble.native.js");
80
+ var lowlight = (0, import_lowlight.createLowlight)(import_lowlight.common);
81
+ var turndownService = new import_turndown.default({
82
+ headingStyle: "atx",
83
+ codeBlockStyle: "fenced"
84
+ });
85
+ var CodeBlockTabIndent = import_core.Extension.create({
86
+ name: "codeBlockTabIndent",
87
+ addKeyboardShortcuts() {
88
+ return {
89
+ Tab: function Tab(param) {
90
+ var {
91
+ editor
92
+ } = param;
93
+ if (!editor.isActive("codeBlock")) return false;
94
+ var {
95
+ state,
96
+ dispatch
97
+ } = editor.view;
98
+ var {
99
+ from,
100
+ to
101
+ } = state.selection;
102
+ if (from === to) {
103
+ dispatch(state.tr.insertText(" ", from, to));
104
+ return true;
105
+ }
106
+ var doc = state.doc;
107
+ var lines = [];
108
+ doc.nodesBetween(from, to, function (node, pos) {
109
+ if (node.isTextblock) {
110
+ lines.push({
111
+ start: pos + 1
112
+ });
113
+ }
114
+ });
115
+ if (lines.length === 0) {
116
+ dispatch(state.tr.insertText(" ", from, to));
117
+ return true;
118
+ }
119
+ var tr = state.tr;
120
+ var offset = 0;
121
+ var _iteratorNormalCompletion = true,
122
+ _didIteratorError = false,
123
+ _iteratorError = void 0;
124
+ try {
125
+ for (var _iterator = lines[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
126
+ var line = _step.value;
127
+ var lineStart = line.start + offset;
128
+ tr = tr.insertText(" ", lineStart);
129
+ offset += 2;
130
+ }
131
+ } catch (err) {
132
+ _didIteratorError = true;
133
+ _iteratorError = err;
134
+ } finally {
135
+ try {
136
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
137
+ _iterator.return();
138
+ }
139
+ } finally {
140
+ if (_didIteratorError) {
141
+ throw _iteratorError;
142
+ }
143
+ }
144
+ }
145
+ dispatch(tr);
146
+ return true;
147
+ },
148
+ "Shift-Tab": function (param) {
149
+ var {
150
+ editor
151
+ } = param;
152
+ if (!editor.isActive("codeBlock")) return false;
153
+ var {
154
+ state,
155
+ dispatch
156
+ } = editor.view;
157
+ var {
158
+ from,
159
+ to,
160
+ $from
161
+ } = state.selection;
162
+ if (from === to) {
163
+ var _text_match;
164
+ var lineStart = from - $from.parentOffset;
165
+ var text = state.doc.textBetween(lineStart, from);
166
+ var leadingSpaces = (_text_match = text.match(/^ {1,2}/)) === null || _text_match === void 0 ? void 0 : _text_match[0];
167
+ if (leadingSpaces) {
168
+ dispatch(state.tr.delete(lineStart, lineStart + leadingSpaces.length));
169
+ }
170
+ return true;
171
+ }
172
+ var doc = state.doc;
173
+ var tr = state.tr;
174
+ var offset = 0;
175
+ doc.nodesBetween(from, to, function (node, pos) {
176
+ if (node.isTextblock) {
177
+ var _text_match2;
178
+ var lineStart2 = pos + 1 + offset;
179
+ var text2 = tr.doc.textBetween(lineStart2, Math.min(lineStart2 + node.content.size, tr.doc.content.size));
180
+ var leadingSpaces2 = (_text_match2 = text2.match(/^ {1,2}/)) === null || _text_match2 === void 0 ? void 0 : _text_match2[0];
181
+ if (leadingSpaces2) {
182
+ tr = tr.delete(lineStart2, lineStart2 + leadingSpaces2.length);
183
+ offset -= leadingSpaces2.length;
184
+ }
185
+ }
186
+ });
187
+ dispatch(tr);
188
+ return true;
189
+ }
190
+ };
191
+ }
192
+ });
193
+ var ParagraphEnterKeys = import_core.Extension.create({
194
+ name: "paragraphEnterKeys",
195
+ priority: 1e3,
196
+ addKeyboardShortcuts() {
197
+ return {
198
+ "Shift-Enter": function (param) {
199
+ var {
200
+ editor
201
+ } = param;
202
+ return editor.commands.first([function () {
203
+ return editor.commands.newlineInCode();
204
+ }, function () {
205
+ return editor.commands.splitListItem("listItem");
206
+ }, function () {
207
+ return editor.commands.createParagraphNear();
208
+ }, function () {
209
+ return editor.commands.liftEmptyBlock();
210
+ }, function () {
211
+ return editor.commands.splitBlock();
212
+ }]);
213
+ },
214
+ "Mod-Enter": function (param) {
215
+ var {
216
+ editor
217
+ } = param;
218
+ return editor.commands.first([function () {
219
+ return editor.commands.newlineInCode();
220
+ }, function () {
221
+ return editor.commands.createParagraphNear();
222
+ }, function () {
223
+ return editor.commands.liftEmptyBlock();
224
+ }, function () {
225
+ return editor.commands.splitBlock();
226
+ }]);
227
+ }
228
+ };
229
+ }
230
+ });
231
+ var ListItemKeys = import_core.Extension.create({
232
+ name: "listItemKeys",
233
+ addKeyboardShortcuts() {
234
+ return {
235
+ Tab: function Tab(param) {
236
+ var {
237
+ editor
238
+ } = param;
239
+ if (editor.isActive("codeBlock")) return false;
240
+ if (editor.isActive("bulletList") || editor.isActive("orderedList") || editor.isActive("taskList")) {
241
+ return editor.commands.sinkListItem("listItem") || editor.commands.sinkListItem("taskItem");
242
+ }
243
+ return false;
244
+ },
245
+ "Shift-Tab": function (param) {
246
+ var {
247
+ editor
248
+ } = param;
249
+ if (editor.isActive("codeBlock")) return false;
250
+ if (editor.isActive("bulletList") || editor.isActive("orderedList") || editor.isActive("taskList")) {
251
+ return editor.commands.liftListItem("listItem") || editor.commands.liftListItem("taskItem");
252
+ }
253
+ return false;
254
+ }
255
+ };
256
+ }
257
+ });
258
+ var EditorContainer = (0, import_tamagui.styled)(import_tamagui.View, {
259
+ name: "TiptapEditorContainer",
260
+ flex: 1,
261
+ minHeight: 150,
262
+ overflow: "hidden"
263
+ });
264
+ var TiptapEditor = /* @__PURE__ */(0, import_react.memo)(/* @__PURE__ */(0, import_react.forwardRef)(function (param, ref) {
265
+ var {
266
+ initialContent = "",
267
+ initialJSON,
268
+ placeholder = "Start writing...",
269
+ editable = true,
270
+ autoFocus = false,
271
+ onChange,
272
+ onStateChange,
273
+ onFocus,
274
+ onBlur,
275
+ minHeight = 150,
276
+ maxHeight,
277
+ hasError: _hasError,
278
+ showBubbleToolbar = false,
279
+ bodyFontFamily,
280
+ headingFontFamily,
281
+ editorMode = "richtext"
282
+ } = param;
283
+ var _ctx = import_context.RichEditorContext.useStyledContext();
284
+ var internalRef = (0, import_react.useRef)(null);
285
+ var stateRafRef = (0, import_react.useRef)(0);
286
+ var changeRafRef = (0, import_react.useRef)(0);
287
+ var onStateChangeRef = (0, import_react.useRef)(onStateChange);
288
+ var onChangeRef = (0, import_react.useRef)(onChange);
289
+ var [markdownSource, setMarkdownSource] = (0, import_react.useState)("");
290
+ var prevModeRef = (0, import_react.useRef)(editorMode);
291
+ (0, import_react.useEffect)(function () {
292
+ onStateChangeRef.current = onStateChange;
293
+ onChangeRef.current = onChange;
294
+ });
295
+ var editor = (0, import_react2.useEditor)({
296
+ extensions: [import_starter_kit.default.configure({
297
+ heading: {
298
+ levels: [1, 2, 3, 4, 5, 6],
299
+ HTMLAttributes: {
300
+ dir: "auto"
301
+ }
302
+ },
303
+ paragraph: {
304
+ HTMLAttributes: {
305
+ dir: "auto"
306
+ }
307
+ },
308
+ link: {
309
+ openOnClick: false,
310
+ HTMLAttributes: {
311
+ rel: "noopener noreferrer",
312
+ target: "_blank"
313
+ }
314
+ },
315
+ bulletList: {
316
+ keepMarks: true
317
+ },
318
+ orderedList: {
319
+ keepMarks: true
320
+ },
321
+ codeBlock: false,
322
+ hardBreak: false
323
+ }), import_extension_code_block_lowlight.default.configure({
324
+ lowlight,
325
+ exitOnTripleEnter: true,
326
+ exitOnArrowDown: false
327
+ }), ParagraphEnterKeys, CodeBlockTabIndent, ListItemKeys, import_extension_typography.default, import_extension_character_count.default, import_SlashCommands.SlashCommands, import_MarkdownPaste.MarkdownPaste, import_BlockDragHandle.BlockDragHandle, import_extension_table.Table.configure({
328
+ resizable: true
329
+ }), import_extension_table_row.TableRow, import_extension_table_header.TableHeader, import_extension_table_cell.TableCell, import_extension_placeholder.default.configure({
330
+ placeholder
331
+ }), import_extension_text_align.default.configure({
332
+ types: ["heading", "paragraph"],
333
+ defaultAlignment: "left"
334
+ }), import_extension_text_style.TextStyle, import_extension_color.Color, import_extension_highlight.Highlight.configure({
335
+ multicolor: true
336
+ }), import_extension_subscript.Subscript, import_extension_superscript.Superscript, import_extension_task_list.default, import_extension_task_item.default.configure({
337
+ nested: true
338
+ }), import_extension_image.default.configure({
339
+ inline: true,
340
+ allowBase64: true
341
+ })],
342
+ content: initialJSON || initialContent,
343
+ editable,
344
+ autofocus: autoFocus,
345
+ injectCSS: false,
346
+ immediatelyRender: false,
347
+ shouldRerenderOnTransaction: false,
348
+ onUpdate: function onUpdate(param2) {
349
+ var {
350
+ editor: editor2
351
+ } = param2;
352
+ cancelAnimationFrame(changeRafRef.current);
353
+ changeRafRef.current = requestAnimationFrame(function () {
354
+ var _onChangeRef_current;
355
+ var html = editor2.getHTML();
356
+ var json = editor2.getJSON();
357
+ (_onChangeRef_current = onChangeRef.current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(onChangeRef, html, json);
358
+ });
359
+ },
360
+ onTransaction: function onTransaction(param2) {
361
+ var {
362
+ editor: editor2
363
+ } = param2;
364
+ cancelAnimationFrame(stateRafRef.current);
365
+ stateRafRef.current = requestAnimationFrame(function () {
366
+ var _onStateChangeRef_current;
367
+ (_onStateChangeRef_current = onStateChangeRef.current) === null || _onStateChangeRef_current === void 0 ? void 0 : _onStateChangeRef_current.call(onStateChangeRef, (0, import_useEditorState.getEditorStateFromTiptap)(editor2));
368
+ });
369
+ },
370
+ onFocus: function onFocus1() {
371
+ return onFocus === null || onFocus === void 0 ? void 0 : onFocus();
372
+ },
373
+ onBlur: function onBlur1() {
374
+ return onBlur === null || onBlur === void 0 ? void 0 : onBlur();
375
+ }
376
+ });
377
+ (0, import_react.useEffect)(function () {
378
+ if (!editor) return;
379
+ if (prevModeRef.current === editorMode) return;
380
+ prevModeRef.current = editorMode;
381
+ if (editorMode === "markdown") {
382
+ setMarkdownSource(turndownService.turndown(editor.getHTML()));
383
+ } else {
384
+ var html = import_marked.marked.parse(markdownSource, {
385
+ async: false
386
+ });
387
+ editor.commands.setContent(html);
388
+ }
389
+ }, [editorMode, editor, markdownSource]);
390
+ var handleMarkdownChange = (0, import_react.useCallback)(function (e) {
391
+ var _onChangeRef_current;
392
+ var md = e.target.value;
393
+ setMarkdownSource(md);
394
+ var html = import_marked.marked.parse(md, {
395
+ async: false
396
+ });
397
+ (_onChangeRef_current = onChangeRef.current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(onChangeRef, html, null);
398
+ }, []);
399
+ var executeCommand = (0, import_react.useCallback)(function (command, payload) {
400
+ if (!editor) return;
401
+ var chain = editor.chain().focus();
402
+ switch (command) {
403
+ case "bold":
404
+ chain.toggleBold().run();
405
+ break;
406
+ case "italic":
407
+ chain.toggleItalic().run();
408
+ break;
409
+ case "underline":
410
+ chain.toggleUnderline().run();
411
+ break;
412
+ case "strike":
413
+ chain.toggleStrike().run();
414
+ break;
415
+ case "code":
416
+ chain.toggleCode().run();
417
+ break;
418
+ case "subscript":
419
+ chain.toggleSubscript().run();
420
+ break;
421
+ case "superscript":
422
+ chain.toggleSuperscript().run();
423
+ break;
424
+ case "heading1":
425
+ chain.toggleHeading({
426
+ level: 1
427
+ }).run();
428
+ break;
429
+ case "heading2":
430
+ chain.toggleHeading({
431
+ level: 2
432
+ }).run();
433
+ break;
434
+ case "heading3":
435
+ chain.toggleHeading({
436
+ level: 3
437
+ }).run();
438
+ break;
439
+ case "heading4":
440
+ chain.toggleHeading({
441
+ level: 4
442
+ }).run();
443
+ break;
444
+ case "heading5":
445
+ chain.toggleHeading({
446
+ level: 5
447
+ }).run();
448
+ break;
449
+ case "heading6":
450
+ chain.toggleHeading({
451
+ level: 6
452
+ }).run();
453
+ break;
454
+ case "paragraph":
455
+ chain.setParagraph().run();
456
+ break;
457
+ case "bulletList":
458
+ chain.toggleBulletList().run();
459
+ break;
460
+ case "orderedList":
461
+ chain.toggleOrderedList().run();
462
+ break;
463
+ case "taskList":
464
+ chain.toggleTaskList().run();
465
+ break;
466
+ case "image":
467
+ if (payload === null || payload === void 0 ? void 0 : payload.src) {
468
+ chain.setImage({
469
+ src: payload.src,
470
+ alt: payload.alt || ""
471
+ }).run();
472
+ }
473
+ break;
474
+ case "blockquote":
475
+ chain.toggleBlockquote().run();
476
+ break;
477
+ case "codeBlock":
478
+ chain.toggleCodeBlock().run();
479
+ break;
480
+ case "link":
481
+ if (payload === null || payload === void 0 ? void 0 : payload.href) {
482
+ chain.setLink({
483
+ href: payload.href
484
+ }).run();
485
+ } else {
486
+ chain.unsetLink().run();
487
+ }
488
+ break;
489
+ case "undo":
490
+ chain.undo().run();
491
+ break;
492
+ case "redo":
493
+ chain.redo().run();
494
+ break;
495
+ case "alignLeft":
496
+ chain.setTextAlign("left").run();
497
+ break;
498
+ case "alignCenter":
499
+ chain.setTextAlign("center").run();
500
+ break;
501
+ case "alignRight":
502
+ chain.setTextAlign("right").run();
503
+ break;
504
+ case "alignJustify":
505
+ chain.setTextAlign("justify").run();
506
+ break;
507
+ case "textColor":
508
+ if (payload === null || payload === void 0 ? void 0 : payload.color) {
509
+ chain.setColor(payload.color).run();
510
+ } else {
511
+ chain.unsetColor().run();
512
+ }
513
+ break;
514
+ case "highlight":
515
+ if (payload === null || payload === void 0 ? void 0 : payload.color) {
516
+ chain.setHighlight({
517
+ color: payload.color
518
+ }).run();
519
+ } else {
520
+ chain.unsetHighlight().run();
521
+ }
522
+ break;
523
+ case "horizontalRule":
524
+ chain.setHorizontalRule().run();
525
+ break;
526
+ case "clearFormatting":
527
+ chain.unsetAllMarks().clearNodes().run();
528
+ break;
529
+ case "insertTable":
530
+ var _ref, _ref1, _ref2;
531
+ chain.insertTable({
532
+ rows: (_ref = payload === null || payload === void 0 ? void 0 : payload.rows) !== null && _ref !== void 0 ? _ref : 3,
533
+ cols: (_ref1 = payload === null || payload === void 0 ? void 0 : payload.cols) !== null && _ref1 !== void 0 ? _ref1 : 3,
534
+ withHeaderRow: (_ref2 = payload === null || payload === void 0 ? void 0 : payload.withHeaderRow) !== null && _ref2 !== void 0 ? _ref2 : true
535
+ }).run();
536
+ break;
537
+ case "addColumnBefore":
538
+ chain.addColumnBefore().run();
539
+ break;
540
+ case "addColumnAfter":
541
+ chain.addColumnAfter().run();
542
+ break;
543
+ case "deleteColumn":
544
+ chain.deleteColumn().run();
545
+ break;
546
+ case "addRowBefore":
547
+ chain.addRowBefore().run();
548
+ break;
549
+ case "addRowAfter":
550
+ chain.addRowAfter().run();
551
+ break;
552
+ case "deleteRow":
553
+ chain.deleteRow().run();
554
+ break;
555
+ case "deleteTable":
556
+ chain.deleteTable().run();
557
+ break;
558
+ case "mergeCells":
559
+ chain.mergeCells().run();
560
+ break;
561
+ case "splitCell":
562
+ chain.splitCell().run();
563
+ break;
564
+ case "toggleHeaderRow":
565
+ chain.toggleHeaderRow().run();
566
+ break;
567
+ }
568
+ }, [editor]);
569
+ var refMethods = (0, import_react.useMemo)(function () {
570
+ return {
571
+ executeCommand,
572
+ getState: function getState() {
573
+ return (0, import_useEditorState.getEditorStateFromTiptap)(editor);
574
+ },
575
+ getHTML: function getHTML() {
576
+ return (editor === null || editor === void 0 ? void 0 : editor.getHTML()) || "";
577
+ },
578
+ getJSON: function getJSON() {
579
+ return (editor === null || editor === void 0 ? void 0 : editor.getJSON()) || null;
580
+ },
581
+ setHTML: function setHTML(html) {
582
+ return editor === null || editor === void 0 ? void 0 : editor.commands.setContent(html);
583
+ },
584
+ setJSON: function setJSON(json) {
585
+ return editor === null || editor === void 0 ? void 0 : editor.commands.setContent(json);
586
+ },
587
+ focus: function focus() {
588
+ return editor === null || editor === void 0 ? void 0 : editor.commands.focus();
589
+ },
590
+ blur: function blur() {
591
+ return editor === null || editor === void 0 ? void 0 : editor.commands.blur();
592
+ }
593
+ };
594
+ }, [editor, executeCommand]);
595
+ (0, import_react.useImperativeHandle)(ref, function () {
596
+ return refMethods;
597
+ }, [refMethods]);
598
+ internalRef.current = refMethods;
599
+ var editorCSS = (0, import_react.useMemo)(function () {
600
+ return (0, import_editorStyles.getEditorCSS)({
601
+ minHeight,
602
+ maxHeight,
603
+ bodyFontFamily,
604
+ headingFontFamily
605
+ });
606
+ }, [minHeight, maxHeight, bodyFontFamily, headingFontFamily]);
607
+ if (editorMode === "markdown") {
608
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(EditorContainer, {
609
+ minHeight,
610
+ maxHeight,
611
+ overflow: "hidden",
612
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("textarea", {
613
+ value: markdownSource,
614
+ onChange: handleMarkdownChange,
615
+ style: {
616
+ width: "100%",
617
+ minHeight,
618
+ maxHeight: maxHeight || void 0,
619
+ padding: "12px 12px 12px 16px",
620
+ border: "none",
621
+ outline: "none",
622
+ resize: "none",
623
+ background: "transparent",
624
+ color: "inherit",
625
+ fontFamily: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",
626
+ fontSize: "0.875em",
627
+ lineHeight: "1.6",
628
+ overflow: "auto",
629
+ boxSizing: "border-box"
630
+ },
631
+ spellCheck: false
632
+ })
633
+ });
634
+ }
635
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(EditorContainer, {
636
+ minHeight,
637
+ maxHeight,
638
+ overflow: "hidden",
639
+ children: [import_constants.isWeb && /* @__PURE__ */(0, import_jsx_runtime.jsx)("style", {
640
+ children: editorCSS
641
+ }), showBubbleToolbar && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
642
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_BubbleToolbar.BubbleToolbar, {
643
+ editor,
644
+ editorRef: internalRef,
645
+ state: import_types.defaultEditorState
646
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_LinkBubble.LinkBubble, {
647
+ editor
648
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_CodeBlockBubble.CodeBlockBubble, {
649
+ editor
650
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ImageBubble.ImageBubble, {
651
+ editor
652
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_TableBubble.TableBubble, {
653
+ editor
654
+ })]
655
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.EditorContent, {
656
+ editor
657
+ })]
658
+ });
659
+ }));
660
+ TiptapEditor.displayName = "TiptapEditor";
661
+ //# sourceMappingURL=TiptapEditor.native.js.map