初始化项目, 添加TDesign等包

This commit is contained in:
zhengw
2025-11-28 16:49:36 +08:00
commit 3e53beb7bb
980 changed files with 39201 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
import { SuperComponent, RelationsOptions } from '../common/src/index';
import type { TdCollapsePanelProps } from './type';
export interface CollapsePanelProps extends TdCollapsePanelProps {
}
export default class CollapsePanel extends SuperComponent {
externalClasses: string[];
options: {
multipleSlots: boolean;
};
relations: RelationsOptions;
properties: TdCollapsePanelProps;
data: {
prefix: string;
expanded: boolean;
classPrefix: string;
classBasePrefix: string;
ultimateExpandIcon: boolean;
ultimateDisabled: boolean;
};
observers: {
disabled(v: any): void;
};
methods: {
updateExpanded(activeValues?: any[]): void;
updateStyle(expanded: boolean): Promise<void>;
onClick(): void;
};
}

View File

@@ -0,0 +1 @@
import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getRect}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-collapse-panel`;let CollapsePanel=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-header`],this.options={multipleSlots:!0},this.relations={"../collapse/collapse":{type:"ancestor",linked(e){const{value:t,expandIcon:a,disabled:s}=e.properties;this.setData({ultimateExpandIcon:null==this.properties.expandIcon?a:this.properties.expandIcon,ultimateDisabled:null==this.properties.disabled?s:this.properties.disabled}),this.updateExpanded(t)}}},this.properties=props,this.data={prefix:prefix,expanded:!1,classPrefix:name,classBasePrefix:prefix,ultimateExpandIcon:!1,ultimateDisabled:!1},this.observers={disabled(e){this.setData({ultimateDisabled:!!e})}},this.methods={updateExpanded(e=[]){if(!this.$parent)return;const{value:t}=this.properties,{defaultExpandAll:a}=this.$parent.data,s=a?!this.data.expanded:e.includes(t);s!==this.properties.expanded&&(this.setData({expanded:s}),this.updateStyle(s))},updateStyle(e){return getRect(this,`.${name}__content`).then(e=>e.height).then(t=>{const a=wx.createAnimation({duration:0,timingFunction:"ease-in-out"});e?a.height(t).top(0).step({duration:300}).height("auto").step():a.height(t).top(1).step({duration:1}).height(0).step({duration:300}),this.setData({animation:a.export()})})},onClick(){const{ultimateDisabled:e}=this.data,{value:t}=this.properties;e||(this.$parent.data.defaultExpandAll?this.updateExpanded():this.$parent.switch(t))}}}};CollapsePanel=__decorate([wxComponent()],CollapsePanel);export default CollapsePanel;

View File

@@ -0,0 +1 @@
{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-cell":"../cell/cell"}}

View File

@@ -0,0 +1 @@
<wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="class {{classPrefix}} {{classPrefix}}--{{placement}} {{prefix}}-class"><view class="{{classPrefix}}__title" aria-role="button" aria-expanded="{{expanded}}" aria-disabled="{{ultimateDisabled}}" bind:tap="onClick"><t-cell title="{{header}}" note="{{headerRightContent}}" bordered="{{false}}" left-icon="{{headerLeftIcon}}" right-icon="{{ ultimateExpandIcon ? (expanded ? 'chevron-up' : 'chevron-down') : '' }}" t-class="{{_.cls(classPrefix + '__header', [placement, ['expanded', expanded]])}} {{prefix}}-class-header" t-class-title="class-title {{ultimateDisabled ? 'class-title--disabled' : ''}}" t-class-note="class-note {{ultimateDisabled ? 'class-note--disabled' : ''}}" t-class-right-icon="class-right-icon {{classPrefix}}__arrow--{{placement}} {{ultimateDisabled ? 'class-right-icon--disabled' : ''}}" t-class-hover="class-header-hover"><slot name="header-left-icon" slot="left-icon"/><slot name="header" slot="title"/><slot name="header-right-content" slot="note"/><slot name="expand-icon" slot="right-icon"/></t-cell></view><view class="{{classPrefix}}__wrapper" animation="{{animation}}" aria-hidden="{{expanded ? '' : true}}"><view class="{{_.cls(classPrefix + '__content', [['disabled', ultimateDisabled], ['expanded', expanded], placement])}} {{prefix}}-class-content">{{content}}<slot/><slot name="content"/></view></view></view>

View File

@@ -0,0 +1,32 @@
@import '../common/style/index.wxss';.t-collapse-panel{background-color:var(--td-collapse-panel-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
.t-collapse-panel--disabled{pointer-events:none;}
.t-collapse-panel--disabled .t-collapse-panel__content,.t-collapse-panel--disabled .t-collapse-panel__header{opacity:.3;}
.t-collapse-panel--top{display:flex;flex-direction:column-reverse;}
.t-collapse-panel__header{position:relative;display:flex;justify-content:space-between;align-items:center;padding-left:var(--td-collapse-horizontal-padding,32rpx);height:var(--td-collapse-header-height,auto);--td-cell-title-color:var(--td-collapse-header-text-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));--td-cell-left-icon-color:var(--td-collapse-icon-color, var(--td-font-gray-3, rgba(0, 0, 0, 0.4)));}
.t-collapse-panel__header--top{position:relative;}
.t-collapse-panel__header--top::after{content:'';display:block;position:absolute;top:0;bottom:unset;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
.t-collapse-panel__header--top::after{height:1px;left:0;right:0;transform:scaleY(.5);}
.t-collapse-panel__header--bottom{position:relative;}
.t-collapse-panel__header--bottom::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
.t-collapse-panel__header--bottom::after{height:1px;left:0;right:0;transform:scaleY(.5);}
.t-collapse-panel__header::after{left:32rpx;}
.t-collapse-panel__header-right{display:inline-flex;align-items:center;height:100%;}
.t-collapse-panel__header-icon{height:100%;padding-left:8px;width:44px;padding-right:8px;color:var(--td-collapse-icon-color,var(--td-font-gray-3,rgba(0,0,0,.4)));}
.t-collapse-panel__extra{font-size:var(--td-collapse-extra-font-size,var(--td-font-size-m,32rpx));}
.t-collapse-panel__body{position:relative;}
.t-collapse-panel__body::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
.t-collapse-panel__body::after{height:1px;left:0;right:0;transform:scaleY(.5);}
.t-collapse-panel__wrapper{height:0;overflow:hidden;}
.t-collapse-panel__content{color:var(--td-collapse-content-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-collapse-content-font-size,var(--td-font-size-base,28rpx));padding:var(--td-collapse-content-padding,32rpx);line-height:var(--td-collapse-content-line-height,1.5);}
.t-collapse-panel__content--disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
.t-collapse-panel__content--expanded.t-collapse-panel__content--bottom{position:relative;}
.t-collapse-panel__content--expanded.t-collapse-panel__content--bottom::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
.t-collapse-panel__content--expanded.t-collapse-panel__content--bottom::after{height:1px;left:0;right:0;transform:scaleY(.5);}
.t-collapse-panel__content--expanded.t-collapse-panel__content--top{position:relative;}
.t-collapse-panel__content--expanded.t-collapse-panel__content--top::after{content:'';display:block;position:absolute;top:0;bottom:unset;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
.t-collapse-panel__content--expanded.t-collapse-panel__content--top::after{height:1px;left:0;right:0;transform:scaleY(.5);}
.t-collapse-panel__arrow--top{transform:rotate(180deg);}
.class-title{font-size:var(--td-collapse-title-font-size,var(--td-font-size-m,32rpx));}
.class-title--disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
.class-note--disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
.class-right-icon--disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}

View File

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

View File

@@ -0,0 +1 @@
const props={content:{type:String},disabled:{type:null,value:void 0},expandIcon:{type:null,value:void 0},header:{type:String},headerLeftIcon:{type:String},headerRightContent:{type:String},placement:{type:String,value:"bottom"},value:{type:null}};export default props;

View File

@@ -0,0 +1,34 @@
export interface TdCollapsePanelProps {
content?: {
type: StringConstructor;
value?: string;
};
disabled?: {
type: BooleanConstructor;
value?: boolean;
};
expandIcon?: {
type: BooleanConstructor;
value?: boolean;
};
header?: {
type: StringConstructor;
value?: string;
};
headerLeftIcon?: {
type: StringConstructor;
value?: string;
};
headerRightContent?: {
type: StringConstructor;
value?: string;
};
placement?: {
type: StringConstructor;
value?: 'bottom' | 'top';
};
value?: {
type: null;
value?: string | number;
};
}

View File

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