@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,294 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ import { ScrollView, Text, XStack } from "tamagui";
4
+ import { defaultEditorState } from "../types.native.js";
5
+ import { NATIVE_SUPPORTED_COMMANDS } from "../constants.native.js";
6
+ import { ToolbarFrame } from "../styled.native.js";
7
+ import { ToolbarButton } from "./ToolbarButton.native.js";
8
+ import { ToolbarGroup } from "./ToolbarGroup.native.js";
9
+ import { UndoIcon, RedoIcon, BoldIcon, ItalicIcon, UnderlineIcon, StrikeIcon, AlignLeftIcon, AlignCenterIcon, AlignRightIcon, AlignJustifyIcon, BlockquoteIcon, ClearFormattingIcon, LinkIcon, ImageIcon, TextColorIcon, HighlightIcon } from "./icons.native.js";
10
+ function isSectionVisible(section, sections) {
11
+ if (!sections) return true;
12
+ return sections.includes(section);
13
+ }
14
+ function isNativeSupported(command) {
15
+ return NATIVE_SUPPORTED_COMMANDS[command] === true;
16
+ }
17
+ function hasAnySupportedCommand(commands) {
18
+ return commands.some(isNativeSupported);
19
+ }
20
+ function FixedToolbar(param) {
21
+ var {
22
+ editorRef,
23
+ state = defaultEditorState,
24
+ sections,
25
+ hasError
26
+ } = param;
27
+ var executeCommand = useCallback(function (command, payload) {
28
+ var _editorRef_current;
29
+ (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand(command, payload);
30
+ }, [editorRef]);
31
+ var visible = function visible2(section) {
32
+ return isSectionVisible(section, sections);
33
+ };
34
+ var historyVisible = visible("history") && hasAnySupportedCommand(["undo", "redo"]);
35
+ var formattingVisible = visible("formatting") && hasAnySupportedCommand(["bold", "italic", "underline", "strike", "code"]);
36
+ var colorVisible = visible("color") && hasAnySupportedCommand(["textColor", "highlight"]);
37
+ var headingVisible = visible("heading") && hasAnySupportedCommand(["heading1", "heading2", "heading3", "paragraph"]);
38
+ var alignmentVisible = visible("alignment") && hasAnySupportedCommand(["alignLeft", "alignCenter", "alignRight", "alignJustify"]);
39
+ var listVisible = visible("list") && hasAnySupportedCommand(["bulletList", "orderedList", "taskList"]);
40
+ var blockVisible = visible("block") && hasAnySupportedCommand(["blockquote", "codeBlock", "horizontalRule"]);
41
+ var linkVisible = visible("link") && isNativeSupported("link");
42
+ var imageVisible = visible("image") && isNativeSupported("image");
43
+ var clearVisible = visible("clear") && isNativeSupported("clearFormatting");
44
+ return /* @__PURE__ */_jsx(ToolbarFrame, {
45
+ hasError,
46
+ children: /* @__PURE__ */_jsx(ScrollView, {
47
+ horizontal: true,
48
+ showsHorizontalScrollIndicator: false,
49
+ contentContainerStyle: {
50
+ paddingHorizontal: 8,
51
+ gap: 2
52
+ },
53
+ children: /* @__PURE__ */_jsxs(XStack, {
54
+ alignItems: "center",
55
+ gap: 4,
56
+ children: [/* History */
57
+ /* @__PURE__ */_jsxs(ToolbarGroup, {
58
+ visible: historyVisible,
59
+ children: [isNativeSupported("undo") && /* @__PURE__ */_jsx(ToolbarButton, {
60
+ disabled: !state.canUndo,
61
+ onPress: function onPress() {
62
+ return executeCommand("undo");
63
+ },
64
+ "aria-label": "Undo",
65
+ children: /* @__PURE__ */_jsx(UndoIcon, {})
66
+ }), isNativeSupported("redo") && /* @__PURE__ */_jsx(ToolbarButton, {
67
+ disabled: !state.canRedo,
68
+ onPress: function onPress() {
69
+ return executeCommand("redo");
70
+ },
71
+ "aria-label": "Redo",
72
+ children: /* @__PURE__ */_jsx(RedoIcon, {})
73
+ })]
74
+ }), /* Formatting (hide subscript, superscript on native) */
75
+ /* @__PURE__ */_jsxs(ToolbarGroup, {
76
+ visible: formattingVisible,
77
+ children: [isNativeSupported("bold") && /* @__PURE__ */_jsx(ToolbarButton, {
78
+ active: state.isBold,
79
+ onPress: function onPress() {
80
+ return executeCommand("bold");
81
+ },
82
+ "aria-label": "Bold",
83
+ children: /* @__PURE__ */_jsx(BoldIcon, {
84
+ children: "B"
85
+ })
86
+ }), isNativeSupported("italic") && /* @__PURE__ */_jsx(ToolbarButton, {
87
+ active: state.isItalic,
88
+ onPress: function onPress() {
89
+ return executeCommand("italic");
90
+ },
91
+ "aria-label": "Italic",
92
+ children: /* @__PURE__ */_jsx(ItalicIcon, {
93
+ children: "I"
94
+ })
95
+ }), isNativeSupported("underline") && /* @__PURE__ */_jsx(ToolbarButton, {
96
+ active: state.isUnderline,
97
+ onPress: function onPress() {
98
+ return executeCommand("underline");
99
+ },
100
+ "aria-label": "Underline",
101
+ children: /* @__PURE__ */_jsx(UnderlineIcon, {
102
+ children: "U"
103
+ })
104
+ }), isNativeSupported("strike") && /* @__PURE__ */_jsx(ToolbarButton, {
105
+ active: state.isStrike,
106
+ onPress: function onPress() {
107
+ return executeCommand("strike");
108
+ },
109
+ "aria-label": "Strikethrough",
110
+ children: /* @__PURE__ */_jsx(StrikeIcon, {
111
+ children: "S"
112
+ })
113
+ }), isNativeSupported("code") && /* @__PURE__ */_jsx(ToolbarButton, {
114
+ active: state.isCode,
115
+ onPress: function onPress() {
116
+ return executeCommand("code");
117
+ },
118
+ "aria-label": "Code",
119
+ children: /* @__PURE__ */_jsx(Text, {
120
+ children: "</>"
121
+ })
122
+ })]
123
+ }), /* subscript and superscript are NOT supported on native -- hidden entirely */
124
+ /* Color */
125
+ /* @__PURE__ */_jsxs(ToolbarGroup, {
126
+ visible: colorVisible,
127
+ children: [isNativeSupported("textColor") && /* @__PURE__ */_jsx(ToolbarButton, {
128
+ active: !!state.textColor,
129
+ onPress: function onPress() {
130
+ return executeCommand("textColor");
131
+ },
132
+ "aria-label": "Text Color",
133
+ children: /* @__PURE__ */_jsx(TextColorIcon, {
134
+ color: state.textColor
135
+ })
136
+ }), isNativeSupported("highlight") && /* @__PURE__ */_jsx(ToolbarButton, {
137
+ active: !!state.highlightColor,
138
+ onPress: function onPress() {
139
+ return executeCommand("highlight");
140
+ },
141
+ "aria-label": "Highlight Color",
142
+ children: /* @__PURE__ */_jsx(HighlightIcon, {
143
+ color: state.highlightColor
144
+ })
145
+ })]
146
+ }), /* Heading */
147
+ /* @__PURE__ */_jsxs(ToolbarGroup, {
148
+ visible: headingVisible,
149
+ children: [isNativeSupported("heading1") && /* @__PURE__ */_jsx(ToolbarButton, {
150
+ active: state.isHeading1,
151
+ onPress: function onPress() {
152
+ return executeCommand("heading1");
153
+ },
154
+ "aria-label": "Heading 1",
155
+ children: /* @__PURE__ */_jsx(Text, {
156
+ fontWeight: "700",
157
+ children: "H1"
158
+ })
159
+ }), isNativeSupported("heading2") && /* @__PURE__ */_jsx(ToolbarButton, {
160
+ active: state.isHeading2,
161
+ onPress: function onPress() {
162
+ return executeCommand("heading2");
163
+ },
164
+ "aria-label": "Heading 2",
165
+ children: /* @__PURE__ */_jsx(Text, {
166
+ fontWeight: "600",
167
+ children: "H2"
168
+ })
169
+ }), isNativeSupported("heading3") && /* @__PURE__ */_jsx(ToolbarButton, {
170
+ active: state.isHeading3,
171
+ onPress: function onPress() {
172
+ return executeCommand("heading3");
173
+ },
174
+ "aria-label": "Heading 3",
175
+ children: /* @__PURE__ */_jsx(Text, {
176
+ fontWeight: "600",
177
+ children: "H3"
178
+ })
179
+ })]
180
+ }), /* Alignment (not supported on native -- entire group hidden) */
181
+ /* @__PURE__ */_jsxs(ToolbarGroup, {
182
+ visible: alignmentVisible,
183
+ children: [isNativeSupported("alignLeft") && /* @__PURE__ */_jsx(ToolbarButton, {
184
+ active: state.textAlign === "left",
185
+ onPress: function onPress() {
186
+ return executeCommand("alignLeft");
187
+ },
188
+ "aria-label": "Align Left",
189
+ children: /* @__PURE__ */_jsx(AlignLeftIcon, {})
190
+ }), isNativeSupported("alignCenter") && /* @__PURE__ */_jsx(ToolbarButton, {
191
+ active: state.textAlign === "center",
192
+ onPress: function onPress() {
193
+ return executeCommand("alignCenter");
194
+ },
195
+ "aria-label": "Align Center",
196
+ children: /* @__PURE__ */_jsx(AlignCenterIcon, {})
197
+ }), isNativeSupported("alignRight") && /* @__PURE__ */_jsx(ToolbarButton, {
198
+ active: state.textAlign === "right",
199
+ onPress: function onPress() {
200
+ return executeCommand("alignRight");
201
+ },
202
+ "aria-label": "Align Right",
203
+ children: /* @__PURE__ */_jsx(AlignRightIcon, {})
204
+ }), isNativeSupported("alignJustify") && /* @__PURE__ */_jsx(ToolbarButton, {
205
+ active: state.textAlign === "justify",
206
+ onPress: function onPress() {
207
+ return executeCommand("alignJustify");
208
+ },
209
+ "aria-label": "Justify",
210
+ children: /* @__PURE__ */_jsx(AlignJustifyIcon, {})
211
+ })]
212
+ }), /* List */
213
+ /* @__PURE__ */_jsxs(ToolbarGroup, {
214
+ visible: listVisible,
215
+ children: [isNativeSupported("bulletList") && /* @__PURE__ */_jsx(ToolbarButton, {
216
+ active: state.isBulletList,
217
+ onPress: function onPress() {
218
+ return executeCommand("bulletList");
219
+ },
220
+ "aria-label": "Bullet List",
221
+ children: /* @__PURE__ */_jsx(Text, {
222
+ children: "\u2022"
223
+ })
224
+ }), isNativeSupported("orderedList") && /* @__PURE__ */_jsx(ToolbarButton, {
225
+ active: state.isOrderedList,
226
+ onPress: function onPress() {
227
+ return executeCommand("orderedList");
228
+ },
229
+ "aria-label": "Ordered List",
230
+ children: /* @__PURE__ */_jsx(Text, {
231
+ children: "1."
232
+ })
233
+ }), isNativeSupported("taskList") && /* @__PURE__ */_jsx(ToolbarButton, {
234
+ active: state.isTaskList,
235
+ onPress: function onPress() {
236
+ return executeCommand("taskList");
237
+ },
238
+ "aria-label": "Task List",
239
+ children: /* @__PURE__ */_jsx(Text, {
240
+ children: "[ ]"
241
+ })
242
+ })]
243
+ }), /* Block (only blockquote is supported on native) */
244
+ /* @__PURE__ */_jsx(ToolbarGroup, {
245
+ visible: blockVisible,
246
+ children: isNativeSupported("blockquote") && /* @__PURE__ */_jsx(ToolbarButton, {
247
+ active: state.isBlockquote,
248
+ onPress: function onPress() {
249
+ return executeCommand("blockquote");
250
+ },
251
+ "aria-label": "Blockquote",
252
+ children: /* @__PURE__ */_jsx(BlockquoteIcon, {})
253
+ })
254
+ }), /* codeBlock and horizontalRule are NOT supported on native -- hidden entirely */
255
+ /* Link */
256
+ /* @__PURE__ */_jsx(ToolbarGroup, {
257
+ visible: linkVisible,
258
+ children: /* @__PURE__ */_jsx(ToolbarButton, {
259
+ active: state.isLink,
260
+ onPress: function onPress() {
261
+ return executeCommand("link");
262
+ },
263
+ "aria-label": "Link",
264
+ children: /* @__PURE__ */_jsx(LinkIcon, {})
265
+ })
266
+ }), /* Image */
267
+ /* @__PURE__ */_jsx(ToolbarGroup, {
268
+ visible: imageVisible,
269
+ showSeparator: !clearVisible,
270
+ children: /* @__PURE__ */_jsx(ToolbarButton, {
271
+ onPress: function onPress() {
272
+ return executeCommand("image");
273
+ },
274
+ "aria-label": "Insert Image",
275
+ children: /* @__PURE__ */_jsx(ImageIcon, {})
276
+ })
277
+ }), /* Clear formatting (not supported on native -- hidden entirely) */
278
+ /* @__PURE__ */_jsx(ToolbarGroup, {
279
+ visible: clearVisible,
280
+ showSeparator: false,
281
+ children: /* @__PURE__ */_jsx(ToolbarButton, {
282
+ onPress: function onPress() {
283
+ return executeCommand("clearFormatting");
284
+ },
285
+ "aria-label": "Clear Formatting",
286
+ children: /* @__PURE__ */_jsx(ClearFormattingIcon, {})
287
+ })
288
+ })]
289
+ })
290
+ })
291
+ });
292
+ }
293
+ export { FixedToolbar };
294
+ //# sourceMappingURL=FixedToolbar.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useCallback","ScrollView","Text","XStack","defaultEditorState","NATIVE_SUPPORTED_COMMANDS","ToolbarFrame","ToolbarButton","ToolbarGroup","UndoIcon","RedoIcon","BoldIcon","ItalicIcon","UnderlineIcon","StrikeIcon","AlignLeftIcon","AlignCenterIcon","AlignRightIcon","AlignJustifyIcon","BlockquoteIcon","ClearFormattingIcon","LinkIcon","ImageIcon","TextColorIcon","HighlightIcon","isSectionVisible","section","sections","includes","isNativeSupported","command","hasAnySupportedCommand","commands","some","FixedToolbar","param","editorRef","state","hasError","executeCommand","payload","_editorRef_current","current","visible","visible2","historyVisible","formattingVisible","colorVisible","headingVisible","alignmentVisible","listVisible","blockVisible","linkVisible","imageVisible","clearVisible","children","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","paddingHorizontal","gap","alignItems","disabled","canUndo","onPress","canRedo","active","isBold","isItalic","isUnderline","isStrike","isCode","textColor","color","highlightColor","isHeading1","fontWeight","isHeading2","isHeading3","textAlign","isBulletList","isOrderedList","isTaskList","isBlockquote","isLink","showSeparator"],"sources":["../../../src/toolbar/FixedToolbar.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,133 @@
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";
5
+ import { ToolbarDropdownButton } from "./ToolbarButton.mjs";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ const HEADING_OPTIONS = [{
8
+ label: "H1",
9
+ description: "Heading 1",
10
+ command: "heading1",
11
+ stateKey: "isHeading1",
12
+ fontSize: "$5",
13
+ fontWeight: "700"
14
+ }, {
15
+ label: "H2",
16
+ description: "Heading 2",
17
+ command: "heading2",
18
+ stateKey: "isHeading2",
19
+ fontSize: "$4",
20
+ fontWeight: "600"
21
+ }, {
22
+ label: "H3",
23
+ description: "Heading 3",
24
+ command: "heading3",
25
+ stateKey: "isHeading3",
26
+ fontSize: "$3",
27
+ fontWeight: "600"
28
+ }, {
29
+ label: "H4",
30
+ description: "Heading 4",
31
+ command: "heading4",
32
+ stateKey: "isHeading4",
33
+ fontSize: "$2",
34
+ fontWeight: "600"
35
+ }, {
36
+ label: "H5",
37
+ description: "Heading 5",
38
+ command: "heading5",
39
+ stateKey: "isHeading5",
40
+ fontSize: "$1",
41
+ fontWeight: "600"
42
+ }, {
43
+ label: "H6",
44
+ description: "Heading 6",
45
+ command: "heading6",
46
+ stateKey: "isHeading6",
47
+ fontSize: "$1",
48
+ fontWeight: "600"
49
+ }, {
50
+ label: "P",
51
+ description: "Paragraph",
52
+ command: "paragraph",
53
+ stateKey: "isParagraph",
54
+ fontSize: "$3",
55
+ fontWeight: "400"
56
+ }];
57
+ function getActiveHeadingLabel(state) {
58
+ if (state.isHeading1) return "H1";
59
+ if (state.isHeading2) return "H2";
60
+ if (state.isHeading3) return "H3";
61
+ if (state.isHeading4) return "H4";
62
+ if (state.isHeading5) return "H5";
63
+ if (state.isHeading6) return "H6";
64
+ return "H";
65
+ }
66
+ function isAnyHeadingActive(state) {
67
+ return state.isHeading1 || state.isHeading2 || state.isHeading3 || state.isHeading4 || state.isHeading5 || state.isHeading6;
68
+ }
69
+ function HeadingPicker({
70
+ editorRef,
71
+ state,
72
+ disabled
73
+ }) {
74
+ const {
75
+ knobProps
76
+ } = useResolvedKnobs();
77
+ const [open, setOpen] = useState(false);
78
+ return /* @__PURE__ */jsxs(Popover, {
79
+ open,
80
+ onOpenChange: setOpen,
81
+ placement: "bottom-start",
82
+ children: [/* @__PURE__ */jsx(Popover.Trigger, {
83
+ asChild: true,
84
+ children: /* @__PURE__ */jsx(ToolbarDropdownButton, {
85
+ active: isAnyHeadingActive(state),
86
+ disabled,
87
+ onPress: () => setOpen(true),
88
+ "aria-label": "Heading",
89
+ children: /* @__PURE__ */jsx(Text, {
90
+ fontWeight: "600",
91
+ children: getActiveHeadingLabel(state)
92
+ })
93
+ })
94
+ }), /* @__PURE__ */jsx(Popover.Content, {
95
+ ...knobProps.panelPadding,
96
+ backgroundColor: "$background",
97
+ borderWidth: 1,
98
+ borderColor: "$borderColor",
99
+ borderRadius: knobProps.borderRadius.borderRadius,
100
+ elevation: knobProps.elevation,
101
+ enterStyle: {
102
+ opacity: 0,
103
+ y: -5
104
+ },
105
+ exitStyle: {
106
+ opacity: 0,
107
+ y: -5
108
+ },
109
+ children: /* @__PURE__ */jsx(YStack, {
110
+ gap: "$1",
111
+ minWidth: 140,
112
+ children: HEADING_OPTIONS.map(option => /* @__PURE__ */jsxs(DropdownMenuItemFrame, {
113
+ active: state[option.stateKey],
114
+ onPress: () => {
115
+ editorRef.current?.executeCommand(option.command);
116
+ setOpen(false);
117
+ },
118
+ "aria-label": option.description,
119
+ children: [/* @__PURE__ */jsx(Text, {
120
+ fontWeight: option.fontWeight,
121
+ fontSize: option.fontSize,
122
+ children: option.label
123
+ }), /* @__PURE__ */jsx(Text, {
124
+ color: "$color11",
125
+ children: option.description
126
+ })]
127
+ }, option.command))
128
+ })
129
+ })]
130
+ });
131
+ }
132
+ export { HeadingPicker };
133
+ //# sourceMappingURL=HeadingPicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useResolvedKnobs","Popover","Text","YStack","DropdownMenuItemFrame","ToolbarDropdownButton","jsx","jsxs","HEADING_OPTIONS","label","description","command","stateKey","fontSize","fontWeight","getActiveHeadingLabel","state","isHeading1","isHeading2","isHeading3","isHeading4","isHeading5","isHeading6","isAnyHeadingActive","HeadingPicker","editorRef","disabled","knobProps","open","setOpen","onOpenChange","placement","children","Trigger","asChild","active","onPress","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","gap","minWidth","map","option","current","executeCommand","color"],"sources":["../../../src/toolbar/HeadingPicker.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;AA6H5B,SAAAC,GAAA,EAeEC,IAAA,QAfF;AAjGV,MAAMC,eAAA,GAAmC,CACvC;EACEC,KAAA,EAAO;EACPC,WAAA,EAAa;EACbC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,UAAA,EAAY;AACd,GACA;EACEL,KAAA,EAAO;EACPC,WAAA,EAAa;EACbC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,UAAA,EAAY;AACd,GACA;EACEL,KAAA,EAAO;EACPC,WAAA,EAAa;EACbC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,UAAA,EAAY;AACd,GACA;EACEL,KAAA,EAAO;EACPC,WAAA,EAAa;EACbC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,UAAA,EAAY;AACd,GACA;EACEL,KAAA,EAAO;EACPC,WAAA,EAAa;EACbC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,UAAA,EAAY;AACd,GACA;EACEL,KAAA,EAAO;EACPC,WAAA,EAAa;EACbC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,UAAA,EAAY;AACd,GACA;EACEL,KAAA,EAAO;EACPC,WAAA,EAAa;EACbC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,UAAA,EAAY;AACd,EACF;AAMA,SAASC,sBAAsBC,KAAA,EAA4B;EACzD,IAAIA,KAAA,CAAMC,UAAA,EAAY,OAAO;EAC7B,IAAID,KAAA,CAAME,UAAA,EAAY,OAAO;EAC7B,IAAIF,KAAA,CAAMG,UAAA,EAAY,OAAO;EAC7B,IAAIH,KAAA,CAAMI,UAAA,EAAY,OAAO;EAC7B,IAAIJ,KAAA,CAAMK,UAAA,EAAY,OAAO;EAC7B,IAAIL,KAAA,CAAMM,UAAA,EAAY,OAAO;EAC7B,OAAO;AACT;AAEA,SAASC,mBAAmBP,KAAA,EAA6B;EACvD,OACEA,KAAA,CAAMC,UAAA,IACND,KAAA,CAAME,UAAA,IACNF,KAAA,CAAMG,UAAA,IACNH,KAAA,CAAMI,UAAA,IACNJ,KAAA,CAAMK,UAAA,IACNL,KAAA,CAAMM,UAAA;AAEV;AAEO,SAASE,cAAc;EAAEC,SAAA;EAAWT,KAAA;EAAOU;AAAS,GAAuB;EAChF,MAAM;IAAEC;EAAU,IAAI3B,gBAAA,CAAiB;EACvC,MAAM,CAAC4B,IAAA,EAAMC,OAAO,IAAI9B,QAAA,CAAS,KAAK;EAEtC,OACE,eAAAQ,IAAA,CAACN,OAAA;IAAQ2B,IAAA;IAAYE,YAAA,EAAcD,OAAA;IAASE,SAAA,EAAU;IACpDC,QAAA,kBAAA1B,GAAA,CAACL,OAAA,CAAQgC,OAAA,EAAR;MAAgBC,OAAA,EAAO;MACtBF,QAAA,iBAAA1B,GAAA,CAACD,qBAAA;QACC8B,MAAA,EAAQZ,kBAAA,CAAmBP,KAAK;QAChCU,QAAA;QACAU,OAAA,EAASA,CAAA,KAAMP,OAAA,CAAQ,IAAI;QAC3B,cAAW;QAEXG,QAAA,iBAAA1B,GAAA,CAACJ,IAAA;UAAKY,UAAA,EAAW;UAAOkB,QAAA,EAAAjB,qBAAA,CAAsBC,KAAK;QAAA,CAAE;MAAA,CACvD;IAAA,CACF,GACA,eAAAV,GAAA,CAACL,OAAA,CAAQoC,OAAA,EAAR;MACE,GAAGV,SAAA,CAAUW,YAAA;MACdC,eAAA,EAAgB;MAChBC,WAAA,EAAa;MACbC,WAAA,EAAY;MACZC,YAAA,EAAcf,SAAA,CAAUe,YAAA,CAAaA,YAAA;MACrCC,SAAA,EAAWhB,SAAA,CAAUgB,SAAA;MACrBC,UAAA,EAAY;QAAEC,OAAA,EAAS;QAAGC,CAAA,EAAG;MAAG;MAChCC,SAAA,EAAW;QAAEF,OAAA,EAAS;QAAGC,CAAA,EAAG;MAAG;MAE/Bd,QAAA,iBAAA1B,GAAA,CAACH,MAAA;QAAO6C,GAAA,EAAI;QAAKC,QAAA,EAAU;QACxBjB,QAAA,EAAAxB,eAAA,CAAgB0C,GAAA,CAAKC,MAAA,IACpB,eAAA5C,IAAA,CAACH,qBAAA;UAEC+B,MAAA,EAAQnB,KAAA,CAAMmC,MAAA,CAAOvC,QAAQ;UAC7BwB,OAAA,EAASA,CAAA,KAAM;YACbX,SAAA,CAAU2B,OAAA,EAASC,cAAA,CAAeF,MAAA,CAAOxC,OAAO;YAChDkB,OAAA,CAAQ,KAAK;UACf;UACA,cAAYsB,MAAA,CAAOzC,WAAA;UAEnBsB,QAAA,kBAAA1B,GAAA,CAACJ,IAAA;YAAKY,UAAA,EAAYqC,MAAA,CAAOrC,UAAA;YAAmBD,QAAA,EAAUsC,MAAA,CAAOtC,QAAA;YAC1DmB,QAAA,EAAAmB,MAAA,CAAO1C;UAAA,CACV,GACA,eAAAH,GAAA,CAACJ,IAAA;YAAKoD,KAAA,EAAM;YAAYtB,QAAA,EAAAmB,MAAA,CAAOzC;UAAA,CAAY;QAAA,GAXtCyC,MAAA,CAAOxC,OAYd,CACD;MAAA,CACH;IAAA,CACF;EAAA,CACF;AAEJ","ignoreList":[]}
@@ -0,0 +1,139 @@
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";
6
+ import { ToolbarDropdownButton } from "./ToolbarButton.native.js";
7
+ var HEADING_OPTIONS = [{
8
+ label: "H1",
9
+ description: "Heading 1",
10
+ command: "heading1",
11
+ stateKey: "isHeading1",
12
+ fontSize: "$5",
13
+ fontWeight: "700"
14
+ }, {
15
+ label: "H2",
16
+ description: "Heading 2",
17
+ command: "heading2",
18
+ stateKey: "isHeading2",
19
+ fontSize: "$4",
20
+ fontWeight: "600"
21
+ }, {
22
+ label: "H3",
23
+ description: "Heading 3",
24
+ command: "heading3",
25
+ stateKey: "isHeading3",
26
+ fontSize: "$3",
27
+ fontWeight: "600"
28
+ }, {
29
+ label: "H4",
30
+ description: "Heading 4",
31
+ command: "heading4",
32
+ stateKey: "isHeading4",
33
+ fontSize: "$2",
34
+ fontWeight: "600"
35
+ }, {
36
+ label: "H5",
37
+ description: "Heading 5",
38
+ command: "heading5",
39
+ stateKey: "isHeading5",
40
+ fontSize: "$1",
41
+ fontWeight: "600"
42
+ }, {
43
+ label: "H6",
44
+ description: "Heading 6",
45
+ command: "heading6",
46
+ stateKey: "isHeading6",
47
+ fontSize: "$1",
48
+ fontWeight: "600"
49
+ }, {
50
+ label: "P",
51
+ description: "Paragraph",
52
+ command: "paragraph",
53
+ stateKey: "isParagraph",
54
+ fontSize: "$3",
55
+ fontWeight: "400"
56
+ }];
57
+ function getActiveHeadingLabel(state) {
58
+ if (state.isHeading1) return "H1";
59
+ if (state.isHeading2) return "H2";
60
+ if (state.isHeading3) return "H3";
61
+ if (state.isHeading4) return "H4";
62
+ if (state.isHeading5) return "H5";
63
+ if (state.isHeading6) return "H6";
64
+ return "H";
65
+ }
66
+ function isAnyHeadingActive(state) {
67
+ return state.isHeading1 || state.isHeading2 || state.isHeading3 || state.isHeading4 || state.isHeading5 || state.isHeading6;
68
+ }
69
+ function HeadingPicker(param) {
70
+ var {
71
+ editorRef,
72
+ state,
73
+ disabled
74
+ } = param;
75
+ var {
76
+ knobProps
77
+ } = useResolvedKnobs();
78
+ var [open, setOpen] = useState(false);
79
+ return /* @__PURE__ */_jsxs(Popover, {
80
+ open,
81
+ onOpenChange: setOpen,
82
+ placement: "bottom-start",
83
+ children: [/* @__PURE__ */_jsx(Popover.Trigger, {
84
+ asChild: true,
85
+ children: /* @__PURE__ */_jsx(ToolbarDropdownButton, {
86
+ active: isAnyHeadingActive(state),
87
+ disabled,
88
+ onPress: function onPress() {
89
+ return setOpen(true);
90
+ },
91
+ "aria-label": "Heading",
92
+ children: /* @__PURE__ */_jsx(Text, {
93
+ fontWeight: "600",
94
+ children: getActiveHeadingLabel(state)
95
+ })
96
+ })
97
+ }), /* @__PURE__ */_jsx(Popover.Content, {
98
+ ...knobProps.panelPadding,
99
+ backgroundColor: "$background",
100
+ borderWidth: 1,
101
+ borderColor: "$borderColor",
102
+ borderRadius: knobProps.borderRadius.borderRadius,
103
+ elevation: knobProps.elevation,
104
+ enterStyle: {
105
+ opacity: 0,
106
+ y: -5
107
+ },
108
+ exitStyle: {
109
+ opacity: 0,
110
+ y: -5
111
+ },
112
+ children: /* @__PURE__ */_jsx(YStack, {
113
+ gap: "$1",
114
+ minWidth: 140,
115
+ children: HEADING_OPTIONS.map(function (option) {
116
+ return /* @__PURE__ */_jsxs(DropdownMenuItemFrame, {
117
+ active: state[option.stateKey],
118
+ onPress: function onPress() {
119
+ var _editorRef_current;
120
+ (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand(option.command);
121
+ setOpen(false);
122
+ },
123
+ "aria-label": option.description,
124
+ children: [/* @__PURE__ */_jsx(Text, {
125
+ fontWeight: option.fontWeight,
126
+ fontSize: option.fontSize,
127
+ children: option.label
128
+ }), /* @__PURE__ */_jsx(Text, {
129
+ color: "$color11",
130
+ children: option.description
131
+ })]
132
+ }, option.command);
133
+ })
134
+ })
135
+ })]
136
+ });
137
+ }
138
+ export { HeadingPicker };
139
+ //# sourceMappingURL=HeadingPicker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useState","useResolvedKnobs","Popover","Text","YStack","DropdownMenuItemFrame","ToolbarDropdownButton","HEADING_OPTIONS","label","description","command","stateKey","fontSize","fontWeight","getActiveHeadingLabel","state","isHeading1","isHeading2","isHeading3","isHeading4","isHeading5","isHeading6","isAnyHeadingActive","HeadingPicker","param","editorRef","disabled","knobProps","open","setOpen","onOpenChange","placement","children","Trigger","asChild","active","onPress","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","gap","minWidth","map","option"],"sources":["../../../src/toolbar/HeadingPicker.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}