初始化项目, 添加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,3 @@
import { TdSideBarItemProps } from './type';
declare const props: TdSideBarItemProps;
export default props;

View File

@@ -0,0 +1 @@
const props={badgeProps:{type:Object},disabled:{type:Boolean,value:!1},icon:{type:null},label:{type:String,value:""},value:{type:null}};export default props;

View File

@@ -0,0 +1,45 @@
import { SuperComponent, RelationsOptions } from '../common/src/index';
export default class SideBarItem extends SuperComponent {
externalClasses: string[];
properties: {
tId: {
type: StringConstructor;
};
badgeProps?: {
type: ObjectConstructor;
value?: import("../badge").BadgeProps;
};
disabled?: {
type: BooleanConstructor;
value?: boolean;
};
icon?: {
type: null;
value?: string | object;
};
label?: {
type: StringConstructor;
value?: string;
};
value?: {
type: null;
value?: string | number;
};
};
relations: RelationsOptions;
observers: {
icon(v: any): void;
disabled(v: any): void;
};
data: {
classPrefix: string;
prefix: string;
active: boolean;
isPre: boolean;
isNext: boolean;
};
methods: {
updateActive(value: any): void;
handleClick(): 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";const{prefix:prefix}=config,name=`${prefix}-side-bar-item`;let SideBarItem=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.properties=Object.assign(Object.assign({},props),{tId:{type:String}}),this.relations={"../side-bar/side-bar":{type:"parent",linked(e){this.parent=e,this.updateActive(e.data.value)}}},this.observers={icon(e){this.setData({_icon:"string"==typeof e?{name:e}:e})},disabled(e){this.setData({active:!e&&this.data.active})}},this.data={classPrefix:name,prefix:prefix,active:!1,isPre:!1,isNext:!1},this.methods={updateActive(e){const t=e===this.data.value&&!this.data.disabled;this.setData({active:t})},handleClick(){var e;if(this.data.disabled)return;const{value:t,label:i}=this.data;null===(e=this.parent)||void 0===e||e.doChange({value:t,label:i})}}}};SideBarItem=__decorate([wxComponent()],SideBarItem);export default SideBarItem;

View File

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

View File

@@ -0,0 +1 @@
<import src="../common/template/badge"/><import src="../common/template/icon"/><wxs src="../common/utils.wxs" module="_"/><view id="{{tId}}" class="{{_.cls(classPrefix, [['active', active], ['disabled', disabled]])}} class {{prefix}}-class" style="{{_._style([style, customStyle])}}" bind:tap="handleClick" aria-role="button" aria-label="{{ active ? '已选中,' + label : label}}" aria-label="{{ ariaLabel || (badgeProps.dot || badgeProps.count ? (active ? '已选中,' + label + _.getBadgeAriaLabel({ ...badgeProps }) : label + _.getBadgeAriaLabel({ ...badgeProps })) : '') }}" aria-disabled="{{disabled}}"><block wx:if="{{active}}"><view class="{{classPrefix}}__line"></view><view class="{{classPrefix}}__prefix"></view><view class="{{classPrefix}}__suffix"></view></block><template wx:if="{{_icon}}" is="icon" data="{{ tClass: classPrefix + '__icon', ..._icon }}"/><block wx:if="{{badgeProps}}"><template is="badge" data="{{ ...badgeProps, content: label }}"/></block><block wx:else>{{label}}</block><slot/></view>

View File

@@ -0,0 +1,11 @@
@import '../common/style/index.wxss';.t-side-bar-item{display:flex;align-items:center;position:relative;padding:32rpx;font-size:var(--td-side-bar-font-size,32rpx);color:var(--td-side-bar-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background:var(--td-side-bar-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));min-height:var(--td-side-bar-item-height,auto);box-sizing:border-box;white-space:wrap;line-height:var(--td-side-bar-item-line-height,48rpx);}
.t-side-bar-item--active{font-weight:600;background:var(--td-bg-color-container,var(--td-font-white-1,#fff));color:var(--td-side-bar-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));--td-badge-content-text-color:var(--td-side-bar-active-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));}
.t-side-bar-item__icon{font-size:var(--td-side-bar-icon-size,40rpx);margin-right:4rpx;}
.t-side-bar-item__prefix,.t-side-bar-item__suffix{z-index:1;position:absolute;right:0;width:100%;height:calc(var(--td-side-bar-border-radius,18rpx) * 2);background:var(--td-bg-color-container,var(--td-font-white-1,#fff));pointer-events:none;}
.t-side-bar-item__prefix::after,.t-side-bar-item__suffix::after{content:'';display:block;width:100%;height:100%;background-color:var(--td-side-bar-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
.t-side-bar-item__prefix{top:calc(var(--td-side-bar-border-radius,18rpx) * -2);}
.t-side-bar-item__prefix::after{border-bottom-right-radius:var(--td-side-bar-border-radius,18rpx);}
.t-side-bar-item__suffix{bottom:calc(var(--td-side-bar-border-radius,18rpx) * -2);}
.t-side-bar-item__suffix::after{border-top-right-radius:var(--td-side-bar-border-radius,18rpx);}
.t-side-bar-item--disabled{color:var(--td-side-bar-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));--td-badge-content-text-color:var(--td-side-bar-disabled-color, var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26))));}
.t-side-bar-item__line{width:6rpx;height:28rpx;position:absolute;left:0;top:50%;transform:translateY(-50%);background:var(--td-side-bar-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-radius:8rpx;}

View File

@@ -0,0 +1,23 @@
import { BadgeProps } from '../badge/index';
export interface TdSideBarItemProps {
badgeProps?: {
type: ObjectConstructor;
value?: BadgeProps;
};
disabled?: {
type: BooleanConstructor;
value?: boolean;
};
icon?: {
type: null;
value?: string | object;
};
label?: {
type: StringConstructor;
value?: string;
};
value?: {
type: null;
value?: string | number;
};
}

View File

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