@touchvue/chat 1.0.0-beta.45 → 1.0.0-beta.46

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 (114) hide show
  1. package/README.md +70 -70
  2. package/es/package.json.css +1 -1
  3. package/es/package.json.mjs +1 -1
  4. package/es/packages/components/resolver.mjs.map +1 -1
  5. package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue2.mjs.map +1 -1
  6. package/es/packages/components/touchchat/component/AiRobot/letter.vue.mjs +1 -1
  7. package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs +8 -8
  8. package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs.map +1 -1
  9. package/es/packages/components/touchchat/component/FileContent.vue2.mjs +3 -3
  10. package/es/packages/components/touchchat/component/FileContent.vue2.mjs.map +1 -1
  11. package/es/packages/components/touchchat/component/FileView.vue2.mjs +2 -2
  12. package/es/packages/components/touchchat/component/FileView.vue2.mjs.map +1 -1
  13. package/es/packages/components/touchchat/component/HelloChat.vue2.mjs.map +1 -1
  14. package/es/packages/components/touchchat/component/ImageFile.vue2.mjs +6 -6
  15. package/es/packages/components/touchchat/component/ImageFile.vue2.mjs.map +1 -1
  16. package/es/packages/components/touchchat/component/ImageView.vue2.mjs +1 -1
  17. package/es/packages/components/touchchat/component/ImageView.vue2.mjs.map +1 -1
  18. package/es/packages/components/touchchat/component/LinkView.vue2.mjs +4 -4
  19. package/es/packages/components/touchchat/component/LinkView.vue2.mjs.map +1 -1
  20. package/es/packages/components/touchchat/component/MarkLayer.vue2.mjs +1 -1
  21. package/es/packages/components/touchchat/component/MarkLayer.vue2.mjs.map +1 -1
  22. package/es/packages/components/touchchat/component/ModuleSelect.vue2.mjs +2 -2
  23. package/es/packages/components/touchchat/component/ModuleSelect.vue2.mjs.map +1 -1
  24. package/es/packages/components/touchchat/component/PDFFile.vue2.mjs +8 -8
  25. package/es/packages/components/touchchat/component/PDFFile.vue2.mjs.map +1 -1
  26. package/es/packages/components/touchchat/component/QuoteContent.vue2.mjs.map +1 -1
  27. package/es/packages/components/touchchat/component/RealtimeVoice.vue2.mjs +1 -1
  28. package/es/packages/components/touchchat/component/RealtimeVoice.vue2.mjs.map +1 -1
  29. package/es/packages/components/touchchat/src/AiChat/AgentsView.vue2.mjs +1 -1
  30. package/es/packages/components/touchchat/src/AiChat/AgentsView.vue2.mjs.map +1 -1
  31. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs +35 -26
  32. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs.map +1 -1
  33. package/es/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.mjs.map +1 -1
  34. package/es/packages/components/touchchat/src/AiChat/Chat/types.mjs.map +1 -1
  35. package/es/packages/components/touchchat/src/AiChat/Chat/useChat.mjs.map +1 -1
  36. package/es/packages/components/touchchat/src/AiChat/Chat/useCopy.mjs.map +1 -1
  37. package/es/packages/components/touchchat/src/AiChat/Chat/useMessageRender.mjs.map +1 -1
  38. package/es/packages/components/touchchat/src/AiChat/Chat/useSSE.mjs.map +1 -1
  39. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs +5 -5
  40. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs.map +1 -1
  41. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs +1 -1
  42. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs.map +1 -1
  43. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs +3 -3
  44. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs.map +1 -1
  45. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs +11 -11
  46. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs.map +1 -1
  47. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs +3 -3
  48. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs.map +1 -1
  49. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs.map +1 -1
  50. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs.map +1 -1
  51. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs.map +1 -1
  52. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs +21 -19
  53. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs.map +1 -1
  54. package/es/packages/components/touchchat/src/index.vue2.mjs +5 -3
  55. package/es/packages/components/touchchat/src/index.vue2.mjs.map +1 -1
  56. package/es/packages/components/touchchat/utils/a2aService.mjs.map +1 -1
  57. package/es/packages/components/touchchat/utils/fetchStream.mjs.map +1 -1
  58. package/lib/package.json.css +1 -1
  59. package/lib/package.json.js +1 -1
  60. package/lib/packages/components/resolver.js.map +1 -1
  61. package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue2.js.map +1 -1
  62. package/lib/packages/components/touchchat/component/AiRobot/letter.vue.js +1 -1
  63. package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js +8 -8
  64. package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js.map +1 -1
  65. package/lib/packages/components/touchchat/component/FileContent.vue2.js +3 -3
  66. package/lib/packages/components/touchchat/component/FileContent.vue2.js.map +1 -1
  67. package/lib/packages/components/touchchat/component/FileView.vue2.js +2 -2
  68. package/lib/packages/components/touchchat/component/FileView.vue2.js.map +1 -1
  69. package/lib/packages/components/touchchat/component/HelloChat.vue2.js.map +1 -1
  70. package/lib/packages/components/touchchat/component/ImageFile.vue2.js +6 -6
  71. package/lib/packages/components/touchchat/component/ImageFile.vue2.js.map +1 -1
  72. package/lib/packages/components/touchchat/component/ImageView.vue2.js +1 -1
  73. package/lib/packages/components/touchchat/component/ImageView.vue2.js.map +1 -1
  74. package/lib/packages/components/touchchat/component/LinkView.vue2.js +4 -4
  75. package/lib/packages/components/touchchat/component/LinkView.vue2.js.map +1 -1
  76. package/lib/packages/components/touchchat/component/MarkLayer.vue2.js +1 -1
  77. package/lib/packages/components/touchchat/component/MarkLayer.vue2.js.map +1 -1
  78. package/lib/packages/components/touchchat/component/ModuleSelect.vue2.js +2 -2
  79. package/lib/packages/components/touchchat/component/ModuleSelect.vue2.js.map +1 -1
  80. package/lib/packages/components/touchchat/component/PDFFile.vue2.js +8 -8
  81. package/lib/packages/components/touchchat/component/PDFFile.vue2.js.map +1 -1
  82. package/lib/packages/components/touchchat/component/QuoteContent.vue2.js.map +1 -1
  83. package/lib/packages/components/touchchat/component/RealtimeVoice.vue2.js +1 -1
  84. package/lib/packages/components/touchchat/component/RealtimeVoice.vue2.js.map +1 -1
  85. package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue2.js +1 -1
  86. package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue2.js.map +1 -1
  87. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js +35 -26
  88. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js.map +1 -1
  89. package/lib/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.js.map +1 -1
  90. package/lib/packages/components/touchchat/src/AiChat/Chat/types.js.map +1 -1
  91. package/lib/packages/components/touchchat/src/AiChat/Chat/useChat.js.map +1 -1
  92. package/lib/packages/components/touchchat/src/AiChat/Chat/useCopy.js.map +1 -1
  93. package/lib/packages/components/touchchat/src/AiChat/Chat/useMessageRender.js.map +1 -1
  94. package/lib/packages/components/touchchat/src/AiChat/Chat/useSSE.js.map +1 -1
  95. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js +5 -5
  96. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js.map +1 -1
  97. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js +1 -1
  98. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js.map +1 -1
  99. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js +3 -3
  100. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js.map +1 -1
  101. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js +11 -11
  102. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js.map +1 -1
  103. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js +3 -3
  104. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js.map +1 -1
  105. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js.map +1 -1
  106. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js.map +1 -1
  107. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js.map +1 -1
  108. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js +20 -18
  109. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js.map +1 -1
  110. package/lib/packages/components/touchchat/src/index.vue2.js +5 -3
  111. package/lib/packages/components/touchchat/src/index.vue2.js.map +1 -1
  112. package/lib/packages/components/touchchat/utils/a2aService.js.map +1 -1
  113. package/lib/packages/components/touchchat/utils/fetchStream.js.map +1 -1
  114. package/package.json +83 -83
@@ -1 +1 @@
1
- {"version":3,"file":"ImageFile.vue2.js","sources":["../../../../../../packages/components/touchchat/component/ImageFile.vue"],"sourcesContent":["<template>\n\t<div class=\"image-file\">\n\t\t<div class=\"image-file-content\">\n\t\t\t<img :src=\"item.base64 ?? '../img/link.png'\" alt=\"图片\" @click=\"showPreview = true\" />\n\t\t\t<div v-if=\"!(showLoading || item.uploadError) && hasColse\" class=\"image-file-colse\" @click=\"emits('colse', item.id)\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"6\" viewBox=\"0 0 5 6\" fill=\"none\">\n\t\t\t\t\t<path d=\"M4.42492 5.31718L4.97489 4.76721L3.05002 2.84233L4.97493 0.917422L4.42496 0.36745L2.50005 2.29236L0.575118 0.367432L0.0251465 0.917403L1.95008 2.84233L0.0251875 4.76722L0.575159 5.3172L2.50005 3.39231L4.42492 5.31718Z\" fill=\"white\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div v-if=\"showLoading && !item.uploadError\" class=\"img-file-loading\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\n\t\t\t\t\t<g clip-path=\"url(#paint0_angular_2715_440_clip_path)\" data-figma-skip-parse=\"true\">\n\t\t\t\t\t\t<g transform=\"matrix(0.0100142 0.00182077 -0.00182077 0.0100142 12 12.8423)\">\n\t\t\t\t\t\t\t<foreignObject x=\"-1427.97\" y=\"-1427.97\" width=\"2855.94\" height=\"2855.94\">\n\t\t\t\t\t\t\t\t<div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"background: conic-gradient(from 90deg, rgba(255, 255, 255, 1) 0deg, rgba(255, 255, 255, 0) 84.375deg, rgba(255, 255, 255, 1) 360deg); height: 100%; width: 100%; opacity: 1\"></div>\n\t\t\t\t\t\t\t</foreignObject>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t</g>\n\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 5.54499C7.96981 5.54499 4.7027 8.8121 4.7027 12.8423C4.7027 16.8725 7.96981 20.1396 12 20.1396C12.7463 20.1396 13.3514 20.7446 13.3514 21.4909C13.3514 22.2373 12.7463 22.8423 12 22.8423C6.47715 22.8423 2 18.3651 2 12.8423C2 7.31944 6.47715 2.84229 12 2.84229C17.5228 2.84229 22 7.31944 22 12.8423C22 13.5886 21.395 14.1936 20.6486 14.1936C19.9023 14.1936 19.2973 13.5886 19.2973 12.8423C19.2973 8.8121 16.0302 5.54499 12 5.54499Z\" data-figma-gradient-fill='{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":0.0},\"position\":0.2343750},{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":1.0},\"position\":1.0}],\"stopsVar\":[],\"transform\":{\"m00\":20.028446197509766,\"m01\":-3.6415407657623291,\"m02\":3.8065481185913086,\"m10\":3.6415374279022217,\"m11\":20.028463363647461,\"m12\":1.0072842836380005},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}' />\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<clipPath id=\"paint0_angular_2715_440_clip_path\">\n\t\t\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 5.54499C7.96981 5.54499 4.7027 8.8121 4.7027 12.8423C4.7027 16.8725 7.96981 20.1396 12 20.1396C12.7463 20.1396 13.3514 20.7446 13.3514 21.4909C13.3514 22.2373 12.7463 22.8423 12 22.8423C6.47715 22.8423 2 18.3651 2 12.8423C2 7.31944 6.47715 2.84229 12 2.84229C17.5228 2.84229 22 7.31944 22 12.8423C22 13.5886 21.395 14.1936 20.6486 14.1936C19.9023 14.1936 19.2973 13.5886 19.2973 12.8423C19.2973 8.8121 16.0302 5.54499 12 5.54499Z\" />\n\t\t\t\t\t\t</clipPath>\n\t\t\t\t\t</defs>\n\t\t\t\t</svg>\n\t\t\t\t<p class=\"img-file-title\">{{ progress }}%</p>\n\t\t\t</div>\n\t\t\t<div v-if=\"item.uploadError\" class=\"img-file-loading img-error-loading\" @click=\"handleReset\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"13\" viewBox=\"0 0 14 13\" fill=\"none\">\n\t\t\t\t\t<path d=\"M10.8891 10.7314C9.89379 11.7267 8.51879 12.3423 7 12.3423C3.96244 12.3423 1.5 9.87984 1.5 6.84229C1.5 3.80473 3.96244 1.34229 7 1.34229C8.51879 1.34229 9.89379 1.95789 10.8891 2.9532C11.3957 3.45982 12.5 4.7034 12.5 4.7034\" stroke=\"#F93920\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n\t\t\t\t\t<path d=\"M12.5 1.95374V4.70374H9.75\" stroke=\"#F93920\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n\t\t\t\t</svg>\n\t\t\t\t<p class=\"img-file-error\">错误</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-show=\"showPreview\" class=\"image-preview-modal\" @click=\"showPreview = false\">\n\t\t\t<div class=\"image-preview-content\">\n\t\t\t\t<img :src=\"item.base64 ?? '../img/link.png'\" alt=\"预览图片\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, watch, computed, inject } from 'vue'\nimport type { FileItem } from '../src/AiChat/Chat/types'\n\nconst props = defineProps<{\n\titem: FileItem\n\tindex: number\n\thasColse: boolean\n}>()\nconst emits = defineEmits(['colse'])\nconst showLoading = ref(false)\nconst progress = computed(() => {\n\treturn props.item.uploadProgress ?? 0\n})\nconst showPreview = ref(false)\n\nconst uploadFile = inject<(index: number, type?: string) => void>('uploadFile', () => {\n\tconsole.warn('未提供bottom函数')\n})\n\nconst handleReset = () => {\n\tuploadFile(props.index, 'IMAGE')\n}\n\nwatch(progress, newVal => {\n\tif (newVal === 100 || newVal === 0) {\n\t\tshowLoading.value = false\n\t} else {\n\t\tshowLoading.value = true\n\t}\n})\n</script>\n"],"names":["ref","computed","inject","watch","_createElementBlock","_createElementVNode","item","hasColse","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"ImageFile.vue2.js","sources":["../../../../../../packages/components/touchchat/component/ImageFile.vue"],"sourcesContent":["<template>\n\t<div class=\"image-file\">\n\t\t<div class=\"image-file-content\">\n\t\t\t<img :src=\"item.base64 ?? '../img/link.png'\" alt=\"图片\" @click=\"showPreview = true\" />\n\t\t\t<div v-if=\"!(showLoading || item.uploadError) && hasColse\" class=\"image-file-colse\" @click=\"emits('colse', item.id)\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"6\" viewBox=\"0 0 5 6\" fill=\"none\">\n\t\t\t\t\t<path d=\"M4.42492 5.31718L4.97489 4.76721L3.05002 2.84233L4.97493 0.917422L4.42496 0.36745L2.50005 2.29236L0.575118 0.367432L0.0251465 0.917403L1.95008 2.84233L0.0251875 4.76722L0.575159 5.3172L2.50005 3.39231L4.42492 5.31718Z\" fill=\"white\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div v-if=\"showLoading && !item.uploadError\" class=\"img-file-loading\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\n\t\t\t\t\t<g clip-path=\"url(#paint0_angular_2715_440_clip_path)\" data-figma-skip-parse=\"true\">\n\t\t\t\t\t\t<g transform=\"matrix(0.0100142 0.00182077 -0.00182077 0.0100142 12 12.8423)\">\n\t\t\t\t\t\t\t<foreignObject x=\"-1427.97\" y=\"-1427.97\" width=\"2855.94\" height=\"2855.94\">\n\t\t\t\t\t\t\t\t<div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"background: conic-gradient(from 90deg, rgba(255, 255, 255, 1) 0deg, rgba(255, 255, 255, 0) 84.375deg, rgba(255, 255, 255, 1) 360deg); height: 100%; width: 100%; opacity: 1\"></div>\n\t\t\t\t\t\t\t</foreignObject>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t</g>\n\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 5.54499C7.96981 5.54499 4.7027 8.8121 4.7027 12.8423C4.7027 16.8725 7.96981 20.1396 12 20.1396C12.7463 20.1396 13.3514 20.7446 13.3514 21.4909C13.3514 22.2373 12.7463 22.8423 12 22.8423C6.47715 22.8423 2 18.3651 2 12.8423C2 7.31944 6.47715 2.84229 12 2.84229C17.5228 2.84229 22 7.31944 22 12.8423C22 13.5886 21.395 14.1936 20.6486 14.1936C19.9023 14.1936 19.2973 13.5886 19.2973 12.8423C19.2973 8.8121 16.0302 5.54499 12 5.54499Z\" data-figma-gradient-fill='{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":0.0},\"position\":0.2343750},{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":1.0},\"position\":1.0}],\"stopsVar\":[],\"transform\":{\"m00\":20.028446197509766,\"m01\":-3.6415407657623291,\"m02\":3.8065481185913086,\"m10\":3.6415374279022217,\"m11\":20.028463363647461,\"m12\":1.0072842836380005},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}' />\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<clipPath id=\"paint0_angular_2715_440_clip_path\">\n\t\t\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 5.54499C7.96981 5.54499 4.7027 8.8121 4.7027 12.8423C4.7027 16.8725 7.96981 20.1396 12 20.1396C12.7463 20.1396 13.3514 20.7446 13.3514 21.4909C13.3514 22.2373 12.7463 22.8423 12 22.8423C6.47715 22.8423 2 18.3651 2 12.8423C2 7.31944 6.47715 2.84229 12 2.84229C17.5228 2.84229 22 7.31944 22 12.8423C22 13.5886 21.395 14.1936 20.6486 14.1936C19.9023 14.1936 19.2973 13.5886 19.2973 12.8423C19.2973 8.8121 16.0302 5.54499 12 5.54499Z\" />\n\t\t\t\t\t\t</clipPath>\n\t\t\t\t\t</defs>\n\t\t\t\t</svg>\n\t\t\t\t<p class=\"img-file-title\">{{ progress }}%</p>\n\t\t\t</div>\n\t\t\t<div v-if=\"item.uploadError\" class=\"img-file-loading img-error-loading\" @click=\"handleReset\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"13\" viewBox=\"0 0 14 13\" fill=\"none\">\n\t\t\t\t\t<path d=\"M10.8891 10.7314C9.89379 11.7267 8.51879 12.3423 7 12.3423C3.96244 12.3423 1.5 9.87984 1.5 6.84229C1.5 3.80473 3.96244 1.34229 7 1.34229C8.51879 1.34229 9.89379 1.95789 10.8891 2.9532C11.3957 3.45982 12.5 4.7034 12.5 4.7034\" stroke=\"#F93920\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n\t\t\t\t\t<path d=\"M12.5 1.95374V4.70374H9.75\" stroke=\"#F93920\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n\t\t\t\t</svg>\n\t\t\t\t<p class=\"img-file-error\">错误</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-show=\"showPreview\" class=\"image-preview-modal\" @click=\"showPreview = false\">\n\t\t\t<div class=\"image-preview-content\">\n\t\t\t\t<img :src=\"item.base64 ?? '../img/link.png'\" alt=\"预览图片\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, watch, computed, inject } from 'vue'\nimport type { FileItem } from '../src/AiChat/Chat/types'\n\nconst props = defineProps<{\n\titem: FileItem\n\tindex: number\n\thasColse: boolean\n}>()\nconst emits = defineEmits(['colse'])\nconst showLoading = ref(false)\nconst progress = computed(() => {\n\treturn props.item.uploadProgress ?? 0\n})\nconst showPreview = ref(false)\n\nconst uploadFile = inject<(index: number, type?: string) => void>('uploadFile', () => {\n\tconsole.warn('未提供bottom函数')\n})\n\nconst handleReset = () => {\n\tuploadFile(props.index, 'IMAGE')\n}\n\nwatch(progress, newVal => {\n\tif (newVal === 100 || newVal === 0) {\n\t\tshowLoading.value = false\n\t} else {\n\t\tshowLoading.value = true\n\t}\n})\n</script>\n"],"names":["ref","computed","inject","watch","_createElementBlock","_createElementVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;AA8CA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAKd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,WAAA,GAAcA,QAAI,KAAK,CAAA,CAAA;AAC7B,IAAM,MAAA,QAAA,GAAWC,aAAS,MAAM;;AAC/B,MAAO,OAAA,CAAA,EAAA,GAAA,KAAA,CAAM,IAAK,CAAA,cAAA,KAAX,IAA6B,GAAA,EAAA,GAAA,CAAA,CAAA;AAAA,KACpC,CAAA,CAAA;AACD,IAAM,MAAA,WAAA,GAAcD,QAAI,KAAK,CAAA,CAAA;AAE7B,IAAM,MAAA,UAAA,GAAaE,UAA+C,CAAA,YAAA,EAAc,MAAM;AACrF,MAAA,OAAA,CAAQ,KAAK,sCAAa,CAAA,CAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAA,MAAM,cAAc,MAAM;AACzB,MAAW,UAAA,CAAA,KAAA,CAAM,OAAO,OAAO,CAAA,CAAA;AAAA,KAChC,CAAA;AAEA,IAAAC,SAAA,CAAM,UAAU,CAAU,MAAA,KAAA;AACzB,MAAI,IAAA,MAAA,KAAW,GAAO,IAAA,MAAA,KAAW,CAAG,EAAA;AACnC,QAAA,WAAA,CAAY,KAAQ,GAAA,KAAA,CAAA;AAAA,OACd,MAAA;AACN,QAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AAAA,OACrB;AAAA,KACA,CAAA,CAAA;;;4BAvEA,EAAAC,sBAAA,CAuCM,OAAA,EAvCD,KAAA,EAAM,cAAY,EAAA;AAAA,QACtBC,sBAgCM,CAAA,KAAA,EAAA,EAhCD,KAAA,EAAM,sBAAoB,EAAA;AAAA,UAC9BA,uBAAoF,KAAA,EAAA;AAAA,YAA9E,GAAK,EAAA,CAAA,EAAA,GAAA,OAAA,CAAI,IAAC,CAAA,MAAA,KAAL,IAAW,GAAA,EAAA,GAAA,iBAAA;AAAA,YAAuB,GAAI,EAAA,cAAA;AAAA,YAAM,gBAAO,KAAA,WAAA,CAAW,KAAA,GAAA,IAAA;AAAA;UAC5D,EAAA,WAAA,CAAA,KAAA,IAAe,OAAA,CAAA,IAAA,CAAK,WAAgB,CAAA,IAAA,OAAA,CAAQ,2BAAzD,EAAAD,sBAAA,CAIM,KAAA,EAAA;AAAA;YAJqD,KAAM,EAAA,kBAAA;AAAA,YAAoB,SAAO,CAAA,MAAA,KAAA,MAAe,OAAA,EAAA,OAAA,CAAA,KAAK,EAAE,CAAA;AAAA;4BACjH,EAAAA,sBAAA,CAEM,KAAA,EAAA;AAAA,cAFD,KAAM,EAAA,4BAAA;AAAA,cAA6B,KAAM,EAAA,GAAA;AAAA,cAAI,MAAO,EAAA,GAAA;AAAA,cAAI,OAAQ,EAAA,SAAA;AAAA,cAAU,IAAK,EAAA,MAAA;AAAA;cACnFC,uBAAmP,MAAA,EAAA;AAAA,gBAA7O,CAAE,EAAA,2NAAA;AAAA,gBAA4N,IAAK,EAAA,OAAA;AAAA;;;UAGhO,WAAA,CAAW,SAAA,CAAK,OAAA,CAAI,KAAC,8BAAhC,EAAAD,sBAAA,CAiBM,KAAA,EAAA;AAAA;YAjBuC,KAAM,EAAA,kBAAA;AAAA;4BAClD,EAAAA,sBAAA,CAcM,KAAA,EAAA;AAAA,cAdD,KAAM,EAAA,4BAAA;AAAA,cAA6B,KAAM,EAAA,IAAA;AAAA,cAAK,MAAO,EAAA,IAAA;AAAA,cAAK,OAAQ,EAAA,WAAA;AAAA,cAAY,IAAK,EAAA,MAAA;AAAA;cACvFC,uBAMI,GAAA,EAAA;AAAA,gBAND,WAAU,EAAA,yCAAA;AAAA,gBAA0C,uBAAsB,EAAA,MAAA;AAAA;gBAC5EA,sBAII,CAAA,GAAA,EAAA,EAJD,SAAA,EAAU,iEAA+D,EAAA;AAAA,kCAC3E,EAAAD,sBAAA,CAEgB,eAAA,EAAA;AAAA,oBAFD,CAAE,EAAA,UAAA;AAAA,oBAAW,CAAE,EAAA,UAAA;AAAA,oBAAW,KAAM,EAAA,SAAA;AAAA,oBAAU,MAAO,EAAA,SAAA;AAAA;oBAC/DC,uBAAoO,KAAA,EAAA;AAAA,sBAA/N,KAAM,EAAA,8BAAA;AAAA,sBAA+B,KAAA,EAAA,EAAmL,YAAA,EAAA,0HAAA,EAAA,UAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,GAAA,EAAA;AAAA;;;;cAIhOA,uBAAw4B,MAAA,EAAA;AAAA,gBAAl4B,WAAU,EAAA,SAAA;AAAA,gBAAU,WAAU,EAAA,SAAA;AAAA,gBAAU,CAAE,EAAA,mbAAA;AAAA,gBAAob,0BAAyB,EAAA,wYAAA;AAAA;cAC7fA,sBAAA,CAIO,QAAA,IAAA,EAAA;AAAA,gBAHNA,sBAEW,CAAA,UAAA,EAAA,EAFD,EAAA,EAAG,qCAAmC,EAAA;AAAA,kBAC/CA,uBAAse,MAAA,EAAA;AAAA,oBAAhe,WAAU,EAAA,SAAA;AAAA,oBAAU,WAAU,EAAA,SAAA;AAAA,oBAAU,CAAE,EAAA,mbAAA;AAAA;;;;YAInDA,sBAAA;AAAA,cAA6C,GAAA;AAAA,gBAA1C,OAAM,gBAAoB,EAAA;AAAA,cAAAC,mBAAA,CAAA,QAAA,CAAA,KAAQ,CAAG,GAAA,GAAA;AAAA,cAAC,CAAA;AAAA;AAAA,aAAA;AAAA;UAE/B,QAAA,IAAK,CAAA,WAAA,qBAAhBF,uBAMM,KAAA,EAAA;AAAA;YANuB,KAAM,EAAA,oCAAA;AAAA,YAAsC,OAAO,EAAA,WAAA;AAAA;4BAC/E,EAAAA,sBAAA,CAGM,KAAA,EAAA;AAAA,cAHD,KAAM,EAAA,4BAAA;AAAA,cAA6B,KAAM,EAAA,IAAA;AAAA,cAAK,MAAO,EAAA,IAAA;AAAA,cAAK,OAAQ,EAAA,WAAA;AAAA,cAAY,IAAK,EAAA,MAAA;AAAA;cACvFC,uBAA+T,MAAA,EAAA;AAAA,gBAAzT,CAAE,EAAA,iOAAA;AAAA,gBAAkO,MAAO,EAAA,SAAA;AAAA,gBAAU,cAAa,EAAA,KAAA;AAAA,gBAAM,gBAAe,EAAA,OAAA;AAAA,gBAAQ,iBAAgB,EAAA,OAAA;AAAA;cACrTA,uBAA0H,MAAA,EAAA;AAAA,gBAApH,CAAE,EAAA,4BAAA;AAAA,gBAA6B,MAAO,EAAA,SAAA;AAAA,gBAAU,cAAa,EAAA,KAAA;AAAA,gBAAM,gBAAe,EAAA,OAAA;AAAA,gBAAQ,iBAAgB,EAAA,OAAA;AAAA;;YAEjHA,uBAAgC,GAA7B,EAAA,EAAA,KAAM,EAAA,gBAAA,IAAiB,cAAE,CAAA;AAAA;;2BAG9BA,uBAIM,KAAA,EAAA;AAAA,UAJoB,KAAM,EAAA,qBAAA;AAAA,UAAuB,gBAAO,KAAA,WAAA,CAAW,KAAA,GAAA,KAAA;AAAA;UACxEA,sBAEM,CAAA,KAAA,EAAA,EAFD,KAAA,EAAM,yBAAuB,EAAA;AAAA,YACjCA,uBAA0D,KAAA,EAAA;AAAA,cAApD,GAAK,EAAA,CAAA,EAAA,GAAA,OAAA,CAAI,IAAC,CAAA,MAAA,KAAL,IAAW,GAAA,EAAA,GAAA,iBAAA;AAAA,cAAuB,GAAI,EAAA,0BAAA;AAAA;;;oBAFtC,EAAA,WAAA,CAAW,KAAA,CAAA;AAAA;;;;;;;;"}
@@ -23,7 +23,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
23
  src: aiAvatarPath.value,
24
24
  alt: "\u56FE\u7247\u5C55\u793A",
25
25
  class: "image-content",
26
- title: (_a = _ctx.item.fileName) != null ? _a : "\u56FE\u7247\u9884\u89C8"
26
+ title: (_a = __props.item.fileName) != null ? _a : "\u56FE\u7247\u9884\u89C8"
27
27
  }, null, 8, ["src", "title"])
28
28
  ]);
29
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ImageView.vue2.js","sources":["../../../../../../packages/components/touchchat/component/ImageView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'ImageView' });\n</script>\n<template>\n <div class=\"image-view\">\n <img\n :src=\"aiAvatarPath\"\n alt=\"图片展示\"\n class=\"image-content\"\n :title=\"item.fileName ?? '图片预览'\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\nimport { ref } from 'vue';\nimport aiAvatarBase from '../img/bgimage.png';\nconst aiAvatarPath = ref(aiAvatarBase);\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { imageUrl?: string; fileName?: string };\n index: number;\n}>();\nconsole.log(props);\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/ImageView.less';\n</style> -->\n"],"names":["DO_defineComponent","ref","aiAvatarBase","_createElementBlock","_createElementVNode","item"],"mappings":";;;;;;;AAEA,MAAA,WAA6B,GAAAA,mBAAA,CAAmB,EAAE,IAAA,EAAM,aAAa,CAAA,CAAA;;;;;;;;AAiBrE,IAAM,MAAA,YAAA,GAAeC,QAAIC,eAAY,CAAA,CAAA;AAsBrC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAA,OAAA,CAAQ,IAAI,KAAK,CAAA,CAAA;;;4BAxCf,EAAAC,sBAAA,CAOM,OAAA,EAPD,KAAA,EAAM,cAAY,EAAA;AAAA,QACrBC,uBAKE,KAAA,EAAA;AAAA,UAJC,KAAK,YAAY,CAAA,KAAA;AAAA,UAClB,GAAI,EAAA,0BAAA;AAAA,UACJ,KAAM,EAAA,eAAA;AAAA,UACL,KAAOC,EAAAA,CAAAA,EAAAA,GAAAA,IAAAA,CAAI,IAAC,CAAA,QAAA,KAALA,IAAa,GAAA,EAAA,GAAA,0BAAA;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"ImageView.vue2.js","sources":["../../../../../../packages/components/touchchat/component/ImageView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'ImageView' });\n</script>\n<template>\n <div class=\"image-view\">\n <img\n :src=\"aiAvatarPath\"\n alt=\"图片展示\"\n class=\"image-content\"\n :title=\"item.fileName ?? '图片预览'\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\nimport { ref } from 'vue';\nimport aiAvatarBase from '../img/bgimage.png';\nconst aiAvatarPath = ref(aiAvatarBase);\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { imageUrl?: string; fileName?: string };\n index: number;\n}>();\nconsole.log(props);\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/ImageView.less';\n</style> -->\n"],"names":["DO_defineComponent","ref","aiAvatarBase","_createElementBlock","_createElementVNode"],"mappings":";;;;;;;AAEA,MAAA,WAA6B,GAAAA,mBAAA,CAAmB,EAAE,IAAA,EAAM,aAAa,CAAA,CAAA;;;;;;;;AAiBrE,IAAM,MAAA,YAAA,GAAeC,QAAIC,eAAY,CAAA,CAAA;AAsBrC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAA,OAAA,CAAQ,IAAI,KAAK,CAAA,CAAA;;;4BAxCf,EAAAC,sBAAA,CAOM,OAAA,EAPD,KAAA,EAAM,cAAY,EAAA;AAAA,QACrBC,uBAKE,KAAA,EAAA;AAAA,UAJC,KAAK,YAAY,CAAA,KAAA;AAAA,UAClB,GAAI,EAAA,0BAAA;AAAA,UACJ,KAAM,EAAA,eAAA;AAAA,UACL,KAAO,EAAA,CAAA,EAAA,GAAA,OAAA,CAAI,IAAC,CAAA,QAAA,KAAL,IAAa,GAAA,EAAA,GAAA,0BAAA;AAAA;;;;;;;;"}
@@ -41,10 +41,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
41
41
  })
42
42
  ])),
43
43
  vue.createElementVNode("a", {
44
- href: _ctx.item.url,
44
+ href: __props.item.url,
45
45
  target: "_blank",
46
46
  class: "url-text"
47
- }, vue.toDisplayString(_ctx.item.url || "https://mp.weixin.qq.com"), 9, ["href"])
47
+ }, vue.toDisplayString(__props.item.url || "https://mp.weixin.qq.com"), 9, ["href"])
48
48
  ]),
49
49
  vue.createCommentVNode(" \u5185\u5BB9\u533A\u57DF "),
50
50
  vue.createElementVNode("div", { class: "link-content" }, [
@@ -57,14 +57,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
57
57
  vue.createElementVNode(
58
58
  "h3",
59
59
  { class: "link-title" },
60
- vue.toDisplayString(_ctx.item.title || "\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57"),
60
+ vue.toDisplayString(__props.item.title || "\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57"),
61
61
  1
62
62
  /* TEXT */
63
63
  ),
64
64
  vue.createElementVNode(
65
65
  "p",
66
66
  { class: "link-desc" },
67
- vue.toDisplayString(_ctx.item.content || "\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57"),
67
+ vue.toDisplayString(__props.item.content || "\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57"),
68
68
  1
69
69
  /* TEXT */
70
70
  )
@@ -1 +1 @@
1
- {"version":3,"file":"LinkView.vue2.js","sources":["../../../../../../packages/components/touchchat/component/LinkView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'LinkView' });\n</script>\n<template>\n <div class=\"link-container\">\n <!-- 链接地址 -->\n <div class=\"link-url\">\n <svg\n class=\"link-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"12\"\n viewBox=\"0 0 11 12\"\n fill=\"none\"\n >\n <path\n d=\"M9.07789 4.32533L7.22254 6.18221L8.04713 7.00749L9.90248 5.1506C10.9271 4.12514 11.1133 2.45825 9.95499 1.35208C8.83011 0.277812 7.22286 0.37915 6.17891 1.42396L4.32357 3.28084L5.14816 4.10612L7.00351 2.24924C7.62938 1.62285 8.51321 1.58839 9.14993 2.19646C9.75325 2.77264 9.72309 3.67959 9.07789 4.32533Z\"\n fill=\"#0077FA\"\n />\n <path\n d=\"M1.92162 7.35876L3.77697 5.50187L2.95238 4.6766L1.09703 6.53348C0.0724121 7.55894 -0.113751 9.22583 1.04452 10.332C2.1694 11.4063 3.77665 11.3049 4.8206 10.2601L6.67595 8.40324L5.85135 7.57797L3.996 9.43485C3.37013 10.0612 2.4863 10.0957 1.84958 9.48762C1.24627 8.91144 1.27642 8.00449 1.92162 7.35876Z\"\n fill=\"#0077FA\"\n />\n <path\n d=\"M3.33825 7.18009L6.83672 3.67873L7.66131 4.50401L4.16285 8.00537L3.33825 7.18009Z\"\n fill=\"#0077FA\"\n />\n </svg>\n <a :href=\"item.url\" target=\"_blank\" class=\"url-text\">{{\n item.url || 'https://mp.weixin.qq.com'\n }}</a>\n </div>\n <!-- 内容区域 -->\n <div class=\"link-content\">\n <img src=\"../img/link.png\" alt=\"链接预览图\" class=\"content-image\" />\n <div class=\"info-content\">\n <h3 class=\"link-title\">\n {{ item.title || '标题文字标题文字标题文字标题文字标题文字标题文字' }}\n </h3>\n <p class=\"link-desc\">{{ item.content || '内容文字内容文字内容文字内容文字' }}</p>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { url?: string; title?: string; content?: string };\n index: number;\n}>();\nconsole.log(props);\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/LinkView.less';\n</style> -->\n"],"names":["DO_defineComponent","_createElementBlock","_createCommentVNode","_createElementVNode","item","_imports_0"],"mappings":";;;;;;;AAEA,MAAA,WAA6B,GAAAA,mBAAA,CAAmB,EAAE,IAAA,EAAM,YAAY,CAAA,CAAA;;;;;;;;AAmEpE,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAA,OAAA,CAAQ,IAAI,KAAK,CAAA,CAAA;;4BApEf,EAAAC,sBAAA,CAsCM,OAAA,EAtCD,KAAA,EAAM,kBAAgB,EAAA;AAAA,QACzBC,uBAAa,4BAAA,CAAA;AAAA,QACbC,sBAyBM,CAAA,KAAA,EAAA,EAzBD,KAAA,EAAM,YAAU,EAAA;AAAA,0BACnB,EAAAF,sBAAA,CAoBM,KAAA,EAAA;AAAA,YAnBJ,KAAM,EAAA,WAAA;AAAA,YACN,KAAM,EAAA,4BAAA;AAAA,YACN,KAAM,EAAA,IAAA;AAAA,YACN,MAAO,EAAA,IAAA;AAAA,YACP,OAAQ,EAAA,WAAA;AAAA,YACR,IAAK,EAAA,MAAA;AAAA;YAELE,uBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,mTAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;YAEPA,uBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,gTAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;YAEPA,uBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,mFAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;;UAGTA,uBAEM,GAAA,EAAA;AAAA,YAFF,IAAA,EAAMC,KAAI,IAAC,CAAA,GAAA;AAAA,YAAK,MAAO,EAAA,QAAA;AAAA,YAAS,KAAM,EAAA,UAAA;AAAA,WACxCA,EAAAA,mBAAAA,CAAAA,IAAAA,CAAAA,IAAK,CAAA,GAAA,IAAG,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;QAGZF,uBAAa,4BAAA,CAAA;AAAA,QACbC,sBAQM,CAAA,KAAA,EAAA,EARD,KAAA,EAAM,gBAAc,EAAA;AAAA,UACvBA,uBAA+D,KAAA,EAAA;AAAA,YAA1D,GAAA,EAAAE,YAAA;AAAA,YAAsB,GAAI,EAAA,gCAAA;AAAA,YAAQ,KAAM,EAAA,eAAA;AAAA;UAC7CF,sBAKM,CAAA,KAAA,EAAA,EALD,KAAA,EAAM,gBAAc,EAAA;AAAA,YACvBA,sBAAA;AAAA,cAEK,IAAA;AAAA,gBAFD,OAAM,YACLC,EAAAA;AAAAA,cAAAA,mBAAAA,CAAAA,IAAAA,CAAAA,IAAK,CAAA,KAAA,IAAK,kJAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA,YAEfD,sBAAA;AAAA,cAAiE,GAAA;AAAA,gBAA9D,OAAM,WAAeC,EAAAA;AAAAA,cAAAA,mBAAAA,CAAAA,IAAAA,CAAAA,IAAK,CAAA,OAAA,IAAO,kGAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"LinkView.vue2.js","sources":["../../../../../../packages/components/touchchat/component/LinkView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'LinkView' });\n</script>\n<template>\n <div class=\"link-container\">\n <!-- 链接地址 -->\n <div class=\"link-url\">\n <svg\n class=\"link-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"12\"\n viewBox=\"0 0 11 12\"\n fill=\"none\"\n >\n <path\n d=\"M9.07789 4.32533L7.22254 6.18221L8.04713 7.00749L9.90248 5.1506C10.9271 4.12514 11.1133 2.45825 9.95499 1.35208C8.83011 0.277812 7.22286 0.37915 6.17891 1.42396L4.32357 3.28084L5.14816 4.10612L7.00351 2.24924C7.62938 1.62285 8.51321 1.58839 9.14993 2.19646C9.75325 2.77264 9.72309 3.67959 9.07789 4.32533Z\"\n fill=\"#0077FA\"\n />\n <path\n d=\"M1.92162 7.35876L3.77697 5.50187L2.95238 4.6766L1.09703 6.53348C0.0724121 7.55894 -0.113751 9.22583 1.04452 10.332C2.1694 11.4063 3.77665 11.3049 4.8206 10.2601L6.67595 8.40324L5.85135 7.57797L3.996 9.43485C3.37013 10.0612 2.4863 10.0957 1.84958 9.48762C1.24627 8.91144 1.27642 8.00449 1.92162 7.35876Z\"\n fill=\"#0077FA\"\n />\n <path\n d=\"M3.33825 7.18009L6.83672 3.67873L7.66131 4.50401L4.16285 8.00537L3.33825 7.18009Z\"\n fill=\"#0077FA\"\n />\n </svg>\n <a :href=\"item.url\" target=\"_blank\" class=\"url-text\">{{\n item.url || 'https://mp.weixin.qq.com'\n }}</a>\n </div>\n <!-- 内容区域 -->\n <div class=\"link-content\">\n <img src=\"../img/link.png\" alt=\"链接预览图\" class=\"content-image\" />\n <div class=\"info-content\">\n <h3 class=\"link-title\">\n {{ item.title || '标题文字标题文字标题文字标题文字标题文字标题文字' }}\n </h3>\n <p class=\"link-desc\">{{ item.content || '内容文字内容文字内容文字内容文字' }}</p>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { url?: string; title?: string; content?: string };\n index: number;\n}>();\nconsole.log(props);\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/LinkView.less';\n</style> -->\n"],"names":["DO_defineComponent","_createElementBlock","_createCommentVNode","_createElementVNode","_toDisplayString","_imports_0"],"mappings":";;;;;;;AAEA,MAAA,WAA6B,GAAAA,mBAAA,CAAmB,EAAE,IAAA,EAAM,YAAY,CAAA,CAAA;;;;;;;;AAmEpE,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAA,OAAA,CAAQ,IAAI,KAAK,CAAA,CAAA;;4BApEf,EAAAC,sBAAA,CAsCM,OAAA,EAtCD,KAAA,EAAM,kBAAgB,EAAA;AAAA,QACzBC,uBAAa,4BAAA,CAAA;AAAA,QACbC,sBAyBM,CAAA,KAAA,EAAA,EAzBD,KAAA,EAAM,YAAU,EAAA;AAAA,0BACnB,EAAAF,sBAAA,CAoBM,KAAA,EAAA;AAAA,YAnBJ,KAAM,EAAA,WAAA;AAAA,YACN,KAAM,EAAA,4BAAA;AAAA,YACN,KAAM,EAAA,IAAA;AAAA,YACN,MAAO,EAAA,IAAA;AAAA,YACP,OAAQ,EAAA,WAAA;AAAA,YACR,IAAK,EAAA,MAAA;AAAA;YAELE,uBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,mTAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;YAEPA,uBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,gTAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;YAEPA,uBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,mFAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;;UAGTA,uBAEM,GAAA,EAAA;AAAA,YAFF,IAAA,EAAM,QAAI,IAAC,CAAA,GAAA;AAAA,YAAK,MAAO,EAAA,QAAA;AAAA,YAAS,KAAM,EAAA,UAAA;AAAA,WACxC,EAAAC,mBAAA,CAAA,OAAA,CAAA,IAAK,CAAA,GAAA,IAAG,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;QAGZF,uBAAa,4BAAA,CAAA;AAAA,QACbC,sBAQM,CAAA,KAAA,EAAA,EARD,KAAA,EAAM,gBAAc,EAAA;AAAA,UACvBA,uBAA+D,KAAA,EAAA;AAAA,YAA1D,GAAA,EAAAE,YAAA;AAAA,YAAsB,GAAI,EAAA,gCAAA;AAAA,YAAQ,KAAM,EAAA,eAAA;AAAA;UAC7CF,sBAKM,CAAA,KAAA,EAAA,EALD,KAAA,EAAM,gBAAc,EAAA;AAAA,YACvBA,sBAAA;AAAA,cAEK,IAAA;AAAA,gBAFD,OAAM,YACL,EAAA;AAAA,cAAAC,mBAAA,CAAA,OAAA,CAAA,IAAK,CAAA,KAAA,IAAK,kJAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA,YAEfD,sBAAA;AAAA,cAAiE,GAAA;AAAA,gBAA9D,OAAM,WAAe,EAAA;AAAA,cAAAC,mBAAA,CAAA,OAAA,CAAA,IAAK,CAAA,OAAA,IAAO,kGAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA;;;;;;;;;"}
@@ -50,7 +50,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
50
50
  vue.createElementVNode("p", { class: "touchchat-edit-text" }, "\u6587\u4EF6\u6570\u91CF: \u6700\u591A 10 \u4E2A,\u6587\u4EF6\u7C7B\u578B: pdf\u3001txt\u3001csv\u3001docx\u3001doc\u3001xlsx\u3001xls\u3001 pptx\u3001 ppt\u3001md\u3001mobi\u3001epub\u3001png\u3001jpeg\u3001jpg")
51
51
  ])
52
52
  ], 8, ["onClick"])), [
53
- [vue.vShow, _ctx.showMarkLaryer]
53
+ [vue.vShow, __props.showMarkLaryer]
54
54
  ]);
55
55
  };
56
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MarkLayer.vue2.js","sources":["../../../../../../packages/components/touchchat/component/MarkLayer.vue"],"sourcesContent":["<template>\n\t<div v-show=\"showMarkLaryer\" class=\"touchchat-edit-mark\" @click=\"emit('colseMarkLayer')\">\n\t\t<div>\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n\t\t\t\t<path d=\"M12.004 20.5002L11.9998 11.5002\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linecap=\"square\" stroke-linejoin=\"round\" />\n\t\t\t\t<path d=\"M20.2589 17.1583C21.9022 16.0027 22.6068 13.9153 22 12.0002C21.3933 10.0851 19.5352 9.03595 17.5264 9.0375H16.3659C15.6072 6.0809 13.1041 3.89811 10.0717 3.54885C7.03935 3.19959 4.1056 4.75615 2.69465 7.4629C1.2837 10.1696 1.68772 13.4661 3.71057 15.752\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linejoin=\"round\" />\n\t\t\t\t<path d=\"M15.1819 13.8182L11.9999 10.6362L8.81787 13.8182\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linecap=\"square\" stroke-linejoin=\"round\" />\n\t\t\t</svg>\n\t\t\t<p class=\"touchchat-edit-title\">释放鼠标上传</p>\n\t\t\t<p class=\"touchchat-edit-text\">文件数量: 最多 10 个,文件类型: pdf、txt、csv、docx、doc、xlsx、xls、 pptx、 ppt、md、mobi、epub、png、jpeg、jpg</p>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nconst emit = defineEmits(['colseMarkLayer'])\ndefineProps<{\n\tshowMarkLaryer: boolean\n}>()\n</script>\n"],"names":["_createElementBlock","_createElementVNode","showMarkLaryer"],"mappings":";;;;;;;;;;;;;AAeA,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;;gDAdZ,EAAAA,sBAAA,CAUM,KAAA,EAAA;AAAA,QAVuB,KAAM,EAAA,qBAAA;AAAA,QAAuB,gBAAO,KAAA,IAAA,CAAI,gBAAA,CAAA;AAAA;QACpEC,sBAAA,CAQM,OAAA,IAAA,EAAA;AAAA,0BAPL,EAAAD,sBAAA,CAIM,KAAA,EAAA;AAAA,YAJD,KAAM,EAAA,4BAAA;AAAA,YAA6B,KAAM,EAAA,IAAA;AAAA,YAAK,MAAO,EAAA,IAAA;AAAA,YAAK,OAAQ,EAAA,WAAA;AAAA,YAAY,IAAK,EAAA,MAAA;AAAA;YACvFC,uBAAgI,MAAA,EAAA;AAAA,cAA1H,CAAE,EAAA,iCAAA;AAAA,cAAkC,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,gBAAe,EAAA,QAAA;AAAA,cAAS,iBAAgB,EAAA,OAAA;AAAA;YACtHA,uBAAsU,MAAA,EAAA;AAAA,cAAhU,CAAE,EAAA,+PAAA;AAAA,cAAgQ,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,iBAAgB,EAAA,OAAA;AAAA;YAC5TA,uBAAiJ,MAAA,EAAA;AAAA,cAA3I,CAAE,EAAA,kDAAA;AAAA,cAAmD,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,gBAAe,EAAA,QAAA;AAAA,cAAS,iBAAgB,EAAA,OAAA;AAAA;;UAExIA,uBAA0C,GAAvC,EAAA,EAAA,KAAM,EAAA,sBAAA,IAAuB,sCAAM,CAAA;AAAA,UACtCA,uBAAyH,GAAtH,EAAA,EAAA,KAAM,EAAA,qBAAA,IAAsB,qNAAsF,CAAA;AAAA;;kBAR1GC,EAAAA,IAAAA,CAAc,cAAA,CAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"MarkLayer.vue2.js","sources":["../../../../../../packages/components/touchchat/component/MarkLayer.vue"],"sourcesContent":["<template>\n\t<div v-show=\"showMarkLaryer\" class=\"touchchat-edit-mark\" @click=\"emit('colseMarkLayer')\">\n\t\t<div>\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n\t\t\t\t<path d=\"M12.004 20.5002L11.9998 11.5002\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linecap=\"square\" stroke-linejoin=\"round\" />\n\t\t\t\t<path d=\"M20.2589 17.1583C21.9022 16.0027 22.6068 13.9153 22 12.0002C21.3933 10.0851 19.5352 9.03595 17.5264 9.0375H16.3659C15.6072 6.0809 13.1041 3.89811 10.0717 3.54885C7.03935 3.19959 4.1056 4.75615 2.69465 7.4629C1.2837 10.1696 1.68772 13.4661 3.71057 15.752\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linejoin=\"round\" />\n\t\t\t\t<path d=\"M15.1819 13.8182L11.9999 10.6362L8.81787 13.8182\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linecap=\"square\" stroke-linejoin=\"round\" />\n\t\t\t</svg>\n\t\t\t<p class=\"touchchat-edit-title\">释放鼠标上传</p>\n\t\t\t<p class=\"touchchat-edit-text\">文件数量: 最多 10 个,文件类型: pdf、txt、csv、docx、doc、xlsx、xls、 pptx、 ppt、md、mobi、epub、png、jpeg、jpg</p>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nconst emit = defineEmits(['colseMarkLayer'])\ndefineProps<{\n\tshowMarkLaryer: boolean\n}>()\n</script>\n"],"names":["_createElementBlock","_createElementVNode"],"mappings":";;;;;;;;;;;;;AAeA,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;;gDAdZ,EAAAA,sBAAA,CAUM,KAAA,EAAA;AAAA,QAVuB,KAAM,EAAA,qBAAA;AAAA,QAAuB,gBAAO,KAAA,IAAA,CAAI,gBAAA,CAAA;AAAA;QACpEC,sBAAA,CAQM,OAAA,IAAA,EAAA;AAAA,0BAPL,EAAAD,sBAAA,CAIM,KAAA,EAAA;AAAA,YAJD,KAAM,EAAA,4BAAA;AAAA,YAA6B,KAAM,EAAA,IAAA;AAAA,YAAK,MAAO,EAAA,IAAA;AAAA,YAAK,OAAQ,EAAA,WAAA;AAAA,YAAY,IAAK,EAAA,MAAA;AAAA;YACvFC,uBAAgI,MAAA,EAAA;AAAA,cAA1H,CAAE,EAAA,iCAAA;AAAA,cAAkC,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,gBAAe,EAAA,QAAA;AAAA,cAAS,iBAAgB,EAAA,OAAA;AAAA;YACtHA,uBAAsU,MAAA,EAAA;AAAA,cAAhU,CAAE,EAAA,+PAAA;AAAA,cAAgQ,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,iBAAgB,EAAA,OAAA;AAAA;YAC5TA,uBAAiJ,MAAA,EAAA;AAAA,cAA3I,CAAE,EAAA,kDAAA;AAAA,cAAmD,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,gBAAe,EAAA,QAAA;AAAA,cAAS,iBAAgB,EAAA,OAAA;AAAA;;UAExIA,uBAA0C,GAAvC,EAAA,EAAA,KAAM,EAAA,sBAAA,IAAuB,sCAAM,CAAA;AAAA,UACtCA,uBAAyH,GAAtH,EAAA,EAAA,KAAM,EAAA,qBAAA,IAAsB,qNAAsF,CAAA;AAAA;;kBAR1G,EAAA,OAAA,CAAc,cAAA,CAAA;AAAA;;;;;;;"}
@@ -100,10 +100,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
100
100
  (vue.openBlock(true), vue.createElementBlock(
101
101
  vue.Fragment,
102
102
  null,
103
- vue.renderList(_ctx.modules, (item) => {
103
+ vue.renderList(__props.modules, (item) => {
104
104
  return vue.openBlock(), vue.createElementBlock("div", {
105
105
  key: item.name,
106
- class: vue.normalizeClass(["touchchat-select-option", { "is-selected": item.name === _ctx.modelValue }]),
106
+ class: vue.normalizeClass(["touchchat-select-option", { "is-selected": item.name === __props.modelValue }]),
107
107
  onClick: ($event) => selectOption(item)
108
108
  }, vue.toDisplayString(item.name), 11, ["onClick"]);
109
109
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleSelect.vue2.js","sources":["../../../../../../packages/components/touchchat/component/ModuleSelect.vue"],"sourcesContent":["<template>\n\t<div class=\"touchchat-custom-select\" tabindex=\"0\" @blur=\"isSelectOpen = false\">\n\t\t<div class=\"touchchat-select-trigger\" @click=\"toggleSelect\">\n\t\t\t<span class=\"touchchat-select-text\">{{ currentModuleName }}</span>\n\t\t\t<div class=\"touchchat-select-icon\" :class=\"{ 'is-open': isSelectOpen }\"></div>\n\t\t</div>\n\t\t<div v-show=\"isSelectOpen\" ref=\"dropdownRef\" class=\"touchchat-select-dropdown\" :class=\"{ 'is-upward': isUpward }\">\n\t\t\t<div v-for=\"item in modules\" :key=\"item.name\" class=\"touchchat-select-option\" :class=\"{ 'is-selected': item.name === modelValue }\" @click=\"selectOption(item)\">\n\t\t\t\t{{ item.name }}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, nextTick, onMounted, onUnmounted } from 'vue'\ninterface BodyConfig {\n\tmodel: string\n\tmessages: Array<{\n\t\trole: string\n\t\tcontent: string\n\t}>\n\tstream: boolean\n}\n\n// 定义 respoKey 返回值的类型\ninterface RespoKeyConfig {\n\tcategory: string\n\tcontentCategory: string\n\tcontent: string\n\tall: string\n\tallCategory: string\n}\ninterface ModuleItem {\n\tname: string\n\tconfig: {\n\t\taction: string\n\t\theaders: () => object\n\t\tbody: () => BodyConfig // 修改为具体类型\n\t\trespoKey: () => RespoKeyConfig // 修改为具体类型\n\t}\n}\n\nconst props = defineProps<{\n\tmodules: ModuleItem[]\n\tmodelValue: string\n}>()\n\nconst emit = defineEmits<{\n\t(e: 'update:modelValue', value: string): void\n}>()\n\nconst isSelectOpen = ref(false)\nconst dropdownRef = ref<HTMLElement | null>(null)\nconst isUpward = ref(false)\n\nconst currentModuleName = computed(() => {\n\tconst selected = props.modules.find(item => item.name === props.modelValue)\n\treturn selected ? selected.name : props.modules[0]?.name || ''\n})\n\nconst toggleSelect = () => {\n\tisSelectOpen.value = !isSelectOpen.value\n\n\tif (isSelectOpen.value) {\n\t\t// 在下一个tick中计算位置\n\t\tnextTick(() => {\n\t\t\tcalculateDropdownPosition()\n\t\t})\n\t}\n}\n\nconst calculateDropdownPosition = () => {\n\tif (!dropdownRef.value) return\n\n\tconst dropdownRect = dropdownRef.value.getBoundingClientRect()\n\tconst viewportHeight = window.innerHeight\n\tconst spaceBelow = viewportHeight - dropdownRect.top - dropdownRect.height\n\tconst spaceAbove = dropdownRect.top\n\n\t// 如果下方空间不足且上方空间足够,则显示在上方\n\tisUpward.value = spaceBelow < 200 && spaceAbove > spaceBelow\n}\n\nconst selectOption = (item: ModuleItem) => {\n\temit('update:modelValue', item.name)\n\tisSelectOpen.value = false\n}\n\nconst handleWindowEvent = () => {\n\tif (isSelectOpen.value) {\n\t\tcalculateDropdownPosition()\n\t}\n}\n\nonMounted(() => {\n\twindow.addEventListener('scroll', handleWindowEvent, true)\n\twindow.addEventListener('resize', handleWindowEvent)\n\n\t// 点击外部关闭下拉菜单\n\tdocument.addEventListener('click', e => {\n\t\tconst selectEl = document.querySelector('.touchchat-custom-select')\n\t\tif (selectEl && !selectEl.contains(e.target as Node)) {\n\t\t\tisSelectOpen.value = false\n\t\t}\n\t})\n})\n\nonUnmounted(() => {\n\twindow.removeEventListener('scroll', handleWindowEvent, true)\n\twindow.removeEventListener('resize', handleWindowEvent)\n})\n</script>\n"],"names":["ref","computed","nextTick","onMounted","onUnmounted","_createElementBlock","_createElementVNode","_normalizeClass","_Fragment","_renderList","modules","modelValue","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"ModuleSelect.vue2.js","sources":["../../../../../../packages/components/touchchat/component/ModuleSelect.vue"],"sourcesContent":["<template>\r\n\t<div class=\"touchchat-custom-select\" tabindex=\"0\" @blur=\"isSelectOpen = false\">\r\n\t\t<div class=\"touchchat-select-trigger\" @click=\"toggleSelect\">\r\n\t\t\t<span class=\"touchchat-select-text\">{{ currentModuleName }}</span>\r\n\t\t\t<div class=\"touchchat-select-icon\" :class=\"{ 'is-open': isSelectOpen }\"></div>\r\n\t\t</div>\r\n\t\t<div v-show=\"isSelectOpen\" ref=\"dropdownRef\" class=\"touchchat-select-dropdown\" :class=\"{ 'is-upward': isUpward }\">\r\n\t\t\t<div v-for=\"item in modules\" :key=\"item.name\" class=\"touchchat-select-option\" :class=\"{ 'is-selected': item.name === modelValue }\" @click=\"selectOption(item)\">\r\n\t\t\t\t{{ item.name }}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, computed, nextTick, onMounted, onUnmounted } from 'vue'\r\ninterface BodyConfig {\r\n\tmodel: string\r\n\tmessages: Array<{\r\n\t\trole: string\r\n\t\tcontent: string\r\n\t}>\r\n\tstream: boolean\r\n}\r\n\r\n// 定义 respoKey 返回值的类型\r\ninterface RespoKeyConfig {\r\n\tcategory: string\r\n\tcontentCategory: string\r\n\tcontent: string\r\n\tall: string\r\n\tallCategory: string\r\n}\r\ninterface ModuleItem {\r\n\tname: string\r\n\tconfig: {\r\n\t\taction: string\r\n\t\theaders: () => object\r\n\t\tbody: () => BodyConfig // 修改为具体类型\r\n\t\trespoKey: () => RespoKeyConfig // 修改为具体类型\r\n\t}\r\n}\r\n\r\nconst props = defineProps<{\r\n\tmodules: ModuleItem[]\r\n\tmodelValue: string\r\n}>()\r\n\r\nconst emit = defineEmits<{\r\n\t(e: 'update:modelValue', value: string): void\r\n}>()\r\n\r\nconst isSelectOpen = ref(false)\r\nconst dropdownRef = ref<HTMLElement | null>(null)\r\nconst isUpward = ref(false)\r\n\r\nconst currentModuleName = computed(() => {\r\n\tconst selected = props.modules.find(item => item.name === props.modelValue)\r\n\treturn selected ? selected.name : props.modules[0]?.name || ''\r\n})\r\n\r\nconst toggleSelect = () => {\r\n\tisSelectOpen.value = !isSelectOpen.value\r\n\r\n\tif (isSelectOpen.value) {\r\n\t\t// 在下一个tick中计算位置\r\n\t\tnextTick(() => {\r\n\t\t\tcalculateDropdownPosition()\r\n\t\t})\r\n\t}\r\n}\r\n\r\nconst calculateDropdownPosition = () => {\r\n\tif (!dropdownRef.value) return\r\n\r\n\tconst dropdownRect = dropdownRef.value.getBoundingClientRect()\r\n\tconst viewportHeight = window.innerHeight\r\n\tconst spaceBelow = viewportHeight - dropdownRect.top - dropdownRect.height\r\n\tconst spaceAbove = dropdownRect.top\r\n\r\n\t// 如果下方空间不足且上方空间足够,则显示在上方\r\n\tisUpward.value = spaceBelow < 200 && spaceAbove > spaceBelow\r\n}\r\n\r\nconst selectOption = (item: ModuleItem) => {\r\n\temit('update:modelValue', item.name)\r\n\tisSelectOpen.value = false\r\n}\r\n\r\nconst handleWindowEvent = () => {\r\n\tif (isSelectOpen.value) {\r\n\t\tcalculateDropdownPosition()\r\n\t}\r\n}\r\n\r\nonMounted(() => {\r\n\twindow.addEventListener('scroll', handleWindowEvent, true)\r\n\twindow.addEventListener('resize', handleWindowEvent)\r\n\r\n\t// 点击外部关闭下拉菜单\r\n\tdocument.addEventListener('click', e => {\r\n\t\tconst selectEl = document.querySelector('.touchchat-custom-select')\r\n\t\tif (selectEl && !selectEl.contains(e.target as Node)) {\r\n\t\t\tisSelectOpen.value = false\r\n\t\t}\r\n\t})\r\n})\r\n\r\nonUnmounted(() => {\r\n\twindow.removeEventListener('scroll', handleWindowEvent, true)\r\n\twindow.removeEventListener('resize', handleWindowEvent)\r\n})\r\n</script>\r\n"],"names":["ref","computed","nextTick","onMounted","onUnmounted","_createElementBlock","_createElementVNode","_normalizeClass","_Fragment","_renderList","_toDisplayString"],"mappings":"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"}
@@ -102,7 +102,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
102
102
  vue.createElementVNode(
103
103
  "div",
104
104
  {
105
- class: vue.normalizeClass(["pdf-file", _ctx.item.uploadError ? "pdf-error" : "pdf-success"])
105
+ class: vue.normalizeClass(["pdf-file", __props.item.uploadError ? "pdf-error" : "pdf-success"])
106
106
  },
107
107
  [
108
108
  vue.createCommentVNode(" <span>{{imgType}}</span> "),
@@ -125,12 +125,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
125
125
  class: "pdf-file-title",
126
126
  onMouseenter: handleMouseEnter,
127
127
  onMouseleave: ($event) => showTooltip.value = false
128
- }, vue.toDisplayString(_ctx.item.name), 41, ["onMouseleave"]),
129
- _ctx.item.uploadError ? (vue.openBlock(), vue.createElementBlock("p", {
128
+ }, vue.toDisplayString(__props.item.name), 41, ["onMouseleave"]),
129
+ __props.item.uploadError ? (vue.openBlock(), vue.createElementBlock("p", {
130
130
  key: 0,
131
131
  class: "pdf-file-info"
132
132
  }, "\u9519\u8BEF")) : vue.createCommentVNode("v-if", true),
133
- progress.value !== 100 && !_ctx.item.uploadError ? (vue.openBlock(), vue.createElementBlock(
133
+ progress.value !== 100 && !__props.item.uploadError ? (vue.openBlock(), vue.createElementBlock(
134
134
  "p",
135
135
  {
136
136
  key: 1,
@@ -140,13 +140,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
140
140
  1
141
141
  /* TEXT */
142
142
  )) : vue.createCommentVNode("v-if", true),
143
- progress.value === 100 && !_ctx.item.uploadError ? (vue.openBlock(), vue.createElementBlock(
143
+ progress.value === 100 && !__props.item.uploadError ? (vue.openBlock(), vue.createElementBlock(
144
144
  "p",
145
145
  {
146
146
  key: 2,
147
147
  class: "pdf-file-info"
148
148
  },
149
- vue.toDisplayString(_ctx.item.fileSize),
149
+ vue.toDisplayString(__props.item.fileSize),
150
150
  1
151
151
  /* TEXT */
152
152
  )) : vue.createCommentVNode("v-if", true),
@@ -176,7 +176,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
176
176
  )) : vue.createCommentVNode("v-if", true),
177
177
  vue.withDirectives(vue.createElementVNode("div", {
178
178
  class: "pdf-file-colse",
179
- onClick: ($event) => emits("colse", _ctx.item.id)
179
+ onClick: ($event) => emits("colse", __props.item.id)
180
180
  }, [
181
181
  (vue.openBlock(), vue.createElementBlock("svg", {
182
182
  xmlns: "http://www.w3.org/2000/svg",
@@ -191,7 +191,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
191
191
  })
192
192
  ]))
193
193
  ], 8, ["onClick"]), [
194
- [vue.vShow, _ctx.hasColse]
194
+ [vue.vShow, __props.hasColse]
195
195
  ])
196
196
  ],
197
197
  2
@@ -1 +1 @@
1
- {"version":3,"file":"PDFFile.vue2.js","sources":["../../../../../../packages/components/touchchat/component/PDFFile.vue"],"sourcesContent":["<template>\n\t<!-- -->\n\t<div class=\"pdf-file\" :class=\"item.uploadError ? 'pdf-error' : 'pdf-success'\">\n\t\t<!-- <span>{{imgType}}</span> -->\n\t\t<img class=\"pdf-file-img\" :src=\"imgTypeInfo[imgType]\" :alt=\"imgType\" />\n\t\t<div ref=\"centerContainer\" class=\"pdf-file-center\">\n\t\t\t<p ref=\"titleElement\" class=\"pdf-file-title\" @mouseenter=\"handleMouseEnter\" @mouseleave=\"showTooltip = false\">\n\t\t\t\t{{ item.name }}\n\t\t\t</p>\n\t\t\t<p v-if=\"item.uploadError\" class=\"pdf-file-info\">错误</p>\n\t\t\t<p v-if=\"progress !== 100 && !item.uploadError\" class=\"pdf-file-info\">{{ progress }}%</p>\n\t\t\t<p v-if=\"progress === 100 && !item.uploadError\" class=\"pdf-file-info\">{{ item.fileSize }}</p>\n\t\t\t<!-- <p v-if=\"showTooltip\" ref=\"tooltipElement\" class=\"pdf-file-tooltip\" :style=\"{ top: tooltipTop + 'px' }\">\n\t\t\t\t{{ item.name }}\n\t\t\t</p> -->\n\t\t</div>\n\t\t<img class=\"pdf-file-reset\" src=\"../img/svg/reset.svg\" alt=\"reset\" @click=\"handleReset\" />\n\t\t<div v-if=\"progress !== 100\" :style=\"{ width: (progress * 2) / 3 + '%' }\" class=\"pdf-file-progress\"></div>\n\t\t<div v-show=\"hasColse\" class=\"pdf-file-colse\" @click=\"emits('colse', item.id)\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"6\" viewBox=\"0 0 5 6\" fill=\"none\">\n\t\t\t\t<path d=\"M4.42492 5.31718L4.97489 4.76721L3.05002 2.84233L4.97493 0.917422L4.42496 0.36745L2.50005 2.29236L0.575118 0.367432L0.0251465 0.917403L1.95008 2.84233L0.0251875 4.76722L0.575159 5.3172L2.50005 3.39231L4.42492 5.31718Z\" fill=\"white\" />\n\t\t\t</svg>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, nextTick, onMounted, onUnmounted, computed, inject } from 'vue'\nimport type { FileItem } from '../src/AiChat/Chat/types'\nimport DOC from '../img/file/doc.png'\nimport DOCX from '../img/file/docx.png'\nimport HTML from '../img/file/html.png'\nimport JPG from '../img/file/jpg.png'\nimport MP3 from '../img/file/mp3.png'\nimport MP4 from '../img/file/mp4.png'\nimport MUSIC from '../img/file/music.png'\nimport PDF from '../img/file/pdf.png'\nimport PNG from '../img/file/png.png'\nimport XLS from '../img/file/xls.png'\nimport TXT from '../img/file/txt.png'\nimport GIF from '../img/file/gif.png'\nimport PPT from '../img/file/ppt.png'\nimport PPTX from '../img/file/pptx.png'\nimport XLSX from '../img/file/xlsx.png'\n\ntype ImgType = 'doc' | 'docx' | 'html' | 'jpg' | 'mp3' | 'mp4' | 'music' | 'pdf' | 'png' | 'xls' | 'txt' | 'gif' | 'ppt' | 'pptx' | 'xlsx' | ''\nconst imgTypeInfo: Record<ImgType, string> = {\n\tdoc: DOC,\n\tdocx: DOCX,\n\thtml: HTML,\n\tjpg: JPG,\n\tmp3: MP3,\n\tmp4: MP4,\n\tmusic: MUSIC,\n\tpdf: PDF,\n\tpng: PNG,\n\txls: XLS,\n\ttxt: TXT,\n\tgif: GIF,\n\tppt: PPT,\n\tpptx: PPTX,\n\txlsx: XLSX,\n\t'': ''\n}\nconst props = defineProps<{\n\titem: FileItem\n\tindex: number\n\thasColse: boolean\n}>()\n\nconst emits = defineEmits(['colse'])\n\nconst showTooltip = ref(false)\nconst titleElement = ref<HTMLElement | null>(null)\nconst tooltipElement = ref<HTMLElement | null>(null)\nconst centerContainer = ref<HTMLElement | null>(null)\nconst tooltipTop = ref(0)\nconst progress = computed(() => {\n\treturn props.item.uploadProgress ?? 0\n})\n\nconst imgType = computed<ImgType>(() => {\n\tconst arr = props.item.name.split('.')\n\tconst type = arr[arr.length - 1].toLowerCase() as ImgType // 转换为小写并断言类型\n\t// 检查是否是有效类型,不是则返回空字符串\n\treturn (Object.keys(imgTypeInfo) as ImgType[]).includes(type) ? type : ''\n})\n\nconst updateTooltipPosition = () => {\n\tif (titleElement.value && tooltipElement.value && centerContainer.value) {\n\t\tconst titleRect = titleElement.value.getBoundingClientRect()\n\t\tconst containerRect = centerContainer.value.getBoundingClientRect()\n\t\t// 计算相对于容器的 top 值\n\t\tconst relativeTop = titleRect.top - containerRect.top\n\t\ttooltipTop.value = relativeTop - tooltipElement.value.offsetHeight - 6\n\t}\n}\n\nconst handleMouseEnter = async () => {\n\tshowTooltip.value = true\n\t// 等待 DOM 更新完成后再调用更新位置的方法\n\tawait nextTick()\n\tupdateTooltipPosition()\n}\n\nconst handleResize = () => {\n\tif (showTooltip.value) {\n\t\tupdateTooltipPosition()\n\t}\n}\n\nconst uploadFile = inject<(index: number, type?: string) => void>('uploadFile', () => {\n\tconsole.warn('未提供bottom函数')\n})\n\nconst handleReset = () => {\n\tuploadFile(props.index, 'PDF')\n}\nonMounted(() => {\n\twindow.addEventListener('resize', handleResize)\n})\nonUnmounted(() => {\n\twindow.removeEventListener('resize', handleResize)\n})\n</script>\n"],"names":["DOC","DOCX","HTML","JPG","MP3","MP4","MUSIC","PDF","PNG","XLS","TXT","GIF","PPT","PPTX","XLSX","ref","computed","nextTick","inject","onMounted","onUnmounted","_createCommentVNode","_createElementVNode","_normalizeClass","item","_createElementBlock","_toDisplayString","_imports_0","hasColse"],"mappings":"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"}
1
+ {"version":3,"file":"PDFFile.vue2.js","sources":["../../../../../../packages/components/touchchat/component/PDFFile.vue"],"sourcesContent":["<template>\n\t<!-- -->\n\t<div class=\"pdf-file\" :class=\"item.uploadError ? 'pdf-error' : 'pdf-success'\">\n\t\t<!-- <span>{{imgType}}</span> -->\n\t\t<img class=\"pdf-file-img\" :src=\"imgTypeInfo[imgType]\" :alt=\"imgType\" />\n\t\t<div ref=\"centerContainer\" class=\"pdf-file-center\">\n\t\t\t<p ref=\"titleElement\" class=\"pdf-file-title\" @mouseenter=\"handleMouseEnter\" @mouseleave=\"showTooltip = false\">\n\t\t\t\t{{ item.name }}\n\t\t\t</p>\n\t\t\t<p v-if=\"item.uploadError\" class=\"pdf-file-info\">错误</p>\n\t\t\t<p v-if=\"progress !== 100 && !item.uploadError\" class=\"pdf-file-info\">{{ progress }}%</p>\n\t\t\t<p v-if=\"progress === 100 && !item.uploadError\" class=\"pdf-file-info\">{{ item.fileSize }}</p>\n\t\t\t<!-- <p v-if=\"showTooltip\" ref=\"tooltipElement\" class=\"pdf-file-tooltip\" :style=\"{ top: tooltipTop + 'px' }\">\n\t\t\t\t{{ item.name }}\n\t\t\t</p> -->\n\t\t</div>\n\t\t<img class=\"pdf-file-reset\" src=\"../img/svg/reset.svg\" alt=\"reset\" @click=\"handleReset\" />\n\t\t<div v-if=\"progress !== 100\" :style=\"{ width: (progress * 2) / 3 + '%' }\" class=\"pdf-file-progress\"></div>\n\t\t<div v-show=\"hasColse\" class=\"pdf-file-colse\" @click=\"emits('colse', item.id)\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"6\" viewBox=\"0 0 5 6\" fill=\"none\">\n\t\t\t\t<path d=\"M4.42492 5.31718L4.97489 4.76721L3.05002 2.84233L4.97493 0.917422L4.42496 0.36745L2.50005 2.29236L0.575118 0.367432L0.0251465 0.917403L1.95008 2.84233L0.0251875 4.76722L0.575159 5.3172L2.50005 3.39231L4.42492 5.31718Z\" fill=\"white\" />\n\t\t\t</svg>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, nextTick, onMounted, onUnmounted, computed, inject } from 'vue'\nimport type { FileItem } from '../src/AiChat/Chat/types'\nimport DOC from '../img/file/doc.png'\nimport DOCX from '../img/file/docx.png'\nimport HTML from '../img/file/html.png'\nimport JPG from '../img/file/jpg.png'\nimport MP3 from '../img/file/mp3.png'\nimport MP4 from '../img/file/mp4.png'\nimport MUSIC from '../img/file/music.png'\nimport PDF from '../img/file/pdf.png'\nimport PNG from '../img/file/png.png'\nimport XLS from '../img/file/xls.png'\nimport TXT from '../img/file/txt.png'\nimport GIF from '../img/file/gif.png'\nimport PPT from '../img/file/ppt.png'\nimport PPTX from '../img/file/pptx.png'\nimport XLSX from '../img/file/xlsx.png'\n\ntype ImgType = 'doc' | 'docx' | 'html' | 'jpg' | 'mp3' | 'mp4' | 'music' | 'pdf' | 'png' | 'xls' | 'txt' | 'gif' | 'ppt' | 'pptx' | 'xlsx' | ''\nconst imgTypeInfo: Record<ImgType, string> = {\n\tdoc: DOC,\n\tdocx: DOCX,\n\thtml: HTML,\n\tjpg: JPG,\n\tmp3: MP3,\n\tmp4: MP4,\n\tmusic: MUSIC,\n\tpdf: PDF,\n\tpng: PNG,\n\txls: XLS,\n\ttxt: TXT,\n\tgif: GIF,\n\tppt: PPT,\n\tpptx: PPTX,\n\txlsx: XLSX,\n\t'': ''\n}\nconst props = defineProps<{\n\titem: FileItem\n\tindex: number\n\thasColse: boolean\n}>()\n\nconst emits = defineEmits(['colse'])\n\nconst showTooltip = ref(false)\nconst titleElement = ref<HTMLElement | null>(null)\nconst tooltipElement = ref<HTMLElement | null>(null)\nconst centerContainer = ref<HTMLElement | null>(null)\nconst tooltipTop = ref(0)\nconst progress = computed(() => {\n\treturn props.item.uploadProgress ?? 0\n})\n\nconst imgType = computed<ImgType>(() => {\n\tconst arr = props.item.name.split('.')\n\tconst type = arr[arr.length - 1].toLowerCase() as ImgType // 转换为小写并断言类型\n\t// 检查是否是有效类型,不是则返回空字符串\n\treturn (Object.keys(imgTypeInfo) as ImgType[]).includes(type) ? type : ''\n})\n\nconst updateTooltipPosition = () => {\n\tif (titleElement.value && tooltipElement.value && centerContainer.value) {\n\t\tconst titleRect = titleElement.value.getBoundingClientRect()\n\t\tconst containerRect = centerContainer.value.getBoundingClientRect()\n\t\t// 计算相对于容器的 top 值\n\t\tconst relativeTop = titleRect.top - containerRect.top\n\t\ttooltipTop.value = relativeTop - tooltipElement.value.offsetHeight - 6\n\t}\n}\n\nconst handleMouseEnter = async () => {\n\tshowTooltip.value = true\n\t// 等待 DOM 更新完成后再调用更新位置的方法\n\tawait nextTick()\n\tupdateTooltipPosition()\n}\n\nconst handleResize = () => {\n\tif (showTooltip.value) {\n\t\tupdateTooltipPosition()\n\t}\n}\n\nconst uploadFile = inject<(index: number, type?: string) => void>('uploadFile', () => {\n\tconsole.warn('未提供bottom函数')\n})\n\nconst handleReset = () => {\n\tuploadFile(props.index, 'PDF')\n}\nonMounted(() => {\n\twindow.addEventListener('resize', handleResize)\n})\nonUnmounted(() => {\n\twindow.removeEventListener('resize', handleResize)\n})\n</script>\n"],"names":["DOC","DOCX","HTML","JPG","MP3","MP4","MUSIC","PDF","PNG","XLS","TXT","GIF","PPT","PPTX","XLSX","ref","computed","nextTick","inject","onMounted","onUnmounted","_createCommentVNode","_createElementVNode","_normalizeClass","_toDisplayString","_createElementBlock","_imports_0"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QuoteContent.vue2.js","sources":["../../../../../../packages/components/touchchat/component/QuoteContent.vue"],"sourcesContent":["<template>\n\t<div class=\"quote-content\">\n\t\t<div class=\"quote-content-text\">{{ props.quoteObj.content }}</div>\n\t\t<div class=\"touchchat-action-item value-close-fill\" @click=\"emits('close')\"></div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nconst props = defineProps(['quoteObj'])\nconst emits = defineEmits(['close'])\n</script>\n"],"names":["_createElementBlock","_createElementVNode"],"mappings":";;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;;4BAPb,EAAAA,sBAAA,CAGM,OAAA,EAHD,KAAA,EAAM,iBAAe,EAAA;AAAA,QACzBC,sBAAA;AAAA,UAAkE,KAAA;AAAA,UAAA,EAA7D,OAAM;8BAAwB,KAAM,CAAA,QAAA,CAAS,OAAO,CAAA;AAAA,UAAA,CAAA;AAAA;AAAA,SAAA;AAAA,QACzDA,uBAAkF,KAAA,EAAA;AAAA,UAA7E,KAAM,EAAA,wCAAA;AAAA,UAA0C,gBAAO,KAAA,KAAA,CAAK,OAAA,CAAA;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"QuoteContent.vue2.js","sources":["../../../../../../packages/components/touchchat/component/QuoteContent.vue"],"sourcesContent":["<template>\r\n\t<div class=\"quote-content\">\r\n\t\t<div class=\"quote-content-text\">{{ props.quoteObj.content }}</div>\r\n\t\t<div class=\"touchchat-action-item value-close-fill\" @click=\"emits('close')\"></div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nconst props = defineProps(['quoteObj'])\r\nconst emits = defineEmits(['close'])\r\n</script>\r\n"],"names":["_createElementBlock","_createElementVNode"],"mappings":";;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;;4BAPb,EAAAA,sBAAA,CAGM,OAAA,EAHD,KAAA,EAAM,iBAAe,EAAA;AAAA,QACzBC,sBAAA;AAAA,UAAkE,KAAA;AAAA,UAAA,EAA7D,OAAM;8BAAwB,KAAM,CAAA,QAAA,CAAS,OAAO,CAAA;AAAA,UAAA,CAAA;AAAA;AAAA,SAAA;AAAA,QACzDA,uBAAkF,KAAA,EAAA;AAAA,UAA7E,KAAM,EAAA,wCAAA;AAAA,UAA0C,gBAAO,KAAA,KAAA,CAAK,OAAA,CAAA;AAAA;;;;;;;;"}
@@ -154,7 +154,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
154
154
  ])
155
155
  ])) : vue.createCommentVNode("v-if", true),
156
156
  vue.createCommentVNode(" \u663E\u793A\u8BED\u97F3\u8F6C\u6587\u5B57\u7684\u7ED3\u679C "),
157
- vue.createCommentVNode(' <div v-if="transcription" class="transcription-result">\n <h4>\u8BED\u97F3\u8F6C\u6587\u5B57\u7ED3\u679C\uFF1A</h4>\n <p>{{ transcription }}</p>\n </div> ')
157
+ vue.createCommentVNode(' <div v-if="transcription" class="transcription-result">\r\n <h4>\u8BED\u97F3\u8F6C\u6587\u5B57\u7ED3\u679C\uFF1A</h4>\r\n <p>{{ transcription }}</p>\r\n </div> ')
158
158
  ]);
159
159
  };
160
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RealtimeVoice.vue2.js","sources":["../../../../../../packages/components/touchchat/component/RealtimeVoice.vue"],"sourcesContent":["<template>\n\t<div>\n\t\t<button class=\"touchchat-edit-voice touchchat-edit-button\" @click=\"startRealtimeVoice\">\n\t\t\t<!-- 未实时语音前 -->\n\t\t\t<div v-if=\"!dialogVisible\" class=\"touchchat-edit-voice-icon\"></div>\n\t\t\t<!-- 实时语音中 -->\n\n\t\t\t<svg v-else xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n\t\t\t\t<path class=\"touchchat-voice-bar-1\" d=\"M10 2.57617V17.4247\" stroke=\"#0077FA\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\n\t\t\t\t<path class=\"touchchat-voice-bar-2\" d=\"M14.167 5.90869V14.0905\" stroke=\"#0077FA\" stroke-opacity=\"0.8\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\n\t\t\t\t<path class=\"touchchat-voice-bar-3\" d=\"M1.66699 8.40869V11.5905\" stroke=\"#0077FA\" stroke-opacity=\"0.5\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\n\t\t\t\t<path class=\"touchchat-voice-bar-4\" d=\"M18.333 8.40869V11.5905\" stroke=\"#0077FA\" stroke-opacity=\"0.5\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\n\t\t\t\t<path class=\"touchchat-voice-bar-5\" d=\"M5.83301 5.90869V14.0905\" stroke=\"#0077FA\" stroke-opacity=\"0.8\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\n\t\t\t</svg>\n\t\t\t<div class=\"touchchat-edit-tooltip\">语音录入</div>\n\t\t</button>\n\t\t<div v-if=\"dialogVisible\" class=\"dialog-overlay\">\n\t\t\t<div class=\"dialog\">\n\t\t\t\t<div class=\"dialog-header\">\n\t\t\t\t\t<h3>已进入实时语音</h3>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"dialog-body\">\n\t\t\t\t\t<p>正在进行实时语音通话...</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"dialog-footer\">\n\t\t\t\t\t<button class=\"hang-up-button\" @click=\"hangUp\">挂断</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<!-- 显示语音转文字的结果 -->\n\t\t<!-- <div v-if=\"transcription\" class=\"transcription-result\">\n\t\t\t<h4>语音转文字结果:</h4>\n\t\t\t<p>{{ transcription }}</p>\n\t\t</div> -->\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { showToast } from '../utils/tools'\n\nconst emit = defineEmits(['startRealtimeVoice', 'transcription'])\n\n// 控制弹窗显示状态\nconst dialogVisible = ref(false)\n// 存储本地媒体流\nlet localStream: MediaStream | null = null\n// 存储语音转文字的结果\nconst transcription = ref('')\n// 语音识别实例 SpeechRecognition\nlet recognition: any = null\n\n// 开始实时语音\nconst startRealtimeVoice = async () => {\n\temit('startRealtimeVoice')\n\ttry {\n\t\t// 获取麦克风权限\n\t\tlocalStream = await navigator.mediaDevices.getUserMedia({ audio: true })\n\t\tdialogVisible.value = true\n\t\ttranscription.value = ''\n\n\t\t// 初始化语音识别\n\t\tconst SpeechRecognition = (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition\n\t\trecognition = new SpeechRecognition()\n\t\trecognition.lang = 'zh-CN'\n\t\trecognition.continuous = true\n\t\trecognition.interimResults = true\n\n\t\t// SpeechRecognitionEvent\n\t\trecognition.onresult = (event: any) => {\n\t\t\tlet finalTranscript = ''\n\t\t\tlet interimTranscript = ''\n\n\t\t\t// 分别处理最终结果和临时结果\n\t\t\tfor (let i = event.resultIndex; i < event.results.length; ++i) {\n\t\t\t\tconst transcript = event.results[i][0].transcript\n\t\t\t\tif (event.results[i].isFinal) {\n\t\t\t\t\tfinalTranscript += transcript\n\t\t\t\t} else {\n\t\t\t\t\tinterimTranscript += transcript\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// 只有最终结果才添加到 transcription.value 中\n\t\t\tif (finalTranscript) {\n\t\t\t\ttranscription.value += finalTranscript\n\t\t\t}\n\n\t\t\t// 临时结果显示(可用于实时预览)\n\t\t\tconst fullText = transcription.value + interimTranscript\n\n\t\t\temit('transcription', fullText)\n\t\t}\n\n\t\t// SpeechRecognitionEvent\n\t\trecognition.onerror = (event: any) => {\n\t\t\tconsole.error('语音识别出错:', event.error)\n\t\t\tshowToast('语音识别出错,请重试', 'error')\n\t\t\thangUp()\n\t\t}\n\n\t\trecognition.start()\n\t\tconsole.log('已成功进入实时语音')\n\t} catch (error) {\n\t\tconsole.error('获取麦克风权限失败:', error)\n\t\tconsole.error('获取麦克风权限失败,请检查设置')\n\t\tshowToast('获取麦克风权限失败', 'error')\n\t}\n}\n\n// 挂断语音\nconst hangUp = () => {\n\tif (localStream) {\n\t\t// 停止所有轨道\n\t\tlocalStream.getTracks().forEach(track => track.stop())\n\t\tlocalStream = null\n\t}\n\tif (recognition) {\n\t\trecognition.stop()\n\t\t// recognition = null;\n\t}\n\tdialogVisible.value = false\n\t// 清空转录结果\n\t// transcription.value = ''\n\tconsole.log('语音通话已挂断')\n}\n</script>\n"],"names":["ref","showToast","_createElementBlock","_createElementVNode","_createCommentVNode","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"RealtimeVoice.vue2.js","sources":["../../../../../../packages/components/touchchat/component/RealtimeVoice.vue"],"sourcesContent":["<template>\r\n\t<div>\r\n\t\t<button class=\"touchchat-edit-voice touchchat-edit-button\" @click=\"startRealtimeVoice\">\r\n\t\t\t<!-- 未实时语音前 -->\r\n\t\t\t<div v-if=\"!dialogVisible\" class=\"touchchat-edit-voice-icon\"></div>\r\n\t\t\t<!-- 实时语音中 -->\r\n\r\n\t\t\t<svg v-else xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n\t\t\t\t<path class=\"touchchat-voice-bar-1\" d=\"M10 2.57617V17.4247\" stroke=\"#0077FA\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\r\n\t\t\t\t<path class=\"touchchat-voice-bar-2\" d=\"M14.167 5.90869V14.0905\" stroke=\"#0077FA\" stroke-opacity=\"0.8\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\r\n\t\t\t\t<path class=\"touchchat-voice-bar-3\" d=\"M1.66699 8.40869V11.5905\" stroke=\"#0077FA\" stroke-opacity=\"0.5\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\r\n\t\t\t\t<path class=\"touchchat-voice-bar-4\" d=\"M18.333 8.40869V11.5905\" stroke=\"#0077FA\" stroke-opacity=\"0.5\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\r\n\t\t\t\t<path class=\"touchchat-voice-bar-5\" d=\"M5.83301 5.90869V14.0905\" stroke=\"#0077FA\" stroke-opacity=\"0.8\" stroke-width=\"1.2\" stroke-linecap=\"square\" />\r\n\t\t\t</svg>\r\n\t\t\t<div class=\"touchchat-edit-tooltip\">语音录入</div>\r\n\t\t</button>\r\n\t\t<div v-if=\"dialogVisible\" class=\"dialog-overlay\">\r\n\t\t\t<div class=\"dialog\">\r\n\t\t\t\t<div class=\"dialog-header\">\r\n\t\t\t\t\t<h3>已进入实时语音</h3>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"dialog-body\">\r\n\t\t\t\t\t<p>正在进行实时语音通话...</p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"dialog-footer\">\r\n\t\t\t\t\t<button class=\"hang-up-button\" @click=\"hangUp\">挂断</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<!-- 显示语音转文字的结果 -->\r\n\t\t<!-- <div v-if=\"transcription\" class=\"transcription-result\">\r\n\t\t\t<h4>语音转文字结果:</h4>\r\n\t\t\t<p>{{ transcription }}</p>\r\n\t\t</div> -->\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue'\r\nimport { showToast } from '../utils/tools'\r\n\r\nconst emit = defineEmits(['startRealtimeVoice', 'transcription'])\r\n\r\n// 控制弹窗显示状态\r\nconst dialogVisible = ref(false)\r\n// 存储本地媒体流\r\nlet localStream: MediaStream | null = null\r\n// 存储语音转文字的结果\r\nconst transcription = ref('')\r\n// 语音识别实例 SpeechRecognition\r\nlet recognition: any = null\r\n\r\n// 开始实时语音\r\nconst startRealtimeVoice = async () => {\r\n\temit('startRealtimeVoice')\r\n\ttry {\r\n\t\t// 获取麦克风权限\r\n\t\tlocalStream = await navigator.mediaDevices.getUserMedia({ audio: true })\r\n\t\tdialogVisible.value = true\r\n\t\ttranscription.value = ''\r\n\r\n\t\t// 初始化语音识别\r\n\t\tconst SpeechRecognition = (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition\r\n\t\trecognition = new SpeechRecognition()\r\n\t\trecognition.lang = 'zh-CN'\r\n\t\trecognition.continuous = true\r\n\t\trecognition.interimResults = true\r\n\r\n\t\t// SpeechRecognitionEvent\r\n\t\trecognition.onresult = (event: any) => {\r\n\t\t\tlet finalTranscript = ''\r\n\t\t\tlet interimTranscript = ''\r\n\r\n\t\t\t// 分别处理最终结果和临时结果\r\n\t\t\tfor (let i = event.resultIndex; i < event.results.length; ++i) {\r\n\t\t\t\tconst transcript = event.results[i][0].transcript\r\n\t\t\t\tif (event.results[i].isFinal) {\r\n\t\t\t\t\tfinalTranscript += transcript\r\n\t\t\t\t} else {\r\n\t\t\t\t\tinterimTranscript += transcript\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// 只有最终结果才添加到 transcription.value 中\r\n\t\t\tif (finalTranscript) {\r\n\t\t\t\ttranscription.value += finalTranscript\r\n\t\t\t}\r\n\r\n\t\t\t// 临时结果显示(可用于实时预览)\r\n\t\t\tconst fullText = transcription.value + interimTranscript\r\n\r\n\t\t\temit('transcription', fullText)\r\n\t\t}\r\n\r\n\t\t// SpeechRecognitionEvent\r\n\t\trecognition.onerror = (event: any) => {\r\n\t\t\tconsole.error('语音识别出错:', event.error)\r\n\t\t\tshowToast('语音识别出错,请重试', 'error')\r\n\t\t\thangUp()\r\n\t\t}\r\n\r\n\t\trecognition.start()\r\n\t\tconsole.log('已成功进入实时语音')\r\n\t} catch (error) {\r\n\t\tconsole.error('获取麦克风权限失败:', error)\r\n\t\tconsole.error('获取麦克风权限失败,请检查设置')\r\n\t\tshowToast('获取麦克风权限失败', 'error')\r\n\t}\r\n}\r\n\r\n// 挂断语音\r\nconst hangUp = () => {\r\n\tif (localStream) {\r\n\t\t// 停止所有轨道\r\n\t\tlocalStream.getTracks().forEach(track => track.stop())\r\n\t\tlocalStream = null\r\n\t}\r\n\tif (recognition) {\r\n\t\trecognition.stop()\r\n\t\t// recognition = null;\r\n\t}\r\n\tdialogVisible.value = false\r\n\t// 清空转录结果\r\n\t// transcription.value = ''\r\n\tconsole.log('语音通话已挂断')\r\n}\r\n</script>\r\n"],"names":["ref","showToast","_createElementBlock","_createElementVNode","_createCommentVNode","_Fragment"],"mappings":"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"}
@@ -35,7 +35,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
35
35
  vue.renderList(vue.unref(agents), (item) => {
36
36
  return vue.openBlock(), vue.createElementBlock("div", {
37
37
  key: item.name,
38
- class: vue.normalizeClass([item.id === _ctx.activeChat ? "is-on" : "", "touchchat-history-item"]),
38
+ class: vue.normalizeClass([item.id === __props.activeChat ? "is-on" : "", "touchchat-history-item"]),
39
39
  onClick: ($event) => handleSelectChat(item)
40
40
  }, [
41
41
  vue.createElementVNode(
@@ -1 +1 @@
1
- {"version":3,"file":"AgentsView.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/AgentsView.vue"],"sourcesContent":["<template>\n\t<div v-if=\"agents.length > 0\" class=\"touchchat-agents\">\n\t\t<div class=\"touchchat-history-title\">\n\t\t\t<div class=\"touchchat-history-title-icon\"></div>\n\t\t\t<div class=\"touchchat-history-title-text\">智能体</div>\n\t\t</div>\n\t\t<div class=\"touchchat-history-content\">\n\t\t\t<div v-for=\"item in agents\" :key=\"item.name\" :class=\"[item.id === activeChat ? 'is-on' : '', 'touchchat-history-item']\" @click=\"handleSelectChat(item)\">\n\t\t\t\t<div class=\"touchchat-history-item-text\" style=\"flex: 1\">\n\t\t\t\t\t{{ item.name || '新对话' }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { inject } from 'vue'\ndefineProps<{\n\tactiveChat: string\n\t// chatHistory: HistoryItem[]\n}>()\ninterface Agent {\n\tid: string\n\tname: string\n\tintro: string\n}\nconst emit = defineEmits<{\n\t(e: 'select-chat', value: string): void // 添加inputValue更新事件\n}>()\ntype UpdateSharedData = (item: Agent) => void\nconst agents = inject<Agent[]>('agents', [])\n// 记录每个智能体是否已被点击过\n// const agentClickedMap = ref<Record<string, boolean>>({})\nconst updateSharedData = inject<UpdateSharedData>('updateSharedData', () => {})\nconst handleSelectChat = (item: Agent) => {\n\temit('select-chat', item.id)\n\tupdateSharedData(item)\n}\n</script>\n"],"names":["inject","_unref","_createElementBlock","_createElementVNode","_Fragment","_renderList","_normalizeClass","activeChat","_toDisplayString"],"mappings":";;;;;;;;;;;;;AA0BA,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAIb,IAAA,MAAM,MAAS,GAAAA,UAAA,CAAgB,QAAU,EAAA,EAAE,CAAA,CAAA;AAG3C,IAAM,MAAA,gBAAA,GAAmBA,UAAyB,CAAA,kBAAA,EAAoB,MAAM;AAAA,KAAE,CAAA,CAAA;AAC9E,IAAM,MAAA,gBAAA,GAAmB,CAAC,IAAgB,KAAA;AACzC,MAAK,IAAA,CAAA,aAAA,EAAe,KAAK,EAAE,CAAA,CAAA;AAC3B,MAAA,gBAAA,CAAiB,IAAI,CAAA,CAAA;AAAA,KACtB,CAAA;;AApCY,MAAA,OAAAC,SAAA,CAAA,MAAA,CAAO,CAAA,MAAA,GAAM,sBAAxBC,uBAYM,KAAA,EAAA;AAAA;QAZwB,KAAM,EAAA,kBAAA;AAAA;QACnCC,sBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,2BAAyB,EAAA;AAAA,UACnCA,sBAAgD,CAAA,KAAA,EAAA,EAA3C,KAAA,EAAM,gCAA8B,CAAA;AAAA,UACzCA,uBAAmD,KAA9C,EAAA,EAAA,KAAM,EAAA,8BAAA,IAA+B,oBAAG,CAAA;AAAA;QAE9CA,sBAMM,CAAA,KAAA,EAAA,EAND,KAAA,EAAM,6BAA2B,EAAA;AAAA,8BACrC,EAAAD,sBAAA;AAAA,YAIME,YAAA;AAAA,YAAA,IAAA;AAAA,YAAAC,cAJc,CAAAJ,SAAA,CAAM,MAAA,CAAA,EAAA,CAAd,IAAI,KAAA;oCAAhB,EAAAC,sBAAA,CAIM,KAAA,EAAA;AAAA,gBAJuB,KAAK,IAAK,CAAA,IAAA;AAAA,gBAAO,KAAA,EAAQI,kBAAA,CAAA,CAAA,IAAK,CAAA,EAAA,KAAOC,KAAU,UAAA,GAAA,OAAA,GAAA,EAAA,EAAA,wBAAA,CAAA,CAAA;AAAA,gBAA6C,OAAK,EAAA,CAAA,MAAE,KAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA;gBACpJJ,sBAAA;AAAA,kBAEM,KAAA;AAAA,kBAAA;AAAA,oBAFD,KAAM,EAAA,6BAAA;AAAA,oBAA8B,KAAA,EAAA,EAAe,MAAA,EAAA,GAAA,EAAA;AAAA,mBACpD;AAAA,kBAAAK,mBAAA,CAAA,IAAK,CAAA,IAAA,IAAI,oBAAA,CAAA;AAAA,kBAAA,CAAA;AAAA;AAAA,iBAAA;AAAA;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"AgentsView.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/AgentsView.vue"],"sourcesContent":["<template>\r\n\t<div v-if=\"agents.length > 0\" class=\"touchchat-agents\">\r\n\t\t<div class=\"touchchat-history-title\">\r\n\t\t\t<div class=\"touchchat-history-title-icon\"></div>\r\n\t\t\t<div class=\"touchchat-history-title-text\">智能体</div>\r\n\t\t</div>\r\n\t\t<div class=\"touchchat-history-content\">\r\n\t\t\t<div v-for=\"item in agents\" :key=\"item.name\" :class=\"[item.id === activeChat ? 'is-on' : '', 'touchchat-history-item']\" @click=\"handleSelectChat(item)\">\r\n\t\t\t\t<div class=\"touchchat-history-item-text\" style=\"flex: 1\">\r\n\t\t\t\t\t{{ item.name || '新对话' }}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { inject } from 'vue'\r\ndefineProps<{\r\n\tactiveChat: string\r\n\t// chatHistory: HistoryItem[]\r\n}>()\r\ninterface Agent {\r\n\tid: string\r\n\tname: string\r\n\tintro: string\r\n}\r\nconst emit = defineEmits<{\r\n\t(e: 'select-chat', value: string): void // 添加inputValue更新事件\r\n}>()\r\ntype UpdateSharedData = (item: Agent) => void\r\nconst agents = inject<Agent[]>('agents', [])\r\n// 记录每个智能体是否已被点击过\r\n// const agentClickedMap = ref<Record<string, boolean>>({})\r\nconst updateSharedData = inject<UpdateSharedData>('updateSharedData', () => {})\r\nconst handleSelectChat = (item: Agent) => {\r\n\temit('select-chat', item.id)\r\n\tupdateSharedData(item)\r\n}\r\n</script>\r\n"],"names":["inject","_unref","_createElementBlock","_createElementVNode","_Fragment","_renderList","_normalizeClass","_toDisplayString"],"mappings":";;;;;;;;;;;;;AA0BA,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAIb,IAAA,MAAM,MAAS,GAAAA,UAAA,CAAgB,QAAU,EAAA,EAAE,CAAA,CAAA;AAG3C,IAAM,MAAA,gBAAA,GAAmBA,UAAyB,CAAA,kBAAA,EAAoB,MAAM;AAAA,KAAE,CAAA,CAAA;AAC9E,IAAM,MAAA,gBAAA,GAAmB,CAAC,IAAgB,KAAA;AACzC,MAAK,IAAA,CAAA,aAAA,EAAe,KAAK,EAAE,CAAA,CAAA;AAC3B,MAAA,gBAAA,CAAiB,IAAI,CAAA,CAAA;AAAA,KACtB,CAAA;;AApCY,MAAA,OAAAC,SAAA,CAAA,MAAA,CAAO,CAAA,MAAA,GAAM,sBAAxBC,uBAYM,KAAA,EAAA;AAAA;QAZwB,KAAM,EAAA,kBAAA;AAAA;QACnCC,sBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,2BAAyB,EAAA;AAAA,UACnCA,sBAAgD,CAAA,KAAA,EAAA,EAA3C,KAAA,EAAM,gCAA8B,CAAA;AAAA,UACzCA,uBAAmD,KAA9C,EAAA,EAAA,KAAM,EAAA,8BAAA,IAA+B,oBAAG,CAAA;AAAA;QAE9CA,sBAMM,CAAA,KAAA,EAAA,EAND,KAAA,EAAM,6BAA2B,EAAA;AAAA,8BACrC,EAAAD,sBAAA;AAAA,YAIME,YAAA;AAAA,YAAA,IAAA;AAAA,YAAAC,cAJc,CAAAJ,SAAA,CAAM,MAAA,CAAA,EAAA,CAAd,IAAI,KAAA;oCAAhB,EAAAC,sBAAA,CAIM,KAAA,EAAA;AAAA,gBAJuB,KAAK,IAAK,CAAA,IAAA;AAAA,gBAAO,KAAA,EAAQI,kBAAA,CAAA,CAAA,IAAK,CAAA,EAAA,KAAO,QAAU,UAAA,GAAA,OAAA,GAAA,EAAA,EAAA,wBAAA,CAAA,CAAA;AAAA,gBAA6C,OAAK,EAAA,CAAA,MAAE,KAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA;gBACpJH,sBAAA;AAAA,kBAEM,KAAA;AAAA,kBAAA;AAAA,oBAFD,KAAM,EAAA,6BAAA;AAAA,oBAA8B,KAAA,EAAA,EAAe,MAAA,EAAA,GAAA,EAAA;AAAA,mBACpD;AAAA,kBAAAI,mBAAA,CAAA,IAAK,CAAA,IAAA,IAAI,oBAAA,CAAA;AAAA,kBAAA,CAAA;AAAA;AAAA,iBAAA;AAAA;;;;;;;;;;;;;"}