This commit is contained in:
sjk
2025-11-17 14:11:46 +08:00
commit ad4a600af9
1659 changed files with 171560 additions and 0 deletions

View File

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

View File

@@ -0,0 +1 @@
const props={content:{type:String,value:""},icon:{type:String},status:{type:String,value:"default"},title:{type:String,value:""}};export default props;

View File

@@ -0,0 +1,34 @@
import { SuperComponent, RelationsOptions } from '../common/src/index';
export default class StepItem extends SuperComponent {
options: {
multipleSlots: boolean;
};
relations: RelationsOptions;
externalClasses: string[];
properties: import("./type").TdStepItemProps;
data: {
classPrefix: string;
prefix: string;
index: number;
isDot: boolean;
curStatus: string;
layout: string;
isLastChild: boolean;
sequence: string;
};
observers: {
status(value: any): void;
};
methods: {
updateStatus({ current, currentStatus, index, theme, layout, items, sequence }: {
current: any;
currentStatus: any;
index: any;
theme: any;
layout: any;
items: any;
sequence: any;
}): void;
onTap(): void;
};
}

View File

@@ -0,0 +1 @@
import{__decorate}from"tslib";import{wxComponent,SuperComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-steps-item`;let StepItem=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.relations={"../steps/steps":{type:"parent"}},this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-title`,`${prefix}-class-description`,`${prefix}-class-extra`],this.properties=props,this.data={classPrefix:name,prefix:prefix,index:0,isDot:!1,curStatus:"",layout:"vertical",isLastChild:!1,sequence:"positive"},this.observers={status(t){const{curStatus:e}=this.data;""!==e&&t!==e&&this.setData({curStatus:t})}},this.methods={updateStatus({current:t,currentStatus:e,index:s,theme:i,layout:r,items:o,sequence:a}){let p=this.data.status;"default"===p&&(s<Number(t)?p="finish":s===Number(t)&&(p=e)),this.setData({curStatus:p,index:s,isDot:"dot"===i,layout:r,theme:i,sequence:a,isLastChild:s===("positive"===a?o.length-1:0)})},onTap(){this.$parent.handleClick(this.data.index)}}}};StepItem=__decorate([wxComponent()],StepItem);export default StepItem;

View File

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

View File

@@ -0,0 +1 @@
<wxs src="../common/utils.wxs" module="_"/><wxs src="./step-item.wxs" module="t"/><view style="{{_._style([style, customStyle])}}" class="{{_.cls(classPrefix, [layout, ['readonly', readonly]])}} class {{prefix}}-class" bind:tap="onTap" aria-role="{{ariaRole || readonly ? 'option' : 'button'}}" aria-label="{{ariaLabel || t.getAriaLabel(index, title, content)}}" aria-current="{{curStatus == 'process'? 'step': ''}}"><view class="{{_.cls(classPrefix + '__anchor', [layout])}}" aria-hidden="true"><view wx:if="{{isDot}}" class="{{_.cls(classPrefix + '__dot', [curStatus])}}"/><view wx:elif="{{icon}}" class="{{_.cls(classPrefix + '__icon', [curStatus])}}"><slot wx:if="{{icon == 'slot'}}" name="icon"/><t-icon wx:else name="{{icon}}" size="44rpx"/></view><view wx:else class="{{_.cls(classPrefix + '__circle', [curStatus])}}"><t-icon wx:if="{{curStatus == 'finish'}}" name="check"/><t-icon wx:elif="{{curStatus == 'error'}}" name="close"/><block wx:else>{{index + 1}}</block></view></view><view class="{{_.cls(classPrefix + '__content', [layout, ['last', isLastChild]])}} {{prefix}}-class-content" aria-hidden="true"><slot/><view class="{{_.cls(classPrefix + '__title', [curStatus, layout])}} {{prefix}}-class-title"><block wx:if="{{title}}">{{ title }}</block><slot name="title"/><slot wx:if="{{layout === 'vertical'}}" name="title-right"/></view><view class="{{_.cls(classPrefix + '__description', [layout])}} {{prefix}}-class-description"><block wx:if="{{content}}">{{ content }}</block><slot name="content"/></view><view class="{{_.cls(classPrefix + '__extra', [layout])}} {{prefix}}-class-extra"><slot name="extra"/></view></view><view wx:if="{{!isLastChild}}" class="{{_.cls(classPrefix + '__line', [curStatus, layout, theme, sequence])}}" aria-hidden="true"/></view>

View File

@@ -0,0 +1,7 @@
function getAriaLabel(index, title, content) {
return '第' + (index + 1) + '步,' + title + '' + content;
}
module.exports = {
getAriaLabel: getAriaLabel,
};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,19 @@
export interface TdStepItemProps {
content?: {
type: StringConstructor;
value?: string;
};
icon?: {
type: StringConstructor;
value?: string;
};
status?: {
type: StringConstructor;
value?: StepStatus;
};
title?: {
type: StringConstructor;
value?: string;
};
}
export declare type StepStatus = 'default' | 'process' | 'finish' | 'error';

View File

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