@zov-chatui/base 1.0.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.
Files changed (98) hide show
  1. package/README.md +347 -0
  2. package/dist/components/Chat/AnimatedRobot.d.ts +5 -0
  3. package/dist/components/Chat/AnimatedRobot.d.ts.map +1 -0
  4. package/dist/components/Chat/ChatInput.d.ts +4 -0
  5. package/dist/components/Chat/ChatInput.d.ts.map +1 -0
  6. package/dist/components/Chat/ChatList.d.ts +4 -0
  7. package/dist/components/Chat/ChatList.d.ts.map +1 -0
  8. package/dist/components/Chat/ChatMessage.d.ts +4 -0
  9. package/dist/components/Chat/ChatMessage.d.ts.map +1 -0
  10. package/dist/components/Chat/MessageContent.d.ts +8 -0
  11. package/dist/components/Chat/MessageContent.d.ts.map +1 -0
  12. package/dist/components/Chat/MobileChatInput.d.ts +4 -0
  13. package/dist/components/Chat/MobileChatInput.d.ts.map +1 -0
  14. package/dist/components/Chat/TypewriterPlaceholder.d.ts +12 -0
  15. package/dist/components/Chat/TypewriterPlaceholder.d.ts.map +1 -0
  16. package/dist/components/Chat/index.d.ts +8 -0
  17. package/dist/components/Chat/index.d.ts.map +1 -0
  18. package/dist/components/Layout/Header.d.ts +4 -0
  19. package/dist/components/Layout/Header.d.ts.map +1 -0
  20. package/dist/components/Layout/MobileSettingsPanel.d.ts +4 -0
  21. package/dist/components/Layout/MobileSettingsPanel.d.ts.map +1 -0
  22. package/dist/components/Layout/SettingsPanel.d.ts +4 -0
  23. package/dist/components/Layout/SettingsPanel.d.ts.map +1 -0
  24. package/dist/components/Layout/index.d.ts +4 -0
  25. package/dist/components/Layout/index.d.ts.map +1 -0
  26. package/dist/components/LoadingSpinner/LoadingSpinner.d.ts +4 -0
  27. package/dist/components/LoadingSpinner/LoadingSpinner.d.ts.map +1 -0
  28. package/dist/components/LoadingSpinner/index.d.ts +2 -0
  29. package/dist/components/LoadingSpinner/index.d.ts.map +1 -0
  30. package/dist/components/MessageContent/index.d.ts +3 -0
  31. package/dist/components/MessageContent/index.d.ts.map +1 -0
  32. package/dist/components/Toast/Toast.d.ts +4 -0
  33. package/dist/components/Toast/Toast.d.ts.map +1 -0
  34. package/dist/components/Toast/ToastContainer.d.ts +4 -0
  35. package/dist/components/Toast/ToastContainer.d.ts.map +1 -0
  36. package/dist/components/Toast/index.d.ts +3 -0
  37. package/dist/components/Toast/index.d.ts.map +1 -0
  38. package/dist/components/Voice/VoiceInput.d.ts +4 -0
  39. package/dist/components/Voice/VoiceInput.d.ts.map +1 -0
  40. package/dist/components/index.d.ts +7 -0
  41. package/dist/components/index.d.ts.map +1 -0
  42. package/dist/contexts/BaseChatContext.d.ts +13 -0
  43. package/dist/contexts/BaseChatContext.d.ts.map +1 -0
  44. package/dist/contexts/chatReducer.d.ts +55 -0
  45. package/dist/contexts/chatReducer.d.ts.map +1 -0
  46. package/dist/contexts/index.d.ts +3 -0
  47. package/dist/contexts/index.d.ts.map +1 -0
  48. package/dist/hooks/index.d.ts +5 -0
  49. package/dist/hooks/index.d.ts.map +1 -0
  50. package/dist/hooks/useChatActions.d.ts +18 -0
  51. package/dist/hooks/useChatActions.d.ts.map +1 -0
  52. package/dist/hooks/useI18n.d.ts +8 -0
  53. package/dist/hooks/useI18n.d.ts.map +1 -0
  54. package/dist/hooks/useResponsive.d.ts +3 -0
  55. package/dist/hooks/useResponsive.d.ts.map +1 -0
  56. package/dist/hooks/useToast.d.ts +19 -0
  57. package/dist/hooks/useToast.d.ts.map +1 -0
  58. package/dist/i18n/index.d.ts +3 -0
  59. package/dist/i18n/index.d.ts.map +1 -0
  60. package/dist/index.d.ts +8 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.esm.js +2469 -0
  63. package/dist/index.esm.js.map +1 -0
  64. package/dist/index.js +2469 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/theme/ThemeProvider.d.ts +14 -0
  67. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  68. package/dist/theme/index.d.ts +4 -0
  69. package/dist/theme/index.d.ts.map +1 -0
  70. package/dist/theme/themes.d.ts +6 -0
  71. package/dist/theme/themes.d.ts.map +1 -0
  72. package/dist/theme/types.d.ts +64 -0
  73. package/dist/theme/types.d.ts.map +1 -0
  74. package/dist/types/index.d.ts +187 -0
  75. package/dist/types/index.d.ts.map +1 -0
  76. package/dist/utils/androidBridge.d.ts +133 -0
  77. package/dist/utils/androidBridge.d.ts.map +1 -0
  78. package/dist/utils/chat.d.ts +16 -0
  79. package/dist/utils/chat.d.ts.map +1 -0
  80. package/dist/utils/file.d.ts +18 -0
  81. package/dist/utils/file.d.ts.map +1 -0
  82. package/dist/utils/index.d.ts +9 -0
  83. package/dist/utils/index.d.ts.map +1 -0
  84. package/dist/utils/streamProcessor.d.ts +61 -0
  85. package/dist/utils/streamProcessor.d.ts.map +1 -0
  86. package/dist/utils/textToSpeech.d.ts +72 -0
  87. package/dist/utils/textToSpeech.d.ts.map +1 -0
  88. package/dist/utils/url.d.ts +6 -0
  89. package/dist/utils/url.d.ts.map +1 -0
  90. package/dist/utils/uuid.d.ts +4 -0
  91. package/dist/utils/uuid.d.ts.map +1 -0
  92. package/dist/utils/voicePlayback.d.ts +16 -0
  93. package/dist/utils/voicePlayback.d.ts.map +1 -0
  94. package/dist/utils/voiceRecorder.d.ts +14 -0
  95. package/dist/utils/voiceRecorder.d.ts.map +1 -0
  96. package/dist/utils/voiceSettings.d.ts +19 -0
  97. package/dist/utils/voiceSettings.d.ts.map +1 -0
  98. package/package.json +84 -0
@@ -0,0 +1,4 @@
1
+ export declare const generateUUID: () => string;
2
+ export declare const generateUUID32: () => string;
3
+ export declare const generateShortId: () => string;
4
+ //# sourceMappingURL=uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,QAAO,MAM/B,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,MAEjC,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,MAElC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 语音播报工具函数
3
+ */
4
+ /**
5
+ * 使用 Web Speech API 或 Android 原生方法进行语音播报
6
+ */
7
+ export declare const speakText: (text: string) => void;
8
+ /**
9
+ * 停止语音播报
10
+ */
11
+ export declare const stopSpeaking: () => void;
12
+ /**
13
+ * 检查是否正在播报
14
+ */
15
+ export declare const isSpeaking: () => boolean;
16
+ //# sourceMappingURL=voicePlayback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voicePlayback.d.ts","sourceRoot":"","sources":["../../src/utils/voicePlayback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,IA0CxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,IAU/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,QAAO,OAW7B,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface VoiceRecorderOptions {
2
+ sampleRate?: number;
3
+ channelCount?: number;
4
+ onAudioLevel?: (level01: number) => void;
5
+ onPartialResult?: (text: string) => void;
6
+ onFinalResult?: (text: string) => void;
7
+ }
8
+ export interface VoiceRecorderHandle {
9
+ start: () => Promise<void>;
10
+ stop: () => Promise<Blob>;
11
+ isRecording: () => boolean;
12
+ }
13
+ export declare function createVoiceRecorder(options?: VoiceRecorderOptions): VoiceRecorderHandle;
14
+ //# sourceMappingURL=voiceRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voiceRecorder.d.ts","sourceRoot":"","sources":["../../src/utils/voiceRecorder.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,WAAW,EAAE,MAAM,OAAO,CAAC;CAC5B;AAGD,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAiL3F"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 语音播报设置管理工具
3
+ */
4
+ export interface VoiceSettings {
5
+ enabled: boolean;
6
+ }
7
+ /**
8
+ * 获取语音播报设置
9
+ */
10
+ export declare const getVoiceSettings: () => VoiceSettings;
11
+ /**
12
+ * 保存语音播报设置
13
+ */
14
+ export declare const saveVoiceSettings: (settings: VoiceSettings) => void;
15
+ /**
16
+ * 检查是否启用语音播报
17
+ */
18
+ export declare const isVoiceEnabled: () => boolean;
19
+ //# sourceMappingURL=voiceSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voiceSettings.d.ts","sourceRoot":"","sources":["../../src/utils/voiceSettings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,aAkBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,aAAa,KAAG,IAY3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,QAAO,OAEjC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@zov-chatui/base",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "description": "Base UI components and utilities for chat applications",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.esm.js",
8
+ "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "scripts": {
16
+ "build": "rollup -c",
17
+ "dev": "rollup -c -w",
18
+ "type-check": "tsc --noEmit",
19
+ "lint": "eslint src --ext .ts,.tsx",
20
+ "test": "jest",
21
+ "prepublishOnly": "npm run build",
22
+ "prepack": "npm run build"
23
+ },
24
+ "keywords": [
25
+ "chat",
26
+ "ui",
27
+ "react",
28
+ "components",
29
+ "typescript"
30
+ ],
31
+ "author": "Zov ChatUI Team",
32
+ "license": "MIT",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "https://github.com/your-org/chat-ui.git",
36
+ "directory": "packages/chat-ui-base"
37
+ },
38
+ "homepage": "https://github.com/your-org/chat-ui#readme",
39
+ "bugs": {
40
+ "url": "https://github.com/your-org/chat-ui/issues"
41
+ },
42
+ "peerDependencies": {
43
+ "react": ">=16.8.0",
44
+ "react-dom": ">=16.8.0",
45
+ "styled-components": ">=5.0.0"
46
+ },
47
+ "dependencies": {
48
+ "@zov-chatui/chat-parsers": "workspace:*",
49
+ "echarts": "^6.0.0",
50
+ "framer-motion": "^10.16.16",
51
+ "i18next": "^23.7.6",
52
+ "i18next-browser-languagedetector": "^7.2.0",
53
+ "react-dropzone": "^14.2.3",
54
+ "react-i18next": "^13.5.0",
55
+ "react-markdown": "^9.0.1",
56
+ "react-syntax-highlighter": "^15.5.0",
57
+ "react-virtualized-auto-sizer": "^1.0.20",
58
+ "react-window": "^1.8.8",
59
+ "remark-gfm": "^4.0.0"
60
+ },
61
+ "devDependencies": {
62
+ "@rollup/plugin-commonjs": "^24.0.0",
63
+ "@rollup/plugin-image": "^3.0.3",
64
+ "@rollup/plugin-json": "^6.1.0",
65
+ "@rollup/plugin-node-resolve": "^15.0.0",
66
+ "@rollup/plugin-typescript": "^11.0.0",
67
+ "@testing-library/jest-dom": "^5.16.0",
68
+ "@testing-library/react": "^13.0.0",
69
+ "@types/file-saver": "^2.0.7",
70
+ "@types/react": "^18.2.43",
71
+ "@types/react-dom": "^18.2.17",
72
+ "@types/react-syntax-highlighter": "^15.5.11",
73
+ "@typescript-eslint/eslint-plugin": "^6.14.0",
74
+ "@typescript-eslint/parser": "^6.14.0",
75
+ "eslint": "^8.55.0",
76
+ "eslint-plugin-react-hooks": "^4.6.0",
77
+ "eslint-plugin-react-refresh": "^0.4.5",
78
+ "jest": "^29.0.0",
79
+ "rollup": "^3.0.0",
80
+ "rollup-plugin-peer-deps-external": "^2.2.4",
81
+ "rollup-plugin-terser": "^7.0.2",
82
+ "typescript": "^5.2.2"
83
+ }
84
+ }