@touchvue/chat 1.0.0-beta.2 → 1.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/es/package.json.mjs +1 -1
  2. package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue2.mjs +3 -3
  3. package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue2.mjs.map +1 -0
  4. package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue2.mjs +3 -1
  5. package/es/packages/components/touchchat/component/AiRobot/face.vue2.mjs.map +1 -0
  6. package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs.map +1 -0
  7. package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue2.mjs +9 -6
  8. package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.mjs.map +1 -0
  9. package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue2.mjs +1 -1
  10. package/es/packages/components/touchchat/component/AiRobot/start.vue2.mjs.map +1 -0
  11. package/es/packages/components/touchchat/component/CardView.vue2.mjs.map +1 -1
  12. package/es/packages/components/touchchat/component/HelloChat.vue2.mjs +2 -2
  13. package/es/packages/components/touchchat/component/HelloChat.vue2.mjs.map +1 -1
  14. package/es/packages/components/touchchat/img/aiAvatar.png.mjs +4 -0
  15. package/es/packages/components/touchchat/img/aiAvatar.png.mjs.map +1 -0
  16. package/es/packages/components/touchchat/img/icon.png.mjs.map +1 -0
  17. package/es/packages/components/touchchat/img/userAvatar.png.mjs +4 -0
  18. package/es/packages/components/touchchat/img/userAvatar.png.mjs.map +1 -0
  19. package/es/packages/components/touchchat/index.mjs +1 -1
  20. package/es/packages/components/touchchat/index.mjs.map +1 -1
  21. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs +115 -199
  22. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs.map +1 -1
  23. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs +43 -137
  24. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs.map +1 -1
  25. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs +90 -127
  26. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs.map +1 -1
  27. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs +17 -39
  28. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs.map +1 -1
  29. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs +41 -181
  30. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs.map +1 -1
  31. package/es/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue2.mjs +1 -1
  32. package/es/packages/components/touchchat/src/AiChat/Scene.vue2.mjs.map +1 -0
  33. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue.mjs +6 -0
  34. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue.mjs.map +1 -0
  35. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs +25 -0
  36. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs.map +1 -0
  37. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs +618 -390
  38. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs.map +1 -1
  39. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs +200 -89
  40. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs.map +1 -1
  41. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs +42 -37
  42. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs.map +1 -1
  43. package/es/packages/components/touchchat/src/index.vue2.mjs +54 -29
  44. package/es/packages/components/touchchat/src/index.vue2.mjs.map +1 -1
  45. package/lib/package.json.js +1 -1
  46. package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue2.js +3 -3
  47. package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue2.js.map +1 -0
  48. package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue2.js +3 -1
  49. package/lib/packages/components/touchchat/component/AiRobot/face.vue2.js.map +1 -0
  50. package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js.map +1 -0
  51. package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue2.js +8 -5
  52. package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.js.map +1 -0
  53. package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue2.js +1 -1
  54. package/lib/packages/components/touchchat/component/AiRobot/start.vue2.js.map +1 -0
  55. package/lib/packages/components/touchchat/component/CardView.vue2.js.map +1 -1
  56. package/lib/packages/components/touchchat/component/HelloChat.vue2.js +2 -2
  57. package/lib/packages/components/touchchat/component/HelloChat.vue2.js.map +1 -1
  58. package/lib/packages/components/touchchat/img/aiAvatar.png.js +8 -0
  59. package/lib/packages/components/touchchat/img/aiAvatar.png.js.map +1 -0
  60. package/lib/packages/components/touchchat/img/icon.png.js.map +1 -0
  61. package/lib/packages/components/touchchat/img/userAvatar.png.js +8 -0
  62. package/lib/packages/components/touchchat/img/userAvatar.png.js.map +1 -0
  63. package/lib/packages/components/touchchat/index.js +1 -1
  64. package/lib/packages/components/touchchat/index.js.map +1 -1
  65. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js +107 -191
  66. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js.map +1 -1
  67. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js +43 -137
  68. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js.map +1 -1
  69. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js +89 -126
  70. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js.map +1 -1
  71. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js +16 -38
  72. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js.map +1 -1
  73. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js +41 -181
  74. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js.map +1 -1
  75. package/lib/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue2.js +1 -1
  76. package/lib/packages/components/touchchat/src/AiChat/Scene.vue2.js.map +1 -0
  77. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue.js +10 -0
  78. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue.js.map +1 -0
  79. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js +29 -0
  80. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js.map +1 -0
  81. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js +615 -387
  82. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js.map +1 -1
  83. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js +199 -88
  84. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js.map +1 -1
  85. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js +41 -36
  86. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js.map +1 -1
  87. package/lib/packages/components/touchchat/src/index.vue2.js +53 -28
  88. package/lib/packages/components/touchchat/src/index.vue2.js.map +1 -1
  89. package/package.json +81 -81
  90. package/theme/components/index.css +1447 -2004
  91. package/theme/img/aiArrow.png +0 -0
  92. package/theme/img/loading.png +0 -0
  93. package/theme/img/logo.png +0 -0
  94. package/theme/img/userArrow.png +0 -0
  95. package/theme/index.css +1448 -2005
  96. package/theme/skin/default.css +1448 -2005
  97. package/es/packages/components/touchchat/img/AI.png.mjs +0 -4
  98. package/es/packages/components/touchchat/img/AI.png.mjs.map +0 -1
  99. package/es/packages/components/touchchat/img/asir.png.mjs +0 -4
  100. package/es/packages/components/touchchat/img/asir.png.mjs.map +0 -1
  101. package/es/packages/components/touchchat/src/AiRobot/ChatPanel.vue.mjs +0 -6
  102. package/es/packages/components/touchchat/src/AiRobot/ChatPanel.vue.mjs.map +0 -1
  103. package/es/packages/components/touchchat/src/AiRobot/ChatPanel.vue2.mjs +0 -620
  104. package/es/packages/components/touchchat/src/AiRobot/ChatPanel.vue2.mjs.map +0 -1
  105. package/es/packages/components/touchchat/src/AiRobot/Content.vue.mjs +0 -6
  106. package/es/packages/components/touchchat/src/AiRobot/Content.vue.mjs.map +0 -1
  107. package/es/packages/components/touchchat/src/AiRobot/Content.vue2.mjs +0 -224
  108. package/es/packages/components/touchchat/src/AiRobot/Content.vue2.mjs.map +0 -1
  109. package/es/packages/components/touchchat/src/AiRobot/Header.vue.mjs +0 -6
  110. package/es/packages/components/touchchat/src/AiRobot/Header.vue.mjs.map +0 -1
  111. package/es/packages/components/touchchat/src/AiRobot/Header.vue2.mjs +0 -188
  112. package/es/packages/components/touchchat/src/AiRobot/Header.vue2.mjs.map +0 -1
  113. package/es/packages/components/touchchat/src/AiRobot/Input.vue.mjs +0 -6
  114. package/es/packages/components/touchchat/src/AiRobot/Input.vue.mjs.map +0 -1
  115. package/es/packages/components/touchchat/src/AiRobot/Input.vue2.mjs +0 -69
  116. package/es/packages/components/touchchat/src/AiRobot/Input.vue2.mjs.map +0 -1
  117. package/es/packages/components/touchchat/src/AiRobot/Scene.vue2.mjs.map +0 -1
  118. package/es/packages/components/touchchat/src/AiRobot/component/HelloChat.vue2.mjs.map +0 -1
  119. package/es/packages/components/touchchat/src/AiRobot/component/face.vue2.mjs.map +0 -1
  120. package/es/packages/components/touchchat/src/AiRobot/component/letter.vue2.mjs.map +0 -1
  121. package/es/packages/components/touchchat/src/AiRobot/component/meterialPrepare.vue2.mjs.map +0 -1
  122. package/es/packages/components/touchchat/src/AiRobot/component/start.vue2.mjs.map +0 -1
  123. package/es/packages/components/touchchat/src/AiRobot/img/Avatar-AI.png.mjs +0 -4
  124. package/es/packages/components/touchchat/src/AiRobot/img/Avatar-AI.png.mjs.map +0 -1
  125. package/es/packages/components/touchchat/src/AiRobot/img/icon.png.mjs.map +0 -1
  126. package/es/packages/components/touchchat/src/AiRobot/index.vue.mjs +0 -6
  127. package/es/packages/components/touchchat/src/AiRobot/index.vue.mjs.map +0 -1
  128. package/es/packages/components/touchchat/src/AiRobot/index.vue2.mjs +0 -67
  129. package/es/packages/components/touchchat/src/AiRobot/index.vue2.mjs.map +0 -1
  130. package/lib/packages/components/touchchat/img/AI.png.js +0 -8
  131. package/lib/packages/components/touchchat/img/AI.png.js.map +0 -1
  132. package/lib/packages/components/touchchat/img/asir.png.js +0 -8
  133. package/lib/packages/components/touchchat/img/asir.png.js.map +0 -1
  134. package/lib/packages/components/touchchat/src/AiRobot/ChatPanel.vue.js +0 -10
  135. package/lib/packages/components/touchchat/src/AiRobot/ChatPanel.vue.js.map +0 -1
  136. package/lib/packages/components/touchchat/src/AiRobot/ChatPanel.vue2.js +0 -624
  137. package/lib/packages/components/touchchat/src/AiRobot/ChatPanel.vue2.js.map +0 -1
  138. package/lib/packages/components/touchchat/src/AiRobot/Content.vue.js +0 -10
  139. package/lib/packages/components/touchchat/src/AiRobot/Content.vue.js.map +0 -1
  140. package/lib/packages/components/touchchat/src/AiRobot/Content.vue2.js +0 -228
  141. package/lib/packages/components/touchchat/src/AiRobot/Content.vue2.js.map +0 -1
  142. package/lib/packages/components/touchchat/src/AiRobot/Header.vue.js +0 -10
  143. package/lib/packages/components/touchchat/src/AiRobot/Header.vue.js.map +0 -1
  144. package/lib/packages/components/touchchat/src/AiRobot/Header.vue2.js +0 -192
  145. package/lib/packages/components/touchchat/src/AiRobot/Header.vue2.js.map +0 -1
  146. package/lib/packages/components/touchchat/src/AiRobot/Input.vue.js +0 -10
  147. package/lib/packages/components/touchchat/src/AiRobot/Input.vue.js.map +0 -1
  148. package/lib/packages/components/touchchat/src/AiRobot/Input.vue2.js +0 -73
  149. package/lib/packages/components/touchchat/src/AiRobot/Input.vue2.js.map +0 -1
  150. package/lib/packages/components/touchchat/src/AiRobot/Scene.vue2.js.map +0 -1
  151. package/lib/packages/components/touchchat/src/AiRobot/component/HelloChat.vue2.js.map +0 -1
  152. package/lib/packages/components/touchchat/src/AiRobot/component/face.vue2.js.map +0 -1
  153. package/lib/packages/components/touchchat/src/AiRobot/component/letter.vue2.js.map +0 -1
  154. package/lib/packages/components/touchchat/src/AiRobot/component/meterialPrepare.vue2.js.map +0 -1
  155. package/lib/packages/components/touchchat/src/AiRobot/component/start.vue2.js.map +0 -1
  156. package/lib/packages/components/touchchat/src/AiRobot/img/Avatar-AI.png.js +0 -8
  157. package/lib/packages/components/touchchat/src/AiRobot/img/Avatar-AI.png.js.map +0 -1
  158. package/lib/packages/components/touchchat/src/AiRobot/img/icon.png.js.map +0 -1
  159. package/lib/packages/components/touchchat/src/AiRobot/index.vue.js +0 -10
  160. package/lib/packages/components/touchchat/src/AiRobot/index.vue.js.map +0 -1
  161. package/lib/packages/components/touchchat/src/AiRobot/index.vue2.js +0 -71
  162. package/lib/packages/components/touchchat/src/AiRobot/index.vue2.js.map +0 -1
  163. package/theme/img/default.png +0 -0
  164. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue.mjs +0 -0
  165. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue.mjs.map +0 -0
  166. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue.mjs +0 -0
  167. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue.mjs.map +0 -0
  168. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue.mjs +0 -0
  169. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue.mjs.map +0 -0
  170. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue2.mjs +0 -0
  171. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue.mjs +0 -0
  172. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue.mjs.map +0 -0
  173. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue.mjs +0 -0
  174. /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue.mjs.map +0 -0
  175. /package/es/packages/components/touchchat/{src/AiRobot/img → img}/icon.png.mjs +0 -0
  176. /package/es/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue.mjs +0 -0
  177. /package/es/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue.mjs.map +0 -0
  178. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue.js +0 -0
  179. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue.js.map +0 -0
  180. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue.js +0 -0
  181. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue.js.map +0 -0
  182. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue.js +0 -0
  183. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue.js.map +0 -0
  184. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue2.js +0 -0
  185. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue.js +0 -0
  186. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue.js.map +0 -0
  187. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue.js +0 -0
  188. /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue.js.map +0 -0
  189. /package/lib/packages/components/touchchat/{src/AiRobot/img → img}/icon.png.js +0 -0
  190. /package/lib/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue.js +0 -0
  191. /package/lib/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue.js.map +0 -0
@@ -24,144 +24,50 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
24
24
  const handleStop = () => emits("stop");
25
25
  return (_ctx, _cache) => {
26
26
  var _a;
27
- return openBlock(), createElementBlock("div", { class: "input-area-fixed" }, [
28
- createElementVNode("div", { class: "input-area" }, [
29
- createElementVNode("div", { class: "input-container" }, [
30
- createElementVNode("div", { class: "vertical-input-group" }, [
31
- createElementVNode("textarea", {
32
- value: _ctx.inputValue,
33
- placeholder: (_a = unref(placeholder)) != null ? _a : "\u8BF7\u8F93\u5165...",
34
- class: "rounded-input",
35
- onInput: handleInputChange,
36
- onKeyup: withKeys(handleSend, ["enter"])
37
- }, null, 40, ["value", "placeholder"]),
38
- createElementVNode("div", {
39
- class: normalizeClass(unref(isThinking) ? "controls-container" : "controls-container not-is-thinking")
40
- }, [
41
- unref(isThinking) ? (openBlock(), createElementBlock("button", {
42
- key: 0,
43
- class: normalizeClass(["deep-thinking-btn", {
44
- active: _ctx.enableDeepThinking,
45
- disabled: _ctx.isChating
46
- }]),
47
- disabled: _ctx.isChating,
48
- onClick: handleDeepThinkingClick
49
- }, [
50
- !_ctx.isChating ? (openBlock(), createElementBlock("svg", {
51
- key: 0,
52
- xmlns: "http://www.w3.org/2000/svg",
53
- width: "16",
54
- height: "16",
55
- viewBox: "0 0 16 16",
56
- fill: "none"
57
- }, [
58
- createElementVNode("path", {
59
- d: "M6.57131 9.39895L3.28628 6.11392C2.50523 5.33287 2.50524 4.06654 3.28628 3.28549C4.06733 2.50445 5.33366 2.50444 6.11471 3.28549L6.58746 3.75824",
60
- stroke: _ctx.enableDeepThinking ? "#0062D6" : "#1D2129",
61
- "stroke-width": "1.2",
62
- "stroke-linecap": "round"
63
- }, null, 8, ["stroke"]),
64
- createElementVNode("path", {
65
- d: "M9.41534 6.58612L12.7143 9.88513C13.4954 10.6662 13.4954 11.9325 12.7143 12.7136C11.9333 13.4946 10.667 13.4946 9.88592 12.7136L9.40744 12.2351",
66
- stroke: _ctx.enableDeepThinking ? "#0062D6" : "#1D2129",
67
- "stroke-width": "1.2",
68
- "stroke-linecap": "round"
69
- }, null, 8, ["stroke"]),
70
- createElementVNode("path", {
71
- d: "M9.41454 9.41419L6.11098 12.7178C5.33199 13.4967 4.06733 13.4951 3.28628 12.714C2.50524 11.933 2.50356 10.6683 3.28255 9.88933L3.755 9.41687",
72
- stroke: _ctx.enableDeepThinking ? "#0062D6" : "#1D2129",
73
- "stroke-width": "1.2",
74
- "stroke-linecap": "round"
75
- }, null, 8, ["stroke"]),
76
- createElementVNode("path", {
77
- d: "M6.58594 6.58545L9.88313 3.28826C10.6656 2.50575 11.9331 2.50457 12.7142 3.28562C13.4952 4.06666 13.4941 5.33418 12.7116 6.11668L12.2584 6.56982",
78
- stroke: _ctx.enableDeepThinking ? "#0062D6" : "#1D2129",
79
- "stroke-width": "1.2",
80
- "stroke-linecap": "round"
81
- }, null, 8, ["stroke"])
82
- ])) : (openBlock(), createElementBlock("svg", {
83
- key: 1,
84
- xmlns: "http://www.w3.org/2000/svg",
85
- width: "16",
86
- height: "16",
87
- viewBox: "0 0 16 16",
88
- fill: "none"
89
- }, [
90
- createElementVNode("path", {
91
- d: "M6.57131 9.39895L3.28628 6.11392C2.50523 5.33287 2.50524 4.06654 3.28628 3.28549C4.06733 2.50445 5.33366 2.50444 6.11471 3.28549L6.58746 3.75824",
92
- stroke: "#C9CDD4",
93
- "stroke-width": "1.2",
94
- "stroke-linecap": "round"
95
- }),
96
- createElementVNode("path", {
97
- d: "M9.41534 6.58612L12.7143 9.88513C13.4954 10.6662 13.4954 11.9325 12.7143 12.7136C11.9333 13.4946 10.667 13.4946 9.88592 12.7136L9.40744 12.2351",
98
- stroke: "#C9CDD4",
99
- "stroke-width": "1.2",
100
- "stroke-linecap": "round"
101
- }),
102
- createElementVNode("path", {
103
- d: "M9.41454 9.41419L6.11098 12.7178C5.33199 13.4967 4.06733 13.4951 3.28628 12.714C2.50524 11.933 2.50356 10.6683 3.28255 9.88933L3.755 9.41687",
104
- stroke: "#C9CDD4",
105
- "stroke-width": "1.2",
106
- "stroke-linecap": "round"
107
- }),
108
- createElementVNode("path", {
109
- d: "M6.58594 6.58545L9.88313 3.28826C10.6656 2.50575 11.9331 2.50457 12.7142 3.28562C13.4952 4.06666 13.4941 5.33418 12.7116 6.11668L12.2584 6.56982",
110
- stroke: "#C9CDD4",
111
- "stroke-width": "1.2",
112
- "stroke-linecap": "round"
113
- })
114
- ])),
115
- createElementVNode("span", null, "\u6DF1\u5EA6\u601D\u8003")
116
- ], 10, ["disabled"])) : createCommentVNode("", true),
117
- createElementVNode("div", { class: "input-buttons" }, [
118
- !_ctx.isChating ? (openBlock(), createElementBlock("button", {
119
- key: 0,
120
- class: "send-button square-icon-btn",
121
- disabled: !_ctx.inputValue.trim(),
122
- onClick: handleSend
123
- }, [
124
- (openBlock(), createElementBlock("svg", {
125
- width: "24",
126
- height: "24",
127
- viewBox: "0 0 24 24",
128
- fill: "none",
129
- stroke: "currentColor",
130
- "stroke-width": "2"
131
- }, [
132
- createElementVNode("path", { d: "M12 5v14M5 12l7-7 7 7" })
133
- ]))
134
- ], 8, ["disabled"])) : (openBlock(), createElementBlock("button", {
135
- key: 1,
136
- class: "stop-button square-icon-btn",
137
- onClick: handleStop
138
- }, [
139
- (openBlock(), createElementBlock("svg", {
140
- xmlns: "http://www.w3.org/2000/svg",
141
- width: "33",
142
- height: "33",
143
- viewBox: "0 0 33 33",
144
- fill: "none"
145
- }, [
146
- createElementVNode("rect", {
147
- x: "0.5",
148
- y: "0.842773",
149
- width: "32",
150
- height: "32",
151
- rx: "8",
152
- fill: "#0077FA"
153
- }),
154
- createElementVNode("path", {
155
- d: "M11.5 13.2713C11.5 12.4824 12.1396 11.8428 12.9286 11.8428H20.0714C20.8604 11.8428 21.5 12.4824 21.5 13.2713V20.4142C21.5 21.2032 20.8604 21.8428 20.0714 21.8428H12.9286C12.1396 21.8428 11.5 21.2032 11.5 20.4142V13.2713Z",
156
- fill: "white"
157
- })
158
- ]))
159
- ]))
160
- ])
161
- ], 2)
162
- ])
27
+ return openBlock(), createElementBlock("div", { class: "touchchat-edit" }, [
28
+ createElementVNode("div", { class: "touchchat-edit-input" }, [
29
+ createElementVNode("textarea", {
30
+ value: _ctx.inputValue,
31
+ placeholder: (_a = unref(placeholder)) != null ? _a : "\u8BF7\u8F93\u5165...",
32
+ onInput: handleInputChange,
33
+ onKeyup: withKeys(handleSend, ["enter"])
34
+ }, null, 40, ["value", "placeholder"])
35
+ ]),
36
+ createElementVNode("div", {
37
+ class: normalizeClass(unref(isThinking) ? "touchchat-edit-submit is-thinkable" : "touchchat-edit-submit")
38
+ }, [
39
+ createElementVNode("div", { class: "touchchat-edit-submit-left" }, [
40
+ createElementVNode("button", {
41
+ class: normalizeClass(["touchchat-edit-attach", { "is-dis": _ctx.isChating }])
42
+ }, [
43
+ createElementVNode("div", { class: "touchchat-edit-attach-icon" })
44
+ ], 2),
45
+ unref(isThinking) ? (openBlock(), createElementBlock("button", {
46
+ key: 0,
47
+ class: normalizeClass(["touchchat-edit-think", { "is-on": _ctx.enableDeepThinking, "is-dis": _ctx.isChating }]),
48
+ onClick: handleDeepThinkingClick
49
+ }, [
50
+ createElementVNode("div", { class: "touchchat-edit-think-icon" }),
51
+ createElementVNode("div", { class: "touchchat-edit-think-text" }, "\u6DF1\u5EA6\u601D\u8003")
52
+ ], 2)) : createCommentVNode("", true)
53
+ ]),
54
+ createElementVNode("div", { class: "touchchat-edit-submit-right" }, [
55
+ !_ctx.isChating ? (openBlock(), createElementBlock("button", {
56
+ key: 0,
57
+ class: "touchchat-edit-send",
58
+ disabled: !_ctx.inputValue.trim(),
59
+ onClick: handleSend
60
+ }, [
61
+ createElementVNode("div", { class: "touchchat-edit-send-icon" })
62
+ ], 8, ["disabled"])) : (openBlock(), createElementBlock("button", {
63
+ key: 1,
64
+ class: "touchchat-edit-stop",
65
+ onClick: handleStop
66
+ }, [
67
+ createElementVNode("div", { class: "touchchat-edit-stop-icon" })
68
+ ]))
163
69
  ])
164
- ])
70
+ ], 2)
165
71
  ]);
166
72
  };
167
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInput.vue2.mjs","sources":["../../../../../../../packages/components/touchchat/src/AiChat/ChatInput.vue"],"sourcesContent":["<template>\n <div class=\"input-area-fixed\">\n <div class=\"input-area\">\n <div class=\"input-container\">\n <!-- 添加外层垂直布局容器 -->\n <div class=\"vertical-input-group\">\n <!-- 将v-model拆分为:value和@input -->\n <textarea\n :value=\"inputValue\"\n :placeholder=\"placeholder ?? '请输入...'\"\n class=\"rounded-input\"\n @input=\"handleInputChange\"\n @keyup.enter=\"handleSend\"\n ></textarea>\n <!-- 按钮与开关容器 -->\n <div :class=\"isThinking ? 'controls-container' : 'controls-container not-is-thinking'\">\n <!-- 深度思考开关 - 修改为按钮样式 -->\n <button\n v-if=\"isThinking\"\n class=\"deep-thinking-btn\"\n :class=\"{\n active: enableDeepThinking,\n disabled: isChating,\n }\"\n :disabled=\"isChating\"\n @click=\"handleDeepThinkingClick\"\n >\n <svg\n v-if=\"!isChating\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M6.57131 9.39895L3.28628 6.11392C2.50523 5.33287 2.50524 4.06654 3.28628 3.28549C4.06733 2.50445 5.33366 2.50444 6.11471 3.28549L6.58746 3.75824\"\n :stroke=\"enableDeepThinking ? '#0062D6' : '#1D2129'\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M9.41534 6.58612L12.7143 9.88513C13.4954 10.6662 13.4954 11.9325 12.7143 12.7136C11.9333 13.4946 10.667 13.4946 9.88592 12.7136L9.40744 12.2351\"\n :stroke=\"enableDeepThinking ? '#0062D6' : '#1D2129'\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M9.41454 9.41419L6.11098 12.7178C5.33199 13.4967 4.06733 13.4951 3.28628 12.714C2.50524 11.933 2.50356 10.6683 3.28255 9.88933L3.755 9.41687\"\n :stroke=\"enableDeepThinking ? '#0062D6' : '#1D2129'\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M6.58594 6.58545L9.88313 3.28826C10.6656 2.50575 11.9331 2.50457 12.7142 3.28562C13.4952 4.06666 13.4941 5.33418 12.7116 6.11668L12.2584 6.56982\"\n :stroke=\"enableDeepThinking ? '#0062D6' : '#1D2129'\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n </svg>\n <svg\n v-else\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M6.57131 9.39895L3.28628 6.11392C2.50523 5.33287 2.50524 4.06654 3.28628 3.28549C4.06733 2.50445 5.33366 2.50444 6.11471 3.28549L6.58746 3.75824\"\n stroke=\"#C9CDD4\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M9.41534 6.58612L12.7143 9.88513C13.4954 10.6662 13.4954 11.9325 12.7143 12.7136C11.9333 13.4946 10.667 13.4946 9.88592 12.7136L9.40744 12.2351\"\n stroke=\"#C9CDD4\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M9.41454 9.41419L6.11098 12.7178C5.33199 13.4967 4.06733 13.4951 3.28628 12.714C2.50524 11.933 2.50356 10.6683 3.28255 9.88933L3.755 9.41687\"\n stroke=\"#C9CDD4\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M6.58594 6.58545L9.88313 3.28826C10.6656 2.50575 11.9331 2.50457 12.7142 3.28562C13.4952 4.06666 13.4941 5.33418 12.7116 6.11668L12.2584 6.56982\"\n stroke=\"#C9CDD4\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n </svg>\n <span>深度思考</span>\n </button>\n <!-- 按钮容器 -->\n <div class=\"input-buttons\">\n <!-- 发送按钮 -->\n <button\n v-if=\"!isChating\"\n class=\"send-button square-icon-btn\"\n :disabled=\"!inputValue.trim()\"\n @click=\"handleSend\"\n >\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <path d=\"M12 5v14M5 12l7-7 7 7\" />\n </svg>\n </button>\n <!-- 停止按钮 -->\n <button v-else class=\"stop-button square-icon-btn\" @click=\"handleStop\">\n <!-- 修正viewBox属性,移除$符号 -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"33\"\n height=\"33\"\n viewBox=\"0 0 33 33\"\n fill=\"none\"\n >\n <rect x=\"0.5\" y=\"0.842773\" width=\"32\" height=\"32\" rx=\"8\" fill=\"#0077FA\" />\n <path\n d=\"M11.5 13.2713C11.5 12.4824 12.1396 11.8428 12.9286 11.8428H20.0714C20.8604 11.8428 21.5 12.4824 21.5 13.2713V20.4142C21.5 21.2032 20.8604 21.8428 20.0714 21.8428H12.9286C12.1396 21.8428 11.5 21.2032 11.5 20.4142V13.2713Z\"\n fill=\"white\"\n />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject } from 'vue';\nconst placeholder = inject('placeholder', '请输入...');\nconst isThinking = inject('isThinking', false);\nconst props = defineProps<{\n inputValue: string;\n isChating: boolean;\n enableDeepThinking: boolean;\n}>();\n\nconst emits = defineEmits<{\n (e: 'send'): void;\n (e: 'stop'): void;\n (e: 'update:enableDeepThinking', value: boolean): void;\n (e: 'update:inputValue', value: string): void; // 添加inputValue更新事件\n}>();\n\n// 处理输入框变化\nconst handleInputChange = (e: Event) => {\n const value = (e.target as HTMLTextAreaElement).value;\n emits('update:inputValue', value);\n};\n\n// 处理深度思考按钮点击\nconst handleDeepThinkingClick = () => {\n emits('update:enableDeepThinking', !props.enableDeepThinking);\n};\n\nconst handleSend = () => emits('send');\nconst handleStop = () => emits('stop');\n</script>\n<!-- <style lang=\"less\" scoped>\n@import '../../style/ChatInput.less';\n</style> -->\n"],"names":["_createElementBlock","_createElementVNode","inputValue","_unref","enableDeepThinking","isChating"],"mappings":"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"}
1
+ {"version":3,"file":"ChatInput.vue2.mjs","sources":["../../../../../../../packages/components/touchchat/src/AiChat/ChatInput.vue"],"sourcesContent":["<template>\n\t<div class=\"touchchat-edit\">\n\t\t<!-- 将v-model拆分为:value和@input -->\n\t\t<div class=\"touchchat-edit-input\">\n\t\t\t<textarea :value=\"inputValue\" :placeholder=\"placeholder ?? '请输入...'\" @input=\"handleInputChange\" @keyup.enter=\"handleSend\"></textarea>\n\t\t</div>\n\n\t\t<!-- 按钮与开关容器 -->\n\t\t<div :class=\"isThinking ? 'touchchat-edit-submit is-thinkable' : 'touchchat-edit-submit'\">\n\t\t\t<div class=\"touchchat-edit-submit-left\">\n\t\t\t\t<!-- 附件 -->\n\t\t\t\t<button class=\"touchchat-edit-attach\" :class=\"{ 'is-dis': isChating }\">\n\t\t\t\t\t<div class=\"touchchat-edit-attach-icon\"></div>\n\t\t\t\t</button>\n\n\t\t\t\t<!-- 深度思考开关 - 修改为按钮样式 -->\n\t\t\t\t<button v-if=\"isThinking\" class=\"touchchat-edit-think\" :class=\"{ 'is-on': enableDeepThinking, 'is-dis': isChating }\" @click=\"handleDeepThinkingClick\">\n\t\t\t\t\t<div class=\"touchchat-edit-think-icon\"></div>\n\t\t\t\t\t<div class=\"touchchat-edit-think-text\">深度思考</div>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"touchchat-edit-submit-right\">\n\t\t\t\t<!-- 发送按钮 -->\n\t\t\t\t<button v-if=\"!isChating\" class=\"touchchat-edit-send\" :disabled=\"!inputValue.trim()\" @click=\"handleSend\">\n\t\t\t\t\t<div class=\"touchchat-edit-send-icon\"></div>\n\t\t\t\t</button>\n\n\t\t\t\t<!-- 停止按钮 -->\n\t\t\t\t<button v-else class=\"touchchat-edit-stop\" @click=\"handleStop\">\n\t\t\t\t\t<div class=\"touchchat-edit-stop-icon\"></div>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject } from 'vue'\nconst placeholder = inject('placeholder', '请输入...')\nconst isThinking = inject('isThinking', false)\nconst props = defineProps<{\n\tinputValue: string\n\tisChating: boolean\n\tenableDeepThinking: boolean\n}>()\n\nconst emits = defineEmits<{\n\t(e: 'send'): void\n\t(e: 'stop'): void\n\t(e: 'update:enableDeepThinking', value: boolean): void\n\t(e: 'update:inputValue', value: string): void // 添加inputValue更新事件\n}>()\n\n// 处理输入框变化\nconst handleInputChange = (e: Event) => {\n\tconst value = (e.target as HTMLTextAreaElement).value\n\temits('update:inputValue', value)\n}\n\n// 处理深度思考按钮点击\nconst handleDeepThinkingClick = () => {\n\temits('update:enableDeepThinking', !props.enableDeepThinking)\n}\n\nconst handleSend = () => emits('send')\nconst handleStop = () => emits('stop')\n</script>\n"],"names":["_createElementBlock","_createElementVNode","inputValue","_unref","_normalizeClass","isChating","enableDeepThinking"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, inject, ref, reactive, computed, watch, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createElementVNode, toDisplayString, withDirectives, withKeys, withModifiers, vModelText, createCommentVNode, nextTick } from 'vue';
1
+ import { defineComponent, inject, ref, reactive, computed, watch, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createElementVNode, toDisplayString, withDirectives, withKeys, withModifiers, vModelText, createTextVNode, createCommentVNode, nextTick } from 'vue';
2
2
 
3
3
  var _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "HistoryList",
@@ -10,7 +10,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  setup(__props, { emit: __emit }) {
11
11
  const props = __props;
12
12
  const isRobot = inject("scripts", []).length > 0;
13
- console.log("isRobot === historyList", isRobot, inject("scripts", []));
14
13
  const emit = __emit;
15
14
  const actionMenus = ref({});
16
15
  const tooltipContainerRefs = ref({});
@@ -26,6 +25,23 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
26
25
  const state = reactive({
27
26
  actionMenuVisible: {}
28
27
  });
28
+ const handlePageChange = inject("handlePageChange", () => {
29
+ console.warn("\u672A\u63D0\u4F9BhandlePageChange\u51FD\u6570");
30
+ });
31
+ let scrollTimeout = null;
32
+ const handleScroll = (event) => {
33
+ if (scrollTimeout) {
34
+ clearTimeout(scrollTimeout);
35
+ }
36
+ scrollTimeout = setTimeout(() => {
37
+ const container = event.target;
38
+ const { scrollTop, scrollHeight, clientHeight } = container;
39
+ const isBottom = scrollHeight - scrollTop <= clientHeight + 10;
40
+ if (isBottom) {
41
+ handlePageChange();
42
+ }
43
+ }, 200);
44
+ };
29
45
  const handleStartRename = (id) => {
30
46
  const item = props.chatHistory.find((item2) => item2.id === id);
31
47
  if (item) {
@@ -34,7 +50,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
34
50
  state.actionMenuVisible[id] = false;
35
51
  nextTick(() => {
36
52
  var _a;
37
- console.log("editInputRefs.value", editInputRefs.value[id]);
38
53
  (_a = editInputRefs.value[id]) == null ? void 0 : _a.focus();
39
54
  });
40
55
  }
@@ -58,11 +73,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
58
73
  const thirtyDaysAgo = new Date(today);
59
74
  thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
60
75
  const targetDate = new Date(date);
61
- const targetDateNormalized = new Date(
62
- targetDate.getFullYear(),
63
- targetDate.getMonth(),
64
- targetDate.getDate()
65
- );
76
+ const targetDateNormalized = new Date(targetDate.getFullYear(), targetDate.getMonth(), targetDate.getDate());
66
77
  if (targetDateNormalized >= today)
67
78
  return "today";
68
79
  if (targetDateNormalized >= yesterday)
@@ -93,9 +104,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
93
104
  }
94
105
  };
95
106
  const groupedChatHistory = computed(() => {
96
- const sortedChats = [...props.chatHistory].sort(
97
- (a, b) => new Date(b.time).getTime() - new Date(a.time).getTime()
98
- );
107
+ const sortedChats = [...props.chatHistory].sort((a, b) => new Date(b.time).getTime() - new Date(a.time).getTime());
99
108
  const groups = {};
100
109
  sortedChats.forEach((chat) => {
101
110
  const key = getGroupKey(new Date(chat.time));
@@ -245,147 +254,101 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
245
254
  }, 200);
246
255
  };
247
256
  return (_ctx, _cache) => {
248
- return openBlock(), createElementBlock("ul", {
257
+ return openBlock(), createElementBlock("div", {
249
258
  ref_key: "historyListRef",
250
259
  ref: historyListRef,
251
- class: normalizeClass(["history-list", { "is-robot": isRobot }])
260
+ class: normalizeClass(["touchchat-history", { "is-robot": isRobot }]),
261
+ onScroll: handleScroll
252
262
  }, [
253
263
  (openBlock(true), createElementBlock(Fragment, null, renderList(groupedChatHistory.value, (group) => {
254
- return openBlock(), createElementBlock(Fragment, {
255
- key: group.groupKey
264
+ return openBlock(), createElementBlock("div", {
265
+ key: group.groupKey,
266
+ class: "touchchat-history-group"
256
267
  }, [
257
- createElementVNode("li", { class: "history-group-header" }, [
258
- (openBlock(), createElementBlock("svg", {
259
- xmlns: "http://www.w3.org/2000/svg",
260
- width: "16",
261
- height: "17",
262
- viewBox: "0 0 16 17",
263
- fill: "none"
264
- }, [
265
- createElementVNode("path", {
266
- "fill-rule": "evenodd",
267
- "clip-rule": "evenodd",
268
- d: "M1.28906 3.54885C1.28906 3.21748 1.55769 2.94885 1.88906 2.94885H14.1113C14.4427 2.94885 14.7113 3.21748 14.7113 3.54885V12.7155C14.7113 13.0469 14.4427 13.3155 14.1113 13.3155H9.77648L8.42444 14.6676C8.31192 14.7801 8.1593 14.8433 8.00017 14.8433C7.84104 14.8433 7.68843 14.7801 7.57591 14.6676L6.22387 13.3155H1.88906C1.55769 13.3155 1.28906 13.0469 1.28906 12.7155V3.54885ZM2.48906 4.14885V12.1155H6.4724C6.63153 12.1155 6.78414 12.1787 6.89666 12.2913L8.00017 13.3948L9.10369 12.2913C9.21621 12.1787 9.36882 12.1155 9.52795 12.1155H13.5113V4.14885H2.48906Z",
269
- fill: "#1D2129"
270
- }),
271
- createElementVNode("path", {
272
- "fill-rule": "evenodd",
273
- "clip-rule": "evenodd",
274
- d: "M7.09462 7.53219H8.90649V8.73219H7.09462V7.53219Z",
275
- fill: "#1D2129"
276
- }),
277
- createElementVNode("path", {
278
- "fill-rule": "evenodd",
279
- "clip-rule": "evenodd",
280
- d: "M10.1505 7.53219H11.9613V8.73219H10.1505V7.53219Z",
281
- fill: "#1D2129"
282
- }),
283
- createElementVNode("path", {
284
- "fill-rule": "evenodd",
285
- "clip-rule": "evenodd",
286
- d: "M4.03937 7.53219H5.85014V8.73219H4.03937V7.53219Z",
287
- fill: "#1D2129"
288
- })
289
- ])),
290
- createElementVNode("div", { class: "history-item" }, [
291
- createElementVNode("span", { class: "history-title" }, toDisplayString(group.groupName), 1)
292
- ])
268
+ createElementVNode("div", { class: "touchchat-history-title" }, [
269
+ createElementVNode("div", { class: "touchchat-history-title-icon" }),
270
+ createElementVNode("div", { class: "touchchat-history-title-text" }, toDisplayString(group.groupName), 1)
293
271
  ]),
294
- (openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (item) => {
295
- return openBlock(), createElementBlock("li", {
296
- key: item.id,
297
- ref_for: true,
298
- ref: (el) => setHistoryItemRef(item.id, el),
299
- class: normalizeClass([item.id === _ctx.activeChat ? "active" : "", "history-item-container"]),
300
- onClick: ($event) => handleSelectChat(item.id)
301
- }, [
302
- createElementVNode("div", { class: "history-item" }, [
272
+ createElementVNode("div", { class: "touchchat-history-content" }, [
273
+ (openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (item) => {
274
+ return openBlock(), createElementBlock("div", {
275
+ key: item.id,
276
+ ref_for: true,
277
+ ref: (el) => setHistoryItemRef(item.id, el),
278
+ class: normalizeClass([item.id === _ctx.activeChat ? "is-on" : "", "touchchat-history-item"]),
279
+ onClick: ($event) => handleSelectChat(item.id)
280
+ }, [
303
281
  createElementVNode("div", {
304
282
  ref_for: true,
305
283
  ref: (el) => setTooltipContainerRef(item.id, el),
306
- class: "tooltip-container",
284
+ class: "touchchat-history-item-text",
307
285
  style: { "flex": "1" }
308
286
  }, [
309
- editingId.value === item.id ? withDirectives((openBlock(), createElementBlock("input", {
287
+ editingId.value === item.id ? (openBlock(), createElementBlock("div", {
310
288
  key: 0,
311
- ref_for: true,
312
- ref: (el) => setEditInputRef(item.id, el),
313
- "onUpdate:modelValue": ($event) => editTitle.value = $event,
314
- class: "edit-title-input",
315
- onBlur: ($event) => handleRenameComplete(item.id),
316
- onKeyup: withKeys(($event) => handleRenameComplete(item.id), ["enter"]),
317
- onClick: withModifiers(() => {
318
- }, ["stop"])
319
- }, null, 40, ["onUpdate:modelValue", "onBlur", "onKeyup", "onClick"])), [
320
- [vModelText, editTitle.value]
321
- ]) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
322
- createElementVNode("span", { class: "history-title" }, toDisplayString(item.title || "\u65B0\u5BF9\u8BDD"), 1),
289
+ class: "touchchat-history-input"
290
+ }, [
291
+ withDirectives(createElementVNode("input", {
292
+ ref_for: true,
293
+ ref: (el) => setEditInputRef(item.id, el),
294
+ "onUpdate:modelValue": ($event) => editTitle.value = $event,
295
+ onBlur: ($event) => handleRenameComplete(item.id),
296
+ onKeyup: withKeys(($event) => handleRenameComplete(item.id), ["enter"]),
297
+ onClick: withModifiers(() => {
298
+ }, ["stop"])
299
+ }, null, 40, ["onUpdate:modelValue", "onBlur", "onKeyup", "onClick"]), [
300
+ [vModelText, editTitle.value]
301
+ ])
302
+ ])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
303
+ createTextVNode(toDisplayString(item.title || "\u65B0\u5BF9\u8BDD") + " ", 1),
323
304
  shouldShowTooltip(item.id, item.title) ? (openBlock(), createElementBlock("div", {
324
305
  key: 0,
325
306
  ref_for: true,
326
307
  ref: "tooltipRef",
327
- class: "custom-tooltip"
308
+ class: "touchchat-tooltip"
328
309
  }, toDisplayString(item.title), 513)) : createCommentVNode("", true)
329
310
  ], 64))
330
- ], 512)
331
- ]),
332
- editingId.value !== item.id ? (openBlock(), createElementBlock("div", {
333
- key: 0,
334
- class: "item-actions"
335
- }, [
336
- createElementVNode("button", {
337
- class: "more-btn",
338
- onClick: withModifiers(($event) => handleToggleActionMenu(item.id), ["stop"])
339
- }, "...", 8, ["onClick"]),
340
- state.actionMenuVisible[item.id] ? (openBlock(), createElementBlock("div", {
311
+ ], 512),
312
+ editingId.value !== item.id ? (openBlock(), createElementBlock("div", {
341
313
  key: 0,
342
- ref_for: true,
343
- ref: (el) => actionMenus.value[item.id] = el,
344
- class: "action-menu",
345
- onMouseenter: preventMenuClose,
346
- onMouseleave: ($event) => delayedCloseMenu(item.id)
314
+ class: "touchchat-history-fn"
347
315
  }, [
348
- createElementVNode("div", {
349
- class: "menu-item",
350
- onClick: withModifiers(($event) => handleStartRename(item.id), ["stop"])
316
+ createElementVNode("button", {
317
+ class: "touchchat-history-more",
318
+ onClick: withModifiers(($event) => handleToggleActionMenu(item.id), ["stop"])
351
319
  }, [
352
- (openBlock(), createElementBlock("svg", {
353
- width: "16",
354
- height: "16",
355
- viewBox: "0 0 24 24",
356
- fill: "none",
357
- stroke: "currentColor",
358
- "stroke-width": "2"
359
- }, [
360
- createElementVNode("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }),
361
- createElementVNode("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })
362
- ])),
363
- createElementVNode("span", null, "\u91CD\u547D\u540D")
320
+ createElementVNode("div", { class: "touchchat-history-more-icon" })
364
321
  ], 8, ["onClick"]),
365
- createElementVNode("div", {
366
- class: "menu-item delete-btn",
367
- onClick: withModifiers(($event) => handleMenuAction("delete", item.id), ["stop"])
322
+ state.actionMenuVisible[item.id] ? (openBlock(), createElementBlock("div", {
323
+ key: 0,
324
+ ref_for: true,
325
+ ref: (el) => actionMenus.value[item.id] = el,
326
+ class: "touchchat-history-float",
327
+ onMouseenter: preventMenuClose,
328
+ onMouseleave: ($event) => delayedCloseMenu(item.id)
368
329
  }, [
369
- (openBlock(), createElementBlock("svg", {
370
- width: "16",
371
- height: "16",
372
- viewBox: "0 0 24 24",
373
- fill: "none",
374
- stroke: "currentColor",
375
- "stroke-width": "2"
330
+ createElementVNode("div", {
331
+ class: "touchchat-history-rename",
332
+ onClick: withModifiers(($event) => handleStartRename(item.id), ["stop"])
333
+ }, [
334
+ createElementVNode("span", { class: "touchchat-history-rename-icon" }),
335
+ createElementVNode("span", { class: "touchchat-history-rename-text" }, "\u91CD\u547D\u540D")
336
+ ], 8, ["onClick"]),
337
+ createElementVNode("div", {
338
+ class: "touchchat-history-remove",
339
+ onClick: withModifiers(($event) => handleMenuAction("delete", item.id), ["stop"])
376
340
  }, [
377
- createElementVNode("polyline", { points: "3 6 5 6 21 6" }),
378
- createElementVNode("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })
379
- ])),
380
- createElementVNode("span", null, "\u5220\u9664")
381
- ], 8, ["onClick"])
382
- ], 40, ["onMouseleave"])) : createCommentVNode("", true)
383
- ])) : createCommentVNode("", true)
384
- ], 10, ["onClick"]);
385
- }), 128))
386
- ], 64);
341
+ createElementVNode("span", { class: "touchchat-history-remove-icon" }),
342
+ createElementVNode("span", { class: "touchchat-history-remove-text" }, "\u5220\u9664")
343
+ ], 8, ["onClick"])
344
+ ], 40, ["onMouseleave"])) : createCommentVNode("", true)
345
+ ])) : createCommentVNode("", true)
346
+ ], 10, ["onClick"]);
347
+ }), 128))
348
+ ])
349
+ ]);
387
350
  }), 128))
388
- ], 2);
351
+ ], 34);
389
352
  };
390
353
  }
391
354
  });