yt-chat-components 1.7.3 → 1.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yt-chat-components",
3
- "version": "1.7.3",
3
+ "version": "1.7.5",
4
4
  "main": "build/static/js/bundle.min.js",
5
5
  "module": "build/static/js/bundle.min.js",
6
6
  "types": "build/static/js/index.d.ts",
@@ -396,7 +396,13 @@ export default function ChatMessage({
396
396
  alt={''}
397
397
  fallback="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADDCAYAAADQvc6UAAABRWlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAwSDCIMogwMCcmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsis7PPOq3QdDFcvjV3jOD1boQVTPQrgSkktTgbSf4A4LbmgqISBgTEFyFYuLykAsTuAbJEioKOA7DkgdjqEvQHEToKwj4DVhAQ5A9k3gGyB5IxEoBmML4BsnSQk8XQkNtReEOBxcfXxUQg1Mjc0dyHgXNJBSWpFCYh2zi+oLMpMzyhRcASGUqqCZ16yno6CkYGRAQMDKMwhqj/fAIcloxgHQqxAjIHBEugw5sUIsSQpBobtQPdLciLEVJYzMPBHMDBsayhILEqEO4DxG0txmrERhM29nYGBddr//5/DGRjYNRkY/l7////39v///y4Dmn+LgeHANwDrkl1AuO+pmgAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAwqADAAQAAAABAAAAwwAAAAD9b/HnAAAHlklEQVR4Ae3dP3PTWBSGcbGzM6GCKqlIBRV0dHRJFarQ0eUT8LH4BnRU0NHR0UEFVdIlFRV7TzRksomPY8uykTk/zewQfKw/9znv4yvJynLv4uLiV2dBoDiBf4qP3/ARuCRABEFAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghgg0Aj8i0JO4OzsrPv69Wv+hi2qPHr0qNvf39+iI97soRIh4f3z58/u7du3SXX7Xt7Z2enevHmzfQe+oSN2apSAPj09TSrb+XKI/f379+08+A0cNRE2ANkupk+ACNPvkSPcAAEibACyXUyfABGm3yNHuAECRNgAZLuYPgEirKlHu7u7XdyytGwHAd8jjNyng4OD7vnz51dbPT8/7z58+NB9+/bt6jU/TI+AGWHEnrx48eJ/EsSmHzx40L18+fLyzxF3ZVMjEyDCiEDjMYZZS5wiPXnyZFbJaxMhQIQRGzHvWR7XCyOCXsOmiDAi1HmPMMQjDpbpEiDCiL358eNHurW/5SnWdIBbXiDCiA38/Pnzrce2YyZ4//59F3ePLNMl4PbpiL2J0L979+7yDtHDhw8vtzzvdGnEXdvUigSIsCLAWavHp/+qM0BcXMd/q25n1vF57TYBp0a3mUzilePj4+7k5KSLb6gt6ydAhPUzXnoPR0dHl79WGTNCfBnn1uvSCJdegQhLI1vvCk+fPu2ePXt2tZOYEV6/fn31dz+shwAR1sP1cqvLntbEN9MxA9xcYjsxS1jWR4AIa2Ibzx0tc44fYX/16lV6NDFLXH+YL32jwiACRBiEbf5KcXoTIsQSpzXx4N28Ja4BQoK7rgXiydbHjx/P25TaQAJEGAguWy0+2Q8PD6/Ki4R8EVl+bzBOnZY95fq9rj9zAkTI2SxdidBHqG9+skdw43borCXO/ZcJdraPWdv22uIEiLA4q7nvvCug8WTqzQveOH26fodo7g6uFe/a17W3+nFBAkRYENRdb1vkkz1CH9cPsVy/jrhr27PqMYvENYNlHAIesRiBYwRy0V+8iXP8+/fvX11Mr7L7ECueb/r48eMqm7FuI2BGWDEG8cm+7G3NEOfmdcTQw4h9/55lhm7DekRYKQPZF2ArbXTAyu4kDYB2YxUzwg0gi/41ztHnfQG26HbGel/crVrm7tNY+/1btkOEAZ2M05r4FB7r9GbAIdxaZYrHdOsgJ/wCEQY0J74TmOKnbxxT9n3FgGGWWsVdowHtjt9Nnvf7yQM2aZU/TIAIAxrw6dOnAWtZZcoEnBpNuTuObWMEiLAx1HY0ZQJEmHJ3HNvGCBBhY6jtaMoEiJB0Z29vL6ls58vxPcO8/zfrdo5qvKO+d3Fx8Wu8zf1dW4p/cPzLly/dtv9Ts/EbcvGAHhHyfBIhZ6NSiIBTo0LNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiEC/wGgKKC4YMA4TAAAAABJRU5ErkJggg=="
398
398
  />
399
- }
399
+ },
400
+ a: ({node, ...props}) => {
401
+ if (props.href?.startsWith('http')) {
402
+ return <a {...props} target="_blank" rel="noopener noreferrer"/>;
403
+ }
404
+ return <a {...props} />;
405
+ },
400
406
  }), [isSubmittingForm]); // 依赖 isSubmittingForm 刷新ui
401
407
 
402
408
  const getStatusIcon = (status: CustomThoughtChainItem['status'], icon?: React.ReactNode) => {
@@ -160,7 +160,8 @@ const ChatWindow = forwardRef<ChatWindowRef, ChatWindowProps>(({
160
160
  voice,
161
161
  onSmartRobotClick,
162
162
  isShowMobileInputArea,
163
- isInH5Page
163
+ isInH5Page,
164
+ welcomeWords
164
165
  }, ref) => {
165
166
  const rootRef = useRef<HTMLDivElement>(null);
166
167
  const lastMessage = useRef<HTMLDivElement>(null);
@@ -193,6 +194,7 @@ const ChatWindow = forwardRef<ChatWindowRef, ChatWindowProps>(({
193
194
  const {registerChatMethods} = React.useContext(MethodContext) || {};
194
195
  let voiceChunks = []; // 临时存储录制的语音片段
195
196
  // 滚动事件处理,选择文件时,文件内容超出显示框时,显示左右箭头
197
+ const messageContainerRef = useRef<HTMLDivElement>(null);
196
198
 
197
199
  useImperativeHandle(ref, () => ({
198
200
  handleCallButtonClick:handleCallButtonClick
@@ -1037,7 +1039,7 @@ const ChatWindow = forwardRef<ChatWindowRef, ChatWindowProps>(({
1037
1039
  keyShowSize={4}
1038
1040
  agentName={window_title}
1039
1041
  agentUrl={agentUrl}
1040
- welcomeWords={`Hi,欢迎使用${window_title},您可以这样问我:`}
1042
+ welcomeWords={welcomeWords || '很高兴认识您,您有什么问题尽可咨询我!'}
1041
1043
  handleRowClick={(word) => {
1042
1044
  if(!receivingMessageRef.current){
1043
1045
  handleSendMessage(word)
@@ -1248,6 +1250,10 @@ const ChatWindow = forwardRef<ChatWindowRef, ChatWindowProps>(({
1248
1250
  } else {
1249
1251
  handleSendMessage()
1250
1252
  }
1253
+ setTimeout(() => {
1254
+ const container = messageContainerRef.current;
1255
+ messageContainerRef.current.scrollTop = container.scrollHeight + 72;
1256
+ }, 200);
1251
1257
  }}
1252
1258
  onStartRecordClick={startConnectAndRecord}
1253
1259
  onStopRecordClick={stopRecord}
@@ -1548,6 +1554,7 @@ const ChatWindow = forwardRef<ChatWindowRef, ChatWindowProps>(({
1548
1554
  <div
1549
1555
  className="cl-messages_container"
1550
1556
  style={isMobile ? {paddingLeft: '0', paddingRight: '0'} : {}}
1557
+ ref={messageContainerRef}
1551
1558
  // style={{ maxWidth: '100%', minHeight:'300px', height:'700px', paddingBottom: '56px' }}
1552
1559
  >
1553
1560
  {
@@ -59,6 +59,7 @@ export default function ChatWidget({
59
59
  isShowMobileInputArea,
60
60
  isInH5Page,
61
61
  chatWindowRef,
62
+ welcomeWords,
62
63
  }: {
63
64
  is_enable_call:boolean,
64
65
  tags: [];
@@ -111,6 +112,7 @@ export default function ChatWidget({
111
112
  isShowMobileInputArea?: boolean;
112
113
  isInH5Page: boolean;
113
114
  chatWindowRef?: object;
115
+ welcomeWords?: string;
114
116
  }) {
115
117
  const [open, setOpen] = useState(start_open);
116
118
  const [messages, setMessages] = useState<ChatMessageType[]>([]);
@@ -193,6 +195,7 @@ export default function ChatWidget({
193
195
  onSmartRobotClick={onSmartRobotClick}
194
196
  isShowMobileInputArea={isShowMobileInputArea}
195
197
  isInH5Page={isInH5Page}
198
+ welcomeWords={welcomeWords}
196
199
  />
197
200
  </div>
198
201
  );
@@ -543,8 +543,8 @@ export class MobileChatPageV2 extends React.Component {
543
543
  <div className="drawer-history-header" style={{marginTop:0, padding: '54px 14px 14px 14px', background: 'linear-gradient( 71deg, #E1E9FF 0%, #FFFFFF 100%)', position: "relative"}}>
544
544
  <img src={icon_history_headerbg} style={{position: 'absolute', right: 0, bottom: 0, width: '40%', zIndex:0}}/>
545
545
  <div className="drawer-history-header-title" style={{display: 'flex', flexDirection: 'row', alignItems: 'center'}}>
546
- <img style={{width: 35}} src={agentUrl}/>
547
- <span style={{fontSize: 24, marginLeft: 10}}>{agentName}</span>
546
+ <img style={{width: 45}} src={agentUrl}/>
547
+ <span style={{fontSize: 19, marginLeft: 10}}>{agentName}</span>
548
548
  </div>
549
549
  </div>
550
550
  <div
@@ -575,7 +575,7 @@ export class MobileChatPageV2 extends React.Component {
575
575
  justifyContent: 'center',
576
576
  cursor: 'pointer',
577
577
  padding: '30px 14px 15px 14px',
578
- borderBottom: this.state.currentTabKey === item.id ? '2px solid #2850FF' : '2px solid #fff'
578
+ // borderBottom: this.state.currentTabKey === item.id ? '2px solid #2850FF' : '2px solid #fff'
579
579
  }}
580
580
  onClick={() => this.setState({currentTabKey: item.id})}
581
581
  >