初始化项目, 添加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,26 @@
import { SuperComponent } from '../common/src/index';
export default class Link extends SuperComponent {
externalClasses: string[];
properties: import("./type").TdLinkProps;
options: {
multipleSlots: boolean;
};
data: {
prefix: string;
classPrefix: string;
};
observers: {
'theme, disabled, size, underline, navigatorProps'(): void;
prefixIcon(v: any): void;
suffixIcon(v: any): void;
};
lifetimes: {
attached(): void;
};
methods: {
setClass(): void;
onSuccess(e: any): void;
onFail(e: any): void;
onComplete(e: any): 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{calcIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-link`;let Link=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-hover`,`${prefix}-class-prefix-icon`,`${prefix}-class-content`,`${prefix}-class-suffix-icon`],this.properties=props,this.options={multipleSlots:!0},this.data={prefix:prefix,classPrefix:name},this.observers={"theme, disabled, size, underline, navigatorProps"(){this.setClass()},prefixIcon(e){this.setData({_prefixIcon:calcIcon(e)})},suffixIcon(e){this.setData({_suffixIcon:calcIcon(e)})}},this.lifetimes={attached(){this.setClass()}},this.methods={setClass(){const{theme:e,size:s,underline:i,navigatorProps:t,disabled:o}=this.properties,n=[name,`${name}--${e}`,`${name}--${s}`],{url:r,appId:a,shortLink:p,target:c,openType:l}=null!=t?t:{},m=!(r||"miniProgram"===c&&(a||p));i&&n.push(`${name}--underline`),(t&&m&&!["navigateBack","exit"].includes(l)||o)&&n.push(`${name}--disabled`),this.setData({className:n.join(" ")})},onSuccess(e){this.triggerEvent("success",e)},onFail(e){this.triggerEvent("fail",e)},onComplete(e){this.triggerEvent("complete",e)}}}};Link=__decorate([wxComponent()],Link);export default Link;

View File

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

View File

@@ -0,0 +1 @@
<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><navigator class="{{className}} class {{prefix}}-class" style="{{_._style([style, customStyle])}}" target="{{navigatorProps.target}}" url="{{ !disabled && navigatorProps.url}}" open-type="{{navigatorProps.openType || 'navigate'}}" delta="{{navigatorProps.delta}}" app-id="{{navigatorProps.appId}}" path="{{navigatorProps.path}}" extra-data="{{navigatorProps.extraData}}" version="{{navigatorProps.version}}" short-link="{{navigatorProps.shortLink}}" hover-class="{{ hover && !disabled && classPrefix + '--hover' }} {{prefix}}-class-hover {{navigatorProps.hoverClass}}" hover-stop-propagation="navigatorProps.hoverStopPropagation" hover-start-time="{{navigatorProps.hoverStartTime}}" hover-stay-time="{{navigatorProps.hoverStayTime}}" bindsuccess="onSuccess" bindfail="onFail" bindcomplete="onComplete" aria-disabled="{{disabled}}"><view class="{{classPrefix}}__prefix-icon {{prefix}}-class-prefix-icon"><slot name="prefix-icon"/><template wx:if="{{_prefixIcon}}" is="icon" data="{{tClass: prefix + '-class-prefix-icon', ariaHidden: true, ..._prefixIcon }}"/></view><view class="{{classPrefix}}__content {{prefix}}-class-content"><block wx:if="{{content}}">{{content}}</block><slot name="content"/><slot/></view><view class="{{classPrefix}}__suffix-icon {{prefix}}-class-suffix-icon"><slot name="suffix-icon"/><template wx:if="{{_suffixIcon}}" is="icon" data="{{tClass: prefix + '-class-suffix-icon', ariaHidden: true, ..._suffixIcon }}"/></view></navigator>

View File

@@ -0,0 +1,35 @@
@import '../common/style/index.wxss';.t-link--small .t-link__content{font-size:24rpx;line-height:40rpx;}
.t-link--small .t-link__prefix-icon,.t-link--small .t-link__suffix-icon{font-size:28rpx;}
.t-link--medium .t-link__content{font-size:28rpx;line-height:44rpx;}
.t-link--medium .t-link__prefix-icon,.t-link--medium .t-link__suffix-icon{font-size:32rpx;}
.t-link--large .t-link__content{font-size:32rpx;line-height:48rpx;}
.t-link--large .t-link__prefix-icon,.t-link--large .t-link__suffix-icon{font-size:36rpx;}
.t-link--primary{color:var(--td-link-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
.t-link--primary.t-link--underline::after{border-color:var(--td-link-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
.t-link--primary.t-link--disabled{color:var(--td-link-primary-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
.t-link--primary.t-link--hover{color:var(--td-link-primary-active-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
.t-link--primary.t-link--hover.t-link--underline::after{border-color:var(--td-link-primary-active-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
.t-link--success{color:var(--td-link-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
.t-link--success.t-link--underline::after{border-color:var(--td-link-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
.t-link--success.t-link--disabled{color:var(--td-link-success-disabled-color,var(--td-success-color-disabled,var(--td-success-color-3,#92dab2)));}
.t-link--success.t-link--hover{color:var(--td-link-success-active-color,var(--td-success-color-active,var(--td-success-color-6,#008858)));}
.t-link--success.t-link--hover.t-link--underline::after{border-color:var(--td-link-success-active-color,var(--td-success-color-active,var(--td-success-color-6,#008858)));}
.t-link--warning{color:var(--td-link-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
.t-link--warning.t-link--underline::after{border-color:var(--td-link-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
.t-link--warning.t-link--disabled{color:var(--td-link-warning-disabled-color,var(--td-warning-color-disabled,var(--td-warning-color-3,#ffb98c)));}
.t-link--warning.t-link--hover{color:var(--td-link-warning-active-color,var(--td-warning-color-active,var(--td-warning-color-6,#be5a00)));}
.t-link--warning.t-link--hover.t-link--underline::after{border-color:var(--td-link-warning-active-color,var(--td-warning-color-active,var(--td-warning-color-6,#be5a00)));}
.t-link--default{color:var(--td-link-default-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
.t-link--default.t-link--underline::after{border-color:var(--td-link-default-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
.t-link--default.t-link--disabled{color:var(--td-link-default-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
.t-link--default.t-link--hover{color:var(--td-link-default-active-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
.t-link--default.t-link--hover.t-link--underline::after{border-color:var(--td-link-default-active-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
.t-link--danger{color:var(--td-link-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
.t-link--danger.t-link--underline::after{border-color:var(--td-link-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
.t-link--danger.t-link--disabled{color:var(--td-link-danger-disabled-color,var(--td-error-color-disabled,var(--td-error-color-3,#ffb9b0)));}
.t-link--danger.t-link--hover{color:var(--td-link-danger-active-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
.t-link--danger.t-link--hover.t-link--underline::after{border-color:var(--td-link-danger-active-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
.t-link{position:relative;display:flex;align-items:center;box-sizing:content-box;}
.t-link--underline::after{content:'';position:absolute;left:0;right:0;height:0;bottom:0;opacity:1;border-bottom:2rpx solid #cd0be7;}
.t-link__prefix-icon:not(:empty)+.t-link__content:not(:empty){padding-left:8rpx;}
.t-link__content:not(:empty)+.t-link__suffix-icon:not(:empty){padding-left:8rpx;}

View File

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

View File

@@ -0,0 +1 @@
const props={content:{type:String},disabled:{type:Boolean,value:!1},hover:{type:Boolean},navigatorProps:{type:Object},prefixIcon:{type:null},size:{type:String,value:"medium"},suffixIcon:{type:null},theme:{type:String,value:"default"},underline:{type:Boolean}};export default props;

View File

@@ -0,0 +1,39 @@
import { SizeEnum } from '../common/common';
export interface TdLinkProps {
content?: {
type: StringConstructor;
value?: string;
};
disabled?: {
type: BooleanConstructor;
value?: boolean;
};
hover?: {
type: BooleanConstructor;
value?: boolean;
};
navigatorProps?: {
type: ObjectConstructor;
value?: object;
};
prefixIcon?: {
type: null;
value?: string | object;
};
size?: {
type: StringConstructor;
value?: SizeEnum;
};
suffixIcon?: {
type: null;
value?: string | object;
};
theme?: {
type: StringConstructor;
value?: 'default' | 'primary' | 'danger' | 'warning' | 'success';
};
underline?: {
type: BooleanConstructor;
value?: boolean;
};
}

View File

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