@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,176 @@
1
+ import { useState } from "react";
2
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
3
+ import { Popover, Text, XStack, YStack } from "tamagui";
4
+ import { DropdownMenuItemFrame, ToolbarSeparatorFrame } from "../styled.mjs";
5
+ import { ToolbarButton } from "./ToolbarButton.mjs";
6
+ import { SubscriptIcon, SuperscriptIcon, AlignLeftIcon, AlignCenterIcon, AlignRightIcon, AlignJustifyIcon, HorizontalRuleIcon, ClearFormattingIcon } from "./icons.mjs";
7
+ import { SHORTCUTS } from "./shortcuts.mjs";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ const INLINE_ITEMS = [{
10
+ label: SHORTCUTS.subscript,
11
+ command: "subscript",
12
+ icon: SubscriptIcon,
13
+ isActive: s => s.isSubscript
14
+ }, {
15
+ label: SHORTCUTS.superscript,
16
+ command: "superscript",
17
+ icon: SuperscriptIcon,
18
+ isActive: s => s.isSuperscript
19
+ }];
20
+ const ALIGN_ITEMS = [{
21
+ label: SHORTCUTS.alignLeft,
22
+ command: "alignLeft",
23
+ icon: AlignLeftIcon,
24
+ isActive: s => s.textAlign === "left"
25
+ }, {
26
+ label: SHORTCUTS.alignCenter,
27
+ command: "alignCenter",
28
+ icon: AlignCenterIcon,
29
+ isActive: s => s.textAlign === "center"
30
+ }, {
31
+ label: SHORTCUTS.alignRight,
32
+ command: "alignRight",
33
+ icon: AlignRightIcon,
34
+ isActive: s => s.textAlign === "right"
35
+ }, {
36
+ label: SHORTCUTS.alignJustify,
37
+ command: "alignJustify",
38
+ icon: AlignJustifyIcon,
39
+ isActive: s => s.textAlign === "justify"
40
+ }];
41
+ const BLOCK_ITEMS = [{
42
+ label: SHORTCUTS.horizontalRule,
43
+ command: "horizontalRule",
44
+ icon: HorizontalRuleIcon
45
+ }, {
46
+ label: SHORTCUTS.clearFormatting,
47
+ command: "clearFormatting",
48
+ icon: ClearFormattingIcon
49
+ }];
50
+ function MoreIcon() {
51
+ return /* @__PURE__ */jsxs("svg", {
52
+ width: "16",
53
+ height: "16",
54
+ viewBox: "0 0 24 24",
55
+ fill: "currentColor",
56
+ stroke: "none",
57
+ children: [/* @__PURE__ */jsx("circle", {
58
+ cx: "5",
59
+ cy: "12",
60
+ r: "2"
61
+ }), /* @__PURE__ */jsx("circle", {
62
+ cx: "12",
63
+ cy: "12",
64
+ r: "2"
65
+ }), /* @__PURE__ */jsx("circle", {
66
+ cx: "19",
67
+ cy: "12",
68
+ r: "2"
69
+ })]
70
+ });
71
+ }
72
+ function preventFocusTheft(e) {
73
+ e.preventDefault();
74
+ }
75
+ function ItemSection({
76
+ items,
77
+ state,
78
+ onSelect
79
+ }) {
80
+ return /* @__PURE__ */jsx(Fragment, {
81
+ children: items.map(item => {
82
+ const Icon = item.icon;
83
+ return /* @__PURE__ */jsxs(DropdownMenuItemFrame, {
84
+ active: item.isActive?.(state),
85
+ onMouseDown: preventFocusTheft,
86
+ onPress: () => onSelect(item.command, item.payload),
87
+ "aria-label": item.label,
88
+ children: [/* @__PURE__ */jsx(Icon, {}), /* @__PURE__ */jsx(Text, {
89
+ fontSize: 13,
90
+ children: item.label
91
+ })]
92
+ }, item.command);
93
+ })
94
+ });
95
+ }
96
+ function MoreDropdown({
97
+ editorRef,
98
+ state,
99
+ disabled
100
+ }) {
101
+ const {
102
+ knobProps
103
+ } = useResolvedKnobs();
104
+ const [open, setOpen] = useState(false);
105
+ const handleSelect = (command, payload) => {
106
+ editorRef.current?.executeCommand(command, payload);
107
+ if (command === "horizontalRule" || command === "clearFormatting") {
108
+ setOpen(false);
109
+ }
110
+ };
111
+ return /* @__PURE__ */jsxs(Popover, {
112
+ open,
113
+ onOpenChange: setOpen,
114
+ placement: "bottom-end",
115
+ children: [/* @__PURE__ */jsx(Popover.Trigger, {
116
+ asChild: true,
117
+ children: /* @__PURE__ */jsx(ToolbarButton, {
118
+ disabled,
119
+ onPress: () => setOpen(true),
120
+ "aria-label": "More formatting options",
121
+ tooltip: "More",
122
+ children: /* @__PURE__ */jsx(MoreIcon, {})
123
+ })
124
+ }), /* @__PURE__ */jsx(Popover.Content, {
125
+ ...knobProps.panelPadding,
126
+ backgroundColor: "$background",
127
+ borderWidth: 1,
128
+ borderColor: "$borderColor",
129
+ borderRadius: knobProps.borderRadius.borderRadius,
130
+ elevation: knobProps.elevation,
131
+ enterStyle: {
132
+ opacity: 0,
133
+ y: -5
134
+ },
135
+ exitStyle: {
136
+ opacity: 0,
137
+ y: -5
138
+ },
139
+ children: /* @__PURE__ */jsxs(YStack, {
140
+ gap: "$1",
141
+ minWidth: 200,
142
+ children: [/* @__PURE__ */jsx(ItemSection, {
143
+ items: INLINE_ITEMS,
144
+ state,
145
+ onSelect: handleSelect
146
+ }), /* @__PURE__ */jsx(XStack, {
147
+ paddingVertical: "$1",
148
+ children: /* @__PURE__ */jsx(ToolbarSeparatorFrame, {
149
+ vertical: false,
150
+ width: "100%",
151
+ height: 1,
152
+ marginHorizontal: 0
153
+ })
154
+ }), /* @__PURE__ */jsx(ItemSection, {
155
+ items: ALIGN_ITEMS,
156
+ state,
157
+ onSelect: handleSelect
158
+ }), /* @__PURE__ */jsx(XStack, {
159
+ paddingVertical: "$1",
160
+ children: /* @__PURE__ */jsx(ToolbarSeparatorFrame, {
161
+ vertical: false,
162
+ width: "100%",
163
+ height: 1,
164
+ marginHorizontal: 0
165
+ })
166
+ }), /* @__PURE__ */jsx(ItemSection, {
167
+ items: BLOCK_ITEMS,
168
+ state,
169
+ onSelect: handleSelect
170
+ })]
171
+ })
172
+ })]
173
+ });
174
+ }
175
+ export { MoreDropdown };
176
+ //# sourceMappingURL=MoreDropdown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useResolvedKnobs","Popover","Text","XStack","YStack","DropdownMenuItemFrame","ToolbarSeparatorFrame","ToolbarButton","SubscriptIcon","SuperscriptIcon","AlignLeftIcon","AlignCenterIcon","AlignRightIcon","AlignJustifyIcon","HorizontalRuleIcon","ClearFormattingIcon","SHORTCUTS","Fragment","jsx","jsxs","INLINE_ITEMS","label","subscript","command","icon","isActive","s","isSubscript","superscript","isSuperscript","ALIGN_ITEMS","alignLeft","textAlign","alignCenter","alignRight","alignJustify","BLOCK_ITEMS","horizontalRule","clearFormatting","MoreIcon","width","height","viewBox","fill","stroke","children","cx","cy","r","preventFocusTheft","e","preventDefault","ItemSection","items","state","onSelect","map","item","Icon","active","onMouseDown","onPress","payload","fontSize","MoreDropdown","editorRef","disabled","knobProps","open","setOpen","handleSelect","current","executeCommand","onOpenChange","placement","Trigger","asChild","tooltip","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","gap","minWidth","paddingVertical","vertical","marginHorizontal"],"sources":["../../../src/toolbar/MoreDropdown.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,196 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { Popover, Text, XStack, YStack } from "tamagui";
5
+ import { DropdownMenuItemFrame, ToolbarSeparatorFrame } from "../styled.native.js";
6
+ import { ToolbarButton } from "./ToolbarButton.native.js";
7
+ import { SubscriptIcon, SuperscriptIcon, AlignLeftIcon, AlignCenterIcon, AlignRightIcon, AlignJustifyIcon, HorizontalRuleIcon, ClearFormattingIcon } from "./icons.native.js";
8
+ import { SHORTCUTS } from "./shortcuts.native.js";
9
+ var INLINE_ITEMS = [{
10
+ label: SHORTCUTS.subscript,
11
+ command: "subscript",
12
+ icon: SubscriptIcon,
13
+ isActive: function isActive(s) {
14
+ return s.isSubscript;
15
+ }
16
+ }, {
17
+ label: SHORTCUTS.superscript,
18
+ command: "superscript",
19
+ icon: SuperscriptIcon,
20
+ isActive: function isActive2(s) {
21
+ return s.isSuperscript;
22
+ }
23
+ }];
24
+ var ALIGN_ITEMS = [{
25
+ label: SHORTCUTS.alignLeft,
26
+ command: "alignLeft",
27
+ icon: AlignLeftIcon,
28
+ isActive: function isActive3(s) {
29
+ return s.textAlign === "left";
30
+ }
31
+ }, {
32
+ label: SHORTCUTS.alignCenter,
33
+ command: "alignCenter",
34
+ icon: AlignCenterIcon,
35
+ isActive: function isActive4(s) {
36
+ return s.textAlign === "center";
37
+ }
38
+ }, {
39
+ label: SHORTCUTS.alignRight,
40
+ command: "alignRight",
41
+ icon: AlignRightIcon,
42
+ isActive: function isActive5(s) {
43
+ return s.textAlign === "right";
44
+ }
45
+ }, {
46
+ label: SHORTCUTS.alignJustify,
47
+ command: "alignJustify",
48
+ icon: AlignJustifyIcon,
49
+ isActive: function isActive6(s) {
50
+ return s.textAlign === "justify";
51
+ }
52
+ }];
53
+ var BLOCK_ITEMS = [{
54
+ label: SHORTCUTS.horizontalRule,
55
+ command: "horizontalRule",
56
+ icon: HorizontalRuleIcon
57
+ }, {
58
+ label: SHORTCUTS.clearFormatting,
59
+ command: "clearFormatting",
60
+ icon: ClearFormattingIcon
61
+ }];
62
+ function MoreIcon() {
63
+ return /* @__PURE__ */_jsxs("svg", {
64
+ width: "16",
65
+ height: "16",
66
+ viewBox: "0 0 24 24",
67
+ fill: "currentColor",
68
+ stroke: "none",
69
+ children: [/* @__PURE__ */_jsx("circle", {
70
+ cx: "5",
71
+ cy: "12",
72
+ r: "2"
73
+ }), /* @__PURE__ */_jsx("circle", {
74
+ cx: "12",
75
+ cy: "12",
76
+ r: "2"
77
+ }), /* @__PURE__ */_jsx("circle", {
78
+ cx: "19",
79
+ cy: "12",
80
+ r: "2"
81
+ })]
82
+ });
83
+ }
84
+ function preventFocusTheft(e) {
85
+ e.preventDefault();
86
+ }
87
+ function ItemSection(param) {
88
+ var {
89
+ items,
90
+ state,
91
+ onSelect
92
+ } = param;
93
+ return /* @__PURE__ */_jsx(_Fragment, {
94
+ children: items.map(function (item) {
95
+ var _item_isActive;
96
+ var Icon = item.icon;
97
+ return /* @__PURE__ */_jsxs(DropdownMenuItemFrame, {
98
+ active: (_item_isActive = item.isActive) === null || _item_isActive === void 0 ? void 0 : _item_isActive.call(item, state),
99
+ onMouseDown: preventFocusTheft,
100
+ onPress: function onPress() {
101
+ return onSelect(item.command, item.payload);
102
+ },
103
+ "aria-label": item.label,
104
+ children: [/* @__PURE__ */_jsx(Icon, {}), /* @__PURE__ */_jsx(Text, {
105
+ fontSize: 13,
106
+ children: item.label
107
+ })]
108
+ }, item.command);
109
+ })
110
+ });
111
+ }
112
+ function MoreDropdown(param) {
113
+ var {
114
+ editorRef,
115
+ state,
116
+ disabled
117
+ } = param;
118
+ var {
119
+ knobProps
120
+ } = useResolvedKnobs();
121
+ var [open, setOpen] = useState(false);
122
+ var handleSelect = function handleSelect2(command, payload) {
123
+ var _editorRef_current;
124
+ (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand(command, payload);
125
+ if (command === "horizontalRule" || command === "clearFormatting") {
126
+ setOpen(false);
127
+ }
128
+ };
129
+ return /* @__PURE__ */_jsxs(Popover, {
130
+ open,
131
+ onOpenChange: setOpen,
132
+ placement: "bottom-end",
133
+ children: [/* @__PURE__ */_jsx(Popover.Trigger, {
134
+ asChild: true,
135
+ children: /* @__PURE__ */_jsx(ToolbarButton, {
136
+ disabled,
137
+ onPress: function onPress() {
138
+ return setOpen(true);
139
+ },
140
+ "aria-label": "More formatting options",
141
+ tooltip: "More",
142
+ children: /* @__PURE__ */_jsx(MoreIcon, {})
143
+ })
144
+ }), /* @__PURE__ */_jsx(Popover.Content, {
145
+ ...knobProps.panelPadding,
146
+ backgroundColor: "$background",
147
+ borderWidth: 1,
148
+ borderColor: "$borderColor",
149
+ borderRadius: knobProps.borderRadius.borderRadius,
150
+ elevation: knobProps.elevation,
151
+ enterStyle: {
152
+ opacity: 0,
153
+ y: -5
154
+ },
155
+ exitStyle: {
156
+ opacity: 0,
157
+ y: -5
158
+ },
159
+ children: /* @__PURE__ */_jsxs(YStack, {
160
+ gap: "$1",
161
+ minWidth: 200,
162
+ children: [/* @__PURE__ */_jsx(ItemSection, {
163
+ items: INLINE_ITEMS,
164
+ state,
165
+ onSelect: handleSelect
166
+ }), /* @__PURE__ */_jsx(XStack, {
167
+ paddingVertical: "$1",
168
+ children: /* @__PURE__ */_jsx(ToolbarSeparatorFrame, {
169
+ vertical: false,
170
+ width: "100%",
171
+ height: 1,
172
+ marginHorizontal: 0
173
+ })
174
+ }), /* @__PURE__ */_jsx(ItemSection, {
175
+ items: ALIGN_ITEMS,
176
+ state,
177
+ onSelect: handleSelect
178
+ }), /* @__PURE__ */_jsx(XStack, {
179
+ paddingVertical: "$1",
180
+ children: /* @__PURE__ */_jsx(ToolbarSeparatorFrame, {
181
+ vertical: false,
182
+ width: "100%",
183
+ height: 1,
184
+ marginHorizontal: 0
185
+ })
186
+ }), /* @__PURE__ */_jsx(ItemSection, {
187
+ items: BLOCK_ITEMS,
188
+ state,
189
+ onSelect: handleSelect
190
+ })]
191
+ })
192
+ })]
193
+ });
194
+ }
195
+ export { MoreDropdown };
196
+ //# sourceMappingURL=MoreDropdown.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useState","useResolvedKnobs","Popover","Text","XStack","YStack","DropdownMenuItemFrame","ToolbarSeparatorFrame","ToolbarButton","SubscriptIcon","SuperscriptIcon","AlignLeftIcon","AlignCenterIcon","AlignRightIcon","AlignJustifyIcon","HorizontalRuleIcon","ClearFormattingIcon","SHORTCUTS","INLINE_ITEMS","label","subscript","command","icon","isActive","s","isSubscript","superscript","isActive2","isSuperscript","ALIGN_ITEMS","alignLeft","isActive3","textAlign","alignCenter","isActive4","alignRight","isActive5","alignJustify","isActive6","BLOCK_ITEMS","horizontalRule","clearFormatting","MoreIcon","width","height","viewBox","fill","stroke","children","cx","cy","r","preventFocusTheft","e","preventDefault","ItemSection","param","items","state","onSelect","map","item","_item_isActive","Icon","active","call","onMouseDown","onPress","payload","fontSize","MoreDropdown","editorRef","disabled","knobProps","open","setOpen","handleSelect","handleSelect2","_editorRef_current","current","executeCommand","onOpenChange","placement","Trigger","asChild"],"sources":["../../../src/toolbar/MoreDropdown.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ import { useCallback, useRef } from "react";
2
+ import { View } from "tamagui";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ function GripIcon() {
5
+ return /* @__PURE__ */jsxs("svg", {
6
+ width: "12",
7
+ height: "12",
8
+ viewBox: "0 0 12 12",
9
+ fill: "currentColor",
10
+ opacity: 0.4,
11
+ children: [/* @__PURE__ */jsx("path", {
12
+ d: "M10 2L2 10",
13
+ stroke: "currentColor",
14
+ strokeWidth: "1.5",
15
+ fill: "none"
16
+ }), /* @__PURE__ */jsx("path", {
17
+ d: "M10 6L6 10",
18
+ stroke: "currentColor",
19
+ strokeWidth: "1.5",
20
+ fill: "none"
21
+ }), /* @__PURE__ */jsx("path", {
22
+ d: "M10 10L10 10",
23
+ stroke: "currentColor",
24
+ strokeWidth: "1.5",
25
+ fill: "none"
26
+ })]
27
+ });
28
+ }
29
+ function ResizeHandle({
30
+ containerRef,
31
+ minHeight = 150,
32
+ maxHeight
33
+ }) {
34
+ const startY = useRef(0);
35
+ const startHeight = useRef(0);
36
+ const onMouseDown = useCallback(e => {
37
+ e.preventDefault();
38
+ const el = containerRef.current;
39
+ if (!el) return;
40
+ startY.current = e.clientY;
41
+ startHeight.current = el.getBoundingClientRect().height;
42
+ const onMouseMove = ev => {
43
+ const delta = ev.clientY - startY.current;
44
+ let newHeight = startHeight.current + delta;
45
+ if (newHeight < minHeight) newHeight = minHeight;
46
+ if (maxHeight && newHeight > maxHeight) newHeight = maxHeight;
47
+ el.style.height = `${newHeight}px`;
48
+ };
49
+ const onMouseUp = () => {
50
+ document.removeEventListener("mousemove", onMouseMove);
51
+ document.removeEventListener("mouseup", onMouseUp);
52
+ document.body.style.cursor = "";
53
+ document.body.style.userSelect = "";
54
+ };
55
+ document.body.style.cursor = "ns-resize";
56
+ document.body.style.userSelect = "none";
57
+ document.addEventListener("mousemove", onMouseMove);
58
+ document.addEventListener("mouseup", onMouseUp);
59
+ }, [containerRef, minHeight, maxHeight]);
60
+ return /* @__PURE__ */jsx(View, {
61
+ position: "absolute",
62
+ bottom: 0,
63
+ right: 0,
64
+ width: 16,
65
+ height: 16,
66
+ cursor: "ns-resize",
67
+ alignItems: "center",
68
+ justifyContent: "center",
69
+ opacity: 0.6,
70
+ hoverStyle: {
71
+ opacity: 1
72
+ },
73
+ onMouseDown,
74
+ "aria-label": "Resize editor",
75
+ role: "separator",
76
+ children: /* @__PURE__ */jsx(GripIcon, {})
77
+ });
78
+ }
79
+ export { ResizeHandle };
80
+ //# sourceMappingURL=ResizeHandle.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRef","View","jsx","jsxs","GripIcon","width","height","viewBox","fill","opacity","children","d","stroke","strokeWidth","ResizeHandle","containerRef","minHeight","maxHeight","startY","startHeight","onMouseDown","e","preventDefault","el","current","clientY","getBoundingClientRect","onMouseMove","ev","delta","newHeight","style","onMouseUp","document","removeEventListener","body","cursor","userSelect","addEventListener","position","bottom","right","alignItems","justifyContent","hoverStyle","role"],"sources":["../../../src/toolbar/ResizeHandle.tsx"],"sourcesContent":[null],"mappings":"AAKA,SAASA,WAAA,EAAaC,MAAA,QAAc;AACpC,SAASC,IAAA,QAAY;AAUjB,SACEC,GAAA,EADFC,IAAA;AAFJ,SAASC,SAAA,EAAW;EAClB,OACE,eAAAD,IAAA,CAAC;IAAIE,KAAA,EAAM;IAAKC,MAAA,EAAO;IAAKC,OAAA,EAAQ;IAAYC,IAAA,EAAK;IAAeC,OAAA,EAAS;IAC3EC,QAAA,kBAAAR,GAAA,CAAC;MAAKS,CAAA,EAAE;MAAaC,MAAA,EAAO;MAAeC,WAAA,EAAY;MAAML,IAAA,EAAK;IAAA,CAAO,GACzE,eAAAN,GAAA,CAAC;MAAKS,CAAA,EAAE;MAAaC,MAAA,EAAO;MAAeC,WAAA,EAAY;MAAML,IAAA,EAAK;IAAA,CAAO,GACzE,eAAAN,GAAA,CAAC;MAAKS,CAAA,EAAE;MAAeC,MAAA,EAAO;MAAeC,WAAA,EAAY;MAAML,IAAA,EAAK;IAAA,CAAO;EAAA,CAC7E;AAEJ;AAEO,SAASM,aAAa;EAAEC,YAAA;EAAcC,SAAA,GAAY;EAAKC;AAAU,GAAsB;EAC5F,MAAMC,MAAA,GAASlB,MAAA,CAAO,CAAC;EACvB,MAAMmB,WAAA,GAAcnB,MAAA,CAAO,CAAC;EAE5B,MAAMoB,WAAA,GAAcrB,WAAA,CACjBsB,CAAA,IAAwB;IACvBA,CAAA,CAAEC,cAAA,CAAe;IACjB,MAAMC,EAAA,GAAKR,YAAA,CAAaS,OAAA;IACxB,IAAI,CAACD,EAAA,EAAI;IAETL,MAAA,CAAOM,OAAA,GAAUH,CAAA,CAAEI,OAAA;IACnBN,WAAA,CAAYK,OAAA,GAAUD,EAAA,CAAGG,qBAAA,CAAsB,EAAEpB,MAAA;IAEjD,MAAMqB,WAAA,GAAeC,EAAA,IAAmB;MACtC,MAAMC,KAAA,GAAQD,EAAA,CAAGH,OAAA,GAAUP,MAAA,CAAOM,OAAA;MAClC,IAAIM,SAAA,GAAYX,WAAA,CAAYK,OAAA,GAAUK,KAAA;MACtC,IAAIC,SAAA,GAAYd,SAAA,EAAWc,SAAA,GAAYd,SAAA;MACvC,IAAIC,SAAA,IAAaa,SAAA,GAAYb,SAAA,EAAWa,SAAA,GAAYb,SAAA;MACpDM,EAAA,CAAGQ,KAAA,CAAMzB,MAAA,GAAS,GAAGwB,SAAS;IAChC;IAEA,MAAME,SAAA,GAAYA,CAAA,KAAM;MACtBC,QAAA,CAASC,mBAAA,CAAoB,aAAaP,WAAW;MACrDM,QAAA,CAASC,mBAAA,CAAoB,WAAWF,SAAS;MACjDC,QAAA,CAASE,IAAA,CAAKJ,KAAA,CAAMK,MAAA,GAAS;MAC7BH,QAAA,CAASE,IAAA,CAAKJ,KAAA,CAAMM,UAAA,GAAa;IACnC;IAEAJ,QAAA,CAASE,IAAA,CAAKJ,KAAA,CAAMK,MAAA,GAAS;IAC7BH,QAAA,CAASE,IAAA,CAAKJ,KAAA,CAAMM,UAAA,GAAa;IACjCJ,QAAA,CAASK,gBAAA,CAAiB,aAAaX,WAAW;IAClDM,QAAA,CAASK,gBAAA,CAAiB,WAAWN,SAAS;EAChD,GACA,CAACjB,YAAA,EAAcC,SAAA,EAAWC,SAAS,CACrC;EAEA,OACE,eAAAf,GAAA,CAACD,IAAA;IACCsC,QAAA,EAAS;IACTC,MAAA,EAAQ;IACRC,KAAA,EAAO;IACPpC,KAAA,EAAO;IACPC,MAAA,EAAQ;IACR8B,MAAA,EAAO;IACPM,UAAA,EAAW;IACXC,cAAA,EAAe;IACflC,OAAA,EAAS;IACTmC,UAAA,EAAY;MAAEnC,OAAA,EAAS;IAAE;IACzBW,WAAA;IACA,cAAW;IACXyB,IAAA,EAAK;IAELnC,QAAA,iBAAAR,GAAA,CAACE,QAAA,IAAS;EAAA,CACZ;AAEJ","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useRef } from "react";
3
+ import { View } from "tamagui";
4
+ function GripIcon() {
5
+ return /* @__PURE__ */_jsxs("svg", {
6
+ width: "12",
7
+ height: "12",
8
+ viewBox: "0 0 12 12",
9
+ fill: "currentColor",
10
+ opacity: 0.4,
11
+ children: [/* @__PURE__ */_jsx("path", {
12
+ d: "M10 2L2 10",
13
+ stroke: "currentColor",
14
+ strokeWidth: "1.5",
15
+ fill: "none"
16
+ }), /* @__PURE__ */_jsx("path", {
17
+ d: "M10 6L6 10",
18
+ stroke: "currentColor",
19
+ strokeWidth: "1.5",
20
+ fill: "none"
21
+ }), /* @__PURE__ */_jsx("path", {
22
+ d: "M10 10L10 10",
23
+ stroke: "currentColor",
24
+ strokeWidth: "1.5",
25
+ fill: "none"
26
+ })]
27
+ });
28
+ }
29
+ function ResizeHandle(param) {
30
+ var {
31
+ containerRef,
32
+ minHeight = 150,
33
+ maxHeight
34
+ } = param;
35
+ var startY = useRef(0);
36
+ var startHeight = useRef(0);
37
+ var onMouseDown = useCallback(function (e) {
38
+ e.preventDefault();
39
+ var el = containerRef.current;
40
+ if (!el) return;
41
+ startY.current = e.clientY;
42
+ startHeight.current = el.getBoundingClientRect().height;
43
+ var onMouseMove = function onMouseMove2(ev) {
44
+ var delta = ev.clientY - startY.current;
45
+ var newHeight = startHeight.current + delta;
46
+ if (newHeight < minHeight) newHeight = minHeight;
47
+ if (maxHeight && newHeight > maxHeight) newHeight = maxHeight;
48
+ el.style.height = `${newHeight}px`;
49
+ };
50
+ var onMouseUp = function onMouseUp1() {
51
+ document.removeEventListener("mousemove", onMouseMove);
52
+ document.removeEventListener("mouseup", onMouseUp);
53
+ document.body.style.cursor = "";
54
+ document.body.style.userSelect = "";
55
+ };
56
+ document.body.style.cursor = "ns-resize";
57
+ document.body.style.userSelect = "none";
58
+ document.addEventListener("mousemove", onMouseMove);
59
+ document.addEventListener("mouseup", onMouseUp);
60
+ }, [containerRef, minHeight, maxHeight]);
61
+ return /* @__PURE__ */_jsx(View, {
62
+ position: "absolute",
63
+ bottom: 0,
64
+ right: 0,
65
+ width: 16,
66
+ height: 16,
67
+ cursor: "ns-resize",
68
+ alignItems: "center",
69
+ justifyContent: "center",
70
+ opacity: 0.6,
71
+ hoverStyle: {
72
+ opacity: 1
73
+ },
74
+ onMouseDown,
75
+ "aria-label": "Resize editor",
76
+ role: "separator",
77
+ children: /* @__PURE__ */_jsx(GripIcon, {})
78
+ });
79
+ }
80
+ export { ResizeHandle };
81
+ //# sourceMappingURL=ResizeHandle.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useCallback","useRef","View","GripIcon","width","height","viewBox","fill","opacity","children","d","stroke","strokeWidth","ResizeHandle","param","containerRef","minHeight","maxHeight","startY","startHeight","onMouseDown","e","preventDefault","el","current","clientY","getBoundingClientRect","onMouseMove","onMouseMove2","ev","delta","newHeight","style","onMouseUp","onMouseUp1","document","removeEventListener","body","cursor","userSelect","addEventListener"],"sources":["../../../src/toolbar/ResizeHandle.tsx"],"sourcesContent":[null],"mappings":"AAKA,SAASA,GAAA,IAAAC,IAAA,EAAaC,IAAA,IAAAC,KAAA,QAAc;AACpC,SAASC,WAAA,EAAYC,MAAA;AAUjB,SACEC,IAAA,QADF;AAFJ,SAASC,SAAA,EAAW;EAClB,OACE,eAAAJ,KAAC;IACCK,KAAA;IACAC,MAAA;IACAC,OAAA,aAAC;IAA0EC,IAC7E;IAEJC,OAAA;IAEOC,QAAS,GACd,eAAeZ,IAAQ;MACjBa,CAAA,cAAc;MAEdC,MAAA,gBAAc;MACjBC,WAAwB;MACrBL,IAAA;IACF,IACA,eAASV,IAAA;MAETa,CAAA,cAAiB;MACjBC,MAAA,gBAAsB;MAEtBC,WAAM,OAAc;MAClBL,IAAA,EAAM;IACN,IACA,eAAIV,IAAY,SAAW;MAC3Ba,CAAA,gBAAiB;MACjBC,MAAG,gBAAkB;MACvBC,WAAA;MAEAL,IAAM;IACJ;EAEA;AACA;AAAiC,SACnCM,aAAAC,KAAA;EAEA;IAAAC,YAAc;IAAAC,SAAM,MAAS;IAAAC;EAAA,IAAAH,KAAA;EAC7B,IAAAI,MAAA,GAASjB,MAAK;EACd,IAAAkB,WAAS,GAAAlB,MAAA;EACT,IAAAmB,WAAS,GAAApB,WAAA,CAAiB,UAAAqB,CAAA,EAAW;IACvCA,CAAA,CAAAC,cAAA;IACA,IAACC,EAAA,GAAAR,YAAc,CAAAS,OAAW;IAC5B,KAAAD,EAAA;IAEAL,MACE,CAAAM,OAAA,GAAAH,CAAA,CAAAI,OAAA;IAACN,WAAA,CAAAK,OAAA,GAAAD,EAAA,CAAAG,qBAAA,GAAArB,MAAA;IAAA,IAAAsB,WAAA,YAAAC,aAAAC,EAAA;MACC,IAAAC,KAAA,GAASD,EAAA,CAAAJ,OAAA,GAAAP,MAAA,CAAAM,OAAA;MACT,IAAAO,SAAQ,GAAAZ,WAAA,CAAAK,OAAA,GAAAM,KAAA;MACR,IAAAC,SAAO,GAAAf,SAAA,EAAAe,SAAA,GAAAf,SAAA;MACP,IAAAC,SAAO,IAAAc,SAAA,GAAAd,SAAA,EAAAc,SAAA,GAAAd,SAAA;MACPM,EAAA,CAAAS,KAAQ,CAAA3B,MAAA,MAAA0B,SAAA;IAAA;IACD,IACPE,SAAA,GAAW,SAAAC,WAAA;MACXC,QAAA,CAAAC,mBAAe,cAAAT,WAAA;MACfQ,QAAA,CAASC,mBAAA,YAAAH,SAAA;MACTE,QAAA,CAAAE,IAAY,CAAEL,KAAA,CAAAM,MAAW;MACzBH,QAAA,CAAAE,IAAA,CAAAL,KAAA,CAAAO,UAAA;IAAA;IACWJ,QACN,CAAAE,IAAA,CAAAL,KAAA,CAAAM,MAAA;IAAAH,QAEL,CAAAE,IAAA,CAAAL,KAAA,CAAAO,UAAA,GAAC;IAASJ,QAAA,CAAAK,gBAAA,cAAAb,WAAA;IACZQ,QAAA,CAAAK,gBAAA,YAAAP,SAAA;EAEJ,I","ignoreList":[]}
@@ -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":[]}