@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,66 @@
1
+ import { XStack, Text } from "tamagui";
2
+ import { RichEditorContext } from "../context.mjs";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ function ModeButton({
5
+ label,
6
+ active,
7
+ onPress
8
+ }) {
9
+ return /* @__PURE__ */jsx(Text, {
10
+ fontSize: 11,
11
+ color: active ? "$color12" : "$color9",
12
+ fontWeight: active ? "600" : "400",
13
+ cursor: "pointer",
14
+ onPress,
15
+ hoverStyle: {
16
+ color: "$color11"
17
+ },
18
+ userSelect: "none",
19
+ children: label
20
+ });
21
+ }
22
+ function StatusBar({
23
+ state,
24
+ mode,
25
+ onModeChange
26
+ }) {
27
+ const _ctx = RichEditorContext.useStyledContext();
28
+ return /* @__PURE__ */jsxs(XStack, {
29
+ borderTopWidth: 1,
30
+ borderTopColor: "$color5",
31
+ paddingHorizontal: "$3",
32
+ paddingVertical: "$1.5",
33
+ justifyContent: "space-between",
34
+ alignItems: "center",
35
+ children: [/* @__PURE__ */jsxs(XStack, {
36
+ gap: "$1.5",
37
+ alignItems: "center",
38
+ children: [/* @__PURE__ */jsx(ModeButton, {
39
+ label: "Rich text",
40
+ active: mode === "richtext",
41
+ onPress: () => onModeChange("richtext")
42
+ }), /* @__PURE__ */jsx(Text, {
43
+ fontSize: 11,
44
+ color: "$color7",
45
+ children: "|"
46
+ }), /* @__PURE__ */jsx(ModeButton, {
47
+ label: "Markdown",
48
+ active: mode === "markdown",
49
+ onPress: () => onModeChange("markdown")
50
+ })]
51
+ }), /* @__PURE__ */jsxs(XStack, {
52
+ gap: "$3",
53
+ children: [/* @__PURE__ */jsxs(Text, {
54
+ fontSize: 11,
55
+ color: "$color9",
56
+ children: [state.wordCount, " ", state.wordCount === 1 ? "word" : "words"]
57
+ }), /* @__PURE__ */jsxs(Text, {
58
+ fontSize: 11,
59
+ color: "$color9",
60
+ children: [state.characterCount, " ", state.characterCount === 1 ? "character" : "characters"]
61
+ })]
62
+ })]
63
+ });
64
+ }
65
+ export { StatusBar };
66
+ //# sourceMappingURL=StatusBar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["XStack","Text","RichEditorContext","jsx","jsxs","ModeButton","label","active","onPress","fontSize","color","fontWeight","cursor","hoverStyle","userSelect","children","StatusBar","state","mode","onModeChange","_ctx","useStyledContext","borderTopWidth","borderTopColor","paddingHorizontal","paddingVertical","justifyContent","alignItems","gap","wordCount","characterCount"],"sources":["../../../src/toolbar/StatusBar.tsx"],"sourcesContent":[null],"mappings":"AAIA,SAASA,MAAA,EAAQC,IAAA,QAAY;AAC7B,SAASC,iBAAA,QAAyB;AAmB9B,SAAAC,GAAA,EA0BEC,IAAA,QA1BF;AAVJ,SAASC,WAAW;EAClBC,KAAA;EACAC,MAAA;EACAC;AACF,GAIG;EACD,OACE,eAAAL,GAAA,CAACF,IAAA;IACCQ,QAAA,EAAU;IACVC,KAAA,EAAOH,MAAA,GAAS,aAAa;IAC7BI,UAAA,EAAYJ,MAAA,GAAS,QAAQ;IAC7BK,MAAA,EAAO;IACPJ,OAAA;IACAK,UAAA,EAAY;MAAEH,KAAA,EAAO;IAAW;IAChCI,UAAA,EAAW;IAEVC,QAAA,EAAAT;EAAA,CACH;AAEJ;AAEO,SAASU,UAAU;EAAEC,KAAA;EAAOC,IAAA;EAAMC;AAAa,GAAmB;EACvE,MAAMC,IAAA,GAAOlB,iBAAA,CAAkBmB,gBAAA,CAAiB;EAEhD,OACE,eAAAjB,IAAA,CAACJ,MAAA;IACCsB,cAAA,EAAgB;IAChBC,cAAA,EAAe;IACfC,iBAAA,EAAkB;IAClBC,eAAA,EAAgB;IAChBC,cAAA,EAAe;IACfC,UAAA,EAAW;IAEXZ,QAAA,kBAAAX,IAAA,CAACJ,MAAA;MAAO4B,GAAA,EAAI;MAAOD,UAAA,EAAW;MAC5BZ,QAAA,kBAAAZ,GAAA,CAACE,UAAA;QACCC,KAAA,EAAM;QACNC,MAAA,EAAQW,IAAA,KAAS;QACjBV,OAAA,EAASA,CAAA,KAAMW,YAAA,CAAa,UAAU;MAAA,CACxC,GACA,eAAAhB,GAAA,CAACF,IAAA;QAAKQ,QAAA,EAAU;QAAIC,KAAA,EAAM;QAAUK,QAAA;MAAA,CAEpC,GACA,eAAAZ,GAAA,CAACE,UAAA;QACCC,KAAA,EAAM;QACNC,MAAA,EAAQW,IAAA,KAAS;QACjBV,OAAA,EAASA,CAAA,KAAMW,YAAA,CAAa,UAAU;MAAA,CACxC;IAAA,CACF,GACA,eAAAf,IAAA,CAACJ,MAAA;MAAO4B,GAAA,EAAI;MACVb,QAAA,kBAAAX,IAAA,CAACH,IAAA;QAAKQ,QAAA,EAAU;QAAIC,KAAA,EAAM;QACvBK,QAAA,GAAAE,KAAA,CAAMY,SAAA,EAAU,KAAEZ,KAAA,CAAMY,SAAA,KAAc,IAAI,SAAS;MAAA,CACtD,GACA,eAAAzB,IAAA,CAACH,IAAA;QAAKQ,QAAA,EAAU;QAAIC,KAAA,EAAM;QACvBK,QAAA,GAAAE,KAAA,CAAMa,cAAA,EAAe,KAAEb,KAAA,CAAMa,cAAA,KAAmB,IAAI,cAAc;MAAA,CACrE;IAAA,CACF;EAAA,CACF;AAEJ","ignoreList":[]}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var StatusBar_exports = {};
26
+ __export(StatusBar_exports, {
27
+ StatusBar: () => StatusBar
28
+ });
29
+ module.exports = __toCommonJS(StatusBar_exports);
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var import_tamagui = require("tamagui");
32
+ var import_context = require("../context.native.js");
33
+ function ModeButton(param) {
34
+ var {
35
+ label,
36
+ active,
37
+ onPress
38
+ } = param;
39
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
40
+ fontSize: 11,
41
+ color: active ? "$color12" : "$color9",
42
+ fontWeight: active ? "600" : "400",
43
+ cursor: "pointer",
44
+ onPress,
45
+ hoverStyle: {
46
+ color: "$color11"
47
+ },
48
+ userSelect: "none",
49
+ children: label
50
+ });
51
+ }
52
+ function StatusBar(param) {
53
+ var {
54
+ state,
55
+ mode,
56
+ onModeChange
57
+ } = param;
58
+ var _ctx = import_context.RichEditorContext.useStyledContext();
59
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
60
+ borderTopWidth: 1,
61
+ borderTopColor: "$color5",
62
+ paddingHorizontal: "$3",
63
+ paddingVertical: "$1.5",
64
+ justifyContent: "space-between",
65
+ alignItems: "center",
66
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
67
+ gap: "$1.5",
68
+ alignItems: "center",
69
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(ModeButton, {
70
+ label: "Rich text",
71
+ active: mode === "richtext",
72
+ onPress: function onPress() {
73
+ return onModeChange("richtext");
74
+ }
75
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
76
+ fontSize: 11,
77
+ color: "$color7",
78
+ children: "|"
79
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(ModeButton, {
80
+ label: "Markdown",
81
+ active: mode === "markdown",
82
+ onPress: function onPress() {
83
+ return onModeChange("markdown");
84
+ }
85
+ })]
86
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
87
+ gap: "$3",
88
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
89
+ fontSize: 11,
90
+ color: "$color9",
91
+ children: [state.wordCount, " ", state.wordCount === 1 ? "word" : "words"]
92
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
93
+ fontSize: 11,
94
+ color: "$color9",
95
+ children: [state.characterCount, " ", state.characterCount === 1 ? "character" : "characters"]
96
+ })]
97
+ })]
98
+ });
99
+ }
100
+ //# sourceMappingURL=StatusBar.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","StatusBar_exports","StatusBar","module","exports","import_jsx_runtime","require","import_tamagui","import_context","ModeButton","param","label","active","onPress","jsx","Text","fontSize","color","fontWeight","cursor","hoverStyle","userSelect","children","state","mode","onModeChange","_ctx","RichEditorContext","useStyledContext","jsxs","XStack","borderTopWidth","borderTopColor","paddingHorizontal","paddingVertical","justifyContent","alignItems","gap"],"sources":["../../../src/toolbar/StatusBar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,207 @@
1
+ import { useState } from "react";
2
+ import { BubbleMenu } from "@tiptap/react/menus";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { Popover, Text, XStack, YStack } from "tamagui";
5
+ import { DropdownMenuItemFrame, ToolbarSeparatorFrame } from "../styled.mjs";
6
+ import { ToolbarButton, ToolbarDropdownButton } from "./ToolbarButton.mjs";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function RowPlusIcon() {
9
+ return /* @__PURE__ */jsxs("svg", {
10
+ width: "14",
11
+ height: "14",
12
+ viewBox: "0 0 24 24",
13
+ fill: "none",
14
+ stroke: "currentColor",
15
+ strokeWidth: "2",
16
+ children: [/* @__PURE__ */jsx("line", {
17
+ x1: "12",
18
+ y1: "5",
19
+ x2: "12",
20
+ y2: "19"
21
+ }), /* @__PURE__ */jsx("line", {
22
+ x1: "5",
23
+ y1: "12",
24
+ x2: "19",
25
+ y2: "12"
26
+ })]
27
+ });
28
+ }
29
+ function TrashIcon() {
30
+ return /* @__PURE__ */jsxs("svg", {
31
+ width: "14",
32
+ height: "14",
33
+ viewBox: "0 0 24 24",
34
+ fill: "none",
35
+ stroke: "currentColor",
36
+ strokeWidth: "2",
37
+ children: [/* @__PURE__ */jsx("polyline", {
38
+ points: "3 6 5 6 21 6"
39
+ }), /* @__PURE__ */jsx("path", {
40
+ d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"
41
+ })]
42
+ });
43
+ }
44
+ const ROW_ACTIONS = [{
45
+ label: "Add row above",
46
+ action: e => e.chain().focus().addRowBefore().run()
47
+ }, {
48
+ label: "Add row below",
49
+ action: e => e.chain().focus().addRowAfter().run()
50
+ }, {
51
+ label: "Delete row",
52
+ action: e => e.chain().focus().deleteRow().run()
53
+ }];
54
+ const COL_ACTIONS = [{
55
+ label: "Add column before",
56
+ action: e => e.chain().focus().addColumnBefore().run()
57
+ }, {
58
+ label: "Add column after",
59
+ action: e => e.chain().focus().addColumnAfter().run()
60
+ }, {
61
+ label: "Delete column",
62
+ action: e => e.chain().focus().deleteColumn().run()
63
+ }];
64
+ const TABLE_ACTIONS = [{
65
+ label: "Toggle header row",
66
+ action: e => e.chain().focus().toggleHeaderRow().run()
67
+ }, {
68
+ label: "Merge cells",
69
+ action: e => e.chain().focus().mergeCells().run()
70
+ }, {
71
+ label: "Split cell",
72
+ action: e => e.chain().focus().splitCell().run()
73
+ }, {
74
+ label: "Delete table",
75
+ action: e => e.chain().focus().deleteTable().run()
76
+ }];
77
+ function TableBubble({
78
+ editor
79
+ }) {
80
+ const {
81
+ knobProps
82
+ } = useResolvedKnobs();
83
+ const [menuOpen, setMenuOpen] = useState(false);
84
+ if (!editor) return null;
85
+ return /* @__PURE__ */jsx(BubbleMenu, {
86
+ editor,
87
+ shouldShow: ({
88
+ editor: e
89
+ }) => e.isActive("table"),
90
+ options: {
91
+ placement: "top"
92
+ },
93
+ children: /* @__PURE__ */jsxs(XStack, {
94
+ backgroundColor: "$background",
95
+ borderWidth: 1,
96
+ borderColor: "$borderColor",
97
+ borderRadius: knobProps.borderRadius.borderRadius,
98
+ padding: "$1",
99
+ gap: "$1",
100
+ alignItems: "center",
101
+ elevation: knobProps.elevation,
102
+ children: [/* @__PURE__ */jsx(ToolbarButton, {
103
+ onPress: () => editor.chain().focus().addRowAfter().run(),
104
+ "aria-label": "Add row",
105
+ tooltip: "Add row below",
106
+ children: /* @__PURE__ */jsx(RowPlusIcon, {})
107
+ }), /* @__PURE__ */jsx(ToolbarButton, {
108
+ onPress: () => editor.chain().focus().addColumnAfter().run(),
109
+ "aria-label": "Add column",
110
+ tooltip: "Add column after",
111
+ children: /* @__PURE__ */jsx(Text, {
112
+ fontSize: 11,
113
+ fontWeight: "700",
114
+ children: "+Col"
115
+ })
116
+ }), /* @__PURE__ */jsxs(Popover, {
117
+ open: menuOpen,
118
+ onOpenChange: setMenuOpen,
119
+ placement: "bottom",
120
+ children: [/* @__PURE__ */jsx(Popover.Trigger, {
121
+ asChild: true,
122
+ children: /* @__PURE__ */jsx(ToolbarDropdownButton, {
123
+ onPress: () => setMenuOpen(true),
124
+ "aria-label": "Table options",
125
+ children: /* @__PURE__ */jsx(Text, {
126
+ fontSize: 12,
127
+ children: "Table"
128
+ })
129
+ })
130
+ }), /* @__PURE__ */jsx(Popover.Content, {
131
+ ...knobProps.panelPadding,
132
+ backgroundColor: "$background",
133
+ borderWidth: 1,
134
+ borderColor: "$borderColor",
135
+ borderRadius: knobProps.borderRadius.borderRadius,
136
+ elevation: knobProps.elevation,
137
+ enterStyle: {
138
+ opacity: 0,
139
+ y: -5
140
+ },
141
+ exitStyle: {
142
+ opacity: 0,
143
+ y: -5
144
+ },
145
+ children: /* @__PURE__ */jsxs(YStack, {
146
+ gap: "$0.5",
147
+ minWidth: 180,
148
+ children: [ROW_ACTIONS.map(a => /* @__PURE__ */jsx(DropdownMenuItemFrame, {
149
+ onPress: () => {
150
+ a.action(editor);
151
+ setMenuOpen(false);
152
+ },
153
+ "aria-label": a.label,
154
+ children: /* @__PURE__ */jsx(Text, {
155
+ fontSize: 13,
156
+ children: a.label
157
+ })
158
+ }, a.label)), /* @__PURE__ */jsx(XStack, {
159
+ paddingVertical: "$0.5",
160
+ children: /* @__PURE__ */jsx(ToolbarSeparatorFrame, {
161
+ vertical: false,
162
+ width: "100%",
163
+ height: 1,
164
+ marginHorizontal: 0
165
+ })
166
+ }), COL_ACTIONS.map(a => /* @__PURE__ */jsx(DropdownMenuItemFrame, {
167
+ onPress: () => {
168
+ a.action(editor);
169
+ setMenuOpen(false);
170
+ },
171
+ "aria-label": a.label,
172
+ children: /* @__PURE__ */jsx(Text, {
173
+ fontSize: 13,
174
+ children: a.label
175
+ })
176
+ }, a.label)), /* @__PURE__ */jsx(XStack, {
177
+ paddingVertical: "$0.5",
178
+ children: /* @__PURE__ */jsx(ToolbarSeparatorFrame, {
179
+ vertical: false,
180
+ width: "100%",
181
+ height: 1,
182
+ marginHorizontal: 0
183
+ })
184
+ }), TABLE_ACTIONS.map(a => /* @__PURE__ */jsx(DropdownMenuItemFrame, {
185
+ onPress: () => {
186
+ a.action(editor);
187
+ setMenuOpen(false);
188
+ },
189
+ "aria-label": a.label,
190
+ children: /* @__PURE__ */jsx(Text, {
191
+ fontSize: 13,
192
+ children: a.label
193
+ })
194
+ }, a.label))]
195
+ })
196
+ })]
197
+ }), /* @__PURE__ */jsx(ToolbarButton, {
198
+ onPress: () => editor.chain().focus().deleteTable().run(),
199
+ "aria-label": "Delete table",
200
+ tooltip: "Delete table",
201
+ children: /* @__PURE__ */jsx(TrashIcon, {})
202
+ })]
203
+ })
204
+ });
205
+ }
206
+ export { TableBubble };
207
+ //# sourceMappingURL=TableBubble.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","BubbleMenu","useResolvedKnobs","Popover","Text","XStack","YStack","DropdownMenuItemFrame","ToolbarSeparatorFrame","ToolbarButton","ToolbarDropdownButton","jsx","jsxs","RowPlusIcon","width","height","viewBox","fill","stroke","strokeWidth","children","x1","y1","x2","y2","TrashIcon","points","d","ROW_ACTIONS","label","action","e","chain","focus","addRowBefore","run","addRowAfter","deleteRow","COL_ACTIONS","addColumnBefore","addColumnAfter","deleteColumn","TABLE_ACTIONS","toggleHeaderRow","mergeCells","splitCell","deleteTable","TableBubble","editor","knobProps","menuOpen","setMenuOpen","shouldShow","isActive","options","placement","backgroundColor","borderWidth","borderColor","borderRadius","padding","gap","alignItems","elevation","onPress","tooltip","fontSize","fontWeight","open","onOpenChange","Trigger","asChild","Content","panelPadding","enterStyle","opacity","y","exitStyle","minWidth","map","a","paddingVertical","vertical","marginHorizontal"],"sources":["../../../src/toolbar/TableBubble.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var TableBubble_exports = {};
26
+ __export(TableBubble_exports, {
27
+ TableBubble: () => TableBubble
28
+ });
29
+ module.exports = __toCommonJS(TableBubble_exports);
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var import_react = require("react");
32
+ var import_menus = require("@tiptap/react/menus");
33
+ var import_theme = require("@multiplatform.one/theme");
34
+ var import_tamagui = require("tamagui");
35
+ var import_styled = require("../styled.native.js");
36
+ var import_ToolbarButton = require("./ToolbarButton.native.js");
37
+ function RowPlusIcon() {
38
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)("svg", {
39
+ width: "14",
40
+ height: "14",
41
+ viewBox: "0 0 24 24",
42
+ fill: "none",
43
+ stroke: "currentColor",
44
+ strokeWidth: "2",
45
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)("line", {
46
+ x1: "12",
47
+ y1: "5",
48
+ x2: "12",
49
+ y2: "19"
50
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)("line", {
51
+ x1: "5",
52
+ y1: "12",
53
+ x2: "19",
54
+ y2: "12"
55
+ })]
56
+ });
57
+ }
58
+ function TrashIcon() {
59
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)("svg", {
60
+ width: "14",
61
+ height: "14",
62
+ viewBox: "0 0 24 24",
63
+ fill: "none",
64
+ stroke: "currentColor",
65
+ strokeWidth: "2",
66
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)("polyline", {
67
+ points: "3 6 5 6 21 6"
68
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)("path", {
69
+ d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"
70
+ })]
71
+ });
72
+ }
73
+ var ROW_ACTIONS = [{
74
+ label: "Add row above",
75
+ action: function action(e) {
76
+ return e.chain().focus().addRowBefore().run();
77
+ }
78
+ }, {
79
+ label: "Add row below",
80
+ action: function action2(e) {
81
+ return e.chain().focus().addRowAfter().run();
82
+ }
83
+ }, {
84
+ label: "Delete row",
85
+ action: function action3(e) {
86
+ return e.chain().focus().deleteRow().run();
87
+ }
88
+ }];
89
+ var COL_ACTIONS = [{
90
+ label: "Add column before",
91
+ action: function action4(e) {
92
+ return e.chain().focus().addColumnBefore().run();
93
+ }
94
+ }, {
95
+ label: "Add column after",
96
+ action: function action5(e) {
97
+ return e.chain().focus().addColumnAfter().run();
98
+ }
99
+ }, {
100
+ label: "Delete column",
101
+ action: function action6(e) {
102
+ return e.chain().focus().deleteColumn().run();
103
+ }
104
+ }];
105
+ var TABLE_ACTIONS = [{
106
+ label: "Toggle header row",
107
+ action: function action7(e) {
108
+ return e.chain().focus().toggleHeaderRow().run();
109
+ }
110
+ }, {
111
+ label: "Merge cells",
112
+ action: function action8(e) {
113
+ return e.chain().focus().mergeCells().run();
114
+ }
115
+ }, {
116
+ label: "Split cell",
117
+ action: function action9(e) {
118
+ return e.chain().focus().splitCell().run();
119
+ }
120
+ }, {
121
+ label: "Delete table",
122
+ action: function action10(e) {
123
+ return e.chain().focus().deleteTable().run();
124
+ }
125
+ }];
126
+ function TableBubble(param) {
127
+ var {
128
+ editor
129
+ } = param;
130
+ var {
131
+ knobProps
132
+ } = (0, import_theme.useResolvedKnobs)();
133
+ var [menuOpen, setMenuOpen] = (0, import_react.useState)(false);
134
+ if (!editor) return null;
135
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_menus.BubbleMenu, {
136
+ editor,
137
+ shouldShow: function shouldShow(param2) {
138
+ var {
139
+ editor: e
140
+ } = param2;
141
+ return e.isActive("table");
142
+ },
143
+ options: {
144
+ placement: "top"
145
+ },
146
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
147
+ backgroundColor: "$background",
148
+ borderWidth: 1,
149
+ borderColor: "$borderColor",
150
+ borderRadius: knobProps.borderRadius.borderRadius,
151
+ padding: "$1",
152
+ gap: "$1",
153
+ alignItems: "center",
154
+ elevation: knobProps.elevation,
155
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
156
+ onPress: function onPress() {
157
+ return editor.chain().focus().addRowAfter().run();
158
+ },
159
+ "aria-label": "Add row",
160
+ tooltip: "Add row below",
161
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(RowPlusIcon, {})
162
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
163
+ onPress: function onPress() {
164
+ return editor.chain().focus().addColumnAfter().run();
165
+ },
166
+ "aria-label": "Add column",
167
+ tooltip: "Add column after",
168
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
169
+ fontSize: 11,
170
+ fontWeight: "700",
171
+ children: "+Col"
172
+ })
173
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Popover, {
174
+ open: menuOpen,
175
+ onOpenChange: setMenuOpen,
176
+ placement: "bottom",
177
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.Trigger, {
178
+ asChild: true,
179
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarDropdownButton, {
180
+ onPress: function onPress() {
181
+ return setMenuOpen(true);
182
+ },
183
+ "aria-label": "Table options",
184
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
185
+ fontSize: 12,
186
+ children: "Table"
187
+ })
188
+ })
189
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.Content, {
190
+ ...knobProps.panelPadding,
191
+ backgroundColor: "$background",
192
+ borderWidth: 1,
193
+ borderColor: "$borderColor",
194
+ borderRadius: knobProps.borderRadius.borderRadius,
195
+ elevation: knobProps.elevation,
196
+ enterStyle: {
197
+ opacity: 0,
198
+ y: -5
199
+ },
200
+ exitStyle: {
201
+ opacity: 0,
202
+ y: -5
203
+ },
204
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
205
+ gap: "$0.5",
206
+ minWidth: 180,
207
+ children: [ROW_ACTIONS.map(function (a) {
208
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_styled.DropdownMenuItemFrame, {
209
+ onPress: function onPress() {
210
+ a.action(editor);
211
+ setMenuOpen(false);
212
+ },
213
+ "aria-label": a.label,
214
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
215
+ fontSize: 13,
216
+ children: a.label
217
+ })
218
+ }, a.label);
219
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
220
+ paddingVertical: "$0.5",
221
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_styled.ToolbarSeparatorFrame, {
222
+ vertical: false,
223
+ width: "100%",
224
+ height: 1,
225
+ marginHorizontal: 0
226
+ })
227
+ }), COL_ACTIONS.map(function (a) {
228
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_styled.DropdownMenuItemFrame, {
229
+ onPress: function onPress() {
230
+ a.action(editor);
231
+ setMenuOpen(false);
232
+ },
233
+ "aria-label": a.label,
234
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
235
+ fontSize: 13,
236
+ children: a.label
237
+ })
238
+ }, a.label);
239
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
240
+ paddingVertical: "$0.5",
241
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_styled.ToolbarSeparatorFrame, {
242
+ vertical: false,
243
+ width: "100%",
244
+ height: 1,
245
+ marginHorizontal: 0
246
+ })
247
+ }), TABLE_ACTIONS.map(function (a) {
248
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_styled.DropdownMenuItemFrame, {
249
+ onPress: function onPress() {
250
+ a.action(editor);
251
+ setMenuOpen(false);
252
+ },
253
+ "aria-label": a.label,
254
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
255
+ fontSize: 13,
256
+ children: a.label
257
+ })
258
+ }, a.label);
259
+ })]
260
+ })
261
+ })]
262
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
263
+ onPress: function onPress() {
264
+ return editor.chain().focus().deleteTable().run();
265
+ },
266
+ "aria-label": "Delete table",
267
+ tooltip: "Delete table",
268
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(TrashIcon, {})
269
+ })]
270
+ })
271
+ });
272
+ }
273
+ //# sourceMappingURL=TableBubble.native.js.map