@mxmweb/aichat 1.1.1 → 1.1.8

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 (523) hide show
  1. package/.editorconfig +38 -0
  2. package/.github/workflows/release.yml +60 -0
  3. package/.prettierignore +16 -0
  4. package/.prettierrc +17 -0
  5. package/.releaserc.json +36 -0
  6. package/CHANGELOG.md +58 -0
  7. package/CONTRIBUTING.md +111 -0
  8. package/NPMREADME.md +215 -0
  9. package/bash.exe.stackdump +40 -0
  10. package/components.json +21 -0
  11. package/demo.txt +134 -0
  12. package/dist/README.md +216 -0
  13. package/{adopters → dist/adopters}/GientechChat/Conversations/Item.d.ts +4 -2
  14. package/{adopters → dist/adopters}/GientechChat/Conversations/List.d.ts +4 -1
  15. package/{adopters → dist/adopters}/GientechChat/Conversations/index.d.ts +1 -0
  16. package/{adopters → dist/adopters}/gientechCommon/components/Messages/ReferenceCard.d.ts +7 -3
  17. package/dist/adopters/gientechCommon/components/Messages/RetriveItem.d.ts +25 -0
  18. package/dist/assets/aichat.css +1 -0
  19. package/{components → dist/components}/AiChat.d.ts +2 -1
  20. package/{index.js → dist/index.js} +13403 -13142
  21. package/dist/package.json +19 -0
  22. package/eslint.config.js +92 -0
  23. package/index.html +14 -0
  24. package/package.json +41 -10
  25. package/postcss.config.cjs +19 -0
  26. package/public/icons/answerAwartar.png +0 -0
  27. package/public/icons/docx-file.png +0 -0
  28. package/public/icons/folder.png +0 -0
  29. package/public/icons/html.png +0 -0
  30. package/public/icons/image.png +0 -0
  31. package/public/icons/jpg-file.png +0 -0
  32. package/public/icons/json.png +0 -0
  33. package/public/icons/md.png +0 -0
  34. package/public/icons/pdf.png +0 -0
  35. package/public/icons/pptx.png +0 -0
  36. package/public/icons/questionAwartar.png +0 -0
  37. package/public/icons/sheets.png +0 -0
  38. package/public/icons/txt.png +0 -0
  39. package/public/icons/xlsx.png +0 -0
  40. package/public/libs/luckysheet/fontAwesome.otf +0 -0
  41. package/public/libs/luckysheet/fontawesome-webfont.eot +0 -0
  42. package/public/libs/luckysheet/fontawesome-webfont.svg +2671 -0
  43. package/public/libs/luckysheet/fontawesome-webfont.ttf +0 -0
  44. package/public/libs/luckysheet/fontawesome-webfont.woff +0 -0
  45. package/public/libs/luckysheet/fontawesome-webfont.woff2 +0 -0
  46. package/public/libs/luckysheet/fonts/fontawesome-webfont.ttf +0 -0
  47. package/public/libs/luckysheet/fonts/fontawesome-webfont.woff +0 -0
  48. package/public/libs/luckysheet/fonts/fontawesome-webfont.woff2 +0 -0
  49. package/public/libs/luckysheet/iconfont.css +461 -0
  50. package/public/libs/luckysheet/jquery.min.js +2 -0
  51. package/public/libs/luckysheet/luckysheet.css +1 -0
  52. package/public/libs/luckysheet/luckysheet.umd.js +27 -0
  53. package/public/libs/luckysheet/plugin.js +1 -0
  54. package/public/libs/luckysheet/plugins.css +10 -0
  55. package/public/libs/luckysheet/pluginsCss.css +1 -0
  56. package/public/vite.svg +1 -0
  57. package/public/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  58. package/public/vs/base/common/worker/simpleWorker.nls.de.js +8 -0
  59. package/public/vs/base/common/worker/simpleWorker.nls.es.js +8 -0
  60. package/public/vs/base/common/worker/simpleWorker.nls.fr.js +8 -0
  61. package/public/vs/base/common/worker/simpleWorker.nls.it.js +8 -0
  62. package/public/vs/base/common/worker/simpleWorker.nls.ja.js +8 -0
  63. package/public/vs/base/common/worker/simpleWorker.nls.js +8 -0
  64. package/public/vs/base/common/worker/simpleWorker.nls.ko.js +8 -0
  65. package/public/vs/base/common/worker/simpleWorker.nls.ru.js +8 -0
  66. package/public/vs/base/common/worker/simpleWorker.nls.zh-cn.js +8 -0
  67. package/public/vs/base/common/worker/simpleWorker.nls.zh-tw.js +8 -0
  68. package/public/vs/base/worker/workerMain.js +27 -0
  69. package/public/vs/basic-languages/abap/abap.js +10 -0
  70. package/public/vs/basic-languages/apex/apex.js +10 -0
  71. package/public/vs/basic-languages/azcli/azcli.js +10 -0
  72. package/public/vs/basic-languages/bat/bat.js +10 -0
  73. package/public/vs/basic-languages/bicep/bicep.js +11 -0
  74. package/public/vs/basic-languages/cameligo/cameligo.js +10 -0
  75. package/public/vs/basic-languages/clojure/clojure.js +10 -0
  76. package/public/vs/basic-languages/coffee/coffee.js +10 -0
  77. package/public/vs/basic-languages/cpp/cpp.js +10 -0
  78. package/public/vs/basic-languages/csharp/csharp.js +10 -0
  79. package/public/vs/basic-languages/csp/csp.js +10 -0
  80. package/public/vs/basic-languages/css/css.js +12 -0
  81. package/public/vs/basic-languages/cypher/cypher.js +10 -0
  82. package/public/vs/basic-languages/dart/dart.js +10 -0
  83. package/public/vs/basic-languages/dockerfile/dockerfile.js +10 -0
  84. package/public/vs/basic-languages/ecl/ecl.js +10 -0
  85. package/public/vs/basic-languages/elixir/elixir.js +10 -0
  86. package/public/vs/basic-languages/flow9/flow9.js +10 -0
  87. package/public/vs/basic-languages/freemarker2/freemarker2.js +12 -0
  88. package/public/vs/basic-languages/fsharp/fsharp.js +10 -0
  89. package/public/vs/basic-languages/go/go.js +10 -0
  90. package/public/vs/basic-languages/graphql/graphql.js +10 -0
  91. package/public/vs/basic-languages/handlebars/handlebars.js +10 -0
  92. package/public/vs/basic-languages/hcl/hcl.js +10 -0
  93. package/public/vs/basic-languages/html/html.js +10 -0
  94. package/public/vs/basic-languages/ini/ini.js +10 -0
  95. package/public/vs/basic-languages/java/java.js +10 -0
  96. package/public/vs/basic-languages/javascript/javascript.js +10 -0
  97. package/public/vs/basic-languages/julia/julia.js +10 -0
  98. package/public/vs/basic-languages/kotlin/kotlin.js +10 -0
  99. package/public/vs/basic-languages/less/less.js +11 -0
  100. package/public/vs/basic-languages/lexon/lexon.js +10 -0
  101. package/public/vs/basic-languages/liquid/liquid.js +10 -0
  102. package/public/vs/basic-languages/lua/lua.js +10 -0
  103. package/public/vs/basic-languages/m3/m3.js +10 -0
  104. package/public/vs/basic-languages/markdown/markdown.js +10 -0
  105. package/public/vs/basic-languages/mdx/mdx.js +10 -0
  106. package/public/vs/basic-languages/mips/mips.js +10 -0
  107. package/public/vs/basic-languages/msdax/msdax.js +10 -0
  108. package/public/vs/basic-languages/mysql/mysql.js +10 -0
  109. package/public/vs/basic-languages/objective-c/objective-c.js +10 -0
  110. package/public/vs/basic-languages/pascal/pascal.js +10 -0
  111. package/public/vs/basic-languages/pascaligo/pascaligo.js +10 -0
  112. package/public/vs/basic-languages/perl/perl.js +10 -0
  113. package/public/vs/basic-languages/pgsql/pgsql.js +10 -0
  114. package/public/vs/basic-languages/php/php.js +10 -0
  115. package/public/vs/basic-languages/pla/pla.js +10 -0
  116. package/public/vs/basic-languages/postiats/postiats.js +10 -0
  117. package/public/vs/basic-languages/powerquery/powerquery.js +10 -0
  118. package/public/vs/basic-languages/powershell/powershell.js +10 -0
  119. package/public/vs/basic-languages/protobuf/protobuf.js +11 -0
  120. package/public/vs/basic-languages/pug/pug.js +10 -0
  121. package/public/vs/basic-languages/python/python.js +10 -0
  122. package/public/vs/basic-languages/qsharp/qsharp.js +10 -0
  123. package/public/vs/basic-languages/r/r.js +10 -0
  124. package/public/vs/basic-languages/razor/razor.js +10 -0
  125. package/public/vs/basic-languages/redis/redis.js +10 -0
  126. package/public/vs/basic-languages/redshift/redshift.js +10 -0
  127. package/public/vs/basic-languages/restructuredtext/restructuredtext.js +10 -0
  128. package/public/vs/basic-languages/ruby/ruby.js +10 -0
  129. package/public/vs/basic-languages/rust/rust.js +10 -0
  130. package/public/vs/basic-languages/sb/sb.js +10 -0
  131. package/public/vs/basic-languages/scala/scala.js +10 -0
  132. package/public/vs/basic-languages/scheme/scheme.js +10 -0
  133. package/public/vs/basic-languages/scss/scss.js +12 -0
  134. package/public/vs/basic-languages/shell/shell.js +10 -0
  135. package/public/vs/basic-languages/solidity/solidity.js +10 -0
  136. package/public/vs/basic-languages/sophia/sophia.js +10 -0
  137. package/public/vs/basic-languages/sparql/sparql.js +10 -0
  138. package/public/vs/basic-languages/sql/sql.js +10 -0
  139. package/public/vs/basic-languages/st/st.js +10 -0
  140. package/public/vs/basic-languages/swift/swift.js +13 -0
  141. package/public/vs/basic-languages/systemverilog/systemverilog.js +10 -0
  142. package/public/vs/basic-languages/tcl/tcl.js +10 -0
  143. package/public/vs/basic-languages/twig/twig.js +10 -0
  144. package/public/vs/basic-languages/typescript/typescript.js +10 -0
  145. package/public/vs/basic-languages/vb/vb.js +10 -0
  146. package/public/vs/basic-languages/wgsl/wgsl.js +307 -0
  147. package/public/vs/basic-languages/xml/xml.js +10 -0
  148. package/public/vs/basic-languages/yaml/yaml.js +10 -0
  149. package/public/vs/editor/editor.main.css +6 -0
  150. package/public/vs/editor/editor.main.js +745 -0
  151. package/public/vs/editor/editor.main.js.gz +0 -0
  152. package/public/vs/editor/editor.main.nls.de.js +31 -0
  153. package/public/vs/editor/editor.main.nls.es.js +31 -0
  154. package/public/vs/editor/editor.main.nls.fr.js +29 -0
  155. package/public/vs/editor/editor.main.nls.it.js +29 -0
  156. package/public/vs/editor/editor.main.nls.ja.js +31 -0
  157. package/public/vs/editor/editor.main.nls.js +29 -0
  158. package/public/vs/editor/editor.main.nls.ko.js +29 -0
  159. package/public/vs/editor/editor.main.nls.ru.js +31 -0
  160. package/public/vs/editor/editor.main.nls.zh-cn.js +31 -0
  161. package/public/vs/editor/editor.main.nls.zh-tw.js +29 -0
  162. package/public/vs/language/css/cssMode.js +13 -0
  163. package/public/vs/language/css/cssWorker.js +81 -0
  164. package/public/vs/language/css/cssWorker.js.gz +0 -0
  165. package/public/vs/language/html/htmlMode.js +13 -0
  166. package/public/vs/language/html/htmlWorker.js +453 -0
  167. package/public/vs/language/json/jsonMode.js +15 -0
  168. package/public/vs/language/json/jsonWorker.js +36 -0
  169. package/public/vs/language/typescript/tsMode.js +20 -0
  170. package/public/vs/language/typescript/tsWorker.js +37016 -0
  171. package/public/vs/language/typescript/tsWorker.js.gz +0 -0
  172. package/public/vs/loader.js +11 -0
  173. package/public/worker/pdf.worker.min.js +32 -0
  174. package/src/HeadlessChat.tsx +250 -0
  175. package/src/LoginPage/components/Login/LoginBox/index.tsx +103 -0
  176. package/src/LoginPage/components/Login/RegisterBox/index.tsx +181 -0
  177. package/src/LoginPage/components/Login/index.tsx +101 -0
  178. package/src/LoginPage/index.tsx +103 -0
  179. package/src/LoginPage/useServices.ts +53 -0
  180. package/src/LoginPage/utils.ts +42 -0
  181. package/src/Preview.tsx +278 -0
  182. package/src/UseLogingHeadless.tsx +238 -0
  183. package/src/adopters/GientechChat/Conversations/Item.tsx +132 -0
  184. package/src/adopters/GientechChat/Conversations/List.tsx +127 -0
  185. package/src/adopters/GientechChat/Conversations/groupByTime.ts +39 -0
  186. package/src/adopters/GientechChat/Conversations/index.tsx +102 -0
  187. package/src/adopters/GientechChat/constants.tsx +33 -0
  188. package/src/adopters/GientechChat/index.tsx +1242 -0
  189. package/src/adopters/GientechChat/types.ts +17 -0
  190. package/src/adopters/HeadLessChat/constants.tsx +32 -0
  191. package/src/adopters/HeadLessChat/index.tsx +1038 -0
  192. package/src/adopters/HeadLessChat/types.ts +23 -0
  193. package/src/adopters/gientechCommon/components/AppError.tsx +32 -0
  194. package/src/adopters/gientechCommon/components/AppLoading.tsx +75 -0
  195. package/src/adopters/gientechCommon/components/DisplayError.tsx +33 -0
  196. package/src/adopters/gientechCommon/components/DisplayLoading.tsx +38 -0
  197. package/src/adopters/gientechCommon/components/FeedBackModal.tsx +310 -0
  198. package/src/adopters/gientechCommon/components/FileManager/index.tsx +381 -0
  199. package/src/adopters/gientechCommon/components/FileManager/style.css +5 -0
  200. package/src/adopters/gientechCommon/components/Messages/AiChatBox.tsx +530 -0
  201. package/src/adopters/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +245 -0
  202. package/src/adopters/gientechCommon/components/Messages/ReferenceCard.tsx +302 -0
  203. package/src/adopters/gientechCommon/components/Messages/RetriveItem.tsx +194 -0
  204. package/src/adopters/gientechCommon/components/Messages/UserChatBox.tsx +211 -0
  205. package/src/adopters/gientechCommon/components/RenameModal.tsx +75 -0
  206. package/src/adopters/gientechCommon/components/style.less +11 -0
  207. package/src/adopters/gientechCommon/configs/commonConfig.ts +2 -0
  208. package/src/adopters/gientechCommon/configs/senderConfig.ts +0 -0
  209. package/src/adopters/gientechCommon/configs/stylesConfig.ts +142 -0
  210. package/src/adopters/gientechCommon/hooks/AichatUseController.tsx +308 -0
  211. package/src/adopters/gientechCommon/slate/converters/deserializers.ts +757 -0
  212. package/src/adopters/gientechCommon/slate/converters/mockData.ts +232 -0
  213. package/src/adopters/gientechCommon/slate/converters/slateConverters.ts +258 -0
  214. package/src/adopters/gientechCommon/slate/richElements/index.tsx +476 -0
  215. package/src/adopters/gientechCommon/utils/request.ts +37 -0
  216. package/src/adopters/gientechCommon/utils/serverFn.ts +143 -0
  217. package/src/assets/img/downArrow.png +0 -0
  218. package/src/assets/img/excel.png +0 -0
  219. package/src/assets/img/img.png +0 -0
  220. package/src/assets/img/pdf.png +0 -0
  221. package/src/assets/img/ppt.png +0 -0
  222. package/src/assets/img/txt.png +0 -0
  223. package/src/assets/img/word.png +0 -0
  224. package/src/assets/login/homeBg.png +0 -0
  225. package/src/assets/login/left.jpg +0 -0
  226. package/src/assets/login/logoImg.png +0 -0
  227. package/src/assets/style.css +1 -0
  228. package/src/components/AiChat.tsx +647 -0
  229. package/src/components/AiChat.types.tsx +110 -0
  230. package/src/components/DefaultAppError.tsx +7 -0
  231. package/src/components/DefaultAppLoading.tsx +7 -0
  232. package/src/components/DefaultDisplayError.tsx +7 -0
  233. package/src/components/DefaultDisplayLoading.tsx +7 -0
  234. package/src/components/DefaultNewChatWelcome.tsx +10 -0
  235. package/src/components/Displayer/DefaultAiChatBox.tsx +64 -0
  236. package/src/components/Displayer/DefaultUserChatBox.tsx +34 -0
  237. package/src/components/Displayer/index.tsx +107 -0
  238. package/src/components/Displayer/slate/converters/deserializers.ts +427 -0
  239. package/src/components/Displayer/slate/converters/mockData.ts +190 -0
  240. package/src/components/Displayer/slate/converters/slateConverters.ts +258 -0
  241. package/src/components/Displayer/slate/richElements/index.tsx +308 -0
  242. package/src/components/DrawerContent.tsx +105 -0
  243. package/src/components/DrawerPreview.tsx +36 -0
  244. package/src/components/DynamicForm.tsx +29 -0
  245. package/src/components/Loading.tsx +0 -0
  246. package/src/components/RetrieveTest/components/ChatInput.tsx +198 -0
  247. package/src/components/RetrieveTest/components/ChatMessage.tsx +894 -0
  248. package/src/components/RetrieveTest/components/ConfigPanel.tsx +472 -0
  249. package/src/components/RetrieveTest/components/RichTextEditor.tsx +97 -0
  250. package/src/components/RetrieveTest/components/VoiceInput.tsx +257 -0
  251. package/src/components/RetrieveTest/components/config/index.ts +0 -0
  252. package/src/components/RetrieveTest/components/converters/deserializers.ts +393 -0
  253. package/src/components/RetrieveTest/components/converters/mockData.ts +190 -0
  254. package/src/components/RetrieveTest/components/converters/slateConverters.ts +164 -0
  255. package/src/components/RetrieveTest/components/richElements/index.tsx +339 -0
  256. package/src/components/RetrieveTest/components/style.css +3 -0
  257. package/src/components/RetrieveTest/index.tsx +679 -0
  258. package/src/components/Sender/FileUpload.tsx +76 -0
  259. package/src/components/Sender/FilesDisplay.tsx +103 -0
  260. package/src/components/Sender/VoiceInput.tsx +81 -0
  261. package/src/components/Sender/contexts/BadgeContext.tsx +36 -0
  262. package/src/components/Sender/index.tsx +545 -0
  263. package/src/components/Sidebar/Loading.tsx +0 -0
  264. package/src/components/Sidebar/RetriveConfigPanel.tsx +41 -0
  265. package/src/components/Sidebar/useDynamicFormItems.tsx +176 -0
  266. package/src/components/SidebarProp.ts +41 -0
  267. package/src/components/common/FileCardCommon.tsx +82 -0
  268. package/src/components/defaultStyleSet.tsx +142 -0
  269. package/src/components/styles.config.ts +4 -0
  270. package/src/lib_enter.ts +12 -0
  271. package/src/main.tsx +12 -0
  272. package/src/mockForm.ts +91 -0
  273. package/src/servers/chatApi.ts +43 -0
  274. package/src/servers/fileApi.ts +12 -0
  275. package/src/servers/modelApi.ts +19 -0
  276. package/src/style.css +22 -0
  277. package/src/testj.js +3 -0
  278. package/src/type.d.ts +0 -0
  279. package/src/utils/commonFn.tsx +111 -0
  280. package/src/utils/index.tsx +94 -0
  281. package/src/vite-env.d.ts +11 -0
  282. package/tailwind.config.js +18 -0
  283. package/tsconfig.app.json +29 -0
  284. package/tsconfig.app.tsbuildinfo +11 -0
  285. package/tsconfig.json +13 -0
  286. package/tsconfig.node.json +22 -0
  287. package/tsconfig.node.tsbuildinfo +1 -0
  288. package/vite.config.ts +138 -0
  289. package/vite.config_mainapp.ts +126 -0
  290. package/assets/aichat.css +0 -1
  291. /package/{HeadlessChat.d.ts → dist/HeadlessChat.d.ts} +0 -0
  292. /package/{LoginPage → dist/LoginPage}/components/Login/LoginBox/index.d.ts +0 -0
  293. /package/{LoginPage → dist/LoginPage}/components/Login/RegisterBox/index.d.ts +0 -0
  294. /package/{LoginPage → dist/LoginPage}/components/Login/index.d.ts +0 -0
  295. /package/{LoginPage → dist/LoginPage}/index.d.ts +0 -0
  296. /package/{LoginPage → dist/LoginPage}/useServices.d.ts +0 -0
  297. /package/{LoginPage → dist/LoginPage}/utils.d.ts +0 -0
  298. /package/{Preview.d.ts → dist/Preview.d.ts} +0 -0
  299. /package/{UseLogingHeadless.d.ts → dist/UseLogingHeadless.d.ts} +0 -0
  300. /package/{adopters → dist/adopters}/GientechChat/Conversations/groupByTime.d.ts +0 -0
  301. /package/{adopters → dist/adopters}/GientechChat/constants.d.ts +0 -0
  302. /package/{adopters → dist/adopters}/GientechChat/index.d.ts +0 -0
  303. /package/{adopters → dist/adopters}/GientechChat/types.d.ts +0 -0
  304. /package/{adopters → dist/adopters}/HeadLessChat/constants.d.ts +0 -0
  305. /package/{adopters → dist/adopters}/HeadLessChat/index.d.ts +0 -0
  306. /package/{adopters → dist/adopters}/HeadLessChat/types.d.ts +0 -0
  307. /package/{adopters → dist/adopters}/gientechCommon/components/AppError.d.ts +0 -0
  308. /package/{adopters → dist/adopters}/gientechCommon/components/AppLoading.d.ts +0 -0
  309. /package/{adopters → dist/adopters}/gientechCommon/components/DisplayError.d.ts +0 -0
  310. /package/{adopters → dist/adopters}/gientechCommon/components/DisplayLoading.d.ts +0 -0
  311. /package/{adopters → dist/adopters}/gientechCommon/components/FeedBackModal.d.ts +0 -0
  312. /package/{adopters → dist/adopters}/gientechCommon/components/FileManager/index.d.ts +0 -0
  313. /package/{adopters → dist/adopters}/gientechCommon/components/Messages/AiChatBox.d.ts +0 -0
  314. /package/{adopters → dist/adopters}/gientechCommon/components/Messages/GientechNewChatWelcome.d.ts +0 -0
  315. /package/{adopters → dist/adopters}/gientechCommon/components/Messages/UserChatBox.d.ts +0 -0
  316. /package/{adopters → dist/adopters}/gientechCommon/components/RenameModal.d.ts +0 -0
  317. /package/{adopters → dist/adopters}/gientechCommon/configs/commonConfig.d.ts +0 -0
  318. /package/{adopters → dist/adopters}/gientechCommon/configs/senderConfig.d.ts +0 -0
  319. /package/{adopters → dist/adopters}/gientechCommon/configs/stylesConfig.d.ts +0 -0
  320. /package/{adopters → dist/adopters}/gientechCommon/hooks/AichatUseController.d.ts +0 -0
  321. /package/{adopters → dist/adopters}/gientechCommon/slate/converters/deserializers.d.ts +0 -0
  322. /package/{adopters → dist/adopters}/gientechCommon/slate/converters/mockData.d.ts +0 -0
  323. /package/{adopters → dist/adopters}/gientechCommon/slate/converters/slateConverters.d.ts +0 -0
  324. /package/{adopters → dist/adopters}/gientechCommon/slate/richElements/index.d.ts +0 -0
  325. /package/{adopters → dist/adopters}/gientechCommon/utils/request.d.ts +0 -0
  326. /package/{adopters → dist/adopters}/gientechCommon/utils/serverFn.d.ts +0 -0
  327. /package/{components → dist/components}/AiChat.types.d.ts +0 -0
  328. /package/{components → dist/components}/DefaultAppError.d.ts +0 -0
  329. /package/{components → dist/components}/DefaultAppLoading.d.ts +0 -0
  330. /package/{components → dist/components}/DefaultDisplayError.d.ts +0 -0
  331. /package/{components → dist/components}/DefaultDisplayLoading.d.ts +0 -0
  332. /package/{components → dist/components}/DefaultNewChatWelcome.d.ts +0 -0
  333. /package/{components → dist/components}/Displayer/DefaultAiChatBox.d.ts +0 -0
  334. /package/{components → dist/components}/Displayer/DefaultUserChatBox.d.ts +0 -0
  335. /package/{components → dist/components}/Displayer/index.d.ts +0 -0
  336. /package/{components → dist/components}/Displayer/slate/converters/deserializers.d.ts +0 -0
  337. /package/{components → dist/components}/Displayer/slate/converters/mockData.d.ts +0 -0
  338. /package/{components → dist/components}/Displayer/slate/converters/slateConverters.d.ts +0 -0
  339. /package/{components → dist/components}/Displayer/slate/richElements/index.d.ts +0 -0
  340. /package/{components → dist/components}/DrawerContent.d.ts +0 -0
  341. /package/{components → dist/components}/DrawerPreview.d.ts +0 -0
  342. /package/{components → dist/components}/DynamicForm.d.ts +0 -0
  343. /package/{components → dist/components}/Loading.d.ts +0 -0
  344. /package/{components → dist/components}/RetrieveTest/components/ChatInput.d.ts +0 -0
  345. /package/{components → dist/components}/RetrieveTest/components/ChatMessage.d.ts +0 -0
  346. /package/{components → dist/components}/RetrieveTest/components/ConfigPanel.d.ts +0 -0
  347. /package/{components → dist/components}/RetrieveTest/components/RichTextEditor.d.ts +0 -0
  348. /package/{components → dist/components}/RetrieveTest/components/VoiceInput.d.ts +0 -0
  349. /package/{components → dist/components}/RetrieveTest/components/config/index.d.ts +0 -0
  350. /package/{components → dist/components}/RetrieveTest/components/converters/deserializers.d.ts +0 -0
  351. /package/{components → dist/components}/RetrieveTest/components/converters/mockData.d.ts +0 -0
  352. /package/{components → dist/components}/RetrieveTest/components/converters/slateConverters.d.ts +0 -0
  353. /package/{components → dist/components}/RetrieveTest/components/richElements/index.d.ts +0 -0
  354. /package/{components → dist/components}/RetrieveTest/index.d.ts +0 -0
  355. /package/{components → dist/components}/Sender/FileUpload.d.ts +0 -0
  356. /package/{components → dist/components}/Sender/FilesDisplay.d.ts +0 -0
  357. /package/{components → dist/components}/Sender/VoiceInput.d.ts +0 -0
  358. /package/{components → dist/components}/Sender/contexts/BadgeContext.d.ts +0 -0
  359. /package/{components → dist/components}/Sender/index.d.ts +0 -0
  360. /package/{components → dist/components}/Sidebar/Loading.d.ts +0 -0
  361. /package/{components → dist/components}/Sidebar/RetriveConfigPanel.d.ts +0 -0
  362. /package/{components → dist/components}/Sidebar/useDynamicFormItems.d.ts +0 -0
  363. /package/{components → dist/components}/SidebarProp.d.ts +0 -0
  364. /package/{components → dist/components}/common/FileCardCommon.d.ts +0 -0
  365. /package/{components → dist/components}/defaultStyleSet.d.ts +0 -0
  366. /package/{components → dist/components}/styles.config.d.ts +0 -0
  367. /package/{icons → dist/icons}/answerAwartar.png +0 -0
  368. /package/{icons → dist/icons}/docx-file.png +0 -0
  369. /package/{icons → dist/icons}/folder.png +0 -0
  370. /package/{icons → dist/icons}/html.png +0 -0
  371. /package/{icons → dist/icons}/image.png +0 -0
  372. /package/{icons → dist/icons}/jpg-file.png +0 -0
  373. /package/{icons → dist/icons}/json.png +0 -0
  374. /package/{icons → dist/icons}/md.png +0 -0
  375. /package/{icons → dist/icons}/pdf.png +0 -0
  376. /package/{icons → dist/icons}/pptx.png +0 -0
  377. /package/{icons → dist/icons}/questionAwartar.png +0 -0
  378. /package/{icons → dist/icons}/sheets.png +0 -0
  379. /package/{icons → dist/icons}/txt.png +0 -0
  380. /package/{icons → dist/icons}/xlsx.png +0 -0
  381. /package/{index.d.ts → dist/index.d.ts} +0 -0
  382. /package/{lib_enter.d.ts → dist/lib_enter.d.ts} +0 -0
  383. /package/{libs → dist/libs}/luckysheet/fontAwesome.otf +0 -0
  384. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.eot +0 -0
  385. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.svg +0 -0
  386. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.ttf +0 -0
  387. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.woff +0 -0
  388. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.woff2 +0 -0
  389. /package/{libs → dist/libs}/luckysheet/fonts/fontawesome-webfont.ttf +0 -0
  390. /package/{libs → dist/libs}/luckysheet/fonts/fontawesome-webfont.woff +0 -0
  391. /package/{libs → dist/libs}/luckysheet/fonts/fontawesome-webfont.woff2 +0 -0
  392. /package/{libs → dist/libs}/luckysheet/iconfont.css +0 -0
  393. /package/{libs → dist/libs}/luckysheet/jquery.min.js +0 -0
  394. /package/{libs → dist/libs}/luckysheet/luckysheet.css +0 -0
  395. /package/{libs → dist/libs}/luckysheet/luckysheet.umd.js +0 -0
  396. /package/{libs → dist/libs}/luckysheet/plugin.js +0 -0
  397. /package/{libs → dist/libs}/luckysheet/plugins.css +0 -0
  398. /package/{libs → dist/libs}/luckysheet/pluginsCss.css +0 -0
  399. /package/{main.d.ts → dist/main.d.ts} +0 -0
  400. /package/{mockForm.d.ts → dist/mockForm.d.ts} +0 -0
  401. /package/{servers → dist/servers}/chatApi.d.ts +0 -0
  402. /package/{servers → dist/servers}/fileApi.d.ts +0 -0
  403. /package/{servers → dist/servers}/modelApi.d.ts +0 -0
  404. /package/{utils → dist/utils}/commonFn.d.ts +0 -0
  405. /package/{utils → dist/utils}/index.d.ts +0 -0
  406. /package/{vite.svg → dist/vite.svg} +0 -0
  407. /package/{vs → dist/vs}/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  408. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.de.js +0 -0
  409. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.es.js +0 -0
  410. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.fr.js +0 -0
  411. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.it.js +0 -0
  412. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.ja.js +0 -0
  413. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.js +0 -0
  414. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.ko.js +0 -0
  415. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.ru.js +0 -0
  416. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.zh-cn.js +0 -0
  417. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.zh-tw.js +0 -0
  418. /package/{vs → dist/vs}/base/worker/workerMain.js +0 -0
  419. /package/{vs → dist/vs}/basic-languages/abap/abap.js +0 -0
  420. /package/{vs → dist/vs}/basic-languages/apex/apex.js +0 -0
  421. /package/{vs → dist/vs}/basic-languages/azcli/azcli.js +0 -0
  422. /package/{vs → dist/vs}/basic-languages/bat/bat.js +0 -0
  423. /package/{vs → dist/vs}/basic-languages/bicep/bicep.js +0 -0
  424. /package/{vs → dist/vs}/basic-languages/cameligo/cameligo.js +0 -0
  425. /package/{vs → dist/vs}/basic-languages/clojure/clojure.js +0 -0
  426. /package/{vs → dist/vs}/basic-languages/coffee/coffee.js +0 -0
  427. /package/{vs → dist/vs}/basic-languages/cpp/cpp.js +0 -0
  428. /package/{vs → dist/vs}/basic-languages/csharp/csharp.js +0 -0
  429. /package/{vs → dist/vs}/basic-languages/csp/csp.js +0 -0
  430. /package/{vs → dist/vs}/basic-languages/css/css.js +0 -0
  431. /package/{vs → dist/vs}/basic-languages/cypher/cypher.js +0 -0
  432. /package/{vs → dist/vs}/basic-languages/dart/dart.js +0 -0
  433. /package/{vs → dist/vs}/basic-languages/dockerfile/dockerfile.js +0 -0
  434. /package/{vs → dist/vs}/basic-languages/ecl/ecl.js +0 -0
  435. /package/{vs → dist/vs}/basic-languages/elixir/elixir.js +0 -0
  436. /package/{vs → dist/vs}/basic-languages/flow9/flow9.js +0 -0
  437. /package/{vs → dist/vs}/basic-languages/freemarker2/freemarker2.js +0 -0
  438. /package/{vs → dist/vs}/basic-languages/fsharp/fsharp.js +0 -0
  439. /package/{vs → dist/vs}/basic-languages/go/go.js +0 -0
  440. /package/{vs → dist/vs}/basic-languages/graphql/graphql.js +0 -0
  441. /package/{vs → dist/vs}/basic-languages/handlebars/handlebars.js +0 -0
  442. /package/{vs → dist/vs}/basic-languages/hcl/hcl.js +0 -0
  443. /package/{vs → dist/vs}/basic-languages/html/html.js +0 -0
  444. /package/{vs → dist/vs}/basic-languages/ini/ini.js +0 -0
  445. /package/{vs → dist/vs}/basic-languages/java/java.js +0 -0
  446. /package/{vs → dist/vs}/basic-languages/javascript/javascript.js +0 -0
  447. /package/{vs → dist/vs}/basic-languages/julia/julia.js +0 -0
  448. /package/{vs → dist/vs}/basic-languages/kotlin/kotlin.js +0 -0
  449. /package/{vs → dist/vs}/basic-languages/less/less.js +0 -0
  450. /package/{vs → dist/vs}/basic-languages/lexon/lexon.js +0 -0
  451. /package/{vs → dist/vs}/basic-languages/liquid/liquid.js +0 -0
  452. /package/{vs → dist/vs}/basic-languages/lua/lua.js +0 -0
  453. /package/{vs → dist/vs}/basic-languages/m3/m3.js +0 -0
  454. /package/{vs → dist/vs}/basic-languages/markdown/markdown.js +0 -0
  455. /package/{vs → dist/vs}/basic-languages/mdx/mdx.js +0 -0
  456. /package/{vs → dist/vs}/basic-languages/mips/mips.js +0 -0
  457. /package/{vs → dist/vs}/basic-languages/msdax/msdax.js +0 -0
  458. /package/{vs → dist/vs}/basic-languages/mysql/mysql.js +0 -0
  459. /package/{vs → dist/vs}/basic-languages/objective-c/objective-c.js +0 -0
  460. /package/{vs → dist/vs}/basic-languages/pascal/pascal.js +0 -0
  461. /package/{vs → dist/vs}/basic-languages/pascaligo/pascaligo.js +0 -0
  462. /package/{vs → dist/vs}/basic-languages/perl/perl.js +0 -0
  463. /package/{vs → dist/vs}/basic-languages/pgsql/pgsql.js +0 -0
  464. /package/{vs → dist/vs}/basic-languages/php/php.js +0 -0
  465. /package/{vs → dist/vs}/basic-languages/pla/pla.js +0 -0
  466. /package/{vs → dist/vs}/basic-languages/postiats/postiats.js +0 -0
  467. /package/{vs → dist/vs}/basic-languages/powerquery/powerquery.js +0 -0
  468. /package/{vs → dist/vs}/basic-languages/powershell/powershell.js +0 -0
  469. /package/{vs → dist/vs}/basic-languages/protobuf/protobuf.js +0 -0
  470. /package/{vs → dist/vs}/basic-languages/pug/pug.js +0 -0
  471. /package/{vs → dist/vs}/basic-languages/python/python.js +0 -0
  472. /package/{vs → dist/vs}/basic-languages/qsharp/qsharp.js +0 -0
  473. /package/{vs → dist/vs}/basic-languages/r/r.js +0 -0
  474. /package/{vs → dist/vs}/basic-languages/razor/razor.js +0 -0
  475. /package/{vs → dist/vs}/basic-languages/redis/redis.js +0 -0
  476. /package/{vs → dist/vs}/basic-languages/redshift/redshift.js +0 -0
  477. /package/{vs → dist/vs}/basic-languages/restructuredtext/restructuredtext.js +0 -0
  478. /package/{vs → dist/vs}/basic-languages/ruby/ruby.js +0 -0
  479. /package/{vs → dist/vs}/basic-languages/rust/rust.js +0 -0
  480. /package/{vs → dist/vs}/basic-languages/sb/sb.js +0 -0
  481. /package/{vs → dist/vs}/basic-languages/scala/scala.js +0 -0
  482. /package/{vs → dist/vs}/basic-languages/scheme/scheme.js +0 -0
  483. /package/{vs → dist/vs}/basic-languages/scss/scss.js +0 -0
  484. /package/{vs → dist/vs}/basic-languages/shell/shell.js +0 -0
  485. /package/{vs → dist/vs}/basic-languages/solidity/solidity.js +0 -0
  486. /package/{vs → dist/vs}/basic-languages/sophia/sophia.js +0 -0
  487. /package/{vs → dist/vs}/basic-languages/sparql/sparql.js +0 -0
  488. /package/{vs → dist/vs}/basic-languages/sql/sql.js +0 -0
  489. /package/{vs → dist/vs}/basic-languages/st/st.js +0 -0
  490. /package/{vs → dist/vs}/basic-languages/swift/swift.js +0 -0
  491. /package/{vs → dist/vs}/basic-languages/systemverilog/systemverilog.js +0 -0
  492. /package/{vs → dist/vs}/basic-languages/tcl/tcl.js +0 -0
  493. /package/{vs → dist/vs}/basic-languages/twig/twig.js +0 -0
  494. /package/{vs → dist/vs}/basic-languages/typescript/typescript.js +0 -0
  495. /package/{vs → dist/vs}/basic-languages/vb/vb.js +0 -0
  496. /package/{vs → dist/vs}/basic-languages/wgsl/wgsl.js +0 -0
  497. /package/{vs → dist/vs}/basic-languages/xml/xml.js +0 -0
  498. /package/{vs → dist/vs}/basic-languages/yaml/yaml.js +0 -0
  499. /package/{vs → dist/vs}/editor/editor.main.css +0 -0
  500. /package/{vs → dist/vs}/editor/editor.main.js +0 -0
  501. /package/{vs → dist/vs}/editor/editor.main.js.gz +0 -0
  502. /package/{vs → dist/vs}/editor/editor.main.nls.de.js +0 -0
  503. /package/{vs → dist/vs}/editor/editor.main.nls.es.js +0 -0
  504. /package/{vs → dist/vs}/editor/editor.main.nls.fr.js +0 -0
  505. /package/{vs → dist/vs}/editor/editor.main.nls.it.js +0 -0
  506. /package/{vs → dist/vs}/editor/editor.main.nls.ja.js +0 -0
  507. /package/{vs → dist/vs}/editor/editor.main.nls.js +0 -0
  508. /package/{vs → dist/vs}/editor/editor.main.nls.ko.js +0 -0
  509. /package/{vs → dist/vs}/editor/editor.main.nls.ru.js +0 -0
  510. /package/{vs → dist/vs}/editor/editor.main.nls.zh-cn.js +0 -0
  511. /package/{vs → dist/vs}/editor/editor.main.nls.zh-tw.js +0 -0
  512. /package/{vs → dist/vs}/language/css/cssMode.js +0 -0
  513. /package/{vs → dist/vs}/language/css/cssWorker.js +0 -0
  514. /package/{vs → dist/vs}/language/css/cssWorker.js.gz +0 -0
  515. /package/{vs → dist/vs}/language/html/htmlMode.js +0 -0
  516. /package/{vs → dist/vs}/language/html/htmlWorker.js +0 -0
  517. /package/{vs → dist/vs}/language/json/jsonMode.js +0 -0
  518. /package/{vs → dist/vs}/language/json/jsonWorker.js +0 -0
  519. /package/{vs → dist/vs}/language/typescript/tsMode.js +0 -0
  520. /package/{vs → dist/vs}/language/typescript/tsWorker.js +0 -0
  521. /package/{vs → dist/vs}/language/typescript/tsWorker.js.gz +0 -0
  522. /package/{vs → dist/vs}/loader.js +0 -0
  523. /package/{worker → dist/worker}/pdf.worker.min.js +0 -0
@@ -0,0 +1,190 @@
1
+ // Markdown 示例数据
2
+ export const markdownExample = `# 产品功能概述
3
+
4
+ 这是一个**重要**的产品说明文档,包含了_主要功能_和<u>使用说明</u>。
5
+
6
+ ## 核心功能
7
+
8
+ * **实时同步:** 数据实时更新
9
+ * **多端支持:** 支持各种设备访问
10
+ * **安全可靠:** 数据加密存储
11
+
12
+ 1. 第一步:安装应用
13
+ 2. 第二步:注册账号
14
+ 3. 第三步:开始使用
15
+
16
+ | 功能 | 基础版 | 专业版 |
17
+ |------|--------|--------|
18
+ | 实时同步 | ✓ | ✓ |
19
+ | 多人协作 | × | ✓ |
20
+ | 历史记录 | × | ✓ |
21
+
22
+ ![产品界面预览](https://example.com/preview.jpg)
23
+
24
+ 更多详细信息请访问我们的官网。`;
25
+
26
+ // HTML 示例数据
27
+ export const htmlExample = `<h1>产品功能概述</h1>
28
+
29
+ <p>这是一个<strong>重要</strong>的产品说明文档,包含了<em>主要功能</em>和<u>使用说明</u>。</p>
30
+
31
+ <h2>核心功能</h2>
32
+
33
+ <ul>
34
+ <li><strong>实时同步:</strong> 数据实时更新</li>
35
+ <li><strong>多端支持:</strong> 支持各种设备访问</li>
36
+ <li><strong>安全可靠:</strong> 数据加密存储</li>
37
+ </ul>
38
+
39
+ <ol>
40
+ <li>第一步:安装应用</li>
41
+ <li>第二步:注册账号</li>
42
+ <li>第三步:开始使用</li>
43
+ </ol>
44
+
45
+ <table>
46
+ <thead>
47
+ <tr>
48
+ <th>功能</th>
49
+ <th>基础版</th>
50
+ <th>专业版</th>
51
+ </tr>
52
+ </thead>
53
+ <tbody>
54
+ <tr>
55
+ <td>实时同步</td>
56
+ <td>✓</td>
57
+ <td>✓</td>
58
+ </tr>
59
+ <tr>
60
+ <td>多人协作</td>
61
+ <td>×</td>
62
+ <td>✓</td>
63
+ </tr>
64
+ <tr>
65
+ <td>历史记录</td>
66
+ <td>×</td>
67
+ <td>✓</td>
68
+ </tr>
69
+ </tbody>
70
+ </table>
71
+
72
+ <p style="text-align: center">
73
+ <img src="https://example.com/preview.jpg" alt="" style="display: block; margin: 0 auto;">
74
+ </p>
75
+
76
+ <p>更多详细信息请访问我们的官网。</p>`;
77
+
78
+ // Slate 数据结构示例
79
+ export const slateExample = [
80
+ {
81
+ type: 'heading-one',
82
+ children: [{ text: '产品功能概述', bold: true }],
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ children: [
87
+ { text: '这是一个' },
88
+ { text: '重要', bold: true },
89
+ { text: '的产品说明文档,包含了' },
90
+ { text: '主要功能', italic: true },
91
+ { text: '和' },
92
+ { text: '使用说明', underline: true },
93
+ { text: '。' },
94
+ ],
95
+ },
96
+ {
97
+ type: 'heading-two',
98
+ children: [{ text: '核心功能', bold: true }],
99
+ },
100
+ {
101
+ type: 'bulleted-list',
102
+ children: [
103
+ {
104
+ type: 'list-item',
105
+ children: [
106
+ { text: '实时同步:', bold: true },
107
+ { text: ' 数据实时更新' },
108
+ ],
109
+ },
110
+ {
111
+ type: 'list-item',
112
+ children: [
113
+ { text: '多端支持:', bold: true },
114
+ { text: ' 支持各种设备访问' },
115
+ ],
116
+ },
117
+ {
118
+ type: 'list-item',
119
+ children: [
120
+ { text: '安全可靠:', bold: true },
121
+ { text: ' 数据加密存储' },
122
+ ],
123
+ },
124
+ ],
125
+ },
126
+ {
127
+ type: 'numbered-list',
128
+ children: [
129
+ {
130
+ type: 'list-item',
131
+ children: [{ text: '第一步:安装应用' }],
132
+ },
133
+ {
134
+ type: 'list-item',
135
+ children: [{ text: '第二步:注册账号' }],
136
+ },
137
+ {
138
+ type: 'list-item',
139
+ children: [{ text: '第三步:开始使用' }],
140
+ },
141
+ ],
142
+ },
143
+ {
144
+ type: 'table',
145
+ children: [
146
+ {
147
+ type: 'table-row',
148
+ children: [
149
+ { type: 'table-cell', children: [{ text: '功能', bold: true }] },
150
+ { type: 'table-cell', children: [{ text: '基础版', bold: true }] },
151
+ { type: 'table-cell', children: [{ text: '专业版', bold: true }] },
152
+ ],
153
+ },
154
+ {
155
+ type: 'table-row',
156
+ children: [
157
+ { type: 'table-cell', children: [{ text: '实时同步' }] },
158
+ { type: 'table-cell', children: [{ text: '✓' }] },
159
+ { type: 'table-cell', children: [{ text: '✓' }] },
160
+ ],
161
+ },
162
+ {
163
+ type: 'table-row',
164
+ children: [
165
+ { type: 'table-cell', children: [{ text: '多人协作' }] },
166
+ { type: 'table-cell', children: [{ text: '×' }] },
167
+ { type: 'table-cell', children: [{ text: '✓' }] },
168
+ ],
169
+ },
170
+ {
171
+ type: 'table-row',
172
+ children: [
173
+ { type: 'table-cell', children: [{ text: '历史记录' }] },
174
+ { type: 'table-cell', children: [{ text: '×' }] },
175
+ { type: 'table-cell', children: [{ text: '✓' }] },
176
+ ],
177
+ },
178
+ ],
179
+ },
180
+ {
181
+ type: 'image',
182
+ url: 'https://example.com/preview.jpg',
183
+ children: [{ text: '' }],
184
+ align: 'center',
185
+ },
186
+ {
187
+ type: 'paragraph',
188
+ children: [{ text: '更多详细信息请访问我们的官网。' }],
189
+ },
190
+ ];
@@ -0,0 +1,164 @@
1
+ import { CustomElement, CustomText } from '../RichTextEditor';
2
+ import { Node } from 'slate';
3
+
4
+ // Markdown 转换器
5
+ export const serializeToMarkdown = (nodes: CustomElement[]): string => {
6
+ return nodes.map(node => {
7
+ switch (node.type) {
8
+ case 'heading-one':
9
+ return `# ${serializeLeaf(node.children[0] as CustomText)}\n\n`;
10
+ case 'heading-two':
11
+ return `## ${serializeLeaf(node.children[0] as CustomText)}\n\n`;
12
+ case 'paragraph':
13
+ return `${node.children.map(child => serializeLeaf(child as CustomText)).join('')}\n\n`;
14
+ case 'bulleted-list':
15
+ return (node.children as CustomElement[]).map(item => `* ${(item.children as CustomText[]).map(child => serializeLeaf(child)).join('')}\n`).join('') + '\n';
16
+ case 'numbered-list':
17
+ return (node.children as CustomElement[]).map((item, i) => `${i + 1}. ${(item.children as CustomText[]).map(child => serializeLeaf(child)).join('')}\n`).join('') + '\n';
18
+ case 'block-quote':
19
+ return `> ${node.children.map(child => serializeLeaf(child as CustomText)).join('')}\n\n`;
20
+ case 'table':
21
+ return serializeTable(node) + '\n';
22
+ case 'image':
23
+ const align = node.align ? ` align="${node.align}"` : '';
24
+ return `![](${node.url}${align})\n\n`;
25
+ default:
26
+ return '';
27
+ }
28
+ }).join('');
29
+ };
30
+
31
+ const serializeLeaf = (leaf: CustomText): string => {
32
+ let text = leaf.text;
33
+ if (leaf.bold) text = `**${text}**`;
34
+ if (leaf.italic) text = `_${text}_`;
35
+ if (leaf.underline) text = `<u>${text}</u>`;
36
+ if (leaf.strikethrough) text = `~~${text}~~`;
37
+ if (leaf.code) text = `\`${text}\``;
38
+ if (leaf.link) text = `[${text}](${leaf.link})`;
39
+ return text;
40
+ };
41
+
42
+ const serializeTable = (table: CustomElement): string => {
43
+ const rows = table.children as CustomElement[];
44
+ if (rows.length === 0) return '';
45
+
46
+ // 创建表头
47
+ const headerRow = rows[0];
48
+ const headerCells = headerRow.children as CustomElement[];
49
+ let markdown = '| ' + headerCells.map(cell => {
50
+ const text = (cell.children[0] as CustomText).text;
51
+ return text.replace(/\|/g, '\\|'); // 转义表格中的竖线
52
+ }).join(' | ') + ' |\n';
53
+
54
+ // 添加分隔行
55
+ markdown += '| ' + headerCells.map(() => '---').join(' | ') + ' |\n';
56
+
57
+ // 添加数据行
58
+ for (let i = 1; i < rows.length; i++) {
59
+ const row = rows[i];
60
+ markdown += '| ' + (row.children as CustomElement[])
61
+ .map(cell => {
62
+ const text = (cell.children[0] as CustomText).text;
63
+ return text.replace(/\|/g, '\\|'); // 转义表格中的竖线
64
+ })
65
+ .join(' | ') + ' |\n';
66
+ }
67
+
68
+ return markdown;
69
+ };
70
+
71
+ // HTML 转换器
72
+ export const serializeToHtml = (nodes: CustomElement[]): string => {
73
+ return nodes.map(node => {
74
+ switch (node.type) {
75
+ case 'heading-one':
76
+ return `<h1>${serializeLeafToHtml(node.children[0] as CustomText)}</h1>`;
77
+ case 'heading-two':
78
+ return `<h2>${serializeLeafToHtml(node.children[0] as CustomText)}</h2>`;
79
+ case 'paragraph':
80
+ const align = node.align ? ` style="text-align: ${node.align};"` : '';
81
+ return `<p${align}>${node.children.map(child => serializeLeafToHtml(child as CustomText)).join('')}</p>`;
82
+ case 'bulleted-list':
83
+ return `<ul>${(node.children as CustomElement[]).map(item => `<li>${(item.children as CustomText[]).map(child => serializeLeafToHtml(child)).join('')}</li>`).join('')}</ul>`;
84
+ case 'numbered-list':
85
+ return `<ol>${(node.children as CustomElement[]).map(item => `<li>${(item.children as CustomText[]).map(child => serializeLeafToHtml(child)).join('')}</li>`).join('')}</ol>`;
86
+ case 'block-quote':
87
+ return `<blockquote>${node.children.map(child => serializeLeafToHtml(child as CustomText)).join('')}</blockquote>`;
88
+ case 'table':
89
+ return serializeTableToHtml(node);
90
+ case 'image':
91
+ const imgAlign = node.align ? ` style="display: block; margin: 0 auto;"` : '';
92
+ return `<img src="${node.url}" alt=""${imgAlign}/>`;
93
+ default:
94
+ return '';
95
+ }
96
+ }).join('\n');
97
+ };
98
+
99
+ const serializeLeafToHtml = (leaf: CustomText): string => {
100
+ let text = leaf.text;
101
+ if (leaf.bold) text = `<strong>${text}</strong>`;
102
+ if (leaf.italic) text = `<em>${text}</em>`;
103
+ if (leaf.underline) text = `<u>${text}</u>`;
104
+ if (leaf.strikethrough) text = `<del>${text}</del>`;
105
+ if (leaf.code) text = `<code>${text}</code>`;
106
+ if (leaf.link) text = `<a href="${leaf.link}">${text}</a>`;
107
+ return text;
108
+ };
109
+
110
+ const serializeTableToHtml = (table: CustomElement): string => {
111
+ const rows = table.children as CustomElement[];
112
+ if (rows.length === 0) return '';
113
+
114
+ const tableStyles = {
115
+ wrapper: 'style="overflow-x: auto; margin: 1rem 0;"',
116
+ table: 'style="min-width: 420px; width: 550px; border-collapse: collapse; border: 1px solid #e5e7eb;"',
117
+ thead: 'style="background-color: #f0f9ff;"',
118
+ headerRow: 'style="border-bottom: 2px solid #93c5fd;"',
119
+ headerCell: 'style="padding: 0.75rem 1.5rem; text-align: left; font-size: 0.875rem; font-weight: 600; color: #1e3a8a; text-transform: uppercase; letter-spacing: 0.05em; border-right: 1px solid #93c5fd;"',
120
+ tbody: 'style="background-color: #ffffff;"',
121
+ row: 'style="border-bottom: 1px solid #e5e7eb;"',
122
+ cell: 'style="padding: 0.75rem 1.5rem; font-size: 0.875rem; color: #374151; border-right: 1px solid #e5e7eb;"',
123
+ lastCell: 'style="padding: 0.75rem 1.5rem; font-size: 0.875rem; color: #374151;"'
124
+ };
125
+
126
+ let html = `<div ${tableStyles.wrapper}><table ${tableStyles.table}>`;
127
+
128
+ // 添加表头
129
+ html += `<thead ${tableStyles.thead}>`;
130
+ const headerRow = rows[0];
131
+ if (headerRow) {
132
+ html += `<tr ${tableStyles.headerRow}>`;
133
+ const cells = headerRow.children as CustomElement[];
134
+ html += cells.map((cell, index) => {
135
+ const isLast = index === cells.length - 1;
136
+ const cellStyle = isLast ? tableStyles.lastCell : tableStyles.headerCell;
137
+ return `<th scope="col" ${cellStyle}>${(cell.children[0] as CustomText).text}</th>`;
138
+ }).join('');
139
+ html += '</tr>';
140
+ }
141
+ html += '</thead>';
142
+
143
+ // 添加表格主体
144
+ html += `<tbody ${tableStyles.tbody}>`;
145
+ if (rows.length > 1) {
146
+ for (let i = 1; i < rows.length; i++) {
147
+ const row = rows[i];
148
+ html += `<tr ${tableStyles.row}>`;
149
+ const cells = row.children as CustomElement[];
150
+ html += cells.map((cell, index) => {
151
+ const isLast = index === cells.length - 1;
152
+ const cellStyle = isLast ? tableStyles.lastCell : tableStyles.cell;
153
+ return `<td ${cellStyle}>${(cell.children[0] as CustomText).text}</td>`;
154
+ }).join('');
155
+ html += '</tr>';
156
+ }
157
+ } else {
158
+ // 如果没有数据行,添加一个空的行
159
+ html += `<tr ${tableStyles.row}><td colspan="100" style="padding: 0.75rem 1.5rem; text-align: center; color: #6b7280;">暂无数据</td></tr>`;
160
+ }
161
+ html += '</tbody></table></div>';
162
+
163
+ return html;
164
+ };
@@ -0,0 +1,339 @@
1
+ // 富文本元素渲染统一出口
2
+
3
+ // 迁移自ChatMessage.tsx
4
+ import React from 'react';
5
+
6
+ export const renderElement = (props: any) => {
7
+ // console.log('------------------renderElement element:', props);
8
+ const { element, children, attributes } = props;
9
+ switch (element.type) {
10
+ case 'paragraph':
11
+ return (
12
+ <p
13
+ {...attributes}
14
+ className="mb-4 leading-7 text-gray-700 font-normal"
15
+ >
16
+ {children}
17
+ </p>
18
+ );
19
+ case 'heading-one':
20
+ return (
21
+ <h1
22
+ {...attributes}
23
+ className="text-xl font-bold mb-6 text-gradient bg-clip-text text-transparent bg-gradient-to-r from-blue-600 to-cyan-500"
24
+ >
25
+ {children}
26
+ </h1>
27
+ );
28
+ case 'heading-two':
29
+ return (
30
+ <h2
31
+ {...attributes}
32
+ className="text-lg font-semibold mb-4 text-gray-600 border-l-4 pl-3"
33
+ >
34
+ {children}
35
+ </h2>
36
+ );
37
+ case 'heading-three':
38
+ return (
39
+ <h3
40
+ {...attributes}
41
+ className="text-lg font-medium mb-3 text-gray-600 flex items-center before:content-[''] before:w-2 before:h-2 before:rounded-full before:bg-blue-500 before:mr-2"
42
+ >
43
+ {children}
44
+ </h3>
45
+ );
46
+ case 'bulleted-list':
47
+ return (
48
+ <ul
49
+ {...attributes}
50
+ className="mb-4 space-y-2 list-none pl-4"
51
+ >
52
+ {children}
53
+ </ul>
54
+ );
55
+ case 'numbered-list':
56
+ return (
57
+ <ol
58
+ {...attributes}
59
+ className="mb-4 space-y-2 list-decimal pl-4 marker:text-blue-500 marker:font-medium"
60
+ >
61
+ {children}
62
+ </ol>
63
+ );
64
+ case 'list-item':
65
+ return (
66
+ <li
67
+ {...attributes}
68
+ className="relative pl-6 before:absolute before:left-0 before:top-3 before:w-2 before:h-2 before:bg-blue-500 before:rounded-full before:transform before:-translate-y-1/2"
69
+ >
70
+ {children}
71
+ </li>
72
+ );
73
+ case 'table':
74
+ return (
75
+ <div style={{ display: 'flex', msOverflowX:'scroll', width:"100%", maxWidth: '65vw', overflowX: 'auto', margin: '1rem 0' }}>
76
+ <table style={{ minWidth: 380, maxwidth: '100%', borderCollapse: 'collapse', border: '1px solid #e5e7eb' }} {...attributes}>
77
+ <tbody>{children}</tbody>
78
+ </table>
79
+ </div>
80
+ );
81
+ case 'table-row':
82
+ return (
83
+ <tr style={{ borderBottom: '1px solid #e5e7eb' }} {...attributes}>
84
+ {children}
85
+ </tr>
86
+ );
87
+ case 'table-cell':
88
+ if (element.header) {
89
+ return (
90
+ <th
91
+ style={{
92
+ padding: '0.75rem 1.5rem',
93
+ textAlign: 'left',
94
+ fontSize: '0.875rem',
95
+ fontWeight: 600,
96
+ color: '#1e3a8a',
97
+ textTransform: 'uppercase',
98
+ letterSpacing: '0.05em',
99
+ borderRight: '1px solid #93c5fd',
100
+ backgroundColor: '#f0f9ff'
101
+ }}
102
+ {...attributes}
103
+ >
104
+ {children}
105
+ </th>
106
+ );
107
+ }
108
+ return (
109
+ <td
110
+ style={{
111
+ padding: '0.75rem 1.5rem',
112
+ fontSize: '0.875rem',
113
+ color: '#374151',
114
+ borderRight: '1px solid #e5e7eb'
115
+ }}
116
+ {...attributes}
117
+ >
118
+ {children}
119
+ </td>
120
+ );
121
+ case 'block-quote':
122
+ return (
123
+ <blockquote
124
+ {...attributes}
125
+ className="border-l-4 border-blue-500 bg-blue-50 pl-4 py-2 mb-4 rounded-r-lg italic text-gray-700"
126
+ >
127
+ {children}
128
+ </blockquote>
129
+ );
130
+ case 'code-block':
131
+ const codeLines = element.children[0]?.text?.split('\n') || [''];
132
+ return (
133
+
134
+ <div {...attributes} className="mb-4 w-full rounded-lg overflow-x-scroll bg-[#f6f8fa] border border-[#d0d7de]">
135
+ <div className="flex w-full">
136
+ {/* 行号区域 */}
137
+ <div className="py-4 pr-4 pl-3 text-right select-none bg-[#f6f8fa] border-r border-[#d0d7de] text-gray-400 font-mono text-xs">
138
+ {codeLines.map((_: string, i: number) => (
139
+ <div key={i} className="leading-5">
140
+ {i + 1}
141
+ </div>
142
+ ))}
143
+ </div>
144
+ {/* 代码区域 */}
145
+ <pre className="flex-1 p-4 m-0 overflow-x-auto bg-[#f6f8fa] text-[#1f2328]">
146
+ <code className="font-mono text-sm leading-5">
147
+ {children}
148
+ </code>
149
+ </pre>
150
+ </div>
151
+ </div>
152
+ );
153
+ case 'think':
154
+ return (
155
+ <div
156
+ {...attributes}
157
+ style={{
158
+ background: '#f8fafc',
159
+ borderRadius: '8px',
160
+ border: '1px dashed #e0e7ef',
161
+ color: '#b0b8c9',
162
+ margin: '16px 0',
163
+ padding: '0',
164
+ position: 'relative',
165
+ fontStyle: 'italic',
166
+ overflow: 'hidden',
167
+ display: 'flex',
168
+ }}
169
+ className="relative my-4"
170
+ >
171
+ <div style={{
172
+ width: 4,
173
+ background: 'linear-gradient(to bottom, #e0e7ef 60%, #f1f5f9 100%)',
174
+ borderRadius: '2px',
175
+ marginRight: 12,
176
+ minHeight: '100%',
177
+ }} />
178
+ <div style={{ flex: 1 }}>
179
+ <div
180
+ style={{
181
+ borderTop: '1px solid #e0e7ef',
182
+ paddingTop: '8px',
183
+ marginBottom: '6px',
184
+ fontWeight: 500,
185
+ color: '#a3a3a3',
186
+ fontSize: '13px',
187
+ letterSpacing: '1px',
188
+ display: 'flex',
189
+ alignItems: 'center',
190
+ }}
191
+ >
192
+ <span style={{ marginRight: 8, fontSize: 12 }}>💭</span>
193
+ 思考中
194
+ </div>
195
+ <div style={{ color: '#b0b8c9', fontSize: '13px', lineHeight: 1.7, padding: '2px 0 10px 0' }}>{children}</div>
196
+ </div>
197
+ </div>
198
+ );
199
+ // case 'retrive':
200
+ // return (
201
+ // <span
202
+ // {...attributes}
203
+ // style={{
204
+ // display: 'inline',
205
+ // alignItems: 'center',
206
+ // padding: '2px 3px',
207
+ // borderRadius: '6px',
208
+ // background: '#FEF3C7',
209
+ // color: '#B45309',
210
+ // border: '1px solid #FDE68A',
211
+ // cursor: 'pointer',
212
+ // margin: '0 4px',
213
+ // transition: 'background 0.2s',
214
+ // fontWeight: 600,
215
+ // fontSize: 10,
216
+ // }}
217
+ // title={`召回标注ID: ${element.id}`}
218
+ // onClick={() => {
219
+ // if (props.onRetriveTagClick) {
220
+ // props.onRetriveTagClick(element.id);
221
+ // }
222
+ // }}
223
+ // onMouseEnter={e => (e.currentTarget.style.background = '#FDE68A')}
224
+ // onMouseLeave={e => (e.currentTarget.style.background = '#FEF3C7')}
225
+ // >
226
+ // {/* <span style={{ fontWeight: 600, color: '#B45309', marginRight: 4 }}>召回标注</span>
227
+ // <span style={{ fontSize: 12, color: '#B45309' }}>ID: {element.id}</span> */}
228
+ // {children}
229
+ // </span>
230
+ // );
231
+ default:
232
+ return (
233
+ <div {...attributes} className="mb-4">
234
+ {children}
235
+ </div>
236
+ );
237
+ }
238
+ };
239
+
240
+ export const renderLeaf = (props: any) => {
241
+ const { attributes, children, leaf } = props;
242
+ let el = children;
243
+
244
+ // retrive-tag 行内高亮渲染
245
+ if (leaf.retrive) {
246
+ el = (
247
+ <span
248
+ {...attributes}
249
+ style={{
250
+ display: 'inline-block',
251
+ background: '#e6f7ff',
252
+ color: '#1890ff',
253
+ border: '1px solid rgba(114,187,255,0.3)',
254
+ borderRadius: 6,
255
+ padding: '1px 6px',
256
+ margin: '0 2px',
257
+ fontWeight: 600,
258
+ fontSize: 8,
259
+ lineHeight: '17px',
260
+ cursor: 'pointer',
261
+ verticalAlign: 'middle',
262
+ }}
263
+ // title={leaf.id ? `召回标注ID: ${leaf.id}` : ''}
264
+ onClick={() => {
265
+ //console.log('老子杯垫了leaf:', leaf,attributes)
266
+ if (props.onRetriveTagClick) {
267
+ props.onRetriveTagClick(leaf,attributes);
268
+ }
269
+ }}
270
+ onMouseEnter={e => (e.currentTarget.style.background = '#bae7ff')}
271
+ onMouseLeave={e => (e.currentTarget.style.background = '#e6f7ff')}
272
+ >
273
+ {el}
274
+ </span>
275
+ );
276
+ // 保证行内渲染,直接返回
277
+ return el;
278
+ }
279
+
280
+ if (leaf.code) {
281
+ el = (
282
+ <code
283
+ style={{
284
+ padding: '0.125rem 0.375rem',
285
+ margin: '0 0.125rem',
286
+ borderRadius: '0.25rem',
287
+ backgroundColor: '#f6f8fa',
288
+ color: '#1f2328',
289
+ fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace',
290
+ fontSize: '0.875rem',
291
+ border: '1px solid #d0d7de',
292
+ fontWeight: leaf.bold ? 600 : 'normal',
293
+ fontStyle: leaf.italic ? 'italic' : 'normal',
294
+ textDecoration: [
295
+ leaf.underline && 'underline',
296
+ leaf.strikethrough && 'line-through'
297
+ ].filter(Boolean).join(' ') || 'none'
298
+ }}
299
+ >
300
+ {el}
301
+ </code>
302
+ );
303
+ } else {
304
+ const style: React.CSSProperties = {
305
+ fontWeight: leaf.bold ? 600 : 'normal',
306
+ fontStyle: leaf.italic ? 'italic' : 'normal',
307
+ textDecoration: [
308
+ leaf.underline && 'underline',
309
+ leaf.strikethrough && 'line-through'
310
+ ].filter(Boolean).join(' ') || 'none',
311
+ color: leaf.strikethrough ? '#6b7280' : 'inherit'
312
+ };
313
+ el = <span style={style}>{el}</span>;
314
+ }
315
+
316
+ if (leaf.link) {
317
+ el = (
318
+ <a
319
+ href={leaf.link}
320
+ target="_blank"
321
+ rel="noopener noreferrer"
322
+ style={{
323
+ color: '#3b82f6',
324
+ textDecoration: 'underline'
325
+ }}
326
+ onMouseEnter={(e) => {
327
+ e.currentTarget.style.color = '#2563eb';
328
+ }}
329
+ onMouseLeave={(e) => {
330
+ e.currentTarget.style.color = '#3b82f6';
331
+ }}
332
+ >
333
+ {el}
334
+ </a>
335
+ );
336
+ }
337
+
338
+ return <span {...attributes}>{el}</span>;
339
+ };
@@ -0,0 +1,3 @@
1
+ .ant-form-item-control-input{
2
+ min-height: 0px !important;
3
+ }