@fuma-content/studio 0.1.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 (413) hide show
  1. package/dist/bin.d.mts +1 -0
  2. package/dist/bin.mjs +90 -0
  3. package/dist/index.d.mts +13 -0
  4. package/dist/index.mjs +66 -0
  5. package/dist/mdx/actions.mjs +34 -0
  6. package/dist/mdx/client.mjs +167 -0
  7. package/dist/package.mjs +6 -0
  8. package/dist/src/components/code-editor/mdx.lazy.mjs +19 -0
  9. package/dist/src/components/code-editor/mdx.mjs +44 -0
  10. package/dist/src/components/code-editor/yaml.lazy.mjs +22 -0
  11. package/dist/src/components/code-editor/yaml.mjs +63 -0
  12. package/dist/src/components/editor/editor-base-kit.mjs +41 -0
  13. package/dist/src/components/editor/editor-kit.mjs +73 -0
  14. package/dist/src/components/editor/md.mjs +42 -0
  15. package/dist/src/components/editor/plugins/ai-kit.mjs +68 -0
  16. package/dist/src/components/editor/plugins/align-base-kit.mjs +28 -0
  17. package/dist/src/components/editor/plugins/align-kit.mjs +30 -0
  18. package/dist/src/components/editor/plugins/autoformat-kit.mjs +214 -0
  19. package/dist/src/components/editor/plugins/basic-blocks-base-kit.mjs +22 -0
  20. package/dist/src/components/editor/plugins/basic-blocks-kit.mjs +51 -0
  21. package/dist/src/components/editor/plugins/basic-marks-base-kit.mjs +20 -0
  22. package/dist/src/components/editor/plugins/basic-marks-kit.mjs +28 -0
  23. package/dist/src/components/editor/plugins/block-menu-kit.mjs +11 -0
  24. package/dist/src/components/editor/plugins/block-placeholder-kit.mjs +14 -0
  25. package/dist/src/components/editor/plugins/block-selection-kit.mjs +48 -0
  26. package/dist/src/components/editor/plugins/callout-base-kit.mjs +8 -0
  27. package/dist/src/components/editor/plugins/callout-kit.mjs +10 -0
  28. package/dist/src/components/editor/plugins/code-block-base-kit.mjs +16 -0
  29. package/dist/src/components/editor/plugins/code-block-kit.mjs +19 -0
  30. package/dist/src/components/editor/plugins/column-base-kit.mjs +8 -0
  31. package/dist/src/components/editor/plugins/column-kit.mjs +10 -0
  32. package/dist/src/components/editor/plugins/comment-base-kit.mjs +8 -0
  33. package/dist/src/components/editor/plugins/comment-kit.mjs +53 -0
  34. package/dist/src/components/editor/plugins/copilot-kit.mjs +49 -0
  35. package/dist/src/components/editor/plugins/cursor-overlay-kit.mjs +11 -0
  36. package/dist/src/components/editor/plugins/date-base-kit.mjs +8 -0
  37. package/dist/src/components/editor/plugins/date-kit.mjs +10 -0
  38. package/dist/src/components/editor/plugins/discussion-kit.mjs +94 -0
  39. package/dist/src/components/editor/plugins/dnd-kit.mjs +31 -0
  40. package/dist/src/components/editor/plugins/emoji-kit.mjs +11 -0
  41. package/dist/src/components/editor/plugins/exit-break-kit.mjs +12 -0
  42. package/dist/src/components/editor/plugins/fixed-toolbar-kit.mjs +15 -0
  43. package/dist/src/components/editor/plugins/floating-toolbar-kit.mjs +15 -0
  44. package/dist/src/components/editor/plugins/font-base-kit.mjs +14 -0
  45. package/dist/src/components/editor/plugins/font-kit.mjs +19 -0
  46. package/dist/src/components/editor/plugins/indent-base-kit.mjs +17 -0
  47. package/dist/src/components/editor/plugins/indent-kit.mjs +20 -0
  48. package/dist/src/components/editor/plugins/line-height-base-kit.mjs +20 -0
  49. package/dist/src/components/editor/plugins/line-height-kit.mjs +22 -0
  50. package/dist/src/components/editor/plugins/link-base-kit.mjs +8 -0
  51. package/dist/src/components/editor/plugins/link-kit.mjs +15 -0
  52. package/dist/src/components/editor/plugins/list-base-kit.mjs +19 -0
  53. package/dist/src/components/editor/plugins/list-kit.mjs +22 -0
  54. package/dist/src/components/editor/plugins/markdown-kit.mjs +17 -0
  55. package/dist/src/components/editor/plugins/math-base-kit.mjs +8 -0
  56. package/dist/src/components/editor/plugins/math-kit.mjs +10 -0
  57. package/dist/src/components/editor/plugins/media-base-kit.mjs +23 -0
  58. package/dist/src/components/editor/plugins/media-kit.mjs +37 -0
  59. package/dist/src/components/editor/plugins/slash-kit.mjs +11 -0
  60. package/dist/src/components/editor/plugins/suggestion-base-kit.mjs +8 -0
  61. package/dist/src/components/editor/plugins/suggestion-kit.mjs +50 -0
  62. package/dist/src/components/editor/plugins/table-base-kit.mjs +13 -0
  63. package/dist/src/components/editor/plugins/table-kit.mjs +15 -0
  64. package/dist/src/components/editor/transforms.mjs +125 -0
  65. package/dist/src/components/editor/ui/ai-chat-editor.mjs +21 -0
  66. package/dist/src/components/editor/ui/ai-menu.mjs +488 -0
  67. package/dist/src/components/editor/ui/ai-node.mjs +24 -0
  68. package/dist/src/components/editor/ui/ai-toolbar-button.mjs +23 -0
  69. package/dist/src/components/editor/ui/align-toolbar-button.mjs +71 -0
  70. package/dist/src/components/editor/ui/block-context-menu.mjs +130 -0
  71. package/dist/src/components/editor/ui/block-discussion.mjs +200 -0
  72. package/dist/src/components/editor/ui/block-draggable.mjs +265 -0
  73. package/dist/src/components/editor/ui/block-list-static.mjs +48 -0
  74. package/dist/src/components/editor/ui/block-list.mjs +47 -0
  75. package/dist/src/components/editor/ui/block-selection.mjs +28 -0
  76. package/dist/src/components/editor/ui/block-suggestion.mjs +319 -0
  77. package/dist/src/components/editor/ui/blockquote-node-static.mjs +14 -0
  78. package/dist/src/components/editor/ui/blockquote-node.mjs +16 -0
  79. package/dist/src/components/editor/ui/callout-node-static.mjs +29 -0
  80. package/dist/src/components/editor/ui/callout-node.mjs +50 -0
  81. package/dist/src/components/editor/ui/caption.mjs +39 -0
  82. package/dist/src/components/editor/ui/code-block-node-static.mjs +30 -0
  83. package/dist/src/components/editor/ui/code-block-node.mjs +121 -0
  84. package/dist/src/components/editor/ui/code-node-static.mjs +15 -0
  85. package/dist/src/components/editor/ui/code-node.mjs +17 -0
  86. package/dist/src/components/editor/ui/column-node-static.mjs +32 -0
  87. package/dist/src/components/editor/ui/column-node.mjs +229 -0
  88. package/dist/src/components/editor/ui/comment-node-static.mjs +14 -0
  89. package/dist/src/components/editor/ui/comment-node.mjs +33 -0
  90. package/dist/src/components/editor/ui/comment-toolbar-button.mjs +23 -0
  91. package/dist/src/components/editor/ui/comment.mjs +422 -0
  92. package/dist/src/components/editor/ui/cursor-overlay.mjs +36 -0
  93. package/dist/src/components/editor/ui/date-node-static.mjs +32 -0
  94. package/dist/src/components/editor/ui/date-node.mjs +60 -0
  95. package/dist/src/components/editor/ui/editor-static.mjs +31 -0
  96. package/dist/src/components/editor/ui/editor.mjs +60 -0
  97. package/dist/src/components/editor/ui/emoji-node.mjs +46 -0
  98. package/dist/src/components/editor/ui/emoji-toolbar-button.mjs +415 -0
  99. package/dist/src/components/editor/ui/equation-node-static.mjs +65 -0
  100. package/dist/src/components/editor/ui/equation-node.mjs +159 -0
  101. package/dist/src/components/editor/ui/equation-toolbar-button.mjs +23 -0
  102. package/dist/src/components/editor/ui/fixed-toolbar-buttons.mjs +109 -0
  103. package/dist/src/components/editor/ui/fixed-toolbar.mjs +16 -0
  104. package/dist/src/components/editor/ui/floating-toolbar-buttons.mjs +54 -0
  105. package/dist/src/components/editor/ui/floating-toolbar.mjs +51 -0
  106. package/dist/src/components/editor/ui/font-color-toolbar-button.mjs +637 -0
  107. package/dist/src/components/editor/ui/font-size-toolbar-button.mjs +83 -0
  108. package/dist/src/components/editor/ui/ghost-text.mjs +22 -0
  109. package/dist/src/components/editor/ui/heading-node-static.mjs +60 -0
  110. package/dist/src/components/editor/ui/heading-node.mjs +62 -0
  111. package/dist/src/components/editor/ui/highlight-node-static.mjs +15 -0
  112. package/dist/src/components/editor/ui/highlight-node.mjs +17 -0
  113. package/dist/src/components/editor/ui/history-toolbar-button.mjs +35 -0
  114. package/dist/src/components/editor/ui/hr-node-static.mjs +18 -0
  115. package/dist/src/components/editor/ui/hr-node.mjs +23 -0
  116. package/dist/src/components/editor/ui/indent-toolbar-button.mjs +29 -0
  117. package/dist/src/components/editor/ui/inline-combobox.mjs +148 -0
  118. package/dist/src/components/editor/ui/insert-toolbar-button.mjs +199 -0
  119. package/dist/src/components/editor/ui/kbd-node-static.mjs +15 -0
  120. package/dist/src/components/editor/ui/kbd-node.mjs +17 -0
  121. package/dist/src/components/editor/ui/line-height-toolbar-button.mjs +56 -0
  122. package/dist/src/components/editor/ui/link-node-static.mjs +20 -0
  123. package/dist/src/components/editor/ui/link-node.mjs +28 -0
  124. package/dist/src/components/editor/ui/link-toolbar-button.mjs +21 -0
  125. package/dist/src/components/editor/ui/link-toolbar.mjs +141 -0
  126. package/dist/src/components/editor/ui/list-toolbar-button.mjs +131 -0
  127. package/dist/src/components/editor/ui/mark-toolbar-button.mjs +20 -0
  128. package/dist/src/components/editor/ui/media-image-node-static.mjs +32 -0
  129. package/dist/src/components/editor/ui/media-image-node.mjs +64 -0
  130. package/dist/src/components/editor/ui/media-placeholder-node.mjs +184 -0
  131. package/dist/src/components/editor/ui/media-preview-dialog.mjs +113 -0
  132. package/dist/src/components/editor/ui/media-toolbar-button.mjs +156 -0
  133. package/dist/src/components/editor/ui/media-toolbar.mjs +80 -0
  134. package/dist/src/components/editor/ui/media-upload-toast.mjs +39 -0
  135. package/dist/src/components/editor/ui/media-video-node-static.mjs +27 -0
  136. package/dist/src/components/editor/ui/mode-toolbar-button.mjs +112 -0
  137. package/dist/src/components/editor/ui/paragraph-node-static.mjs +15 -0
  138. package/dist/src/components/editor/ui/paragraph-node.mjs +17 -0
  139. package/dist/src/components/editor/ui/resize-handle.mjs +43 -0
  140. package/dist/src/components/editor/ui/slash-node.mjs +228 -0
  141. package/dist/src/components/editor/ui/suggestion-node-static.mjs +24 -0
  142. package/dist/src/components/editor/ui/suggestion-node.mjs +111 -0
  143. package/dist/src/components/editor/ui/suggestion-toolbar-button.mjs +24 -0
  144. package/dist/src/components/editor/ui/table-icons.mjs +1310 -0
  145. package/dist/src/components/editor/ui/table-node-static.mjs +68 -0
  146. package/dist/src/components/editor/ui/table-node.mjs +375 -0
  147. package/dist/src/components/editor/ui/table-toolbar-button.mjs +190 -0
  148. package/dist/src/components/editor/ui/turn-into-toolbar-button.mjs +168 -0
  149. package/dist/src/components/editor/use-chat.mjs +80 -0
  150. package/dist/src/components/json-schema-editor/client.mjs +46 -0
  151. package/dist/src/components/json-schema-editor/components/inputs.mjs +438 -0
  152. package/dist/src/components/json-schema-editor/get-default-values.mjs +23 -0
  153. package/dist/src/components/json-schema-editor/schema.mjs +131 -0
  154. package/dist/src/components/json-schema-editor/utils/merge-schema.mjs +134 -0
  155. package/dist/src/components/json-schema-editor/utils/schema-to-string.mjs +53 -0
  156. package/dist/src/components/ui/alert-dialog.mjs +90 -0
  157. package/dist/src/components/ui/avatar.mjs +32 -0
  158. package/dist/src/components/ui/button.mjs +48 -0
  159. package/dist/src/components/ui/calendar.mjs +108 -0
  160. package/dist/src/components/ui/checkbox.mjs +23 -0
  161. package/dist/src/components/ui/combobox.mjs +53 -0
  162. package/dist/src/components/ui/command.mjs +42 -0
  163. package/dist/src/components/ui/context-menu.mjs +67 -0
  164. package/dist/src/components/ui/dialog.mjs +9 -0
  165. package/dist/src/components/ui/dropdown-menu.mjs +122 -0
  166. package/dist/src/components/ui/input-group.mjs +31 -0
  167. package/dist/src/components/ui/input.mjs +15 -0
  168. package/dist/src/components/ui/label.mjs +19 -0
  169. package/dist/src/components/ui/popover.mjs +37 -0
  170. package/dist/src/components/ui/select.mjs +80 -0
  171. package/dist/src/components/ui/separator.mjs +19 -0
  172. package/dist/src/components/ui/spinner.mjs +16 -0
  173. package/dist/src/components/ui/tabs.mjs +39 -0
  174. package/dist/src/components/ui/textarea.mjs +14 -0
  175. package/dist/src/components/ui/toolbar.mjs +183 -0
  176. package/dist/src/components/ui/tooltip.mjs +38 -0
  177. package/dist/src/hooks/editor/use-is-creator.mjs +19 -0
  178. package/dist/src/hooks/use-upload-file.mjs +73 -0
  179. package/dist/src/lib/config.mjs +38 -0
  180. package/dist/src/lib/data/store.d.mts +15 -0
  181. package/dist/src/lib/lowlight.mjs +7 -0
  182. package/dist/src/lib/utils/deep-equal.mjs +18 -0
  183. package/dist/src/lib/utils/remove-undefined.mjs +18 -0
  184. package/dist/src/lib/utils.mjs +10 -0
  185. package/dist/types.d.mts +50 -0
  186. package/next.config.ts +23 -0
  187. package/package.json +131 -0
  188. package/postcss.config.mjs +7 -0
  189. package/src/app/(dashboard)/collection/[name]/[...slug]/page.client.tsx +26 -0
  190. package/src/app/(dashboard)/collection/[name]/[...slug]/page.tsx +17 -0
  191. package/src/app/(dashboard)/collection/[name]/page.client.tsx +82 -0
  192. package/src/app/(dashboard)/collection/[name]/page.tsx +11 -0
  193. package/src/app/(dashboard)/layout.tsx +34 -0
  194. package/src/app/(dashboard)/page.tsx +38 -0
  195. package/src/app/api/ai/command/prompts.ts +313 -0
  196. package/src/app/api/ai/command/route.ts +203 -0
  197. package/src/app/api/ai/command/utils.ts +242 -0
  198. package/src/app/api/ai/copilot/route.ts +33 -0
  199. package/src/app/api/uploadthing/route.ts +5 -0
  200. package/src/app/codeblock/LICENSE +21 -0
  201. package/src/app/codeblock/styles.css +289 -0
  202. package/src/app/favicon.ico +0 -0
  203. package/src/app/globals.css +223 -0
  204. package/src/app/layout.client.tsx +15 -0
  205. package/src/app/layout.tsx +30 -0
  206. package/src/components/app-sidebar.tsx +162 -0
  207. package/src/components/code-editor/mdx.lazy.tsx +18 -0
  208. package/src/components/code-editor/mdx.tsx +48 -0
  209. package/src/components/code-editor/yaml.lazy.tsx +20 -0
  210. package/src/components/code-editor/yaml.tsx +71 -0
  211. package/src/components/collection/actions.tsx +41 -0
  212. package/src/components/collection/client.tsx +63 -0
  213. package/src/components/collection/context.tsx +24 -0
  214. package/src/components/collection/document/actions.tsx +83 -0
  215. package/src/components/editor/editor-base-kit.tsx +37 -0
  216. package/src/components/editor/editor-kit.tsx +87 -0
  217. package/src/components/editor/md.tsx +60 -0
  218. package/src/components/editor/plugins/ai-kit.tsx +102 -0
  219. package/src/components/editor/plugins/align-base-kit.tsx +16 -0
  220. package/src/components/editor/plugins/align-kit.tsx +18 -0
  221. package/src/components/editor/plugins/autoformat-kit.tsx +236 -0
  222. package/src/components/editor/plugins/basic-blocks-base-kit.tsx +34 -0
  223. package/src/components/editor/plugins/basic-blocks-kit.tsx +87 -0
  224. package/src/components/editor/plugins/basic-marks-base-kit.tsx +26 -0
  225. package/src/components/editor/plugins/basic-marks-kit.tsx +40 -0
  226. package/src/components/editor/plugins/basic-nodes-kit.tsx +6 -0
  227. package/src/components/editor/plugins/block-menu-kit.tsx +14 -0
  228. package/src/components/editor/plugins/block-placeholder-kit.tsx +17 -0
  229. package/src/components/editor/plugins/block-selection-kit.tsx +54 -0
  230. package/src/components/editor/plugins/callout-base-kit.tsx +5 -0
  231. package/src/components/editor/plugins/callout-kit.tsx +7 -0
  232. package/src/components/editor/plugins/code-block-base-kit.tsx +16 -0
  233. package/src/components/editor/plugins/code-block-kit.tsx +19 -0
  234. package/src/components/editor/plugins/column-base-kit.tsx +11 -0
  235. package/src/components/editor/plugins/column-kit.tsx +10 -0
  236. package/src/components/editor/plugins/comment-base-kit.tsx +5 -0
  237. package/src/components/editor/plugins/comment-kit.tsx +92 -0
  238. package/src/components/editor/plugins/copilot-kit.tsx +70 -0
  239. package/src/components/editor/plugins/cursor-overlay-kit.tsx +13 -0
  240. package/src/components/editor/plugins/date-base-kit.tsx +5 -0
  241. package/src/components/editor/plugins/date-kit.tsx +7 -0
  242. package/src/components/editor/plugins/discussion-kit.tsx +142 -0
  243. package/src/components/editor/plugins/dnd-kit.tsx +25 -0
  244. package/src/components/editor/plugins/emoji-kit.tsx +13 -0
  245. package/src/components/editor/plugins/exit-break-kit.tsx +12 -0
  246. package/src/components/editor/plugins/fixed-toolbar-kit.tsx +19 -0
  247. package/src/components/editor/plugins/floating-toolbar-kit.tsx +19 -0
  248. package/src/components/editor/plugins/font-base-kit.tsx +20 -0
  249. package/src/components/editor/plugins/font-kit.tsx +29 -0
  250. package/src/components/editor/plugins/indent-base-kit.tsx +13 -0
  251. package/src/components/editor/plugins/indent-kit.tsx +22 -0
  252. package/src/components/editor/plugins/line-height-base-kit.tsx +14 -0
  253. package/src/components/editor/plugins/line-height-kit.tsx +16 -0
  254. package/src/components/editor/plugins/link-base-kit.tsx +5 -0
  255. package/src/components/editor/plugins/link-kit.tsx +15 -0
  256. package/src/components/editor/plugins/list-base-kit.tsx +17 -0
  257. package/src/components/editor/plugins/list-kit.tsx +26 -0
  258. package/src/components/editor/plugins/markdown-kit.tsx +13 -0
  259. package/src/components/editor/plugins/math-base-kit.tsx +11 -0
  260. package/src/components/editor/plugins/math-kit.tsx +10 -0
  261. package/src/components/editor/plugins/media-base-kit.tsx +25 -0
  262. package/src/components/editor/plugins/media-kit.tsx +28 -0
  263. package/src/components/editor/plugins/slash-kit.tsx +18 -0
  264. package/src/components/editor/plugins/suggestion-base-kit.tsx +5 -0
  265. package/src/components/editor/plugins/suggestion-kit.tsx +83 -0
  266. package/src/components/editor/plugins/table-base-kit.tsx +20 -0
  267. package/src/components/editor/plugins/table-kit.tsx +22 -0
  268. package/src/components/editor/settings-dialog.tsx +418 -0
  269. package/src/components/editor/transforms.ts +193 -0
  270. package/src/components/editor/types.ts +149 -0
  271. package/src/components/editor/ui/ai-chat-editor.tsx +20 -0
  272. package/src/components/editor/ui/ai-menu.tsx +663 -0
  273. package/src/components/editor/ui/ai-node.tsx +40 -0
  274. package/src/components/editor/ui/ai-toolbar-button.tsx +23 -0
  275. package/src/components/editor/ui/align-toolbar-button.tsx +78 -0
  276. package/src/components/editor/ui/block-context-menu.tsx +154 -0
  277. package/src/components/editor/ui/block-discussion.tsx +318 -0
  278. package/src/components/editor/ui/block-draggable.tsx +464 -0
  279. package/src/components/editor/ui/block-list-static.tsx +75 -0
  280. package/src/components/editor/ui/block-list.tsx +72 -0
  281. package/src/components/editor/ui/block-selection.tsx +37 -0
  282. package/src/components/editor/ui/block-suggestion.tsx +438 -0
  283. package/src/components/editor/ui/blockquote-node-static.tsx +5 -0
  284. package/src/components/editor/ui/blockquote-node.tsx +7 -0
  285. package/src/components/editor/ui/callout-node-static.tsx +30 -0
  286. package/src/components/editor/ui/callout-node.tsx +64 -0
  287. package/src/components/editor/ui/caption.tsx +55 -0
  288. package/src/components/editor/ui/code-block-node-static.tsx +33 -0
  289. package/src/components/editor/ui/code-block-node.tsx +161 -0
  290. package/src/components/editor/ui/code-node-static.tsx +15 -0
  291. package/src/components/editor/ui/code-node.tsx +17 -0
  292. package/src/components/editor/ui/column-node-static.tsx +27 -0
  293. package/src/components/editor/ui/column-node.tsx +285 -0
  294. package/src/components/editor/ui/comment-node-static.tsx +12 -0
  295. package/src/components/editor/ui/comment-node.tsx +43 -0
  296. package/src/components/editor/ui/comment-toolbar-button.tsx +24 -0
  297. package/src/components/editor/ui/comment.tsx +577 -0
  298. package/src/components/editor/ui/cursor-overlay.tsx +66 -0
  299. package/src/components/editor/ui/date-node-static.tsx +45 -0
  300. package/src/components/editor/ui/date-node.tsx +86 -0
  301. package/src/components/editor/ui/editor-static.tsx +47 -0
  302. package/src/components/editor/ui/editor.tsx +120 -0
  303. package/src/components/editor/ui/emoji-node.tsx +65 -0
  304. package/src/components/editor/ui/emoji-toolbar-button.tsx +582 -0
  305. package/src/components/editor/ui/equation-node-static.tsx +94 -0
  306. package/src/components/editor/ui/equation-node.tsx +218 -0
  307. package/src/components/editor/ui/equation-toolbar-button.tsx +24 -0
  308. package/src/components/editor/ui/fixed-toolbar-buttons.tsx +135 -0
  309. package/src/components/editor/ui/fixed-toolbar.tsx +17 -0
  310. package/src/components/editor/ui/floating-toolbar-buttons.tsx +72 -0
  311. package/src/components/editor/ui/floating-toolbar.tsx +76 -0
  312. package/src/components/editor/ui/font-color-toolbar-button.tsx +804 -0
  313. package/src/components/editor/ui/font-size-toolbar-button.tsx +102 -0
  314. package/src/components/editor/ui/ghost-text.tsx +27 -0
  315. package/src/components/editor/ui/heading-node-static.tsx +54 -0
  316. package/src/components/editor/ui/heading-node.tsx +54 -0
  317. package/src/components/editor/ui/highlight-node-static.tsx +11 -0
  318. package/src/components/editor/ui/highlight-node.tsx +13 -0
  319. package/src/components/editor/ui/history-toolbar-button.tsx +41 -0
  320. package/src/components/editor/ui/hr-node-static.tsx +16 -0
  321. package/src/components/editor/ui/hr-node.tsx +28 -0
  322. package/src/components/editor/ui/indent-toolbar-button.tsx +27 -0
  323. package/src/components/editor/ui/inline-combobox.tsx +251 -0
  324. package/src/components/editor/ui/insert-toolbar-button.tsx +242 -0
  325. package/src/components/editor/ui/kbd-node-static.tsx +15 -0
  326. package/src/components/editor/ui/kbd-node.tsx +17 -0
  327. package/src/components/editor/ui/line-height-toolbar-button.tsx +66 -0
  328. package/src/components/editor/ui/link-node-static.tsx +21 -0
  329. package/src/components/editor/ui/link-node.tsx +37 -0
  330. package/src/components/editor/ui/link-toolbar-button.tsx +18 -0
  331. package/src/components/editor/ui/link-toolbar.tsx +196 -0
  332. package/src/components/editor/ui/list-toolbar-button.tsx +195 -0
  333. package/src/components/editor/ui/mark-toolbar-button.tsx +20 -0
  334. package/src/components/editor/ui/media-image-node-static.tsx +33 -0
  335. package/src/components/editor/ui/media-image-node.tsx +75 -0
  336. package/src/components/editor/ui/media-placeholder-node.tsx +235 -0
  337. package/src/components/editor/ui/media-preview-dialog.tsx +145 -0
  338. package/src/components/editor/ui/media-toolbar-button.tsx +202 -0
  339. package/src/components/editor/ui/media-toolbar.tsx +100 -0
  340. package/src/components/editor/ui/media-upload-toast.tsx +59 -0
  341. package/src/components/editor/ui/media-video-node-static.tsx +23 -0
  342. package/src/components/editor/ui/mode-toolbar-button.tsx +121 -0
  343. package/src/components/editor/ui/paragraph-node-static.tsx +13 -0
  344. package/src/components/editor/ui/paragraph-node.tsx +15 -0
  345. package/src/components/editor/ui/resize-handle.tsx +79 -0
  346. package/src/components/editor/ui/slash-node.tsx +274 -0
  347. package/src/components/editor/ui/suggestion-node-static.tsx +30 -0
  348. package/src/components/editor/ui/suggestion-node.tsx +157 -0
  349. package/src/components/editor/ui/suggestion-toolbar-button.tsx +25 -0
  350. package/src/components/editor/ui/table-icons.tsx +685 -0
  351. package/src/components/editor/ui/table-node-static.tsx +86 -0
  352. package/src/components/editor/ui/table-node.tsx +569 -0
  353. package/src/components/editor/ui/table-toolbar-button.tsx +260 -0
  354. package/src/components/editor/ui/turn-into-toolbar-button.tsx +176 -0
  355. package/src/components/editor/use-chat.ts +120 -0
  356. package/src/components/icons/logo.tsx +37 -0
  357. package/src/components/json-schema-editor/client.tsx +55 -0
  358. package/src/components/json-schema-editor/components/inputs.tsx +612 -0
  359. package/src/components/json-schema-editor/get-default-values.ts +29 -0
  360. package/src/components/json-schema-editor/schema.tsx +206 -0
  361. package/src/components/json-schema-editor/utils/merge-schema.ts +167 -0
  362. package/src/components/json-schema-editor/utils/schema-to-string.ts +87 -0
  363. package/src/components/nav-user.tsx +102 -0
  364. package/src/components/site-header.tsx +13 -0
  365. package/src/components/ui/alert-dialog.tsx +182 -0
  366. package/src/components/ui/avatar.tsx +96 -0
  367. package/src/components/ui/badge.tsx +46 -0
  368. package/src/components/ui/button.tsx +65 -0
  369. package/src/components/ui/calendar.tsx +186 -0
  370. package/src/components/ui/checkbox.tsx +29 -0
  371. package/src/components/ui/combobox.tsx +267 -0
  372. package/src/components/ui/command.tsx +180 -0
  373. package/src/components/ui/context-menu.tsx +161 -0
  374. package/src/components/ui/dialog.tsx +142 -0
  375. package/src/components/ui/drawer.tsx +120 -0
  376. package/src/components/ui/dropdown-menu.tsx +239 -0
  377. package/src/components/ui/field.tsx +224 -0
  378. package/src/components/ui/input-group.tsx +144 -0
  379. package/src/components/ui/input.tsx +19 -0
  380. package/src/components/ui/label.tsx +18 -0
  381. package/src/components/ui/popover.tsx +76 -0
  382. package/src/components/ui/select.tsx +182 -0
  383. package/src/components/ui/separator.tsx +28 -0
  384. package/src/components/ui/sheet.tsx +130 -0
  385. package/src/components/ui/sidebar.tsx +608 -0
  386. package/src/components/ui/sonner.tsx +45 -0
  387. package/src/components/ui/spinner.tsx +15 -0
  388. package/src/components/ui/table.tsx +89 -0
  389. package/src/components/ui/tabs.tsx +60 -0
  390. package/src/components/ui/textarea.tsx +18 -0
  391. package/src/components/ui/toggle-group.tsx +86 -0
  392. package/src/components/ui/toggle.tsx +45 -0
  393. package/src/components/ui/toolbar.tsx +365 -0
  394. package/src/components/ui/tooltip.tsx +57 -0
  395. package/src/hooks/editor/use-is-creator.ts +21 -0
  396. package/src/hooks/use-mobile.ts +19 -0
  397. package/src/hooks/use-mounted.ts +11 -0
  398. package/src/hooks/use-upload-file.ts +121 -0
  399. package/src/lib/ai/markdown-joiner-transform.ts +235 -0
  400. package/src/lib/config.ts +60 -0
  401. package/src/lib/data/actions.ts +51 -0
  402. package/src/lib/data/boundary.client.tsx +22 -0
  403. package/src/lib/data/boundary.tsx +22 -0
  404. package/src/lib/data/query.ts +9 -0
  405. package/src/lib/data/store.ts +52 -0
  406. package/src/lib/lowlight.ts +3 -0
  407. package/src/lib/uploadthing.ts +19 -0
  408. package/src/lib/utils/deep-equal.ts +37 -0
  409. package/src/lib/utils/remove-undefined.ts +21 -0
  410. package/src/lib/utils/urls.ts +6 -0
  411. package/src/lib/utils.ts +6 -0
  412. package/tsconfig.build.json +24 -0
  413. package/tsconfig.json +37 -0
@@ -0,0 +1,25 @@
1
+ "use client";
2
+
3
+ import { DndPlugin } from "@platejs/dnd";
4
+ import { PlaceholderPlugin } from "@platejs/media/react";
5
+ import { DndProvider } from "react-dnd";
6
+ import { HTML5Backend } from "react-dnd-html5-backend";
7
+
8
+ import { BlockDraggable } from "@/components/editor/ui/block-draggable";
9
+
10
+ export const DndKit = [
11
+ DndPlugin.configure({
12
+ options: {
13
+ enableScroller: true,
14
+ onDropFiles: ({ dragItem, editor, target }) => {
15
+ editor
16
+ .getTransforms(PlaceholderPlugin)
17
+ .insert.media(dragItem.files, { at: target, nextBlock: false });
18
+ },
19
+ },
20
+ render: {
21
+ aboveNodes: BlockDraggable,
22
+ aboveSlate: ({ children }) => <DndProvider backend={HTML5Backend}>{children}</DndProvider>,
23
+ },
24
+ }),
25
+ ];
@@ -0,0 +1,13 @@
1
+ "use client";
2
+
3
+ import emojiMartData from "@emoji-mart/data";
4
+ import { EmojiInputPlugin, EmojiPlugin } from "@platejs/emoji/react";
5
+
6
+ import { EmojiInputElement } from "@/components/editor/ui/emoji-node";
7
+
8
+ export const EmojiKit = [
9
+ EmojiPlugin.configure({
10
+ options: { data: emojiMartData as any },
11
+ }),
12
+ EmojiInputPlugin.withComponent(EmojiInputElement),
13
+ ];
@@ -0,0 +1,12 @@
1
+ "use client";
2
+
3
+ import { ExitBreakPlugin } from "platejs";
4
+
5
+ export const ExitBreakKit = [
6
+ ExitBreakPlugin.configure({
7
+ shortcuts: {
8
+ insert: { keys: "mod+enter" },
9
+ insertBefore: { keys: "mod+shift+enter" },
10
+ },
11
+ }),
12
+ ];
@@ -0,0 +1,19 @@
1
+ "use client";
2
+
3
+ import { createPlatePlugin } from "platejs/react";
4
+
5
+ import { FixedToolbar } from "@/components/editor/ui/fixed-toolbar";
6
+ import { FixedToolbarButtons } from "@/components/editor/ui/fixed-toolbar-buttons";
7
+
8
+ export const FixedToolbarKit = [
9
+ createPlatePlugin({
10
+ key: "fixed-toolbar",
11
+ render: {
12
+ beforeEditable: () => (
13
+ <FixedToolbar>
14
+ <FixedToolbarButtons />
15
+ </FixedToolbar>
16
+ ),
17
+ },
18
+ }),
19
+ ];
@@ -0,0 +1,19 @@
1
+ "use client";
2
+
3
+ import { createPlatePlugin } from "platejs/react";
4
+
5
+ import { FloatingToolbar } from "@/components/editor/ui/floating-toolbar";
6
+ import { FloatingToolbarButtons } from "@/components/editor/ui/floating-toolbar-buttons";
7
+
8
+ export const FloatingToolbarKit = [
9
+ createPlatePlugin({
10
+ key: "floating-toolbar",
11
+ render: {
12
+ afterEditable: () => (
13
+ <FloatingToolbar>
14
+ <FloatingToolbarButtons />
15
+ </FloatingToolbar>
16
+ ),
17
+ },
18
+ }),
19
+ ];
@@ -0,0 +1,20 @@
1
+ import type { SlatePluginConfig } from "platejs";
2
+
3
+ import {
4
+ BaseFontBackgroundColorPlugin,
5
+ BaseFontColorPlugin,
6
+ BaseFontFamilyPlugin,
7
+ BaseFontSizePlugin,
8
+ } from "@platejs/basic-styles";
9
+ import { KEYS } from "platejs";
10
+
11
+ const options = {
12
+ inject: { targetPlugins: [KEYS.p] },
13
+ } satisfies SlatePluginConfig;
14
+
15
+ export const BaseFontKit = [
16
+ BaseFontColorPlugin.configure(options),
17
+ BaseFontBackgroundColorPlugin.configure(options),
18
+ BaseFontSizePlugin.configure(options),
19
+ BaseFontFamilyPlugin.configure(options),
20
+ ];
@@ -0,0 +1,29 @@
1
+ "use client";
2
+
3
+ import type { PlatePluginConfig } from "platejs/react";
4
+
5
+ import {
6
+ FontBackgroundColorPlugin,
7
+ FontColorPlugin,
8
+ FontFamilyPlugin,
9
+ FontSizePlugin,
10
+ } from "@platejs/basic-styles/react";
11
+ import { KEYS } from "platejs";
12
+
13
+ const options = {
14
+ inject: { targetPlugins: [KEYS.p] },
15
+ } satisfies PlatePluginConfig;
16
+
17
+ export const FontKit = [
18
+ FontColorPlugin.configure({
19
+ inject: {
20
+ ...options.inject,
21
+ nodeProps: {
22
+ defaultNodeValue: "black",
23
+ },
24
+ },
25
+ }),
26
+ FontBackgroundColorPlugin.configure(options),
27
+ FontSizePlugin.configure(options),
28
+ FontFamilyPlugin.configure(options),
29
+ ];
@@ -0,0 +1,13 @@
1
+ import { BaseIndentPlugin } from "@platejs/indent";
2
+ import { KEYS } from "platejs";
3
+
4
+ export const BaseIndentKit = [
5
+ BaseIndentPlugin.configure({
6
+ inject: {
7
+ targetPlugins: [...KEYS.heading, KEYS.p, KEYS.blockquote, KEYS.codeBlock, KEYS.toggle],
8
+ },
9
+ options: {
10
+ offset: 24,
11
+ },
12
+ }),
13
+ ];
@@ -0,0 +1,22 @@
1
+ "use client";
2
+
3
+ import { IndentPlugin } from "@platejs/indent/react";
4
+ import { KEYS } from "platejs";
5
+
6
+ export const IndentKit = [
7
+ IndentPlugin.configure({
8
+ inject: {
9
+ targetPlugins: [
10
+ ...KEYS.heading,
11
+ KEYS.p,
12
+ KEYS.blockquote,
13
+ KEYS.codeBlock,
14
+ KEYS.toggle,
15
+ KEYS.img,
16
+ ],
17
+ },
18
+ options: {
19
+ offset: 24,
20
+ },
21
+ }),
22
+ ];
@@ -0,0 +1,14 @@
1
+ import { BaseLineHeightPlugin } from "@platejs/basic-styles";
2
+ import { KEYS } from "platejs";
3
+
4
+ export const BaseLineHeightKit = [
5
+ BaseLineHeightPlugin.configure({
6
+ inject: {
7
+ nodeProps: {
8
+ defaultNodeValue: 1.5,
9
+ validNodeValues: [1, 1.2, 1.5, 2, 3],
10
+ },
11
+ targetPlugins: [...KEYS.heading, KEYS.p],
12
+ },
13
+ }),
14
+ ];
@@ -0,0 +1,16 @@
1
+ "use client";
2
+
3
+ import { LineHeightPlugin } from "@platejs/basic-styles/react";
4
+ import { KEYS } from "platejs";
5
+
6
+ export const LineHeightKit = [
7
+ LineHeightPlugin.configure({
8
+ inject: {
9
+ nodeProps: {
10
+ defaultNodeValue: 1.5,
11
+ validNodeValues: [1, 1.2, 1.5, 2, 3],
12
+ },
13
+ targetPlugins: [...KEYS.heading, KEYS.p],
14
+ },
15
+ }),
16
+ ];
@@ -0,0 +1,5 @@
1
+ import { BaseLinkPlugin } from "@platejs/link";
2
+
3
+ import { LinkElementStatic } from "@/components/editor/ui/link-node-static";
4
+
5
+ export const BaseLinkKit = [BaseLinkPlugin.withComponent(LinkElementStatic)];
@@ -0,0 +1,15 @@
1
+ "use client";
2
+
3
+ import { LinkPlugin } from "@platejs/link/react";
4
+
5
+ import { LinkElement } from "@/components/editor/ui/link-node";
6
+ import { LinkFloatingToolbar } from "@/components/editor/ui/link-toolbar";
7
+
8
+ export const LinkKit = [
9
+ LinkPlugin.configure({
10
+ render: {
11
+ node: LinkElement,
12
+ afterEditable: () => <LinkFloatingToolbar />,
13
+ },
14
+ }),
15
+ ];
@@ -0,0 +1,17 @@
1
+ import { BaseListPlugin } from "@platejs/list";
2
+ import { KEYS } from "platejs";
3
+
4
+ import { BaseIndentKit } from "@/components/editor/plugins/indent-base-kit";
5
+ import { BlockListStatic } from "@/components/editor/ui/block-list-static";
6
+
7
+ export const BaseListKit = [
8
+ ...BaseIndentKit,
9
+ BaseListPlugin.configure({
10
+ inject: {
11
+ targetPlugins: [...KEYS.heading, KEYS.p, KEYS.blockquote, KEYS.codeBlock, KEYS.toggle],
12
+ },
13
+ render: {
14
+ belowNodes: BlockListStatic,
15
+ },
16
+ }),
17
+ ];
@@ -0,0 +1,26 @@
1
+ "use client";
2
+
3
+ import { ListPlugin } from "@platejs/list/react";
4
+ import { KEYS } from "platejs";
5
+
6
+ import { IndentKit } from "@/components/editor/plugins/indent-kit";
7
+ import { BlockList } from "@/components/editor/ui/block-list";
8
+
9
+ export const ListKit = [
10
+ ...IndentKit,
11
+ ListPlugin.configure({
12
+ inject: {
13
+ targetPlugins: [
14
+ ...KEYS.heading,
15
+ KEYS.p,
16
+ KEYS.blockquote,
17
+ KEYS.codeBlock,
18
+ KEYS.toggle,
19
+ KEYS.img,
20
+ ],
21
+ },
22
+ render: {
23
+ belowNodes: BlockList,
24
+ },
25
+ }),
26
+ ];
@@ -0,0 +1,13 @@
1
+ import { MarkdownPlugin, remarkMdx } from "@platejs/markdown";
2
+ import { KEYS } from "platejs";
3
+ import remarkGfm from "remark-gfm";
4
+ import remarkMath from "remark-math";
5
+
6
+ export const MarkdownKit = [
7
+ MarkdownPlugin.configure({
8
+ options: {
9
+ plainMarks: [KEYS.suggestion, KEYS.comment],
10
+ remarkPlugins: [remarkMath, remarkGfm, remarkMdx],
11
+ },
12
+ }),
13
+ ];
@@ -0,0 +1,11 @@
1
+ import { BaseEquationPlugin, BaseInlineEquationPlugin } from "@platejs/math";
2
+
3
+ import {
4
+ EquationElementStatic,
5
+ InlineEquationElementStatic,
6
+ } from "@/components/editor/ui/equation-node-static";
7
+
8
+ export const BaseMathKit = [
9
+ BaseInlineEquationPlugin.withComponent(InlineEquationElementStatic),
10
+ BaseEquationPlugin.withComponent(EquationElementStatic),
11
+ ];
@@ -0,0 +1,10 @@
1
+ "use client";
2
+
3
+ import { EquationPlugin, InlineEquationPlugin } from "@platejs/math/react";
4
+
5
+ import { EquationElement, InlineEquationElement } from "@/components/editor/ui/equation-node";
6
+
7
+ export const MathKit = [
8
+ InlineEquationPlugin.withComponent(InlineEquationElement),
9
+ EquationPlugin.withComponent(EquationElement),
10
+ ];
@@ -0,0 +1,25 @@
1
+ import { BaseCaptionPlugin } from "@platejs/caption";
2
+ import {
3
+ BaseImagePlugin,
4
+ BaseMediaEmbedPlugin,
5
+ BasePlaceholderPlugin,
6
+ BaseVideoPlugin,
7
+ } from "@platejs/media";
8
+ import { KEYS } from "platejs";
9
+
10
+ import { ImageElementStatic } from "@/components/editor/ui/media-image-node-static";
11
+ import { VideoElementStatic } from "@/components/editor/ui/media-video-node-static";
12
+
13
+ export const BaseMediaKit = [
14
+ BaseImagePlugin.withComponent(ImageElementStatic),
15
+ BaseVideoPlugin.withComponent(VideoElementStatic),
16
+ BaseCaptionPlugin.configure({
17
+ options: {
18
+ query: {
19
+ allow: [KEYS.img, KEYS.video, KEYS.audio, KEYS.file, KEYS.mediaEmbed],
20
+ },
21
+ },
22
+ }),
23
+ BaseMediaEmbedPlugin,
24
+ BasePlaceholderPlugin,
25
+ ];
@@ -0,0 +1,28 @@
1
+ "use client";
2
+
3
+ import { CaptionPlugin } from "@platejs/caption/react";
4
+ import { ImagePlugin, PlaceholderPlugin } from "@platejs/media/react";
5
+ import { KEYS } from "platejs";
6
+
7
+ import { ImageElement } from "@/components/editor/ui/media-image-node";
8
+ import { PlaceholderElement } from "@/components/editor/ui/media-placeholder-node";
9
+ import { MediaPreviewDialog } from "@/components/editor/ui/media-preview-dialog";
10
+ import { MediaUploadToast } from "@/components/editor/ui/media-upload-toast";
11
+
12
+ export const MediaKit = [
13
+ ImagePlugin.configure({
14
+ options: { disableUploadInsert: true },
15
+ render: { afterEditable: MediaPreviewDialog, node: ImageElement },
16
+ }),
17
+ PlaceholderPlugin.configure({
18
+ options: { disableEmptyPlaceholder: true },
19
+ render: { afterEditable: MediaUploadToast, node: PlaceholderElement },
20
+ }),
21
+ CaptionPlugin.configure({
22
+ options: {
23
+ query: {
24
+ allow: [KEYS.img, KEYS.video, KEYS.audio, KEYS.file, KEYS.mediaEmbed],
25
+ },
26
+ },
27
+ }),
28
+ ];
@@ -0,0 +1,18 @@
1
+ "use client";
2
+
3
+ import { SlashInputPlugin, SlashPlugin } from "@platejs/slash-command/react";
4
+ import { KEYS } from "platejs";
5
+
6
+ import { SlashInputElement } from "@/components/editor/ui/slash-node";
7
+
8
+ export const SlashKit = [
9
+ SlashPlugin.configure({
10
+ options: {
11
+ triggerQuery: (editor) =>
12
+ !editor.api.some({
13
+ match: { type: editor.getType(KEYS.codeBlock) },
14
+ }),
15
+ },
16
+ }),
17
+ SlashInputPlugin.withComponent(SlashInputElement),
18
+ ];
@@ -0,0 +1,5 @@
1
+ import { BaseSuggestionPlugin } from "@platejs/suggestion";
2
+
3
+ import { SuggestionLeafStatic } from "@/components/editor/ui/suggestion-node-static";
4
+
5
+ export const BaseSuggestionKit = [BaseSuggestionPlugin.withComponent(SuggestionLeafStatic)];
@@ -0,0 +1,83 @@
1
+ "use client";
2
+
3
+ import { type BaseSuggestionConfig, BaseSuggestionPlugin } from "@platejs/suggestion";
4
+ import type { ExtendConfig, Path } from "platejs";
5
+ import { isSlateEditor, isSlateString } from "platejs";
6
+ import { toTPlatePlugin } from "platejs/react";
7
+
8
+ import { SuggestionLeaf, SuggestionLineBreak } from "@/components/editor/ui/suggestion-node";
9
+
10
+ import { discussionPlugin } from "./discussion-kit";
11
+
12
+ export type SuggestionConfig = ExtendConfig<
13
+ BaseSuggestionConfig,
14
+ {
15
+ activeId: string | null;
16
+ hoverId: string | null;
17
+ uniquePathMap: Map<string, Path>;
18
+ }
19
+ >;
20
+
21
+ export const suggestionPlugin = toTPlatePlugin<SuggestionConfig>(
22
+ BaseSuggestionPlugin,
23
+ ({ editor }) => ({
24
+ options: {
25
+ activeId: null,
26
+ currentUserId: editor.getOption(discussionPlugin, "currentUserId"),
27
+ hoverId: null,
28
+ uniquePathMap: new Map(),
29
+ },
30
+ }),
31
+ ).configure({
32
+ handlers: {
33
+ // unset active suggestion when clicking outside of suggestion
34
+ onClick: ({ api, event, setOption, type }) => {
35
+ let leaf = event.target as HTMLElement;
36
+ let isSet = false;
37
+
38
+ const isBlockLeaf = leaf.dataset.blockSuggestion === "true";
39
+
40
+ const unsetActiveSuggestion = () => {
41
+ setOption("activeId", null);
42
+ isSet = true;
43
+ };
44
+
45
+ if (!isSlateString(leaf) && !isBlockLeaf) {
46
+ unsetActiveSuggestion();
47
+ }
48
+
49
+ while (leaf.parentElement && !isSlateEditor(leaf.parentElement)) {
50
+ const isBlockSuggestion = leaf.dataset.blockSuggestion === "true";
51
+
52
+ if (leaf.classList.contains(`slate-${type}`) || isBlockSuggestion) {
53
+ const suggestionEntry = api.suggestion?.node({
54
+ isText: !isBlockSuggestion,
55
+ });
56
+
57
+ if (!suggestionEntry) {
58
+ unsetActiveSuggestion();
59
+
60
+ break;
61
+ }
62
+
63
+ const id = api.suggestion?.nodeId(suggestionEntry[0]);
64
+ setOption("activeId", id ?? null);
65
+
66
+ isSet = true;
67
+
68
+ break;
69
+ }
70
+
71
+ leaf = leaf.parentElement;
72
+ }
73
+
74
+ if (!isSet) unsetActiveSuggestion();
75
+ },
76
+ },
77
+ render: {
78
+ belowNodes: SuggestionLineBreak as any,
79
+ node: SuggestionLeaf,
80
+ },
81
+ });
82
+
83
+ export const SuggestionKit = [suggestionPlugin];
@@ -0,0 +1,20 @@
1
+ import {
2
+ BaseTableCellHeaderPlugin,
3
+ BaseTableCellPlugin,
4
+ BaseTablePlugin,
5
+ BaseTableRowPlugin,
6
+ } from "@platejs/table";
7
+
8
+ import {
9
+ TableCellElementStatic,
10
+ TableCellHeaderElementStatic,
11
+ TableElementStatic,
12
+ TableRowElementStatic,
13
+ } from "@/components/editor/ui/table-node-static";
14
+
15
+ export const BaseTableKit = [
16
+ BaseTablePlugin.withComponent(TableElementStatic),
17
+ BaseTableRowPlugin.withComponent(TableRowElementStatic),
18
+ BaseTableCellPlugin.withComponent(TableCellElementStatic),
19
+ BaseTableCellHeaderPlugin.withComponent(TableCellHeaderElementStatic),
20
+ ];
@@ -0,0 +1,22 @@
1
+ "use client";
2
+
3
+ import {
4
+ TableCellHeaderPlugin,
5
+ TableCellPlugin,
6
+ TablePlugin,
7
+ TableRowPlugin,
8
+ } from "@platejs/table/react";
9
+
10
+ import {
11
+ TableCellElement,
12
+ TableCellHeaderElement,
13
+ TableElement,
14
+ TableRowElement,
15
+ } from "@/components/editor/ui/table-node";
16
+
17
+ export const TableKit = [
18
+ TablePlugin.withComponent(TableElement),
19
+ TableRowPlugin.withComponent(TableRowElement),
20
+ TableCellPlugin.withComponent(TableCellElement),
21
+ TableCellHeaderPlugin.withComponent(TableCellHeaderElement),
22
+ ];