@mxmweb/aichat 1.1.8 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/aichat.css +1 -0
- package/{dist/components → components}/AiChat.d.ts +1 -11
- package/{dist/index.js → index.js} +7 -7
- package/package.json +10 -41
- package/.editorconfig +0 -38
- package/.github/workflows/release.yml +0 -60
- package/.prettierignore +0 -16
- package/.prettierrc +0 -17
- package/.releaserc.json +0 -36
- package/CHANGELOG.md +0 -58
- package/CONTRIBUTING.md +0 -111
- package/NPMREADME.md +0 -215
- package/bash.exe.stackdump +0 -40
- package/components.json +0 -21
- package/demo.txt +0 -134
- package/dist/README.md +0 -216
- package/dist/assets/aichat.css +0 -1
- package/dist/package.json +0 -19
- package/eslint.config.js +0 -92
- package/index.html +0 -14
- package/postcss.config.cjs +0 -19
- package/public/icons/answerAwartar.png +0 -0
- package/public/icons/docx-file.png +0 -0
- package/public/icons/folder.png +0 -0
- package/public/icons/html.png +0 -0
- package/public/icons/image.png +0 -0
- package/public/icons/jpg-file.png +0 -0
- package/public/icons/json.png +0 -0
- package/public/icons/md.png +0 -0
- package/public/icons/pdf.png +0 -0
- package/public/icons/pptx.png +0 -0
- package/public/icons/questionAwartar.png +0 -0
- package/public/icons/sheets.png +0 -0
- package/public/icons/txt.png +0 -0
- package/public/icons/xlsx.png +0 -0
- package/public/libs/luckysheet/fontAwesome.otf +0 -0
- package/public/libs/luckysheet/fontawesome-webfont.eot +0 -0
- package/public/libs/luckysheet/fontawesome-webfont.svg +0 -2671
- package/public/libs/luckysheet/fontawesome-webfont.ttf +0 -0
- package/public/libs/luckysheet/fontawesome-webfont.woff +0 -0
- package/public/libs/luckysheet/fontawesome-webfont.woff2 +0 -0
- package/public/libs/luckysheet/fonts/fontawesome-webfont.ttf +0 -0
- package/public/libs/luckysheet/fonts/fontawesome-webfont.woff +0 -0
- package/public/libs/luckysheet/fonts/fontawesome-webfont.woff2 +0 -0
- package/public/libs/luckysheet/iconfont.css +0 -461
- package/public/libs/luckysheet/jquery.min.js +0 -2
- package/public/libs/luckysheet/luckysheet.css +0 -1
- package/public/libs/luckysheet/luckysheet.umd.js +0 -27
- package/public/libs/luckysheet/plugin.js +0 -1
- package/public/libs/luckysheet/plugins.css +0 -10
- package/public/libs/luckysheet/pluginsCss.css +0 -1
- package/public/vite.svg +0 -1
- package/public/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/public/vs/base/common/worker/simpleWorker.nls.de.js +0 -8
- package/public/vs/base/common/worker/simpleWorker.nls.es.js +0 -8
- package/public/vs/base/common/worker/simpleWorker.nls.fr.js +0 -8
- package/public/vs/base/common/worker/simpleWorker.nls.it.js +0 -8
- package/public/vs/base/common/worker/simpleWorker.nls.ja.js +0 -8
- package/public/vs/base/common/worker/simpleWorker.nls.js +0 -8
- package/public/vs/base/common/worker/simpleWorker.nls.ko.js +0 -8
- package/public/vs/base/common/worker/simpleWorker.nls.ru.js +0 -8
- package/public/vs/base/common/worker/simpleWorker.nls.zh-cn.js +0 -8
- package/public/vs/base/common/worker/simpleWorker.nls.zh-tw.js +0 -8
- package/public/vs/base/worker/workerMain.js +0 -27
- package/public/vs/basic-languages/abap/abap.js +0 -10
- package/public/vs/basic-languages/apex/apex.js +0 -10
- package/public/vs/basic-languages/azcli/azcli.js +0 -10
- package/public/vs/basic-languages/bat/bat.js +0 -10
- package/public/vs/basic-languages/bicep/bicep.js +0 -11
- package/public/vs/basic-languages/cameligo/cameligo.js +0 -10
- package/public/vs/basic-languages/clojure/clojure.js +0 -10
- package/public/vs/basic-languages/coffee/coffee.js +0 -10
- package/public/vs/basic-languages/cpp/cpp.js +0 -10
- package/public/vs/basic-languages/csharp/csharp.js +0 -10
- package/public/vs/basic-languages/csp/csp.js +0 -10
- package/public/vs/basic-languages/css/css.js +0 -12
- package/public/vs/basic-languages/cypher/cypher.js +0 -10
- package/public/vs/basic-languages/dart/dart.js +0 -10
- package/public/vs/basic-languages/dockerfile/dockerfile.js +0 -10
- package/public/vs/basic-languages/ecl/ecl.js +0 -10
- package/public/vs/basic-languages/elixir/elixir.js +0 -10
- package/public/vs/basic-languages/flow9/flow9.js +0 -10
- package/public/vs/basic-languages/freemarker2/freemarker2.js +0 -12
- package/public/vs/basic-languages/fsharp/fsharp.js +0 -10
- package/public/vs/basic-languages/go/go.js +0 -10
- package/public/vs/basic-languages/graphql/graphql.js +0 -10
- package/public/vs/basic-languages/handlebars/handlebars.js +0 -10
- package/public/vs/basic-languages/hcl/hcl.js +0 -10
- package/public/vs/basic-languages/html/html.js +0 -10
- package/public/vs/basic-languages/ini/ini.js +0 -10
- package/public/vs/basic-languages/java/java.js +0 -10
- package/public/vs/basic-languages/javascript/javascript.js +0 -10
- package/public/vs/basic-languages/julia/julia.js +0 -10
- package/public/vs/basic-languages/kotlin/kotlin.js +0 -10
- package/public/vs/basic-languages/less/less.js +0 -11
- package/public/vs/basic-languages/lexon/lexon.js +0 -10
- package/public/vs/basic-languages/liquid/liquid.js +0 -10
- package/public/vs/basic-languages/lua/lua.js +0 -10
- package/public/vs/basic-languages/m3/m3.js +0 -10
- package/public/vs/basic-languages/markdown/markdown.js +0 -10
- package/public/vs/basic-languages/mdx/mdx.js +0 -10
- package/public/vs/basic-languages/mips/mips.js +0 -10
- package/public/vs/basic-languages/msdax/msdax.js +0 -10
- package/public/vs/basic-languages/mysql/mysql.js +0 -10
- package/public/vs/basic-languages/objective-c/objective-c.js +0 -10
- package/public/vs/basic-languages/pascal/pascal.js +0 -10
- package/public/vs/basic-languages/pascaligo/pascaligo.js +0 -10
- package/public/vs/basic-languages/perl/perl.js +0 -10
- package/public/vs/basic-languages/pgsql/pgsql.js +0 -10
- package/public/vs/basic-languages/php/php.js +0 -10
- package/public/vs/basic-languages/pla/pla.js +0 -10
- package/public/vs/basic-languages/postiats/postiats.js +0 -10
- package/public/vs/basic-languages/powerquery/powerquery.js +0 -10
- package/public/vs/basic-languages/powershell/powershell.js +0 -10
- package/public/vs/basic-languages/protobuf/protobuf.js +0 -11
- package/public/vs/basic-languages/pug/pug.js +0 -10
- package/public/vs/basic-languages/python/python.js +0 -10
- package/public/vs/basic-languages/qsharp/qsharp.js +0 -10
- package/public/vs/basic-languages/r/r.js +0 -10
- package/public/vs/basic-languages/razor/razor.js +0 -10
- package/public/vs/basic-languages/redis/redis.js +0 -10
- package/public/vs/basic-languages/redshift/redshift.js +0 -10
- package/public/vs/basic-languages/restructuredtext/restructuredtext.js +0 -10
- package/public/vs/basic-languages/ruby/ruby.js +0 -10
- package/public/vs/basic-languages/rust/rust.js +0 -10
- package/public/vs/basic-languages/sb/sb.js +0 -10
- package/public/vs/basic-languages/scala/scala.js +0 -10
- package/public/vs/basic-languages/scheme/scheme.js +0 -10
- package/public/vs/basic-languages/scss/scss.js +0 -12
- package/public/vs/basic-languages/shell/shell.js +0 -10
- package/public/vs/basic-languages/solidity/solidity.js +0 -10
- package/public/vs/basic-languages/sophia/sophia.js +0 -10
- package/public/vs/basic-languages/sparql/sparql.js +0 -10
- package/public/vs/basic-languages/sql/sql.js +0 -10
- package/public/vs/basic-languages/st/st.js +0 -10
- package/public/vs/basic-languages/swift/swift.js +0 -13
- package/public/vs/basic-languages/systemverilog/systemverilog.js +0 -10
- package/public/vs/basic-languages/tcl/tcl.js +0 -10
- package/public/vs/basic-languages/twig/twig.js +0 -10
- package/public/vs/basic-languages/typescript/typescript.js +0 -10
- package/public/vs/basic-languages/vb/vb.js +0 -10
- package/public/vs/basic-languages/wgsl/wgsl.js +0 -307
- package/public/vs/basic-languages/xml/xml.js +0 -10
- package/public/vs/basic-languages/yaml/yaml.js +0 -10
- package/public/vs/editor/editor.main.css +0 -6
- package/public/vs/editor/editor.main.js +0 -745
- package/public/vs/editor/editor.main.js.gz +0 -0
- package/public/vs/editor/editor.main.nls.de.js +0 -31
- package/public/vs/editor/editor.main.nls.es.js +0 -31
- package/public/vs/editor/editor.main.nls.fr.js +0 -29
- package/public/vs/editor/editor.main.nls.it.js +0 -29
- package/public/vs/editor/editor.main.nls.ja.js +0 -31
- package/public/vs/editor/editor.main.nls.js +0 -29
- package/public/vs/editor/editor.main.nls.ko.js +0 -29
- package/public/vs/editor/editor.main.nls.ru.js +0 -31
- package/public/vs/editor/editor.main.nls.zh-cn.js +0 -31
- package/public/vs/editor/editor.main.nls.zh-tw.js +0 -29
- package/public/vs/language/css/cssMode.js +0 -13
- package/public/vs/language/css/cssWorker.js +0 -81
- package/public/vs/language/css/cssWorker.js.gz +0 -0
- package/public/vs/language/html/htmlMode.js +0 -13
- package/public/vs/language/html/htmlWorker.js +0 -453
- package/public/vs/language/json/jsonMode.js +0 -15
- package/public/vs/language/json/jsonWorker.js +0 -36
- package/public/vs/language/typescript/tsMode.js +0 -20
- package/public/vs/language/typescript/tsWorker.js +0 -37016
- package/public/vs/language/typescript/tsWorker.js.gz +0 -0
- package/public/vs/loader.js +0 -11
- package/public/worker/pdf.worker.min.js +0 -32
- package/src/HeadlessChat.tsx +0 -250
- package/src/LoginPage/components/Login/LoginBox/index.tsx +0 -103
- package/src/LoginPage/components/Login/RegisterBox/index.tsx +0 -181
- package/src/LoginPage/components/Login/index.tsx +0 -101
- package/src/LoginPage/index.tsx +0 -103
- package/src/LoginPage/useServices.ts +0 -53
- package/src/LoginPage/utils.ts +0 -42
- package/src/Preview.tsx +0 -278
- package/src/UseLogingHeadless.tsx +0 -238
- package/src/adopters/GientechChat/Conversations/Item.tsx +0 -132
- package/src/adopters/GientechChat/Conversations/List.tsx +0 -127
- package/src/adopters/GientechChat/Conversations/groupByTime.ts +0 -39
- package/src/adopters/GientechChat/Conversations/index.tsx +0 -102
- package/src/adopters/GientechChat/constants.tsx +0 -33
- package/src/adopters/GientechChat/index.tsx +0 -1242
- package/src/adopters/GientechChat/types.ts +0 -17
- package/src/adopters/HeadLessChat/constants.tsx +0 -32
- package/src/adopters/HeadLessChat/index.tsx +0 -1038
- package/src/adopters/HeadLessChat/types.ts +0 -23
- package/src/adopters/gientechCommon/components/AppError.tsx +0 -32
- package/src/adopters/gientechCommon/components/AppLoading.tsx +0 -75
- package/src/adopters/gientechCommon/components/DisplayError.tsx +0 -33
- package/src/adopters/gientechCommon/components/DisplayLoading.tsx +0 -38
- package/src/adopters/gientechCommon/components/FeedBackModal.tsx +0 -310
- package/src/adopters/gientechCommon/components/FileManager/index.tsx +0 -381
- package/src/adopters/gientechCommon/components/FileManager/style.css +0 -5
- package/src/adopters/gientechCommon/components/Messages/AiChatBox.tsx +0 -530
- package/src/adopters/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -245
- package/src/adopters/gientechCommon/components/Messages/ReferenceCard.tsx +0 -302
- package/src/adopters/gientechCommon/components/Messages/RetriveItem.tsx +0 -194
- package/src/adopters/gientechCommon/components/Messages/UserChatBox.tsx +0 -211
- package/src/adopters/gientechCommon/components/RenameModal.tsx +0 -75
- package/src/adopters/gientechCommon/components/style.less +0 -11
- package/src/adopters/gientechCommon/configs/commonConfig.ts +0 -2
- package/src/adopters/gientechCommon/configs/senderConfig.ts +0 -0
- package/src/adopters/gientechCommon/configs/stylesConfig.ts +0 -142
- package/src/adopters/gientechCommon/hooks/AichatUseController.tsx +0 -308
- package/src/adopters/gientechCommon/slate/converters/deserializers.ts +0 -757
- package/src/adopters/gientechCommon/slate/converters/mockData.ts +0 -232
- package/src/adopters/gientechCommon/slate/converters/slateConverters.ts +0 -258
- package/src/adopters/gientechCommon/slate/richElements/index.tsx +0 -476
- package/src/adopters/gientechCommon/utils/request.ts +0 -37
- package/src/adopters/gientechCommon/utils/serverFn.ts +0 -143
- package/src/assets/img/downArrow.png +0 -0
- package/src/assets/img/excel.png +0 -0
- package/src/assets/img/img.png +0 -0
- package/src/assets/img/pdf.png +0 -0
- package/src/assets/img/ppt.png +0 -0
- package/src/assets/img/txt.png +0 -0
- package/src/assets/img/word.png +0 -0
- package/src/assets/login/homeBg.png +0 -0
- package/src/assets/login/left.jpg +0 -0
- package/src/assets/login/logoImg.png +0 -0
- package/src/assets/style.css +0 -1
- package/src/components/AiChat.tsx +0 -647
- package/src/components/AiChat.types.tsx +0 -110
- package/src/components/DefaultAppError.tsx +0 -7
- package/src/components/DefaultAppLoading.tsx +0 -7
- package/src/components/DefaultDisplayError.tsx +0 -7
- package/src/components/DefaultDisplayLoading.tsx +0 -7
- package/src/components/DefaultNewChatWelcome.tsx +0 -10
- package/src/components/Displayer/DefaultAiChatBox.tsx +0 -64
- package/src/components/Displayer/DefaultUserChatBox.tsx +0 -34
- package/src/components/Displayer/index.tsx +0 -107
- package/src/components/Displayer/slate/converters/deserializers.ts +0 -427
- package/src/components/Displayer/slate/converters/mockData.ts +0 -190
- package/src/components/Displayer/slate/converters/slateConverters.ts +0 -258
- package/src/components/Displayer/slate/richElements/index.tsx +0 -308
- package/src/components/DrawerContent.tsx +0 -105
- package/src/components/DrawerPreview.tsx +0 -36
- package/src/components/DynamicForm.tsx +0 -29
- package/src/components/Loading.tsx +0 -0
- package/src/components/RetrieveTest/components/ChatInput.tsx +0 -198
- package/src/components/RetrieveTest/components/ChatMessage.tsx +0 -894
- package/src/components/RetrieveTest/components/ConfigPanel.tsx +0 -472
- package/src/components/RetrieveTest/components/RichTextEditor.tsx +0 -97
- package/src/components/RetrieveTest/components/VoiceInput.tsx +0 -257
- package/src/components/RetrieveTest/components/config/index.ts +0 -0
- package/src/components/RetrieveTest/components/converters/deserializers.ts +0 -393
- package/src/components/RetrieveTest/components/converters/mockData.ts +0 -190
- package/src/components/RetrieveTest/components/converters/slateConverters.ts +0 -164
- package/src/components/RetrieveTest/components/richElements/index.tsx +0 -339
- package/src/components/RetrieveTest/components/style.css +0 -3
- package/src/components/RetrieveTest/index.tsx +0 -679
- package/src/components/Sender/FileUpload.tsx +0 -76
- package/src/components/Sender/FilesDisplay.tsx +0 -103
- package/src/components/Sender/VoiceInput.tsx +0 -81
- package/src/components/Sender/contexts/BadgeContext.tsx +0 -36
- package/src/components/Sender/index.tsx +0 -545
- package/src/components/Sidebar/Loading.tsx +0 -0
- package/src/components/Sidebar/RetriveConfigPanel.tsx +0 -41
- package/src/components/Sidebar/useDynamicFormItems.tsx +0 -176
- package/src/components/SidebarProp.ts +0 -41
- package/src/components/common/FileCardCommon.tsx +0 -82
- package/src/components/defaultStyleSet.tsx +0 -142
- package/src/components/styles.config.ts +0 -4
- package/src/lib_enter.ts +0 -12
- package/src/main.tsx +0 -12
- package/src/mockForm.ts +0 -91
- package/src/servers/chatApi.ts +0 -43
- package/src/servers/fileApi.ts +0 -12
- package/src/servers/modelApi.ts +0 -19
- package/src/style.css +0 -22
- package/src/testj.js +0 -3
- package/src/type.d.ts +0 -0
- package/src/utils/commonFn.tsx +0 -111
- package/src/utils/index.tsx +0 -94
- package/src/vite-env.d.ts +0 -11
- package/tailwind.config.js +0 -18
- package/tsconfig.app.json +0 -29
- package/tsconfig.app.tsbuildinfo +0 -11
- package/tsconfig.json +0 -13
- package/tsconfig.node.json +0 -22
- package/tsconfig.node.tsbuildinfo +0 -1
- package/vite.config.ts +0 -138
- package/vite.config_mainapp.ts +0 -126
- /package/{dist/HeadlessChat.d.ts → HeadlessChat.d.ts} +0 -0
- /package/{dist/LoginPage → LoginPage}/components/Login/LoginBox/index.d.ts +0 -0
- /package/{dist/LoginPage → LoginPage}/components/Login/RegisterBox/index.d.ts +0 -0
- /package/{dist/LoginPage → LoginPage}/components/Login/index.d.ts +0 -0
- /package/{dist/LoginPage → LoginPage}/index.d.ts +0 -0
- /package/{dist/LoginPage → LoginPage}/useServices.d.ts +0 -0
- /package/{dist/LoginPage → LoginPage}/utils.d.ts +0 -0
- /package/{dist/Preview.d.ts → Preview.d.ts} +0 -0
- /package/{dist/UseLogingHeadless.d.ts → UseLogingHeadless.d.ts} +0 -0
- /package/{dist/adopters → adopters}/GientechChat/Conversations/Item.d.ts +0 -0
- /package/{dist/adopters → adopters}/GientechChat/Conversations/List.d.ts +0 -0
- /package/{dist/adopters → adopters}/GientechChat/Conversations/groupByTime.d.ts +0 -0
- /package/{dist/adopters → adopters}/GientechChat/Conversations/index.d.ts +0 -0
- /package/{dist/adopters → adopters}/GientechChat/constants.d.ts +0 -0
- /package/{dist/adopters → adopters}/GientechChat/index.d.ts +0 -0
- /package/{dist/adopters → adopters}/GientechChat/types.d.ts +0 -0
- /package/{dist/adopters → adopters}/HeadLessChat/constants.d.ts +0 -0
- /package/{dist/adopters → adopters}/HeadLessChat/index.d.ts +0 -0
- /package/{dist/adopters → adopters}/HeadLessChat/types.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/AppError.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/AppLoading.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/DisplayError.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/DisplayLoading.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/FeedBackModal.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/FileManager/index.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/Messages/AiChatBox.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/Messages/GientechNewChatWelcome.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/Messages/ReferenceCard.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/Messages/RetriveItem.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/Messages/UserChatBox.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/components/RenameModal.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/configs/commonConfig.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/configs/senderConfig.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/configs/stylesConfig.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/hooks/AichatUseController.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/slate/converters/deserializers.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/slate/converters/mockData.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/slate/converters/slateConverters.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/slate/richElements/index.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/utils/request.d.ts +0 -0
- /package/{dist/adopters → adopters}/gientechCommon/utils/serverFn.d.ts +0 -0
- /package/{dist/components → components}/AiChat.types.d.ts +0 -0
- /package/{dist/components → components}/DefaultAppError.d.ts +0 -0
- /package/{dist/components → components}/DefaultAppLoading.d.ts +0 -0
- /package/{dist/components → components}/DefaultDisplayError.d.ts +0 -0
- /package/{dist/components → components}/DefaultDisplayLoading.d.ts +0 -0
- /package/{dist/components → components}/DefaultNewChatWelcome.d.ts +0 -0
- /package/{dist/components → components}/Displayer/DefaultAiChatBox.d.ts +0 -0
- /package/{dist/components → components}/Displayer/DefaultUserChatBox.d.ts +0 -0
- /package/{dist/components → components}/Displayer/index.d.ts +0 -0
- /package/{dist/components → components}/Displayer/slate/converters/deserializers.d.ts +0 -0
- /package/{dist/components → components}/Displayer/slate/converters/mockData.d.ts +0 -0
- /package/{dist/components → components}/Displayer/slate/converters/slateConverters.d.ts +0 -0
- /package/{dist/components → components}/Displayer/slate/richElements/index.d.ts +0 -0
- /package/{dist/components → components}/DrawerContent.d.ts +0 -0
- /package/{dist/components → components}/DrawerPreview.d.ts +0 -0
- /package/{dist/components → components}/DynamicForm.d.ts +0 -0
- /package/{dist/components → components}/Loading.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/ChatInput.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/ChatMessage.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/ConfigPanel.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/RichTextEditor.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/VoiceInput.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/config/index.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/converters/deserializers.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/converters/mockData.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/converters/slateConverters.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/components/richElements/index.d.ts +0 -0
- /package/{dist/components → components}/RetrieveTest/index.d.ts +0 -0
- /package/{dist/components → components}/Sender/FileUpload.d.ts +0 -0
- /package/{dist/components → components}/Sender/FilesDisplay.d.ts +0 -0
- /package/{dist/components → components}/Sender/VoiceInput.d.ts +0 -0
- /package/{dist/components → components}/Sender/contexts/BadgeContext.d.ts +0 -0
- /package/{dist/components → components}/Sender/index.d.ts +0 -0
- /package/{dist/components → components}/Sidebar/Loading.d.ts +0 -0
- /package/{dist/components → components}/Sidebar/RetriveConfigPanel.d.ts +0 -0
- /package/{dist/components → components}/Sidebar/useDynamicFormItems.d.ts +0 -0
- /package/{dist/components → components}/SidebarProp.d.ts +0 -0
- /package/{dist/components → components}/common/FileCardCommon.d.ts +0 -0
- /package/{dist/components → components}/defaultStyleSet.d.ts +0 -0
- /package/{dist/components → components}/styles.config.d.ts +0 -0
- /package/{dist/icons → icons}/answerAwartar.png +0 -0
- /package/{dist/icons → icons}/docx-file.png +0 -0
- /package/{dist/icons → icons}/folder.png +0 -0
- /package/{dist/icons → icons}/html.png +0 -0
- /package/{dist/icons → icons}/image.png +0 -0
- /package/{dist/icons → icons}/jpg-file.png +0 -0
- /package/{dist/icons → icons}/json.png +0 -0
- /package/{dist/icons → icons}/md.png +0 -0
- /package/{dist/icons → icons}/pdf.png +0 -0
- /package/{dist/icons → icons}/pptx.png +0 -0
- /package/{dist/icons → icons}/questionAwartar.png +0 -0
- /package/{dist/icons → icons}/sheets.png +0 -0
- /package/{dist/icons → icons}/txt.png +0 -0
- /package/{dist/icons → icons}/xlsx.png +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/lib_enter.d.ts → lib_enter.d.ts} +0 -0
- /package/{dist/libs → libs}/luckysheet/fontAwesome.otf +0 -0
- /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.eot +0 -0
- /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.svg +0 -0
- /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.ttf +0 -0
- /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.woff +0 -0
- /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.woff2 +0 -0
- /package/{dist/libs → libs}/luckysheet/fonts/fontawesome-webfont.ttf +0 -0
- /package/{dist/libs → libs}/luckysheet/fonts/fontawesome-webfont.woff +0 -0
- /package/{dist/libs → libs}/luckysheet/fonts/fontawesome-webfont.woff2 +0 -0
- /package/{dist/libs → libs}/luckysheet/iconfont.css +0 -0
- /package/{dist/libs → libs}/luckysheet/jquery.min.js +0 -0
- /package/{dist/libs → libs}/luckysheet/luckysheet.css +0 -0
- /package/{dist/libs → libs}/luckysheet/luckysheet.umd.js +0 -0
- /package/{dist/libs → libs}/luckysheet/plugin.js +0 -0
- /package/{dist/libs → libs}/luckysheet/plugins.css +0 -0
- /package/{dist/libs → libs}/luckysheet/pluginsCss.css +0 -0
- /package/{dist/main.d.ts → main.d.ts} +0 -0
- /package/{dist/mockForm.d.ts → mockForm.d.ts} +0 -0
- /package/{dist/servers → servers}/chatApi.d.ts +0 -0
- /package/{dist/servers → servers}/fileApi.d.ts +0 -0
- /package/{dist/servers → servers}/modelApi.d.ts +0 -0
- /package/{dist/utils → utils}/commonFn.d.ts +0 -0
- /package/{dist/utils → utils}/index.d.ts +0 -0
- /package/{dist/vite.svg → vite.svg} +0 -0
- /package/{dist/vs → vs}/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.de.js +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.es.js +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.fr.js +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.it.js +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.ja.js +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.js +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.ko.js +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.ru.js +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.zh-cn.js +0 -0
- /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.zh-tw.js +0 -0
- /package/{dist/vs → vs}/base/worker/workerMain.js +0 -0
- /package/{dist/vs → vs}/basic-languages/abap/abap.js +0 -0
- /package/{dist/vs → vs}/basic-languages/apex/apex.js +0 -0
- /package/{dist/vs → vs}/basic-languages/azcli/azcli.js +0 -0
- /package/{dist/vs → vs}/basic-languages/bat/bat.js +0 -0
- /package/{dist/vs → vs}/basic-languages/bicep/bicep.js +0 -0
- /package/{dist/vs → vs}/basic-languages/cameligo/cameligo.js +0 -0
- /package/{dist/vs → vs}/basic-languages/clojure/clojure.js +0 -0
- /package/{dist/vs → vs}/basic-languages/coffee/coffee.js +0 -0
- /package/{dist/vs → vs}/basic-languages/cpp/cpp.js +0 -0
- /package/{dist/vs → vs}/basic-languages/csharp/csharp.js +0 -0
- /package/{dist/vs → vs}/basic-languages/csp/csp.js +0 -0
- /package/{dist/vs → vs}/basic-languages/css/css.js +0 -0
- /package/{dist/vs → vs}/basic-languages/cypher/cypher.js +0 -0
- /package/{dist/vs → vs}/basic-languages/dart/dart.js +0 -0
- /package/{dist/vs → vs}/basic-languages/dockerfile/dockerfile.js +0 -0
- /package/{dist/vs → vs}/basic-languages/ecl/ecl.js +0 -0
- /package/{dist/vs → vs}/basic-languages/elixir/elixir.js +0 -0
- /package/{dist/vs → vs}/basic-languages/flow9/flow9.js +0 -0
- /package/{dist/vs → vs}/basic-languages/freemarker2/freemarker2.js +0 -0
- /package/{dist/vs → vs}/basic-languages/fsharp/fsharp.js +0 -0
- /package/{dist/vs → vs}/basic-languages/go/go.js +0 -0
- /package/{dist/vs → vs}/basic-languages/graphql/graphql.js +0 -0
- /package/{dist/vs → vs}/basic-languages/handlebars/handlebars.js +0 -0
- /package/{dist/vs → vs}/basic-languages/hcl/hcl.js +0 -0
- /package/{dist/vs → vs}/basic-languages/html/html.js +0 -0
- /package/{dist/vs → vs}/basic-languages/ini/ini.js +0 -0
- /package/{dist/vs → vs}/basic-languages/java/java.js +0 -0
- /package/{dist/vs → vs}/basic-languages/javascript/javascript.js +0 -0
- /package/{dist/vs → vs}/basic-languages/julia/julia.js +0 -0
- /package/{dist/vs → vs}/basic-languages/kotlin/kotlin.js +0 -0
- /package/{dist/vs → vs}/basic-languages/less/less.js +0 -0
- /package/{dist/vs → vs}/basic-languages/lexon/lexon.js +0 -0
- /package/{dist/vs → vs}/basic-languages/liquid/liquid.js +0 -0
- /package/{dist/vs → vs}/basic-languages/lua/lua.js +0 -0
- /package/{dist/vs → vs}/basic-languages/m3/m3.js +0 -0
- /package/{dist/vs → vs}/basic-languages/markdown/markdown.js +0 -0
- /package/{dist/vs → vs}/basic-languages/mdx/mdx.js +0 -0
- /package/{dist/vs → vs}/basic-languages/mips/mips.js +0 -0
- /package/{dist/vs → vs}/basic-languages/msdax/msdax.js +0 -0
- /package/{dist/vs → vs}/basic-languages/mysql/mysql.js +0 -0
- /package/{dist/vs → vs}/basic-languages/objective-c/objective-c.js +0 -0
- /package/{dist/vs → vs}/basic-languages/pascal/pascal.js +0 -0
- /package/{dist/vs → vs}/basic-languages/pascaligo/pascaligo.js +0 -0
- /package/{dist/vs → vs}/basic-languages/perl/perl.js +0 -0
- /package/{dist/vs → vs}/basic-languages/pgsql/pgsql.js +0 -0
- /package/{dist/vs → vs}/basic-languages/php/php.js +0 -0
- /package/{dist/vs → vs}/basic-languages/pla/pla.js +0 -0
- /package/{dist/vs → vs}/basic-languages/postiats/postiats.js +0 -0
- /package/{dist/vs → vs}/basic-languages/powerquery/powerquery.js +0 -0
- /package/{dist/vs → vs}/basic-languages/powershell/powershell.js +0 -0
- /package/{dist/vs → vs}/basic-languages/protobuf/protobuf.js +0 -0
- /package/{dist/vs → vs}/basic-languages/pug/pug.js +0 -0
- /package/{dist/vs → vs}/basic-languages/python/python.js +0 -0
- /package/{dist/vs → vs}/basic-languages/qsharp/qsharp.js +0 -0
- /package/{dist/vs → vs}/basic-languages/r/r.js +0 -0
- /package/{dist/vs → vs}/basic-languages/razor/razor.js +0 -0
- /package/{dist/vs → vs}/basic-languages/redis/redis.js +0 -0
- /package/{dist/vs → vs}/basic-languages/redshift/redshift.js +0 -0
- /package/{dist/vs → vs}/basic-languages/restructuredtext/restructuredtext.js +0 -0
- /package/{dist/vs → vs}/basic-languages/ruby/ruby.js +0 -0
- /package/{dist/vs → vs}/basic-languages/rust/rust.js +0 -0
- /package/{dist/vs → vs}/basic-languages/sb/sb.js +0 -0
- /package/{dist/vs → vs}/basic-languages/scala/scala.js +0 -0
- /package/{dist/vs → vs}/basic-languages/scheme/scheme.js +0 -0
- /package/{dist/vs → vs}/basic-languages/scss/scss.js +0 -0
- /package/{dist/vs → vs}/basic-languages/shell/shell.js +0 -0
- /package/{dist/vs → vs}/basic-languages/solidity/solidity.js +0 -0
- /package/{dist/vs → vs}/basic-languages/sophia/sophia.js +0 -0
- /package/{dist/vs → vs}/basic-languages/sparql/sparql.js +0 -0
- /package/{dist/vs → vs}/basic-languages/sql/sql.js +0 -0
- /package/{dist/vs → vs}/basic-languages/st/st.js +0 -0
- /package/{dist/vs → vs}/basic-languages/swift/swift.js +0 -0
- /package/{dist/vs → vs}/basic-languages/systemverilog/systemverilog.js +0 -0
- /package/{dist/vs → vs}/basic-languages/tcl/tcl.js +0 -0
- /package/{dist/vs → vs}/basic-languages/twig/twig.js +0 -0
- /package/{dist/vs → vs}/basic-languages/typescript/typescript.js +0 -0
- /package/{dist/vs → vs}/basic-languages/vb/vb.js +0 -0
- /package/{dist/vs → vs}/basic-languages/wgsl/wgsl.js +0 -0
- /package/{dist/vs → vs}/basic-languages/xml/xml.js +0 -0
- /package/{dist/vs → vs}/basic-languages/yaml/yaml.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.css +0 -0
- /package/{dist/vs → vs}/editor/editor.main.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.js.gz +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.de.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.es.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.fr.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.it.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.ja.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.ko.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.ru.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.zh-cn.js +0 -0
- /package/{dist/vs → vs}/editor/editor.main.nls.zh-tw.js +0 -0
- /package/{dist/vs → vs}/language/css/cssMode.js +0 -0
- /package/{dist/vs → vs}/language/css/cssWorker.js +0 -0
- /package/{dist/vs → vs}/language/css/cssWorker.js.gz +0 -0
- /package/{dist/vs → vs}/language/html/htmlMode.js +0 -0
- /package/{dist/vs → vs}/language/html/htmlWorker.js +0 -0
- /package/{dist/vs → vs}/language/json/jsonMode.js +0 -0
- /package/{dist/vs → vs}/language/json/jsonWorker.js +0 -0
- /package/{dist/vs → vs}/language/typescript/tsMode.js +0 -0
- /package/{dist/vs → vs}/language/typescript/tsWorker.js +0 -0
- /package/{dist/vs → vs}/language/typescript/tsWorker.js.gz +0 -0
- /package/{dist/vs → vs}/loader.js +0 -0
- /package/{dist/worker → worker}/pdf.worker.min.js +0 -0
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { X, Image as ImageIcon, FileText } from 'lucide-react';
|
|
3
|
-
|
|
4
|
-
interface FilePreview {
|
|
5
|
-
file: File;
|
|
6
|
-
preview?: string;
|
|
7
|
-
type: 'image' | 'document';
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
interface FileUploadProps {
|
|
11
|
-
uploadedFiles: FilePreview[];
|
|
12
|
-
onUpload?: (files: FileList) => void;
|
|
13
|
-
onRemoveFile?: (index: number) => void;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export default function FileUpload({ uploadedFiles, onUpload, onRemoveFile }: FileUploadProps) {
|
|
17
|
-
const fileInputRef = React.useRef<HTMLInputElement>(null);
|
|
18
|
-
|
|
19
|
-
const handleFileSelect = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
20
|
-
if (e.target.files && e.target.files.length > 0) {
|
|
21
|
-
onUpload?.(e.target.files);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
return (
|
|
26
|
-
<>
|
|
27
|
-
{uploadedFiles && uploadedFiles.length > 0 && (
|
|
28
|
-
<div className="mb-2 flex flex-wrap gap-2">
|
|
29
|
-
{uploadedFiles.map((file, index) => (
|
|
30
|
-
<div
|
|
31
|
-
key={index}
|
|
32
|
-
className="relative group bg-white/80 backdrop-blur-sm rounded-lg p-2 flex items-center gap-2 border border-gray-200/50 shadow-sm"
|
|
33
|
-
>
|
|
34
|
-
{file.type === 'image' ? (
|
|
35
|
-
<>
|
|
36
|
-
{file.type}
|
|
37
|
-
<div className="w-8 h-8 rounded overflow-hidden">
|
|
38
|
-
<img src={file.preview} alt="" className="w-full h-full object-cover" />
|
|
39
|
-
</div>
|
|
40
|
-
<ImageIcon className="absolute top-2 left-2 w-4 h-4 text-white drop-shadow" />
|
|
41
|
-
</>
|
|
42
|
-
) : (
|
|
43
|
-
<>
|
|
44
|
-
{file.type}
|
|
45
|
-
<FileText className="w-5 h-5 text-gray-600/85" />
|
|
46
|
-
</>
|
|
47
|
-
)}
|
|
48
|
-
<span className="text-xs text-gray-700 max-w-[120px] truncate">{file.file.name}</span>
|
|
49
|
-
<button
|
|
50
|
-
onClick={() => onRemoveFile?.(index)}
|
|
51
|
-
className="absolute -top-1.5 -right-1.5 w-4 h-4 rounded-full bg-gray-500/90 text-white flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity hover:bg-gray-600"
|
|
52
|
-
>
|
|
53
|
-
<X className="w-3 h-3" />
|
|
54
|
-
</button>
|
|
55
|
-
</div>
|
|
56
|
-
))}
|
|
57
|
-
</div>
|
|
58
|
-
)}
|
|
59
|
-
<input
|
|
60
|
-
ref={fileInputRef}
|
|
61
|
-
type="file"
|
|
62
|
-
multiple
|
|
63
|
-
className="hidden"
|
|
64
|
-
id="file-upload"
|
|
65
|
-
onChange={handleFileSelect}
|
|
66
|
-
/>
|
|
67
|
-
<label
|
|
68
|
-
htmlFor="file-upload"
|
|
69
|
-
className="relative w-7 h-7 flex items-center justify-center rounded-lg cursor-pointer group"
|
|
70
|
-
>
|
|
71
|
-
<div className="absolute inset-0 bg-black/[0.02] rounded-lg group-hover:bg-black/[0.04] transition-colors duration-200"></div>
|
|
72
|
-
<svg className="w-[17px] h-[17px] text-gray-600/85" fill="none" stroke="currentColor" strokeWidth="2" viewBox="0 0 24 24"><path d="M16.5 9.4V7A4.5 4.5 0 0 0 12 2.5h0A4.5 4.5 0 0 0 7.5 7v2.4M12 17v-5m0 0-2 2m2-2 2 2" strokeLinecap="round" strokeLinejoin="round"/><rect width="20" height="20" x="2" y="2" rx="5"/></svg>
|
|
73
|
-
</label>
|
|
74
|
-
</>
|
|
75
|
-
);
|
|
76
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { X, Image, FileText, Loader2, CheckCircle2, AlertCircle } from "lucide-react";
|
|
2
|
-
import { useEffect } from "react";
|
|
3
|
-
import anime from 'animejs';
|
|
4
|
-
import { getFileTypeIcon } from "../../adopters/gientechCommon/components/FileManager";
|
|
5
|
-
import FileCardCommon from '../common/FileCardCommon';
|
|
6
|
-
|
|
7
|
-
interface FilePreview {
|
|
8
|
-
file: File;
|
|
9
|
-
preview?: string;
|
|
10
|
-
type: 'image' | 'document';
|
|
11
|
-
status?: 'pending' | 'uploading' | 'parsing' | 'done' | 'error' | 'finished';
|
|
12
|
-
name?: string; // name 和 uid 可能是从 fileUploadStatus 传来的
|
|
13
|
-
uid?: string;
|
|
14
|
-
styles?: any;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export default function FilesDisplay({ uploadedFiles, onRemoveFile, eventsEmit,styles }: { uploadedFiles: FilePreview[], onRemoveFile: (idx: number) => void, eventsEmit?: (eventName: string) => void,styles?: any }) {
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
console.log('uploadedFiles,status', uploadedFiles);
|
|
20
|
-
}, [uploadedFiles]);
|
|
21
|
-
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
// 检查是否所有文件都完成了它们的生命周期,准备离场
|
|
24
|
-
const allFinished = uploadedFiles.length > 0 && uploadedFiles.every(f => f.status === 'finished');
|
|
25
|
-
if (allFinished) {
|
|
26
|
-
anime({
|
|
27
|
-
targets: '.file-display-card', // 使用class选择器来选中所有卡片
|
|
28
|
-
opacity: 0,
|
|
29
|
-
scale: 0.8,
|
|
30
|
-
delay: anime.stagger(100), // 每个卡片依次延迟100ms播放动画
|
|
31
|
-
duration: 400,
|
|
32
|
-
easing: 'easeOutExpo',
|
|
33
|
-
complete: () => {
|
|
34
|
-
// 所有动画完成后,通知上层组件可以清空state了
|
|
35
|
-
eventsEmit?.('files:finished_animation_complete');
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}, [uploadedFiles, eventsEmit]);
|
|
40
|
-
|
|
41
|
-
return (
|
|
42
|
-
<div className="flex overflow-x-auto gap-2 pb-2 px-1">
|
|
43
|
-
{uploadedFiles.map((fileObj, idx) => {
|
|
44
|
-
// 优先使用 fileObj.name,其次是 fileObj.file.name
|
|
45
|
-
const fileName = fileObj.name || fileObj.file.name;
|
|
46
|
-
const fileSize = fileObj.file?.size;
|
|
47
|
-
let { type, status } = fileObj;
|
|
48
|
-
|
|
49
|
-
// 如果是finished状态,UI上表现为done状态
|
|
50
|
-
if (status === 'finished') {
|
|
51
|
-
status = 'done';
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// 文件大小格式化
|
|
55
|
-
const formatSize = (size: number) => {
|
|
56
|
-
if (!size) return '';
|
|
57
|
-
if (size < 1024) return `${size}B`;
|
|
58
|
-
if (size < 1024 * 1024) return `${(size / 1024).toFixed(1)}KB`;
|
|
59
|
-
return `${(size / 1024 / 1024).toFixed(1)}MB`;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
// 状态映射
|
|
63
|
-
const statusMap: { [key: string]: { text: string; icon: React.ReactNode; color: string } } = {
|
|
64
|
-
pending: { text: '待发送', icon: null, color: 'text-gray-400' },
|
|
65
|
-
uploading: { text: '上传中', icon: <Loader2 className="w-3 h-3 animate-spin" />, color: 'text-blue-500' },
|
|
66
|
-
parsing: { text: '解析中', icon: <Loader2 className="w-3 h-3 animate-spin" />, color: 'text-blue-500' },
|
|
67
|
-
done: { text: '已就绪', icon: <CheckCircle2 className="w-3 h-3" />, color: 'text-green-500' },
|
|
68
|
-
error: { text: '失败', icon: <AlertCircle className="w-3 h-3" />, color: 'text-red-500' },
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
const currentStatus = statusMap[status || 'pending'];
|
|
72
|
-
const fileType = fileName.split('.').pop() || '';
|
|
73
|
-
const icon = getFileTypeIcon(fileType, styles);
|
|
74
|
-
return (
|
|
75
|
-
<FileCardCommon
|
|
76
|
-
key={fileName + idx}
|
|
77
|
-
cardId={`file-card-${idx}`}
|
|
78
|
-
fileName={fileName}
|
|
79
|
-
fileSize={fileSize}
|
|
80
|
-
icon={icon}
|
|
81
|
-
statusText={currentStatus.text}
|
|
82
|
-
statusColor={currentStatus.color}
|
|
83
|
-
statusIcon={currentStatus.icon}
|
|
84
|
-
showRemove={status !== 'parsing' && status !== 'uploading'}
|
|
85
|
-
onRemoveWithAnim={(id) => {
|
|
86
|
-
anime({
|
|
87
|
-
targets: `#${id}`,
|
|
88
|
-
opacity: 0,
|
|
89
|
-
scale: 0.8,
|
|
90
|
-
duration: 300,
|
|
91
|
-
easing: 'easeOutExpo',
|
|
92
|
-
complete: () => {
|
|
93
|
-
onRemoveFile?.(idx);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}}
|
|
97
|
-
themeColors={styles?.theme?.colors}
|
|
98
|
-
/>
|
|
99
|
-
);
|
|
100
|
-
})}
|
|
101
|
-
</div>
|
|
102
|
-
)
|
|
103
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import React, { useEffect } from 'react';
|
|
2
|
-
import { Mic } from 'lucide-react';
|
|
3
|
-
import SpeechRecognition, { useSpeechRecognition } from 'react-speech-recognition';
|
|
4
|
-
|
|
5
|
-
interface VoiceInputProps {
|
|
6
|
-
onResult: (text: string) => void;
|
|
7
|
-
onError?: (error: string) => void;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export default function VoiceInput({ onResult, onError }: VoiceInputProps) {
|
|
11
|
-
const {
|
|
12
|
-
transcript,
|
|
13
|
-
listening,
|
|
14
|
-
resetTranscript,
|
|
15
|
-
browserSupportsSpeechRecognition,
|
|
16
|
-
isMicrophoneAvailable
|
|
17
|
-
} = useSpeechRecognition();
|
|
18
|
-
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
console.log(transcript,'transcript')
|
|
21
|
-
if (transcript) {
|
|
22
|
-
onResult(transcript);
|
|
23
|
-
}
|
|
24
|
-
}, [transcript, onResult]);
|
|
25
|
-
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
if (!browserSupportsSpeechRecognition) {
|
|
28
|
-
onError && onError('您的浏览器不支持语音识别功能');
|
|
29
|
-
} else if (!isMicrophoneAvailable) {
|
|
30
|
-
onError && onError('无法访问麦克风,请检查权限设置');
|
|
31
|
-
}
|
|
32
|
-
}, [browserSupportsSpeechRecognition, isMicrophoneAvailable, onError]);
|
|
33
|
-
|
|
34
|
-
const toggleRecording = () => {
|
|
35
|
-
|
|
36
|
-
if (!browserSupportsSpeechRecognition) {
|
|
37
|
-
console.log(SpeechRecognition,'您的浏览器不支持语音识别功能')
|
|
38
|
-
onError && onError('您的浏览器不支持语音识别功能');
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
if (!isMicrophoneAvailable) {
|
|
42
|
-
console.log(SpeechRecognition,'无法访问麦克风,请检查权限设置')
|
|
43
|
-
onError && onError('无法访问麦克风,请检查权限设置');
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (listening) {
|
|
47
|
-
console.log(SpeechRecognition,'停止录音')
|
|
48
|
-
SpeechRecognition.stopListening();
|
|
49
|
-
} else {
|
|
50
|
-
console.log(SpeechRecognition,'开始录音')
|
|
51
|
-
resetTranscript();
|
|
52
|
-
SpeechRecognition.startListening({ continuous: true, language: 'zh-CN' });
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
return (
|
|
57
|
-
<div
|
|
58
|
-
className={`relative w-7 h-7 flex items-center justify-center rounded-lg cursor-pointer group ${listening ? 'bg-blue-50' : ''}`}
|
|
59
|
-
onClick={toggleRecording}
|
|
60
|
-
title={listening ? '点击停止录音' : '点击开始录音'}
|
|
61
|
-
>
|
|
62
|
-
<div
|
|
63
|
-
className={`absolute inset-0 rounded-lg transition-colors duration-200 ${
|
|
64
|
-
listening ? 'bg-blue-100' : 'bg-black/[0.02] group-hover:bg-black/[0.04]'
|
|
65
|
-
}`}
|
|
66
|
-
></div>
|
|
67
|
-
{!listening ? (
|
|
68
|
-
<Mic className="w-[17px] h-[17px] text-gray-600/85" />
|
|
69
|
-
) : (
|
|
70
|
-
<span className="relative w-[17px] h-[17px] flex items-center justify-center">
|
|
71
|
-
<span className="absolute inset-0 flex items-center justify-center">
|
|
72
|
-
<span className="group-hover:hidden w-[17px] h-[17px] rounded-full bg-red-500 animate-pulse"></span>
|
|
73
|
-
<span className="hidden group-hover:flex items-center justify-center">
|
|
74
|
-
<span className="w-[13px] h-[13px] bg-red-500 rounded-[3px]"></span>
|
|
75
|
-
</span>
|
|
76
|
-
</span>
|
|
77
|
-
</span>
|
|
78
|
-
)}
|
|
79
|
-
</div>
|
|
80
|
-
);
|
|
81
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import React, { createContext, useContext, useState } from 'react';
|
|
2
|
-
|
|
3
|
-
interface BadgeContextType {
|
|
4
|
-
badgeCounts: Record<string, number>;
|
|
5
|
-
updateBadgeCount: (name: string, count: number) => void;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const BadgeContext = createContext<BadgeContextType>({
|
|
9
|
-
badgeCounts: {},
|
|
10
|
-
updateBadgeCount: () => {},
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
export const BadgeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
|
|
14
|
-
const [badgeCounts, setBadgeCounts] = useState<Record<string, number>>({});
|
|
15
|
-
|
|
16
|
-
const updateBadgeCount = (name: string, count: number) => {
|
|
17
|
-
setBadgeCounts(prev => ({
|
|
18
|
-
...prev,
|
|
19
|
-
[name]: count,
|
|
20
|
-
}));
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
return (
|
|
24
|
-
<BadgeContext.Provider value={{ badgeCounts, updateBadgeCount }}>
|
|
25
|
-
{children}
|
|
26
|
-
</BadgeContext.Provider>
|
|
27
|
-
);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export const useBadge = () => {
|
|
31
|
-
const context = useContext(BadgeContext);
|
|
32
|
-
if (!context) {
|
|
33
|
-
throw new Error('useBadge must be used within a BadgeProvider');
|
|
34
|
-
}
|
|
35
|
-
return context;
|
|
36
|
-
};
|