升级package, 以及更新声明文件
This commit is contained in:
65
miniprogram/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.d.ts
vendored
Normal file
65
miniprogram/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.d.ts
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
import { SuperComponent } from '../../../components/common/src/index';
|
||||
export default class ChatSender extends SuperComponent {
|
||||
options: {
|
||||
multipleSlots: boolean;
|
||||
};
|
||||
properties: import("./type").TdChatSenderProps;
|
||||
data: {
|
||||
classPrefix: string;
|
||||
scrollViewTop: number;
|
||||
focusFlag: boolean;
|
||||
isSending: boolean;
|
||||
inputStyle: string;
|
||||
originalMarginBottom: number;
|
||||
files: any[];
|
||||
uploadPlacement: string;
|
||||
uploadConfig: {
|
||||
uploadCamera: {
|
||||
iconClass: string;
|
||||
text: string;
|
||||
handler: string;
|
||||
handlerArg: string;
|
||||
};
|
||||
uploadImage: {
|
||||
iconClass: string;
|
||||
text: string;
|
||||
handler: string;
|
||||
handlerArg: string;
|
||||
};
|
||||
uploadAttachment: {
|
||||
iconClass: string;
|
||||
text: string;
|
||||
handler: string;
|
||||
handlerArg: string;
|
||||
};
|
||||
};
|
||||
uploadNames: any[];
|
||||
};
|
||||
observers: {
|
||||
fileList(newVal: any): void;
|
||||
renderPresets(newVal: any): void;
|
||||
};
|
||||
methods: {
|
||||
onkeyboardheightchange(e: any): void;
|
||||
handleSendClick(e: any): void;
|
||||
handleOutsideClick(): void;
|
||||
sendClick(e: any): void;
|
||||
handleStop(e: any): void;
|
||||
handlerClick(): void;
|
||||
focusFn(e: any): void;
|
||||
blurFn(e: any): void;
|
||||
textChange(e: any): void;
|
||||
handleUploadClick(e: any): void;
|
||||
handleFileClick(e: any): void;
|
||||
handleFileRemove(e: any): void;
|
||||
handleFileAdd(): void;
|
||||
handleImageUpload(e: any): Promise<void>;
|
||||
handleWechatFileUpload(e: any): Promise<void>;
|
||||
handleUploadEntryClick(e: any): void;
|
||||
};
|
||||
lifetimes: {
|
||||
created(): void;
|
||||
attached(): void;
|
||||
detached(): void;
|
||||
};
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","attachments":"../attachments/attachments"}}
|
||||
@@ -0,0 +1,2 @@
|
||||
<wxs src="./chat-sender.wxs" module="_this"/><view class="class {{classPrefix}}" style="{{_this._style([style, customStyle, inputStyle])}}" bindtap="handleOutsideClick"><view class="{{classPrefix}}__header" style="{{(attachmentsProps.items && attachmentsProps.items.length > 0)?'margin-top:-8rpx;':''}}"><block wx:if="{{attachmentsProps.items && attachmentsProps.items.length > 0}}"><view class="{{classPrefix}}__attachments"><attachments items="{{attachmentsProps.items}}" removable="{{attachmentsProps.removable}}" imageViewer="{{attachmentsProps.imageViewer}}" bind:fileClick="handleFileClick" bind:remove="handleFileRemove" bind:add="handleFileAdd"></attachments></view></block><block wx:else><slot name="header"/></block></view><view class="{{classPrefix}}__actions"><view class="{{classPrefix}}__textarea"><slot name="input-prefix"/><textarea class="{{classPrefix}}__textarea--control" style="{{_this.textareaStyle(textareaProps.autosize)}}" disabled="{{disabled}}" auto-height="{{!!textareaProps.autosize}}" confirm-type="send" adjust-position="{{adjustPosition}}" disable-default-padding="{{false}}" cursor-spacing="30" maxlength="-1" value="{{value}}" bindchange="textChange" bindfocus="focusFn" bindblur="blurFn" bindtap="handlerClick" bindinput="textChange" bindkeyboardheightchange="onkeyboardheightchange" bindconfirm="handleSendClick">
|
||||
</textarea><view class="{{classPrefix}}__textarea--placeholder {{focusFlag || value ? 'hide' : ''}}">{{placeholder}}</view></view><view class="{{classPrefix}}__footer"><view class="{{classPrefix + '__mode'}}"><slot name="footer-prefix"/></view><view class="{{classPrefix}}__sendbtn"><block wx:if="{{renderPresets}}"><view class="{{classPrefix}}__sendbtn--default"><block wx:for="{{renderPresets}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view><block wx:if="{{item.name === 'upload'}}"><view class="plus-btn {{item.status === 'disabled' ? 'disabled' : ''}}"><block><view class="btn-func" data-status="{{item.status}}" catchtap="handleUploadClick"><t-icon name="{{visible? 'close' : 'add'}}" size="40rpx"/></view></block></view></block><block wx:if="{{item.name === 'send'}}"><block wx:if="{{item.type === 'text'}}"><view class="send-btn-{{item.type}} {{value || loading ? 'active' : 'disabled'}}" bindtap="handleSendClick">{{loading ? '停止' : '发送'}}</view></block><block wx:else><view class="send-btn-icon send-btn-{{item.type}} {{value || loading ? 'active' : 'disabled'}} {{loading ? 'stop' : ''}}" bindtap="handleSendClick"><block wx:if="{{!loading}}"><t-icon name="send-filled" size="32rpx"/></block><block wx:else><view style="width: 24rpx; height: 24rpx; background-color: #ffffff"/></block></view></block></block></view></block></view></block><block wx:else><slot name="suffix"/></block></view></view></view></view><view wx:if="{{visible}}" class="{{classPrefix}}__upload" catchtap="handleUploadClick"><block wx:for="{{uploadNames}}" wx:for-item="name" wx:for-index="index" wx:key="index"><view class="{{classPrefix}}__upload-item" data-name="{{name}}" bindtap="handleUploadEntryClick"><view class="{{classPrefix}}__upload-item__icon"><t-icon name="{{uploadConfig[name].iconClass}}" size="56rpx"/></view><view class="{{classPrefix}}__upload-item__text">{{uploadConfig[name].text}}</view></view></block></view>
|
||||
@@ -0,0 +1,25 @@
|
||||
var utils = require('../common/utils.wxs');
|
||||
|
||||
function textareaStyle(autosize) {
|
||||
if (autosize && autosize.constructor === 'Object') {
|
||||
return utils._style({
|
||||
'min-height': addUnit(autosize.minHeight),
|
||||
'max-height': addUnit(autosize.maxHeight),
|
||||
});
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
function addUnit(value) {
|
||||
// prettier-ignore
|
||||
var REGEXP = getRegExp('^-?\d+(.\d+)?$');
|
||||
if (value == null) {
|
||||
return undefined;
|
||||
}
|
||||
return REGEXP.test('' + value) ? value + 'rpx' : value;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
textareaStyle: textareaStyle,
|
||||
_style: utils._style,
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
@import '../common/style/index.wxss';.t-chat-sender{position:relative;border-radius:32rpx;padding:22rpx 0;border:2rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));box-sizing:border-box;margin:24rpx 24rpx 80rpx 24rpx;box-shadow:var(--td-shadow-3,0 6px 30px 5px rgba(0,0,0,.05),0 16px 24px 2px rgba(0,0,0,.04),0 8px 10px -5px rgba(0,0,0,.08));transition:margin-bottom .3s ease;background-color:var(--td-bg-color-specialcomponent,#fff);}
|
||||
.t-chat-sender__header{padding-bottom:16rpx;width:100%;overflow:hidden;}
|
||||
.t-chat-sender__header:empty{display:none;}
|
||||
.t-chat-sender__attachments{padding:0 24rpx;}
|
||||
.t-chat-sender__actions{position:relative;display:flex;flex-direction:column;padding:0 24rpx;}
|
||||
.t-chat-sender__textarea{position:relative;flex:1;padding-bottom:16rpx;max-height:280rpx;}
|
||||
.t-chat-sender__textarea--control{max-height:264rpx;display:block;width:100%;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));word-break:break-word;caret-color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));letter-spacing:5%;padding-bottom:16rpx;}
|
||||
.t-chat-sender__textarea--placeholder{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));position:absolute;left:0;top:0;transform:translateY(1%);z-index:1;pointer-events:none;opacity:1;transition:opacity .25s linear;}
|
||||
.t-chat-sender__textarea--placeholder.hide{opacity:0;}
|
||||
.t-chat-sender__footer{display:flex;justify-content:space-between;position:relative;z-index:2;}
|
||||
.t-chat-sender__upload{display:flex;margin-top:-40rpx;margin-bottom:24rpx;align-items:center;justify-content:flex-start;transition:all .3s ease;}
|
||||
.t-chat-sender__upload-item{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8rpx;flex-shrink:0;flex-grow:1;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));}
|
||||
.t-chat-sender__upload-item__icon{width:96rpx;height:96rpx;border-radius:var(--td-radius-default,12rpx);margin-bottom:16rpx;background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));display:flex;align-items:center;justify-content:center;}
|
||||
.t-chat-sender__upload-item__text{font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
|
||||
.t-chat-sender__sendbtn{display:flex;align-items:center;justify-content:center;}
|
||||
.t-chat-sender__sendbtn--default{display:flex;align-items:center;justify-content:center;}
|
||||
.t-chat-sender__sendbtn--default .plus-btn{color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));}
|
||||
.t-chat-sender__sendbtn--default .plus-btn .btn-icon{display:block;}
|
||||
.t-chat-sender__sendbtn--default .plus-btn.disabled{pointer-events:none;opacity:.24;}
|
||||
.t-chat-sender__sendbtn--default .plus-btn.disabled .btn-func:after{background:#c9ccd2;}
|
||||
.t-chat-sender__sendbtn--default .send-btn-text{color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));}
|
||||
.t-chat-sender__sendbtn--default .send-btn-text.disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
|
||||
.t-chat-sender__sendbtn--default .send-btn-icon{color:var(--td-bg-color-container,var(--td-font-white-1,#fff));width:64rpx;height:64rpx;margin-left:16rpx;border-radius:999rpx;background-color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));display:flex;align-items:center;justify-content:center;transform:rotate(-90deg);transition:all .3s ease;}
|
||||
.t-chat-sender__sendbtn--default .send-btn-icon.active{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));}
|
||||
.t-chat-sender__sendbtn--default .send-btn-icon.disabled{background-color:var(--td-bg-color-secondarycomponent,var(--td-gray-color-4,#dcdcdc));color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
|
||||
.t-chat-sender .btn-func{width:58rpx;height:58rpx;position:relative;z-index:2;background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));border-radius:999rpx;border:2rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));display:flex;justify-content:center;align-items:center;}
|
||||
3
miniprogram/miniprogram_npm/tdesign-miniprogram/chat-sender/props.d.ts
vendored
Normal file
3
miniprogram/miniprogram_npm/tdesign-miniprogram/chat-sender/props.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import { TdChatSenderProps } from './type';
|
||||
declare const props: TdChatSenderProps;
|
||||
export default props;
|
||||
@@ -0,0 +1 @@
|
||||
const props={adjustPosition:{type:Boolean,value:!1},attachmentsProps:{type:Object},autoRiseWithKeyboard:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},fileList:{type:Array,value:[]},loading:{type:Boolean,value:!1},placeholder:{type:String,value:"请输入消息..."},renderPresets:{type:Array,value:[{name:"upload",presets:["uploadCamera","uploadImage","uploadAttachment"],status:""},{name:"send",type:"icon"}]},textareaProps:{type:null,value:{autosize:{maxHeight:264,minHeight:48}}},value:{type:String,value:""},visible:{type:Boolean,value:!1}};export default props;
|
||||
58
miniprogram/miniprogram_npm/tdesign-miniprogram/chat-sender/type.d.ts
vendored
Normal file
58
miniprogram/miniprogram_npm/tdesign-miniprogram/chat-sender/type.d.ts
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
import { AttachmentsProps, FileItem } from '../attachments/index';
|
||||
export interface TdChatSenderProps {
|
||||
adjustPosition?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
attachmentsProps?: {
|
||||
type: ObjectConstructor;
|
||||
value?: AttachmentsProps;
|
||||
};
|
||||
autoRiseWithKeyboard?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
disabled?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
fileList?: {
|
||||
type: ArrayConstructor;
|
||||
value?: FileItem[];
|
||||
};
|
||||
loading?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
placeholder?: {
|
||||
type: StringConstructor;
|
||||
value?: string;
|
||||
};
|
||||
renderPresets?: {
|
||||
type: ArrayConstructor;
|
||||
value?: ChatActionButtons;
|
||||
};
|
||||
textareaProps?: {
|
||||
type: null;
|
||||
value?: boolean | object;
|
||||
};
|
||||
value?: {
|
||||
type: StringConstructor;
|
||||
value?: string;
|
||||
};
|
||||
visible?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
}
|
||||
export declare type ChatActionButtons = Array<ChatActionButton>;
|
||||
export declare type ChatActionButton = UploadButton | SendButton;
|
||||
export interface UploadButton {
|
||||
name: 'upload';
|
||||
presets: string[];
|
||||
status?: string;
|
||||
}
|
||||
export interface SendButton {
|
||||
name: 'send';
|
||||
type: 'icon' | 'text';
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export{};
|
||||
Reference in New Issue
Block a user