初始化项目, 添加TDesign等包
This commit is contained in:
3
miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.d.ts
vendored
Normal file
3
miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import { TdRadioProps } from './type';
|
||||
declare const props: TdRadioProps;
|
||||
export default props;
|
||||
@@ -0,0 +1 @@
|
||||
const props={allowUncheck:{type:Boolean,value:!1},block:{type:Boolean,value:!0},checked:{type:Boolean,value:null},defaultChecked:{type:Boolean,value:!1},content:{type:String},contentDisabled:{type:Boolean,value:!1},disabled:{type:null,value:void 0},icon:{type:null,value:"circle"},label:{type:String},maxContentRow:{type:Number,value:5},maxLabelRow:{type:Number,value:3},name:{type:String,value:""},placement:{type:String},readonly:{type:null,value:void 0},value:{type:null,value:!1}};export default props;
|
||||
107
miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.d.ts
vendored
Normal file
107
miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.d.ts
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
import { SuperComponent, RelationsOptions } from '../common/src/index';
|
||||
export default class Radio extends SuperComponent {
|
||||
externalClasses: string[];
|
||||
behaviors: string[];
|
||||
relations: RelationsOptions;
|
||||
options: {
|
||||
multipleSlots: boolean;
|
||||
};
|
||||
lifetimes: {
|
||||
attached(): void;
|
||||
};
|
||||
properties: {
|
||||
borderless: {
|
||||
type: BooleanConstructor;
|
||||
value: boolean;
|
||||
};
|
||||
tId: {
|
||||
type: StringConstructor;
|
||||
};
|
||||
allowUncheck?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
block?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
checked?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
defaultChecked?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
content?: {
|
||||
type: StringConstructor;
|
||||
value?: string;
|
||||
};
|
||||
contentDisabled?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
disabled?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
icon?: {
|
||||
type: null;
|
||||
value?: string[] | "circle" | "line" | "dot";
|
||||
};
|
||||
label?: {
|
||||
type: StringConstructor;
|
||||
value?: string;
|
||||
};
|
||||
maxContentRow?: {
|
||||
type: NumberConstructor;
|
||||
value?: number;
|
||||
};
|
||||
maxLabelRow?: {
|
||||
type: NumberConstructor;
|
||||
value?: number;
|
||||
};
|
||||
name?: {
|
||||
type: StringConstructor;
|
||||
value?: string;
|
||||
};
|
||||
placement?: {
|
||||
type: StringConstructor;
|
||||
value?: "left" | "right";
|
||||
};
|
||||
readonly?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
value?: {
|
||||
type: null;
|
||||
value?: import("./type").RadioValue;
|
||||
};
|
||||
};
|
||||
controlledProps: {
|
||||
key: string;
|
||||
event: string;
|
||||
}[];
|
||||
data: {
|
||||
prefix: string;
|
||||
classPrefix: string;
|
||||
customIcon: boolean;
|
||||
slotIcon: boolean;
|
||||
optionLinked: boolean;
|
||||
iconVal: any[];
|
||||
_placement: string;
|
||||
_disabled: boolean;
|
||||
_readonly: boolean;
|
||||
};
|
||||
observers: {
|
||||
disabled(v: any): void;
|
||||
readonly(v: any): void;
|
||||
};
|
||||
methods: {
|
||||
handleTap(e: any): void;
|
||||
doChange(): void;
|
||||
init(): void;
|
||||
setDisabled(disabled: Boolean): void;
|
||||
setReadonly(readonly: Boolean): void;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
import{__decorate}from"tslib";import config from"../common/config";import{SuperComponent,wxComponent}from"../common/src/index";import Props from"./props";const{prefix:prefix}=config,name=`${prefix}-radio`;let Radio=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-label`,`${prefix}-class-icon`,`${prefix}-class-content`,`${prefix}-class-border`],this.behaviors=["wx://form-field"],this.relations={"../radio-group/radio-group":{type:"ancestor",linked(e){e.data.borderless&&this.setData({borderless:!0})}}},this.options={multipleSlots:!0},this.lifetimes={attached(){this.init()}},this.properties=Object.assign(Object.assign({},Props),{borderless:{type:Boolean,value:!1},tId:{type:String}}),this.controlledProps=[{key:"checked",event:"change"}],this.data={prefix:prefix,classPrefix:name,customIcon:!1,slotIcon:!1,optionLinked:!1,iconVal:[],_placement:"",_disabled:!1,_readonly:!1},this.observers={disabled(e){this.setData({_disabled:e})},readonly(e){this.setData({_readonly:e})}},this.methods={handleTap(e){const{_disabled:t,_readonly:a,contentDisabled:o}=this.data,{target:s}=e.currentTarget.dataset;t||a||"text"===s&&o||this.doChange()},doChange(){var e;const{value:t,checked:a,allowUncheck:o}=this.data,s=Boolean(o||(null===(e=this.$parent)||void 0===e?void 0:e.data.allowUncheck));this.$parent?this.$parent.updateValue(a&&s?null:t):this._trigger("change",{checked:!s||!a})},init(){var e,t,a,o;const{icon:s}=this.data,i=Array.isArray((null===(e=this.$parent)||void 0===e?void 0:e.icon)||s);this.setData({customIcon:i,slotIcon:"slot"===s,iconVal:i?(null===(t=this.$parent)||void 0===t?void 0:t.icon)||s:[],_placement:this.data.placement||(null===(o=null===(a=this.$parent)||void 0===a?void 0:a.data)||void 0===o?void 0:o.placement)||"left"})},setDisabled(e){this.setData({_disabled:this.data.disabled||e})},setReadonly(e){this.setData({_readonly:this.data.readonly||e})}}}};Radio=__decorate([wxComponent()],Radio);export default Radio;
|
||||
@@ -0,0 +1 @@
|
||||
{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
|
||||
@@ -0,0 +1 @@
|
||||
<wxs src="../common/utils.wxs" module="_"/><view id="{{tId}}" style="{{_._style([style, customStyle])}}" class="{{_.cls(classPrefix, [_placement, ['block', block], ['disabled', _disabled]])}} class {{prefix}}-class" disabled="{{_disabled}}" aria-role="radio" aria-checked="{{checked}}" aria-label="{{label + content}}" aria-disabled="{{_disabled}}" tabindex="{{tabindex}}" mut-bind:tap="handleTap"><view class="{{_.cls(classPrefix + '__icon', [_placement, ['checked', checked], ['disabled', _disabled]])}} {{prefix}}-class-icon"><slot name="icon" wx:if="{{slotIcon}}"/><view wx:elif="{{customIcon}}" class="{{classPrefix}}__image"><image src="{{checked ? iconVal[0] : iconVal[1]}}" class="{{classPrefix}}-icon__image" webp/></view><block wx:else><t-icon wx:if="{{checked && (icon == 'circle' || icon == 'line')}}" name="{{icon == 'circle' ? 'check-circle-filled' : 'check'}}" class="{{classPrefix}}__icon-wrap"/><view wx:if="{{checked && icon == 'dot'}}" class="{{_.cls(classPrefix + '__icon-' + icon, [['disabled', _disabled]])}}"/><view wx:if="{{!checked && (icon == 'circle' || icon == 'dot')}}" class="{{_.cls(classPrefix + '__icon-circle', [['disabled', _disabled]])}}"/><view wx:if="{{!checked && icon == 'line'}}" class="placeholder"></view></block></view><view class="{{classPrefix}}__content" data-target="text" mut-bind:tap="handleTap"><view class="{{_.cls(classPrefix + '__title', [['disabled', _disabled], ['checked', checked]])}} {{prefix}}-class-label" style="-webkit-line-clamp:{{maxLabelRow}}"><block wx:if="{{label}}">{{label}}</block><slot/><slot name="label"/></view><view class="{{_.cls(classPrefix + '__description', [['disabled', _disabled], ['checked', checked]])}} {{prefix}}-class-content" style="-webkit-line-clamp:{{maxContentRow}}"><block wx:if="{{content}}">{{content}}</block><slot name="content"/></view></view><view wx:if="{{!borderless}}" class="{{_.cls(classPrefix + '__border', [_placement])}} {{prefix}}-class-border"/></view>
|
||||
@@ -0,0 +1,35 @@
|
||||
@import '../common/style/index.wxss';.limit-title-row{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
|
||||
.t-radio{position:relative;display:inline-flex;vertical-align:middle;font-size:var(--td-radio-font-size,32rpx);background:var(--td-radio-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
|
||||
.t-radio:focus{outline:0;}
|
||||
.t-radio--block{display:flex;padding:var(--td-radio-vertical-padding,32rpx);}
|
||||
.t-radio--right{flex-direction:row-reverse;}
|
||||
.t-radio__icon{position:relative;margin-top:calc((var(--td-radio-label-line-height,48rpx) - var(--td-radio-icon-size,48rpx))/ 2);width:var(--td-radio-icon-size,48rpx);height:var(--td-radio-icon-size,48rpx);font-size:var(--td-radio-icon-size,48rpx);color:var(--td-radio-icon-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));overflow:hidden;}
|
||||
.t-radio__icon:empty{display:none;}
|
||||
.t-radio__icon--left{margin-right:16rpx;}
|
||||
.t-radio__icon--checked{color:var(--td-radio-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
|
||||
.t-radio__icon--disabled{cursor:not-allowed;color:var(--td-radio-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
|
||||
.t-radio__icon-circle{width:var(--td-radio-icon-size,48rpx);height:var(--td-radio-icon-size,48rpx);box-sizing:border-box;}
|
||||
.t-radio__icon-circle::after{content:'';width:calc(200% - 6rpx);height:calc(200% - 6rpx);border-radius:50%;border:3px solid var(--td-radio-icon-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);box-sizing:border-box;}
|
||||
.t-radio__icon-circle--disabled::after{background:var(--td-radio-icon-disabled-bg-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
|
||||
.t-radio__icon-line::after,.t-radio__icon-line::before{content:'';display:block;position:absolute;width:5rpx;border-radius:2rpx;background:var(--td-radio-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));transform-origin:top center;}
|
||||
.t-radio__icon-line::before{height:16rpx;left:8rpx;top:22rpx;transform:rotate(-45deg);}
|
||||
.t-radio__icon-line::after{height:26rpx;right:8rpx;top:14rpx;transform:rotate(45deg);}
|
||||
.t-radio__icon-line--disabled::after,.t-radio__icon-line--disabled::before{background:var(--td-radio-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
|
||||
.t-radio__icon-dot{width:calc((var(--td-radio-icon-size,48rpx) - 6rpx) * 2);height:calc((var(--td-radio-icon-size,48rpx) - 6rpx) * 2);border:6rpx solid var(--td-radio-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);box-sizing:border-box;display:flex;align-items:center;justify-content:center;}
|
||||
.t-radio__icon-dot::after{content:'';display:block;width:var(--td-radio-icon-size,48rpx);height:var(--td-radio-icon-size,48rpx);background:var(--td-radio-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-radius:50%;}
|
||||
.t-radio__icon-dot--disabled{border-color:var(--td-radio-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
|
||||
.t-radio__icon-dot--disabled::after{background:var(--td-radio-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
|
||||
.t-radio__image{line-height:var(--td-radio-icon-size,48rpx);}
|
||||
.t-radio-icon__image{height:var(--td-radio-icon-size,48rpx);width:var(--td-radio-icon-size,48rpx);vertical-align:sub;}
|
||||
.t-radio__content{flex:1;}
|
||||
.t-radio__content:empty{display:none;}
|
||||
.t-radio__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--td-radio-label-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));line-height:var(--td-radio-label-line-height,48rpx);}
|
||||
.t-radio__title--checked{color:var(--td-radio-label-checked-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
|
||||
.t-radio__title--disabled{cursor:not-allowed;color:var(--td-radio-label-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
|
||||
.t-radio__description{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--td-radio-content-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));font-size:var(--td-radio-content-font-size,28rpx);line-height:var(--td-radio-content-line-height,44rpx);}
|
||||
.t-radio__description--checked{color:var(--td-radio-content-checked-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));}
|
||||
.t-radio__description--disabled{cursor:not-allowed;color:var(--td-radio-content-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
|
||||
.t-radio__description:empty{display:none;}
|
||||
.t-radio__title+.t-radio__description{margin-top:8rpx;}
|
||||
.t-radio__border{position:absolute;bottom:0;height:1px;background:var(--td-radio-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));left:96rpx;right:0;transform:scaleY(.5);}
|
||||
.t-radio__border--right{left:32rpx;}
|
||||
63
miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.d.ts
vendored
Normal file
63
miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.d.ts
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
export interface TdRadioProps<T = RadioValue> {
|
||||
allowUncheck?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
block?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
checked?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
defaultChecked?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
content?: {
|
||||
type: StringConstructor;
|
||||
value?: string;
|
||||
};
|
||||
contentDisabled?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
disabled?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
icon?: {
|
||||
type: null;
|
||||
value?: 'circle' | 'line' | 'dot' | Array<string>;
|
||||
};
|
||||
label?: {
|
||||
type: StringConstructor;
|
||||
value?: string;
|
||||
};
|
||||
maxContentRow?: {
|
||||
type: NumberConstructor;
|
||||
value?: number;
|
||||
};
|
||||
maxLabelRow?: {
|
||||
type: NumberConstructor;
|
||||
value?: number;
|
||||
};
|
||||
name?: {
|
||||
type: StringConstructor;
|
||||
value?: string;
|
||||
};
|
||||
placement?: {
|
||||
type: StringConstructor;
|
||||
value?: 'left' | 'right';
|
||||
};
|
||||
readonly?: {
|
||||
type: BooleanConstructor;
|
||||
value?: boolean;
|
||||
};
|
||||
value?: {
|
||||
type: null;
|
||||
value?: T;
|
||||
};
|
||||
}
|
||||
export declare type RadioValue = string | number | boolean;
|
||||
@@ -0,0 +1 @@
|
||||
export{};
|
||||
Reference in New Issue
Block a user