@gientech/modual 2.0.7 → 2.0.9

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 (415) hide show
  1. package/.editorconfig +38 -0
  2. package/.prettierignore +16 -0
  3. package/.prettierrc +17 -0
  4. package/INSTALL_TROUBLESHOOTING.md +316 -0
  5. package/USAGE.md +247 -0
  6. package/bash.exe.stackdump +40 -0
  7. package/components.json +21 -0
  8. package/dist/README.md +761 -0
  9. package/{assets/GientechStreamReader-Dx72IaEx.js → dist/assets/GientechStreamReader-CNj6Rcm7.js} +1 -1
  10. package/{assets/index-D4pXe94o.js → dist/assets/index-BJv0t0eJ.js} +36 -36
  11. package/{assets/index-BbNz3Zrz.js → dist/assets/index-CU45mVZ4.js} +1 -1
  12. package/{chat.js → dist/chat.js} +1 -1
  13. package/{databaseId.js → dist/databaseId.js} +1 -1
  14. package/{index.js → dist/index.js} +1 -1
  15. package/dist/package.json +68 -0
  16. package/{streamFilesReader.js → dist/streamFilesReader.js} +1 -1
  17. package/doc_assets/2.png +0 -0
  18. package/doc_assets/demo.md +27 -0
  19. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +2 -0
  20. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +23699 -0
  21. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +1 -0
  22. package/doc_assets/demos/dist-app/index.html +14 -0
  23. package/doc_assets/demos/dist-app/vite.svg +1 -0
  24. package/doc_assets/images/1.png +0 -0
  25. package/doc_assets/images/3.png +0 -0
  26. package/doc_assets/images/component-screenshot.png +1 -0
  27. package/doc_assets/install.md +5 -0
  28. package/doc_assets/v2.0.7/345/217/230/346/233/264/346/200/273/347/273/223.md +115 -0
  29. package/doc_assets//346/226/271/346/241/210//344/274/230/345/214/226/346/226/271/346/241/210-/345/244/232/344/274/232/350/257/235SSE/350/277/236/346/216/245/347/256/241/347/220/206.md +504 -0
  30. package/eslint.config.js +92 -0
  31. package/index.html +13 -0
  32. package/package.json +103 -41
  33. package/package.json.demo-backup +109 -0
  34. package/postcss.config.cjs +19 -0
  35. package/public/icons/answerAwartar.png +0 -0
  36. package/public/icons/docx-file.png +0 -0
  37. package/public/icons/folder.png +0 -0
  38. package/public/icons/html.png +0 -0
  39. package/public/icons/image.png +0 -0
  40. package/public/icons/jpg-file.png +0 -0
  41. package/public/icons/json.png +0 -0
  42. package/public/icons/md.png +0 -0
  43. package/public/icons/pdf.png +0 -0
  44. package/public/icons/pptx.png +0 -0
  45. package/public/icons/questionAwartar.png +0 -0
  46. package/public/icons/sheets.png +0 -0
  47. package/public/icons/txt.png +0 -0
  48. package/public/icons/xlsx.png +0 -0
  49. package/public/vite.svg +1 -0
  50. package/public/worker/pdf.worker.min.js +22 -0
  51. package/scripts/README.md +133 -0
  52. package/scripts/build-demo.js +88 -0
  53. package/scripts/decrypt-api-key.js +95 -0
  54. package/scripts/demo-selector.js +216 -0
  55. package/scripts/dev-demo.js +76 -0
  56. package/scripts/preview-demo.js +130 -0
  57. package/scripts/run-demo.bat +34 -0
  58. package/src/assets/img/close.png +0 -0
  59. package/src/assets/img/database.png +0 -0
  60. package/src/assets/img/downArrow.png +0 -0
  61. package/src/assets/img/downLoad.png +0 -0
  62. package/src/assets/img/excel.png +0 -0
  63. package/src/assets/img/graphIcon.png +0 -0
  64. package/src/assets/img/img.png +0 -0
  65. package/src/assets/img/pdf.png +0 -0
  66. package/src/assets/img/ppt.png +0 -0
  67. package/src/assets/img/singleQa.png +0 -0
  68. package/src/assets/img/txt.png +0 -0
  69. package/src/assets/img/webSearch.png +0 -0
  70. package/src/assets/img/word.png +0 -0
  71. package/src/assets/login/homeBg.png +0 -0
  72. package/src/assets/login/left.jpg +0 -0
  73. package/src/assets/login/logoImg.png +0 -0
  74. package/src/examples/ConversationAssistantPage/index.tsx +41 -0
  75. package/src/examples/Demo/index.tsx +12 -0
  76. package/src/examples/LoginPage/index.tsx +18 -0
  77. package/src/examples/chat/components/DrawerGraphPreview.tsx +78 -0
  78. package/src/examples/chat/index.tsx +166 -0
  79. package/src/examples/chat/logo03.png +0 -0
  80. package/src/examples/gientechStreamFilesReader/index.tsx +951 -0
  81. package/src/examples/headlessChat/assets/mind.svg +6 -0
  82. package/src/examples/headlessChat/assets/net.svg +7 -0
  83. package/src/examples/headlessChat/index.tsx +285 -0
  84. package/src/examples/ragDatabaseDataPage/index.tsx +40 -0
  85. package/src/examples/ragDatabaseIdPage/index.tsx +47 -0
  86. package/src/examples/ragDatabasePage/index.tsx +36 -0
  87. package/src/examples/ragModelManagePage/index.tsx +38 -0
  88. package/src/examples/ragSearchPage/index.tsx +0 -0
  89. package/src/examples/ragSensitiveWordsPage/index.tsx +32 -0
  90. package/src/examples/streamFiles/index.tsx +417 -0
  91. package/src/lib_enter.ts +43 -0
  92. package/src/main.tsx +5 -0
  93. package/src/main.tsx.backup +5 -0
  94. package/src/modules/CHAT_UNIFICATION_PLAN.md +324 -0
  95. package/src/modules/assistantConfig/assets/databse.svg +6 -0
  96. package/src/modules/assistantConfig/assets/empty.png +0 -0
  97. package/src/modules/assistantConfig/assets/graph.svg +4 -0
  98. package/src/modules/assistantConfig/assets/knowledge.svg +4 -0
  99. package/src/modules/assistantConfig/assets/sensitive.svg +5 -0
  100. package/src/modules/assistantConfig/components/Database.tsx +171 -0
  101. package/src/modules/assistantConfig/components/Graph.tsx +177 -0
  102. package/src/modules/assistantConfig/components/Knowledge.tsx +276 -0
  103. package/src/modules/assistantConfig/components/NotFoundContent.tsx +21 -0
  104. package/src/modules/assistantConfig/components/Paragraph.tsx +51 -0
  105. package/src/modules/assistantConfig/components/ParamsItem.tsx +39 -0
  106. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +133 -0
  107. package/src/modules/assistantConfig/components/SearchableSelector.tsx +500 -0
  108. package/src/modules/assistantConfig/components/Sensitive.tsx +221 -0
  109. package/src/modules/assistantConfig/components/SliderInput.tsx +65 -0
  110. package/src/modules/assistantConfig/constants.tsx +75 -0
  111. package/src/modules/assistantConfig/index.tsx +710 -0
  112. package/src/modules/assistantConfig/server.ts +262 -0
  113. package/src/modules/chat/Conversations/Item.tsx +167 -0
  114. package/src/modules/chat/Conversations/List.tsx +210 -0
  115. package/src/modules/chat/Conversations/groupByTime.ts +39 -0
  116. package/src/modules/chat/Conversations/index.tsx +252 -0
  117. package/src/modules/chat/ReferenceBar.tsx +622 -0
  118. package/src/modules/chat/constants.tsx +57 -0
  119. package/src/modules/chat/index.tsx +2449 -0
  120. package/src/modules/chat/referenceCom/DeleteModal.tsx +75 -0
  121. package/src/modules/chat/referenceCom/DrawerContent.tsx +136 -0
  122. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +102 -0
  123. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +86 -0
  124. package/src/modules/chat/referenceCom/DrawerPreview.tsx +73 -0
  125. package/src/modules/chat/referenceCom/DrawerTitle.tsx +26 -0
  126. package/src/modules/chat/referenceCom/RenameModal.tsx +86 -0
  127. package/src/modules/chat/referenceCom/TagCom.tsx +30 -0
  128. package/src/modules/chat/style.less +3 -0
  129. package/src/modules/chat/types.ts +17 -0
  130. package/src/modules/chat/utils/index.ts +348 -0
  131. package/src/modules/database/CreateModal.tsx +403 -0
  132. package/src/modules/database/assets/Doris.png +0 -0
  133. package/src/modules/database/assets/PostgreSQL.png +0 -0
  134. package/src/modules/database/assets/SQLServer.png +0 -0
  135. package/src/modules/database/assets/database.svg +11 -0
  136. package/src/modules/database/assets/database_add.svg +53 -0
  137. package/src/modules/database/assets/database_connect.svg +66 -0
  138. package/src/modules/database/assets/database_upload.svg +29 -0
  139. package/src/modules/database/assets/empty.png +0 -0
  140. package/src/modules/database/assets/mysql.svg +14 -0
  141. package/src/modules/database/index.tsx +477 -0
  142. package/src/modules/database/server.ts +196 -0
  143. package/src/modules/databaseId/CustomCom.tsx +156 -0
  144. package/src/modules/databaseId/EditConfig.tsx +280 -0
  145. package/src/modules/databaseId/UploadDrawer.tsx +535 -0
  146. package/src/modules/databaseId/assets/aiOptimize.svg +10 -0
  147. package/src/modules/databaseId/assets/empty.png +0 -0
  148. package/src/modules/databaseId/assets/template.svg +6 -0
  149. package/src/modules/databaseId/assets/upload.svg +9 -0
  150. package/src/modules/databaseId/assets/useTemp.svg +6 -0
  151. package/src/modules/databaseId/index.tsx +769 -0
  152. package/src/modules/databaseId/server.ts +286 -0
  153. package/src/modules/databaseId/style.css +5 -0
  154. package/src/modules/databaseTable/EditRowDrawer.tsx +124 -0
  155. package/src/modules/databaseTable/index.tsx +359 -0
  156. package/src/modules/databaseTable/server.ts +180 -0
  157. package/src/modules/headlessChat/ReferenceBar.tsx +783 -0
  158. package/src/modules/headlessChat/constants.tsx +54 -0
  159. package/src/modules/headlessChat/index.tsx +1782 -0
  160. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +75 -0
  161. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +136 -0
  162. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +102 -0
  163. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +86 -0
  164. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +73 -0
  165. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +26 -0
  166. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +86 -0
  167. package/src/modules/headlessChat/referenceCom/TagCom.tsx +30 -0
  168. package/src/modules/headlessChat/style.less +3 -0
  169. package/src/modules/headlessChat/types.ts +23 -0
  170. package/src/modules/headlessChat/utils/index.ts +348 -0
  171. package/src/modules/login/components/Login/LoginBox/index.tsx +102 -0
  172. package/src/modules/login/components/Login/RegisterBox/index.tsx +180 -0
  173. package/src/modules/login/components/Login/index.tsx +100 -0
  174. package/src/modules/login/index.tsx +106 -0
  175. package/src/modules/login/style.css +3 -0
  176. package/src/modules/login/useServices.ts +53 -0
  177. package/src/modules/login/utils.ts +42 -0
  178. package/src/modules/modelManage/ConfigDrawer.tsx +249 -0
  179. package/src/modules/modelManage/ReplaceModal.tsx +124 -0
  180. package/src/modules/modelManage/assets/empty.png +0 -0
  181. package/src/modules/modelManage/const.ts +51 -0
  182. package/src/modules/modelManage/index.tsx +606 -0
  183. package/src/modules/modelManage/server.ts +223 -0
  184. package/src/modules/nodegraph/index.tsx +1 -0
  185. package/src/modules/search/assets/Icon-history.svg +8 -0
  186. package/src/modules/search/assets/answerAwartar.png +0 -0
  187. package/src/modules/search/assets/doc.png +0 -0
  188. package/src/modules/search/assets/genera.gif +0 -0
  189. package/src/modules/search/assets/icon-robot.svg +9 -0
  190. package/src/modules/search/assets/icon-search-bar.svg +14 -0
  191. package/src/modules/search/assets/icon-sub-title.svg +3 -0
  192. package/src/modules/search/assets/icon-title.svg +9 -0
  193. package/src/modules/search/assets/icon-zoomOut.svg +9 -0
  194. package/src/modules/search/assets/iconAi.svg +9 -0
  195. package/src/modules/search/assets/pdf.png +0 -0
  196. package/src/modules/search/assets/ppt.png +0 -0
  197. package/src/modules/search/assets/search.svg +3 -0
  198. package/src/modules/search/assets/selected.svg +4 -0
  199. package/src/modules/search/assets/txt.png +0 -0
  200. package/src/modules/search/assets/xls.png +0 -0
  201. package/src/modules/search/components/AssisSelect.tsx +137 -0
  202. package/src/modules/search/components/Editor/ChatViewEditor.tsx +261 -0
  203. package/src/modules/search/components/Editor/aichat.css +1 -0
  204. package/src/modules/search/components/Editor/constant.ts +13 -0
  205. package/src/modules/search/components/Editor/index.tsx +113 -0
  206. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +332 -0
  207. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +20 -0
  208. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +38 -0
  209. package/src/modules/search/components/Editor/plugins/displayer.ts +298 -0
  210. package/src/modules/search/components/Editor/plugins/imageClick.tsx +32 -0
  211. package/src/modules/search/components/Editor/plugins/myplugin.tsx +98 -0
  212. package/src/modules/search/components/Editor/ui/avatar.tsx +19 -0
  213. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +21 -0
  214. package/src/modules/search/components/Editor/ui/button.tsx +58 -0
  215. package/src/modules/search/components/Editor/ui/calendar.tsx +68 -0
  216. package/src/modules/search/components/Editor/ui/caption.tsx +46 -0
  217. package/src/modules/search/components/Editor/ui/checkbox.tsx +27 -0
  218. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +188 -0
  219. package/src/modules/search/components/Editor/ui/code-block-element.css +434 -0
  220. package/src/modules/search/components/Editor/ui/code-block-element.tsx +39 -0
  221. package/src/modules/search/components/Editor/ui/code-leaf.tsx +24 -0
  222. package/src/modules/search/components/Editor/ui/code-line-element.tsx +10 -0
  223. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +21 -0
  224. package/src/modules/search/components/Editor/ui/column-element.tsx +30 -0
  225. package/src/modules/search/components/Editor/ui/column-group-element.tsx +94 -0
  226. package/src/modules/search/components/Editor/ui/command.tsx +75 -0
  227. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +22 -0
  228. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +37 -0
  229. package/src/modules/search/components/Editor/ui/comment-item.tsx +74 -0
  230. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +49 -0
  231. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +42 -0
  232. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +22 -0
  233. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +32 -0
  234. package/src/modules/search/components/Editor/ui/comment-value.tsx +34 -0
  235. package/src/modules/search/components/Editor/ui/comments-popover.tsx +63 -0
  236. package/src/modules/search/components/Editor/ui/date-element.tsx +83 -0
  237. package/src/modules/search/components/Editor/ui/dialog.tsx +63 -0
  238. package/src/modules/search/components/Editor/ui/draggable.tsx +177 -0
  239. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +180 -0
  240. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +85 -0
  241. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +28 -0
  242. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +76 -0
  243. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +8 -0
  244. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +51 -0
  245. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +77 -0
  246. package/src/modules/search/components/Editor/ui/heading-element.tsx +48 -0
  247. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +17 -0
  248. package/src/modules/search/components/Editor/ui/hr-element.tsx +30 -0
  249. package/src/modules/search/components/Editor/ui/icons.tsx +267 -0
  250. package/src/modules/search/components/Editor/ui/image-element.tsx +74 -0
  251. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +368 -0
  252. package/src/modules/search/components/Editor/ui/input.tsx +25 -0
  253. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +218 -0
  254. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +20 -0
  255. package/src/modules/search/components/Editor/ui/link-element.tsx +29 -0
  256. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +161 -0
  257. package/src/modules/search/components/Editor/ui/list-element.tsx +30 -0
  258. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +24 -0
  259. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +133 -0
  260. package/src/modules/search/components/Editor/ui/media-popover.tsx +97 -0
  261. package/src/modules/search/components/Editor/ui/mention-element.tsx +43 -0
  262. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +141 -0
  263. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +93 -0
  264. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +67 -0
  265. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +4 -0
  266. package/src/modules/search/components/Editor/ui/placeholder.tsx +52 -0
  267. package/src/modules/search/components/Editor/ui/popover.tsx +32 -0
  268. package/src/modules/search/components/Editor/ui/resizable.tsx +66 -0
  269. package/src/modules/search/components/Editor/ui/separator.tsx +25 -0
  270. package/src/modules/search/components/Editor/ui/style.less +12 -0
  271. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +143 -0
  272. package/src/modules/search/components/Editor/ui/table-element.tsx +243 -0
  273. package/src/modules/search/components/Editor/ui/table-row-element.tsx +22 -0
  274. package/src/modules/search/components/Editor/ui/tableValue.tsx +135 -0
  275. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +43 -0
  276. package/src/modules/search/components/Editor/ui/toggle-element.tsx +31 -0
  277. package/src/modules/search/components/Editor/ui/toolbar.tsx +157 -0
  278. package/src/modules/search/components/Editor/ui/tooltip.tsx +65 -0
  279. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +160 -0
  280. package/src/modules/search/components/Editor/ui/with-draggables.tsx +175 -0
  281. package/src/modules/search/components/FileList.tsx +287 -0
  282. package/src/modules/search/components/ImageGroupView/index.tsx +85 -0
  283. package/src/modules/search/components/ResultContent.tsx +232 -0
  284. package/src/modules/search/components/SearchInput.tsx +232 -0
  285. package/src/modules/search/components/SearchLanding.tsx +74 -0
  286. package/src/modules/search/components/SearchView.tsx +563 -0
  287. package/src/modules/search/components/SimpleEditor.tsx +158 -0
  288. package/src/modules/search/components/SimpleFileList.tsx +215 -0
  289. package/src/modules/search/index.tsx +10 -0
  290. package/src/modules/search/reademe.md +1 -0
  291. package/src/modules/search/servers/apis.tsx +19 -0
  292. package/src/modules/search/servers/index.ts +184 -0
  293. package/src/modules/search/style.less +503 -0
  294. package/src/modules/search/type.ts +22 -0
  295. package/src/modules/search/utils.ts +34 -0
  296. package/src/modules/sensitive/index.tsx +313 -0
  297. package/src/modules/sensitive/server.ts +122 -0
  298. package/src/modules/streamFilesReader/GientechStreamReader.tsx +1625 -0
  299. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  300. package/src/modules/streamFilesReader/components/Header/index.tsx +297 -0
  301. package/src/modules/streamFilesReader/index.tsx +3 -0
  302. package/src/style.css +6 -0
  303. package/src/type.d.ts +0 -0
  304. package/src/utils/commonFn.tsx +111 -0
  305. package/src/utils/decryptApiKey.ts +40 -0
  306. package/src/utils/gientechCommon/components/AppError.tsx +32 -0
  307. package/src/utils/gientechCommon/components/AppLoading.tsx +75 -0
  308. package/src/utils/gientechCommon/components/DeleteModal.tsx +75 -0
  309. package/src/utils/gientechCommon/components/DisplayError.tsx +33 -0
  310. package/src/utils/gientechCommon/components/DisplayLoading.tsx +38 -0
  311. package/src/utils/gientechCommon/components/FeedBackModal.tsx +319 -0
  312. package/src/utils/gientechCommon/components/FileCardCommon.tsx +82 -0
  313. package/src/utils/gientechCommon/components/FileManager/index.tsx +418 -0
  314. package/src/utils/gientechCommon/components/FileManager/style.css +5 -0
  315. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +581 -0
  316. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +359 -0
  317. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +245 -0
  318. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +209 -0
  319. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  320. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +148 -0
  321. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +14 -0
  322. package/src/utils/gientechCommon/components/RenameModal.tsx +86 -0
  323. package/src/utils/gientechCommon/components/style.less +11 -0
  324. package/src/utils/gientechCommon/configs/commonConfig.ts +2 -0
  325. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  326. package/src/utils/gientechCommon/configs/stylesConfig.ts +142 -0
  327. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +417 -0
  328. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +251 -0
  329. package/src/utils/gientechCommon/hooks/useFileManager.ts +208 -0
  330. package/src/utils/gientechCommon/slate/converters/deserializers.ts +763 -0
  331. package/src/utils/gientechCommon/slate/converters/mockData.ts +232 -0
  332. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +258 -0
  333. package/src/utils/gientechCommon/slate/richElements/index.tsx +499 -0
  334. package/src/utils/gientechCommon/utils/fileUtils.ts +86 -0
  335. package/src/utils/gientechCommon/utils/request.ts +37 -0
  336. package/src/utils/gientechCommon/utils/serverFn.ts +172 -0
  337. package/src/utils/index.tsx +142 -0
  338. package/src/utils/testconfigs/demologin/index.tsx +32 -0
  339. package/src/utils/testconfigs/index.ts +59 -0
  340. package/src/vite-env.d.ts +42 -0
  341. package/stats.html +4949 -0
  342. package/tailwind.config.js +170 -0
  343. package/tsconfig.app.json +30 -0
  344. package/tsconfig.app.tsbuildinfo +11 -0
  345. package/tsconfig.json +13 -0
  346. package/tsconfig.node.json +22 -0
  347. package/tsconfig.node.tsbuildinfo +1 -0
  348. package/vite.config.app.ts +93 -0
  349. package/vite.config.ts +232 -0
  350. package/workflows/release.yml +60 -0
  351. package//346/215/242/350/241/214/346/240/274/345/274/217/344/277/235/346/214/201/344/274/230/345/214/226/346/226/271/346/241/210.md +359 -0
  352. /package/{assets → dist/assets}/Doris.png +0 -0
  353. /package/{assets → dist/assets}/PostgreSQL.png +0 -0
  354. /package/{assets → dist/assets}/SQLServer.png +0 -0
  355. /package/{assets → dist/assets}/database.svg +0 -0
  356. /package/{assets → dist/assets}/database_add.svg +0 -0
  357. /package/{assets → dist/assets}/database_connect.svg +0 -0
  358. /package/{assets → dist/assets}/database_upload.svg +0 -0
  359. /package/{assets → dist/assets}/databse.svg +0 -0
  360. /package/{assets → dist/assets}/defaultWeLogo.svg +0 -0
  361. /package/{assets → dist/assets}/empty.png +0 -0
  362. /package/{assets → dist/assets}/graph.svg +0 -0
  363. /package/{assets → dist/assets}/homeBg.png +0 -0
  364. /package/{assets → dist/assets}/index-B2yNvzjy.js +0 -0
  365. /package/{assets → dist/assets}/index-BKe5FgcC.js +0 -0
  366. /package/{assets → dist/assets}/index-CpW6Dhpp.js +0 -0
  367. /package/{assets → dist/assets}/index-D72cKELw.js +0 -0
  368. /package/{assets → dist/assets}/index-DdVFXD_y.js +0 -0
  369. /package/{assets → dist/assets}/index-DrkSoKz6.js +0 -0
  370. /package/{assets → dist/assets}/index-ZopkeZtI.js +0 -0
  371. /package/{assets → dist/assets}/index-g-SUxfJH.js +0 -0
  372. /package/{assets → dist/assets}/index-j0kQJd0a.js +0 -0
  373. /package/{assets → dist/assets}/knowledge.svg +0 -0
  374. /package/{assets → dist/assets}/left.jpg +0 -0
  375. /package/{assets → dist/assets}/logoImg.png +0 -0
  376. /package/{assets → dist/assets}/mysql.svg +0 -0
  377. /package/{assets → dist/assets}/plus-V9zUoSq6.js +0 -0
  378. /package/{assets → dist/assets}/sensitive.svg +0 -0
  379. /package/{assets → dist/assets}/style-CGmZ5osp.js +0 -0
  380. /package/{assets → dist/assets}/style.css +0 -0
  381. /package/{assets → dist/assets}/style2.css +0 -0
  382. /package/{assets → dist/assets}/style3.css +0 -0
  383. /package/{assets → dist/assets}/style4.css +0 -0
  384. /package/{assets → dist/assets}/worker-BbpylX7l.js +0 -0
  385. /package/{assets → dist/assets}/x-CnaaLGJF.js +0 -0
  386. /package/{assistantConfig.d.ts → dist/assistantConfig.d.ts} +0 -0
  387. /package/{assistantConfig.js → dist/assistantConfig.js} +0 -0
  388. /package/{chat.d.ts → dist/chat.d.ts} +0 -0
  389. /package/{database.d.ts → dist/database.d.ts} +0 -0
  390. /package/{database.js → dist/database.js} +0 -0
  391. /package/{databaseId.d.ts → dist/databaseId.d.ts} +0 -0
  392. /package/{databaseTable.d.ts → dist/databaseTable.d.ts} +0 -0
  393. /package/{databaseTable.js → dist/databaseTable.js} +0 -0
  394. /package/{icons → dist/icons}/answerAwartar.png +0 -0
  395. /package/{icons → dist/icons}/docx-file.png +0 -0
  396. /package/{icons → dist/icons}/folder.png +0 -0
  397. /package/{icons → dist/icons}/html.png +0 -0
  398. /package/{icons → dist/icons}/image.png +0 -0
  399. /package/{icons → dist/icons}/jpg-file.png +0 -0
  400. /package/{icons → dist/icons}/json.png +0 -0
  401. /package/{icons → dist/icons}/md.png +0 -0
  402. /package/{icons → dist/icons}/pdf.png +0 -0
  403. /package/{icons → dist/icons}/pptx.png +0 -0
  404. /package/{icons → dist/icons}/questionAwartar.png +0 -0
  405. /package/{icons → dist/icons}/sheets.png +0 -0
  406. /package/{icons → dist/icons}/txt.png +0 -0
  407. /package/{icons → dist/icons}/xlsx.png +0 -0
  408. /package/{index.d.ts → dist/index.d.ts} +0 -0
  409. /package/{modelManage.d.ts → dist/modelManage.d.ts} +0 -0
  410. /package/{modelManage.js → dist/modelManage.js} +0 -0
  411. /package/{sensitive.d.ts → dist/sensitive.d.ts} +0 -0
  412. /package/{sensitive.js → dist/sensitive.js} +0 -0
  413. /package/{streamFilesReader.d.ts → dist/streamFilesReader.d.ts} +0 -0
  414. /package/{vite.svg → dist/vite.svg} +0 -0
  415. /package/{worker → dist/worker}/pdf.worker.min.js +0 -0
@@ -0,0 +1,434 @@
1
+ /**
2
+ * One Light theme for prism.js
3
+ * Based on Atom's One Light theme: https://github.com/atom/atom/tree/master/packages/one-light-syntax
4
+ */
5
+
6
+ /**
7
+ * One Light colours (accurate as of commit eb064bf on 19 Feb 2021)
8
+ * From colors.less
9
+ * --mono-1: hsl(230, 8%, 24%);
10
+ * --mono-2: hsl(230, 6%, 44%);
11
+ * --mono-3: hsl(230, 4%, 64%)
12
+ * --hue-1: hsl(198, 99%, 37%);
13
+ * --hue-2: hsl(221, 87%, 60%);
14
+ * --hue-3: hsl(301, 63%, 40%);
15
+ * --hue-4: hsl(119, 34%, 47%);
16
+ * --hue-5: hsl(5, 74%, 59%);
17
+ * --hue-5-2: hsl(344, 84%, 43%);
18
+ * --hue-6: hsl(35, 99%, 36%);
19
+ * --hue-6-2: hsl(35, 99%, 40%);
20
+ * --syntax-fg: hsl(230, 8%, 24%);
21
+ * --syntax-bg: hsl(230, 1%, 98%);
22
+ * --syntax-gutter: hsl(230, 1%, 62%);
23
+ * --syntax-guide: hsla(230, 8%, 24%, 0.2);
24
+ * --syntax-accent: hsl(230, 100%, 66%);
25
+ * From syntax-variables.less
26
+ * --syntax-selection-color: hsl(230, 1%, 90%);
27
+ * --syntax-gutter-background-color-selected: hsl(230, 1%, 90%);
28
+ * --syntax-cursor-line: hsla(230, 8%, 24%, 0.05);
29
+ */
30
+
31
+ .slate-code_block code[class*='language-'],
32
+ .slate-code_block pre[class*='language-'] {
33
+ background: hsl(230, 1%, 98%);
34
+ color: hsl(230, 8%, 24%);
35
+ font-family: 'Fira Code', 'Fira Mono', Menlo, Consolas, 'DejaVu Sans Mono',
36
+ monospace;
37
+ direction: ltr;
38
+ text-align: left;
39
+ white-space: pre;
40
+ word-spacing: normal;
41
+ word-break: normal;
42
+ line-height: 1.5;
43
+ -moz-tab-size: 2;
44
+ -o-tab-size: 2;
45
+ tab-size: 2;
46
+ -webkit-hyphens: none;
47
+ -moz-hyphens: none;
48
+ -ms-hyphens: none;
49
+ hyphens: none;
50
+ }
51
+
52
+ /* Selection */
53
+ .slate-code_block code[class*='language-']::-moz-selection,
54
+ .slate-code_block code[class*='language-'] *::-moz-selection,
55
+ .slate-code_block pre[class*='language-'] *::-moz-selection {
56
+ background: hsl(230, 1%, 90%);
57
+ color: inherit;
58
+ }
59
+
60
+ .slate-code_block code[class*='language-']::selection,
61
+ .slate-code_block code[class*='language-'] *::selection,
62
+ .slate-code_block pre[class*='language-'] *::selection {
63
+ background: hsl(230, 1%, 90%);
64
+ color: inherit;
65
+ }
66
+
67
+ /* Code blocks */
68
+ .slate-code_block pre[class*='language-'] {
69
+ padding: 1em;
70
+ margin: 0.5em 0;
71
+ overflow: auto;
72
+ border-radius: 0.3em;
73
+ }
74
+
75
+ /* Inline code */
76
+ .slate-code_block :not(pre) > code[class*='language-'] {
77
+ padding: 0.2em 0.3em;
78
+ border-radius: 0.3em;
79
+ white-space: normal;
80
+ }
81
+
82
+ .token.comment,
83
+ .token.prolog,
84
+ .token.cdata {
85
+ color: hsl(230, 4%, 64%);
86
+ }
87
+
88
+ .token.doctype,
89
+ .token.punctuation,
90
+ .token.entity {
91
+ color: hsl(230, 8%, 24%);
92
+ }
93
+
94
+ .token.attr-name,
95
+ .token.class-name,
96
+ .token.boolean,
97
+ .token.constant,
98
+ .token.number,
99
+ .token.atrule {
100
+ color: hsl(35, 99%, 36%);
101
+ }
102
+
103
+ .token.keyword {
104
+ color: hsl(301, 63%, 40%);
105
+ }
106
+
107
+ .token.property,
108
+ .token.tag,
109
+ .token.symbol,
110
+ .token.deleted,
111
+ .token.important {
112
+ color: hsl(5, 74%, 59%);
113
+ }
114
+
115
+ .token.selector,
116
+ .token.string,
117
+ .token.char,
118
+ .token.builtin,
119
+ .token.inserted,
120
+ .token.regex,
121
+ .token.attr-value,
122
+ .token.attr-value > .token.punctuation {
123
+ color: hsl(119, 34%, 47%);
124
+ }
125
+
126
+ .token.variable,
127
+ .token.operator,
128
+ .token.function {
129
+ color: hsl(221, 87%, 60%);
130
+ }
131
+
132
+ .token.url {
133
+ color: hsl(198, 99%, 37%);
134
+ }
135
+
136
+ /* HTML overrides */
137
+ .token.attr-value > .token.punctuation.attr-equals,
138
+ .token.special-attr > .token.attr-value > .token.value.css {
139
+ color: hsl(230, 8%, 24%);
140
+ }
141
+
142
+ /* CSS overrides */
143
+ .language-css .token.selector {
144
+ color: hsl(5, 74%, 59%);
145
+ }
146
+
147
+ .language-css .token.property {
148
+ color: hsl(230, 8%, 24%);
149
+ }
150
+
151
+ .language-css .token.function,
152
+ .language-css .token.url > .token.function {
153
+ color: hsl(198, 99%, 37%);
154
+ }
155
+
156
+ .language-css .token.url > .token.string.url {
157
+ color: hsl(119, 34%, 47%);
158
+ }
159
+
160
+ .language-css .token.important,
161
+ .language-css .token.atrule .token.rule {
162
+ color: hsl(301, 63%, 40%);
163
+ }
164
+
165
+ /* JS overrides */
166
+ .language-javascript .token.operator {
167
+ color: hsl(301, 63%, 40%);
168
+ }
169
+
170
+ .language-javascript
171
+ .token.template-string
172
+ > .token.interpolation
173
+ > .token.interpolation-punctuation.punctuation {
174
+ color: hsl(344, 84%, 43%);
175
+ }
176
+
177
+ /* JSON overrides */
178
+ .language-json .token.operator {
179
+ color: hsl(230, 8%, 24%);
180
+ }
181
+
182
+ .language-json .token.null.keyword {
183
+ color: hsl(35, 99%, 36%);
184
+ }
185
+
186
+ /* MD overrides */
187
+ .language-markdown .token.url,
188
+ .language-markdown .token.url > .token.operator,
189
+ .language-markdown .token.url-reference.url > .token.string {
190
+ color: hsl(230, 8%, 24%);
191
+ }
192
+
193
+ .language-markdown .token.url > .token.content {
194
+ color: hsl(221, 87%, 60%);
195
+ }
196
+
197
+ .language-markdown .token.url > .token.url,
198
+ .language-markdown .token.url-reference.url {
199
+ color: hsl(198, 99%, 37%);
200
+ }
201
+
202
+ .language-markdown .token.blockquote.punctuation,
203
+ .language-markdown .token.hr.punctuation {
204
+ color: hsl(230, 4%, 64%);
205
+ font-style: italic;
206
+ }
207
+
208
+ .language-markdown .token.code-snippet {
209
+ color: hsl(119, 34%, 47%);
210
+ }
211
+
212
+ .language-markdown .token.bold .token.content {
213
+ color: hsl(35, 99%, 36%);
214
+ }
215
+
216
+ .language-markdown .token.italic .token.content {
217
+ color: hsl(301, 63%, 40%);
218
+ }
219
+
220
+ .language-markdown .token.strike .token.content,
221
+ .language-markdown .token.strike .token.punctuation,
222
+ .language-markdown .token.list.punctuation,
223
+ .language-markdown .token.title.important > .token.punctuation {
224
+ color: hsl(5, 74%, 59%);
225
+ }
226
+
227
+ /* General */
228
+ .token.bold {
229
+ font-weight: bold;
230
+ }
231
+
232
+ .token.comment,
233
+ .token.italic {
234
+ font-style: italic;
235
+ }
236
+
237
+ .token.entity {
238
+ cursor: help;
239
+ }
240
+
241
+ .token.namespace {
242
+ opacity: 0.8;
243
+ }
244
+
245
+ /* Plugin overrides */
246
+ /* Selectors should have higher specificity than those in the plugins' default stylesheets */
247
+
248
+ /* Show Invisibles plugin overrides */
249
+ .token.token.tab:not(:empty):before,
250
+ .token.token.cr:before,
251
+ .token.token.lf:before,
252
+ .token.token.space:before {
253
+ color: hsla(230, 8%, 24%, 0.2);
254
+ }
255
+
256
+ /* Toolbar plugin overrides */
257
+ /* Space out all buttons and move them away from the right edge of the code block */
258
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item {
259
+ margin-right: 0.4em;
260
+ }
261
+
262
+ /* Styling the buttons */
263
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item > button,
264
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item > a,
265
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item > span {
266
+ background: hsl(230, 1%, 90%);
267
+ color: hsl(230, 6%, 44%);
268
+ padding: 0.1em 0.4em;
269
+ border-radius: 0.3em;
270
+ }
271
+
272
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover,
273
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus,
274
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover,
275
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus,
276
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover,
277
+ div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus {
278
+ background: hsl(230, 1%, 78%); /* custom: darken(--syntax-bg, 20%) */
279
+ color: hsl(230, 8%, 24%);
280
+ }
281
+
282
+ /* Line Highlight plugin overrides */
283
+ /* The highlighted line itself */
284
+ .line-highlight.line-highlight {
285
+ background: hsla(230, 8%, 24%, 0.05);
286
+ }
287
+
288
+ /* Default line numbers in Line Highlight plugin */
289
+ .line-highlight.line-highlight:before,
290
+ .line-highlight.line-highlight[data-end]:after {
291
+ background: hsl(230, 1%, 90%);
292
+ color: hsl(230, 8%, 24%);
293
+ padding: 0.1em 0.6em;
294
+ border-radius: 0.3em;
295
+ box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2); /* same as Toolbar plugin default */
296
+ }
297
+
298
+ /* Hovering over a linkable line number (in the gutter area) */
299
+ /* Requires Line Numbers plugin as well */
300
+ pre[id].linkable-line-numbers.linkable-line-numbers
301
+ span.line-numbers-rows
302
+ > span:hover:before {
303
+ background-color: hsla(230, 8%, 24%, 0.05);
304
+ }
305
+
306
+ /* Line Numbers and Command Line plugins overrides */
307
+ /* Line separating gutter from coding area */
308
+ .line-numbers.line-numbers .line-numbers-rows,
309
+ .command-line .command-line-prompt {
310
+ border-right-color: hsla(230, 8%, 24%, 0.2);
311
+ }
312
+
313
+ /* Stuff in the gutter */
314
+ .line-numbers .line-numbers-rows > span:before,
315
+ .command-line .command-line-prompt > span:before {
316
+ color: hsl(230, 1%, 62%);
317
+ }
318
+
319
+ /* Match Braces plugin overrides */
320
+ /* Note: Outline colour is inherited from the braces */
321
+ .rainbow-braces .token.token.punctuation.brace-level-1,
322
+ .rainbow-braces .token.token.punctuation.brace-level-5,
323
+ .rainbow-braces .token.token.punctuation.brace-level-9 {
324
+ color: hsl(5, 74%, 59%);
325
+ }
326
+
327
+ .rainbow-braces .token.token.punctuation.brace-level-2,
328
+ .rainbow-braces .token.token.punctuation.brace-level-6,
329
+ .rainbow-braces .token.token.punctuation.brace-level-10 {
330
+ color: hsl(119, 34%, 47%);
331
+ }
332
+
333
+ .rainbow-braces .token.token.punctuation.brace-level-3,
334
+ .rainbow-braces .token.token.punctuation.brace-level-7,
335
+ .rainbow-braces .token.token.punctuation.brace-level-11 {
336
+ color: hsl(221, 87%, 60%);
337
+ }
338
+
339
+ .rainbow-braces .token.token.punctuation.brace-level-4,
340
+ .rainbow-braces .token.token.punctuation.brace-level-8,
341
+ .rainbow-braces .token.token.punctuation.brace-level-12 {
342
+ color: hsl(301, 63%, 40%);
343
+ }
344
+
345
+ /* Diff Highlight plugin overrides */
346
+ /* Taken from https://github.com/atom/github/blob/master/styles/variables.less */
347
+ pre.diff-highlight > code .token.token.deleted:not(.prefix),
348
+ pre > code.diff-highlight .token.token.deleted:not(.prefix) {
349
+ background-color: hsla(353, 100%, 66%, 0.15);
350
+ }
351
+
352
+ pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection,
353
+ pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection,
354
+ pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection,
355
+ pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection {
356
+ background-color: hsla(353, 95%, 66%, 0.25);
357
+ }
358
+
359
+ pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection,
360
+ pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection,
361
+ pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection,
362
+ pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection {
363
+ background-color: hsla(353, 95%, 66%, 0.25);
364
+ }
365
+
366
+ pre.diff-highlight > code .token.token.inserted:not(.prefix),
367
+ pre > code.diff-highlight .token.token.inserted:not(.prefix) {
368
+ background-color: hsla(137, 100%, 55%, 0.15);
369
+ }
370
+
371
+ pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection,
372
+ pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection,
373
+ pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection,
374
+ pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection {
375
+ background-color: hsla(135, 73%, 55%, 0.25);
376
+ }
377
+
378
+ pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection,
379
+ pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection,
380
+ pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection,
381
+ pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection {
382
+ background-color: hsla(135, 73%, 55%, 0.25);
383
+ }
384
+
385
+ /* Previewers plugin overrides */
386
+ /* Based on https://github.com/atom-community/atom-ide-datatip/blob/master/styles/atom-ide-datatips.less and https://github.com/atom/atom/blob/master/packages/one-light-ui */
387
+ /* Border around popup */
388
+ .prism-previewer.prism-previewer:before,
389
+ .prism-previewer-gradient.prism-previewer-gradient div {
390
+ border-color: hsl(0, 0, 95%);
391
+ }
392
+
393
+ /* Angle and time should remain as circles and are hence not included */
394
+ .prism-previewer-color.prism-previewer-color:before,
395
+ .prism-previewer-gradient.prism-previewer-gradient div,
396
+ .prism-previewer-easing.prism-previewer-easing:before {
397
+ border-radius: 0.3em;
398
+ }
399
+
400
+ /* Triangles pointing to the code */
401
+ .prism-previewer.prism-previewer:after {
402
+ border-top-color: hsl(0, 0, 95%);
403
+ }
404
+
405
+ .prism-previewer-flipped.prism-previewer-flipped.after {
406
+ border-bottom-color: hsl(0, 0, 95%);
407
+ }
408
+
409
+ /* Background colour within the popup */
410
+ .prism-previewer-angle.prism-previewer-angle:before,
411
+ .prism-previewer-time.prism-previewer-time:before,
412
+ .prism-previewer-easing.prism-previewer-easing {
413
+ background: hsl(0, 0%, 100%);
414
+ }
415
+
416
+ /* For angle, this is the positive area (eg. 90deg will display one quadrant in this colour) */
417
+ /* For time, this is the alternate colour */
418
+ .prism-previewer-angle.prism-previewer-angle circle,
419
+ .prism-previewer-time.prism-previewer-time circle {
420
+ stroke: hsl(230, 8%, 24%);
421
+ stroke-opacity: 1;
422
+ }
423
+
424
+ /* Stroke colours of the handle, direction point, and vector itself */
425
+ .prism-previewer-easing.prism-previewer-easing circle,
426
+ .prism-previewer-easing.prism-previewer-easing path,
427
+ .prism-previewer-easing.prism-previewer-easing line {
428
+ stroke: hsl(230, 8%, 24%);
429
+ }
430
+
431
+ /* Fill colour of the handle */
432
+ .prism-previewer-easing.prism-previewer-easing circle {
433
+ fill: transparent;
434
+ }
@@ -0,0 +1,39 @@
1
+ 'use client';
2
+
3
+ import React from 'react';
4
+
5
+ import { cn, withRef } from '@udecode/cn';
6
+ import { useCodeBlockElementState } from '@udecode/plate-code-block/react';
7
+ import { PlateElement } from '@udecode/plate-common/react';
8
+
9
+ import { CodeBlockCombobox } from './code-block-combobox';
10
+
11
+ import './code-block-element.css';
12
+
13
+ export const CodeBlockElement = withRef<typeof PlateElement>(
14
+ ({ children, className, ...props }, ref) => {
15
+ const { element } = props;
16
+ const state = useCodeBlockElementState({ element });
17
+
18
+ return (
19
+ <PlateElement
20
+ className={cn('relative py-1', state.className, className)}
21
+ ref={ref}
22
+ {...props}
23
+ >
24
+ <pre className="overflow-x-auto rounded-md bg-muted px-6 py-8 font-mono text-sm leading-[normal] [tab-size:2]">
25
+ <code>{children}</code>
26
+ </pre>
27
+
28
+ {state.syntax && (
29
+ <div
30
+ className="absolute right-2 top-2 z-10 select-none"
31
+ contentEditable={false}
32
+ >
33
+ <CodeBlockCombobox />
34
+ </div>
35
+ )}
36
+ </PlateElement>
37
+ );
38
+ }
39
+ );
@@ -0,0 +1,24 @@
1
+ 'use client';
2
+
3
+ import React from 'react';
4
+
5
+ import { cn, withRef } from '@udecode/cn';
6
+ import { PlateLeaf } from '@udecode/plate-common/react';
7
+
8
+ export const CodeLeaf = withRef<typeof PlateLeaf>(
9
+ ({ children, className, ...props }, ref) => {
10
+ return (
11
+ <PlateLeaf
12
+ asChild
13
+ className={cn(
14
+ 'whitespace-pre-wrap rounded-md bg-muted px-[0.3em] py-[0.2em] font-mono text-sm',
15
+ className
16
+ )}
17
+ ref={ref}
18
+ {...props}
19
+ >
20
+ <code>{children}</code>
21
+ </PlateLeaf>
22
+ );
23
+ }
24
+ );
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+
3
+ import React from 'react';
4
+
5
+ import { withRef } from '@udecode/cn';
6
+ import { PlateElement } from '@udecode/plate-common/react';
7
+
8
+ export const CodeLineElement = withRef<typeof PlateElement>((props, ref) => (
9
+ <PlateElement ref={ref} {...props} />
10
+ ));
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+
3
+ import React from 'react';
4
+
5
+ import { withRef } from '@udecode/cn';
6
+ import { useCodeSyntaxLeaf } from '@udecode/plate-code-block/react';
7
+ import { PlateLeaf } from '@udecode/plate-common/react';
8
+
9
+ export const CodeSyntaxLeaf = withRef<typeof PlateLeaf>(
10
+ ({ children, ...props }, ref) => {
11
+ const { leaf } = props;
12
+
13
+ const { tokenProps } = useCodeSyntaxLeaf({ leaf });
14
+
15
+ return (
16
+ <PlateLeaf ref={ref} {...props}>
17
+ <span {...tokenProps}>{children}</span>
18
+ </PlateLeaf>
19
+ );
20
+ }
21
+ );
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+
3
+ import type { TColumnElement } from '@udecode/plate-layout';
4
+
5
+ import { cn, withRef } from '@udecode/cn';
6
+ import { PlateElement, useElement, withHOC } from '@udecode/plate-common/react';
7
+ import { ResizableProvider } from '@udecode/plate-resizable';
8
+ import { useReadOnly } from 'slate-react';
9
+
10
+ export const ColumnElement = withHOC(
11
+ ResizableProvider,
12
+ withRef<typeof PlateElement>(({ children, className, ...props }, ref) => {
13
+ const readOnly = useReadOnly();
14
+ const { width } = useElement<TColumnElement>();
15
+
16
+ return (
17
+ <PlateElement
18
+ className={cn(
19
+ className,
20
+ !readOnly && 'rounded-lg border border-dashed p-1.5'
21
+ )}
22
+ ref={ref}
23
+ style={{ width }}
24
+ {...props}
25
+ >
26
+ {children}
27
+ </PlateElement>
28
+ );
29
+ })
30
+ );
@@ -0,0 +1,94 @@
1
+ import React from 'react';
2
+
3
+ import type { TColumnElement } from '@udecode/plate-layout';
4
+
5
+ import { cn, withRef } from '@udecode/cn';
6
+ import {
7
+ PlateElement,
8
+ useElement,
9
+ useRemoveNodeButton,
10
+ } from '@udecode/plate-common/react';
11
+ import {
12
+ ColumnItemPlugin,
13
+ useColumnState,
14
+ useDebouncePopoverOpen,
15
+ } from '@udecode/plate-layout/react';
16
+ import { useReadOnly } from 'slate-react';
17
+
18
+ import { Icons } from './icons';
19
+
20
+ import { Button } from './button';
21
+ import { Popover, PopoverAnchor, PopoverContent } from './popover';
22
+ import { Separator } from './separator';
23
+
24
+ export const ColumnGroupElement = withRef<typeof PlateElement>(
25
+ ({ children, className, ...props }, ref) => {
26
+ return (
27
+ <PlateElement className={cn(className, 'my-2')} ref={ref} {...props}>
28
+ <ColumnFloatingToolbar>
29
+ <div className={cn('flex size-full gap-4 rounded')}>{children}</div>
30
+ </ColumnFloatingToolbar>
31
+ </PlateElement>
32
+ );
33
+ }
34
+ );
35
+
36
+ export function ColumnFloatingToolbar({ children }: React.PropsWithChildren) {
37
+ const readOnly = useReadOnly();
38
+
39
+ const {
40
+ setDoubleColumn,
41
+ setDoubleSideDoubleColumn,
42
+ setLeftSideDoubleColumn,
43
+ setRightSideDoubleColumn,
44
+ setThreeColumn,
45
+ } = useColumnState();
46
+
47
+ const element = useElement<TColumnElement>(ColumnItemPlugin.key);
48
+
49
+ const { props: buttonProps } = useRemoveNodeButton({ element });
50
+
51
+ const isOpen = useDebouncePopoverOpen();
52
+
53
+ if (readOnly) return <>{children}</>;
54
+
55
+ return (
56
+ <Popover modal={false} open={isOpen}>
57
+ <PopoverAnchor>{children}</PopoverAnchor>
58
+ <PopoverContent
59
+ align="center"
60
+ className="w-auto p-1"
61
+ onOpenAutoFocus={(e) => e.preventDefault()}
62
+ side="top"
63
+ sideOffset={10}
64
+ >
65
+ <div className="box-content flex h-9 items-center gap-1 [&_svg]:size-4 [&_svg]:text-muted-foreground">
66
+ <Button onClick={setDoubleColumn} size="sms" variant="ghost">
67
+ <Icons.doubleColumn />
68
+ </Button>
69
+ <Button onClick={setThreeColumn} size="sms" variant="ghost">
70
+ <Icons.threeColumn />
71
+ </Button>
72
+ <Button onClick={setRightSideDoubleColumn} size="sms" variant="ghost">
73
+ <Icons.rightSideDoubleColumn />
74
+ </Button>
75
+ <Button onClick={setLeftSideDoubleColumn} size="sms" variant="ghost">
76
+ <Icons.leftSideDoubleColumn />
77
+ </Button>
78
+ <Button
79
+ onClick={setDoubleSideDoubleColumn}
80
+ size="sms"
81
+ variant="ghost"
82
+ >
83
+ <Icons.doubleSideDoubleColumn />
84
+ </Button>
85
+
86
+ <Separator className="my-1" orientation="vertical" />
87
+ <Button size="sms" variant="ghost" {...buttonProps}>
88
+ <Icons.delete />
89
+ </Button>
90
+ </div>
91
+ </PopoverContent>
92
+ </Popover>
93
+ );
94
+ }