@gientech/modual 1.3.3 → 1.3.4

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 (307) hide show
  1. package/README.md +129 -129
  2. package/{dist/assets → assets}/database.svg +11 -11
  3. package/{src/modules/database/assets → assets}/database_add.svg +53 -53
  4. package/{dist/assets → assets}/database_connect.svg +66 -66
  5. package/{dist/assets → assets}/database_upload.svg +29 -29
  6. package/{dist/assets → assets}/defaultWeLogo.svg +14 -14
  7. package/{dist/assets/index-mPgEc8KC.js → assets/index-CDNF071H.js} +38 -38
  8. package/{dist/assets/index-XvC_4jDB.js → assets/index-Ce4td48i.js} +20 -20
  9. package/{dist/assets → assets}/mysql.svg +14 -14
  10. package/{dist/chat.js → chat.js} +2 -2
  11. package/database.js +20 -0
  12. package/{dist/databaseId.js → databaseId.js} +1 -1
  13. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  14. package/{dist/modelManage.js → modelManage.js} +1 -1
  15. package/package.json +39 -83
  16. package/{dist/sensitive.js → sensitive.js} +1 -1
  17. package/{dist/streamFilesReader.js → streamFilesReader.js} +10 -10
  18. package/{dist/worker → worker}/pdf.worker.min.js +21 -21
  19. package/.editorconfig +0 -38
  20. package/.prettierignore +0 -16
  21. package/.prettierrc +0 -17
  22. package/USAGE.md +0 -191
  23. package/bash.exe.stackdump +0 -40
  24. package/components.json +0 -21
  25. package/dist/README.md +0 -129
  26. package/dist/assets/database_add.svg +0 -53
  27. package/dist/database.js +0 -20
  28. package/dist/package.json +0 -56
  29. package/doc_assets/2.png +0 -0
  30. package/doc_assets/demo.md +0 -27
  31. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  32. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  33. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  34. package/doc_assets/demos/dist-app/index.html +0 -14
  35. package/doc_assets/demos/dist-app/vite.svg +0 -1
  36. package/doc_assets/images/1.png +0 -0
  37. package/doc_assets/images/3.png +0 -0
  38. package/doc_assets/images/component-screenshot.png +0 -1
  39. package/doc_assets/install.md +0 -5
  40. package/eslint.config.js +0 -92
  41. package/index.html +0 -13
  42. package/postcss.config.cjs +0 -19
  43. package/public/vite.svg +0 -1
  44. package/public/worker/pdf.worker.min.js +0 -22
  45. package/scripts/README.md +0 -133
  46. package/scripts/build-demo.js +0 -88
  47. package/scripts/demo-selector.js +0 -216
  48. package/scripts/dev-demo.js +0 -76
  49. package/scripts/preview-demo.js +0 -130
  50. package/scripts/run-demo.bat +0 -34
  51. package/src/assets/img/downArrow.png +0 -0
  52. package/src/assets/img/excel.png +0 -0
  53. package/src/assets/img/img.png +0 -0
  54. package/src/assets/img/pdf.png +0 -0
  55. package/src/assets/img/ppt.png +0 -0
  56. package/src/assets/img/txt.png +0 -0
  57. package/src/assets/img/word.png +0 -0
  58. package/src/assets/login/homeBg.png +0 -0
  59. package/src/assets/login/left.jpg +0 -0
  60. package/src/assets/login/logoImg.png +0 -0
  61. package/src/examples/LoginPage/index.tsx +0 -18
  62. package/src/examples/aaa/index.tsx +0 -3758
  63. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  64. package/src/examples/chat/index.tsx +0 -190
  65. package/src/examples/gientechStreamFilesReader/index.tsx +0 -1016
  66. package/src/examples/ragDatabaseDataPage/index.tsx +0 -36
  67. package/src/examples/ragDatabaseIdPage/index.tsx +0 -44
  68. package/src/examples/ragDatabasePage/index.tsx +0 -36
  69. package/src/examples/ragModelManagePage/index.tsx +0 -37
  70. package/src/examples/ragSearchPage/index.tsx +0 -0
  71. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  72. package/src/examples/streamFiles/index.tsx +0 -384
  73. package/src/lib_enter.ts +0 -38
  74. package/src/main.tsx +0 -5
  75. package/src/main.tsx.backup +0 -5
  76. package/src/modules/chat/Conversations/Item.tsx +0 -167
  77. package/src/modules/chat/Conversations/List.tsx +0 -143
  78. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  79. package/src/modules/chat/Conversations/index.tsx +0 -212
  80. package/src/modules/chat/constants.tsx +0 -33
  81. package/src/modules/chat/data.txt +0 -82
  82. package/src/modules/chat/index.tsx +0 -1908
  83. package/src/modules/chat/types.ts +0 -17
  84. package/src/modules/database/CreateModal.tsx +0 -398
  85. package/src/modules/database/assets/Doris.png +0 -0
  86. package/src/modules/database/assets/PostgreSQL.png +0 -0
  87. package/src/modules/database/assets/SQLServer.png +0 -0
  88. package/src/modules/database/assets/database.svg +0 -11
  89. package/src/modules/database/assets/database_connect.svg +0 -66
  90. package/src/modules/database/assets/database_upload.svg +0 -29
  91. package/src/modules/database/assets/empty.png +0 -0
  92. package/src/modules/database/assets/mysql.svg +0 -14
  93. package/src/modules/database/index.tsx +0 -466
  94. package/src/modules/database/server.ts +0 -196
  95. package/src/modules/databaseId/CustomCom.tsx +0 -156
  96. package/src/modules/databaseId/EditConfig.tsx +0 -268
  97. package/src/modules/databaseId/UploadDrawer.tsx +0 -520
  98. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  99. package/src/modules/databaseId/assets/empty.png +0 -0
  100. package/src/modules/databaseId/assets/template.svg +0 -6
  101. package/src/modules/databaseId/assets/upload.svg +0 -9
  102. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  103. package/src/modules/databaseId/index.tsx +0 -734
  104. package/src/modules/databaseId/server.ts +0 -286
  105. package/src/modules/databaseId/style.css +0 -5
  106. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -119
  107. package/src/modules/databaseTable/index.tsx +0 -357
  108. package/src/modules/databaseTable/server.ts +0 -180
  109. package/src/modules/headlessChat/constants.tsx +0 -32
  110. package/src/modules/headlessChat/index.tsx +0 -1065
  111. package/src/modules/headlessChat/types.ts +0 -23
  112. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  113. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  114. package/src/modules/login/components/Login/index.tsx +0 -100
  115. package/src/modules/login/index.tsx +0 -106
  116. package/src/modules/login/style.css +0 -3
  117. package/src/modules/login/useServices.ts +0 -53
  118. package/src/modules/login/utils.ts +0 -42
  119. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  120. package/src/modules/modelManage/assets/empty.png +0 -0
  121. package/src/modules/modelManage/const.ts +0 -50
  122. package/src/modules/modelManage/index.tsx +0 -439
  123. package/src/modules/modelManage/server.ts +0 -185
  124. package/src/modules/nodegraph/index.tsx +0 -1
  125. package/src/modules/search/assets/Icon-history.svg +0 -8
  126. package/src/modules/search/assets/answerAwartar.png +0 -0
  127. package/src/modules/search/assets/doc.png +0 -0
  128. package/src/modules/search/assets/genera.gif +0 -0
  129. package/src/modules/search/assets/icon-robot.svg +0 -9
  130. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  131. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  132. package/src/modules/search/assets/icon-title.svg +0 -9
  133. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  134. package/src/modules/search/assets/iconAi.svg +0 -9
  135. package/src/modules/search/assets/pdf.png +0 -0
  136. package/src/modules/search/assets/ppt.png +0 -0
  137. package/src/modules/search/assets/search.svg +0 -3
  138. package/src/modules/search/assets/selected.svg +0 -4
  139. package/src/modules/search/assets/txt.png +0 -0
  140. package/src/modules/search/assets/xls.png +0 -0
  141. package/src/modules/search/components/AssisSelect.tsx +0 -137
  142. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  143. package/src/modules/search/components/Editor/aichat.css +0 -1
  144. package/src/modules/search/components/Editor/constant.ts +0 -13
  145. package/src/modules/search/components/Editor/index.tsx +0 -113
  146. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  147. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  148. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  149. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  150. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  151. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  152. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  153. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  154. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  155. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  156. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  157. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  158. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  159. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  160. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  161. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  162. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  163. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  164. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  165. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  166. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  167. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  168. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  169. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  170. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  171. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  172. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  173. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  174. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  175. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  176. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  177. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  178. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  179. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  180. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  181. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  182. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  183. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  184. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  185. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  186. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  187. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  188. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  189. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  190. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  191. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  192. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  193. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  194. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  195. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  196. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  197. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  198. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  199. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  200. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  201. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  202. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  203. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  204. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  205. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  206. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  207. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  208. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  209. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  210. package/src/modules/search/components/Editor/ui/style.less +0 -12
  211. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  212. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  213. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  214. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  215. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  216. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  217. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  218. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  219. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  220. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  221. package/src/modules/search/components/FileList.tsx +0 -287
  222. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  223. package/src/modules/search/components/ResultContent.tsx +0 -232
  224. package/src/modules/search/components/SearchInput.tsx +0 -232
  225. package/src/modules/search/components/SearchLanding.tsx +0 -74
  226. package/src/modules/search/components/SearchView.tsx +0 -563
  227. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  228. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  229. package/src/modules/search/index.tsx +0 -10
  230. package/src/modules/search/reademe.md +0 -1
  231. package/src/modules/search/servers/apis.tsx +0 -19
  232. package/src/modules/search/servers/index.ts +0 -184
  233. package/src/modules/search/style.less +0 -503
  234. package/src/modules/search/type.ts +0 -22
  235. package/src/modules/search/utils.ts +0 -34
  236. package/src/modules/sensitive/index.tsx +0 -313
  237. package/src/modules/sensitive/server.ts +0 -122
  238. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1555
  239. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  240. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  241. package/src/modules/streamFilesReader/index.tsx +0 -3
  242. package/src/style.css +0 -6
  243. package/src/type.d.ts +0 -0
  244. package/src/utils/commonFn.tsx +0 -111
  245. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  246. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  247. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  248. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  249. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  250. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -310
  251. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  252. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -390
  253. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  254. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -296
  255. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -339
  256. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  257. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  258. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  259. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  260. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  261. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  262. package/src/utils/gientechCommon/components/style.less +0 -11
  263. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  264. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  265. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  266. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -345
  267. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  268. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  269. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  270. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  271. package/src/utils/gientechCommon/utils/request.ts +0 -37
  272. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  273. package/src/utils/index.tsx +0 -126
  274. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  275. package/src/utils/testconfigs/index.ts +0 -53
  276. package/src/vite-env.d.ts +0 -11
  277. package/stats.html +0 -4949
  278. package/tailwind.config.js +0 -170
  279. package/tsconfig.app.json +0 -30
  280. package/tsconfig.app.tsbuildinfo +0 -11
  281. package/tsconfig.json +0 -13
  282. package/tsconfig.node.json +0 -22
  283. package/tsconfig.node.tsbuildinfo +0 -1
  284. package/vite.config.ts +0 -177
  285. package/workflows/release.yml +0 -60
  286. /package/{dist/assets → assets}/Doris.png +0 -0
  287. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  288. /package/{dist/assets → assets}/SQLServer.png +0 -0
  289. /package/{dist/assets → assets}/_commonjsHelpers-gnU0ypJ3.js +0 -0
  290. /package/{dist/assets → assets}/circle-alert-g2Y6zAjt.js +0 -0
  291. /package/{dist/assets → assets}/empty.png +0 -0
  292. /package/{dist/assets → assets}/index-CEK88UzR.js +0 -0
  293. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  294. /package/{dist/assets → assets}/plus-omCUN0e3.js +0 -0
  295. /package/{dist/assets → assets}/style.css +0 -0
  296. /package/{dist/assets → assets}/style2.css +0 -0
  297. /package/{dist/assets → assets}/style3.css +0 -0
  298. /package/{dist/assets → assets}/styled-components.browser.esm-DPkS13KC.js +0 -0
  299. /package/{dist/assets → assets}/x-vPcWt3fC.js +0 -0
  300. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  301. /package/{dist/database.d.ts → database.d.ts} +0 -0
  302. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  303. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  304. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  305. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  306. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  307. /package/{dist/vite.svg → vite.svg} +0 -0
@@ -1,297 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import { X, ChevronLeft, ChevronRight, ZoomIn, ZoomOut, Download, Pencil, RotateCcw, RotateCw } from 'lucide-react';
4
- import type { AppTheme, ToolsConfig } from '../../../core/types';
5
-
6
- // Header组件属性接口
7
- export interface HeaderProps {
8
- // 文件信息
9
- fileName?: string;
10
- currentPage?: number;
11
- totalPage?: number;
12
-
13
- // 工具配置
14
- tools?: ToolsConfig;
15
-
16
- // 样式配置
17
- styles?: {
18
- theme?: AppTheme;
19
- };
20
-
21
- // 事件回调
22
- onPrevPage?: () => void;
23
- onNextPage?: () => void;
24
- onZoomIn?: () => void;
25
- onZoomOut?: () => void;
26
- onAnnotationToggle?: () => void;
27
- onDownload?: () => void;
28
- onRotateLeft?: () => void;
29
- onRotateRight?: () => void;
30
- onClose?: () => void;
31
-
32
- // 状态
33
- scale?: number;
34
- isAnnotating?: boolean;
35
-
36
- // 自定义类名
37
- className?: string;
38
- }
39
-
40
- // 样式组件
41
- const HeaderContainer = styled.div<{ $theme: AppTheme }>`
42
- display: flex;
43
- align-items: center;
44
- padding: 0px 12px;
45
- justify-content: space-between;
46
- padding: ${props => props.$theme.space.padding};
47
- border-bottom: 1px solid ${props => props.$theme.colors.border};
48
- background: ${props => props.$theme.colors.background};
49
- min-height: 52px;
50
- `;
51
-
52
- const FileInfo = styled.div<{ $theme: AppTheme }>`
53
- display: flex;
54
- align-items: center;
55
- gap: 8px;
56
- flex: 1;
57
- min-width: 0;
58
- `;
59
-
60
- const FileName = styled.div<{ $theme: AppTheme }>`
61
- font-size: 14px;
62
- font-weight: 500;
63
- color: ${props => props.$theme.colors.text};
64
- white-space: nowrap;
65
- overflow: hidden;
66
- text-overflow: ellipsis;
67
- `;
68
-
69
- const PageInfo = styled.div<{ $theme: AppTheme }>`
70
- font-size: 12px;
71
- color: ${props => props.$theme.colors.disabledText};
72
- white-space: nowrap;
73
- `;
74
-
75
- const ToolBar = styled.div<{ $theme: AppTheme }>`
76
- display: flex;
77
- align-items: center;
78
- gap: 4px;
79
- `;
80
-
81
- const ToolButton = styled.button<{ $theme: AppTheme; $active?: boolean }>`
82
- display: flex;
83
- align-items: center;
84
- justify-content: center;
85
- width: 32px;
86
- height: 32px;
87
- border: none;
88
- border-radius: ${props => props.$theme.space.radius};
89
- background: ${props => props.$active ? props.$theme.colors.primary + '20' : 'transparent'};
90
- color: ${props => props.$active ? props.$theme.colors.primary : props.$theme.colors.text};
91
- cursor: pointer;
92
- transition: all 0.2s ease;
93
-
94
- &:hover {
95
- background: ${props => props.$theme.colors.primary + '10'};
96
- color: ${props => props.$theme.colors.primary};
97
- }
98
-
99
- &:disabled {
100
- opacity: 0.5;
101
- cursor: not-allowed;
102
- }
103
- `;
104
-
105
- const ZoomInfo = styled.div<{ $theme: AppTheme }>`
106
- font-size: 12px;
107
- color: ${props => props.$theme.colors.disabledText};
108
- min-width: 40px;
109
- text-align: center;
110
- `;
111
-
112
- // 默认主题
113
- const defaultTheme: AppTheme = {
114
- colors: {
115
- primary: '#007bff',
116
- secondary: '#6c757d',
117
- success: '#008000',
118
- warning: '#FFA500',
119
- error: '#FF0000',
120
- info: '#0000FF',
121
- background: '#f8f9fa',
122
- text: '#343a40',
123
- border: '#dee2e6',
124
- disabled: '#808080',
125
- disabledBackground: '#F5F5F5',
126
- disabledText: '#808080',
127
- },
128
- space: {
129
- sidebar: 'md',
130
- size: 'md',
131
- radius: 'md',
132
- padding: 'md',
133
- margin: 'md',
134
- shadow: 'md',
135
- lineHeight: 'md',
136
- },
137
- };
138
-
139
- /**
140
- * Header组件
141
- * 负责文件查看器的头部工具栏
142
- *
143
- * @param props - 组件属性
144
- * @returns Header组件
145
- */
146
- const Header: React.FC<HeaderProps> = React.memo(({
147
- fileName = '未知文件',
148
- currentPage = 1,
149
- totalPage = 0,
150
- tools = {
151
- annotation: true,
152
- download: true,
153
- zoom: true,
154
- close: true,
155
- navigation: true,
156
- rotate: true,
157
- },
158
- styles,
159
- onPrevPage,
160
- onNextPage,
161
- onZoomIn,
162
- onZoomOut,
163
- onAnnotationToggle,
164
- onDownload,
165
- onRotateLeft,
166
- onRotateRight,
167
- onClose,
168
- scale = 1,
169
- isAnnotating = false,
170
- className,
171
- }) => {
172
- // 使用主题
173
- const mergedTheme = styles?.theme || defaultTheme;
174
-
175
- // 添加调试信息
176
- console.log('Header组件渲染 - currentPage:', currentPage, 'totalPage:', totalPage);
177
-
178
- return (
179
- <HeaderContainer $theme={mergedTheme} className={className}>
180
- <FileInfo $theme={mergedTheme}>
181
- <FileName $theme={mergedTheme}>
182
- {fileName}
183
- </FileName>
184
- </FileInfo>
185
-
186
- <ToolBar $theme={mergedTheme}>
187
- {/* 页面导航 */}
188
- {tools.navigation && (
189
- <>
190
- <ToolButton
191
- $theme={mergedTheme}
192
- onClick={onPrevPage}
193
- disabled={currentPage <= 1}
194
- title="上一页"
195
- >
196
- <ChevronLeft size={16} />
197
- </ToolButton>
198
- {totalPage > 0 && (
199
- <PageInfo $theme={mergedTheme}>
200
- {currentPage} / {totalPage}
201
- </PageInfo>
202
- )}
203
- <ToolButton
204
- $theme={mergedTheme}
205
- onClick={onNextPage}
206
- disabled={!totalPage || currentPage >= totalPage}
207
- title="下一页"
208
- >
209
- <ChevronRight size={16} />
210
- </ToolButton>
211
- </>
212
- )}
213
-
214
- {/* 缩放控制 */}
215
- {tools.zoom && (
216
- <>
217
- <ToolButton
218
- $theme={mergedTheme}
219
- onClick={onZoomOut}
220
- disabled={scale <= 0.3}
221
- title="缩小"
222
- >
223
- <ZoomOut size={16} />
224
- </ToolButton>
225
- <ZoomInfo $theme={mergedTheme}>
226
- {Math.round(scale * 100)}%
227
- </ZoomInfo>
228
- <ToolButton
229
- $theme={mergedTheme}
230
- onClick={onZoomIn}
231
- disabled={scale >= 3}
232
- title="放大"
233
- >
234
- <ZoomIn size={16} />
235
- </ToolButton>
236
- </>
237
- )}
238
-
239
- {/* 标注工具 */}
240
- {tools.annotation && (
241
- <ToolButton
242
- $theme={mergedTheme}
243
- $active={isAnnotating}
244
- onClick={onAnnotationToggle}
245
- title={isAnnotating ? '退出标注' : '开始标注'}
246
- >
247
- <Pencil size={16} />
248
- </ToolButton>
249
- )}
250
-
251
- {/* 下载按钮 */}
252
- {tools.download && (
253
- <ToolButton
254
- $theme={mergedTheme}
255
- onClick={onDownload}
256
- title="下载"
257
- >
258
- <Download size={16} />
259
- </ToolButton>
260
- )}
261
-
262
- {/* 旋转控制 */}
263
- {tools.rotate && (
264
- <>
265
- <ToolButton
266
- $theme={mergedTheme}
267
- onClick={onRotateLeft}
268
- title="向左旋转"
269
- >
270
- <RotateCcw size={16} />
271
- </ToolButton>
272
- <ToolButton
273
- $theme={mergedTheme}
274
- onClick={onRotateRight}
275
- title="向右旋转"
276
- >
277
- <RotateCw size={16} />
278
- </ToolButton>
279
- </>
280
- )}
281
-
282
- {/* 关闭按钮 */}
283
- {tools.close && (
284
- <ToolButton
285
- $theme={mergedTheme}
286
- onClick={onClose}
287
- title="关闭"
288
- >
289
- <X size={16} />
290
- </ToolButton>
291
- )}
292
- </ToolBar>
293
- </HeaderContainer>
294
- );
295
- });
296
-
297
- export default Header;
@@ -1,3 +0,0 @@
1
- // 导出 GientechStreamReader 组件和类型
2
- export { default as GientechStreamReader } from './GientechStreamReader';
3
- export type { GientechStreamReaderProps } from './GientechStreamReader';
package/src/style.css DELETED
@@ -1,6 +0,0 @@
1
- @import 'tailwindcss';
2
-
3
- * {
4
- padding: 0;
5
- margin: 0;
6
- }
package/src/type.d.ts DELETED
File without changes
@@ -1,111 +0,0 @@
1
- import message from 'antd/es/message';
2
- import { uid } from 'uid';
3
- import Clipboard from 'clipboard';
4
-
5
- export const toCopy = (content: any, event: any) => {
6
- // 去除 <think>...</think> 标签及内容
7
- let _content = content ? content.replace(/<think>[\s\S]*?<\/think>/g, '') : content;
8
-
9
- // 去除 [retrive-tag ...]...[/retrive-tag] 标签及内容
10
- _content = _content.replace(/\[retrive-tag[^\]]*\][\s\S]*?\[\/retrive-tag\]/g, '');
11
-
12
- // 去除 <a> 标签(保留原有逻辑)
13
- _content = _content.replace(/<a\s+[^>]*>(.*?)<\/a>/g, '');
14
- console.log('_content', _content);
15
-
16
- const clipboard: any = new Clipboard(event.currentTarget || event.target, {
17
- text: () => _content,
18
- });
19
-
20
- try {
21
- clipboard.on('success', () => {
22
- message.success('文本复制成功', 2);
23
- clipboard.destroy();
24
- });
25
- clipboard.on('error', (e:any) => {
26
- message.error('复制失败', 2);
27
- clipboard.destroy();
28
- });
29
-
30
- clipboard.onClick(event);
31
- } catch (error) {
32
- clipboard.destroy();
33
- message.error('复制失败: ' + error, 2);
34
- }
35
-
36
- // if (navigator.clipboard?.writeText) {
37
- // console.log('_content1', navigator);
38
- // navigator.clipboard
39
- // .writeText(_content)
40
- // .then(() => {
41
- // console.log('_content2', _content);
42
- // message.success('文本复制成功', 2);
43
- // })
44
- // .catch(err => {
45
- // message.error('复制失败: ', 2);
46
- // console.log('error occurs when copy:', err);
47
- // });
48
- // } else {
49
- // console.log('_content3', _content);
50
- // const textareaDom = document.createElement('textarea');
51
- // console.log('_content4', textareaDom);
52
- // textareaDom.value = _content;
53
- // textareaDom.style.position = 'absolute';
54
- // textareaDom.style.opacity = '0';
55
- // textareaDom.style.left = '-500px';
56
- // textareaDom.style.top = '-500px';
57
- // textareaDom.style.height = '0';
58
- // document.body.appendChild(textareaDom);
59
- // textareaDom.focus();
60
- // textareaDom.select();
61
- // document.execCommand('copy');
62
- // textareaDom.remove();
63
- // message.success('文本复制成功', 2);
64
- // }
65
- };
66
-
67
- // 添加文件类型判断辅助函数
68
- export const getFileTypeByName = (fileName: string): string => {
69
- const extension = fileName.toLowerCase().split('.').pop() || '';
70
- if (/^(jpg|jpeg|png|gif|bmp|webp)$/.test(extension)) return 'image';
71
- if (/^(doc|docx)$/.test(extension)) return 'word';
72
- if (/^(xls|xlsx|csv)$/.test(extension)) return 'excel';
73
- if (/^(ppt|pptx)$/.test(extension)) return 'ppt';
74
- if (extension === 'pdf') return 'pdf';
75
- if (/^(txt|json|md|markdown)$/.test(extension)) return 'text';
76
- if (/^(zip|rar|7z)$/.test(extension)) return 'archive';
77
- return 'file';
78
- };
79
-
80
- // 将 query-reply 对列表转换为消息数组
81
- export function convertQueryReplyPairListToMessages(queryReplyPairList: any[]): any[] {
82
-
83
- const messages: any[] = [];
84
- for (const pair of queryReplyPairList) {
85
- //console.log(pair, 'pair');
86
- if (pair.query) {
87
- const _queryId = pair.query.queryId || pair.query.id || pair.queryId || pair.id || uid(32);
88
- messages.push({
89
- istype: 'user',
90
- content: pair.query.content,
91
- time: pair.query.gmtCreate,
92
- queryId: _queryId,
93
- clientSideId: _queryId + '-user',
94
- ...pair.query,
95
- });
96
- }
97
- if (pair.reply) {
98
- const _queryId = pair.reply.queryId || pair.reply.id || pair.queryId || pair.id || uid(32);
99
- messages.push({
100
- istype: 'ai',
101
- content: pair.reply.content,
102
- isDefault: pair.reply.isDefault,
103
- time: pair.time || pair.gmtCreate || Date.now(),
104
- queryId: _queryId,
105
- clientSideId: _queryId + '-ai',
106
- ...pair.reply,
107
- });
108
- }
109
- }
110
- return messages;
111
- }
@@ -1,32 +0,0 @@
1
- import { Button } from 'antd';
2
- import { XOctagon, RefreshCw } from 'lucide-react';
3
-
4
- export default function AppError({ msg, subMsg }: { msg?: string; subMsg?: string }) {
5
- return (
6
- <div className="flex flex-col items-center justify-center h-full p-8 text-center bg-white/80 backdrop-blur-sm">
7
- {/* 错误图标 */}
8
- <div className="mb-6 animate-bounce">
9
- <XOctagon size={64} className="text-[#d70016]" />
10
- </div>
11
-
12
- {/* 错误标题 */}
13
- <h2 className="text-[20px] font-medium text-[#222222] mb-3">{msg || '应用初始化失败'}</h2>
14
-
15
- {/* 错误描述 */}
16
- <p className="text-[14px] text-[#555555] mb-8 max-w-[400px]">
17
- {subMsg ||
18
- '无法完成应用初始化,这可能是由于网络连接问题或服务配置错误导致的。请检查您的网络连接并重试。'}
19
- </p>
20
-
21
- {/* 重试按钮 */}
22
- <Button
23
- type="primary"
24
- icon={<RefreshCw className="w-4 h-4" />}
25
- onClick={() => window.location.reload()}
26
- className="flex items-center gap-2 bg-gradient-to-r from-[#2B69FF] to-[#8F91FF] border-none hover:opacity-90"
27
- >
28
- 重新加载
29
- </Button>
30
- </div>
31
- );
32
- }
@@ -1,75 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
-
3
- export default function AppLoading() {
4
- const [progress, setProgress] = useState(0);
5
-
6
- useEffect(() => {
7
- let timer: any;
8
- if (progress < 98) {
9
- timer = setTimeout(() => {
10
- setProgress(p => p + Math.random() * 6 + 1);
11
- }, 80);
12
- } else if (progress < 100) {
13
- timer = setTimeout(() => setProgress(100), 400);
14
- }
15
- return () => clearTimeout(timer);
16
- }, [progress]);
17
-
18
- return (
19
- <div className="flex flex-col justify-center items-center min-h-screen bg-gradient-to-br from-[#EEF4FF] via-white to-[#F5F8FF]">
20
- {/* Logo区域 */}
21
- <div className="mb-8 flex flex-col items-center">
22
- {/* <div className="w-20 h-20 rounded-full bg-gradient-to-r from-[#2B69FF] to-[#8F91FF] flex items-center justify-center shadow-lg animate-bounce-slow">
23
- <svg width="48" height="48" viewBox="0 0 38 38" fill="none" xmlns="http://www.w3.org/2000/svg">
24
- <ellipse cx="19" cy="19" rx="19" ry="19" fill="url(#paint0_linear)"/>
25
- <path d="M12 25c2.5-2 7.5-2 10 0" stroke="#fff" strokeWidth="2.2" strokeLinecap="round"/>
26
- <ellipse cx="14.5" cy="16" rx="1.5" ry="2" fill="#fff"/>
27
- <ellipse cx="23.5" cy="16" rx="1.5" ry="2" fill="#fff"/>
28
- <defs>
29
- <linearGradient id="paint0_linear" x1="0" y1="0" x2="38" y2="38" gradientUnits="userSpaceOnUse">
30
- <stop stopColor="#2B69FF"/>
31
- <stop offset="1" stopColor="#8F91FF"/>
32
- </linearGradient>
33
- </defs>
34
- </svg>
35
- </div> */}
36
- <div className="mt-6 text-2xl font-semibold text-[#222222] tracking-wide">小鲸智能会话助手</div>
37
- <div className="mt-2 text-sm text-[#555555]">让智能对话更简单</div>
38
- </div>
39
-
40
- {/* 进度条 */}
41
- <div className="relative w-80 max-w-sm">
42
- <div className="w-full h-2 bg-[#EEF4FF] rounded-full overflow-hidden shadow-inner">
43
- <div
44
- className="h-full bg-gradient-to-r from-[#2B69FF] to-[#8F91FF] transition-all duration-300 ease-out"
45
- style={{ width: `${Math.min(progress, 100)}%` }}
46
- />
47
- </div>
48
- <div className="absolute -right-2 top-5 text-sm text-[#555555]">{Math.min(Math.round(progress), 100)}%</div>
49
- </div>
50
-
51
- {/* 加载提示 */}
52
- <div className="mt-8 flex flex-col items-center gap-2">
53
- <div className="text-sm text-[#555555] animate-pulse">
54
- 正在初始化应用
55
- </div>
56
- <div className="text-xs text-[#888888]">
57
- 首次加载可能需要一些时间,请耐心等待
58
- </div>
59
- </div>
60
- </div>
61
- );
62
- }
63
-
64
- // 添加动画样式
65
- const style = document.createElement('style');
66
- style.textContent = `
67
- .animate-bounce-slow {
68
- animation: bounce 2.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
69
- }
70
- @keyframes bounce {
71
- 0%, 100% { transform: translateY(0); }
72
- 50% { transform: translateY(-12px); }
73
- }
74
- `;
75
- document.head.appendChild(style);
@@ -1,75 +0,0 @@
1
- import { Button, ConfigProvider, Form, Input, Modal } from "antd";
2
- import { useForm } from "antd/es/form/Form";
3
- import { useEffect } from "react";
4
-
5
- export const DeleteModal = ({
6
- isModalOpen,
7
- handleOk,
8
- handleCancel,
9
- data
10
- }: any) => {
11
- const modalStyles = {
12
- header: {
13
- height: "60px",
14
- borderBottom: "1px solid #F0F0F0",
15
- display: "flex",
16
- paddingLeft: "24px",
17
- alignItems: "center",
18
- marginBottom: "16px"
19
- },
20
- title: { fontSize: "16px" },
21
- body: { padding: "0 24px" },
22
- mask: {},
23
- footer: { marginTop: "0px", padding: "0 24px 16px 24px" },
24
- content: { padding: 0 }
25
- };
26
- const [rename_form] = useForm();
27
- useEffect(() => {
28
- if (!isModalOpen) {
29
- rename_form.resetFields();
30
- return;
31
- }
32
- rename_form.setFieldValue("new_name", data?.label);
33
- }, [data, isModalOpen]);
34
- return (
35
- <ConfigProvider
36
- modal={{
37
- styles: modalStyles
38
- }}
39
- >
40
- <Modal
41
- title={<div className="text-[16px]">删除会话</div>}
42
- closeIcon={null}
43
- open={isModalOpen}
44
- width={520}
45
- centered
46
- className="[&:[.ant-modal-content]]:bg-red"
47
- footer={
48
- <div className="mt-[16px] flex justify-end">
49
- <Button
50
- children="取消"
51
- onClick={handleCancel}
52
- className="mr-[8px]"
53
- />
54
- <Button
55
- children="确认"
56
- onClick={async () => {
57
- try {
58
- const data = await rename_form.validateFields();
59
- handleOk("ok_remove", data);
60
- } catch (e) {
61
- console.log(e);
62
- return;
63
- }
64
- }}
65
- type="primary"
66
- className="border-none"
67
- />
68
- </div>
69
- }
70
- >
71
- <div>{`确定要删除会话「${data.label}」吗?删除后无法恢复。`}</div>
72
- </Modal>
73
- </ConfigProvider>
74
- );
75
- };
@@ -1,33 +0,0 @@
1
- import { Button } from 'antd';
2
- import { AlertCircle, RefreshCw } from 'lucide-react';
3
-
4
- export default function DisplayError() {
5
- return (
6
- <div className="flex flex-col items-center justify-center h-full p-8 text-center bg-transparent! backdrop-blur-sm">
7
- {/* 错误图标 */}
8
- <div className="mb-6 animate-bounce">
9
- <AlertCircle size={64} className="text-[#d70016]" />
10
- </div>
11
-
12
- {/* 错误标题 */}
13
- <h2 className="text-[20px] font-medium text-[#222222] mb-3">
14
- 抱歉,遇到了一些问题
15
- </h2>
16
-
17
- {/* 错误描述 */}
18
- <p className="text-[14px] text-[#555555] mb-8 max-w-[400px]">
19
- 请求失败,请稍后重试
20
- </p>
21
-
22
- {/* 重试按钮 */}
23
- <Button
24
- type="primary"
25
- icon={<RefreshCw className="w-4 h-4" />}
26
- onClick={() => window.location.reload()}
27
- className="flex items-center gap-2 bg-gradient-to-r from-[#2B69FF] to-[#8F91FF] border-none hover:opacity-90"
28
- >
29
- 重新加载
30
- </Button>
31
- </div>
32
- );
33
- }
@@ -1,38 +0,0 @@
1
- import { Skeleton } from 'antd';
2
-
3
- export default function DisplayLoading() {
4
- return (
5
- <div className="flex flex-col gap-8 p-4 w-full mx-auto">
6
- {/* 用户消息骨架 */}
7
- <div className="flex items-start gap-4">
8
- <div className="w-10 h-10 rounded-full bg-muted/80 animate-pulse" />
9
- <div className="flex-1">
10
- <Skeleton active paragraph={{ rows: 1 }} />
11
- </div>
12
- </div>
13
-
14
- {/* AI回复骨架 */}
15
- <div className="flex items-start gap-4">
16
- <div className="w-10 h-10 rounded-full bg-muted/80 animate-pulse" />
17
- <div className="flex-1">
18
- <Skeleton active paragraph={{ rows: 3 }} />
19
- </div>
20
- </div>
21
-
22
- {/* 第二组对话骨架 */}
23
- <div className="flex items-start gap-4">
24
- <div className="w-10 h-10 rounded-full bg-muted/80 animate-pulse" />
25
- <div className="flex-1">
26
- <Skeleton active paragraph={{ rows: 1 }} />
27
- </div>
28
- </div>
29
-
30
- <div className="flex items-start gap-4">
31
- <div className="w-10 h-10 rounded-full bg-muted/80 animate-pulse" />
32
- <div className="flex-1">
33
- <Skeleton active paragraph={{ rows: 2 }} />
34
- </div>
35
- </div>
36
- </div>
37
- );
38
- }