升级package, 以及更新声明文件

This commit is contained in:
zhengw
2026-01-09 16:33:18 +08:00
parent 0c4b2a886c
commit cf461d33f9
238 changed files with 46252 additions and 5857 deletions

View File

@@ -0,0 +1,34 @@
import { SuperComponent, ComponentsOptionsType } from '../../../components/common/src/index';
export default class ChatMessage extends SuperComponent {
options: ComponentsOptionsType;
properties: import("./type").TdChatMessageProps;
data: {
classPrefix: string;
article: string;
showAvatar: any;
showName: any;
showDateTime: any;
contentClasses: any[];
chatItemClass: any[];
};
observers: {
avatar(): void;
name(): void;
datetime(): void;
classPrefix(): void;
'classPrefix, variant, placement, showDateTime'(): void;
};
methods: {
handleLongPress(e: any): void;
setShowAvatar(): void;
setShowName(): void;
setShowDateTime(): void;
setContentClasses(): void;
setChatItemClass(): void;
};
lifetimes: {
created(): void;
attached(): void;
detached(): void;
};
}

View File

@@ -0,0 +1 @@
import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";const{prefix:prefix}=config,name=`${prefix}-chat-message`;let ChatMessage=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties=props,this.data={classPrefix:name,article:"",showAvatar:null,showName:null,showDateTime:null,contentClasses:[],chatItemClass:[]},this.observers={avatar(){this.setShowAvatar()},name(){this.setShowName()},datetime(){this.setShowDateTime()},classPrefix(){this.setContentClasses()},"classPrefix, variant, placement, showDateTime"(){this.setChatItemClass()}},this.methods={handleLongPress(t){this.triggerEvent("longpress",{e:t,id:this.data.chatId})},setShowAvatar(){var t;this.setData({showAvatar:(null===(t=this.properties)||void 0===t?void 0:t.avatar)||""})},setShowName(){var t;this.setData({showName:(null===(t=this.properties)||void 0===t?void 0:t.name)||""})},setShowDateTime(){var t;this.setData({showDateTime:(null===(t=this.properties)||void 0===t?void 0:t.datetime)||""})},setContentClasses(){this.setData({contentClasses:[`${this.data.classPrefix}__content`]})},setChatItemClass(){const{classPrefix:t,showDateTime:e}=this.data,{variant:s,role:a,placement:i}=this.properties,o=[`${t}`,`${t}--${s}`,a,i];e&&o.push(`${t}__header`),this.setData({chatItemClass:o})}},this.lifetimes={created(){this.data.handleLongPress=this.handleLongPress.bind(this)},attached(){this.setShowAvatar(),this.setShowName(),this.setShowDateTime(),this.setContentClasses(),this.setChatItemClass()},detached(){}}}};ChatMessage=__decorate([wxComponent()],ChatMessage);export default ChatMessage;

View File

@@ -0,0 +1 @@
{"component":true,"styleIsolation":"shared","usingComponents":{"chat-content":"../chat-content/chat-content","chat-thinking":"../chat-thinking/chat-thinking","chat-loading":"../chat-loading/chat-loading","attachments":"../attachments/attachments"}}

View File

@@ -0,0 +1 @@
<wxs src="../common/utils.wxs" module="_"/><view class="class {{chatItemClass}}" style="{{_._style([style, customStyle])}}" bindlongpress="handleLongPress"><view class="{{classPrefix}}__avatar"><slot name="avatar"/><block wx:if="{{avatar}}"><image src="{{avatar}}" class="{{classPrefix}}__avatar-image"></image></block></view><view class="{{contentClasses}}"><view class="{{classPrefix}}__base"><slot name="name"/><text wx:if="{{showName}}" class="{{classPrefix}}__name">{{name}}</text><text wx:if="{{datetime}}" class="{{classPrefix}}__time">{{datetime}}</text></view><block wx:if="{{status === 'pending'}}"><view style="width: 100%"><chat-loading animation="{{animation}}"></chat-loading></view></block><block wx:else><view class="{{classPrefix}}__detail"><block wx:if="{{content.length > 0}}"><block wx:for="{{content}}" wx:key="index"><attachments wx:if="{{item.type === 'attachment' && role === 'user'}}" items="{{item.data}}" removable="{{false}}" inChat="{{true}}"></attachments><chat-thinking wx:if="{{item.type === 'thinking'}}" content="{{item.data}}" role="{{role}}" status="{{status}}"></chat-thinking><chat-content wx:elif="{{item.type === 'text' || item.type === 'markdown'}}" content="{{item}}" role="{{role}}" status="{{status}}"></chat-content></block></block><block wx:else><slot name="content"/></block></view></block><view wx:if="{{role === 'assistant'}}" class="{{classPrefix}}__actionbar"><slot name="actionbar"></slot></view></view></view>

View File

@@ -0,0 +1,44 @@
@import '../common/style/index.wxss';.t-chat-list__content--reverse .t-chat-message{-webkit-transform:scaleY(-1);transform:scaleY(-1);}
.t-attachments+.t-chat-content:not(:empty),.t-chat-thinking+.t-chat-content:not(:empty){margin-top:24rpx;}
.t-chat-message{display:flex;margin-bottom:var(--td-spacer-2,32rpx);}
.t-chat-message .t-chat-message__avatar{flex:0 0 auto;padding-top:0rpx;}
.t-chat-message .t-chat-message__content{flex:1 1 auto;width:1%;}
.t-chat-message .t-chat-message__content--base{padding-top:var(--td-spacer-3,48rpx);}
.t-chat-message .t-chat-message__detail{max-width:100%;box-sizing:border-box;display:contents;}
.t-chat-message__header .t-chat-message__avatar{padding-top:calc(44rpx + var(--td-spacer,16rpx));}
.t-chat-message__header .t-chat-message__avatar:empty{padding-top:0;}
.t-chat-message.user .t-chat-message__base{padding-right:var(--td-spacer-2,32rpx);}
.t-chat-message.user .t-chat-content{max-width:90%;}
.t-chat-message.assistant .t-chat-message__base{padding-left:var(--td-spacer-2,32rpx);}
.t-chat-message.error .t-chat-message__base{padding-left:var(--td-spacer-2,32rpx);}
.t-chat-message.error .t-chat-message__text--error{color:var(--td-error-color-6,#d54941);}
.t-chat-message.left{display:flex;flex-direction:row;}
.t-chat-message.left .t-chat-message__content{align-items:flex-start;}
.t-chat-message.left .t-chat-message__base{padding-left:var(--td-spacer-2,32rpx);}
.t-chat-message.right{display:flex;flex-direction:row-reverse;}
.t-chat-message.right .t-chat-message__content{align-items:flex-end;}
.t-chat-message.right .t-chat-message__base{padding-right:var(--td-spacer-2,32rpx);}
.t-chat-message.right .t-chat-message__avatar{margin-left:var(--td-spacer-1,24rpx);margin-right:0;}
.t-chat-message.right .t-chat-message__avatar:empty{margin-left:0;}
.t-chat-message__avatar{flex-shrink:0;cursor:pointer;display:flex;margin-right:var(--td-spacer-1,24rpx);padding-top:calc(44rpx + var(--td-spacer,16rpx));}
.t-chat-message__avatar:empty{padding-top:0;margin-right:0;}
.t-chat-message__avatar-image{width:var(--td-spacer-4,64rpx);height:var(--td-spacer-4,64rpx);border-radius:var(--td-radius-circle,50%);}
.t-chat-message__content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
.t-chat-message__content .t-skeleton{width:100%;}
.t-chat-message__base{display:flex;justify-content:flex-start;align-items:center;height:44rpx;font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));color:var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4)));margin-bottom:var(--td-spacer,16rpx);}
.t-chat-message__base:empty{height:0;margin-bottom:0;}
.t-chat-message__name{padding-right:var(--td-spacer,16rpx);cursor:pointer;}
.t-chat-message--text .t-chat-content__assistant,.t-chat-message--text .t-chat-content__user{color:var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6)));}
.t-chat-message--base .t-chat-content{padding:24rpx 32rpx;background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
.t-chat-message--base.assistant .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);background-color:transparent;padding:0;}
.t-chat-message--base.user .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
.t-chat-message--base.left .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
.t-chat-message--base.right .t-chat-content{border-radius:var(--td-radius-extraLarge,24rpx) 0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
.t-chat-message--outline .t-chat-content{padding:24rpx 32rpx;border:1rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
.t-chat-message--outline.assistant .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
.t-chat-message--outline.user .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
.t-chat-message--outline.left .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
.t-chat-message--outline.right .t-chat-content{border-radius:var(--td-radius-extraLarge,24rpx) 0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
.t-chat-message--base.right .t-attachments__scrollable,.t-chat-message--outline.right .t-attachments__scrollable,.t-chat-message--text.right .t-attachments__scrollable{justify-content:flex-end;}
.t-chat-message__actionbar{--chat-actionbar-padding:var(--td-spacer-1, 24rpx) 0 0 0;}
.t-chat-message__actionbar:empty{display:none;}

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,3 @@
import { TdChatMessageProps } from './type';
declare const props: TdChatMessageProps;
export default props;

View File

@@ -0,0 +1 @@
const props={animation:{type:String,value:"skeleton"},avatar:{type:String},chatContentProps:{type:Object},chatId:{type:String,value:""},content:{type:Array},datetime:{type:String,value:""},name:{type:String},placement:{type:String},role:{type:String,value:"user"},status:{type:String},variant:{type:String,value:"base"}};export default props;

View File

@@ -0,0 +1,63 @@
import { ChatContentProps } from '../chat-content/index';
import { FileItem } from '../attachments/index';
export interface TdChatMessageProps {
animation?: {
type: StringConstructor;
value?: 'skeleton' | 'moving' | 'gradient' | 'dots';
};
avatar?: {
type: StringConstructor;
value?: string;
};
chatContentProps?: {
type: ObjectConstructor;
value?: ChatContentProps;
};
chatId?: {
type: StringConstructor;
value?: string;
};
content?: {
type: ArrayConstructor;
value?: ChatMessageContent[];
};
datetime?: {
type: StringConstructor;
value?: string;
};
name?: {
type: StringConstructor;
value?: string;
};
placement?: {
type: StringConstructor;
value?: 'left' | 'right';
};
role?: {
type: StringConstructor;
value?: 'user' | 'assistant' | 'system';
};
status?: {
type: StringConstructor;
value?: 'pending' | 'streaming' | 'complete' | 'stop' | 'error';
};
variant?: {
type: StringConstructor;
value?: 'base' | 'outline' | 'text';
};
}
export declare type ChatMessageContent = TextContent | MarkdownContent | ThinkingContent | AttachmentContent;
export declare type AttachmentContent = ChatBaseContent<'attachment', FileItem[]>;
export declare type ThinkingContent = ChatBaseContent<'thinking', ThinkingContentData>;
export declare type MarkdownContent = ChatBaseContent<'markdown', string>;
export declare type TextContent = ChatBaseContent<'text', string>;
export interface ThinkingContentData {
title?: string;
text: string;
}
export interface ChatBaseContent<T extends ChatContentType, TData> {
type: T;
data: TData;
}
export declare type ChatMessageStatus = 'pending' | 'streaming' | 'complete' | 'stop' | 'error';
export declare type ChatContentType = 'text' | 'markdown' | 'thinking' | 'attachment';

View File

@@ -0,0 +1 @@
export{};