@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,291 @@
1
+ import { useForm } from "@tanstack/react-form";
2
+ import { useRef, useState } from "react";
3
+ import { Button, Paragraph, Text, View, XStack, YStack } from "tamagui";
4
+ import { RichTextEditor } from "./RichTextEditor/index.mjs";
5
+ import { RichEditor } from "./RichEditor.mjs";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ const meta = {
8
+ title: "Forms/RichTextEditor",
9
+ component: RichTextEditor,
10
+ parameters: {
11
+ layout: "padded"
12
+ },
13
+ argTypes: {
14
+ label: {
15
+ control: "text"
16
+ },
17
+ placeholder: {
18
+ control: "text"
19
+ },
20
+ helperText: {
21
+ control: "text"
22
+ },
23
+ error: {
24
+ control: "text"
25
+ },
26
+ required: {
27
+ control: "boolean"
28
+ },
29
+ disabled: {
30
+ control: "boolean"
31
+ },
32
+ readOnly: {
33
+ control: "boolean"
34
+ },
35
+ showToolbar: {
36
+ control: "boolean"
37
+ },
38
+ showBubbleToolbar: {
39
+ control: "boolean"
40
+ },
41
+ compact: {
42
+ control: "boolean"
43
+ },
44
+ skeleton: {
45
+ control: "boolean"
46
+ },
47
+ size: {
48
+ control: "select",
49
+ options: ["$2", "$3", "$4"]
50
+ },
51
+ minHeight: {
52
+ control: "number"
53
+ },
54
+ maxHeight: {
55
+ control: "number"
56
+ },
57
+ sections: {
58
+ control: false
59
+ },
60
+ form: {
61
+ control: false
62
+ },
63
+ validators: {
64
+ control: false
65
+ }
66
+ },
67
+ decorators: [Story => /* @__PURE__ */jsx(View, {
68
+ padding: "$4",
69
+ maxWidth: 800,
70
+ children: /* @__PURE__ */jsx(Story, {})
71
+ })]
72
+ };
73
+ var RichEditor_stories_default = meta;
74
+ const Main = {
75
+ args: {
76
+ label: "Content",
77
+ placeholder: "Start typing your content...",
78
+ helperText: "Rich text editor with full formatting support",
79
+ minHeight: 200,
80
+ showToolbar: true,
81
+ showBubbleToolbar: false,
82
+ compact: false,
83
+ skeleton: false
84
+ }
85
+ };
86
+ const WithInitialContent = {
87
+ args: {
88
+ label: "Article Body",
89
+ defaultValue: `
90
+ <h1>Welcome to the Rich Editor</h1>
91
+ <p>This is a <strong>rich text editor</strong> built with <em>Tiptap</em>.</p>
92
+ <h2>Features</h2>
93
+ <ul>
94
+ <li>Bold, italic, underline, strikethrough</li>
95
+ <li>Headings (H1-H6)</li>
96
+ <li>Bullet and numbered lists</li>
97
+ <li>Blockquotes and code blocks</li>
98
+ <li>Links and images</li>
99
+ <li>Text color and highlighting</li>
100
+ </ul>
101
+ <blockquote>
102
+ <p>This is a blockquote with some important information.</p>
103
+ </blockquote>
104
+ <p>Here is some <code>inline code</code> for you.</p>
105
+ `,
106
+ minHeight: 300
107
+ }
108
+ };
109
+ const WithoutToolbar = {
110
+ args: {
111
+ label: "No Toolbar",
112
+ showToolbar: false,
113
+ defaultValue: "<p>Editor without toolbar - keyboard shortcuts still work</p>",
114
+ minHeight: 150
115
+ }
116
+ };
117
+ const BubbleToolbarOnly = {
118
+ args: {
119
+ label: "Bubble Toolbar Only",
120
+ showToolbar: false,
121
+ showBubbleToolbar: true,
122
+ defaultValue: "<p>Select some text to see the bubble toolbar appear with inline formatting options.</p>",
123
+ minHeight: 150,
124
+ helperText: "Select text to see the bubble toolbar"
125
+ }
126
+ };
127
+ const MinimalToolbar = {
128
+ args: {
129
+ label: "Minimal Toolbar",
130
+ sections: ["formatting", "list"],
131
+ defaultValue: "<p>Minimal toolbar with only formatting and list options</p>",
132
+ minHeight: 150,
133
+ helperText: "Only text formatting and list controls are shown"
134
+ }
135
+ };
136
+ const ReadOnly = {
137
+ args: {
138
+ label: "Read-only Content",
139
+ readOnly: true,
140
+ defaultValue: `
141
+ <h2>Read-only Content</h2>
142
+ <p>This content cannot be edited. The toolbar is hidden.</p>
143
+ <ul>
144
+ <li>View-only mode for displaying formatted content</li>
145
+ <li>No toolbar or editing capabilities</li>
146
+ </ul>
147
+ `,
148
+ minHeight: 150
149
+ }
150
+ };
151
+ const WithError = {
152
+ args: {
153
+ label: "Content",
154
+ error: "This field is required",
155
+ placeholder: "This field has an error...",
156
+ required: true,
157
+ minHeight: 150
158
+ }
159
+ };
160
+ const WithMaxHeight = {
161
+ args: {
162
+ label: "Scrollable Content",
163
+ defaultValue: `
164
+ <h1>Scrollable Content</h1>
165
+ <p>This editor has a maximum height and will scroll when content exceeds it.</p>
166
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
167
+ <p>Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
168
+ <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco.</p>
169
+ <p>Duis aute irure dolor in reprehenderit in voluptate velit.</p>
170
+ <p>Excepteur sint occaecat cupidatat non proident.</p>
171
+ <p>Sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
172
+ <p>More content to demonstrate scrolling...</p>
173
+ <p>And even more content...</p>
174
+ <p>Keep scrolling...</p>
175
+ `,
176
+ minHeight: 150,
177
+ maxHeight: 250
178
+ }
179
+ };
180
+ const Interactive = {
181
+ render: () => {
182
+ const editorRef = useRef(null);
183
+ const [html, setHtml] = useState("");
184
+ const [charCount, setCharCount] = useState(0);
185
+ const handleChange = newHtml => {
186
+ setHtml(newHtml);
187
+ const text = newHtml.replace(/<[^>]*>/g, "");
188
+ setCharCount(text.length);
189
+ };
190
+ return /* @__PURE__ */jsxs(YStack, {
191
+ gap: "$4",
192
+ children: [/* @__PURE__ */jsx(RichEditor, {
193
+ ref: editorRef,
194
+ placeholder: "Type here to see live updates...",
195
+ onChange: handleChange,
196
+ minHeight: 200,
197
+ showBubbleToolbar: true
198
+ }), /* @__PURE__ */jsxs(XStack, {
199
+ gap: "$4",
200
+ alignItems: "center",
201
+ children: [/* @__PURE__ */jsxs(Text, {
202
+ color: "$color10",
203
+ fontSize: "$2",
204
+ children: ["Characters: ", charCount]
205
+ }), /* @__PURE__ */jsx(Button, {
206
+ size: "$3",
207
+ onPress: () => {
208
+ const content = editorRef.current?.getHTML();
209
+ console.log("HTML Content:", content);
210
+ },
211
+ children: "Log HTML"
212
+ }), /* @__PURE__ */jsx(Button, {
213
+ size: "$3",
214
+ onPress: () => {
215
+ editorRef.current?.setHTML("<p>Content set programmatically!</p>");
216
+ },
217
+ children: "Set Content"
218
+ }), /* @__PURE__ */jsx(Button, {
219
+ size: "$3",
220
+ onPress: () => editorRef.current?.focus(),
221
+ children: "Focus"
222
+ })]
223
+ }), html && /* @__PURE__ */jsx(YStack, {
224
+ backgroundColor: "$color3",
225
+ padding: "$3",
226
+ borderRadius: "$3",
227
+ maxHeight: 200,
228
+ overflow: "scroll",
229
+ children: /* @__PURE__ */jsx(Paragraph, {
230
+ size: "$1",
231
+ fontFamily: "$mono",
232
+ whiteSpace: "pre-wrap",
233
+ children: html
234
+ })
235
+ })]
236
+ });
237
+ }
238
+ };
239
+ const FormIntegrated = {
240
+ render: () => {
241
+ const FormExample = () => {
242
+ const form = useForm({
243
+ defaultValues: {
244
+ title: "",
245
+ content: ""
246
+ },
247
+ onSubmit: async ({
248
+ value
249
+ }) => {
250
+ console.log("Form submitted:", value);
251
+ alert(JSON.stringify(value, null, 2));
252
+ }
253
+ });
254
+ return /* @__PURE__ */jsxs(YStack, {
255
+ gap: "$4",
256
+ children: [/* @__PURE__ */jsx(RichTextEditor, {
257
+ form,
258
+ name: "content",
259
+ label: "Article Content",
260
+ helperText: "Write your article content here",
261
+ required: true,
262
+ placeholder: "Start writing...",
263
+ minHeight: 250,
264
+ showBubbleToolbar: true
265
+ }), /* @__PURE__ */jsxs(XStack, {
266
+ gap: "$2",
267
+ children: [/* @__PURE__ */jsx(Button, {
268
+ size: "$3",
269
+ onPress: () => form.handleSubmit(),
270
+ children: "Submit"
271
+ }), /* @__PURE__ */jsx(Button, {
272
+ size: "$3",
273
+ theme: "gray",
274
+ onPress: () => form.reset(),
275
+ children: "Reset"
276
+ })]
277
+ })]
278
+ });
279
+ };
280
+ return /* @__PURE__ */jsx(FormExample, {});
281
+ }
282
+ };
283
+ const Skeleton = {
284
+ args: {
285
+ skeleton: true,
286
+ label: "Loading Content",
287
+ minHeight: 200
288
+ }
289
+ };
290
+ export { BubbleToolbarOnly, FormIntegrated, Interactive, Main, MinimalToolbar, ReadOnly, Skeleton, WithError, WithInitialContent, WithMaxHeight, WithoutToolbar, RichEditor_stories_default as default };
291
+ //# sourceMappingURL=RichEditor.stories.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useForm","useRef","useState","Button","Paragraph","Text","View","XStack","YStack","RichTextEditor","RichEditor","jsx","jsxs","meta","title","component","parameters","layout","argTypes","label","control","placeholder","helperText","error","required","disabled","readOnly","showToolbar","showBubbleToolbar","compact","skeleton","size","options","minHeight","maxHeight","sections","form","validators","decorators","Story","padding","maxWidth","children","RichEditor_stories_default","Main","args","WithInitialContent","defaultValue","WithoutToolbar","BubbleToolbarOnly","MinimalToolbar","ReadOnly","WithError","WithMaxHeight","Interactive","render","editorRef","html","setHtml","charCount","setCharCount","handleChange","newHtml","text","replace","length","gap","ref","onChange","alignItems","color","fontSize","onPress","content","current","getHTML","console","log","setHTML","focus","backgroundColor","borderRadius","overflow","fontFamily","whiteSpace","FormIntegrated","FormExample","defaultValues","onSubmit","value","alert","JSON","stringify","name","handleSubmit","theme","reset","Skeleton"],"sources":["../../src/RichEditor.stories.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,303 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useForm } from "@tanstack/react-form";
3
+ import { useRef, useState } from "react";
4
+ import { Button, Paragraph, Text, View, XStack, YStack } from "tamagui";
5
+ import { RichTextEditor } from "./RichTextEditor/index.native.js";
6
+ import { RichEditor } from "./RichEditor.native.js";
7
+ var meta = {
8
+ title: "Forms/RichTextEditor",
9
+ component: RichTextEditor,
10
+ parameters: {
11
+ layout: "padded"
12
+ },
13
+ argTypes: {
14
+ label: {
15
+ control: "text"
16
+ },
17
+ placeholder: {
18
+ control: "text"
19
+ },
20
+ helperText: {
21
+ control: "text"
22
+ },
23
+ error: {
24
+ control: "text"
25
+ },
26
+ required: {
27
+ control: "boolean"
28
+ },
29
+ disabled: {
30
+ control: "boolean"
31
+ },
32
+ readOnly: {
33
+ control: "boolean"
34
+ },
35
+ showToolbar: {
36
+ control: "boolean"
37
+ },
38
+ showBubbleToolbar: {
39
+ control: "boolean"
40
+ },
41
+ compact: {
42
+ control: "boolean"
43
+ },
44
+ skeleton: {
45
+ control: "boolean"
46
+ },
47
+ size: {
48
+ control: "select",
49
+ options: ["$2", "$3", "$4"]
50
+ },
51
+ minHeight: {
52
+ control: "number"
53
+ },
54
+ maxHeight: {
55
+ control: "number"
56
+ },
57
+ sections: {
58
+ control: false
59
+ },
60
+ form: {
61
+ control: false
62
+ },
63
+ validators: {
64
+ control: false
65
+ }
66
+ },
67
+ decorators: [function (Story) {
68
+ return /* @__PURE__ */_jsx(View, {
69
+ padding: "$4",
70
+ maxWidth: 800,
71
+ children: /* @__PURE__ */_jsx(Story, {})
72
+ });
73
+ }]
74
+ };
75
+ var RichEditor_stories_default = meta;
76
+ var Main = {
77
+ args: {
78
+ label: "Content",
79
+ placeholder: "Start typing your content...",
80
+ helperText: "Rich text editor with full formatting support",
81
+ minHeight: 200,
82
+ showToolbar: true,
83
+ showBubbleToolbar: false,
84
+ compact: false,
85
+ skeleton: false
86
+ }
87
+ };
88
+ var WithInitialContent = {
89
+ args: {
90
+ label: "Article Body",
91
+ defaultValue: `
92
+ <h1>Welcome to the Rich Editor</h1>
93
+ <p>This is a <strong>rich text editor</strong> built with <em>Tiptap</em>.</p>
94
+ <h2>Features</h2>
95
+ <ul>
96
+ <li>Bold, italic, underline, strikethrough</li>
97
+ <li>Headings (H1-H6)</li>
98
+ <li>Bullet and numbered lists</li>
99
+ <li>Blockquotes and code blocks</li>
100
+ <li>Links and images</li>
101
+ <li>Text color and highlighting</li>
102
+ </ul>
103
+ <blockquote>
104
+ <p>This is a blockquote with some important information.</p>
105
+ </blockquote>
106
+ <p>Here is some <code>inline code</code> for you.</p>
107
+ `,
108
+ minHeight: 300
109
+ }
110
+ };
111
+ var WithoutToolbar = {
112
+ args: {
113
+ label: "No Toolbar",
114
+ showToolbar: false,
115
+ defaultValue: "<p>Editor without toolbar - keyboard shortcuts still work</p>",
116
+ minHeight: 150
117
+ }
118
+ };
119
+ var BubbleToolbarOnly = {
120
+ args: {
121
+ label: "Bubble Toolbar Only",
122
+ showToolbar: false,
123
+ showBubbleToolbar: true,
124
+ defaultValue: "<p>Select some text to see the bubble toolbar appear with inline formatting options.</p>",
125
+ minHeight: 150,
126
+ helperText: "Select text to see the bubble toolbar"
127
+ }
128
+ };
129
+ var MinimalToolbar = {
130
+ args: {
131
+ label: "Minimal Toolbar",
132
+ sections: ["formatting", "list"],
133
+ defaultValue: "<p>Minimal toolbar with only formatting and list options</p>",
134
+ minHeight: 150,
135
+ helperText: "Only text formatting and list controls are shown"
136
+ }
137
+ };
138
+ var ReadOnly = {
139
+ args: {
140
+ label: "Read-only Content",
141
+ readOnly: true,
142
+ defaultValue: `
143
+ <h2>Read-only Content</h2>
144
+ <p>This content cannot be edited. The toolbar is hidden.</p>
145
+ <ul>
146
+ <li>View-only mode for displaying formatted content</li>
147
+ <li>No toolbar or editing capabilities</li>
148
+ </ul>
149
+ `,
150
+ minHeight: 150
151
+ }
152
+ };
153
+ var WithError = {
154
+ args: {
155
+ label: "Content",
156
+ error: "This field is required",
157
+ placeholder: "This field has an error...",
158
+ required: true,
159
+ minHeight: 150
160
+ }
161
+ };
162
+ var WithMaxHeight = {
163
+ args: {
164
+ label: "Scrollable Content",
165
+ defaultValue: `
166
+ <h1>Scrollable Content</h1>
167
+ <p>This editor has a maximum height and will scroll when content exceeds it.</p>
168
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
169
+ <p>Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
170
+ <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco.</p>
171
+ <p>Duis aute irure dolor in reprehenderit in voluptate velit.</p>
172
+ <p>Excepteur sint occaecat cupidatat non proident.</p>
173
+ <p>Sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
174
+ <p>More content to demonstrate scrolling...</p>
175
+ <p>And even more content...</p>
176
+ <p>Keep scrolling...</p>
177
+ `,
178
+ minHeight: 150,
179
+ maxHeight: 250
180
+ }
181
+ };
182
+ var Interactive = {
183
+ render: function render() {
184
+ var editorRef = useRef(null);
185
+ var [html, setHtml] = useState("");
186
+ var [charCount, setCharCount] = useState(0);
187
+ var handleChange = function handleChange2(newHtml) {
188
+ setHtml(newHtml);
189
+ var text = newHtml.replace(/<[^>]*>/g, "");
190
+ setCharCount(text.length);
191
+ };
192
+ return /* @__PURE__ */_jsxs(YStack, {
193
+ gap: "$4",
194
+ children: [/* @__PURE__ */_jsx(RichEditor, {
195
+ ref: editorRef,
196
+ placeholder: "Type here to see live updates...",
197
+ onChange: handleChange,
198
+ minHeight: 200,
199
+ showBubbleToolbar: true
200
+ }), /* @__PURE__ */_jsxs(XStack, {
201
+ gap: "$4",
202
+ alignItems: "center",
203
+ children: [/* @__PURE__ */_jsxs(Text, {
204
+ color: "$color10",
205
+ fontSize: "$2",
206
+ children: ["Characters: ", charCount]
207
+ }), /* @__PURE__ */_jsx(Button, {
208
+ size: "$3",
209
+ onPress: function onPress() {
210
+ var _editorRef_current;
211
+ var content = (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.getHTML();
212
+ console.log("HTML Content:", content);
213
+ },
214
+ children: "Log HTML"
215
+ }), /* @__PURE__ */_jsx(Button, {
216
+ size: "$3",
217
+ onPress: function onPress() {
218
+ var _editorRef_current;
219
+ (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.setHTML("<p>Content set programmatically!</p>");
220
+ },
221
+ children: "Set Content"
222
+ }), /* @__PURE__ */_jsx(Button, {
223
+ size: "$3",
224
+ onPress: function onPress() {
225
+ var _editorRef_current;
226
+ return (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.focus();
227
+ },
228
+ children: "Focus"
229
+ })]
230
+ }), html && /* @__PURE__ */_jsx(YStack, {
231
+ backgroundColor: "$color3",
232
+ padding: "$3",
233
+ borderRadius: "$3",
234
+ maxHeight: 200,
235
+ overflow: "scroll",
236
+ children: /* @__PURE__ */_jsx(Paragraph, {
237
+ size: "$1",
238
+ fontFamily: "$mono",
239
+ whiteSpace: "pre-wrap",
240
+ children: html
241
+ })
242
+ })]
243
+ });
244
+ }
245
+ };
246
+ var FormIntegrated = {
247
+ render: function render2() {
248
+ var FormExample = function FormExample2() {
249
+ var form = useForm({
250
+ defaultValues: {
251
+ title: "",
252
+ content: ""
253
+ },
254
+ onSubmit: async function onSubmit(param) {
255
+ var {
256
+ value
257
+ } = param;
258
+ console.log("Form submitted:", value);
259
+ alert(JSON.stringify(value, null, 2));
260
+ }
261
+ });
262
+ return /* @__PURE__ */_jsxs(YStack, {
263
+ gap: "$4",
264
+ children: [/* @__PURE__ */_jsx(RichTextEditor, {
265
+ form,
266
+ name: "content",
267
+ label: "Article Content",
268
+ helperText: "Write your article content here",
269
+ required: true,
270
+ placeholder: "Start writing...",
271
+ minHeight: 250,
272
+ showBubbleToolbar: true
273
+ }), /* @__PURE__ */_jsxs(XStack, {
274
+ gap: "$2",
275
+ children: [/* @__PURE__ */_jsx(Button, {
276
+ size: "$3",
277
+ onPress: function onPress() {
278
+ return form.handleSubmit();
279
+ },
280
+ children: "Submit"
281
+ }), /* @__PURE__ */_jsx(Button, {
282
+ size: "$3",
283
+ theme: "gray",
284
+ onPress: function onPress() {
285
+ return form.reset();
286
+ },
287
+ children: "Reset"
288
+ })]
289
+ })]
290
+ });
291
+ };
292
+ return /* @__PURE__ */_jsx(FormExample, {});
293
+ }
294
+ };
295
+ var Skeleton = {
296
+ args: {
297
+ skeleton: true,
298
+ label: "Loading Content",
299
+ minHeight: 200
300
+ }
301
+ };
302
+ export { BubbleToolbarOnly, FormIntegrated, Interactive, Main, MinimalToolbar, ReadOnly, Skeleton, WithError, WithInitialContent, WithMaxHeight, WithoutToolbar, RichEditor_stories_default as default };
303
+ //# sourceMappingURL=RichEditor.stories.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useForm","useRef","useState","Button","Paragraph","Text","View","XStack","YStack","RichTextEditor","RichEditor","meta","title","component","parameters","layout","argTypes","label","control","placeholder","helperText","error","required","disabled","readOnly","showToolbar","showBubbleToolbar","compact","skeleton","size","options","minHeight","maxHeight","sections","form","validators","decorators","Story","padding","maxWidth","children","RichEditor_stories_default","Main","args","WithInitialContent","defaultValue","WithoutToolbar","BubbleToolbarOnly","MinimalToolbar","ReadOnly","WithError","WithMaxHeight","Interactive","render","editorRef","html","setHtml","charCount","setCharCount","handleChange","handleChange2","newHtml","text","replace","length","gap","ref","onChange","alignItems","color","fontSize","onPress","_editorRef_current","content","current","getHTML","console","log","setHTML","focus"],"sources":["../../src/RichEditor.stories.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}