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