@gientech/modual 1.3.0 → 1.3.2

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 (308) hide show
  1. package/README.md +129 -129
  2. package/{dist/assets/mysql.svg → assets/MySQL.svg} +14 -14
  3. package/{dist/assets → assets}/database.svg +11 -11
  4. package/{src/modules/database/assets → assets}/database_add.svg +53 -53
  5. package/{dist/assets → assets}/database_connect.svg +66 -66
  6. package/{dist/assets → assets}/database_upload.svg +29 -29
  7. package/{dist/assets → assets}/defaultWeLogo.svg +14 -14
  8. package/{dist/assets/index-DIm7RgkM.js → assets/index-D-dGaGjW.js} +93 -279
  9. package/assets/index-ldqIbm0x.js +1289 -0
  10. package/assets/style.css +1 -0
  11. package/assets/style3.css +1 -0
  12. package/{dist/chat.js → chat.js} +78 -78
  13. package/database.js +20 -0
  14. package/{dist/databaseId.js → databaseId.js} +1 -1
  15. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  16. package/{dist/modelManage.js → modelManage.js} +1 -1
  17. package/package.json +39 -83
  18. package/{dist/sensitive.js → sensitive.js} +1 -1
  19. package/{dist/streamFilesReader.js → streamFilesReader.js} +11 -11
  20. package/{dist/worker → worker}/pdf.worker.min.js +21 -21
  21. package/.editorconfig +0 -38
  22. package/.prettierignore +0 -16
  23. package/.prettierrc +0 -17
  24. package/USAGE.md +0 -191
  25. package/bash.exe.stackdump +0 -40
  26. package/components.json +0 -21
  27. package/dist/README.md +0 -129
  28. package/dist/assets/database_add.svg +0 -53
  29. package/dist/assets/index-Bpnc4tRH.js +0 -1284
  30. package/dist/assets/style.css +0 -1
  31. package/dist/assets/style3.css +0 -1
  32. package/dist/database.js +0 -20
  33. package/dist/package.json +0 -56
  34. package/doc_assets/2.png +0 -0
  35. package/doc_assets/demo.md +0 -27
  36. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  37. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  38. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  39. package/doc_assets/demos/dist-app/index.html +0 -14
  40. package/doc_assets/demos/dist-app/vite.svg +0 -1
  41. package/doc_assets/images/1.png +0 -0
  42. package/doc_assets/images/3.png +0 -0
  43. package/doc_assets/images/component-screenshot.png +0 -1
  44. package/doc_assets/install.md +0 -5
  45. package/eslint.config.js +0 -92
  46. package/index.html +0 -13
  47. package/postcss.config.cjs +0 -19
  48. package/public/vite.svg +0 -1
  49. package/public/worker/pdf.worker.min.js +0 -22
  50. package/scripts/README.md +0 -133
  51. package/scripts/build-demo.js +0 -88
  52. package/scripts/demo-selector.js +0 -216
  53. package/scripts/dev-demo.js +0 -76
  54. package/scripts/preview-demo.js +0 -130
  55. package/scripts/run-demo.bat +0 -34
  56. package/src/assets/img/downArrow.png +0 -0
  57. package/src/assets/img/excel.png +0 -0
  58. package/src/assets/img/img.png +0 -0
  59. package/src/assets/img/pdf.png +0 -0
  60. package/src/assets/img/ppt.png +0 -0
  61. package/src/assets/img/txt.png +0 -0
  62. package/src/assets/img/word.png +0 -0
  63. package/src/assets/login/homeBg.png +0 -0
  64. package/src/assets/login/left.jpg +0 -0
  65. package/src/assets/login/logoImg.png +0 -0
  66. package/src/examples/LoginPage/index.tsx +0 -18
  67. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -77
  68. package/src/examples/chat/index.tsx +0 -179
  69. package/src/examples/gientechStreamFilesReader/index.tsx +0 -1016
  70. package/src/examples/ragDatabaseDataPage/index.tsx +0 -36
  71. package/src/examples/ragDatabaseIdPage/index.tsx +0 -44
  72. package/src/examples/ragDatabasePage/index.tsx +0 -36
  73. package/src/examples/ragModelManagePage/index.tsx +0 -37
  74. package/src/examples/ragSearchPage/index.tsx +0 -0
  75. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  76. package/src/examples/streamFiles/index.tsx +0 -384
  77. package/src/lib_enter.ts +0 -38
  78. package/src/main.tsx +0 -5
  79. package/src/main.tsx.backup +0 -5
  80. package/src/modules/chat/Conversations/Item.tsx +0 -167
  81. package/src/modules/chat/Conversations/List.tsx +0 -143
  82. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  83. package/src/modules/chat/Conversations/index.tsx +0 -212
  84. package/src/modules/chat/constants.tsx +0 -33
  85. package/src/modules/chat/index.tsx +0 -1836
  86. package/src/modules/chat/types.ts +0 -17
  87. package/src/modules/database/CreateModal.tsx +0 -398
  88. package/src/modules/database/assets/Doris.png +0 -0
  89. package/src/modules/database/assets/PostgreSQL.png +0 -0
  90. package/src/modules/database/assets/SQLServer.png +0 -0
  91. package/src/modules/database/assets/database.svg +0 -11
  92. package/src/modules/database/assets/database_connect.svg +0 -66
  93. package/src/modules/database/assets/database_upload.svg +0 -29
  94. package/src/modules/database/assets/empty.png +0 -0
  95. package/src/modules/database/assets/mysql.svg +0 -14
  96. package/src/modules/database/index.tsx +0 -466
  97. package/src/modules/database/server.ts +0 -196
  98. package/src/modules/databaseId/CustomCom.tsx +0 -156
  99. package/src/modules/databaseId/EditConfig.tsx +0 -268
  100. package/src/modules/databaseId/UploadDrawer.tsx +0 -520
  101. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  102. package/src/modules/databaseId/assets/empty.png +0 -0
  103. package/src/modules/databaseId/assets/template.svg +0 -6
  104. package/src/modules/databaseId/assets/upload.svg +0 -9
  105. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  106. package/src/modules/databaseId/index.tsx +0 -734
  107. package/src/modules/databaseId/server.ts +0 -286
  108. package/src/modules/databaseId/style.css +0 -5
  109. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -119
  110. package/src/modules/databaseTable/index.tsx +0 -357
  111. package/src/modules/databaseTable/server.ts +0 -180
  112. package/src/modules/headlessChat/constants.tsx +0 -32
  113. package/src/modules/headlessChat/index.tsx +0 -1065
  114. package/src/modules/headlessChat/types.ts +0 -23
  115. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  116. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  117. package/src/modules/login/components/Login/index.tsx +0 -100
  118. package/src/modules/login/index.tsx +0 -106
  119. package/src/modules/login/style.css +0 -3
  120. package/src/modules/login/useServices.ts +0 -53
  121. package/src/modules/login/utils.ts +0 -42
  122. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  123. package/src/modules/modelManage/assets/empty.png +0 -0
  124. package/src/modules/modelManage/const.ts +0 -50
  125. package/src/modules/modelManage/index.tsx +0 -439
  126. package/src/modules/modelManage/server.ts +0 -185
  127. package/src/modules/nodegraph/index.tsx +0 -1
  128. package/src/modules/search/assets/Icon-history.svg +0 -8
  129. package/src/modules/search/assets/answerAwartar.png +0 -0
  130. package/src/modules/search/assets/doc.png +0 -0
  131. package/src/modules/search/assets/genera.gif +0 -0
  132. package/src/modules/search/assets/icon-robot.svg +0 -9
  133. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  134. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  135. package/src/modules/search/assets/icon-title.svg +0 -9
  136. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  137. package/src/modules/search/assets/iconAi.svg +0 -9
  138. package/src/modules/search/assets/pdf.png +0 -0
  139. package/src/modules/search/assets/ppt.png +0 -0
  140. package/src/modules/search/assets/search.svg +0 -3
  141. package/src/modules/search/assets/selected.svg +0 -4
  142. package/src/modules/search/assets/txt.png +0 -0
  143. package/src/modules/search/assets/xls.png +0 -0
  144. package/src/modules/search/components/AssisSelect.tsx +0 -137
  145. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  146. package/src/modules/search/components/Editor/aichat.css +0 -1
  147. package/src/modules/search/components/Editor/constant.ts +0 -13
  148. package/src/modules/search/components/Editor/index.tsx +0 -113
  149. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  150. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  151. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  152. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  153. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  154. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  155. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  156. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  157. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  158. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  159. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  160. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  161. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  162. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  163. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  164. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  165. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  166. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  167. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  168. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  169. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  170. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  171. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  172. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  173. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  174. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  175. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  176. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  177. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  178. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  179. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  180. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  181. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  182. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  183. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  184. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  185. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  186. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  187. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  188. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  189. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  190. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  191. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  192. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  193. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  194. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  195. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  196. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  197. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  198. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  199. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  200. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  201. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  202. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  203. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  204. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  205. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  206. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  207. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  208. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  209. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  210. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  211. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  212. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  213. package/src/modules/search/components/Editor/ui/style.less +0 -12
  214. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  215. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  216. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  217. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  218. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  219. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  220. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  221. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  222. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  223. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  224. package/src/modules/search/components/FileList.tsx +0 -287
  225. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  226. package/src/modules/search/components/ResultContent.tsx +0 -232
  227. package/src/modules/search/components/SearchInput.tsx +0 -232
  228. package/src/modules/search/components/SearchLanding.tsx +0 -74
  229. package/src/modules/search/components/SearchView.tsx +0 -563
  230. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  231. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  232. package/src/modules/search/index.tsx +0 -10
  233. package/src/modules/search/reademe.md +0 -1
  234. package/src/modules/search/servers/apis.tsx +0 -19
  235. package/src/modules/search/servers/index.ts +0 -184
  236. package/src/modules/search/style.less +0 -503
  237. package/src/modules/search/type.ts +0 -22
  238. package/src/modules/search/utils.ts +0 -34
  239. package/src/modules/sensitive/index.tsx +0 -313
  240. package/src/modules/sensitive/server.ts +0 -122
  241. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1555
  242. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  243. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  244. package/src/modules/streamFilesReader/index.tsx +0 -3
  245. package/src/style.css +0 -6
  246. package/src/type.d.ts +0 -0
  247. package/src/utils/commonFn.tsx +0 -111
  248. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  249. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  250. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  251. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  252. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  253. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -310
  254. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  255. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -390
  256. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  257. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -296
  258. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -339
  259. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  260. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  261. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  262. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  263. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  264. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  265. package/src/utils/gientechCommon/components/style.less +0 -11
  266. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  267. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  268. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  269. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -339
  270. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  271. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  272. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  273. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  274. package/src/utils/gientechCommon/utils/request.ts +0 -37
  275. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  276. package/src/utils/index.tsx +0 -126
  277. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  278. package/src/utils/testconfigs/index.ts +0 -53
  279. package/src/vite-env.d.ts +0 -11
  280. package/stats.html +0 -4949
  281. package/tailwind.config.js +0 -170
  282. package/tsconfig.app.json +0 -30
  283. package/tsconfig.app.tsbuildinfo +0 -11
  284. package/tsconfig.json +0 -13
  285. package/tsconfig.node.json +0 -22
  286. package/tsconfig.node.tsbuildinfo +0 -1
  287. package/vite.config.ts +0 -177
  288. package/workflows/release.yml +0 -60
  289. /package/{dist/assets → assets}/Doris.png +0 -0
  290. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  291. /package/{dist/assets → assets}/SQLServer.png +0 -0
  292. /package/{dist/assets → assets}/_commonjsHelpers-gnU0ypJ3.js +0 -0
  293. /package/{dist/assets → assets}/circle-alert-g2Y6zAjt.js +0 -0
  294. /package/{dist/assets → assets}/empty.png +0 -0
  295. /package/{dist/assets → assets}/index-CEK88UzR.js +0 -0
  296. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  297. /package/{dist/assets → assets}/plus-omCUN0e3.js +0 -0
  298. /package/{dist/assets → assets}/style2.css +0 -0
  299. /package/{dist/assets → assets}/styled-components.browser.esm-DPkS13KC.js +0 -0
  300. /package/{dist/assets → assets}/x-vPcWt3fC.js +0 -0
  301. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  302. /package/{dist/database.d.ts → database.d.ts} +0 -0
  303. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  304. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  305. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  306. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  307. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  308. /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
- }