@multiplatform.one/rich-text 6.1.0 → 6.3.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 (649) hide show
  1. package/README.md +60 -0
  2. package/dist/cjs/RichEditor.cjs +84 -9
  3. package/dist/cjs/RichEditor.native.js +422 -35
  4. package/dist/cjs/RichEditor.native.js.map +1 -1
  5. package/dist/cjs/RichTextEditor/index.cjs +18 -2
  6. package/dist/cjs/RichTextEditor/index.native.js +18 -2
  7. package/dist/cjs/RichTextEditor/index.native.js.map +1 -1
  8. package/dist/cjs/constants.cjs +52 -29
  9. package/dist/cjs/constants.native.js +59 -29
  10. package/dist/cjs/constants.native.js.map +1 -1
  11. package/dist/cjs/editor/BlockDragHandle.cjs +22 -7
  12. package/dist/cjs/editor/BlockDragHandle.native.js +41 -7
  13. package/dist/cjs/editor/BlockDragHandle.native.js.map +1 -1
  14. package/dist/cjs/editor/SlashCommands.cjs +249 -293
  15. package/dist/cjs/editor/SlashCommands.native.js +306 -340
  16. package/dist/cjs/editor/SlashCommands.native.js.map +1 -1
  17. package/dist/cjs/editor/TentapEditor.native.js +44 -12
  18. package/dist/cjs/editor/TentapEditor.native.js.map +1 -1
  19. package/dist/cjs/editor/TiptapEditor.cjs +140 -33
  20. package/dist/cjs/editor/TiptapEditor.native.js +153 -33
  21. package/dist/cjs/editor/TiptapEditor.native.js.map +1 -1
  22. package/dist/cjs/editor/blockAnchor.cjs +43 -0
  23. package/dist/cjs/editor/blockAnchor.native.js +68 -0
  24. package/dist/cjs/editor/blockAnchor.native.js.map +1 -0
  25. package/dist/cjs/editor/codeBlockPreview.cjs +230 -0
  26. package/dist/cjs/editor/codeBlockPreview.native.js +265 -0
  27. package/dist/cjs/editor/codeBlockPreview.native.js.map +1 -0
  28. package/dist/cjs/editor/editorStyles.cjs +203 -34
  29. package/dist/cjs/editor/editorStyles.native.js +203 -34
  30. package/dist/cjs/editor/editorStyles.native.js.map +1 -1
  31. package/dist/cjs/editor/emoji.cjs +128 -0
  32. package/dist/cjs/editor/emoji.native.js +184 -0
  33. package/dist/cjs/editor/emoji.native.js.map +1 -0
  34. package/dist/cjs/editor/lazyKatex.cjs +78 -0
  35. package/dist/cjs/editor/lazyKatex.native.js +117 -0
  36. package/dist/cjs/editor/lazyKatex.native.js.map +1 -0
  37. package/dist/cjs/editor/markdown.cjs +216 -0
  38. package/dist/cjs/editor/markdown.native.js +278 -0
  39. package/dist/cjs/editor/markdown.native.js.map +1 -0
  40. package/dist/cjs/editor/mathematics.cjs +168 -0
  41. package/dist/cjs/editor/mathematics.native.js +202 -0
  42. package/dist/cjs/editor/mathematics.native.js.map +1 -0
  43. package/dist/cjs/editor/media.cjs +138 -0
  44. package/dist/cjs/editor/media.native.js +172 -0
  45. package/dist/cjs/editor/media.native.js.map +1 -0
  46. package/dist/cjs/editor/mentions.cjs +73 -0
  47. package/dist/cjs/editor/mentions.native.js +84 -0
  48. package/dist/cjs/editor/mentions.native.js.map +1 -0
  49. package/dist/cjs/editor/pasteCleanup.cjs +83 -0
  50. package/dist/cjs/editor/pasteCleanup.native.js +175 -0
  51. package/dist/cjs/editor/pasteCleanup.native.js.map +1 -0
  52. package/dist/cjs/editor/suggestionPopup.cjs +297 -0
  53. package/dist/cjs/editor/suggestionPopup.native.js +327 -0
  54. package/dist/cjs/editor/suggestionPopup.native.js.map +1 -0
  55. package/dist/cjs/preview.cjs +263 -0
  56. package/dist/cjs/preview.native.js +294 -0
  57. package/dist/cjs/preview.native.js.map +1 -0
  58. package/dist/cjs/shared/t.cjs +53 -0
  59. package/dist/cjs/shared/t.native.js +56 -0
  60. package/dist/cjs/shared/t.native.js.map +1 -0
  61. package/dist/cjs/shared/url.cjs +35 -0
  62. package/dist/cjs/shared/url.native.js +38 -0
  63. package/dist/cjs/shared/url.native.js.map +1 -0
  64. package/dist/cjs/styled.cjs +13 -6
  65. package/dist/cjs/styled.native.js +13 -6
  66. package/dist/cjs/styled.native.js.map +1 -1
  67. package/dist/cjs/toolbar/BubbleToolbar.cjs +10 -8
  68. package/dist/cjs/toolbar/BubbleToolbar.native.js +10 -8
  69. package/dist/cjs/toolbar/BubbleToolbar.native.js.map +1 -1
  70. package/dist/cjs/toolbar/CodeBlockBubble.cjs +59 -23
  71. package/dist/cjs/toolbar/CodeBlockBubble.native.js +71 -25
  72. package/dist/cjs/toolbar/CodeBlockBubble.native.js.map +1 -1
  73. package/dist/cjs/toolbar/ColorPicker.cjs +19 -54
  74. package/dist/cjs/toolbar/ColorPicker.native.js +81 -179
  75. package/dist/cjs/toolbar/ColorPicker.native.js.map +1 -1
  76. package/dist/cjs/toolbar/FixedToolbar.cjs +33 -10
  77. package/dist/cjs/toolbar/FixedToolbar.native.js +46 -54
  78. package/dist/cjs/toolbar/FixedToolbar.native.js.map +1 -1
  79. package/dist/cjs/toolbar/HeadingPicker.cjs +32 -39
  80. package/dist/cjs/toolbar/HeadingPicker.native.js +61 -51
  81. package/dist/cjs/toolbar/HeadingPicker.native.js.map +1 -1
  82. package/dist/cjs/toolbar/ImageBubble.cjs +20 -43
  83. package/dist/cjs/toolbar/ImageBubble.native.js +20 -43
  84. package/dist/cjs/toolbar/ImageBubble.native.js.map +1 -1
  85. package/dist/cjs/toolbar/ImageDialog.cjs +5 -4
  86. package/dist/cjs/toolbar/ImageDialog.native.js +76 -65
  87. package/dist/cjs/toolbar/ImageDialog.native.js.map +1 -1
  88. package/dist/cjs/toolbar/LinkBubble.cjs +23 -70
  89. package/dist/cjs/toolbar/LinkBubble.native.js +23 -70
  90. package/dist/cjs/toolbar/LinkBubble.native.js.map +1 -1
  91. package/dist/cjs/toolbar/LinkDialog.cjs +19 -18
  92. package/dist/cjs/toolbar/LinkDialog.native.js +86 -83
  93. package/dist/cjs/toolbar/LinkDialog.native.js.map +1 -1
  94. package/dist/cjs/toolbar/ListPicker.cjs +32 -43
  95. package/dist/cjs/toolbar/ListPicker.native.js +43 -44
  96. package/dist/cjs/toolbar/ListPicker.native.js.map +1 -1
  97. package/dist/cjs/toolbar/MathBubble.cjs +159 -0
  98. package/dist/cjs/toolbar/MathBubble.native.js +169 -0
  99. package/dist/cjs/toolbar/MathBubble.native.js.map +1 -0
  100. package/dist/cjs/toolbar/MoreDropdown.cjs +51 -98
  101. package/dist/cjs/toolbar/MoreDropdown.native.js +73 -98
  102. package/dist/cjs/toolbar/MoreDropdown.native.js.map +1 -1
  103. package/dist/cjs/toolbar/StatusBar.cjs +19 -10
  104. package/dist/cjs/toolbar/StatusBar.native.js +19 -10
  105. package/dist/cjs/toolbar/StatusBar.native.js.map +1 -1
  106. package/dist/cjs/toolbar/TableBubble.cjs +77 -95
  107. package/dist/cjs/toolbar/TableBubble.native.js +73 -71
  108. package/dist/cjs/toolbar/TableBubble.native.js.map +1 -1
  109. package/dist/cjs/toolbar/ToolbarButton.cjs +86 -21
  110. package/dist/cjs/toolbar/ToolbarButton.native.js +14 -4
  111. package/dist/cjs/toolbar/ToolbarButton.native.js.map +1 -1
  112. package/dist/cjs/toolbar/icons.cjs +111 -468
  113. package/dist/cjs/toolbar/shortcuts.cjs +73 -24
  114. package/dist/cjs/toolbar/shortcuts.native.js +73 -24
  115. package/dist/cjs/toolbar/shortcuts.native.js.map +1 -1
  116. package/dist/cjs/toolbar/useHorizontalScroll.cjs +25 -5
  117. package/dist/cjs/toolbar/useHorizontalScroll.native.js +25 -5
  118. package/dist/cjs/toolbar/useHorizontalScroll.native.js.map +1 -1
  119. package/dist/cjs/toolbar/useRovingFocus.cjs +80 -0
  120. package/dist/cjs/toolbar/useRovingFocus.native.js +113 -0
  121. package/dist/cjs/toolbar/useRovingFocus.native.js.map +1 -0
  122. package/dist/cjs/types.native.js.map +1 -1
  123. package/dist/esm/RichEditor.mjs +85 -10
  124. package/dist/esm/RichEditor.mjs.map +1 -1
  125. package/dist/esm/RichEditor.native.js +425 -38
  126. package/dist/esm/RichEditor.native.js.map +1 -1
  127. package/dist/esm/RichTextEditor/index.mjs +18 -2
  128. package/dist/esm/RichTextEditor/index.mjs.map +1 -1
  129. package/dist/esm/RichTextEditor/index.native.js +18 -2
  130. package/dist/esm/RichTextEditor/index.native.js.map +1 -1
  131. package/dist/esm/constants.mjs +47 -29
  132. package/dist/esm/constants.mjs.map +1 -1
  133. package/dist/esm/constants.native.js +54 -29
  134. package/dist/esm/constants.native.js.map +1 -1
  135. package/dist/esm/editor/BlockDragHandle.mjs +22 -7
  136. package/dist/esm/editor/BlockDragHandle.mjs.map +1 -1
  137. package/dist/esm/editor/BlockDragHandle.native.js +41 -7
  138. package/dist/esm/editor/BlockDragHandle.native.js.map +1 -1
  139. package/dist/esm/editor/SlashCommands.mjs +250 -294
  140. package/dist/esm/editor/SlashCommands.mjs.map +1 -1
  141. package/dist/esm/editor/SlashCommands.native.js +307 -341
  142. package/dist/esm/editor/SlashCommands.native.js.map +1 -1
  143. package/dist/esm/editor/TentapEditor.native.js +45 -13
  144. package/dist/esm/editor/TentapEditor.native.js.map +1 -1
  145. package/dist/esm/editor/TiptapEditor.mjs +142 -35
  146. package/dist/esm/editor/TiptapEditor.mjs.map +1 -1
  147. package/dist/esm/editor/TiptapEditor.native.js +155 -35
  148. package/dist/esm/editor/TiptapEditor.native.js.map +1 -1
  149. package/dist/esm/editor/blockAnchor.mjs +18 -0
  150. package/dist/esm/editor/blockAnchor.mjs.map +1 -0
  151. package/dist/esm/editor/blockAnchor.native.js +40 -0
  152. package/dist/esm/editor/blockAnchor.native.js.map +1 -0
  153. package/dist/esm/editor/codeBlockPreview.mjs +190 -0
  154. package/dist/esm/editor/codeBlockPreview.mjs.map +1 -0
  155. package/dist/esm/editor/codeBlockPreview.native.js +222 -0
  156. package/dist/esm/editor/codeBlockPreview.native.js.map +1 -0
  157. package/dist/esm/editor/editorStyles.mjs +203 -34
  158. package/dist/esm/editor/editorStyles.mjs.map +1 -1
  159. package/dist/esm/editor/editorStyles.native.js +203 -34
  160. package/dist/esm/editor/editorStyles.native.js.map +1 -1
  161. package/dist/esm/editor/emoji.mjs +88 -0
  162. package/dist/esm/editor/emoji.mjs.map +1 -0
  163. package/dist/esm/editor/emoji.native.js +141 -0
  164. package/dist/esm/editor/emoji.native.js.map +1 -0
  165. package/dist/esm/editor/lazyKatex.mjs +40 -0
  166. package/dist/esm/editor/lazyKatex.mjs.map +1 -0
  167. package/dist/esm/editor/lazyKatex.native.js +76 -0
  168. package/dist/esm/editor/lazyKatex.native.js.map +1 -0
  169. package/dist/esm/editor/markdown.mjs +179 -0
  170. package/dist/esm/editor/markdown.mjs.map +1 -0
  171. package/dist/esm/editor/markdown.native.js +238 -0
  172. package/dist/esm/editor/markdown.native.js.map +1 -0
  173. package/dist/esm/editor/mathematics.mjs +142 -0
  174. package/dist/esm/editor/mathematics.mjs.map +1 -0
  175. package/dist/esm/editor/mathematics.native.js +173 -0
  176. package/dist/esm/editor/mathematics.native.js.map +1 -0
  177. package/dist/esm/editor/media.mjs +113 -0
  178. package/dist/esm/editor/media.mjs.map +1 -0
  179. package/dist/esm/editor/media.native.js +144 -0
  180. package/dist/esm/editor/media.native.js.map +1 -0
  181. package/dist/esm/editor/mentions.mjs +37 -0
  182. package/dist/esm/editor/mentions.mjs.map +1 -0
  183. package/dist/esm/editor/mentions.native.js +45 -0
  184. package/dist/esm/editor/mentions.native.js.map +1 -0
  185. package/dist/esm/editor/pasteCleanup.mjs +57 -0
  186. package/dist/esm/editor/pasteCleanup.mjs.map +1 -0
  187. package/dist/esm/editor/pasteCleanup.native.js +146 -0
  188. package/dist/esm/editor/pasteCleanup.native.js.map +1 -0
  189. package/dist/esm/editor/suggestionPopup.mjs +268 -0
  190. package/dist/esm/editor/suggestionPopup.mjs.map +1 -0
  191. package/dist/esm/editor/suggestionPopup.native.js +295 -0
  192. package/dist/esm/editor/suggestionPopup.native.js.map +1 -0
  193. package/dist/esm/preview.mjs +236 -0
  194. package/dist/esm/preview.mjs.map +1 -0
  195. package/dist/esm/preview.native.js +264 -0
  196. package/dist/esm/preview.native.js.map +1 -0
  197. package/dist/esm/shared/t.mjs +17 -0
  198. package/dist/esm/shared/t.mjs.map +1 -0
  199. package/dist/esm/shared/t.native.js +17 -0
  200. package/dist/esm/shared/t.native.js.map +1 -0
  201. package/dist/esm/shared/url.mjs +10 -0
  202. package/dist/esm/shared/url.mjs.map +1 -0
  203. package/dist/esm/shared/url.native.js +10 -0
  204. package/dist/esm/shared/url.native.js.map +1 -0
  205. package/dist/esm/styled.mjs +13 -6
  206. package/dist/esm/styled.mjs.map +1 -1
  207. package/dist/esm/styled.native.js +13 -6
  208. package/dist/esm/styled.native.js.map +1 -1
  209. package/dist/esm/toolbar/BubbleToolbar.mjs +11 -9
  210. package/dist/esm/toolbar/BubbleToolbar.mjs.map +1 -1
  211. package/dist/esm/toolbar/BubbleToolbar.native.js +11 -9
  212. package/dist/esm/toolbar/BubbleToolbar.native.js.map +1 -1
  213. package/dist/esm/toolbar/CodeBlockBubble.mjs +60 -24
  214. package/dist/esm/toolbar/CodeBlockBubble.mjs.map +1 -1
  215. package/dist/esm/toolbar/CodeBlockBubble.native.js +72 -26
  216. package/dist/esm/toolbar/CodeBlockBubble.native.js.map +1 -1
  217. package/dist/esm/toolbar/ColorPicker.mjs +21 -56
  218. package/dist/esm/toolbar/ColorPicker.mjs.map +1 -1
  219. package/dist/esm/toolbar/ColorPicker.native.js +82 -180
  220. package/dist/esm/toolbar/ColorPicker.native.js.map +1 -1
  221. package/dist/esm/toolbar/FixedToolbar.mjs +34 -11
  222. package/dist/esm/toolbar/FixedToolbar.mjs.map +1 -1
  223. package/dist/esm/toolbar/FixedToolbar.native.js +47 -55
  224. package/dist/esm/toolbar/FixedToolbar.native.js.map +1 -1
  225. package/dist/esm/toolbar/HeadingPicker.mjs +34 -41
  226. package/dist/esm/toolbar/HeadingPicker.mjs.map +1 -1
  227. package/dist/esm/toolbar/HeadingPicker.native.js +63 -53
  228. package/dist/esm/toolbar/HeadingPicker.native.js.map +1 -1
  229. package/dist/esm/toolbar/ImageBubble.mjs +20 -43
  230. package/dist/esm/toolbar/ImageBubble.mjs.map +1 -1
  231. package/dist/esm/toolbar/ImageBubble.native.js +20 -43
  232. package/dist/esm/toolbar/ImageBubble.native.js.map +1 -1
  233. package/dist/esm/toolbar/ImageDialog.mjs +5 -4
  234. package/dist/esm/toolbar/ImageDialog.mjs.map +1 -1
  235. package/dist/esm/toolbar/ImageDialog.native.js +75 -64
  236. package/dist/esm/toolbar/ImageDialog.native.js.map +1 -1
  237. package/dist/esm/toolbar/LinkBubble.mjs +23 -70
  238. package/dist/esm/toolbar/LinkBubble.mjs.map +1 -1
  239. package/dist/esm/toolbar/LinkBubble.native.js +23 -70
  240. package/dist/esm/toolbar/LinkBubble.native.js.map +1 -1
  241. package/dist/esm/toolbar/LinkDialog.mjs +17 -16
  242. package/dist/esm/toolbar/LinkDialog.mjs.map +1 -1
  243. package/dist/esm/toolbar/LinkDialog.native.js +84 -80
  244. package/dist/esm/toolbar/LinkDialog.native.js.map +1 -1
  245. package/dist/esm/toolbar/ListPicker.mjs +33 -44
  246. package/dist/esm/toolbar/ListPicker.mjs.map +1 -1
  247. package/dist/esm/toolbar/ListPicker.native.js +44 -45
  248. package/dist/esm/toolbar/ListPicker.native.js.map +1 -1
  249. package/dist/esm/toolbar/MathBubble.mjs +134 -0
  250. package/dist/esm/toolbar/MathBubble.mjs.map +1 -0
  251. package/dist/esm/toolbar/MathBubble.native.js +141 -0
  252. package/dist/esm/toolbar/MathBubble.native.js.map +1 -0
  253. package/dist/esm/toolbar/MoreDropdown.mjs +50 -97
  254. package/dist/esm/toolbar/MoreDropdown.mjs.map +1 -1
  255. package/dist/esm/toolbar/MoreDropdown.native.js +72 -97
  256. package/dist/esm/toolbar/MoreDropdown.native.js.map +1 -1
  257. package/dist/esm/toolbar/StatusBar.mjs +19 -10
  258. package/dist/esm/toolbar/StatusBar.mjs.map +1 -1
  259. package/dist/esm/toolbar/StatusBar.native.js +19 -10
  260. package/dist/esm/toolbar/StatusBar.native.js.map +1 -1
  261. package/dist/esm/toolbar/TableBubble.mjs +77 -95
  262. package/dist/esm/toolbar/TableBubble.mjs.map +1 -1
  263. package/dist/esm/toolbar/TableBubble.native.js +73 -71
  264. package/dist/esm/toolbar/TableBubble.native.js.map +1 -1
  265. package/dist/esm/toolbar/ToolbarButton.mjs +87 -22
  266. package/dist/esm/toolbar/ToolbarButton.mjs.map +1 -1
  267. package/dist/esm/toolbar/ToolbarButton.native.js +14 -4
  268. package/dist/esm/toolbar/ToolbarButton.native.js.map +1 -1
  269. package/dist/esm/toolbar/icons.mjs +109 -469
  270. package/dist/esm/toolbar/icons.mjs.map +1 -1
  271. package/dist/esm/toolbar/shortcuts.mjs +73 -24
  272. package/dist/esm/toolbar/shortcuts.mjs.map +1 -1
  273. package/dist/esm/toolbar/shortcuts.native.js +73 -24
  274. package/dist/esm/toolbar/shortcuts.native.js.map +1 -1
  275. package/dist/esm/toolbar/useHorizontalScroll.mjs +25 -6
  276. package/dist/esm/toolbar/useHorizontalScroll.mjs.map +1 -1
  277. package/dist/esm/toolbar/useHorizontalScroll.native.js +25 -6
  278. package/dist/esm/toolbar/useHorizontalScroll.native.js.map +1 -1
  279. package/dist/esm/toolbar/useRovingFocus.mjs +55 -0
  280. package/dist/esm/toolbar/useRovingFocus.mjs.map +1 -0
  281. package/dist/esm/toolbar/useRovingFocus.native.js +85 -0
  282. package/dist/esm/toolbar/useRovingFocus.native.js.map +1 -0
  283. package/dist/esm/types.mjs.map +1 -1
  284. package/dist/esm/types.native.js.map +1 -1
  285. package/dist/jsx/RichEditor.mjs +85 -10
  286. package/dist/jsx/RichEditor.mjs.map +1 -1
  287. package/dist/jsx/RichEditor.native.js +422 -35
  288. package/dist/jsx/RichEditor.native.js.map +1 -1
  289. package/dist/jsx/RichTextEditor/index.mjs +18 -2
  290. package/dist/jsx/RichTextEditor/index.mjs.map +1 -1
  291. package/dist/jsx/RichTextEditor/index.native.js +18 -2
  292. package/dist/jsx/RichTextEditor/index.native.js.map +1 -1
  293. package/dist/jsx/constants.mjs +47 -29
  294. package/dist/jsx/constants.mjs.map +1 -1
  295. package/dist/jsx/constants.native.js +59 -29
  296. package/dist/jsx/constants.native.js.map +1 -1
  297. package/dist/jsx/editor/BlockDragHandle.mjs +22 -7
  298. package/dist/jsx/editor/BlockDragHandle.mjs.map +1 -1
  299. package/dist/jsx/editor/BlockDragHandle.native.js +41 -7
  300. package/dist/jsx/editor/BlockDragHandle.native.js.map +1 -1
  301. package/dist/jsx/editor/SlashCommands.mjs +250 -294
  302. package/dist/jsx/editor/SlashCommands.mjs.map +1 -1
  303. package/dist/jsx/editor/SlashCommands.native.js +306 -340
  304. package/dist/jsx/editor/SlashCommands.native.js.map +1 -1
  305. package/dist/jsx/editor/TentapEditor.native.js +44 -12
  306. package/dist/jsx/editor/TentapEditor.native.js.map +1 -1
  307. package/dist/jsx/editor/TiptapEditor.mjs +142 -35
  308. package/dist/jsx/editor/TiptapEditor.mjs.map +1 -1
  309. package/dist/jsx/editor/TiptapEditor.native.js +153 -33
  310. package/dist/jsx/editor/TiptapEditor.native.js.map +1 -1
  311. package/dist/jsx/editor/blockAnchor.mjs +18 -0
  312. package/dist/jsx/editor/blockAnchor.mjs.map +1 -0
  313. package/dist/jsx/editor/blockAnchor.native.js +68 -0
  314. package/dist/jsx/editor/blockAnchor.native.js.map +1 -0
  315. package/dist/jsx/editor/codeBlockPreview.mjs +190 -0
  316. package/dist/jsx/editor/codeBlockPreview.mjs.map +1 -0
  317. package/dist/jsx/editor/codeBlockPreview.native.js +265 -0
  318. package/dist/jsx/editor/codeBlockPreview.native.js.map +1 -0
  319. package/dist/jsx/editor/editorStyles.mjs +203 -34
  320. package/dist/jsx/editor/editorStyles.mjs.map +1 -1
  321. package/dist/jsx/editor/editorStyles.native.js +203 -34
  322. package/dist/jsx/editor/editorStyles.native.js.map +1 -1
  323. package/dist/jsx/editor/emoji.mjs +88 -0
  324. package/dist/jsx/editor/emoji.mjs.map +1 -0
  325. package/dist/jsx/editor/emoji.native.js +184 -0
  326. package/dist/jsx/editor/emoji.native.js.map +1 -0
  327. package/dist/jsx/editor/lazyKatex.mjs +40 -0
  328. package/dist/jsx/editor/lazyKatex.mjs.map +1 -0
  329. package/dist/jsx/editor/lazyKatex.native.js +117 -0
  330. package/dist/jsx/editor/lazyKatex.native.js.map +1 -0
  331. package/dist/jsx/editor/markdown.mjs +179 -0
  332. package/dist/jsx/editor/markdown.mjs.map +1 -0
  333. package/dist/jsx/editor/markdown.native.js +278 -0
  334. package/dist/jsx/editor/markdown.native.js.map +1 -0
  335. package/dist/jsx/editor/mathematics.mjs +142 -0
  336. package/dist/jsx/editor/mathematics.mjs.map +1 -0
  337. package/dist/jsx/editor/mathematics.native.js +202 -0
  338. package/dist/jsx/editor/mathematics.native.js.map +1 -0
  339. package/dist/jsx/editor/media.mjs +113 -0
  340. package/dist/jsx/editor/media.mjs.map +1 -0
  341. package/dist/jsx/editor/media.native.js +172 -0
  342. package/dist/jsx/editor/media.native.js.map +1 -0
  343. package/dist/jsx/editor/mentions.mjs +37 -0
  344. package/dist/jsx/editor/mentions.mjs.map +1 -0
  345. package/dist/jsx/editor/mentions.native.js +84 -0
  346. package/dist/jsx/editor/mentions.native.js.map +1 -0
  347. package/dist/jsx/editor/pasteCleanup.mjs +57 -0
  348. package/dist/jsx/editor/pasteCleanup.mjs.map +1 -0
  349. package/dist/jsx/editor/pasteCleanup.native.js +175 -0
  350. package/dist/jsx/editor/pasteCleanup.native.js.map +1 -0
  351. package/dist/jsx/editor/suggestionPopup.mjs +268 -0
  352. package/dist/jsx/editor/suggestionPopup.mjs.map +1 -0
  353. package/dist/jsx/editor/suggestionPopup.native.js +327 -0
  354. package/dist/jsx/editor/suggestionPopup.native.js.map +1 -0
  355. package/dist/jsx/preview.mjs +236 -0
  356. package/dist/jsx/preview.mjs.map +1 -0
  357. package/dist/jsx/preview.native.js +294 -0
  358. package/dist/jsx/preview.native.js.map +1 -0
  359. package/dist/jsx/shared/t.mjs +17 -0
  360. package/dist/jsx/shared/t.mjs.map +1 -0
  361. package/dist/jsx/shared/t.native.js +56 -0
  362. package/dist/jsx/shared/t.native.js.map +1 -0
  363. package/dist/jsx/shared/url.mjs +10 -0
  364. package/dist/jsx/shared/url.mjs.map +1 -0
  365. package/dist/jsx/shared/url.native.js +38 -0
  366. package/dist/jsx/shared/url.native.js.map +1 -0
  367. package/dist/jsx/styled.mjs +13 -6
  368. package/dist/jsx/styled.mjs.map +1 -1
  369. package/dist/jsx/styled.native.js +13 -6
  370. package/dist/jsx/styled.native.js.map +1 -1
  371. package/dist/jsx/toolbar/BubbleToolbar.mjs +11 -9
  372. package/dist/jsx/toolbar/BubbleToolbar.mjs.map +1 -1
  373. package/dist/jsx/toolbar/BubbleToolbar.native.js +10 -8
  374. package/dist/jsx/toolbar/BubbleToolbar.native.js.map +1 -1
  375. package/dist/jsx/toolbar/CodeBlockBubble.mjs +60 -24
  376. package/dist/jsx/toolbar/CodeBlockBubble.mjs.map +1 -1
  377. package/dist/jsx/toolbar/CodeBlockBubble.native.js +71 -25
  378. package/dist/jsx/toolbar/CodeBlockBubble.native.js.map +1 -1
  379. package/dist/jsx/toolbar/ColorPicker.mjs +21 -56
  380. package/dist/jsx/toolbar/ColorPicker.mjs.map +1 -1
  381. package/dist/jsx/toolbar/ColorPicker.native.js +81 -179
  382. package/dist/jsx/toolbar/ColorPicker.native.js.map +1 -1
  383. package/dist/jsx/toolbar/FixedToolbar.mjs +34 -11
  384. package/dist/jsx/toolbar/FixedToolbar.mjs.map +1 -1
  385. package/dist/jsx/toolbar/FixedToolbar.native.js +46 -54
  386. package/dist/jsx/toolbar/FixedToolbar.native.js.map +1 -1
  387. package/dist/jsx/toolbar/HeadingPicker.mjs +34 -41
  388. package/dist/jsx/toolbar/HeadingPicker.mjs.map +1 -1
  389. package/dist/jsx/toolbar/HeadingPicker.native.js +61 -51
  390. package/dist/jsx/toolbar/HeadingPicker.native.js.map +1 -1
  391. package/dist/jsx/toolbar/ImageBubble.mjs +20 -43
  392. package/dist/jsx/toolbar/ImageBubble.mjs.map +1 -1
  393. package/dist/jsx/toolbar/ImageBubble.native.js +20 -43
  394. package/dist/jsx/toolbar/ImageBubble.native.js.map +1 -1
  395. package/dist/jsx/toolbar/ImageDialog.mjs +5 -4
  396. package/dist/jsx/toolbar/ImageDialog.mjs.map +1 -1
  397. package/dist/jsx/toolbar/ImageDialog.native.js +76 -65
  398. package/dist/jsx/toolbar/ImageDialog.native.js.map +1 -1
  399. package/dist/jsx/toolbar/LinkBubble.mjs +23 -70
  400. package/dist/jsx/toolbar/LinkBubble.mjs.map +1 -1
  401. package/dist/jsx/toolbar/LinkBubble.native.js +23 -70
  402. package/dist/jsx/toolbar/LinkBubble.native.js.map +1 -1
  403. package/dist/jsx/toolbar/LinkDialog.mjs +17 -16
  404. package/dist/jsx/toolbar/LinkDialog.mjs.map +1 -1
  405. package/dist/jsx/toolbar/LinkDialog.native.js +86 -83
  406. package/dist/jsx/toolbar/LinkDialog.native.js.map +1 -1
  407. package/dist/jsx/toolbar/ListPicker.mjs +33 -44
  408. package/dist/jsx/toolbar/ListPicker.mjs.map +1 -1
  409. package/dist/jsx/toolbar/ListPicker.native.js +43 -44
  410. package/dist/jsx/toolbar/ListPicker.native.js.map +1 -1
  411. package/dist/jsx/toolbar/MathBubble.mjs +134 -0
  412. package/dist/jsx/toolbar/MathBubble.mjs.map +1 -0
  413. package/dist/jsx/toolbar/MathBubble.native.js +169 -0
  414. package/dist/jsx/toolbar/MathBubble.native.js.map +1 -0
  415. package/dist/jsx/toolbar/MoreDropdown.mjs +50 -97
  416. package/dist/jsx/toolbar/MoreDropdown.mjs.map +1 -1
  417. package/dist/jsx/toolbar/MoreDropdown.native.js +73 -98
  418. package/dist/jsx/toolbar/MoreDropdown.native.js.map +1 -1
  419. package/dist/jsx/toolbar/StatusBar.mjs +19 -10
  420. package/dist/jsx/toolbar/StatusBar.mjs.map +1 -1
  421. package/dist/jsx/toolbar/StatusBar.native.js +19 -10
  422. package/dist/jsx/toolbar/StatusBar.native.js.map +1 -1
  423. package/dist/jsx/toolbar/TableBubble.mjs +77 -95
  424. package/dist/jsx/toolbar/TableBubble.mjs.map +1 -1
  425. package/dist/jsx/toolbar/TableBubble.native.js +73 -71
  426. package/dist/jsx/toolbar/TableBubble.native.js.map +1 -1
  427. package/dist/jsx/toolbar/ToolbarButton.mjs +87 -22
  428. package/dist/jsx/toolbar/ToolbarButton.mjs.map +1 -1
  429. package/dist/jsx/toolbar/ToolbarButton.native.js +14 -4
  430. package/dist/jsx/toolbar/ToolbarButton.native.js.map +1 -1
  431. package/dist/jsx/toolbar/icons.mjs +109 -469
  432. package/dist/jsx/toolbar/icons.mjs.map +1 -1
  433. package/dist/jsx/toolbar/shortcuts.mjs +73 -24
  434. package/dist/jsx/toolbar/shortcuts.mjs.map +1 -1
  435. package/dist/jsx/toolbar/shortcuts.native.js +73 -24
  436. package/dist/jsx/toolbar/shortcuts.native.js.map +1 -1
  437. package/dist/jsx/toolbar/useHorizontalScroll.mjs +25 -6
  438. package/dist/jsx/toolbar/useHorizontalScroll.mjs.map +1 -1
  439. package/dist/jsx/toolbar/useHorizontalScroll.native.js +25 -5
  440. package/dist/jsx/toolbar/useHorizontalScroll.native.js.map +1 -1
  441. package/dist/jsx/toolbar/useRovingFocus.mjs +55 -0
  442. package/dist/jsx/toolbar/useRovingFocus.mjs.map +1 -0
  443. package/dist/jsx/toolbar/useRovingFocus.native.js +113 -0
  444. package/dist/jsx/toolbar/useRovingFocus.native.js.map +1 -0
  445. package/dist/jsx/types.mjs.map +1 -1
  446. package/dist/jsx/types.native.js.map +1 -1
  447. package/package.json +28 -13
  448. package/src/RichEditor.native.tsx +451 -49
  449. package/src/RichEditor.stories.tsx +158 -0
  450. package/src/RichEditor.tsx +121 -7
  451. package/src/RichTextEditor/index.tsx +41 -3
  452. package/src/RichTextEditor/richTextEditor.spec.tsx +11 -4
  453. package/src/constants.ts +86 -24
  454. package/src/editor/BlockDragHandle.ts +30 -5
  455. package/src/editor/SlashCommands.tsx +228 -293
  456. package/src/editor/TentapEditor.native.tsx +68 -17
  457. package/src/editor/TiptapEditor.tsx +187 -22
  458. package/src/editor/blockAnchor.spec.ts +70 -0
  459. package/src/editor/blockAnchor.ts +42 -0
  460. package/src/editor/codeBlockPreview.spec.ts +144 -0
  461. package/src/editor/codeBlockPreview.ts +266 -0
  462. package/src/editor/css.d.ts +2 -0
  463. package/src/editor/details.spec.ts +48 -0
  464. package/src/editor/editorStyles.spec.ts +25 -0
  465. package/src/editor/editorStyles.ts +218 -34
  466. package/src/editor/emoji.spec.ts +88 -0
  467. package/src/editor/emoji.ts +147 -0
  468. package/src/editor/emojilib.d.ts +16 -0
  469. package/src/editor/lazyKatex.spec.ts +38 -0
  470. package/src/editor/lazyKatex.ts +68 -0
  471. package/src/editor/markdown.spec.ts +196 -0
  472. package/src/editor/markdown.ts +249 -0
  473. package/src/editor/mathematics.spec.ts +97 -0
  474. package/src/editor/mathematics.ts +179 -0
  475. package/src/editor/media.spec.ts +121 -0
  476. package/src/editor/media.ts +133 -0
  477. package/src/editor/mentions.spec.ts +41 -0
  478. package/src/editor/mentions.ts +55 -0
  479. package/src/editor/pasteCleanup.spec.ts +84 -0
  480. package/src/editor/pasteCleanup.ts +124 -0
  481. package/src/editor/suggestionPopup.spec.tsx +105 -0
  482. package/src/editor/suggestionPopup.tsx +414 -0
  483. package/src/editor/tiptapEditor.spec.tsx +15 -8
  484. package/src/exports.spec.ts +4 -2
  485. package/src/index.ts +7 -1
  486. package/src/integration.spec.tsx +38 -9
  487. package/src/preview.spec.ts +130 -0
  488. package/src/preview.ts +287 -0
  489. package/src/richEditor.spec.tsx +10 -3
  490. package/src/shared/t.ts +25 -0
  491. package/src/shared/url.ts +16 -0
  492. package/src/styled.ts +13 -6
  493. package/src/toolbar/BubbleToolbar.tsx +11 -8
  494. package/src/toolbar/CodeBlockBubble.tsx +66 -28
  495. package/src/toolbar/ColorPicker.native.tsx +126 -0
  496. package/src/toolbar/ColorPicker.tsx +23 -67
  497. package/src/toolbar/FixedToolbar.native.tsx +51 -51
  498. package/src/toolbar/FixedToolbar.tsx +54 -10
  499. package/src/toolbar/HeadingPicker.tsx +46 -38
  500. package/src/toolbar/ImageBubble.tsx +26 -44
  501. package/src/toolbar/ImageDialog.native.tsx +97 -0
  502. package/src/toolbar/ImageDialog.tsx +5 -4
  503. package/src/toolbar/LinkBubble.tsx +27 -64
  504. package/src/toolbar/LinkDialog.native.tsx +117 -0
  505. package/src/toolbar/LinkDialog.tsx +28 -24
  506. package/src/toolbar/ListPicker.tsx +47 -43
  507. package/src/toolbar/MathBubble.tsx +140 -0
  508. package/src/toolbar/MoreDropdown.tsx +53 -60
  509. package/src/toolbar/StatusBar.tsx +13 -8
  510. package/src/toolbar/TableBubble.tsx +82 -94
  511. package/src/toolbar/ToolbarButton.native.tsx +14 -4
  512. package/src/toolbar/ToolbarButton.tsx +98 -19
  513. package/src/toolbar/bubbleToolbar.spec.tsx +2 -1
  514. package/src/toolbar/fixedToolbar.spec.tsx +4 -2
  515. package/src/toolbar/icons.tsx +113 -323
  516. package/src/toolbar/shortcuts.ts +77 -24
  517. package/src/toolbar/toolbarPrimitives.spec.tsx +29 -1
  518. package/src/toolbar/toolbarSubComponents.spec.tsx +4 -2
  519. package/src/toolbar/useHorizontalScroll.spec.ts +67 -0
  520. package/src/toolbar/useHorizontalScroll.tsx +39 -12
  521. package/src/toolbar/useRovingFocus.spec.tsx +100 -0
  522. package/src/toolbar/useRovingFocus.ts +82 -0
  523. package/src/types.spec.ts +40 -1
  524. package/src/types.ts +28 -0
  525. package/types/RichEditor.d.ts +51 -0
  526. package/types/RichEditor.d.ts.map +1 -0
  527. package/types/RichEditor.native.d.ts +59 -0
  528. package/types/RichEditor.native.d.ts.map +1 -0
  529. package/types/RichTextEditor/index.d.ts +71 -0
  530. package/types/RichTextEditor/index.d.ts.map +1 -0
  531. package/types/constants.d.ts +49 -0
  532. package/types/constants.d.ts.map +1 -0
  533. package/types/context.d.ts +10 -0
  534. package/types/context.d.ts.map +1 -0
  535. package/types/editor/BlockDragHandle.d.ts +8 -0
  536. package/types/editor/BlockDragHandle.d.ts.map +1 -0
  537. package/types/editor/MarkdownPaste.d.ts +8 -0
  538. package/types/editor/MarkdownPaste.d.ts.map +1 -0
  539. package/types/editor/SlashCommands.d.ts +24 -0
  540. package/types/editor/SlashCommands.d.ts.map +1 -0
  541. package/types/editor/TentapEditor.native.d.ts +21 -0
  542. package/types/editor/TentapEditor.native.d.ts.map +1 -0
  543. package/types/editor/TiptapEditor.d.ts +24 -0
  544. package/types/editor/TiptapEditor.d.ts.map +1 -0
  545. package/types/editor/blockAnchor.d.ts +25 -0
  546. package/types/editor/blockAnchor.d.ts.map +1 -0
  547. package/types/editor/codeBlockPreview.d.ts +51 -0
  548. package/types/editor/codeBlockPreview.d.ts.map +1 -0
  549. package/types/editor/editorStyles.d.ts +25 -0
  550. package/types/editor/editorStyles.d.ts.map +1 -0
  551. package/types/editor/emoji.d.ts +45 -0
  552. package/types/editor/emoji.d.ts.map +1 -0
  553. package/types/editor/index.d.ts +11 -0
  554. package/types/editor/index.d.ts.map +1 -0
  555. package/types/editor/lazyKatex.d.ts +33 -0
  556. package/types/editor/lazyKatex.d.ts.map +1 -0
  557. package/types/editor/markdown.d.ts +24 -0
  558. package/types/editor/markdown.d.ts.map +1 -0
  559. package/types/editor/mathematics.d.ts +44 -0
  560. package/types/editor/mathematics.d.ts.map +1 -0
  561. package/types/editor/media.d.ts +32 -0
  562. package/types/editor/media.d.ts.map +1 -0
  563. package/types/editor/mentions.d.ts +15 -0
  564. package/types/editor/mentions.d.ts.map +1 -0
  565. package/types/editor/pasteCleanup.d.ts +24 -0
  566. package/types/editor/pasteCleanup.d.ts.map +1 -0
  567. package/types/editor/suggestionPopup.d.ts +113 -0
  568. package/types/editor/suggestionPopup.d.ts.map +1 -0
  569. package/types/editor/types.d.ts +80 -0
  570. package/types/editor/types.d.ts.map +1 -0
  571. package/types/editor/useEditorState.d.ts +19 -0
  572. package/types/editor/useEditorState.d.ts.map +1 -0
  573. package/types/index.d.ts +11 -0
  574. package/types/index.d.ts.map +1 -0
  575. package/types/preview.d.ts +44 -0
  576. package/types/preview.d.ts.map +1 -0
  577. package/types/shared/t.d.ts +10 -0
  578. package/types/shared/t.d.ts.map +1 -0
  579. package/types/shared/url.d.ts +9 -0
  580. package/types/shared/url.d.ts.map +1 -0
  581. package/types/styled.d.ts +40 -0
  582. package/types/styled.d.ts.map +1 -0
  583. package/types/toolbar/BubbleToolbar.d.ts +23 -0
  584. package/types/toolbar/BubbleToolbar.d.ts.map +1 -0
  585. package/types/toolbar/CodeBlockBubble.d.ts +10 -0
  586. package/types/toolbar/CodeBlockBubble.d.ts.map +1 -0
  587. package/types/toolbar/ColorPicker.d.ts +15 -0
  588. package/types/toolbar/ColorPicker.d.ts.map +1 -0
  589. package/types/toolbar/ColorPicker.native.d.ts +20 -0
  590. package/types/toolbar/ColorPicker.native.d.ts.map +1 -0
  591. package/types/toolbar/FixedToolbar.d.ts +32 -0
  592. package/types/toolbar/FixedToolbar.d.ts.map +1 -0
  593. package/types/toolbar/FixedToolbar.native.d.ts +30 -0
  594. package/types/toolbar/FixedToolbar.native.d.ts.map +1 -0
  595. package/types/toolbar/HeadingPicker.d.ts +14 -0
  596. package/types/toolbar/HeadingPicker.d.ts.map +1 -0
  597. package/types/toolbar/ImageBubble.d.ts +10 -0
  598. package/types/toolbar/ImageBubble.d.ts.map +1 -0
  599. package/types/toolbar/ImageDialog.d.ts +12 -0
  600. package/types/toolbar/ImageDialog.d.ts.map +1 -0
  601. package/types/toolbar/ImageDialog.native.d.ts +15 -0
  602. package/types/toolbar/ImageDialog.native.d.ts.map +1 -0
  603. package/types/toolbar/LinkBubble.d.ts +10 -0
  604. package/types/toolbar/LinkBubble.d.ts.map +1 -0
  605. package/types/toolbar/LinkDialog.d.ts +20 -0
  606. package/types/toolbar/LinkDialog.d.ts.map +1 -0
  607. package/types/toolbar/LinkDialog.native.d.ts +18 -0
  608. package/types/toolbar/LinkDialog.native.d.ts.map +1 -0
  609. package/types/toolbar/ListPicker.d.ts +14 -0
  610. package/types/toolbar/ListPicker.d.ts.map +1 -0
  611. package/types/toolbar/MathBubble.d.ts +11 -0
  612. package/types/toolbar/MathBubble.d.ts.map +1 -0
  613. package/types/toolbar/MoreDropdown.d.ts +13 -0
  614. package/types/toolbar/MoreDropdown.d.ts.map +1 -0
  615. package/types/toolbar/ResizeHandle.d.ts +11 -0
  616. package/types/toolbar/ResizeHandle.d.ts.map +1 -0
  617. package/types/toolbar/StatusBar.d.ts +11 -0
  618. package/types/toolbar/StatusBar.d.ts.map +1 -0
  619. package/types/toolbar/TableBubble.d.ts +10 -0
  620. package/types/toolbar/TableBubble.d.ts.map +1 -0
  621. package/types/toolbar/ToolbarButton.d.ts +35 -0
  622. package/types/toolbar/ToolbarButton.d.ts.map +1 -0
  623. package/types/toolbar/ToolbarButton.native.d.ts +30 -0
  624. package/types/toolbar/ToolbarButton.native.d.ts.map +1 -0
  625. package/types/toolbar/ToolbarGroup.d.ts +14 -0
  626. package/types/toolbar/ToolbarGroup.d.ts.map +1 -0
  627. package/types/toolbar/icons.d.ts +52 -0
  628. package/types/toolbar/icons.d.ts.map +1 -0
  629. package/types/toolbar/icons.native.d.ts +41 -0
  630. package/types/toolbar/icons.native.d.ts.map +1 -0
  631. package/types/toolbar/shortcuts.d.ts +34 -0
  632. package/types/toolbar/shortcuts.d.ts.map +1 -0
  633. package/types/toolbar/useHorizontalScroll.d.ts +43 -0
  634. package/types/toolbar/useHorizontalScroll.d.ts.map +1 -0
  635. package/types/toolbar/useRovingFocus.d.ts +10 -0
  636. package/types/toolbar/useRovingFocus.d.ts.map +1 -0
  637. package/types/types.d.ts +125 -0
  638. package/types/types.d.ts.map +1 -0
  639. package/dist/cjs/RichEditor.stories.cjs +0 -327
  640. package/dist/cjs/RichEditor.stories.native.js +0 -342
  641. package/dist/cjs/RichEditor.stories.native.js.map +0 -1
  642. package/dist/esm/RichEditor.stories.mjs +0 -291
  643. package/dist/esm/RichEditor.stories.mjs.map +0 -1
  644. package/dist/esm/RichEditor.stories.native.js +0 -303
  645. package/dist/esm/RichEditor.stories.native.js.map +0 -1
  646. package/dist/jsx/RichEditor.stories.mjs +0 -291
  647. package/dist/jsx/RichEditor.stories.mjs.map +0 -1
  648. package/dist/jsx/RichEditor.stories.native.js +0 -342
  649. package/dist/jsx/RichEditor.stories.native.js.map +0 -1
@@ -1,28 +1,18 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useCallback, useState } from "react";
3
- import { useResolvedKnobs } from "@multiplatform.one/theme";
4
- import { Input, Popover, Text, XStack, YStack } from "tamagui";
3
+ import { Modal, Pressable, StyleSheet } from "react-native";
4
+ import { Input, Text, XStack, YStack } from "tamagui";
5
5
  import { Button } from "@multiplatform.one/forms";
6
6
  import { ToolbarButton } from "./ToolbarButton.native.js";
7
7
  import { LinkIcon } from "./icons.native.js";
8
- import { SHORTCUTS } from "./shortcuts.native.js";
9
- function normalizeUrl(url) {
10
- var trimmed = url.trim();
11
- if (!trimmed) return trimmed;
12
- if (/^https?:\/\//i.test(trimmed)) return trimmed;
13
- if (/^mailto:/i.test(trimmed)) return trimmed;
14
- if (/^tel:/i.test(trimmed)) return trimmed;
15
- return `https://${trimmed}`;
16
- }
8
+ import { t } from "../shared/t.native.js";
9
+ import { normalizeUrl } from "../shared/url.native.js";
17
10
  function LinkDialog(param) {
18
11
  var {
19
12
  editorRef,
20
13
  state,
21
14
  disabled
22
15
  } = param;
23
- var {
24
- knobProps
25
- } = useResolvedKnobs();
26
16
  var [open, setOpen] = useState(false);
27
17
  var [linkUrl, setLinkUrl] = useState("");
28
18
  var handleSubmit = useCallback(function () {
@@ -43,75 +33,89 @@ function LinkDialog(param) {
43
33
  });
44
34
  setOpen(false);
45
35
  }, [editorRef]);
46
- return /* @__PURE__ */_jsxs(Popover, {
47
- open,
48
- onOpenChange: setOpen,
49
- placement: "bottom",
50
- children: [/* @__PURE__ */_jsx(Popover.Trigger, {
51
- asChild: true,
52
- children: /* @__PURE__ */_jsx(ToolbarButton, {
53
- active: state.isLink,
54
- disabled,
36
+ return /* @__PURE__ */_jsxs(_Fragment, {
37
+ children: [/* @__PURE__ */_jsx(ToolbarButton, {
38
+ active: state.isLink,
39
+ disabled,
40
+ onPress: function onPress() {
41
+ return setOpen(true);
42
+ },
43
+ "aria-label": t("Link"),
44
+ children: /* @__PURE__ */_jsx(LinkIcon, {})
45
+ }), /* @__PURE__ */_jsx(Modal, {
46
+ visible: open,
47
+ transparent: true,
48
+ animationType: "fade",
49
+ onRequestClose: function onRequestClose() {
50
+ return setOpen(false);
51
+ },
52
+ children: /* @__PURE__ */_jsx(Pressable, {
53
+ style: styles.backdrop,
55
54
  onPress: function onPress() {
56
- return setOpen(true);
55
+ return setOpen(false);
57
56
  },
58
- "aria-label": "Link",
59
- tooltip: SHORTCUTS.link,
60
- children: /* @__PURE__ */_jsx(LinkIcon, {})
57
+ children: /* @__PURE__ */_jsx(Pressable, {
58
+ style: styles.sheet,
59
+ onPress: function onPress(e) {
60
+ return e.stopPropagation();
61
+ },
62
+ children: /* @__PURE__ */_jsxs(YStack, {
63
+ backgroundColor: "$background",
64
+ borderRadius: "$4",
65
+ padding: "$4",
66
+ gap: "$3",
67
+ minWidth: 280,
68
+ children: [/* @__PURE__ */_jsx(Text, {
69
+ fontWeight: "600",
70
+ children: state.isLink ? t("Edit Link") : t("Add Link")
71
+ }), /* @__PURE__ */_jsx(Input, {
72
+ size: "$3",
73
+ placeholder: "https://example.com",
74
+ value: linkUrl,
75
+ onChangeText: setLinkUrl,
76
+ onSubmitEditing: handleSubmit,
77
+ autoFocus: true,
78
+ autoCapitalize: "none",
79
+ keyboardType: "url"
80
+ }), /* @__PURE__ */_jsxs(XStack, {
81
+ gap: "$2",
82
+ justifyContent: "flex-end",
83
+ children: [/* @__PURE__ */_jsx(Button, {
84
+ size: "$2",
85
+ onPress: function onPress() {
86
+ return setOpen(false);
87
+ },
88
+ "aria-label": t("Cancel"),
89
+ children: t("Cancel")
90
+ }), state.isLink && /* @__PURE__ */_jsx(Button, {
91
+ size: "$2",
92
+ theme: "red",
93
+ onPress: handleRemove,
94
+ "aria-label": t("Remove link"),
95
+ children: t("Remove")
96
+ }), /* @__PURE__ */_jsx(Button, {
97
+ size: "$2",
98
+ theme: "active",
99
+ onPress: handleSubmit,
100
+ disabled: !linkUrl.trim(),
101
+ "aria-label": state.isLink ? t("Update link") : t("Add link"),
102
+ children: state.isLink ? t("Update") : t("Add")
103
+ })]
104
+ })]
105
+ })
106
+ })
61
107
  })
62
- }), /* @__PURE__ */_jsxs(Popover.Content, {
63
- ...knobProps.panelPadding,
64
- backgroundColor: "$background",
65
- borderWidth: 1,
66
- borderColor: "$borderColor",
67
- borderRadius: knobProps.borderRadius.borderRadius,
68
- elevation: knobProps.elevation,
69
- enterStyle: {
70
- opacity: 0,
71
- y: -5
72
- },
73
- exitStyle: {
74
- opacity: 0,
75
- y: -5
76
- },
77
- children: [/* @__PURE__ */_jsx(Popover.Arrow, {
78
- borderColor: "$borderColor",
79
- backgroundColor: "$background"
80
- }), /* @__PURE__ */_jsxs(YStack, {
81
- gap: "$2",
82
- minWidth: 250,
83
- children: [/* @__PURE__ */_jsx(Text, {
84
- fontSize: knobProps.sizeToken,
85
- fontWeight: "600",
86
- children: state.isLink ? "Edit Link" : "Add Link"
87
- }), /* @__PURE__ */_jsx(Input, {
88
- size: "$3",
89
- placeholder: "https://example.com",
90
- value: linkUrl,
91
- onChangeText: setLinkUrl,
92
- onSubmitEditing: handleSubmit,
93
- autoFocus: true
94
- }), /* @__PURE__ */_jsxs(XStack, {
95
- gap: "$2",
96
- justifyContent: "flex-end",
97
- children: [state.isLink && /* @__PURE__ */_jsx(Button, {
98
- size: "$2",
99
- theme: "red",
100
- onPress: handleRemove,
101
- "aria-label": "Remove link",
102
- children: "Remove"
103
- }), /* @__PURE__ */_jsx(Button, {
104
- size: "$2",
105
- theme: "active",
106
- onPress: handleSubmit,
107
- disabled: !linkUrl.trim(),
108
- "aria-label": state.isLink ? "Update link" : "Add link",
109
- children: state.isLink ? "Update" : "Add"
110
- })]
111
- })]
112
- })]
113
108
  })]
114
109
  });
115
110
  }
116
- export { LinkDialog, normalizeUrl };
111
+ var styles = StyleSheet.create({
112
+ backdrop: {
113
+ flex: 1,
114
+ backgroundColor: "rgba(0,0,0,0.4)",
115
+ alignItems: "center",
116
+ justifyContent: "center"
117
+ },
118
+ sheet: {}
119
+ });
120
+ export { LinkDialog };
117
121
  //# sourceMappingURL=LinkDialog.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useCallback","useState","useResolvedKnobs","Input","Popover","Text","XStack","YStack","Button","ToolbarButton","LinkIcon","SHORTCUTS","normalizeUrl","url","trimmed","trim","test","LinkDialog","param","editorRef","state","disabled","knobProps","open","setOpen","linkUrl","setLinkUrl","handleSubmit","normalized","_editorRef_current","current","executeCommand","href","handleRemove","onOpenChange","placement","children","Trigger","asChild","active","isLink","onPress","tooltip","link","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","Arrow","gap","minWidth","fontSize","sizeToken","fontWeight"],"sources":["../../../src/toolbar/LinkDialog.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useCallback","useState","Modal","Pressable","StyleSheet","Input","Text","XStack","YStack","Button","ToolbarButton","LinkIcon","t","normalizeUrl","LinkDialog","param","editorRef","state","disabled","open","setOpen","linkUrl","setLinkUrl","handleSubmit","normalized","_editorRef_current","current","executeCommand","href","handleRemove","children","active","isLink","onPress","visible","transparent","animationType","onRequestClose","style","styles","backdrop","sheet","e","stopPropagation","backgroundColor","borderRadius","padding","gap","minWidth","fontWeight","size","placeholder","value","onChangeText","onSubmitEditing","autoFocus","autoCapitalize","keyboardType","justifyContent","theme","trim","create","flex","alignItems"],"sources":["../../../src/toolbar/LinkDialog.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,22 +1,21 @@
1
- import { useState } from "react";
2
- import { useResolvedKnobs } from "@multiplatform.one/theme";
3
- import { Popover, Text, YStack } from "tamagui";
4
- import { DropdownMenuItemFrame } from "../styled.mjs";
1
+ import { useRef, useState } from "react";
2
+ import { DropdownMenu } from "@multiplatform.one/components";
5
3
  import { ToolbarDropdownButton } from "./ToolbarButton.mjs";
6
4
  import { BulletListIcon, OrderedListIcon, TaskListIcon } from "./icons.mjs";
5
+ import { t } from "../shared/t.mjs";
7
6
  import { jsx, jsxs } from "react/jsx-runtime";
8
7
  const LIST_OPTIONS = [{
9
- label: "Bullet List",
8
+ label: () => t("Bullet List"),
10
9
  command: "bulletList",
11
10
  stateKey: "isBulletList",
12
11
  icon: BulletListIcon
13
12
  }, {
14
- label: "Ordered List",
13
+ label: () => t("Ordered List"),
15
14
  command: "orderedList",
16
15
  stateKey: "isOrderedList",
17
16
  icon: OrderedListIcon
18
17
  }, {
19
- label: "Task List",
18
+ label: () => t("Task List"),
20
19
  command: "taskList",
21
20
  stateKey: "isTaskList",
22
21
  icon: TaskListIcon
@@ -34,56 +33,46 @@ function ListPicker({
34
33
  state,
35
34
  disabled
36
35
  }) {
37
- const {
38
- knobProps
39
- } = useResolvedKnobs();
40
36
  const [open, setOpen] = useState(false);
37
+ const selectedRef = useRef(false);
41
38
  const ActiveIcon = getActiveListIcon(state);
42
- return /* @__PURE__ */jsxs(Popover, {
39
+ return /* @__PURE__ */jsxs(DropdownMenu, {
43
40
  open,
44
41
  onOpenChange: setOpen,
45
42
  placement: "bottom-start",
46
- children: [/* @__PURE__ */jsx(Popover.Trigger, {
43
+ children: [/* @__PURE__ */jsx(DropdownMenu.Trigger, {
47
44
  asChild: true,
48
45
  children: /* @__PURE__ */jsx(ToolbarDropdownButton, {
49
46
  active: isAnyListActive(state),
50
47
  disabled,
51
48
  onPress: () => setOpen(true),
52
- "aria-label": "Lists",
49
+ "aria-label": t("Lists"),
53
50
  children: /* @__PURE__ */jsx(ActiveIcon, {})
54
51
  })
55
- }), /* @__PURE__ */jsx(Popover.Content, {
56
- ...knobProps.panelPadding,
57
- backgroundColor: "$background",
58
- borderWidth: 1,
59
- borderColor: "$borderColor",
60
- borderRadius: knobProps.borderRadius.borderRadius,
61
- elevation: knobProps.elevation,
62
- enterStyle: {
63
- opacity: 0,
64
- y: -5
52
+ }), /* @__PURE__ */jsx(DropdownMenu.Content, {
53
+ minWidth: 150,
54
+ onCloseAutoFocus: event => {
55
+ event.preventDefault();
56
+ if (selectedRef.current) {
57
+ selectedRef.current = false;
58
+ editorRef.current?.focus();
59
+ }
65
60
  },
66
- exitStyle: {
67
- opacity: 0,
68
- y: -5
69
- },
70
- children: /* @__PURE__ */jsx(YStack, {
71
- gap: "$1",
72
- minWidth: 150,
73
- children: LIST_OPTIONS.map(option => {
74
- const Icon = option.icon;
75
- return /* @__PURE__ */jsxs(DropdownMenuItemFrame, {
76
- active: state[option.stateKey],
77
- onPress: () => {
78
- editorRef.current?.executeCommand(option.command);
79
- setOpen(false);
80
- },
81
- "aria-label": option.label,
82
- children: [/* @__PURE__ */jsx(Icon, {}), /* @__PURE__ */jsx(Text, {
83
- children: option.label
84
- })]
85
- }, option.command);
86
- })
61
+ children: LIST_OPTIONS.map(option => {
62
+ const Icon = option.icon;
63
+ const label = option.label();
64
+ return /* @__PURE__ */jsx(DropdownMenu.Item, {
65
+ icon: /* @__PURE__ */jsx(Icon, {}),
66
+ closeOnSelect: false,
67
+ backgroundColor: state[option.stateKey] ? "$color4" : void 0,
68
+ "aria-label": label,
69
+ onSelect: () => {
70
+ selectedRef.current = true;
71
+ editorRef.current?.executeCommand(option.command);
72
+ setOpen(false);
73
+ },
74
+ children: label
75
+ }, option.command);
87
76
  })
88
77
  })]
89
78
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useResolvedKnobs","Popover","Text","YStack","DropdownMenuItemFrame","ToolbarDropdownButton","BulletListIcon","OrderedListIcon","TaskListIcon","jsx","jsxs","LIST_OPTIONS","label","command","stateKey","icon","getActiveListIcon","state","isOrderedList","isTaskList","isAnyListActive","isBulletList","ListPicker","editorRef","disabled","knobProps","open","setOpen","ActiveIcon","onOpenChange","placement","children","Trigger","asChild","active","onPress","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","gap","minWidth","map","option","Icon","current","executeCommand"],"sources":["../../../src/toolbar/ListPicker.tsx"],"sourcesContent":[null],"mappings":"AAIA,SAASA,QAAA,QAAgB;AACzB,SAASC,gBAAA,QAAwB;AACjC,SAASC,OAAA,EAASC,IAAA,EAAMC,MAAA,QAAc;AAEtC,SAASC,qBAAA,QAA6B;AACtC,SAASC,qBAAA,QAA6B;AACtC,SAASC,cAAA,EAAgBC,eAAA,EAAiBC,YAAA,QAAoB;AA2EpD,SAAAC,GAAA,EAiBIC,IAAA,QAjBJ;AAjDV,MAAMC,YAAA,GAA6B,CACjC;EACEC,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMT;AACR,GACA;EACEM,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMR;AACR,GACA;EACEK,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMP;AACR,EACF;AAMA,SAASQ,kBAAkBC,KAAA,EAAoB;EAC7C,IAAIA,KAAA,CAAMC,aAAA,EAAe,OAAOX,eAAA;EAChC,IAAIU,KAAA,CAAME,UAAA,EAAY,OAAOX,YAAA;EAC7B,OAAOF,cAAA;AACT;AAEA,SAASc,gBAAgBH,KAAA,EAA6B;EACpD,OAAOA,KAAA,CAAMI,YAAA,IAAgBJ,KAAA,CAAMC,aAAA,IAAiBD,KAAA,CAAME,UAAA;AAC5D;AAEO,SAASG,WAAW;EAAEC,SAAA;EAAWN,KAAA;EAAOO;AAAS,GAAoB;EAC1E,MAAM;IAAEC;EAAU,IAAIzB,gBAAA,CAAiB;EACvC,MAAM,CAAC0B,IAAA,EAAMC,OAAO,IAAI5B,QAAA,CAAS,KAAK;EACtC,MAAM6B,UAAA,GAAaZ,iBAAA,CAAkBC,KAAK;EAE1C,OACE,eAAAP,IAAA,CAACT,OAAA;IAAQyB,IAAA;IAAYG,YAAA,EAAcF,OAAA;IAASG,SAAA,EAAU;IACpDC,QAAA,kBAAAtB,GAAA,CAACR,OAAA,CAAQ+B,OAAA,EAAR;MAAgBC,OAAA,EAAO;MACtBF,QAAA,iBAAAtB,GAAA,CAACJ,qBAAA;QACC6B,MAAA,EAAQd,eAAA,CAAgBH,KAAK;QAC7BO,QAAA;QACAW,OAAA,EAASA,CAAA,KAAMR,OAAA,CAAQ,IAAI;QAC3B,cAAW;QAEXI,QAAA,iBAAAtB,GAAA,CAACmB,UAAA,IAAW;MAAA,CACd;IAAA,CACF,GACA,eAAAnB,GAAA,CAACR,OAAA,CAAQmC,OAAA,EAAR;MACE,GAAGX,SAAA,CAAUY,YAAA;MACdC,eAAA,EAAgB;MAChBC,WAAA,EAAa;MACbC,WAAA,EAAY;MACZC,YAAA,EAAchB,SAAA,CAAUgB,YAAA,CAAaA,YAAA;MACrCC,SAAA,EAAWjB,SAAA,CAAUiB,SAAA;MACrBC,UAAA,EAAY;QAAEC,OAAA,EAAS;QAAGC,CAAA,EAAG;MAAG;MAChCC,SAAA,EAAW;QAAEF,OAAA,EAAS;QAAGC,CAAA,EAAG;MAAG;MAE/Bd,QAAA,iBAAAtB,GAAA,CAACN,MAAA;QAAO4C,GAAA,EAAI;QAAKC,QAAA,EAAU;QACxBjB,QAAA,EAAApB,YAAA,CAAasC,GAAA,CAAKC,MAAA,IAAW;UAC5B,MAAMC,IAAA,GAAOD,MAAA,CAAOnC,IAAA;UACpB,OACE,eAAAL,IAAA,CAACN,qBAAA;YAEC8B,MAAA,EAAQjB,KAAA,CAAMiC,MAAA,CAAOpC,QAAQ;YAC7BqB,OAAA,EAASA,CAAA,KAAM;cACbZ,SAAA,CAAU6B,OAAA,EAASC,cAAA,CAAeH,MAAA,CAAOrC,OAAO;cAChDc,OAAA,CAAQ,KAAK;YACf;YACA,cAAYuB,MAAA,CAAOtC,KAAA;YAEnBmB,QAAA,kBAAAtB,GAAA,CAAC0C,IAAA,IAAK,GACN,eAAA1C,GAAA,CAACP,IAAA;cAAM6B,QAAA,EAAAmB,MAAA,CAAOtC;YAAA,CAAM;UAAA,GATfsC,MAAA,CAAOrC,OAUd;QAEJ,CAAC;MAAA,CACH;IAAA,CACF;EAAA,CACF;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useState","DropdownMenu","ToolbarDropdownButton","BulletListIcon","OrderedListIcon","TaskListIcon","t","jsx","jsxs","LIST_OPTIONS","label","command","stateKey","icon","getActiveListIcon","state","isOrderedList","isTaskList","isAnyListActive","isBulletList","ListPicker","editorRef","disabled","open","setOpen","selectedRef","ActiveIcon","onOpenChange","placement","children","Trigger","asChild","active","onPress","Content","minWidth","onCloseAutoFocus","event","preventDefault","current","focus","map","option","Icon","Item","closeOnSelect","backgroundColor","onSelect","executeCommand"],"sources":["../../../src/toolbar/ListPicker.tsx"],"sourcesContent":[null],"mappings":"AAIA,SAASA,MAAA,EAAQC,QAAA,QAAgB;AACjC,SAASC,YAAA,QAAoB;AAE7B,SAASC,qBAAA,QAA6B;AACtC,SAASC,cAAA,EAAgBC,eAAA,EAAiBC,YAAA,QAAoB;AAC9D,SAASC,CAAA,QAAS;AAoEd,SAQMC,GAAA,EARNC,IAAA;AAzCJ,MAAMC,YAAA,GAA6B,CACjC;EACEC,KAAA,EAAOA,CAAA,KAAMJ,CAAA,CAAE,aAAa;EAC5BK,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMV;AACR,GACA;EACEO,KAAA,EAAOA,CAAA,KAAMJ,CAAA,CAAE,cAAc;EAC7BK,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMT;AACR,GACA;EACEM,KAAA,EAAOA,CAAA,KAAMJ,CAAA,CAAE,WAAW;EAC1BK,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMR;AACR,EACF;AAMA,SAASS,kBAAkBC,KAAA,EAAoB;EAC7C,IAAIA,KAAA,CAAMC,aAAA,EAAe,OAAOZ,eAAA;EAChC,IAAIW,KAAA,CAAME,UAAA,EAAY,OAAOZ,YAAA;EAC7B,OAAOF,cAAA;AACT;AAEA,SAASe,gBAAgBH,KAAA,EAA6B;EACpD,OAAOA,KAAA,CAAMI,YAAA,IAAgBJ,KAAA,CAAMC,aAAA,IAAiBD,KAAA,CAAME,UAAA;AAC5D;AAEO,SAASG,WAAW;EAAEC,SAAA;EAAWN,KAAA;EAAOO;AAAS,GAAoB;EAC1E,MAAM,CAACC,IAAA,EAAMC,OAAO,IAAIxB,QAAA,CAAS,KAAK;EACtC,MAAMyB,WAAA,GAAc1B,MAAA,CAAO,KAAK;EAChC,MAAM2B,UAAA,GAAaZ,iBAAA,CAAkBC,KAAK;EAE1C,OACE,eAAAP,IAAA,CAACP,YAAA;IAAasB,IAAA;IAAYI,YAAA,EAAcH,OAAA;IAASI,SAAA,EAAU;IACzDC,QAAA,kBAAAtB,GAAA,CAACN,YAAA,CAAa6B,OAAA,EAAb;MAAqBC,OAAA,EAAO;MAC3BF,QAAA,iBAAAtB,GAAA,CAACL,qBAAA;QACC8B,MAAA,EAAQd,eAAA,CAAgBH,KAAK;QAC7BO,QAAA;QACAW,OAAA,EAASA,CAAA,KAAMT,OAAA,CAAQ,IAAI;QAC3B,cAAYlB,CAAA,CAAE,OAAO;QAErBuB,QAAA,iBAAAtB,GAAA,CAACmB,UAAA,IAAW;MAAA,CACd;IAAA,CACF,GACA,eAAAnB,GAAA,CAACN,YAAA,CAAaiC,OAAA,EAAb;MACCC,QAAA,EAAU;MAIVC,gBAAA,EAAmBC,KAAA,IAAU;QAC3BA,KAAA,CAAMC,cAAA,CAAe;QACrB,IAAIb,WAAA,CAAYc,OAAA,EAAS;UACvBd,WAAA,CAAYc,OAAA,GAAU;UACtBlB,SAAA,CAAUkB,OAAA,EAASC,KAAA,CAAM;QAC3B;MACF;MAECX,QAAA,EAAApB,YAAA,CAAagC,GAAA,CAAKC,MAAA,IAAW;QAC5B,MAAMC,IAAA,GAAOD,MAAA,CAAO7B,IAAA;QACpB,MAAMH,KAAA,GAAQgC,MAAA,CAAOhC,KAAA,CAAM;QAC3B,OACE,eAAAH,GAAA,CAACN,YAAA,CAAa2C,IAAA,EAAb;UAEC/B,IAAA,EAAM,eAAAN,GAAA,CAACoC,IAAA,IAAK;UACZE,aAAA,EAAe;UACfC,eAAA,EAAiB/B,KAAA,CAAM2B,MAAA,CAAO9B,QAAQ,IAAI,YAAY;UACtD,cAAYF,KAAA;UACZqC,QAAA,EAAUA,CAAA,KAAM;YACdtB,WAAA,CAAYc,OAAA,GAAU;YACtBlB,SAAA,CAAUkB,OAAA,EAASS,cAAA,CAAeN,MAAA,CAAO/B,OAAO;YAChDa,OAAA,CAAQ,KAAK;UACf;UAECK,QAAA,EAAAnB;QAAA,GAXIgC,MAAA,CAAO/B,OAYd;MAEJ,CAAC;IAAA,CACH;EAAA,CACF;AAEJ","ignoreList":[]}
@@ -1,22 +1,27 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from "react";
3
- import { useResolvedKnobs } from "@multiplatform.one/theme";
4
- import { Popover, Text, YStack } from "tamagui";
5
- import { DropdownMenuItemFrame } from "../styled.native.js";
2
+ import { useRef, useState } from "react";
3
+ import { DropdownMenu } from "@multiplatform.one/components";
6
4
  import { ToolbarDropdownButton } from "./ToolbarButton.native.js";
7
5
  import { BulletListIcon, OrderedListIcon, TaskListIcon } from "./icons.native.js";
6
+ import { t } from "../shared/t.native.js";
8
7
  var LIST_OPTIONS = [{
9
- label: "Bullet List",
8
+ label: function label() {
9
+ return t("Bullet List");
10
+ },
10
11
  command: "bulletList",
11
12
  stateKey: "isBulletList",
12
13
  icon: BulletListIcon
13
14
  }, {
14
- label: "Ordered List",
15
+ label: function label2() {
16
+ return t("Ordered List");
17
+ },
15
18
  command: "orderedList",
16
19
  stateKey: "isOrderedList",
17
20
  icon: OrderedListIcon
18
21
  }, {
19
- label: "Task List",
22
+ label: function label3() {
23
+ return t("Task List");
24
+ },
20
25
  command: "taskList",
21
26
  stateKey: "isTaskList",
22
27
  icon: TaskListIcon
@@ -35,16 +40,14 @@ function ListPicker(param) {
35
40
  state,
36
41
  disabled
37
42
  } = param;
38
- var {
39
- knobProps
40
- } = useResolvedKnobs();
41
43
  var [open, setOpen] = useState(false);
44
+ var selectedRef = useRef(false);
42
45
  var ActiveIcon = getActiveListIcon(state);
43
- return /* @__PURE__ */_jsxs(Popover, {
46
+ return /* @__PURE__ */_jsxs(DropdownMenu, {
44
47
  open,
45
48
  onOpenChange: setOpen,
46
49
  placement: "bottom-start",
47
- children: [/* @__PURE__ */_jsx(Popover.Trigger, {
50
+ children: [/* @__PURE__ */_jsx(DropdownMenu.Trigger, {
48
51
  asChild: true,
49
52
  children: /* @__PURE__ */_jsx(ToolbarDropdownButton, {
50
53
  active: isAnyListActive(state),
@@ -52,42 +55,38 @@ function ListPicker(param) {
52
55
  onPress: function onPress() {
53
56
  return setOpen(true);
54
57
  },
55
- "aria-label": "Lists",
58
+ "aria-label": t("Lists"),
56
59
  children: /* @__PURE__ */_jsx(ActiveIcon, {})
57
60
  })
58
- }), /* @__PURE__ */_jsx(Popover.Content, {
59
- ...knobProps.panelPadding,
60
- backgroundColor: "$background",
61
- borderWidth: 1,
62
- borderColor: "$borderColor",
63
- borderRadius: knobProps.borderRadius.borderRadius,
64
- elevation: knobProps.elevation,
65
- enterStyle: {
66
- opacity: 0,
67
- y: -5
68
- },
69
- exitStyle: {
70
- opacity: 0,
71
- y: -5
61
+ }), /* @__PURE__ */_jsx(DropdownMenu.Content, {
62
+ minWidth: 150,
63
+ // Toolbar menus must not steal focus back to the trigger on
64
+ // select-close: focus returns to the editor so typing continues.
65
+ // Escape still restores the trigger via the menu's own close().
66
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
67
+ event.preventDefault();
68
+ if (selectedRef.current) {
69
+ var _editorRef_current;
70
+ selectedRef.current = false;
71
+ (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.focus();
72
+ }
72
73
  },
73
- children: /* @__PURE__ */_jsx(YStack, {
74
- gap: "$1",
75
- minWidth: 150,
76
- children: LIST_OPTIONS.map(function (option) {
77
- var Icon = option.icon;
78
- return /* @__PURE__ */_jsxs(DropdownMenuItemFrame, {
79
- active: state[option.stateKey],
80
- onPress: function onPress() {
81
- var _editorRef_current;
82
- (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand(option.command);
83
- setOpen(false);
84
- },
85
- "aria-label": option.label,
86
- children: [/* @__PURE__ */_jsx(Icon, {}), /* @__PURE__ */_jsx(Text, {
87
- children: option.label
88
- })]
89
- }, option.command);
90
- })
74
+ children: LIST_OPTIONS.map(function (option) {
75
+ var Icon = option.icon;
76
+ var label4 = option.label();
77
+ return /* @__PURE__ */_jsx(DropdownMenu.Item, {
78
+ icon: /* @__PURE__ */_jsx(Icon, {}),
79
+ closeOnSelect: false,
80
+ backgroundColor: state[option.stateKey] ? "$color4" : void 0,
81
+ "aria-label": label4,
82
+ onSelect: function onSelect() {
83
+ var _editorRef_current;
84
+ selectedRef.current = true;
85
+ (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand(option.command);
86
+ setOpen(false);
87
+ },
88
+ children: label4
89
+ }, option.command);
91
90
  })
92
91
  })]
93
92
  });
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useState","useResolvedKnobs","Popover","Text","YStack","DropdownMenuItemFrame","ToolbarDropdownButton","BulletListIcon","OrderedListIcon","TaskListIcon","LIST_OPTIONS","label","command","stateKey","icon","getActiveListIcon","state","isOrderedList","isTaskList","isAnyListActive","isBulletList","ListPicker","param","editorRef","disabled","knobProps","open","setOpen","ActiveIcon","onOpenChange","placement","children","Trigger","asChild","active","onPress","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","gap","minWidth","map","option","Icon","_editorRef_current","current","executeCommand"],"sources":["../../../src/toolbar/ListPicker.tsx"],"sourcesContent":[null],"mappings":"AAIA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAgB,IAAAC,KAAA;AACzB,SAASC,QAAA;AACT,SAASC,gBAAe,kCAAc;AAEtC,SAASC,OAAA,EAAAC,IAAA,EAAAC,MAAA,QAA6B;AACtC,SAASC,qBAAA,QAA6B;AACtC,SAASC,qBAAgB,mCAAiB;AA2EhC,SAAAC,cAiBI,EAAAC,eAjBJ,EAAAC,YAAA;AAjDV,IAAAC,YAAM,IACJ;EACEC,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMP;AACR,GACA;EACEI,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMN;AACR,GACA;EACEG,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAML;AACR,EACF;AAMA,SAASM,kBAAkBC,KAAA,EAAoB;EAC7C,IAAIA,KAAA,CAAMC,aAAA,EAAe,OAAOT,eAAA;EAChC,IAAIQ,KAAA,CAAME,UAAA,EAAY,OAAOT,YAAA;EAC7B,OAAOF,cAAA;AACT;AAEA,SAASY,gBAAgBH,KAAA,EAA6B;EACpD,OAAOA,KAAA,CAAMI,YAAA,IAAgBJ,KAAA,CAAMC,aAAA,IAAiBD,KAAA,CAAME,UAAA;AAC5D;AAEO,SAASG,WAAWC,KAAE;EAC3B;IAAMC,SAAE;IAAAP,KAAc;IAAAQ;EAAA,IAAAF,KAAiB;EACvC;IAAMG;EAAO,IAAOxB,gBAAa,EAAK;EACtC,KAAAyB,IAAM,EAAAC,OAAA,CAAa,GAAA3B,QAAA,OAAkB;EAErC,IAAA4B,UACE,GAAAb,iBAAC,CAAAC,KAAQ;EACP,sBAACjB,KAAA,CAAAG,OAAQ;IACPwB,IAAC;IAAAG,YAAA,EAAAF,OAAA;IAAAG,SACC,gBAAQ;IAAqBC,QAC7B,kBACSlC,IAAM,CAAAK,OAAQ,CAAI8B,OAAA;MAC3BC,OAAA;MAEAF,QAAA,iBAAAlC,IAAC,CAAAS,qBAAW;QAAA4B,MAAA,EAAAf,eAAA,CAAAH,KAAA;QAEhBQ,QAAA;QACAW,OAAA,WAAAA,QAAA;UAAC,OAAQR,OAAA;QAAR;QACE,YAAa;QACdI,QAAA,iBAAgBlC,IAAA,CAAA+B,UAAA;MAChB;IAAa,EACb,EAAY,eACE/B,IAAA,CAAAK,OAAU,CAAAkC,OAAA;MACxB,GAAAX,SAAW,CAAAY,YAAU;MACrBC,eAAc,eAAe;MAC7BC,WAAW,EAAE;MAEbC,WAAA;MAEIC,YAAM,EAAAhB,SAAc,CAAAgB,YAAA,CAAAA,YAAA;MACpBC,SACE,EAAAjB,SAAA,CAAAiB,SAAA;MAAAC,UAAC;QAAAC,OAAA;QAAAC,CAAA,GAEC;MAA6B;MAE3BC,SAAA;QACAF,OAAA;QAAaC,CAAA,GACf;MAAA;MACmBd,QAEnB,iBAAAlC,IAAA,CAAAO,MAAA;QAAA2C,GAAA;QAAMC,QACN;QAAoBjB,QAAA,EAAArB,YAAA,CAAAuC,GAAA,WAAAC,MAAA;UAAA,IAAAC,IAAA,GAAAD,MAAA,CAAApC,IAAA;UATf,OAAO,eAAAf,KAAA,CAAAM,qBAAA;YAUd6B,MAAA,EAAAlB,KAAA,CAAAkC,MAAA,CAAArC,QAAA;YAGNsB,OAAA,WAAAA,QAAA;cAAA,IAAAiB,kBAAA;cACF,CAAAA,kBAAA,GAAA7B,SAAA,CAAA8B,OAAA,cAAAD,kBAAA,uBAAAA,kBAAA,CAAAE,cAAA,CAAAJ,MAAA,CAAAtC,OAAA;cACFe,OAAA;YAEJ","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useRef","useState","DropdownMenu","ToolbarDropdownButton","BulletListIcon","OrderedListIcon","TaskListIcon","t","LIST_OPTIONS","label","command","stateKey","icon","label2","label3","getActiveListIcon","state","isOrderedList","isTaskList","isAnyListActive","isBulletList","ListPicker","param","editorRef","disabled","open","setOpen","selectedRef","ActiveIcon","onOpenChange","placement","children","Trigger","asChild","active","onPress","Content","minWidth","onCloseAutoFocus","event","preventDefault","current","_editorRef_current","focus","map","option","Icon","label4","Item","closeOnSelect","backgroundColor","onSelect"],"sources":["../../../src/toolbar/ListPicker.tsx"],"sourcesContent":[null],"mappings":"AAIA,SAASA,GAAA,IAAAC,IAAQ,EAAAC,IAAA,IAAAC,KAAgB;AACjC,SAASC,MAAA,EAAAC,QAAA,QAAoB;AAE7B,SAASC,YAAA,uCAA6B;AACtC,SAASC,qBAAgB,mCAAiB;AAC1C,SAASC,cAAS,EAAAC,eAAA,EAAAC,YAAA;AAoEd,SAQMC,CAAA,QARN;AAzCJ,IAAAC,YAAM,IACJ;EACEC,KAAA,EAAO,SAAQA,MAAA;IACf,OAASF,CAAA;EACT;EACAG,OAAM;EACRC,QAAA;EACAC,IAAA,EAAAR;AAAA,GAC+B;EAE7BK,KAAA,WAAUI,OAAA;IACV,OAAMN,CAAA;EACR;EACAG,OAAA;EACEC,QAAO,iBAAQ;EACfC,IAAA,EAAAP;AAAS,GACC;EAEZI,KAAA,WAAAK,OAAA;IACF,OAAAP,CAAA;EAMA;EACEG,OAAI,EAAM;EACVC,QAAU,cAAY;EACtBC,IAAA,EAAON;AACT,EAEA;AACE,SAAOS,iBAAMA,CAAAC,KAAgB;EAC/B,IAAAA,KAAA,CAAAC,aAAA,SAAAZ,eAAA;EAEO,IAAAW,KAAS,CAAAE,UAAa,SAAAZ,YAAkB;EAC7C,OAAOF,cAAa;AACpB;AACA,SAAMe,eAAaA,CAAAH,KAAA;EAEnB,OACEA,KAAA,CAAAI,YAAA,IAACJ,KAAA,CAAAC,aAAa,IAAYD,KAAA,CAAAE,UAAc;AACtC;AACE,SAACG,WAAAC,KAAA;EAAA;IAAAC,SAAA;IAAAP,KAAA;IAAAQ;EAAA,IAAAF,KAAA;EAAA,KAAAG,IACC,EAAAC,OAAQ,IAAAzB,QAAgB,MAAK;EAAA,IAAA0B,WAC7B,GAAA3B,MAAA;EAAA,IAAA4B,UACA,GAASb,iBAAkB,CAAAC,KAAA;EAAA,OAC3B,eAAcjB,KAAA,CAAOG,YAAA;IAAAuB,IAErB;IAAYI,YAAA,EAAAH,OAAA;IACdI,SACF;IACAC,QAAA,GAAC,eAAalC,IAAA,CAAAK,YAAA,CAAA8B,OAAA;MAAbC,OAAA;MACCF,QAAA,EAAU,eAAAlC,IAAA,CAAAM,qBAAA;QAIV+B,MAAA,EAAAf,eAAmB,CAAAH,KAAU;QAC3BQ,QAAM;QACNW,OAAI,WAAYA,OAASA,CAAA;UACvB,OAAAT,OAAY;QACZ;QACF,cAAAnB,CAAA;QACFwB,QAAA,iBAAAlC,IAAA,CAAA+B,UAAA;MAEC;IACC,IACA,eAAM/B,IAAQ,CAAAK,YAAa,CAAAkC,OAAA;MAC3BC,QAAA,EACE;MAAA;MAAc;MAAb;MAEaC,gBACZ,WAAeA,iBAAAC,KAAA;QAAAA,KACf,CAAAC,cAAA,CAAiB;QAAqC,IACtDb,WAAA,CAAAc,OAAY;UAAA,IACZC,kBAAgB;UACdf,WAAA,CAAAc,OAAY,QAAU;UACtB,CAAAC,kBAAU,GAAAnB,SAAS,CAAAkB,OAAe,MAAO,QAAOC,kBAAA,uBAAAA,kBAAA,CAAAC,KAAA;QAChD;MAAa;MACfZ,QAEC,EAAAvB,YAAA,CAAAoC,GAAA,WAAAC,MAAA;QAAA,IAAAC,IAAA,GAAAD,MAAA,CAAAjC,IAAA;QAAA,IAXImC,MAAO,GAAAF,MAAA,CAAApC,KAAA;QAYd,sBAAAZ,IAAA,CAAAK,YAAA,CAAA8C,IAAA;UAEHpC,IAAA,iBAAAf,IAAA,CAAAiD,IAAA;UAAAG,aAAA;UACHC,eAAA,EAAAlC,KAAA,CAAA6B,MAAA,CAAAlC,QAAA;UACF,cAAAoC,MAAA;UAEJI,QAAA,WAAAA,SAAA","ignoreList":[]}
@@ -0,0 +1,134 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+ import { BubbleMenu } from "@tiptap/react/menus";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { PencilSimpleIcon, TrashIcon } from "@phosphor-icons/react";
5
+ import { Input, Text, XStack, YStack } from "tamagui";
6
+ import { Button } from "@multiplatform.one/forms";
7
+ import { renderKatexHtml } from "../editor/lazyKatex.mjs";
8
+ import { ToolbarButton } from "./ToolbarButton.mjs";
9
+ import { t } from "../shared/t.mjs";
10
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
+ function MathBubble({
12
+ editor
13
+ }) {
14
+ const {
15
+ knobProps
16
+ } = useResolvedKnobs();
17
+ const [editing, setEditing] = useState(false);
18
+ const [latex, setLatex] = useState("");
19
+ const [error, setError] = useState(null);
20
+ useEffect(() => {
21
+ if (!editing) return void 0;
22
+ if (!latex.trim()) {
23
+ setError(null);
24
+ return void 0;
25
+ }
26
+ let cancelled = false;
27
+ void renderKatexHtml(latex).then(result => {
28
+ if (!cancelled) setError(result.ok ? null : result.error);
29
+ });
30
+ return () => {
31
+ cancelled = true;
32
+ };
33
+ }, [latex, editing]);
34
+ const handleEdit = useCallback(() => {
35
+ if (!editor) return;
36
+ setLatex(editor.getAttributes("inlineMath").latex ?? "");
37
+ setError(null);
38
+ setEditing(true);
39
+ }, [editor]);
40
+ const handleSave = useCallback(() => {
41
+ if (!editor) return;
42
+ editor.chain().focus().updateInlineMath({
43
+ latex: latex.trim()
44
+ }).run();
45
+ setEditing(false);
46
+ }, [editor, latex]);
47
+ const handleRemove = useCallback(() => {
48
+ if (!editor) return;
49
+ editor.chain().focus().deleteSelection().run();
50
+ setEditing(false);
51
+ }, [editor]);
52
+ if (!editor) return null;
53
+ return /* @__PURE__ */jsx(BubbleMenu, {
54
+ editor,
55
+ className: "rt-bubble-menu",
56
+ shouldShow: ({
57
+ editor: e
58
+ }) => e.isActive("inlineMath"),
59
+ options: {
60
+ placement: "top",
61
+ offset: 6
62
+ },
63
+ children: /* @__PURE__ */jsx(XStack, {
64
+ backgroundColor: "$background",
65
+ borderWidth: 1,
66
+ borderColor: "$borderColor",
67
+ borderRadius: knobProps.borderRadius.borderRadius,
68
+ padding: "$1.5",
69
+ gap: "$1.5",
70
+ alignItems: "center",
71
+ elevation: knobProps.elevation,
72
+ children: editing ? /* @__PURE__ */jsxs(YStack, {
73
+ gap: "$1.5",
74
+ children: [/* @__PURE__ */jsx(Input, {
75
+ size: "$2",
76
+ placeholder: "x^2 + y^2",
77
+ value: latex,
78
+ onChangeText: setLatex,
79
+ onSubmitEditing: handleSave,
80
+ "aria-label": t("TeX expression"),
81
+ autoFocus: true,
82
+ minWidth: 220,
83
+ fontFamily: "$mono"
84
+ }), error ? /* @__PURE__ */jsx(Text, {
85
+ color: "$red11",
86
+ fontSize: 11,
87
+ maxWidth: 260,
88
+ role: "alert",
89
+ children: error
90
+ }) : null, /* @__PURE__ */jsxs(XStack, {
91
+ gap: "$1",
92
+ justifyContent: "flex-end",
93
+ children: [/* @__PURE__ */jsx(Button, {
94
+ size: "$2",
95
+ onPress: () => setEditing(false),
96
+ "aria-label": t("Cancel"),
97
+ children: t("Cancel")
98
+ }), /* @__PURE__ */jsx(Button, {
99
+ size: "$2",
100
+ theme: "active",
101
+ onPress: handleSave,
102
+ "aria-label": t("Save math"),
103
+ children: t("Save")
104
+ })]
105
+ })]
106
+ }) : /* @__PURE__ */jsxs(Fragment, {
107
+ children: [/* @__PURE__ */jsx(Text, {
108
+ fontSize: 12,
109
+ fontFamily: "$mono",
110
+ maxWidth: 220,
111
+ numberOfLines: 1,
112
+ color: "$color11",
113
+ children: editor.getAttributes("inlineMath").latex || t("empty")
114
+ }), /* @__PURE__ */jsx(ToolbarButton, {
115
+ onPress: handleEdit,
116
+ "aria-label": t("Edit math"),
117
+ tooltip: t("Edit math"),
118
+ children: /* @__PURE__ */jsx(PencilSimpleIcon, {
119
+ size: 14
120
+ })
121
+ }), /* @__PURE__ */jsx(ToolbarButton, {
122
+ onPress: handleRemove,
123
+ "aria-label": t("Remove math"),
124
+ tooltip: t("Remove math"),
125
+ children: /* @__PURE__ */jsx(TrashIcon, {
126
+ size: 14
127
+ })
128
+ })]
129
+ })
130
+ })
131
+ });
132
+ }
133
+ export { MathBubble };
134
+ //# sourceMappingURL=MathBubble.mjs.map