Browse Source

第初版

master
dong 9 months ago
parent
commit
08dfdb637d
100 changed files with 616 additions and 8218 deletions
  1. 68
    93
      api/index.js
  2. 1
    37
      app.js
  3. 46
    26
      app.json
  4. 37
    2
      app.wxss
  5. 0
    235
      ec-canvas/ec-canvas.js
  6. 0
    4
      ec-canvas/ec-canvas.json
  7. 0
    4
      ec-canvas/ec-canvas.wxml
  8. 0
    4
      ec-canvas/ec-canvas.wxss
  9. 0
    4
      ec-canvas/echarts-liquidfill.min.js
  10. 0
    22
      ec-canvas/echarts.js
  11. 0
    120
      ec-canvas/wx-canvas.js
  12. 2
    2
      miniprogram_npm/call-bind/index.js
  13. 0
    13
      miniprogram_npm/dayjs/index.js
  14. 0
    1
      miniprogram_npm/dayjs/index.js.map
  15. 2
    2
      miniprogram_npm/define-data-property/index.js
  16. 2
    2
      miniprogram_npm/es-define-property/index.js
  17. 2
    2
      miniprogram_npm/es-errors/index.js
  18. 4
    4
      miniprogram_npm/function-bind/index.js
  19. 2
    2
      miniprogram_npm/get-intrinsic/index.js
  20. 2
    2
      miniprogram_npm/gopd/index.js
  21. 2
    2
      miniprogram_npm/has-property-descriptors/index.js
  22. 2
    2
      miniprogram_npm/has-proto/index.js
  23. 4
    4
      miniprogram_npm/has-symbols/index.js
  24. 2
    2
      miniprogram_npm/hasown/index.js
  25. 2
    2
      miniprogram_npm/moment/index.js
  26. 4
    4
      miniprogram_npm/object-inspect/index.js
  27. 10
    10
      miniprogram_npm/qs/index.js
  28. 2
    2
      miniprogram_npm/set-function-length/index.js
  29. 2
    2
      miniprogram_npm/side-channel/index.js
  30. 1
    3895
      miniprogram_npm/tdesign-miniprogram/.wechatide.ib.json
  31. 0
    48
      miniprogram_npm/tdesign-miniprogram/action-sheet/README.en-US.md
  32. 0
    136
      miniprogram_npm/tdesign-miniprogram/action-sheet/README.md
  33. 10
    6
      miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts
  34. 1
    104
      miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js
  35. 1
    10
      miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json
  36. 1
    49
      miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml
  37. 29
    169
      miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss
  38. 1
    10
      miniprogram_npm/tdesign-miniprogram/action-sheet/index.js
  39. 1
    46
      miniprogram_npm/tdesign-miniprogram/action-sheet/props.js
  40. 2
    7
      miniprogram_npm/tdesign-miniprogram/action-sheet/show.d.ts
  41. 1
    33
      miniprogram_npm/tdesign-miniprogram/action-sheet/show.js
  42. 1
    51
      miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml
  43. 1
    20
      miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml
  44. 3
    2
      miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts
  45. 1
    1
      miniprogram_npm/tdesign-miniprogram/action-sheet/type.js
  46. 1
    1
      miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.d.ts
  47. 1
    86
      miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.js
  48. 1
    7
      miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.json
  49. 1
    20
      miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxml
  50. 59
    137
      miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxss
  51. 1
    20
      miniprogram_npm/tdesign-miniprogram/avatar-group/props.js
  52. 5
    8
      miniprogram_npm/tdesign-miniprogram/avatar-group/type.d.ts
  53. 1
    1
      miniprogram_npm/tdesign-miniprogram/avatar-group/type.js
  54. 0
    56
      miniprogram_npm/tdesign-miniprogram/avatar/README.en-US.md
  55. 0
    127
      miniprogram_npm/tdesign-miniprogram/avatar/README.md
  56. 1
    2
      miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts
  57. 1
    76
      miniprogram_npm/tdesign-miniprogram/avatar/avatar.js
  58. 1
    9
      miniprogram_npm/tdesign-miniprogram/avatar/avatar.json
  59. 1
    54
      miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml
  60. 12
    8
      miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs
  61. 17
    104
      miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxss
  62. 1
    39
      miniprogram_npm/tdesign-miniprogram/avatar/props.js
  63. 3
    10
      miniprogram_npm/tdesign-miniprogram/avatar/type.d.ts
  64. 1
    1
      miniprogram_npm/tdesign-miniprogram/avatar/type.js
  65. 0
    30
      miniprogram_npm/tdesign-miniprogram/back-top/README.en-US.md
  66. 0
    65
      miniprogram_npm/tdesign-miniprogram/back-top/README.md
  67. 1
    73
      miniprogram_npm/tdesign-miniprogram/back-top/back-top.js
  68. 1
    7
      miniprogram_npm/tdesign-miniprogram/back-top/back-top.json
  69. 1
    17
      miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxml
  70. 10
    91
      miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss
  71. 1
    30
      miniprogram_npm/tdesign-miniprogram/back-top/props.js
  72. 13
    17
      miniprogram_npm/tdesign-miniprogram/back-top/type.d.ts
  73. 1
    1
      miniprogram_npm/tdesign-miniprogram/back-top/type.js
  74. 0
    34
      miniprogram_npm/tdesign-miniprogram/badge/README.en-US.md
  75. 0
    74
      miniprogram_npm/tdesign-miniprogram/badge/README.md
  76. 1
    43
      miniprogram_npm/tdesign-miniprogram/badge/badge.js
  77. 1
    5
      miniprogram_npm/tdesign-miniprogram/badge/badge.json
  78. 1
    44
      miniprogram_npm/tdesign-miniprogram/badge/badge.wxml
  79. 2
    1
      miniprogram_npm/tdesign-miniprogram/badge/badge.wxs
  80. 15
    110
      miniprogram_npm/tdesign-miniprogram/badge/badge.wxss
  81. 1
    3
      miniprogram_npm/tdesign-miniprogram/badge/index.js
  82. 1
    41
      miniprogram_npm/tdesign-miniprogram/badge/props.js
  83. 1
    1
      miniprogram_npm/tdesign-miniprogram/badge/type.js
  84. 0
    219
      miniprogram_npm/tdesign-miniprogram/button/README.en-US.md
  85. 0
    219
      miniprogram_npm/tdesign-miniprogram/button/README.md
  86. 1
    100
      miniprogram_npm/tdesign-miniprogram/button/button.js
  87. 1
    8
      miniprogram_npm/tdesign-miniprogram/button/button.json
  88. 1
    61
      miniprogram_npm/tdesign-miniprogram/button/button.wxml
  89. 129
    477
      miniprogram_npm/tdesign-miniprogram/button/button.wxss
  90. 1
    3
      miniprogram_npm/tdesign-miniprogram/button/index.js
  91. 1
    104
      miniprogram_npm/tdesign-miniprogram/button/props.js
  92. 49
    46
      miniprogram_npm/tdesign-miniprogram/button/type.d.ts
  93. 1
    1
      miniprogram_npm/tdesign-miniprogram/button/type.js
  94. 0
    45
      miniprogram_npm/tdesign-miniprogram/calendar/README.en-US.md
  95. 0
    103
      miniprogram_npm/tdesign-miniprogram/calendar/README.md
  96. 1
    0
      miniprogram_npm/tdesign-miniprogram/calendar/calendar-header.wxml
  97. 18
    2
      miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts
  98. 1
    170
      miniprogram_npm/tdesign-miniprogram/calendar/calendar.js
  99. 1
    9
      miniprogram_npm/tdesign-miniprogram/calendar/calendar.json
  100. 0
    0
      miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxml

+ 68
- 93
api/index.js View File

@@ -1,110 +1,85 @@
1 1
 // api.jshttp://zlink.bjdexn.cn
2
-// const baseUrl = 'https://www.bjdexn.cn:8443';  // 替换为您的接口基础 URL
3
-const baseUrl = 'https://esos-iot.bjdexn.cn';  // 线上
2
+// const baseUrl = 'http://192.168.8.187:9999';  // 替换为您的接口基础 URL
3
+const esosUrl = 'https://esos-iot.bjdexn.cn';  // 线上
4
+const baseUrl = 'https://esos-iot.bjdexn.cn:8443';  // 线上
5
+
4 6
 // const baseUrl = 'http://192.168.8.105:8888';  // 替换为您的接口基础 URL
5
-// 
7
+//  
6 8
 // 封装网络请求方法 
7
-function request(url, method, data) {
9
+// isPublic: true  不检验token
10
+// useEsos: true   使用esosUrl地址
11
+function request(url, method, data, options = {}) {
12
+  const { isPublic = false, useEsos = false } = options;
13
+  
8 14
   return new Promise((resolve, reject) => {
9
-   if (url!='/platform/login') {
15
+    // 动态选择根地址
16
+    const rootUrl = useEsos ? esosUrl : baseUrl;
17
+    const header = {
18
+      'Content-Type': 'application/x-www-form-urlencoded'
19
+    };
20
+
21
+    // 非公共接口需携带 Token
22
+    if (!isPublic) {
23
+      const token = wx.getStorageSync('token');
24
+      if (token) {
25
+        header['Authorization'] = `Bearer ${token}`;
26
+      } else {
27
+        redirectToLogin('请先登录');
28
+        reject({ code: 401, message: '未找到认证 Token' });
29
+        return;
30
+      }
31
+    }
32
+
10 33
     wx.request({
11
-      url: baseUrl + url,
12
-      header: {
13
-        "Cookie":`${wx.getStorageSync('cookies')}`,
14
-        'Content-Type': 'application/x-www-form-urlencoded'},
15
-      method: method,
16
-      data:data,
17
-      success:function(res) {
18
-        console.log(res.cookies.length==0);
19
-        // 请求成功处理
20
-        if (res.statusCode === 200 && res.data.code==0) {
21
-          resolve(res.data);
22
-        } else if(res.statusCode === 320||res.statusCode === 403||res.statusCode === 401||res.statusCode === 400||res.cookies.length==0) {
23
-          wx.clearStorage({
24
-            success: function() {
25
-              // wx.showToast({
26
-              //   title: '缓存清除成功',
27
-              //   icon: 'success'
28
-              // });
29
-              wx.navigateTo({
30
-                url: '/pages/login/index', // 登录页面的路径,注意路径前面加上 '/' 表示从根目录开始
31
-              });
32
-            }
33
-          });
34
-        }else{
34
+      url: rootUrl + url,
35
+      header,
36
+      method,
37
+      data,
38
+      success: (res) => {
39
+        console.log(res);
40
+        // Token 失效或未授权
41
+        if ([320, 400, 401, 403].includes(res.statusCode)) {
42
+          handleTokenInvalid(res.data.msg || '登录已过期');
35 43
           reject(res.data);
36
-          // wx.navigateTo({
37
-          //   url: '/pages/login/index', // 登录页面的路径,注意路径前面加上 '/' 表示从根目录开始
38
-          // });
44
+          return;
39 45
         }
40
-      },
41
-      fail:function(err) {
42
-        console.log(err);
43
-        wx.clearStorage({
44
-          success: function() {
45
-            // wx.showToast({
46
-            //   title: '缓存清除成功',
47
-            //   icon: 'success'
48
-            // });
49
-            wx.navigateTo({
50
-              url: '/pages/login/index', // 登录页面的路径,注意路径前面加上 '/' 表示从根目录开始
51
-            });
52
-          }
53
-        });
54
-      }
55
-    });
56
-   }else{
57
-    wx.request({
58
-      url: baseUrl + url,
59
-      header: {
60
-        'Content-Type': 'application/x-www-form-urlencoded'},
61
-      method: method,
62
-      data:data,
63
-      success:function(res) {
64
-        // 请求成功处理
65
-        if (res.statusCode === 200) {
66
-          resolve(res.data);
46
+
47
+        // 请求成功但业务逻辑错误(如 code != 200)
48
+        if (res.statusCode === 200||res.data.code==0) {
49
+          res.data.code === 200||res.data.code === 0 ? resolve(res.data) : reject(res.data);
67 50
         } else {
68
-          reject(res.data);
51
+          reject(res.data.msg || { code: res.statusCode, message: '请求异常' });
69 52
         }
70 53
       },
71
-      fail:function(err) {
72
-        // wx.navigateTo({
73
-        //   url: '/pages/login/index', // 登录页面的路径,注意路径前面加上 '/' 表示从根目录开始
74
-        // });
54
+      fail: (err) => {
55
+        console.error('请求失败:', err);
56
+        wx.showToast({ title: '网络错误', icon: 'none' });
57
+        reject(err);
75 58
       }
76 59
     });
77
-   }
78
-       
79
-      });
60
+  });
61
+}
62
+
63
+// 跳转到登录页
64
+function redirectToLogin(message = '') {
65
+  wx.clearStorageSync();
66
+  const pages = getCurrentPages();
67
+  const currentRoute = pages[pages.length - 1]?.route || '';
68
+
69
+  // 避免重复跳转
70
+  if (!currentRoute.includes('pages/login/index')) {
71
+    wx.showToast({ title: message, icon: 'none' });
72
+    wx.reLaunch({ url: '/pages/login/index' });
80 73
   }
74
+}
75
+
76
+// 处理 Token 失效
77
+function handleTokenInvalid(message) {
78
+  console.warn('Token 失效:', message);
79
+  redirectToLogin(message || '请重新登录');
80
+}
81 81
 // 导出封装的请求方法
82 82
 module.exports = {
83 83
   request: request
84 84
 };
85
-
86
-// // 在需要使用网络请求的页面中引入封装的 api.js 文件
87
-// const api = require('api.js');
88
-
89
-// // 示例:发送一个 GET 请求
90
-// api.request('/users', 'GET')
91
-//   .then((res) => {
92
-//     console.log('请求成功:', res);
93
-//     // 在这里处理返回的数据
94
-//   })
95
-//   .catch((err) => {
96
-//     console.error('请求失败:', err);
97
-//     // 在这里处理请求失败的情况
98
-//   });
99
-
100
-// // 示例:发送一个 POST 请求
101
-// api.request('/users', 'POST', { name: 'John', age: 30 })
102
-//   .then((res) => {
103
-//     console.log('请求成功:', res);
104
-//     // 在这里处理返回的数据
105
-//   })
106
-//   .catch((err) => {
107
-//     console.error('请求失败:', err);
108
-//     // 在这里处理请求失败的情况
109
-//  });
110
-// 
85
+ 

+ 1
- 37
app.js View File

@@ -12,43 +12,7 @@ App({
12 12
         // 发送 res.code 到后台换取 openId, sessionKey, unionId
13 13
       }
14 14
     })
15
-    wx.getSystemInfo({
16
-      success: res => {
17
-     
18
-        // 手机系统状态栏高度
19
-        wx.setStorageSync('statusBarHeight', res.statusBarHeight)
20
-  
21
-        const platform = res.platform
22
-        const menu =  wx.getMenuButtonBoundingClientRect()
23
-  
24
-        //menu为胶囊,判断是否能读到胶囊位置,读不到则用具体一般数值表示
25
-        if (menu) {
26
-          wx.setStorageSync('menu', menu)
27
-  
28
-          // 导航栏高度
29
-          wx.setStorageSync('navBarHeight', menu.height+(menu.top-res.statusBarHeight) *2 )
30
-  
31
-          // 状态栏加导航栏
32
-  
33
-          wx.setStorageSync('navStatusBarHeight', res.statusBarHeight+ menu.height+(menu.top-res.statusBarHeight) *2 )
34
-  
35
-  
36
-        }else{
37
-          wx.setStorageSync('menu', null)
38
-  
39
-          // 导航栏高度
40
-          wx.setStorageSync('navBarHeight', platform === 'android' ? 48 : 44)
41
-  
42
-           // 状态栏加导航栏
43
-  
44
-           wx.setStorageSync('navStatusBarHeight', res.statusBarHeight+ (platform === 'android' ? 48 : 44) )
45
-  
46
-        }
47
-  
48
-      }, fail(err) {
49
-        console.log(err);
50
-      }
51
-    })
15
+ 
52 16
   },
53 17
   globalData: {
54 18
     userInfo: null

+ 46
- 26
app.json View File

@@ -1,22 +1,37 @@
1 1
 {
2 2
   "pages": [
3 3
     "pages/index/index",
4
-    "pages/login/index",
5
-    "pages/monitor/index",
6
-    "pages/monitorevent/index",
7 4
     "pages/setup/index",
8
-    "pages/details/index",
9
-    "pages/station/index",
5
+    "pages/tool/index",
6
+    "pages/login/index",
7
+    "pages/malfunction/index",
8
+    "pages/workorder/index",
9
+    "pages/workorderdetails/index",
10
+    "pages/workorderstep/index",
11
+    "pages/statistics/index",
12
+    "pages/device/index",
13
+    "pages/personalInfo/index",
10 14
     "pages/setuplevel/index",
11
-    "pages/user/index",
12
-    "pages/powerstation/index",
13
-    "pages/privacy/index",
14
-    "pages/healthy/index",
15
-    "pages/account/index"
15
+    "pages/scheduling/index",
16
+    "pages/privacy/index"
17
+  ],
18
+  "requiredPrivateInfos": [
19
+    "getLocation"
16 20
   ],
21
+  "permission": {
22
+    "scope.userLocation": {
23
+      "desc": "请允许获取位置信息,以便计算距离"
24
+    },
25
+    "scope.setClipboardData": {
26
+      "desc": "用于复制内容到剪贴板,方便用户分享或使用"
27
+    },
28
+    "scope.phoneNumber": {
29
+      "desc": "为了快速完成账号注册与登录,验证您的身份信息,保障账号安全,我们需要获取您的手机号。我们将严格按照隐私政策保护您的信息,不会用于其他用途。"
30
+    }
31
+  },
17 32
   "window": {
18 33
     "navigationBarTextStyle": "black",
19
-    "navigationBarTitleText": "云链智安",
34
+    "navigationBarTitleText": "晟运能源",
20 35
     "navigationBarBackgroundColor": "#ffffff"
21 36
   },
22 37
   "componentFramework": "glass-easel",
@@ -24,21 +39,26 @@
24 39
   "lazyCodeLoading": "requiredComponents",
25 40
   "__usePrivacyCheck__": true,
26 41
   "tabBar": {
27
-    "selectedColor":"#007544",
42
+    "selectedColor": "#0F80DC",
28 43
     "list": [
29 44
       {
30
-      "pagePath": "pages/index/index",
31
-      "text": "概览",
32
-      
33
-      "iconPath": "static/sz.png",
34
-      "selectedIconPath": "static/sz1.png"
35
-    } , {
36
-      "pagePath": "pages/setup/index",
37
-      "text": "设置",
38
-      "iconPath": "static/user1.png",
39
-      "selectedIconPath": "static/user2.png"
40
-    } 
41
-  ]
45
+        "pagePath": "pages/index/index",
46
+        "text": "首页",
47
+        "iconPath": "static/sz3.png",
48
+        "selectedIconPath": "static/sz4.png"
49
+      },
50
+      {
51
+        "pagePath": "pages/tool/index",
52
+        "text": "工单",
53
+        "iconPath": "static/tool.png",
54
+        "selectedIconPath": "static/tool1.png"
55
+      },
56
+      {
57
+        "pagePath": "pages/setup/index",
58
+        "text": "我的",
59
+        "iconPath": "static/user1.png",
60
+        "selectedIconPath": "static/user2.png"
61
+      }
62
+    ]
42 63
   }
43
-  
44
-}
64
+}

+ 37
- 2
app.wxss View File

@@ -10,8 +10,43 @@
10 10
   align-items: center;
11 11
   /* justify-content: space-between; */
12 12
   box-sizing: border-box;
13
+  background-color: #f0f5f5;
13 14
 } 
14 15
 page {
15 16
   /* font-family:"PingFangSC-Thin"; */
16
-   font-size:28rpx;          /*微信小程序中,使用rpx做单位*/
17
-}
17
+   font-size:28rpx;          
18
+   
19
+}
20
+.card {
21
+  width: 100%;
22
+  box-sizing: border-box;
23
+  padding: 20rpx;
24
+  overflow-x: hidden;
25
+  background-color:#ffffff;
26
+  border: 1px solid #ffffff;
27
+  border-radius: 6px;
28
+  box-shadow: 0 0 12px rgb(0 0 0 / 5%);
29
+  margin-top: 20rpx;
30
+}
31
+	/*  */
32
+	@font-face {
33
+		font-family: 'iconfont';
34
+		/* Project id 4935042 */
35
+		src: url('http://at.alicdn.com/t/c/font_4935042_gsrxcrmdcz.woff2?t=1748497918806') format('woff2'),
36
+			url('http://at.alicdn.com/t/c/font_4935042_gsrxcrmdcz.woff?t=1748497918806') format('woff'),
37
+			url('http://at.alicdn.com/t/c/font_4935042_gsrxcrmdcz.ttf?t=1748497918806') format('truetype');
38
+		/* 	src: url('@/font/iconfont.woff2?t=1748497918806') format('woff2'),
39
+				url('@/font/iconfont.woff?t=1748497918806') format('woff'),
40
+				url('@/font/iconfont.ttf?t=1748497918806') format('truetype'); */
41
+	}
42
+
43
+	.test {
44
+		font-family: iconfont;
45
+		margin-left: 20rpx;
46
+	}
47
+
48
+	.testbox {
49
+		font-family: iconfont;
50
+		margin-left: 32rpx;
51
+		margin-right: 10rpx;
52
+	}

+ 0
- 235
ec-canvas/ec-canvas.js View File

@@ -1,235 +0,0 @@
1
-import WxCanvas from './wx-canvas';
2
-import * as echarts from './echarts';
3
-
4
-let ctx;
5
-
6
-function compareVersion(v1, v2) {
7
-  v1 = v1.split('.')
8
-  v2 = v2.split('.')
9
-  const len = Math.max(v1.length, v2.length)
10
-
11
-  while (v1.length < len) {
12
-    v1.push('0')
13
-  }
14
-  while (v2.length < len) {
15
-    v2.push('0')
16
-  }
17
-
18
-  for (let i = 0; i < len; i++) {
19
-    const num1 = parseInt(v1[i])
20
-    const num2 = parseInt(v2[i])
21
-
22
-    if (num1 > num2) {
23
-      return 1
24
-    } else if (num1 < num2) {
25
-      return -1
26
-    }
27
-  }
28
-  return 0
29
-}
30
-
31
-Component({
32
-  properties: {
33
-    canvasId: {
34
-      type: String,
35
-      value: 'ec-canvas'
36
-    },
37
-
38
-    ec: {
39
-      type: Object
40
-    },
41
-
42
-    forceUseOldCanvas: {
43
-      type: Boolean,
44
-      value: false
45
-    }
46
-  },
47
-
48
-  data: {
49
-    isUseNewCanvas: false
50
-  },
51
-
52
-  ready: function () {
53
-    if (!this.data.ec) {
54
-      console.warn('组件需绑定 ec 变量,例:<ec-canvas id="mychart-dom-bar" '
55
-        + 'canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>');
56
-      return;
57
-    }
58
-
59
-    if (!this.data.ec.lazyLoad) {
60
-      this.init();
61
-    }
62
-  },
63
-
64
-  methods: {
65
-    init: function (callback) {
66
-      const version = wx.getSystemInfoSync().SDKVersion
67
-
68
-      const canUseNewCanvas = compareVersion(version, '2.9.0') >= 0;
69
-      const forceUseOldCanvas = this.data.forceUseOldCanvas;
70
-      const isUseNewCanvas = canUseNewCanvas && !forceUseOldCanvas;
71
-      this.setData({ isUseNewCanvas });
72
-
73
-      if (forceUseOldCanvas && canUseNewCanvas) {
74
-        console.warn('开发者强制使用旧canvas,建议关闭');
75
-      }
76
-
77
-      if (isUseNewCanvas) {
78
-        // console.log('微信基础库版本大于2.9.0,开始使用<canvas type="2d"/>');
79
-        // 2.9.0 可以使用 <canvas type="2d"></canvas>
80
-        this.initByNewWay(callback);
81
-      } else {
82
-        const isValid = compareVersion(version, '1.9.91') >= 0
83
-        if (!isValid) {
84
-          console.error('微信基础库版本过低,需大于等于 1.9.91。'
85
-            + '参见:https://github.com/ecomfe/echarts-for-weixin'
86
-            + '#%E5%BE%AE%E4%BF%A1%E7%89%88%E6%9C%AC%E8%A6%81%E6%B1%82');
87
-          return;
88
-        } else {
89
-          // console.warn('建议将微信基础库调整大于等于2.9.0版本。升级后绘图将有更好性能');
90
-          this.initByOldWay(callback);
91
-        }
92
-      }
93
-    },
94
-
95
-    initByOldWay(callback) {
96
-      // 1.9.91 <= version < 2.9.0:原来的方式初始化
97
-      ctx = wx.createCanvasContext(this.data.canvasId, this);
98
-      const canvas = new WxCanvas(ctx, this.data.canvasId, false);
99
-
100
-      echarts.setCanvasCreator(() => {
101
-        return canvas;
102
-      });
103
-      // const canvasDpr = wx.getSystemInfoSync().pixelRatio // 微信旧的canvas不能传入dpr
104
-      const canvasDpr = 1
105
-      var query = wx.createSelectorQuery().in(this);
106
-      query.select('.ec-canvas').boundingClientRect(res => {
107
-        if (typeof callback === 'function') {
108
-          this.chart = callback(canvas, res.width, res.height, canvasDpr);
109
-        }
110
-        else if (this.data.ec && typeof this.data.ec.onInit === 'function') {
111
-          this.chart = this.data.ec.onInit(canvas, res.width, res.height, canvasDpr);
112
-        }
113
-        else {
114
-          this.triggerEvent('init', {
115
-            canvas: canvas,
116
-            width: res.width,
117
-            height: res.height,
118
-            canvasDpr: canvasDpr // 增加了dpr,可方便外面echarts.init
119
-          });
120
-        }
121
-      }).exec();
122
-    },
123
-
124
-    initByNewWay(callback) {
125
-      // version >= 2.9.0:使用新的方式初始化
126
-      const query = wx.createSelectorQuery().in(this)
127
-      query
128
-        .select('.ec-canvas')
129
-        .fields({ node: true, size: true })
130
-        .exec(res => {
131
-          const canvasNode = res[0].node
132
-          this.canvasNode = canvasNode
133
-
134
-          const canvasDpr = wx.getSystemInfoSync().pixelRatio
135
-          const canvasWidth = res[0].width
136
-          const canvasHeight = res[0].height
137
-
138
-          const ctx = canvasNode.getContext('2d')
139
-
140
-          const canvas = new WxCanvas(ctx, this.data.canvasId, true, canvasNode)
141
-          echarts.setCanvasCreator(() => {
142
-            return canvas
143
-          })
144
-
145
-          if (typeof callback === 'function') {
146
-            this.chart = callback(canvas, canvasWidth, canvasHeight, canvasDpr)
147
-          } else if (this.data.ec && typeof this.data.ec.onInit === 'function') {
148
-            this.chart = this.data.ec.onInit(canvas, canvasWidth, canvasHeight, canvasDpr)
149
-          } else {
150
-            this.triggerEvent('init', {
151
-              canvas: canvas,
152
-              width: canvasWidth,
153
-              height: canvasHeight,
154
-              dpr: canvasDpr
155
-            })
156
-          }
157
-        })
158
-    },
159
-    canvasToTempFilePath(opt) {
160
-      if (this.data.isUseNewCanvas) {
161
-        // 新版
162
-        const query = wx.createSelectorQuery().in(this)
163
-        query
164
-          .select('.ec-canvas')
165
-          .fields({ node: true, size: true })
166
-          .exec(res => {
167
-            const canvasNode = res[0].node
168
-            opt.canvas = canvasNode
169
-            wx.canvasToTempFilePath(opt)
170
-          })
171
-      } else {
172
-        // 旧的  
173
-        if (!opt.canvasId) {
174
-          opt.canvasId = this.data.canvasId;
175
-        }
176
-        ctx.draw(true, () => {
177
-          wx.canvasToTempFilePath(opt, this);
178
-        });
179
-      }
180
-    },
181
-
182
-    touchStart(e) {
183
-      if (this.chart && e.touches.length > 0) {
184
-        var touch = e.touches[0];
185
-        var handler = this.chart.getZr().handler;
186
-        handler.dispatch('mousedown', {
187
-          zrX: touch.x,
188
-          zrY: touch.y
189
-        });
190
-        handler.dispatch('mousemove', {
191
-          zrX: touch.x,
192
-          zrY: touch.y
193
-        });
194
-        handler.processGesture(wrapTouch(e), 'start');
195
-      }
196
-    },
197
-
198
-    touchMove(e) {
199
-      if (this.chart && e.touches.length > 0) {
200
-        var touch = e.touches[0];
201
-        var handler = this.chart.getZr().handler;
202
-        handler.dispatch('mousemove', {
203
-          zrX: touch.x,
204
-          zrY: touch.y
205
-        });
206
-        handler.processGesture(wrapTouch(e), 'change');
207
-      }
208
-    },
209
-
210
-    touchEnd(e) {
211
-      if (this.chart) {
212
-        const touch = e.changedTouches ? e.changedTouches[0] : {};
213
-        var handler = this.chart.getZr().handler;
214
-        handler.dispatch('mouseup', {
215
-          zrX: touch.x,
216
-          zrY: touch.y
217
-        });
218
-        handler.dispatch('click', {
219
-          zrX: touch.x,
220
-          zrY: touch.y
221
-        });
222
-        handler.processGesture(wrapTouch(e), 'end');
223
-      }
224
-    }
225
-  }
226
-});
227
-
228
-function wrapTouch(event) {
229
-  for (let i = 0; i < event.touches.length; ++i) {
230
-    const touch = event.touches[i];
231
-    touch.offsetX = touch.x;
232
-    touch.offsetY = touch.y;
233
-  }
234
-  return event;
235
-}

+ 0
- 4
ec-canvas/ec-canvas.json View File

@@ -1,4 +0,0 @@
1
-{
2
-  "component": true,
3
-  "usingComponents": {}
4
-}

+ 0
- 4
ec-canvas/ec-canvas.wxml View File

@@ -1,4 +0,0 @@
1
-<!-- 新的:接口对其了H5 -->
2
-<canvas wx:if="{{isUseNewCanvas}}" type="2d" class="ec-canvas" canvas-id="{{ canvasId }}" bindinit="init" bindtouchstart="{{ ec.disableTouch ? '' : 'touchStart' }}" bindtouchmove="{{ ec.disableTouch ? '' : 'touchMove' }}" bindtouchend="{{ ec.disableTouch ? '' : 'touchEnd' }}"></canvas>
3
-<!-- 旧的 -->
4
-<canvas wx:else class="ec-canvas" canvas-id="{{ canvasId }}" bindinit="init" bindtouchstart="{{ ec.disableTouch ? '' : 'touchStart' }}" bindtouchmove="{{ ec.disableTouch ? '' : 'touchMove' }}" bindtouchend="{{ ec.disableTouch ? '' : 'touchEnd' }}"></canvas>

+ 0
- 4
ec-canvas/ec-canvas.wxss View File

@@ -1,4 +0,0 @@
1
-.ec-canvas {
2
-  width: 100%;
3
-  height: 100%;
4
-}

+ 0
- 4
ec-canvas/echarts-liquidfill.min.js
File diff suppressed because it is too large
View File


+ 0
- 22
ec-canvas/echarts.js
File diff suppressed because it is too large
View File


+ 0
- 120
ec-canvas/wx-canvas.js View File

@@ -1,120 +0,0 @@
1
-export default class WxCanvas {
2
-  constructor(ctx, canvasId, isNew, canvasNode) {
3
-    this.ctx = ctx;
4
-    this.canvasId = canvasId;
5
-    this.chart = null;
6
-    this.isNew = isNew
7
-    if (isNew) {
8
-      this.canvasNode = canvasNode;
9
-    }
10
-    else {
11
-      this._initStyle(ctx);
12
-    }
13
-
14
-    // this._initCanvas(zrender, ctx);
15
-
16
-    this._initEvent();
17
-  }
18
-
19
-  getContext(contextType) {
20
-    if (contextType === '2d') {
21
-      return this.ctx;
22
-    }
23
-  }
24
-
25
-  // canvasToTempFilePath(opt) {
26
-  //   if (!opt.canvasId) {
27
-  //     opt.canvasId = this.canvasId;
28
-  //   }
29
-  //   return wx.canvasToTempFilePath(opt, this);
30
-  // }
31
-
32
-  setChart(chart) {
33
-    this.chart = chart;
34
-  }
35
-
36
-  attachEvent() {
37
-    // noop
38
-  }
39
-
40
-  detachEvent() {
41
-    // noop
42
-  }
43
-
44
-  _initCanvas(zrender, ctx) {
45
-    zrender.util.getContext = function () {
46
-      return ctx;
47
-    };
48
-
49
-    zrender.util.$override('measureText', function (text, font) {
50
-      ctx.font = font || '12px sans-serif';
51
-      return ctx.measureText(text);
52
-    });
53
-  }
54
-
55
-  _initStyle(ctx) {
56
-    var styles = ['fillStyle', 'strokeStyle', 'globalAlpha',
57
-      'textAlign', 'textBaseAlign', 'shadow', 'lineWidth',
58
-      'lineCap', 'lineJoin', 'lineDash', 'miterLimit', 'fontSize'];
59
-
60
-    styles.forEach(style => {
61
-      Object.defineProperty(ctx, style, {
62
-        set: value => {
63
-          if (style !== 'fillStyle' && style !== 'strokeStyle'
64
-            || value !== 'none' && value !== null
65
-          ) {
66
-            ctx['set' + style.charAt(0).toUpperCase() + style.slice(1)](value);
67
-          }
68
-        }
69
-      });
70
-    });
71
-
72
-    ctx.createRadialGradient = () => {
73
-      return ctx.createCircularGradient(arguments);
74
-    };
75
-  }
76
-
77
-  _initEvent() {
78
-    this.event = {};
79
-    const eventNames = [
80
-      {
81
-      wxName: 'touchStart',
82
-      ecName: 'mousedown'
83
-    },
84
-     {
85
-      wxName: 'touchEnd',
86
-      ecName: 'mouseup'
87
-    }, {
88
-      wxName: 'touchEnd',
89
-      ecName: 'click'
90
-    }];
91
-
92
-    eventNames.forEach(name => {
93
-      this.event[name.wxName] = e => {
94
-        const touch = e.touches[0];
95
-        this.chart.getZr().handler.dispatch(name.ecName, {
96
-          zrX: name.wxName === 'tap' ? touch.clientX : touch.x,
97
-          zrY: name.wxName === 'tap' ? touch.clientY : touch.y
98
-        });
99
-      };
100
-    });
101
-  }
102
-
103
-  set width(w) {
104
-    if (this.canvasNode) this.canvasNode.width = w
105
-  }
106
-  set height(h) {
107
-    if (this.canvasNode) this.canvasNode.height = h
108
-  }
109
-
110
-  get width() {
111
-    if (this.canvasNode)
112
-      return this.canvasNode.width
113
-    return 0
114
-  }
115
-  get height() {
116
-    if (this.canvasNode)
117
-      return this.canvasNode.height
118
-    return 0
119
-  }
120
-}

+ 2
- 2
miniprogram_npm/call-bind/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221101, function(require, module, exports) {
7
+__DEFINE__(1755660038316, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var bind = require('function-bind');
@@ -42,7 +42,7 @@ if ($defineProperty) {
42 42
 }
43 43
 
44 44
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
45
-return __REQUIRE__(1729044221101);
45
+return __REQUIRE__(1755660038316);
46 46
 })()
47 47
 //miniprogram-npm-outsideDeps=["function-bind","get-intrinsic","set-function-length","es-errors/type","es-define-property"]
48 48
 //# sourceMappingURL=index.js.map

+ 0
- 13
miniprogram_npm/dayjs/index.js
File diff suppressed because it is too large
View File


+ 0
- 1
miniprogram_npm/dayjs/index.js.map
File diff suppressed because it is too large
View File


+ 2
- 2
miniprogram_npm/define-data-property/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221103, function(require, module, exports) {
7
+__DEFINE__(1755660038317, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var $defineProperty = require('es-define-property');
@@ -63,7 +63,7 @@ module.exports = function defineDataProperty(
63 63
 };
64 64
 
65 65
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
66
-return __REQUIRE__(1729044221103);
66
+return __REQUIRE__(1755660038317);
67 67
 })()
68 68
 //miniprogram-npm-outsideDeps=["es-define-property","es-errors/syntax","es-errors/type","gopd"]
69 69
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/es-define-property/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221104, function(require, module, exports) {
7
+__DEFINE__(1755660038318, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var GetIntrinsic = require('get-intrinsic');
@@ -23,7 +23,7 @@ if ($defineProperty) {
23 23
 module.exports = $defineProperty;
24 24
 
25 25
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
26
-return __REQUIRE__(1729044221104);
26
+return __REQUIRE__(1755660038318);
27 27
 })()
28 28
 //miniprogram-npm-outsideDeps=["get-intrinsic"]
29 29
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/es-errors/index.js View File

@@ -4,14 +4,14 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221105, function(require, module, exports) {
7
+__DEFINE__(1755660038319, function(require, module, exports) {
8 8
 
9 9
 
10 10
 /** @type {import('.')} */
11 11
 module.exports = Error;
12 12
 
13 13
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
14
-return __REQUIRE__(1729044221105);
14
+return __REQUIRE__(1755660038319);
15 15
 })()
16 16
 //miniprogram-npm-outsideDeps=[]
17 17
 //# sourceMappingURL=index.js.map

+ 4
- 4
miniprogram_npm/function-bind/index.js View File

@@ -4,15 +4,15 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221106, function(require, module, exports) {
7
+__DEFINE__(1755660038320, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var implementation = require('./implementation');
11 11
 
12 12
 module.exports = Function.prototype.bind || implementation;
13 13
 
14
-}, function(modId) {var map = {"./implementation":1729044221107}; return __REQUIRE__(map[modId], modId); })
15
-__DEFINE__(1729044221107, function(require, module, exports) {
14
+}, function(modId) {var map = {"./implementation":1755660038321}; return __REQUIRE__(map[modId], modId); })
15
+__DEFINE__(1755660038321, function(require, module, exports) {
16 16
 
17 17
 
18 18
 /* eslint no-invalid-this: 1 */
@@ -99,7 +99,7 @@ module.exports = function bind(that) {
99 99
 };
100 100
 
101 101
 }, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
102
-return __REQUIRE__(1729044221106);
102
+return __REQUIRE__(1755660038320);
103 103
 })()
104 104
 //miniprogram-npm-outsideDeps=[]
105 105
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/get-intrinsic/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221108, function(require, module, exports) {
7
+__DEFINE__(1755660038322, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var undefined;
@@ -366,7 +366,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
366 366
 };
367 367
 
368 368
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
369
-return __REQUIRE__(1729044221108);
369
+return __REQUIRE__(1755660038322);
370 370
 })()
371 371
 //miniprogram-npm-outsideDeps=["es-errors","es-errors/eval","es-errors/range","es-errors/ref","es-errors/syntax","es-errors/type","es-errors/uri","has-symbols","has-proto","function-bind","hasown"]
372 372
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/gopd/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221109, function(require, module, exports) {
7
+__DEFINE__(1755660038323, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var GetIntrinsic = require('get-intrinsic');
@@ -23,7 +23,7 @@ if ($gOPD) {
23 23
 module.exports = $gOPD;
24 24
 
25 25
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
26
-return __REQUIRE__(1729044221109);
26
+return __REQUIRE__(1755660038323);
27 27
 })()
28 28
 //miniprogram-npm-outsideDeps=["get-intrinsic"]
29 29
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/has-property-descriptors/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221110, function(require, module, exports) {
7
+__DEFINE__(1755660038324, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var $defineProperty = require('es-define-property');
@@ -29,7 +29,7 @@ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBu
29 29
 module.exports = hasPropertyDescriptors;
30 30
 
31 31
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
32
-return __REQUIRE__(1729044221110);
32
+return __REQUIRE__(1755660038324);
33 33
 })()
34 34
 //miniprogram-npm-outsideDeps=["es-define-property"]
35 35
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/has-proto/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221111, function(require, module, exports) {
7
+__DEFINE__(1755660038325, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var test = {
@@ -22,7 +22,7 @@ module.exports = function hasProto() {
22 22
 };
23 23
 
24 24
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
25
-return __REQUIRE__(1729044221111);
25
+return __REQUIRE__(1755660038325);
26 26
 })()
27 27
 //miniprogram-npm-outsideDeps=[]
28 28
 //# sourceMappingURL=index.js.map

+ 4
- 4
miniprogram_npm/has-symbols/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221112, function(require, module, exports) {
7
+__DEFINE__(1755660038326, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var origSymbol = typeof Symbol !== 'undefined' && Symbol;
@@ -19,8 +19,8 @@ module.exports = function hasNativeSymbols() {
19 19
 	return hasSymbolSham();
20 20
 };
21 21
 
22
-}, function(modId) {var map = {"./shams":1729044221113}; return __REQUIRE__(map[modId], modId); })
23
-__DEFINE__(1729044221113, function(require, module, exports) {
22
+}, function(modId) {var map = {"./shams":1755660038327}; return __REQUIRE__(map[modId], modId); })
23
+__DEFINE__(1755660038327, function(require, module, exports) {
24 24
 
25 25
 
26 26
 /* eslint complexity: [2, 18], max-statements: [2, 33] */
@@ -65,7 +65,7 @@ module.exports = function hasSymbols() {
65 65
 };
66 66
 
67 67
 }, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
68
-return __REQUIRE__(1729044221112);
68
+return __REQUIRE__(1755660038326);
69 69
 })()
70 70
 //miniprogram-npm-outsideDeps=[]
71 71
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/hasown/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221114, function(require, module, exports) {
7
+__DEFINE__(1755660038328, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var call = Function.prototype.call;
@@ -15,7 +15,7 @@ var bind = require('function-bind');
15 15
 module.exports = bind.call(call, $hasOwn);
16 16
 
17 17
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
18
-return __REQUIRE__(1729044221114);
18
+return __REQUIRE__(1755660038328);
19 19
 })()
20 20
 //miniprogram-npm-outsideDeps=["function-bind"]
21 21
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/moment/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221115, function(require, module, exports) {
7
+__DEFINE__(1755660038329, function(require, module, exports) {
8 8
 //! moment.js
9 9
 //! version : 2.30.1
10 10
 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
@@ -5695,7 +5695,7 @@ __DEFINE__(1729044221115, function(require, module, exports) {
5695 5695
 })));
5696 5696
 
5697 5697
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
5698
-return __REQUIRE__(1729044221115);
5698
+return __REQUIRE__(1755660038329);
5699 5699
 })()
5700 5700
 //miniprogram-npm-outsideDeps=[]
5701 5701
 //# sourceMappingURL=index.js.map

+ 4
- 4
miniprogram_npm/object-inspect/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221116, function(require, module, exports) {
7
+__DEFINE__(1755660038330, function(require, module, exports) {
8 8
 var hasMap = typeof Map === 'function' && Map.prototype;
9 9
 var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;
10 10
 var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;
@@ -533,12 +533,12 @@ function arrObjKeys(obj, inspect) {
533 533
     return xs;
534 534
 }
535 535
 
536
-}, function(modId) {var map = {"./util.inspect":1729044221117}; return __REQUIRE__(map[modId], modId); })
537
-__DEFINE__(1729044221117, function(require, module, exports) {
536
+}, function(modId) {var map = {"./util.inspect":1755660038331}; return __REQUIRE__(map[modId], modId); })
537
+__DEFINE__(1755660038331, function(require, module, exports) {
538 538
 module.exports = require('util').inspect;
539 539
 
540 540
 }, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
541
-return __REQUIRE__(1729044221116);
541
+return __REQUIRE__(1755660038330);
542 542
 })()
543 543
 //miniprogram-npm-outsideDeps=["util"]
544 544
 //# sourceMappingURL=index.js.map

+ 10
- 10
miniprogram_npm/qs/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221118, function(require, module, exports) {
7
+__DEFINE__(1755660038332, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var stringify = require('./stringify');
@@ -17,8 +17,8 @@ module.exports = {
17 17
     stringify: stringify
18 18
 };
19 19
 
20
-}, function(modId) {var map = {"./stringify":1729044221119,"./parse":1729044221122,"./formats":1729044221121}; return __REQUIRE__(map[modId], modId); })
21
-__DEFINE__(1729044221119, function(require, module, exports) {
20
+}, function(modId) {var map = {"./stringify":1755660038333,"./parse":1755660038336,"./formats":1755660038335}; return __REQUIRE__(map[modId], modId); })
21
+__DEFINE__(1755660038333, function(require, module, exports) {
22 22
 
23 23
 
24 24
 var getSideChannel = require('side-channel');
@@ -371,8 +371,8 @@ module.exports = function (object, opts) {
371 371
     return joined.length > 0 ? prefix + joined : '';
372 372
 };
373 373
 
374
-}, function(modId) { var map = {"./utils":1729044221120,"./formats":1729044221121}; return __REQUIRE__(map[modId], modId); })
375
-__DEFINE__(1729044221120, function(require, module, exports) {
374
+}, function(modId) { var map = {"./utils":1755660038334,"./formats":1755660038335}; return __REQUIRE__(map[modId], modId); })
375
+__DEFINE__(1755660038334, function(require, module, exports) {
376 376
 
377 377
 
378 378
 var formats = require('./formats');
@@ -639,8 +639,8 @@ module.exports = {
639 639
     merge: merge
640 640
 };
641 641
 
642
-}, function(modId) { var map = {"./formats":1729044221121}; return __REQUIRE__(map[modId], modId); })
643
-__DEFINE__(1729044221121, function(require, module, exports) {
642
+}, function(modId) { var map = {"./formats":1755660038335}; return __REQUIRE__(map[modId], modId); })
643
+__DEFINE__(1755660038335, function(require, module, exports) {
644 644
 
645 645
 
646 646
 var replace = String.prototype.replace;
@@ -666,7 +666,7 @@ module.exports = {
666 666
 };
667 667
 
668 668
 }, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
669
-__DEFINE__(1729044221122, function(require, module, exports) {
669
+__DEFINE__(1755660038336, function(require, module, exports) {
670 670
 
671 671
 
672 672
 var utils = require('./utils');
@@ -957,8 +957,8 @@ module.exports = function (str, opts) {
957 957
     return utils.compact(obj);
958 958
 };
959 959
 
960
-}, function(modId) { var map = {"./utils":1729044221120}; return __REQUIRE__(map[modId], modId); })
961
-return __REQUIRE__(1729044221118);
960
+}, function(modId) { var map = {"./utils":1755660038334}; return __REQUIRE__(map[modId], modId); })
961
+return __REQUIRE__(1755660038332);
962 962
 })()
963 963
 //miniprogram-npm-outsideDeps=["side-channel"]
964 964
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/set-function-length/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221123, function(require, module, exports) {
7
+__DEFINE__(1755660038337, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var GetIntrinsic = require('get-intrinsic');
@@ -49,7 +49,7 @@ module.exports = function setFunctionLength(fn, length) {
49 49
 };
50 50
 
51 51
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
52
-return __REQUIRE__(1729044221123);
52
+return __REQUIRE__(1755660038337);
53 53
 })()
54 54
 //miniprogram-npm-outsideDeps=["get-intrinsic","define-data-property","has-property-descriptors","gopd","es-errors/type"]
55 55
 //# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/side-channel/index.js View File

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
4 4
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
5 5
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
6 6
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
7
-__DEFINE__(1729044221124, function(require, module, exports) {
7
+__DEFINE__(1755660038338, function(require, module, exports) {
8 8
 
9 9
 
10 10
 var GetIntrinsic = require('get-intrinsic');
@@ -136,7 +136,7 @@ module.exports = function getSideChannel() {
136 136
 };
137 137
 
138 138
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
139
-return __REQUIRE__(1729044221124);
139
+return __REQUIRE__(1755660038338);
140 140
 })()
141 141
 //miniprogram-npm-outsideDeps=["get-intrinsic","call-bind/callBound","object-inspect","es-errors/type"]
142 142
 //# sourceMappingURL=index.js.map

+ 1
- 3895
miniprogram_npm/tdesign-miniprogram/.wechatide.ib.json
File diff suppressed because it is too large
View File


+ 0
- 48
miniprogram_npm/tdesign-miniprogram/action-sheet/README.en-US.md View File

@@ -1,52 +0,0 @@
1
-:: BASE_DOC ::
2
-
3
-## API
4
-
5
-### ActionSheet Props
6
-
7
-name | type | default | description | required
8
-style | Object | - | CSS(Cascading Style Sheets) | N
9
-custom-style | Object | - | CSS(Cascading Style Sheets),used to set style on virtual component | N
10
-align | String | center | `0.29.0`。options: center/left | N
11
-cancel-text | String | - | \- | N
12
-count | Number | 8 | \- | N
13
-description | String | - | `0.29.0` | N
14
-items | Array | - | required。Typescript:`Array<string \| ActionSheetItem>` `interface ActionSheetItem {label: string; color?: string; disabled?: boolean;icon?: string;suffixIcon?: string; }`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts) | Y
15
-popup-props | Object | {} | Typescript:`PopupProps`,[Popup API Documents](./popup?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts) | N
16
-show-cancel | Boolean | true | \- | N
17
-show-overlay | Boolean | true | \- | N
18
-theme | String | list | options: list/grid | N
19
-using-custom-navbar | Boolean | false | \- | N
20
-visible | Boolean | false | required | Y
21
-default-visible | Boolean | undefined | required。uncontrolled property | Y
22
-
23
-### ActionSheet Events
24
-
25
-name | params | description
26
-cancel | \- | \-
27
-close | `(trigger: TriggerSource)` | [see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts)。<br/>`type TriggerSource = 'overlay' \| 'command' \| 'select' `<br/>
28
-selected | `(selected: ActionSheetItem \| string, index: number)` | \-
29
-### ActionSheet External Classes
30
-
31
-className | Description
32
-t-class | \-
33
-t-class-cancel | \-
34
-t-class-content | \-
35
-
36
-### CSS Variables
37
-
38
-The component provides the following CSS variables, which can be used to customize styles.
39
-Name | Default Value | Description 
40
---td-action-sheet-border-color | @gray-color-1 | - 
41
---td-action-sheet-border-radius | @radius-extra-large | - 
42
---td-action-sheet-cancel-color | @font-gray-1 | - 
43
---td-action-sheet-cancel-height | 96rpx | - 
44
---td-action-sheet-color | @font-gray-1 | - 
45
---td-action-sheet-description-color | @font-gray-3 | - 
46
---td-action-sheet-list-item-disabled-color | @font-gray-4 | - 
47
---td-action-sheet-list-item-height | 112rpx | - 
48
---td-action-sheet-text-align | center | -

+ 0
- 136
miniprogram_npm/tdesign-miniprogram/action-sheet/README.md View File

@@ -1,140 +0,0 @@
1
----
2
-title: ActionSheet 动作面板
3
-description: 由用户操作后触发的一种特定的模态弹出框 ,呈现一组与当前情境相关的两个或多个选项。
4
-spline: data
5
-isComponent: true
6
----
7
-
8
-<span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20lines-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20functions-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20statements-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20branches-89%25-blue" /></span>
9
-
10
-<div style="background: #ecf2fe; display: flex; align-items: center; line-height: 20px; padding: 14px 24px; border-radius: 3px; color: #555a65">
11
-  <svg fill="none" viewBox="0 0 16 16" width="16px" height="16px" style="margin-right: 5px">
12
-    <path fill="#0052d9" d="M8 15A7 7 0 108 1a7 7 0 000 14zM7.4 4h1.2v1.2H7.4V4zm.1 2.5h1V12h-1V6.5z" fillOpacity="0.9"></path>
13
-  </svg>
14
-  该组件于 0.9.0 版本上线,请留意版本。
15
-</div>
16
-
17
-## 引入
18
-
19
-全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
20
-
21
-```json
22
-"usingComponents": {
23
-  "t-action-sheet": "tdesign-miniprogram/action-sheet/action-sheet",
24
-}
25
-```
26
-
27
-## 代码演示
28
-
29
-<a href="https://developers.weixin.qq.com/s/EM7cxim37USn" title="在开发者工具中预览效果" target="_blank" rel="noopener noreferrer"> 在开发者工具中预览效果 </a>
30
-
31
-<blockquote style="background-color: #d9e1ff; font-size: 15px; line-height: 26px;margin: 16px 0 0;padding: 16px; border-radius: 6px; color: #0052d9" >
32
-<p>Tips: 请确保开发者工具为打开状态。导入开发者工具后,依次执行:npm i > 构建npm包 > 勾选 "将JS编译成ES5"</p>
33
-</blockquote>
34
-
35
-### 组件类型
36
-
37
-列表型动作面板
38
-
39
-{{ list }}
40
-
41
-宫格型动作面板
42
-
43
-{{ grid }}
44
-
45
-### 组件状态
46
-
47
-宫格型动作面板
48
-
49
-{{ status }}
50
-
51
-### 组件样式
52
-
53
-列表型对齐方式
54
-
55
-{{ align }}
56
-
57
-### 支持指令调用
58
-
59
-```javascript
60
-import ActionSheet, { ActionSheetTheme } from 'tdesign-miniprogram/action-sheet/index';
61
-
62
-// 指令调用不同于组件引用不需要传入visible
63
-const basicListOption: ActionSheetShowOption = {
64
-  theme: ActionSheetTheme.List,
65
-  selector: '#t-action-sheet',
66
-  items: [
67
-    {
68
-      label: '默认选项',
69
-    },
70
-    {
71
-      label: '失效选项',
72
-      disabled: true,
73
-    },
74
-    {
75
-      label: '警告选项',
76
-      color: '#e34d59',
77
-    },
78
-  ],
79
-};
80
-
81
-const handler = ActionSheet.show(basicListOption);
82
-```
83
-
84
-指令调用的关闭如下
85
-
86
-```javascript
87
-handler.close();
88
-```
89
-
90
-
91
-## API
92
-
93
-### ActionSheet Props
94
-
95
-名称 | 类型 | 默认值 | 描述 | 必传
96
-style | Object | - | 样式 | N
97
-custom-style | Object | - | 样式,一般用于开启虚拟化组件节点场景 | N
98
-align | String | center | `0.29.0`。水平对齐方式。可选项:center/left | N
99
-cancel-text | String | - | 设置取消按钮的文本 | N
100
-count | Number | 8 | 设置每页展示菜单的数量,仅当 type=grid 时有效 | N
101
-description | String | - | `0.29.0`。动作面板描述文字 | N
102
-items | Array | - | 必需。菜单项。TS 类型:`Array<string \| ActionSheetItem>` `interface ActionSheetItem {label: string; color?: string; disabled?: boolean;icon?: string;suffixIcon?: string; }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts) | Y
103
-popup-props | Object | {} | popupProps透传。TS 类型:`PopupProps`,[Popup API Documents](./popup?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts) | N
104
-show-cancel | Boolean | true | 是否显示取消按钮 | N
105
-show-overlay | Boolean | true | 是否显示遮罩层 | N
106
-theme | String | list | 展示类型,列表和表格形式展示。可选项:list/grid | N
107
-using-custom-navbar | Boolean | false | 是否使用了自定义导航栏 | N
108
-visible | Boolean | false | 必需。显示与隐藏 | Y
109
-default-visible | Boolean | undefined | 必需。显示与隐藏。非受控属性 | Y
110
-
111
-### ActionSheet Events
112
-
113
-名称 | 参数 | 描述
114
-cancel | \- | 点击取消按钮时触发
115
-close | `(trigger: TriggerSource)` | 关闭时触发。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts)。<br/>`type TriggerSource = 'overlay' \| 'command' \| 'select' `<br/>
116
-selected | `(selected: ActionSheetItem \| string, index: number)` | 选择菜单项时触发
117
-### ActionSheet External Classes
118
-
119
-类名 | 描述
120
-t-class | 根节点样式类
121
-t-class-cancel | 取消样式类
122
-t-class-content | 内容样式类
123
-
124
-### CSS Variables
125
-
126
-组件提供了下列 CSS 变量,可用于自定义样式。
127
-名称 | 默认值 | 描述 
128
---td-action-sheet-border-color | @gray-color-1 | - 
129
---td-action-sheet-border-radius | @radius-extra-large | - 
130
---td-action-sheet-cancel-color | @font-gray-1 | - 
131
---td-action-sheet-cancel-height | 96rpx | - 
132
---td-action-sheet-color | @font-gray-1 | - 
133
---td-action-sheet-description-color | @font-gray-3 | - 
134
---td-action-sheet-list-item-disabled-color | @font-gray-4 | - 
135
---td-action-sheet-list-item-height | 112rpx | - 
136
---td-action-sheet-text-align | center | -

+ 10
- 6
miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts View File

@@ -6,7 +6,7 @@ export default class ActionSheet extends SuperComponent {
6 6
     properties: {
7 7
         align?: {
8 8
             type: StringConstructor;
9
-            value?: "center" | "left";
9
+            value?: "left" | "center";
10 10
         };
11 11
         cancelText?: {
12 12
             type: StringConstructor;
@@ -23,6 +23,7 @@ export default class ActionSheet extends SuperComponent {
23 23
         items: {
24 24
             type: ArrayConstructor;
25 25
             value?: (string | import("./type").ActionSheetItem)[];
26
+            required?: boolean;
26 27
         };
27 28
         popupProps?: {
28 29
             type: ObjectConstructor;
@@ -44,11 +45,11 @@ export default class ActionSheet extends SuperComponent {
44 45
             type: BooleanConstructor;
45 46
             value?: boolean;
46 47
         };
47
-        visible: {
48
+        visible?: {
48 49
             type: BooleanConstructor;
49 50
             value?: boolean;
50 51
         };
51
-        defaultVisible: {
52
+        defaultVisible?: {
52 53
             type: BooleanConstructor;
53 54
             value?: boolean;
54 55
         };
@@ -65,16 +66,19 @@ export default class ActionSheet extends SuperComponent {
65 66
         key: string;
66 67
         event: string;
67 68
     }[];
68
-    ready(): void;
69
+    observers: {
70
+        'visible, items'(visible: boolean): void;
71
+    };
69 72
     methods: {
70
-        onSwiperChange(e: WechatMiniprogram.TouchEvent): void;
73
+        init(): void;
74
+        memoInitialData(): void;
71 75
         splitGridThemeActions(): void;
72 76
         show(options: any): void;
73
-        memoInitialData(): void;
74 77
         close(): void;
75 78
         onPopupVisibleChange({ detail }: {
76 79
             detail: any;
77 80
         }): void;
81
+        onSwiperChange(e: WechatMiniprogram.TouchEvent): void;
78 82
         onSelect(event: WechatMiniprogram.TouchEvent): void;
79 83
         onCancel(): void;
80 84
     };

+ 1
- 104
miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js View File

@@ -1,104 +1 @@
1
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
-    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
-    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
-    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
-    return c > 3 && r && Object.defineProperty(target, key, r), r;
6
-};
7
-import { chunk } from '../common/utils';
8
-import { SuperComponent, wxComponent } from '../common/src/index';
9
-import config from '../common/config';
10
-import { ActionSheetTheme, show } from './show';
11
-import props from './props';
12
-import useCustomNavbar from '../mixins/using-custom-navbar';
13
-const { prefix } = config;
14
-const name = `${prefix}-action-sheet`;
15
-let ActionSheet = class ActionSheet extends SuperComponent {
16
-    constructor() {
17
-        super(...arguments);
18
-        this.behaviors = [useCustomNavbar];
19
-        this.externalClasses = [`${prefix}-class`, `${prefix}-class-content`, `${prefix}-class-cancel`];
20
-        this.properties = Object.assign({}, props);
21
-        this.data = {
22
-            prefix,
23
-            classPrefix: name,
24
-            gridThemeItems: [],
25
-            currentSwiperIndex: 0,
26
-            defaultPopUpProps: {},
27
-            defaultPopUpzIndex: 11500,
28
-        };
29
-        this.controlledProps = [
30
-            {
31
-                key: 'visible',
32
-                event: 'visible-change',
33
-            },
34
-        ];
35
-        this.methods = {
36
-            onSwiperChange(e) {
37
-                const { detail: { current }, } = e;
38
-                this.setData({
39
-                    currentSwiperIndex: current,
40
-                });
41
-            },
42
-            splitGridThemeActions() {
43
-                if (this.data.theme !== ActionSheetTheme.Grid)
44
-                    return;
45
-                this.setData({
46
-                    gridThemeItems: chunk(this.data.items, this.data.count),
47
-                });
48
-            },
49
-            show(options) {
50
-                this.setData(Object.assign(Object.assign(Object.assign({}, this.initialData), options), { visible: true }));
51
-                this.splitGridThemeActions();
52
-                this.autoClose = true;
53
-                this._trigger('visible-change', { visible: true });
54
-            },
55
-            memoInitialData() {
56
-                this.initialData = Object.assign(Object.assign({}, this.properties), this.data);
57
-            },
58
-            close() {
59
-                this.triggerEvent('close', { trigger: 'command' });
60
-                this._trigger('visible-change', { visible: false });
61
-            },
62
-            onPopupVisibleChange({ detail }) {
63
-                if (!detail.visible) {
64
-                    this.triggerEvent('close', { trigger: 'overlay' });
65
-                    this._trigger('visible-change', { visible: false });
66
-                }
67
-                if (this.autoClose) {
68
-                    this.setData({ visible: false });
69
-                    this.autoClose = false;
70
-                }
71
-            },
72
-            onSelect(event) {
73
-                const { currentSwiperIndex, items, gridThemeItems, count, theme } = this.data;
74
-                const { index } = event.currentTarget.dataset;
75
-                const isSwiperMode = theme === ActionSheetTheme.Grid;
76
-                const item = isSwiperMode ? gridThemeItems[currentSwiperIndex][index] : items[index];
77
-                const realIndex = isSwiperMode ? index + currentSwiperIndex * count : index;
78
-                if (item) {
79
-                    this.triggerEvent('selected', { selected: item, index: realIndex });
80
-                    if (!item.disabled) {
81
-                        this.triggerEvent('close', { trigger: 'select' });
82
-                        this._trigger('visible-change', { visible: false });
83
-                    }
84
-                }
85
-            },
86
-            onCancel() {
87
-                this.triggerEvent('cancel');
88
-                if (this.autoClose) {
89
-                    this.setData({ visible: false });
90
-                    this.autoClose = false;
91
-                }
92
-            },
93
-        };
94
-    }
95
-    ready() {
96
-        this.memoInitialData();
97
-        this.splitGridThemeActions();
98
-    }
99
-};
100
-ActionSheet.show = show;
101
-ActionSheet = __decorate([
102
-    wxComponent()
103
-], ActionSheet);
104
-export default ActionSheet;
1
+import{__decorate}from"tslib";import{chunk}from"../common/utils";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import{ActionSheetTheme,show}from"./show";import props from"./props";import useCustomNavbar from"../mixins/using-custom-navbar";const{prefix:prefix}=config,name=`${prefix}-action-sheet`;let ActionSheet=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar],this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-cancel`],this.properties=Object.assign({},props),this.data={prefix:prefix,classPrefix:name,gridThemeItems:[],currentSwiperIndex:0,defaultPopUpProps:{},defaultPopUpzIndex:11500},this.controlledProps=[{key:"visible",event:"visible-change"}],this.observers={"visible, items"(e){e&&this.init()}},this.methods={init(){this.memoInitialData(),this.splitGridThemeActions()},memoInitialData(){this.initialData=Object.assign(Object.assign({},this.properties),this.data)},splitGridThemeActions(){this.data.theme===ActionSheetTheme.Grid&&this.setData({gridThemeItems:chunk(this.data.items,this.data.count)})},show(e){this.setData(Object.assign(Object.assign(Object.assign({},this.initialData),e),{visible:!0})),this.splitGridThemeActions(),this.autoClose=!0,this._trigger("visible-change",{visible:!0})},close(){this.triggerEvent("close",{trigger:"command"}),this._trigger("visible-change",{visible:!1})},onPopupVisibleChange({detail:e}){e.visible||(this.triggerEvent("close",{trigger:"overlay"}),this._trigger("visible-change",{visible:!1})),this.autoClose&&(this.setData({visible:!1}),this.autoClose=!1)},onSwiperChange(e){const{current:t}=e.detail;this.setData({currentSwiperIndex:t})},onSelect(e){const{currentSwiperIndex:t,items:i,gridThemeItems:s,count:o,theme:r}=this.data,{index:n}=e.currentTarget.dataset,a=r===ActionSheetTheme.Grid,h=a?s[t][n]:i[n],c=a?n+t*o:n;h&&(this.triggerEvent("selected",{selected:h,index:c}),h.disabled||(this.triggerEvent("close",{trigger:"select"}),this._trigger("visible-change",{visible:!1})))},onCancel(){this.triggerEvent("cancel"),this.autoClose&&(this.setData({visible:!1}),this.autoClose=!1)}}}};ActionSheet.show=show,ActionSheet=__decorate([wxComponent()],ActionSheet);export default ActionSheet;

+ 1
- 10
miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json View File

@@ -1,10 +1 @@
1
-{
2
-  "component": true,
3
-  "styleIsolation": "apply-shared",
4
-  "usingComponents": {
5
-    "t-icon": "../icon/icon",
6
-    "t-popup": "../popup/popup",
7
-    "t-grid": "../grid/grid",
8
-    "t-grid-item": "../grid-item/grid-item"
9
-  }
10
-}
1
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-popup":"../popup/popup","t-grid":"../grid/grid","t-grid-item":"../grid-item/grid-item"}}

+ 1
- 49
miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml View File

@@ -1,49 +1 @@
1
-<wxs src="./action-sheet.wxs" module="this" />
2
-<wxs src="../common/utils.wxs" module="_" />
3
-<import src="./template/list.wxml" />
4
-<import src="./template/grid.wxml" />
5
-
6
-<view id="{{classPrefix}}" style="{{_._style([style, customStyle])}}" class="{{classPrefix}} class {{prefix}}-class">
7
-  <t-popup
8
-    visible="{{visible}}"
9
-    placement="bottom"
10
-    usingCustomNavbar="{{usingCustomNavbar}}"
11
-    bind:visible-change="onPopupVisibleChange"
12
-    show-overlay="{{showOverlay}}"
13
-    z-index="{{ popupProps.zIndex || defaultPopUpzIndex }}"
14
-    overlay-props="{{ popupProps.overlayProps || defaultPopUpProps }}"
15
-  >
16
-    <view
17
-      class="{{_.cls(classPrefix + '__content', [['grid', gridThemeItems.length]])}} {{prefix}}-class-content"
18
-      tabindex="0"
19
-    >
20
-      <view wx:if="{{description}}" tabindex="0" class="{{_.cls(classPrefix + '__description', [align])}}"
21
-        >{{description}}</view
22
-      >
23
-      <block wx:if="{{gridThemeItems.length}}">
24
-        <template is="grid" data="{{classPrefix, prefix, gridThemeItems, count, currentSwiperIndex}}" />
25
-      </block>
26
-      <view wx:elif="{{items && items.length}}" class="{{classPrefix}}__list">
27
-        <block wx:for="{{ items }}" wx:key="index">
28
-          <template
29
-            is="list"
30
-            data="{{index, classPrefix, listThemeItemClass: _.cls(classPrefix + '__list-item', [align, [disabled, item.disabled]]), item}}"
31
-          />
32
-        </block>
33
-      </view>
34
-    </view>
35
-    <slot />
36
-    <view wx:if="{{showCancel}}" class="{{classPrefix}}__footer">
37
-      <view class="{{classPrefix}}__gap-{{theme}}" />
38
-      <view
39
-        class="{{classPrefix}}__cancel {{prefix}}-class-cancel"
40
-        hover-class="{{classPrefix}}__cancel--hover"
41
-        hover-stay-time="70"
42
-        bind:tap="onCancel"
43
-        aria-role="button"
44
-      >
45
-        {{ cancelText }}
46
-      </view>
47
-    </view>
48
-  </t-popup>
49
-</view>
1
+<wxs src="./action-sheet.wxs" module="_this"/><wxs src="../common/utils.wxs" module="_"/><import src="./template/list.wxml"/><import src="./template/grid.wxml"/><view id="{{classPrefix}}" style="{{_._style([style, customStyle])}}" class="{{classPrefix}} class {{prefix}}-class"><t-popup visible="{{visible}}" placement="bottom" usingCustomNavbar="{{usingCustomNavbar}}" bind:visible-change="onPopupVisibleChange" show-overlay="{{showOverlay}}" z-index="{{ popupProps.zIndex || defaultPopUpzIndex }}" overlay-props="{{ popupProps.overlayProps || defaultPopUpProps }}"><view class="{{_.cls(classPrefix + '__content', [['grid', gridThemeItems.length]])}} {{prefix}}-class-content" tabindex="0"><view wx:if="{{description}}" tabindex="0" class="{{_.cls(classPrefix + '__description', [align])}}">{{description}}</view><block wx:if="{{gridThemeItems.length}}"><template is="grid" data="{{classPrefix, prefix, gridThemeItems, count, currentSwiperIndex}}"/></block><view wx:elif="{{items && items.length}}" class="{{classPrefix}}__list"><block wx:for="{{ items }}" wx:key="index"><template is="list" data="{{index, classPrefix, listThemeItemClass: _.cls(classPrefix + '__list-item', [align, [disabled, item.disabled]]), item}}"/></block></view></view><slot/><view wx:if="{{showCancel}}" class="{{classPrefix}}__footer"><view class="{{classPrefix}}__gap-{{theme}}"/><view class="{{classPrefix}}__cancel {{prefix}}-class-cancel" hover-class="{{classPrefix}}__cancel--hover" hover-stay-time="70" bind:tap="onCancel" aria-role="button">{{ cancelText || '取消' }}</view></view></t-popup></view>

+ 29
- 169
miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss View File

@@ -1,169 +1,29 @@
1
-.t-float-left {
2
-  float: left;
3
-}
4
-.t-float-right {
5
-  float: right;
6
-}
7
-@keyframes tdesign-fade-out {
8
-  from {
9
-    opacity: 1;
10
-  }
11
-  to {
12
-    opacity: 0;
13
-  }
14
-}
15
-.hotspot-expanded.relative {
16
-  position: relative;
17
-}
18
-.hotspot-expanded::after {
19
-  content: '';
20
-  display: block;
21
-  position: absolute;
22
-  left: 0;
23
-  top: 0;
24
-  right: 0;
25
-  bottom: 0;
26
-  transform: scale(1.5);
27
-}
28
-.t-action-sheet__content {
29
-  color: var(--td-action-sheet-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
30
-  border-top-left-radius: var(--td-action-sheet-border-radius, var(--td-radius-extra-large, 24rpx));
31
-  border-top-right-radius: var(--td-action-sheet-border-radius, var(--td-radius-extra-large, 24rpx));
32
-  background-color: var(--td-bg-color-container, var(--td-font-white-1, #ffffff));
33
-  overflow: hidden;
34
-}
35
-.t-action-sheet__content--grid {
36
-  padding-top: 16rpx;
37
-}
38
-.t-action-sheet__content:focus {
39
-  outline: 0;
40
-}
41
-.t-action-sheet__grid {
42
-  padding-bottom: 16rpx;
43
-}
44
-.t-action-sheet__grid--swiper {
45
-  padding-bottom: 48rpx;
46
-}
47
-.t-action-sheet__description {
48
-  color: var(--td-action-sheet-description-color, var(--td-text-color-placeholder, var(--td-font-gray-3, rgba(0, 0, 0, 0.4))));
49
-  line-height: 44rpx;
50
-  font-size: 28rpx;
51
-  text-align: var(--td-action-sheet-text-align, center);
52
-  padding: 24rpx 32rpx;
53
-  position: relative;
54
-}
55
-.t-action-sheet__description:focus {
56
-  outline: 0;
57
-}
58
-.t-action-sheet__description::after {
59
-  content: '';
60
-  display: block;
61
-  position: absolute;
62
-  top: unset;
63
-  bottom: 0;
64
-  left: unset;
65
-  right: unset;
66
-  background-color: var(--td-action-sheet-border-color, var(--td-border-level-1-color, var(--td-gray-color-3, #e7e7e7)));
67
-}
68
-.t-action-sheet__description::after {
69
-  height: 1px;
70
-  left: 0;
71
-  right: 0;
72
-  transform: scaleY(0.5);
73
-}
74
-.t-action-sheet__description--left {
75
-  text-align: left;
76
-}
77
-.t-action-sheet__description--left::after {
78
-  left: 32rpx;
79
-}
80
-.t-action-sheet__list-item {
81
-  display: flex;
82
-  align-items: center;
83
-  justify-content: center;
84
-  position: relative;
85
-  height: var(--td-action-sheet-list-item-height, 112rpx);
86
-  padding: 0 32rpx;
87
-}
88
-.t-action-sheet__list-item::after {
89
-  content: '';
90
-  display: block;
91
-  position: absolute;
92
-  top: unset;
93
-  bottom: 0;
94
-  left: unset;
95
-  right: unset;
96
-  background-color: var(--td-action-sheet-border-color, var(--td-border-level-1-color, var(--td-gray-color-3, #e7e7e7)));
97
-}
98
-.t-action-sheet__list-item::after {
99
-  height: 1px;
100
-  left: 0;
101
-  right: 0;
102
-  transform: scaleY(0.5);
103
-}
104
-.t-action-sheet__list-item:focus {
105
-  outline: 0;
106
-}
107
-.t-action-sheet__list-item--left {
108
-  justify-content: start;
109
-}
110
-.t-action-sheet__list-item--left::after {
111
-  left: 32rpx;
112
-}
113
-.t-action-sheet__list-item--disabled {
114
-  color: var(--td-action-sheet-list-item-disabled-color, var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26))));
115
-}
116
-.t-action-sheet__list-item-text {
117
-  font-size: var(--td-font-size-m, 32rpx);
118
-  word-wrap: normal;
119
-  white-space: nowrap;
120
-  overflow: hidden;
121
-  text-overflow: ellipsis;
122
-}
123
-.t-action-sheet__list-item-icon {
124
-  margin-right: 16rpx;
125
-}
126
-.t-action-sheet__list-item-icon--suffix {
127
-  margin-left: auto;
128
-}
129
-.t-action-sheet__swiper-wrap {
130
-  margin-top: 8rpx;
131
-  position: relative;
132
-}
133
-.t-action-sheet__footer {
134
-  background-color: var(--td-bg-color-container, var(--td-font-white-1, #ffffff));
135
-}
136
-.t-action-sheet__gap-list {
137
-  height: 16rpx;
138
-  background-color: var(--td-action-sheet-gap-color, var(--td-bg-color-page, var(--td-gray-color-1, #f3f3f3)));
139
-}
140
-.t-action-sheet__gap-grid {
141
-  height: 1rpx;
142
-  background-color: var(--td-action-sheet-border-color, var(--td-border-level-1-color, var(--td-gray-color-3, #e7e7e7)));
143
-}
144
-.t-action-sheet__cancel {
145
-  display: flex;
146
-  align-items: center;
147
-  justify-content: center;
148
-  color: var(--td-action-sheet-cancel-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
149
-  height: var(--td-action-sheet-cancel-height, 96rpx);
150
-}
151
-.t-action-sheet__dots {
152
-  position: absolute;
153
-  left: 50%;
154
-  bottom: 32rpx;
155
-  transform: translateX(-50%);
156
-  display: flex;
157
-  flex-direction: row;
158
-}
159
-.t-action-sheet__dots-item {
160
-  width: 16rpx;
161
-  height: 16rpx;
162
-  background-color: #dcdcdc;
163
-  border-radius: 50%;
164
-  margin: 0 16rpx;
165
-  transition: all 0.4s ease-in;
166
-}
167
-.t-action-sheet__dots-item.t-is-active {
168
-  background-color: #0052d9;
169
-}
1
+@import '../common/style/index.wxss';.t-action-sheet__content{color:var(--td-action-sheet-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));border-top-left-radius:var(--td-action-sheet-border-radius,var(--td-radius-extraLarge,24rpx));border-top-right-radius:var(--td-action-sheet-border-radius,var(--td-radius-extraLarge,24rpx));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));overflow:hidden;}
2
+.t-action-sheet__content--grid{padding-top:16rpx;}
3
+.t-action-sheet__content:focus{outline:0;}
4
+.t-action-sheet__grid{padding-bottom:16rpx;}
5
+.t-action-sheet__grid--swiper{padding-bottom:48rpx;}
6
+.t-action-sheet__description{color:var(--td-action-sheet-description-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));line-height:44rpx;font-size:28rpx;text-align:var(--td-action-sheet-text-align,center);padding:24rpx 32rpx;position:relative;}
7
+.t-action-sheet__description:focus{outline:0;}
8
+.t-action-sheet__description::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-action-sheet-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
9
+.t-action-sheet__description::after{height:1px;left:0;right:0;transform:scaleY(.5);}
10
+.t-action-sheet__description--left{text-align:left;}
11
+.t-action-sheet__description--left::after{left:32rpx;}
12
+.t-action-sheet__list-item{display:flex;align-items:center;justify-content:center;position:relative;height:var(--td-action-sheet-list-item-height,112rpx);padding:0 32rpx;}
13
+.t-action-sheet__list-item::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-action-sheet-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
14
+.t-action-sheet__list-item::after{height:1px;left:0;right:0;transform:scaleY(.5);}
15
+.t-action-sheet__list-item:focus{outline:0;}
16
+.t-action-sheet__list-item--left{justify-content:start;}
17
+.t-action-sheet__list-item--left::after{left:32rpx;}
18
+.t-action-sheet__list-item--disabled{color:var(--td-action-sheet-list-item-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
19
+.t-action-sheet__list-item-text{font-size:var(--td-font-size-m,32rpx);word-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
20
+.t-action-sheet__list-item-icon{margin-right:16rpx;}
21
+.t-action-sheet__list-item-icon--suffix{margin-left:auto;}
22
+.t-action-sheet__swiper-wrap{margin-top:8rpx;position:relative;}
23
+.t-action-sheet__footer{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
24
+.t-action-sheet__gap-list{height:16rpx;background-color:var(--td-action-sheet-gap-color,var(--td-bg-color-page,var(--td-gray-color-1,#f3f3f3)));}
25
+.t-action-sheet__gap-grid{height:1rpx;background-color:var(--td-action-sheet-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
26
+.t-action-sheet__cancel{display:flex;align-items:center;justify-content:center;color:var(--td-action-sheet-cancel-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));height:var(--td-action-sheet-cancel-height,96rpx);}
27
+.t-action-sheet__dots{position:absolute;left:50%;bottom:32rpx;transform:translateX(-50%);display:flex;flex-direction:row;}
28
+.t-action-sheet__dots-item{width:16rpx;height:16rpx;background-color:#dcdcdc;border-radius:50%;margin:0 16rpx;transition:all .4s ease-in;}
29
+.t-action-sheet__dots-item.t-is-active{background-color:#0052d9;}

+ 1
- 10
miniprogram_npm/tdesign-miniprogram/action-sheet/index.js View File

@@ -1,10 +1 @@
1
-import { show, close, ActionSheetTheme } from './show';
2
-export { ActionSheetTheme };
3
-export default {
4
-    show(options) {
5
-        return show(options);
6
-    },
7
-    close(options) {
8
-        return close(options);
9
-    },
10
-};
1
+import{show,close,ActionSheetTheme}from"./show";export{ActionSheetTheme};export default{show:e=>show(e),close:e=>close(e)};

+ 1
- 46
miniprogram_npm/tdesign-miniprogram/action-sheet/props.js View File

@@ -1,46 +1 @@
1
-const props = {
2
-    align: {
3
-        type: String,
4
-        value: 'center',
5
-    },
6
-    cancelText: {
7
-        type: String,
8
-        value: '取消',
9
-    },
10
-    count: {
11
-        type: Number,
12
-        value: 8,
13
-    },
14
-    description: {
15
-        type: String,
16
-        value: '',
17
-    },
18
-    items: {
19
-        type: Array,
20
-    },
21
-    popupProps: {
22
-        type: Object,
23
-        value: {},
24
-    },
25
-    showCancel: {
26
-        type: Boolean,
27
-        value: true,
28
-    },
29
-    showOverlay: {
30
-        type: Boolean,
31
-        value: true,
32
-    },
33
-    theme: {
34
-        type: String,
35
-        value: 'list',
36
-    },
37
-    visible: {
38
-        type: Boolean,
39
-        value: null,
40
-    },
41
-    defaultVisible: {
42
-        type: Boolean,
43
-        value: false,
44
-    },
45
-};
46
-export default props;
1
+const props={align:{type:String,value:"center"},cancelText:{type:String,value:""},count:{type:Number,value:8},description:{type:String,value:""},items:{type:Array,required:!0},popupProps:{type:Object,value:{}},showCancel:{type:Boolean,value:!0},showOverlay:{type:Boolean,value:!0},theme:{type:String,value:"list"},usingCustomNavbar:{type:Boolean,value:!1},visible:{type:Boolean,value:null},defaultVisible:{type:Boolean,value:!1}};export default props;

+ 2
- 7
miniprogram_npm/tdesign-miniprogram/action-sheet/show.d.ts View File

@@ -1,11 +1,7 @@
1 1
 /// <reference types="miniprogram-api-typings" />
2 2
 /// <reference types="miniprogram-api-typings" />
3
-export interface ActionSheetItem {
4
-    label: string;
5
-    color?: string;
6
-    disabled?: boolean;
7
-    icon?: string;
8
-}
3
+import { ActionSheetItem } from './type';
4
+export { ActionSheetItem };
9 5
 declare type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
10 6
 export declare enum ActionSheetTheme {
11 7
     List = "list",
@@ -28,4 +24,3 @@ export interface ActionSheetShowOption extends Omit<ActionSheetProps, 'visible'>
28 24
 }
29 25
 export declare const show: (options: ActionSheetShowOption) => WechatMiniprogram.Component.TrivialInstance;
30 26
 export declare const close: (options: ActionSheetShowOption) => void;
31
-export {};

+ 1
- 33
miniprogram_npm/tdesign-miniprogram/action-sheet/show.js View File

@@ -1,33 +1 @@
1
-var __rest = (this && this.__rest) || function (s, e) {
2
-    var t = {};
3
-    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
-        t[p] = s[p];
5
-    if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
-        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
-            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
-                t[p[i]] = s[p[i]];
9
-        }
10
-    return t;
11
-};
12
-import { getInstance } from '../common/utils';
13
-export var ActionSheetTheme;
14
-(function (ActionSheetTheme) {
15
-    ActionSheetTheme["List"] = "list";
16
-    ActionSheetTheme["Grid"] = "grid";
17
-})(ActionSheetTheme || (ActionSheetTheme = {}));
18
-export const show = function (options) {
19
-    const _a = Object.assign({}, options), { context, selector = '#t-action-sheet' } = _a, otherOptions = __rest(_a, ["context", "selector"]);
20
-    const instance = getInstance(context, selector);
21
-    if (instance) {
22
-        instance.show(Object.assign({}, otherOptions));
23
-        return instance;
24
-    }
25
-    console.error('未找到组件,请确认 selector && context 是否正确');
26
-};
27
-export const close = function (options) {
28
-    const { context, selector = '#t-action-sheet' } = Object.assign({}, options);
29
-    const instance = getInstance(context, selector);
30
-    if (instance) {
31
-        instance.close();
32
-    }
33
-};
1
+import{__rest}from"tslib";import{getInstance}from"../common/utils";export var ActionSheetTheme;!function(t){t.List="list",t.Grid="grid"}(ActionSheetTheme||(ActionSheetTheme={}));export const show=function(t){const e=Object.assign({},t),{context:o,selector:n="#t-action-sheet"}=e,c=__rest(e,["context","selector"]),s=getInstance(o,n);if(s)return s.show(Object.assign({},c)),s;console.error("未找到组件,请确认 selector && context 是否正确")};export const close=function(t){const{context:e,selector:o="#t-action-sheet"}=Object.assign({},t),n=getInstance(e,o);n&&n.close()};

+ 1
- 51
miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml View File

@@ -1,51 +1 @@
1
-<template name="grid">
2
-  <block wx:if="{{gridThemeItems.length === 1}}">
3
-    <t-grid align="center" t-class="{{classPrefix}}__grid" column="{{count / 2}}" class="{{classPrefix}}__single-wrap">
4
-      <t-grid-item
5
-        t-class="{{classPrefix}}__grid-item"
6
-        class="{{classPrefix}}__square"
7
-        wx:for="{{gridThemeItems[0]}}"
8
-        wx:key="index"
9
-        bind:tap="onSelect"
10
-        data-index="{{index}}"
11
-        icon="{{ { name: item.icon, color: item.color } }}"
12
-        text="{{item.label || ''}}"
13
-        image="{{item.image || ''}}"
14
-        style="--td-grid-item-text-color: {{item.color}}"
15
-      >
16
-      </t-grid-item>
17
-    </t-grid>
18
-  </block>
19
-  <block wx:elif="{{gridThemeItems.length > 1}}">
20
-    <view class="{{classPrefix}}__swiper-wrap">
21
-      <swiper style="height: 456rpx" autoplay="{{false}}" current="{{currentSwiperIndex}}" bindchange="onSwiperChange">
22
-        <swiper-item wx:for="{{gridThemeItems}}" wx:key="index">
23
-          <t-grid align="center" t-class="{{classPrefix}}__grid {{classPrefix}}__grid--swiper" column="{{count / 2}}">
24
-            <t-grid-item
25
-              t-class="{{classPrefix}}__grid-item"
26
-              class="{{classPrefix}}__square"
27
-              wx:for="{{item}}"
28
-              wx:key="index"
29
-              data-index="{{index}}"
30
-              bind:tap="onSelect"
31
-              icon="{{ { name: item.icon, color: item.color } }}"
32
-              text="{{item.label || ''}}"
33
-              image="{{item.image || ''}}"
34
-              style="--td-grid-item-text-color: {{item.color}}"
35
-            >
36
-            </t-grid-item>
37
-          </t-grid>
38
-        </swiper-item>
39
-      </swiper>
40
-      <view class="{{classPrefix}}__nav">
41
-        <view class="{{classPrefix}}__dots">
42
-          <view
43
-            wx:for="{{gridThemeItems.length}}"
44
-            wx:key="index"
45
-            class="{{classPrefix}}__dots-item {{index === currentSwiperIndex ? prefix + '-is-active' : ''}}"
46
-          />
47
-        </view>
48
-      </view>
49
-    </view>
50
-  </block>
51
-</template>
1
+<template name="grid"><block wx:if="{{gridThemeItems.length === 1}}"><t-grid align="center" t-class="{{classPrefix}}__grid" column="{{count / 2}}" class="{{classPrefix}}__single-wrap"><t-grid-item t-class="{{classPrefix}}__grid-item" class="{{classPrefix}}__square" wx:for="{{gridThemeItems[0]}}" wx:key="index" bind:tap="onSelect" data-index="{{index}}" icon="{{ { name: item.icon, color: item.color } }}" text="{{item.label || ''}}" image="{{item.image || ''}}" style="--td-grid-item-text-color: {{item.color}}"></t-grid-item></t-grid></block><block wx:elif="{{gridThemeItems.length > 1}}"><view class="{{classPrefix}}__swiper-wrap"><swiper style="height: 456rpx" autoplay="{{false}}" current="{{currentSwiperIndex}}" bindchange="onSwiperChange"><swiper-item wx:for="{{gridThemeItems}}" wx:key="index"><t-grid align="center" t-class="{{classPrefix}}__grid {{classPrefix}}__grid--swiper" column="{{count / 2}}"><t-grid-item t-class="{{classPrefix}}__grid-item" class="{{classPrefix}}__square" wx:for="{{item}}" wx:key="index" data-index="{{index}}" bind:tap="onSelect" icon="{{ { name: item.icon, color: item.color } }}" text="{{item.label || ''}}" image="{{item.image || ''}}" style="--td-grid-item-text-color: {{item.color}}"></t-grid-item></t-grid></swiper-item></swiper><view class="{{classPrefix}}__nav"><view class="{{classPrefix}}__dots"><view wx:for="{{gridThemeItems.length}}" wx:key="index" class="{{classPrefix}}__dots-item {{index === currentSwiperIndex ? prefix + '-is-active' : ''}}"/></view></view></view></block></template>

+ 1
- 20
miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml View File

@@ -1,20 +1 @@
1
-<template name="list">
2
-  <view
3
-    data-index="{{index}}"
4
-    style="{{ item.color ? 'color: ' + item.color : '' }}"
5
-    class="{{listThemeItemClass}}"
6
-    bind:tap="onSelect"
7
-    aria-role="{{ariaRole || 'button'}}"
8
-    aria-label="{{item.label || item}}"
9
-    tabindex="0"
10
-  >
11
-    <t-icon wx:if="{{item.icon}}" name="{{item.icon}}" class="{{classPrefix}}__list-item-icon" size="48rpx"></t-icon>
12
-    <view class="{{classPrefix}}__list-item-text">{{item.label || item}}</view>
13
-    <t-icon
14
-      wx:if="{{item.suffixIcon}}"
15
-      name="{{item.suffixIcon}}"
16
-      class="{{classPrefix}}__list-item-icon {{classPrefix}}__list-item-icon--suffix"
17
-      size="48rpx"
18
-    ></t-icon>
19
-  </view>
20
-</template>
1
+<template name="list"><view data-index="{{index}}" style="{{ item.color ? 'color: ' + item.color : '' }}" class="{{listThemeItemClass}}" bind:tap="onSelect" aria-role="{{ariaRole || 'button'}}" aria-label="{{item.label || item}}" tabindex="0"><t-icon wx:if="{{item.icon}}" name="{{item.icon}}" class="{{classPrefix}}__list-item-icon" size="48rpx"></t-icon><view class="{{classPrefix}}__list-item-text">{{item.label || item}}</view><t-icon wx:if="{{item.suffixIcon}}" name="{{item.suffixIcon}}" class="{{classPrefix}}__list-item-icon {{classPrefix}}__list-item-icon--suffix" size="48rpx"></t-icon></view></template>

+ 3
- 2
miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts View File

@@ -19,6 +19,7 @@ export interface TdActionSheetProps {
19 19
     items: {
20 20
         type: ArrayConstructor;
21 21
         value?: Array<string | ActionSheetItem>;
22
+        required?: boolean;
22 23
     };
23 24
     popupProps?: {
24 25
         type: ObjectConstructor;
@@ -40,11 +41,11 @@ export interface TdActionSheetProps {
40 41
         type: BooleanConstructor;
41 42
         value?: boolean;
42 43
     };
43
-    visible: {
44
+    visible?: {
44 45
         type: BooleanConstructor;
45 46
         value?: boolean;
46 47
     };
47
-    defaultVisible: {
48
+    defaultVisible?: {
48 49
         type: BooleanConstructor;
49 50
         value?: boolean;
50 51
     };

+ 1
- 1
miniprogram_npm/tdesign-miniprogram/action-sheet/type.js View File

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

+ 1
- 1
miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.d.ts View File

@@ -23,6 +23,6 @@ export default class AvatarGroup extends SuperComponent {
23 23
     methods: {
24 24
         setClass(): void;
25 25
         handleMax(): void;
26
-        handleChildCascading(): void;
26
+        onCollapsedItemClick(e: WechatMiniprogram.CustomEvent): void;
27 27
     };
28 28
 }

+ 1
- 86
miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.js View File

@@ -1,86 +1 @@
1
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
-    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
-    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
-    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
-    return c > 3 && r && Object.defineProperty(target, key, r), r;
6
-};
7
-import { SuperComponent, wxComponent } from '../common/src/index';
8
-import config from '../common/config';
9
-import avatarGroupProps from './props';
10
-const { prefix } = config;
11
-const name = `${prefix}-avatar-group`;
12
-let AvatarGroup = class AvatarGroup extends SuperComponent {
13
-    constructor() {
14
-        super(...arguments);
15
-        this.externalClasses = [`${prefix}-class`, `${prefix}-class-content`, `${prefix}-class-image`];
16
-        this.properties = avatarGroupProps;
17
-        this.data = {
18
-            prefix,
19
-            classPrefix: name,
20
-            hasChild: true,
21
-            length: 0,
22
-            className: '',
23
-        };
24
-        this.options = {
25
-            multipleSlots: true,
26
-        };
27
-        this.relations = {
28
-            '../avatar/avatar': {
29
-                type: 'descendant',
30
-            },
31
-        };
32
-        this.lifetimes = {
33
-            attached() {
34
-                this.setClass();
35
-            },
36
-            ready() {
37
-                this.setData({
38
-                    length: this.$children.length,
39
-                });
40
-                this.handleMax();
41
-                this.handleChildCascading();
42
-            },
43
-        };
44
-        this.observers = {
45
-            'cascading, size'() {
46
-                this.setClass();
47
-            },
48
-        };
49
-        this.methods = {
50
-            setClass() {
51
-                const { cascading, size } = this.properties;
52
-                const direction = cascading.split('-')[0];
53
-                const classList = [
54
-                    name,
55
-                    `${prefix}-class`,
56
-                    `${name}-offset-${direction}-${size.indexOf('px') > -1 ? 'medium' : size}`,
57
-                ];
58
-                this.setData({
59
-                    className: classList.join(' '),
60
-                });
61
-            },
62
-            handleMax() {
63
-                const { max } = this.data;
64
-                const len = this.$children.length;
65
-                if (!max || max > len)
66
-                    return;
67
-                const restAvatars = this.$children.splice(max, len - max);
68
-                restAvatars.forEach((child) => {
69
-                    child.hide();
70
-                });
71
-            },
72
-            handleChildCascading() {
73
-                if (this.properties.cascading === 'right-up')
74
-                    return;
75
-                const defaultZIndex = 100;
76
-                this.$children.forEach((child, index) => {
77
-                    child.updateCascading(defaultZIndex - index * 10);
78
-                });
79
-            },
80
-        };
81
-    }
82
-};
83
-AvatarGroup = __decorate([
84
-    wxComponent()
85
-], AvatarGroup);
86
-export default AvatarGroup;
1
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import avatarGroupProps from"./props";const{prefix:prefix}=config,name=`${prefix}-avatar-group`;let AvatarGroup=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-image`],this.properties=avatarGroupProps,this.data={prefix:prefix,classPrefix:name,hasChild:!0,length:0,className:""},this.options={multipleSlots:!0},this.relations={"../avatar/avatar":{type:"descendant"}},this.lifetimes={attached(){this.setClass()},ready(){this.setData({length:this.$children.length}),this.handleMax()}},this.observers={"cascading, size"(){this.setClass()}},this.methods={setClass(){const{cascading:e,size:t}=this.properties,s=e.split("-")[0],a=[name,`${prefix}-class`,`${name}-offset-${s}`,`${name}-offset-${s}-${t.indexOf("px")>-1?"medium":t||"medium"}`];this.setData({className:a.join(" ")})},handleMax(){const{max:e}=this.data,t=this.$children.length;if(!e||e>t)return;this.$children.splice(e,t-e).forEach(e=>{e.hide()})},onCollapsedItemClick(e){this.triggerEvent("collapsed-item-click",e.detail)}}}};AvatarGroup=__decorate([wxComponent()],AvatarGroup);export default AvatarGroup;

+ 1
- 7
miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.json View File

@@ -1,7 +1 @@
1
-{
2
-  "component": true,
3
-  "styleIsolation": "apply-shared",
4
-  "usingComponents": {
5
-    "t-avatar": "../avatar/avatar"
6
-  }
7
-}
1
+{"component":true,"styleIsolation":"shared","usingComponents":{"t-avatar":"../avatar/avatar"}}

+ 1
- 20
miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxml View File

@@ -1,20 +1 @@
1
-<wxs src="../common/utils.wxs" module="_" />
2
-
3
-<view style="{{_._style([style, customStyle])}}" class="{{className}} class">
4
-  <slot />
5
-  <!-- 自定义折叠元素 -->
6
-  <view class="{{classPrefix}}__collapse--slot">
7
-    <slot name="collapse-avatar" />
8
-  </view>
9
-  <!-- 默认折叠元素 -->
10
-  <view class="{{classPrefix}}__collapse--default" wx:if="{{max && (max < length)}}">
11
-    <t-avatar
12
-      t-class-image="{{prefix}}-avatar--border {{prefix}}-avatar--border-{{size}} {{prefix}}-class-image"
13
-      t-class-content="{{prefix}}-class-content"
14
-      size="{{size}}"
15
-      icon="{{ collapseAvatar ? '' : 'user-add'}}"
16
-      aria-role="none"
17
-      >{{collapseAvatar}}</t-avatar
18
-    >
19
-  </view>
20
-</view>
1
+<wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="{{className}} class"><slot/><view class="{{classPrefix}}__collapse--slot"><slot name="collapse-avatar"/></view><view class="{{classPrefix}}__collapse--default" wx:if="{{max && (max < length)}}" bindtap="onCollapsedItemClick"><t-avatar t-class-image="{{prefix}}-avatar--border {{prefix}}-avatar--border-{{size}} {{prefix}}-class-image" t-class-content="{{prefix}}-class-content" size="{{size}}" shape="{{shape}}" icon="{{ collapseAvatar ? '' : 'user-add'}}" aria-role="none">{{collapseAvatar}}</t-avatar></view></view>

+ 59
- 137
miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxss View File

@@ -1,137 +1,59 @@
1
-.t-float-left {
2
-  float: left;
3
-}
4
-.t-float-right {
5
-  float: right;
6
-}
7
-@keyframes tdesign-fade-out {
8
-  from {
9
-    opacity: 1;
10
-  }
11
-  to {
12
-    opacity: 0;
13
-  }
14
-}
15
-.hotspot-expanded.relative {
16
-  position: relative;
17
-}
18
-.hotspot-expanded::after {
19
-  content: '';
20
-  display: block;
21
-  position: absolute;
22
-  left: 0;
23
-  top: 0;
24
-  right: 0;
25
-  bottom: 0;
26
-  transform: scale(1.5);
27
-}
28
-.t-avatar {
29
-  display: flex;
30
-  align-items: center;
31
-  justify-content: center;
32
-  box-sizing: border-box;
33
-  background-color: var(--td-avatar-bg-color, var(--td-brand-color-light-active, var(--td-primary-color-2, #d9e1ff)));
34
-  color: var(--td-avatar-content-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
35
-}
36
-.t-avatar__wrapper {
37
-  display: inline-flex;
38
-  position: relative;
39
-  vertical-align: top;
40
-  margin-left: var(--td-avatar-margin-left, 0);
41
-}
42
-.t-avatar--large {
43
-  width: var(--td-avatar-large-width, 128rpx);
44
-  height: var(--td-avatar-large-width, 128rpx);
45
-  font-size: var(--td-avatar-text-large-font-size, 16px);
46
-}
47
-.t-avatar--large .t-avatar__icon {
48
-  font-size: var(--td-avatar-icon-large-font-size, 64rpx);
49
-}
50
-.t-avatar--medium {
51
-  width: var(--td-avatar-medium-width, 96rpx);
52
-  height: var(--td-avatar-medium-width, 96rpx);
53
-  font-size: var(--td-avatar-text-medium-font-size, var(--td-font-size-base, 28rpx));
54
-}
55
-.t-avatar--medium .t-avatar__icon {
56
-  font-size: var(--td-avatar-icon-medium-font-size, 48rpx);
57
-}
58
-.t-avatar--small {
59
-  width: var(--td-avatar-small-width, 80rpx);
60
-  height: var(--td-avatar-small-width, 80rpx);
61
-  font-size: var(--td-avatar-text-small-font-size, var(--td-font-size-s, 24rpx));
62
-}
63
-.t-avatar--small .t-avatar__icon {
64
-  font-size: var(--td-avatar-icon-small-font-size, 40rpx);
65
-}
66
-.t-avatar .t-image,
67
-.t-avatar__image {
68
-  width: 100%;
69
-  height: 100%;
70
-}
71
-.t-avatar--circle {
72
-  border-radius: var(--td-avatar-circle-border-radius, var(--td-radius-circle, 50%));
73
-  overflow: hidden;
74
-}
75
-.t-avatar--round {
76
-  border-radius: var(--td-avatar-round-border-radius, var(--td-radius-default, 12rpx));
77
-  overflow: hidden;
78
-}
79
-.t-avatar__text,
80
-.t-avatar__icon {
81
-  width: 100%;
82
-  height: 100%;
83
-  display: flex;
84
-  align-items: center;
85
-  justify-content: center;
86
-}
87
-.t-avatar__text:empty,
88
-.t-avatar__icon:empty {
89
-  width: 0;
90
-  height: 0;
91
-}
92
-.t-avatar--border {
93
-  border-color: var(--td-avatar-border-color, #fff);
94
-  border-style: solid;
95
-}
96
-.t-avatar--border-small {
97
-  border-width: var(--td-avatar-border-width-small, 4rpx);
98
-}
99
-.t-avatar--border-medium {
100
-  border-width: var(--td-avatar-border-width-medium, 6rpx);
101
-}
102
-.t-avatar--border-large {
103
-  border-width: var(--td-avatar-border-width-large, 8rpx);
104
-}
105
-.t-avatar-group {
106
-  display: inline-flex;
107
-  align-items: center;
108
-}
109
-.t-avatar-group-offset-left-small {
110
-  --td-avatar-margin-left: var(--td-avatar-group-margin-left-small, -4px);
111
-}
112
-.t-avatar-group-offset-left-medium {
113
-  --td-avatar-margin-left: var(--td-avatar-group-margin-left-medium, -6px);
114
-}
115
-.t-avatar-group-offset-left-large {
116
-  --td-avatar-margin-left: var(--td-avatar-group-margin-left-large, -8px);
117
-}
118
-.t-avatar-group-offset-right-small {
119
-  --td-avatar-margin-left: var(--td-avatar-group-margin-left-small, -4px);
120
-}
121
-.t-avatar-group-offset-right-medium {
122
-  --td-avatar-margin-left: var(--td-avatar-group-margin-left-medium, -6px);
123
-}
124
-.t-avatar-group-offset-right-large {
125
-  --td-avatar-margin-left: var(--td-avatar-group-margin-left-large, -8px);
126
-}
127
-.t-avatar-group__collapse--slot {
128
-  float: left;
129
-}
130
-.t-avatar-group__collapse--slot:not(:empty) + .t-avatar-group__collapse--default {
131
-  display: none;
132
-  float: left;
133
-}
134
-.t-avatar-group__collapse--slot:empty + .t-avatar-group__collapse--default {
135
-  display: block;
136
-  float: left;
137
-}
1
+@import '../common/style/index.wxss';.t-avatar-group{display:inline-flex;flex-wrap:wrap;align-items:center;}
2
+.t-avatar-group-offset-left .t-avatar__wrapper,.t-avatar-group-offset-right .t-avatar__wrapper{padding:var(--td-avatar-group-line-spacing,4rpx) 0;}
3
+.t-avatar-group-offset-left-small,.t-avatar-group-offset-right-small{--td-avatar-margin-left:var(--td-avatar-group-margin-left-small, -16rpx);}
4
+.t-avatar-group-offset-left-medium,.t-avatar-group-offset-right-medium{--td-avatar-margin-left:var(--td-avatar-group-margin-left-medium, -16rpx);}
5
+.t-avatar-group-offset-left-large,.t-avatar-group-offset-right-large{--td-avatar-margin-left:var(--td-avatar-group-margin-left-large, -16rpx);}
6
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(1){z-index:calc(var(--td-avatar-group-init-z-index,50) - 1);}
7
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(2){z-index:calc(var(--td-avatar-group-init-z-index,50) - 2);}
8
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(3){z-index:calc(var(--td-avatar-group-init-z-index,50) - 3);}
9
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(4){z-index:calc(var(--td-avatar-group-init-z-index,50) - 4);}
10
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(5){z-index:calc(var(--td-avatar-group-init-z-index,50) - 5);}
11
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(6){z-index:calc(var(--td-avatar-group-init-z-index,50) - 6);}
12
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(7){z-index:calc(var(--td-avatar-group-init-z-index,50) - 7);}
13
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(8){z-index:calc(var(--td-avatar-group-init-z-index,50) - 8);}
14
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(9){z-index:calc(var(--td-avatar-group-init-z-index,50) - 9);}
15
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(10){z-index:calc(var(--td-avatar-group-init-z-index,50) - 10);}
16
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(11){z-index:calc(var(--td-avatar-group-init-z-index,50) - 11);}
17
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(12){z-index:calc(var(--td-avatar-group-init-z-index,50) - 12);}
18
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(13){z-index:calc(var(--td-avatar-group-init-z-index,50) - 13);}
19
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(14){z-index:calc(var(--td-avatar-group-init-z-index,50) - 14);}
20
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(15){z-index:calc(var(--td-avatar-group-init-z-index,50) - 15);}
21
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(16){z-index:calc(var(--td-avatar-group-init-z-index,50) - 16);}
22
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(17){z-index:calc(var(--td-avatar-group-init-z-index,50) - 17);}
23
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(18){z-index:calc(var(--td-avatar-group-init-z-index,50) - 18);}
24
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(19){z-index:calc(var(--td-avatar-group-init-z-index,50) - 19);}
25
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(20){z-index:calc(var(--td-avatar-group-init-z-index,50) - 20);}
26
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(21){z-index:calc(var(--td-avatar-group-init-z-index,50) - 21);}
27
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(22){z-index:calc(var(--td-avatar-group-init-z-index,50) - 22);}
28
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(23){z-index:calc(var(--td-avatar-group-init-z-index,50) - 23);}
29
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(24){z-index:calc(var(--td-avatar-group-init-z-index,50) - 24);}
30
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(25){z-index:calc(var(--td-avatar-group-init-z-index,50) - 25);}
31
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(26){z-index:calc(var(--td-avatar-group-init-z-index,50) - 26);}
32
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(27){z-index:calc(var(--td-avatar-group-init-z-index,50) - 27);}
33
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(28){z-index:calc(var(--td-avatar-group-init-z-index,50) - 28);}
34
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(29){z-index:calc(var(--td-avatar-group-init-z-index,50) - 29);}
35
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(30){z-index:calc(var(--td-avatar-group-init-z-index,50) - 30);}
36
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(31){z-index:calc(var(--td-avatar-group-init-z-index,50) - 31);}
37
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(32){z-index:calc(var(--td-avatar-group-init-z-index,50) - 32);}
38
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(33){z-index:calc(var(--td-avatar-group-init-z-index,50) - 33);}
39
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(34){z-index:calc(var(--td-avatar-group-init-z-index,50) - 34);}
40
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(35){z-index:calc(var(--td-avatar-group-init-z-index,50) - 35);}
41
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(36){z-index:calc(var(--td-avatar-group-init-z-index,50) - 36);}
42
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(37){z-index:calc(var(--td-avatar-group-init-z-index,50) - 37);}
43
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(38){z-index:calc(var(--td-avatar-group-init-z-index,50) - 38);}
44
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(39){z-index:calc(var(--td-avatar-group-init-z-index,50) - 39);}
45
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(40){z-index:calc(var(--td-avatar-group-init-z-index,50) - 40);}
46
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(41){z-index:calc(var(--td-avatar-group-init-z-index,50) - 41);}
47
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(42){z-index:calc(var(--td-avatar-group-init-z-index,50) - 42);}
48
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(43){z-index:calc(var(--td-avatar-group-init-z-index,50) - 43);}
49
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(44){z-index:calc(var(--td-avatar-group-init-z-index,50) - 44);}
50
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(45){z-index:calc(var(--td-avatar-group-init-z-index,50) - 45);}
51
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(46){z-index:calc(var(--td-avatar-group-init-z-index,50) - 46);}
52
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(47){z-index:calc(var(--td-avatar-group-init-z-index,50) - 47);}
53
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(48){z-index:calc(var(--td-avatar-group-init-z-index,50) - 48);}
54
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(49){z-index:calc(var(--td-avatar-group-init-z-index,50) - 49);}
55
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(50){z-index:calc(var(--td-avatar-group-init-z-index,50) - 50);}
56
+.t-avatar-group__collapse--default,.t-avatar-group__collapse--slot{z-index:0;font-weight:600;}
57
+.t-avatar-group__collapse--slot{float:left;}
58
+.t-avatar-group__collapse--slot:not(:empty)+.t-avatar-group__collapse--default{display:none;float:left;}
59
+.t-avatar-group__collapse--slot:empty+.t-avatar-group__collapse--default{display:block;float:left;}

+ 1
- 20
miniprogram_npm/tdesign-miniprogram/avatar-group/props.js View File

@@ -1,20 +1 @@
1
-const props = {
2
-    cascading: {
3
-        type: String,
4
-        value: 'left-up',
5
-    },
6
-    collapseAvatar: {
7
-        type: String,
8
-    },
9
-    externalClasses: {
10
-        type: Array,
11
-    },
12
-    max: {
13
-        type: Number,
14
-    },
15
-    size: {
16
-        type: String,
17
-        value: 'medium',
18
-    },
19
-};
20
-export default props;
1
+const props={cascading:{type:String,value:"left-up"},collapseAvatar:{type:String},max:{type:Number},shape:{type:String},size:{type:String,value:""}};export default props;

+ 5
- 8
miniprogram_npm/tdesign-miniprogram/avatar-group/type.d.ts View File

@@ -1,3 +1,4 @@
1
+import { ShapeEnum } from '../common/common';
1 2
 export interface TdAvatarGroupProps {
2 3
     cascading?: {
3 4
         type: StringConstructor;
@@ -7,18 +8,14 @@ export interface TdAvatarGroupProps {
7 8
         type: StringConstructor;
8 9
         value?: string;
9 10
     };
10
-    style?: {
11
-        type: StringConstructor;
12
-        value?: string;
13
-    };
14
-    externalClasses?: {
15
-        type: ArrayConstructor;
16
-        value?: ['t-class', 't-class-image', 't-class-content'];
17
-    };
18 11
     max?: {
19 12
         type: NumberConstructor;
20 13
         value?: number;
21 14
     };
15
+    shape?: {
16
+        type: StringConstructor;
17
+        value?: ShapeEnum;
18
+    };
22 19
     size?: {
23 20
         type: StringConstructor;
24 21
         value?: string;

+ 1
- 1
miniprogram_npm/tdesign-miniprogram/avatar-group/type.js View File

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

+ 0
- 56
miniprogram_npm/tdesign-miniprogram/avatar/README.en-US.md View File

@@ -1,60 +0,0 @@
1
-:: BASE_DOC ::
2
-
3
-## API
4
-### Avatar Props
5
-
6
-name | type | default | description | required
7
-alt | String | - | show it when url is not valid | N
8
-badge-props | Object | - | Typescript:`BadgeProps`,[Badge API Documents](./badge?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/avatar/type.ts) | N
9
-bordered | Boolean | false | \- | N
10
-external-classes | Array | - | `['t-class', 't-class-image', 't-class-icon', 't-class-alt', 't-class-content']` | N
11
-hide-on-load-failed | Boolean | false | hide image when loading image failed | N
12
-icon | String / Object | - | \- | N
13
-image | String | - | images url | N
14
-image-props | Object | - | \- | N
15
-shape | String | circle | shape。options:circle/round。Typescript:`ShapeEnum ` `type ShapeEnum = 'circle' \| 'round'`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/avatar/type.ts) | N
16
-size | String | medium | size | N
17
-
18
-### Avatar Events
19
-
20
-name | params | description
21
-error | \- | trigger on image load failed
22
-
23
-### AvatarGroup Props
24
-
25
-name | type | default | description | required
26
-cascading | String | 'right-up' | multiple images cascading。options:left-up/right-up。Typescript:`CascadingValue` `type CascadingValue = 'left-up' \| 'right-up'`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/avatar-group/type.ts) | N
27
-collapse-avatar | String / Slot | - | \- | N
28
-external-classes | Array | - | `['t-class', 't-class-image', 't-class-content']` | N
29
-max | Number | - | \- | N
30
-size | String | medium | size | N
31
-
32
-
33
-### CSS Variables
34
-The component provides the following CSS variables, which can be used to customize styles.
35
-Name | Default Value | Description 
36
---td-avatar-group-margin-left-large | -8px | - 
37
---td-avatar-group-margin-left-medium | -6px | - 
38
---td-avatar-group-margin-left-small | -4px | - 
39
---td-avatar-bg-color | @brand-color-light-active | - 
40
---td-avatar-border-color | #fff | - 
41
---td-avatar-border-width-large | 8rpx | - 
42
---td-avatar-border-width-medium | 6rpx | - 
43
---td-avatar-border-width-small | 4rpx | - 
44
---td-avatar-circle-border-radius | @radius-circle | - 
45
---td-avatar-content-color | @brand-color | - 
46
---td-avatar-icon-large-font-size | 64rpx | - 
47
---td-avatar-icon-medium-font-size | 48rpx | - 
48
---td-avatar-icon-small-font-size | 40rpx | - 
49
---td-avatar-large-width | 128rpx | - 
50
---td-avatar-margin-left | 0 | - 
51
---td-avatar-medium-width | 96rpx | - 
52
---td-avatar-round-border-radius | @radius-default | - 
53
---td-avatar-small-width | 80rpx | - 
54
---td-avatar-text-large-font-size | 16px | - 
55
---td-avatar-text-medium-font-size | @font-size-base | - 
56
---td-avatar-text-small-font-size | @font-size-s | - 

+ 0
- 127
miniprogram_npm/tdesign-miniprogram/avatar/README.md View File

@@ -1,133 +0,0 @@
1
----
2
-title: Avatar 头像
3
-description: 用于展示用户头像信息,除了纯展示也可点击进入个人详情等操作。
4
-spline: data
5
-isComponent: true
6
----
7
-
8
-<span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20lines-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20functions-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20statements-99%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20branches-85%25-blue" /></span>
9
-## 引入
10
-
11
-全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
12
-
13
-```json
14
-"usingComponents": {
15
-  "t-avatar": "tdesign-miniprogram/avatar/avatar",
16
-  "t-avatar-group": "tdesign-miniprogram/avatar-group/avatar-group"
17
-}
18
-```
19
-
20
-## 代码演示
21
-
22
-<a href="https://developers.weixin.qq.com/s/a86Sfimw7VSO" title="在开发者工具中预览效果" target="_blank" rel="noopener noreferrer"> 在开发者工具中预览效果 </a>
23
-
24
-<blockquote style="background-color: #d9e1ff; font-size: 15px; line-height: 26px;margin: 16px 0 0;padding: 16px; border-radius: 6px; color: #0052d9" >
25
-<p>Tips: 请确保开发者工具为打开状态。导入开发者工具后,依次执行:npm i > 构建npm包 > 勾选 "将JS编译成ES5"</p>
26
-</blockquote>
27
-
28
-### 头像类型
29
-
30
-图片头像
31
-
32
-{{ image-avatar }}
33
-
34
-字符头像
35
-
36
-{{ character-avatar }}
37
-
38
-图标头像
39
-
40
-{{ icon-avatar }}
41
-
42
-徽标头像
43
-
44
-{{ badge-avatar }}
45
-
46
-
47
-### 组合头像
48
-
49
-纯展示
50
-
51
-{{ exhibition }}
52
-
53
-带操作
54
-
55
-{{ action }}
56
-
57
-### 头像尺寸
58
-
59
-头像 large/medium/small 尺寸
60
-
61
-{{ size }}
62
-
63
-## API
64
-### Avatar Props
65
-
66
-名称 | 类型 | 默认值 | 说明 | 必传
67
-alt | String | - | 头像替换文本,仅当图片加载失败时有效 | N
68
-badge-props | Object | - | 头像右上角提示信息,继承 Badge 组件的全部特性。如:小红点,或者数字。TS 类型:`BadgeProps`,[Badge API Documents](./badge?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/avatar/type.ts) | N
69
-bordered | Boolean | false | 已废弃。是否显示外边框 | N
70
-hide-on-load-failed | Boolean | false | 加载失败时隐藏图片 | N
71
-icon | String / Object | - | 图标。值为字符串表示图标名称,值为 `Object` 类型,表示透传至 `icon`。 | N
72
-image | String | - | 图片地址 | N
73
-image-props | Object | - | 透传至 Image 组件 | N
74
-shape | String | circle | 形状。可选项:circle/round。TS 类型:`ShapeEnum ` `type ShapeEnum = 'circle' \| 'round'`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/avatar/type.ts) | N
75
-size | String | medium | 尺寸,示例值:small/medium/large/24px/38px 等 | N
76
-
77
-### Avatar Events
78
-
79
-名称 | 参数 | 描述
80
-error | \- | 图片加载失败时触发
81
-
82
-### Avatar 外部样式类
83
-类名 | 说明
84
-t-class | 根节点样式类
85
-t-class-image | 图片样式类
86
-t-class-icon | 图标样式类
87
-t-class-alt | 替代文本样式类
88
-t-class-content | 内容样式类
89
-
90
-### AvatarGroup Props
91
-
92
-名称 | 类型 | 默认值 | 说明 | 必传
93
-cascading | String | 'left-up' | 图片之间的层叠关系,可选值:左侧图片在上和右侧图片在上。可选项:left-up/right-up。TS 类型:`CascadingValue` `type CascadingValue = 'left-up' \| 'right-up'`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/avatar-group/type.ts) | N
94
-collapse-avatar | String / Slot | - | 头像数量超出时,会出现一个头像折叠元素。该元素内容可自定义。默认为 `+N`。示例:`+5`,`...`, `更多` | N
95
-max | Number | - | 能够同时显示的最多头像数量 | N
96
-size | String | medium | 尺寸,示例值:small/medium/large/24px/38px 等。优先级低于 Avatar.size | N
97
-
98
-### AvatarGroup 外部样式类
99
-类名 | 说明
100
-t-class | 根节点样式类
101
-t-class-image | 图片样式类
102
-t-class-content | 内容样式类
103
-
104
-### CSS 变量
105
-组件提供了下列 CSS 变量,可用于自定义样式。
106
-名称 | 默认值 | 描述 
107
---td-avatar-group-margin-left-large | -8px | - 
108
---td-avatar-group-margin-left-medium | -6px | - 
109
---td-avatar-group-margin-left-small | -4px | - 
110
---td-avatar-bg-color | @brand-color-light-active | - 
111
---td-avatar-border-color | #fff | - 
112
---td-avatar-border-width-large | 8rpx | - 
113
---td-avatar-border-width-medium | 6rpx | - 
114
---td-avatar-border-width-small | 4rpx | - 
115
---td-avatar-circle-border-radius | @radius-circle | - 
116
---td-avatar-content-color | @brand-color | - 
117
---td-avatar-icon-large-font-size | 64rpx | - 
118
---td-avatar-icon-medium-font-size | 48rpx | - 
119
---td-avatar-icon-small-font-size | 40rpx | - 
120
---td-avatar-large-width | 128rpx | - 
121
---td-avatar-margin-left | 0 | - 
122
---td-avatar-medium-width | 96rpx | - 
123
---td-avatar-round-border-radius | @radius-default | - 
124
---td-avatar-small-width | 80rpx | - 
125
---td-avatar-text-large-font-size | 16px | - 
126
---td-avatar-text-medium-font-size | @font-size-base | - 
127
---td-avatar-text-small-font-size | @font-size-s | - 

+ 1
- 2
miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts View File

@@ -9,7 +9,7 @@ export default class Avatar extends SuperComponent {
9 9
         classPrefix: string;
10 10
         isShow: boolean;
11 11
         zIndex: number;
12
-        borderedWithGroup: boolean;
12
+        systemInfo: WechatMiniprogram.WindowInfo | WechatMiniprogram.SystemInfo;
13 13
     };
14 14
     relations: RelationsOptions;
15 15
     observers: {
@@ -17,7 +17,6 @@ export default class Avatar extends SuperComponent {
17 17
     };
18 18
     methods: {
19 19
         hide(): void;
20
-        updateCascading(zIndex: any): void;
21 20
         onLoadError(e: WechatMiniprogram.CustomEvent): void;
22 21
     };
23 22
 }

+ 1
- 76
miniprogram_npm/tdesign-miniprogram/avatar/avatar.js View File

@@ -1,76 +1 @@
1
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
-    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
-    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
-    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
-    return c > 3 && r && Object.defineProperty(target, key, r), r;
6
-};
7
-import { SuperComponent, wxComponent } from '../common/src/index';
8
-import config from '../common/config';
9
-import avatarProps from './props';
10
-import { setIcon } from '../common/utils';
11
-const { prefix } = config;
12
-const name = `${prefix}-avatar`;
13
-let Avatar = class Avatar extends SuperComponent {
14
-    constructor() {
15
-        super(...arguments);
16
-        this.options = {
17
-            multipleSlots: true,
18
-        };
19
-        this.externalClasses = [
20
-            `${prefix}-class`,
21
-            `${prefix}-class-image`,
22
-            `${prefix}-class-icon`,
23
-            `${prefix}-class-alt`,
24
-            `${prefix}-class-content`,
25
-        ];
26
-        this.properties = avatarProps;
27
-        this.data = {
28
-            prefix,
29
-            classPrefix: name,
30
-            isShow: true,
31
-            zIndex: 0,
32
-            borderedWithGroup: false,
33
-        };
34
-        this.relations = {
35
-            '../avatar-group/avatar-group': {
36
-                type: 'ancestor',
37
-                linked(parent) {
38
-                    var _a;
39
-                    this.parent = parent;
40
-                    this.setData({
41
-                        size: (_a = this.data.size) !== null && _a !== void 0 ? _a : parent.data.size,
42
-                        borderedWithGroup: true,
43
-                    });
44
-                },
45
-            },
46
-        };
47
-        this.observers = {
48
-            icon(icon) {
49
-                const obj = setIcon('icon', icon, '');
50
-                this.setData(Object.assign({}, obj));
51
-            },
52
-        };
53
-        this.methods = {
54
-            hide() {
55
-                this.setData({
56
-                    isShow: false,
57
-                });
58
-            },
59
-            updateCascading(zIndex) {
60
-                this.setData({ zIndex });
61
-            },
62
-            onLoadError(e) {
63
-                if (this.properties.hideOnLoadFailed) {
64
-                    this.setData({
65
-                        isShow: false,
66
-                    });
67
-                }
68
-                this.triggerEvent('error', e.detail);
69
-            },
70
-        };
71
-    }
72
-};
73
-Avatar = __decorate([
74
-    wxComponent()
75
-], Avatar);
76
-export default Avatar;
1
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import avatarProps from"./props";import{setIcon,systemInfo}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-avatar`;let Avatar=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`,`${prefix}-class-image`,`${prefix}-class-icon`,`${prefix}-class-alt`,`${prefix}-class-content`],this.properties=avatarProps,this.data={prefix:prefix,classPrefix:name,isShow:!0,zIndex:0,systemInfo:systemInfo},this.relations={"../avatar-group/avatar-group":{type:"ancestor",linked(t){this.parent=t,this.setData({shape:this.data.shape||t.data.shape||"circle",size:this.data.size||t.data.size,bordered:!0})}}},this.observers={icon(t){const s=setIcon("icon",t,"");this.setData(Object.assign({},s))}},this.methods={hide(){this.setData({isShow:!1})},onLoadError(t){this.properties.hideOnLoadFailed&&this.setData({isShow:!1}),this.triggerEvent("error",t.detail)}}}};Avatar=__decorate([wxComponent()],Avatar);export default Avatar;

+ 1
- 9
miniprogram_npm/tdesign-miniprogram/avatar/avatar.json View File

@@ -1,9 +1 @@
1
-{
2
-  "component": true,
3
-  "styleIsolation": "apply-shared",
4
-  "usingComponents": {
5
-    "t-icon": "../icon/icon",
6
-    "t-badge": "../badge/badge",
7
-    "t-image": "../image/image"
8
-  }
9
-}
1
+{"component":true,"styleIsolation":"shared","usingComponents":{"t-icon":"../icon/icon","t-badge":"../badge/badge","t-image":"../image/image"}}

+ 1
- 54
miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml View File

@@ -1,54 +1 @@
1
-<import src="../common/template/icon.wxml" />
2
-<wxs src="../common/utils.wxs" module="_" />
3
-<wxs src="./avatar.wxs" module="this" />
4
-
5
-<view
6
-  class="{{classPrefix}}__wrapper class {{prefix}}-class"
7
-  style="{{_._style([this.getStyles(isShow, zIndex), style, customStyle])}}"
8
->
9
-  <t-badge
10
-    color="{{badgeProps.color || ''}}"
11
-    content="{{badgeProps.content || ''}}"
12
-    count="{{badgeProps.count || 0}}"
13
-    dot="{{badgeProps.dot || false}}"
14
-    max-count="{{badgeProps.maxCount || 99}}"
15
-    offset="{{badgeProps.offset || []}}"
16
-    shape="{{badgeProps.shape || 'circle'}}"
17
-    show-zero="{{badgeProps.showZero || false}}"
18
-    size="{{badgeProps.size || 'medium'}}"
19
-    t-class="{{badgeProps.tClass}}"
20
-    t-class-content="{{badgeProps.tClassContent}}"
21
-    t-class-count="{{badgeProps.tClassCount}}"
22
-  >
23
-    <view
24
-      class="{{this.getClass(classPrefix, size, shape, bordered || borderedWithGroup)}} {{prefix}}-class-image"
25
-      style="{{this.getSize(size)}}"
26
-      aria-label="{{ ariaLabel || alt ||'头像'}}"
27
-      aria-role="{{ ariaRole || 'img'}}"
28
-      aria-hidden="{{ ariaHidden }}"
29
-    >
30
-      <t-image
31
-        wx:if="{{image}}"
32
-        t-class="{{prefix}}-image {{classPrefix}}__image"
33
-        t-class-load="{{prefix}}-class-alt"
34
-        style="{{imageProps && imageProps.style || ''}}"
35
-        src="{{image}}"
36
-        mode="{{imageProps && imageProps.mode || 'aspectFill'}}"
37
-        lazy="{{imageProps && imageProps.lazy || false}}"
38
-        loading="{{imageProps && imageProps.loading || 'default'}}"
39
-        shape="{{imageProps && imageProps.shape || 'round'}}"
40
-        webp="{{imageProps && imageProps.webp || false}}"
41
-        error="{{alt || 'default'}}"
42
-        bind:error="onLoadError"
43
-      />
44
-      <template
45
-        wx:elif="{{iconName || _.isNoEmptyObj(iconData)}}"
46
-        is="icon"
47
-        data="{{class: classPrefix + '__icon', tClass: prefix + '-class-icon', name: iconName, ...iconData}}"
48
-      />
49
-      <view wx:else class="{{classPrefix}}__text {{prefix}}-class-content">
50
-        <slot />
51
-      </view>
52
-    </view>
53
-  </t-badge>
54
-</view>
1
+<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><wxs src="./avatar.wxs" module="_this"/><view class="{{classPrefix}}__wrapper class {{prefix}}-class" style="{{_._style([_this.getStyles(isShow), style, customStyle])}}"><t-badge color="{{badgeProps.color || ''}}" content="{{badgeProps.content || ''}}" count="{{badgeProps.count || 0}}" dot="{{badgeProps.dot || false}}" max-count="{{badgeProps.maxCount || 99}}" offset="{{badgeProps.offset || []}}" shape="{{badgeProps.shape || 'circle'}}" show-zero="{{badgeProps.showZero || false}}" size="{{badgeProps.size || 'medium'}}" t-class="{{badgeProps.tClass}}" t-class-content="{{badgeProps.tClassContent}}" t-class-count="{{badgeProps.tClassCount}}"><view class="{{_this.getClass(classPrefix, size || 'medium', shape, bordered)}} {{prefix}}-class-image" style="{{_this.getSize(size, systemInfo)}}" aria-label="{{ ariaLabel || alt ||'头像'}}" aria-role="{{ ariaRole || 'img'}}" aria-hidden="{{ ariaHidden }}"><t-image wx:if="{{image}}" t-class="{{prefix}}-image {{classPrefix}}__image" t-class-load="{{prefix}}-class-alt" style="{{imageProps && imageProps.style || ''}}" src="{{image}}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'round'}}" webp="{{imageProps && imageProps.webp || false}}" error="{{alt || 'default'}}" bind:error="onLoadError"/><template wx:elif="{{iconName || _.isNoEmptyObj(iconData)}}" is="icon" data="{{tClass: classPrefix + '__icon ' + prefix + '-class-icon', name: iconName, ...iconData}}"/><view wx:else class="{{classPrefix}}__text {{prefix}}-class-content"><slot/></view></view></t-badge></view>

+ 12
- 8
miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs View File

@@ -11,16 +11,20 @@ module.exports = {
11 11
     return classNames.join(' ');
12 12
   },
13 13
 
14
-  getSize: function (size = 'medium') {
15
-    var pxIndex = size.indexOf('px');
16
-    if (pxIndex > -1) {
17
-      return 'width:' + size + ';height:' + size + ';font-size:' + ((size.slice(0, pxIndex) / 8) * 3 + 2) + 'px;';
14
+  getSize: function (size = 'medium', systemInfo) {
15
+    var res = getRegExp('^([0-9]+)(px|rpx)$').exec(size);
16
+
17
+    if (res && res.length >= 3) {
18
+      var px = res[1];
19
+      if (res[2] === 'rpx') {
20
+        px = Math.floor((systemInfo.windowWidth * res[1]) / 750);
21
+      }
22
+
23
+      return 'width:' + size + ';height:' + size + ';font-size:' + ((px / 8) * 3 + 2) + 'px';
18 24
     }
19 25
   },
20 26
 
21
-  getStyles: function (isShow, zIndex) {
22
-    var displayStyle = isShow ? '' : 'display: none;';
23
-    var zIndexStyle = zIndex ? 'z-index:' + zIndex + ';' : '';
24
-    return displayStyle + zIndexStyle;
27
+  getStyles: function (isShow) {
28
+    return isShow ? '' : 'display: none;';
25 29
   },
26 30
 };

+ 17
- 104
miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxss View File

@@ -1,104 +1,17 @@
1
-.t-float-left {
2
-  float: left;
3
-}
4
-.t-float-right {
5
-  float: right;
6
-}
7
-@keyframes tdesign-fade-out {
8
-  from {
9
-    opacity: 1;
10
-  }
11
-  to {
12
-    opacity: 0;
13
-  }
14
-}
15
-.hotspot-expanded.relative {
16
-  position: relative;
17
-}
18
-.hotspot-expanded::after {
19
-  content: '';
20
-  display: block;
21
-  position: absolute;
22
-  left: 0;
23
-  top: 0;
24
-  right: 0;
25
-  bottom: 0;
26
-  transform: scale(1.5);
27
-}
28
-.t-avatar {
29
-  display: flex;
30
-  align-items: center;
31
-  justify-content: center;
32
-  box-sizing: border-box;
33
-  background-color: var(--td-avatar-bg-color, var(--td-brand-color-light-active, var(--td-primary-color-2, #d9e1ff)));
34
-  color: var(--td-avatar-content-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
35
-}
36
-.t-avatar__wrapper {
37
-  display: inline-flex;
38
-  position: relative;
39
-  vertical-align: top;
40
-  margin-left: var(--td-avatar-margin-left, 0);
41
-}
42
-.t-avatar--large {
43
-  width: var(--td-avatar-large-width, 128rpx);
44
-  height: var(--td-avatar-large-width, 128rpx);
45
-  font-size: var(--td-avatar-text-large-font-size, 16px);
46
-}
47
-.t-avatar--large .t-avatar__icon {
48
-  font-size: var(--td-avatar-icon-large-font-size, 64rpx);
49
-}
50
-.t-avatar--medium {
51
-  width: var(--td-avatar-medium-width, 96rpx);
52
-  height: var(--td-avatar-medium-width, 96rpx);
53
-  font-size: var(--td-avatar-text-medium-font-size, var(--td-font-size-base, 28rpx));
54
-}
55
-.t-avatar--medium .t-avatar__icon {
56
-  font-size: var(--td-avatar-icon-medium-font-size, 48rpx);
57
-}
58
-.t-avatar--small {
59
-  width: var(--td-avatar-small-width, 80rpx);
60
-  height: var(--td-avatar-small-width, 80rpx);
61
-  font-size: var(--td-avatar-text-small-font-size, var(--td-font-size-s, 24rpx));
62
-}
63
-.t-avatar--small .t-avatar__icon {
64
-  font-size: var(--td-avatar-icon-small-font-size, 40rpx);
65
-}
66
-.t-avatar .t-image,
67
-.t-avatar__image {
68
-  width: 100%;
69
-  height: 100%;
70
-}
71
-.t-avatar--circle {
72
-  border-radius: var(--td-avatar-circle-border-radius, var(--td-radius-circle, 50%));
73
-  overflow: hidden;
74
-}
75
-.t-avatar--round {
76
-  border-radius: var(--td-avatar-round-border-radius, var(--td-radius-default, 12rpx));
77
-  overflow: hidden;
78
-}
79
-.t-avatar__text,
80
-.t-avatar__icon {
81
-  width: 100%;
82
-  height: 100%;
83
-  display: flex;
84
-  align-items: center;
85
-  justify-content: center;
86
-}
87
-.t-avatar__text:empty,
88
-.t-avatar__icon:empty {
89
-  width: 0;
90
-  height: 0;
91
-}
92
-.t-avatar--border {
93
-  border-color: var(--td-avatar-border-color, #fff);
94
-  border-style: solid;
95
-}
96
-.t-avatar--border-small {
97
-  border-width: var(--td-avatar-border-width-small, 4rpx);
98
-}
99
-.t-avatar--border-medium {
100
-  border-width: var(--td-avatar-border-width-medium, 6rpx);
101
-}
102
-.t-avatar--border-large {
103
-  border-width: var(--td-avatar-border-width-large, 8rpx);
104
-}
1
+@import '../common/style/index.wxss';.t-avatar{display:flex;align-items:center;justify-content:center;box-sizing:border-box;background-color:var(--td-avatar-bg-color,var(--td-brand-color-light-active,var(--td-primary-color-2,#d9e1ff)));color:var(--td-avatar-content-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
2
+.t-avatar__wrapper{display:inline-flex;position:relative;vertical-align:top;margin-left:var(--td-avatar-margin-left,0);}
3
+.t-avatar--large{width:var(--td-avatar-large-width,128rpx);height:var(--td-avatar-large-width,128rpx);font-size:var(--td-avatar-text-large-font-size,var(--td-font-size-xl,40rpx));}
4
+.t-avatar--large .t-avatar__icon{font-size:var(--td-avatar-icon-large-font-size,64rpx);}
5
+.t-avatar--medium{width:var(--td-avatar-medium-width,96rpx);height:var(--td-avatar-medium-width,96rpx);font-size:var(--td-avatar-text-medium-font-size,var(--td-font-size-m,32rpx));}
6
+.t-avatar--medium .t-avatar__icon{font-size:var(--td-avatar-icon-medium-font-size,48rpx);}
7
+.t-avatar--small{width:var(--td-avatar-small-width,80rpx);height:var(--td-avatar-small-width,80rpx);font-size:var(--td-avatar-text-small-font-size,var(--td-font-size-base,28rpx));}
8
+.t-avatar--small .t-avatar__icon{font-size:var(--td-avatar-icon-small-font-size,40rpx);}
9
+.t-avatar .t-image,.t-avatar__image{width:100%;height:100%;}
10
+.t-avatar--circle{border-radius:var(--td-avatar-circle-border-radius,var(--td-radius-circle,50%));overflow:hidden;}
11
+.t-avatar--round{border-radius:var(--td-avatar-round-border-radius,var(--td-radius-default,12rpx));overflow:hidden;}
12
+.t-avatar__icon,.t-avatar__text{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
13
+.t-avatar__icon:empty,.t-avatar__text:empty{width:0;height:0;}
14
+.t-avatar--border{border-color:var(--td-avatar-border-color,#fff);border-style:solid;}
15
+.t-avatar--border-small{border-width:var(--td-avatar-border-width-small,2rpx);}
16
+.t-avatar--border-medium{border-width:var(--td-avatar-border-width-medium,4rpx);}
17
+.t-avatar--border-large{border-width:var(--td-avatar-border-width-large,6rpx);}

+ 1
- 39
miniprogram_npm/tdesign-miniprogram/avatar/props.js View File

@@ -1,39 +1 @@
1
-const props = {
2
-    alt: {
3
-        type: String,
4
-        value: '',
5
-    },
6
-    badgeProps: {
7
-        type: Object,
8
-    },
9
-    bordered: {
10
-        type: Boolean,
11
-        value: false,
12
-    },
13
-    externalClasses: {
14
-        type: Array,
15
-    },
16
-    hideOnLoadFailed: {
17
-        type: Boolean,
18
-        value: false,
19
-    },
20
-    icon: {
21
-        type: null,
22
-    },
23
-    image: {
24
-        type: String,
25
-        value: '',
26
-    },
27
-    imageProps: {
28
-        type: Object,
29
-    },
30
-    shape: {
31
-        type: String,
32
-        value: 'circle',
33
-    },
34
-    size: {
35
-        type: String,
36
-        value: 'medium',
37
-    },
38
-};
39
-export default props;
1
+const props={alt:{type:String,value:""},badgeProps:{type:Object},bordered:{type:Boolean,value:!1},hideOnLoadFailed:{type:Boolean,value:!1},icon:{type:null},image:{type:String,value:""},imageProps:{type:Object},shape:{type:String},size:{type:String,value:""}};export default props;

+ 3
- 10
miniprogram_npm/tdesign-miniprogram/avatar/type.d.ts View File

@@ -1,4 +1,6 @@
1 1
 import { BadgeProps } from '../badge/index';
2
+import { ImageProps } from '../image/index';
3
+import { ShapeEnum } from '../common/common';
2 4
 export interface TdAvatarProps {
3 5
     alt?: {
4 6
         type: StringConstructor;
@@ -12,14 +14,6 @@ export interface TdAvatarProps {
12 14
         type: BooleanConstructor;
13 15
         value?: boolean;
14 16
     };
15
-    style?: {
16
-        type: StringConstructor;
17
-        value?: string;
18
-    };
19
-    externalClasses?: {
20
-        type: ArrayConstructor;
21
-        value?: ['t-class', 't-class-image', 't-class-icon', 't-class-alt', 't-class-content'];
22
-    };
23 17
     hideOnLoadFailed?: {
24 18
         type: BooleanConstructor;
25 19
         value?: boolean;
@@ -34,7 +28,7 @@ export interface TdAvatarProps {
34 28
     };
35 29
     imageProps?: {
36 30
         type: ObjectConstructor;
37
-        value?: object;
31
+        value?: ImageProps;
38 32
     };
39 33
     shape?: {
40 34
         type: StringConstructor;
@@ -45,4 +39,3 @@ export interface TdAvatarProps {
45 39
         value?: string;
46 40
     };
47 41
 }
48
-export declare type ShapeEnum = 'circle' | 'round';

+ 1
- 1
miniprogram_npm/tdesign-miniprogram/avatar/type.js View File

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

+ 0
- 30
miniprogram_npm/tdesign-miniprogram/back-top/README.en-US.md View File

@@ -1,33 +0,0 @@
1
-:: BASE_DOC ::
2
-
3
-## API
4
-
5
-### BackTop Props
6
-
7
-name | type | default | description | required
8
-external-classes | Array | - | `['t-class', 't-class-icon', 't-class-text']` | N
9
-visibility-height | Number | 200 | \- | N
10
-scroll-top | Number | 0 | \- | N
11
-fixed | Boolean | true | \- | N
12
-icon | String / Boolean / Object / Slot | - | \- | N
13
-text | String | '' | \- | N
14
-theme | String | round | options:round/half-round/round-dark/half-round-dark | N
15
-
16
-### BackTop Events
17
-
18
-name | params | description
19
-to-top | \- | \-
20
-
21
-
22
-### CSS Variables
23
-The component provides the following CSS variables, which can be used to customize styles.
24
-Name | Default Value | Description 
25
---td-back-top-round-bg-color | @font-white-1 | - 
26
---td-back-top-round-border-color | @component-border | - 
27
---td-back-top-round-border-radius | @radius-circle | - 
28
---td-back-top-round-color | @font-gray-1 | - 
29
---td-back-top-round-dark-bg-color | @gray-color-14 | - 
30
---td-back-top-round-dark-color | @font-white-1 | - 

+ 0
- 65
miniprogram_npm/tdesign-miniprogram/back-top/README.md View File

@@ -1,69 +0,0 @@
1
----
2
-title: BackTop 返回顶部
3
-description: 用于当页面过长往下滑动时,帮助用户快速回到页面顶部。
4
-spline: navigation
5
-isComponent: true
6
----
7
-
8
-<span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20lines-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20functions-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20statements-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20branches-100%25-blue" /></span>
9
-## 引入
10
-
11
-全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
12
-
13
-```json
14
-"usingComponents": {
15
-"t-back-top": "tdesign-miniprogram/back-top/back-top",
16
-}
17
-```
18
-
19
-## 代码演示
20
-
21
-<a href="https://developers.weixin.qq.com/s/2aR1demj7aS2" title="在开发者工具中预览效果" target="_blank" rel="noopener noreferrer"> 在开发者工具中预览效果 </a>
22
-
23
-<blockquote style="background-color: #d9e1ff; font-size: 15px; line-height: 26px;margin: 16px 0 0;padding: 16px; border-radius: 6px; color: #0052d9" >
24
-<p>Tips: 请确保开发者工具为打开状态。导入开发者工具后,依次执行:npm i > 构建npm包 > 勾选 "将JS编译成ES5"</p>
25
-</blockquote>
26
-
27
-
28
-<img src="https://tdesign.gtimg.com/miniprogram/readme/backtop-1.png" width="375px" height="50%">
29
-
30
-### 基础返回顶部
31
-
32
-{{ base }}
33
-
34
-## API
35
-### BackTop Props
36
-
37
-名称 | 类型 | 默认值 | 说明 | 必传
38
-external-classes | Array | - | 组件类名,分别用于设置外层元素、图标、文本内容等元素类名。`['t-class', 't-class-icon', 't-class-text']` | N
39
-visibility-height | Number | 200 | 滚动高度达到此参数值才出现 | N
40
-scroll-top | Number | 0 | 页面滚动距离 | N
41
-fixed | Boolean | true | 是否绝对定位固定到屏幕右下方 | N
42
-icon | String / Boolean / Object / Slot | true | 图标。值为 `false` 表示不显示图标。不传表示使用默认图标 `'backtop'` | N
43
-text | String | '' | 文案 | N
44
-theme | String | round | 预设的样式类型。可选项:round/half-round/round-dark/half-round-dark | N
45
-
46
-### BackTop Events
47
-
48
-名称 | 参数 | 描述
49
-to-top | \- | 点击触发
50
-
51
-### BackTop 外部样式类
52
-类名 | 说明
53
-t-class | 根节点样式类
54
-t-class-icon | 图标样式类
55
-t-class-text | 文本样式类
56
-
57
-### CSS 变量
58
-组件提供了下列 CSS 变量,可用于自定义样式。
59
-名称 | 默认值 | 描述 
60
---td-back-top-round-bg-color | @font-white-1 | - 
61
---td-back-top-round-border-color | @component-border | - 
62
---td-back-top-round-border-radius | @radius-circle | - 
63
---td-back-top-round-color | @font-gray-1 | - 
64
---td-back-top-round-dark-bg-color | @gray-color-14 | - 
65
---td-back-top-round-dark-color | @font-white-1 | - 

+ 1
- 73
miniprogram_npm/tdesign-miniprogram/back-top/back-top.js View File

@@ -1,73 +1 @@
1
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
-    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
-    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
-    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
-    return c > 3 && r && Object.defineProperty(target, key, r), r;
6
-};
7
-import { SuperComponent, wxComponent } from '../common/src/index';
8
-import config from '../common/config';
9
-import props from './props';
10
-import { calcIcon } from '../common/utils';
11
-const { prefix } = config;
12
-const name = `${prefix}-back-top`;
13
-let BackTop = class BackTop extends SuperComponent {
14
-    constructor() {
15
-        super(...arguments);
16
-        this.externalClasses = [`${prefix}-class`, `${prefix}-class-icon`, `${prefix}-class-text`];
17
-        this.options = {
18
-            multipleSlots: true,
19
-        };
20
-        this.properties = props;
21
-        this.relations = {
22
-            '../pull-down-refresh/pull-down-refresh': {
23
-                type: 'ancestor',
24
-            },
25
-        };
26
-        this.data = {
27
-            prefix,
28
-            classPrefix: name,
29
-            _icon: null,
30
-            hidden: true,
31
-        };
32
-        this.observers = {
33
-            icon() {
34
-                this.setIcon();
35
-            },
36
-            scrollTop(value) {
37
-                const { visibilityHeight } = this.properties;
38
-                this.setData({ hidden: value < visibilityHeight });
39
-            },
40
-        };
41
-        this.lifetimes = {
42
-            ready() {
43
-                const { icon } = this.properties;
44
-                this.setIcon(icon);
45
-            },
46
-        };
47
-        this.methods = {
48
-            setIcon(v) {
49
-                this.setData({
50
-                    _icon: calcIcon(v, 'backtop'),
51
-                });
52
-            },
53
-            toTop() {
54
-                var _a;
55
-                this.triggerEvent('to-top');
56
-                if (this.$parent) {
57
-                    (_a = this.$parent) === null || _a === void 0 ? void 0 : _a.setScrollTop(0);
58
-                    this.setData({ hidden: true });
59
-                }
60
-                else {
61
-                    wx.pageScrollTo({
62
-                        scrollTop: 0,
63
-                        duration: 300,
64
-                    });
65
-                }
66
-            },
67
-        };
68
-    }
69
-};
70
-BackTop = __decorate([
71
-    wxComponent()
72
-], BackTop);
73
-export default BackTop;
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}-back-top`;let BackTop=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-icon`,`${prefix}-class-text`],this.options={multipleSlots:!0},this.properties=props,this.relations={"../pull-down-refresh/pull-down-refresh":{type:"ancestor"}},this.data={prefix:prefix,classPrefix:name,_icon:null,hidden:!0},this.observers={icon(){this.setIcon()},scrollTop(o){const{visibilityHeight:t}=this.properties;this.setData({hidden:o<t})}},this.lifetimes={ready(){const{icon:o}=this.properties;this.setIcon(o)}},this.methods={setIcon(o){this.setData({_icon:calcIcon(o,"backtop")})},toTop(){var o;this.triggerEvent("to-top"),this.$parent?(null===(o=this.$parent)||void 0===o||o.setScrollTop(0),this.setData({hidden:!0})):wx.pageScrollTo({scrollTop:0,duration:300})}}}};BackTop=__decorate([wxComponent()],BackTop);export default BackTop;

+ 1
- 7
miniprogram_npm/tdesign-miniprogram/back-top/back-top.json View File

@@ -1,7 +1 @@
1
-{
2
-  "component": true,
3
-  "styleIsolation": "apply-shared",
4
-  "usingComponents": {
5
-    "t-icon": "../icon/icon"
6
-  }
7
-}
1
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}

+ 1
- 17
miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxml View File

@@ -1,17 +1 @@
1
-<import src="../common/template/icon.wxml" />
2
-<wxs src="../common/utils.wxs" module="_" />
3
-
4
-<view
5
-  style="{{_._style([style, customStyle])}}"
6
-  class="class {{prefix}}-class {{_.cls(classPrefix, [['fixed', fixed], theme])}}"
7
-  bindtap="toTop"
8
-  aria-role="button"
9
-  hidden="{{hidden}}"
10
->
11
-  <view class="{{classPrefix}}__icon" aria-hidden>
12
-    <slot name="icon" />
13
-    <template wx:if="{{_icon}}" is="icon" data="{{tClass: prefix + '-class-icon', ..._icon }}" />
14
-  </view>
15
-  <view wx:if="{{!!text}}" class="{{classPrefix}}__text--{{theme}} {{prefix}}-class-text">{{text}}</view>
16
-  <slot />
17
-</view>
1
+<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="class {{prefix}}-class {{_.cls(classPrefix, [['fixed', fixed], theme])}}" bindtap="toTop" aria-role="button" hidden="{{hidden}}"><view class="{{classPrefix}}__icon" aria-hidden><slot name="icon"/><template wx:if="{{_icon}}" is="icon" data="{{tClass: prefix + '-class-icon', ..._icon }}"/></view><view wx:if="{{!!text}}" class="{{classPrefix}}__text--{{theme}} {{prefix}}-class-text">{{text}}</view><slot/></view>

+ 10
- 91
miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss View File

@@ -1,91 +1,10 @@
1
-.t-float-left {
2
-  float: left;
3
-}
4
-.t-float-right {
5
-  float: right;
6
-}
7
-@keyframes tdesign-fade-out {
8
-  from {
9
-    opacity: 1;
10
-  }
11
-  to {
12
-    opacity: 0;
13
-  }
14
-}
15
-.hotspot-expanded.relative {
16
-  position: relative;
17
-}
18
-.hotspot-expanded::after {
19
-  content: '';
20
-  display: block;
21
-  position: absolute;
22
-  left: 0;
23
-  top: 0;
24
-  right: 0;
25
-  bottom: 0;
26
-  transform: scale(1.5);
27
-}
28
-.t-back-top {
29
-  display: flex;
30
-  flex-direction: column;
31
-  align-items: center;
32
-  justify-content: center;
33
-  background-color: transparent;
34
-  overflow: hidden;
35
-  box-sizing: border-box;
36
-  transition: height 0.2s;
37
-  height: auto;
38
-}
39
-.t-back-top--fixed {
40
-  position: fixed;
41
-  right: var(--td-spacer, 16rpx);
42
-  bottom: calc(var(--td-spacer-2, 32rpx) + env(safe-area-inset-bottom));
43
-}
44
-.t-back-top--round,
45
-.t-back-top--round-dark {
46
-  width: 96rpx;
47
-  height: 96rpx;
48
-  border-radius: var(--td-back-top-round-border-radius, var(--td-radius-circle, 50%));
49
-}
50
-.t-back-top--round,
51
-.t-back-top--half-round {
52
-  color: var(--td-back-top-round-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
53
-  border: 1rpx solid var(--td-back-top-round-border-color, var(--td-component-border, var(--td-gray-color-4, #dcdcdc)));
54
-  background-color: var(--td-back-top-round-bg-color, var(--td-bg-color-container, var(--td-font-white-1, #ffffff)));
55
-}
56
-.t-back-top--round-dark,
57
-.t-back-top--half-round-dark {
58
-  color: var(--td-back-top-round-dark-color, var(--td-font-white-1, #ffffff));
59
-  background-color: var(--td-back-top-round-dark-bg-color, var(--td-gray-color-13, #242424));
60
-}
61
-.t-back-top--half-round,
62
-.t-back-top--half-round-dark {
63
-  width: 120rpx;
64
-  height: 80rpx;
65
-  border-radius: 0;
66
-  border-top-left-radius: var(--td-back-top-half-round-border-radius, var(--td-radius-round, 999px));
67
-  border-bottom-left-radius: var(--td-back-top-half-round-border-radius, var(--td-radius-round, 999px));
68
-  flex-direction: row;
69
-  right: 0;
70
-}
71
-.t-back-top__text--round,
72
-.t-back-top__text--round-dark,
73
-.t-back-top__text--half-round,
74
-.t-back-top__text--half-round-dark {
75
-  font-size: var(--td-font-size, 20rpx);
76
-  line-height: 24rpx;
77
-}
78
-.t-back-top__text--half-round,
79
-.t-back-top__text--half-round-dark {
80
-  width: 48rpx;
81
-}
82
-.t-back-top__icon:not(:empty) + .t-back-top__text--half-round,
83
-.t-back-top__icon:not(:empty) + .t-back-top__text--half-round-dark {
84
-  margin-left: 8rpx;
85
-}
86
-.t-back-top__icon {
87
-  display: flex;
88
-  justify-content: center;
89
-  align-items: center;
90
-  font-size: 44rpx;
91
-}
1
+@import '../common/style/index.wxss';.t-back-top{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:transparent;overflow:hidden;box-sizing:border-box;transition:height .2s;height:auto;}
2
+.t-back-top--fixed{position:fixed;right:var(--td-spacer,16rpx);bottom:calc(var(--td-spacer-2,32rpx) + env(safe-area-inset-bottom));}
3
+.t-back-top--round,.t-back-top--round-dark{width:96rpx;height:96rpx;border-radius:var(--td-back-top-round-border-radius,var(--td-radius-circle,50%));}
4
+.t-back-top--half-round,.t-back-top--round{color:var(--td-back-top-round-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));border:1rpx solid var(--td-back-top-round-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));background-color:var(--td-back-top-round-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
5
+.t-back-top--half-round-dark,.t-back-top--round-dark{color:var(--td-back-top-round-dark-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-back-top-round-dark-bg-color,var(--td-gray-color-13,#242424));}
6
+.t-back-top--half-round,.t-back-top--half-round-dark{width:120rpx;height:80rpx;border-radius:0;border-top-left-radius:var(--td-back-top-half-round-border-radius,var(--td-radius-round,999px));border-bottom-left-radius:var(--td-back-top-half-round-border-radius,var(--td-radius-round,999px));flex-direction:row;right:0;}
7
+.t-back-top__text--half-round,.t-back-top__text--half-round-dark,.t-back-top__text--round,.t-back-top__text--round-dark{font-size:var(--td-font-size,20rpx);line-height:24rpx;}
8
+.t-back-top__text--half-round,.t-back-top__text--half-round-dark{width:48rpx;}
9
+.t-back-top__icon:not(:empty)+.t-back-top__text--half-round,.t-back-top__icon:not(:empty)+.t-back-top__text--half-round-dark{margin-left:8rpx;}
10
+.t-back-top__icon{display:flex;justify-content:center;align-items:center;font-size:44rpx;}

+ 1
- 30
miniprogram_npm/tdesign-miniprogram/back-top/props.js View File

@@ -1,30 +1 @@
1
-const props = {
2
-    externalClasses: {
3
-        type: Array,
4
-    },
5
-    visibilityHeight: {
6
-        type: Number,
7
-        value: 200,
8
-    },
9
-    scrollTop: {
10
-        type: Number,
11
-        value: 0,
12
-    },
13
-    fixed: {
14
-        type: Boolean,
15
-        value: true,
16
-    },
17
-    icon: {
18
-        type: null,
19
-        value: true,
20
-    },
21
-    text: {
22
-        type: String,
23
-        value: '',
24
-    },
25
-    theme: {
26
-        type: String,
27
-        value: 'round',
28
-    },
29
-};
30
-export default props;
1
+const props={fixed:{type:Boolean,value:!0},icon:{type:null,value:!0},scrollTop:{type:Number,value:0},style:{type:String,value:""},text:{type:String,value:""},theme:{type:String,value:"round"},visibilityHeight:{type:Number,value:200}};export default props;

+ 13
- 17
miniprogram_npm/tdesign-miniprogram/back-top/type.d.ts View File

@@ -1,27 +1,19 @@
1 1
 export interface TdBackTopProps {
2
-    style?: {
3
-        type: StringConstructor;
4
-        value?: string;
5
-    };
6
-    externalClasses?: {
7
-        type: ArrayConstructor;
8
-        value?: ['t-class', 't-class-icon', 't-class-text'];
9
-    };
10
-    visibilityHeight?: {
11
-        type: NumberConstructor;
12
-        value?: 200;
13
-    };
14
-    scrollTop?: {
15
-        type: NumberConstructor;
16
-        value: 0;
17
-    };
18 2
     fixed?: {
19 3
         type: BooleanConstructor;
20 4
         value?: boolean;
21 5
     };
22 6
     icon?: {
23 7
         type: null;
24
-        value?: boolean | string | object;
8
+        value?: string | boolean | object;
9
+    };
10
+    scrollTop?: {
11
+        type: NumberConstructor;
12
+        value?: number;
13
+    };
14
+    style?: {
15
+        type: StringConstructor;
16
+        value?: string;
25 17
     };
26 18
     text?: {
27 19
         type: StringConstructor;
@@ -31,4 +23,8 @@ export interface TdBackTopProps {
31 23
         type: StringConstructor;
32 24
         value?: 'round' | 'half-round' | 'round-dark' | 'half-round-dark';
33 25
     };
26
+    visibilityHeight?: {
27
+        type: NumberConstructor;
28
+        value?: number;
29
+    };
34 30
 }

+ 1
- 1
miniprogram_npm/tdesign-miniprogram/back-top/type.js View File

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

+ 0
- 34
miniprogram_npm/tdesign-miniprogram/badge/README.en-US.md View File

@@ -1,36 +0,0 @@
1
-:: BASE_DOC ::
2
-
3
-## API
4
-### Badge Props
5
-
6
-name | type | default | description | required
7
-color | String | - | \- | N
8
-content | String | - | \- | N
9
-count | String / Number / Slot | 0 | [see more ts definition](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N
10
-dot | Boolean | false | \- | N
11
-external-classes | Array | - | `['t-class', 't-class-content', 't-class-count']` | N
12
-max-count | Number | 99 | \- | N
13
-offset | Array | - | Typescript:`Array<string \| number>` | N
14
-shape | String | circle | options:circle/square/bubble/ribbon | N
15
-show-zero | Boolean | false | \- | N
16
-size | String | medium | options:medium/large | N
17
-
18
-
19
-### CSS Variables
20
-The component provides the following CSS variables, which can be used to customize styles.
21
-Name | Default Value | Description 
22
---td-badge-basic-height | 32rpx | - 
23
---td-badge-basic-padding | 8rpx | - 
24
---td-badge-basic-width | 32rpx | - 
25
---td-badge-bg-color | @error-color | - 
26
---td-badge-border-radius | 4rpx | - 
27
---td-badge-bubble-border-radius | 20rpx 20rpx 20rpx 1px | - 
28
---td-badge-dot-size | 16rpx | - 
29
---td-badge-font-size | @font-size-xs | - 
30
---td-badge-font-weight | 600 | - 
31
---td-badge-large-font-size | @font-size-s | - 
32
---td-badge-large-height | 40rpx | - 
33
---td-badge-large-padding | 10rpx | - 
34
---td-badge-text-color | @font-white-1 | - 

+ 0
- 74
miniprogram_npm/tdesign-miniprogram/badge/README.md View File

@@ -1,77 +0,0 @@
1
----
2
-title: Badge 徽标
3
-description: 用于告知用户,该区域的状态变化或者待处理任务的数量。
4
-spline: data
5
-isComponent: true
6
----
7
-
8
-<span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20lines-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20functions-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20statements-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20branches-100%25-blue" /></span>
9
-## 引入
10
-
11
-全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
12
-
13
-```json
14
-"usingComponents": {
15
-  "t-badge": "tdesign-miniprogram/badge/badge"
16
-}
17
-```
18
-
19
-## 代码演示
20
-
21
-<a href="https://developers.weixin.qq.com/s/TgaeQimG73SD" title="在开发者工具中预览效果" target="_blank" rel="noopener noreferrer"> 在开发者工具中预览效果 </a>
22
-
23
-<blockquote style="background-color: #d9e1ff; font-size: 15px; line-height: 26px;margin: 16px 0 0;padding: 16px; border-radius: 6px; color: #0052d9" >
24
-<p>Tips: 请确保开发者工具为打开状态。导入开发者工具后,依次执行:npm i > 构建npm包 > 勾选 "将JS编译成ES5"</p>
25
-</blockquote>
26
-
27
-### 组件类型
28
-
29
-{{ base }}
30
-
31
-### 组件样式
32
-
33
-{{ theme }}
34
-
35
-### 组件尺寸
36
-
37
-{{ size }}
38
-
39
-## API
40
-### Badge Props
41
-
42
-名称 | 类型 | 默认值 | 说明 | 必传
43
-color | String | - | 颜色 | N
44
-content | String | - | 徽标内容,示例:`content='自定义内容'`。也可以使用默认插槽定义 | N
45
-count | String / Number / Slot | 0 | 徽标右上角内容。可以是数字,也可以是文字。如:'new'/3/99+。特殊:值为空表示使用插槽渲染。[通用类型定义](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N
46
-dot | Boolean | false | 是否为红点 | N
47
-max-count | Number | 99 | 封顶的数字值 | N
48
-offset | Array | - | 设置状态点的位置偏移,示例:[-10, 20] 或 ['10em', '8rem']。TS 类型:`Array<string \| number>` | N
49
-shape | String | circle | 形状。可选项:circle/square/bubble/ribbon | N
50
-show-zero | Boolean | false | 当数值为 0 时,是否展示徽标 | N
51
-size | String | medium | 尺寸。可选项:medium/large | N
52
-
53
-### Badge 外部样式类
54
-类名 | 说明
55
-t-class | 根节点样式类
56
-t-class-count | 计数样式类
57
-t-class-content | 内容样式类
58
-
59
-### CSS 变量
60
-组件提供了下列 CSS 变量,可用于自定义样式。
61
-名称 | 默认值 | 描述 
62
---td-badge-basic-height | 32rpx | - 
63
---td-badge-basic-padding | 8rpx | - 
64
---td-badge-basic-width | 32rpx | - 
65
---td-badge-bg-color | @error-color | - 
66
---td-badge-border-radius | 4rpx | - 
67
---td-badge-bubble-border-radius | 20rpx 20rpx 20rpx 1px | - 
68
---td-badge-dot-size | 16rpx | - 
69
---td-badge-font-size | @font-size-xs | - 
70
---td-badge-font-weight | 600 | - 
71
---td-badge-large-font-size | @font-size-s | - 
72
---td-badge-large-height | 40rpx | - 
73
---td-badge-large-padding | 10rpx | - 
74
---td-badge-text-color | @font-white-1 | - 

+ 1
- 43
miniprogram_npm/tdesign-miniprogram/badge/badge.js View File

@@ -1,43 +1 @@
1
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
-    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
-    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
-    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
-    return c > 3 && r && Object.defineProperty(target, key, r), r;
6
-};
7
-import { SuperComponent, wxComponent } from '../common/src/index';
8
-import config from '../common/config';
9
-import props from './props';
10
-import { uniqueFactory } from '../common/utils';
11
-const { prefix } = config;
12
-const name = `${prefix}-badge`;
13
-const getUniqueID = uniqueFactory('badge');
14
-let Badge = class Badge extends SuperComponent {
15
-    constructor() {
16
-        super(...arguments);
17
-        this.options = {
18
-            multipleSlots: true,
19
-        };
20
-        this.externalClasses = [`${prefix}-class`, `${prefix}-class-count`, `${prefix}-class-content`];
21
-        this.properties = props;
22
-        this.data = {
23
-            prefix,
24
-            classPrefix: name,
25
-            value: '',
26
-            labelID: '',
27
-            descriptionID: '',
28
-        };
29
-        this.lifetimes = {
30
-            ready() {
31
-                const uniqueID = getUniqueID();
32
-                this.setData({
33
-                    labelID: `${uniqueID}_label`,
34
-                    descriptionID: `${uniqueID}_description`,
35
-                });
36
-            },
37
-        };
38
-    }
39
-};
40
-Badge = __decorate([
41
-    wxComponent()
42
-], Badge);
43
-export default Badge;
1
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{uniqueFactory}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-badge`,getUniqueID=uniqueFactory("badge");let Badge=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`,`${prefix}-class-count`,`${prefix}-class-content`],this.properties=props,this.data={prefix:prefix,classPrefix:name,value:"",labelID:"",descriptionID:""},this.lifetimes={ready(){const e=getUniqueID();this.setData({labelID:`${e}_label`,descriptionID:`${e}_description`})}}}};Badge=__decorate([wxComponent()],Badge);export default Badge;

+ 1
- 5
miniprogram_npm/tdesign-miniprogram/badge/badge.json View File

@@ -1,5 +1 @@
1
-{
2
-  "component": true,
3
-  "styleIsolation": "apply-shared",
4
-  "usingComponents": {}
5
-}
1
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}

+ 1
- 44
miniprogram_npm/tdesign-miniprogram/badge/badge.wxml View File

@@ -1,44 +1 @@
1
-<wxs src="./badge.wxs" module="this" />
2
-<wxs src="../common/utils.wxs" module="_" />
3
-
4
-<!--
5
-  1. labelID 用于描述当前元素的文本
6
-  2. descriptionID 用于描述badge消息的文本
7
-  3. role=option一般用于多个内容合并焦点连续朗读
8
--->
9
-
10
-<view
11
-  style="{{_._style([style, customStyle])}}"
12
-  class="{{this.getBadgeOuterClass({shape})}} class {{prefix}}-class"
13
-  aria-labelledby="{{labelID}}"
14
-  aria-describedby="{{descriptionID}}"
15
-  aria-role="{{ ariaRole || 'option'}}"
16
->
17
-  <view id="{{labelID}}" class="{{classPrefix}}__content {{prefix}}-class-content" aria-hidden="true">
18
-    <slot wx:if="{{!content}}" class="{{classPrefix}}__content-slot" />
19
-    <text wx:else class="{{classPrefix}}__content-text">{{content}}</text>
20
-  </view>
21
-  <view
22
-    aria-hidden="true"
23
-    aria-label="{{ ariaLabel || _.getBadgeAriaLabel({dot, count, maxCount}) }}"
24
-    wx:if="{{this.isShowBadge({dot,count,showZero})}}"
25
-    id="{{descriptionID}}"
26
-    class="{{this.getBadgeInnerClass({dot, size, shape, count})}} {{prefix}}-has-count {{prefix}}-class-count"
27
-    style="{{this.getBadgeStyles({color, offset})}}"
28
-    aria-hidden="true"
29
-    aria-label="{{ ariaLabel || _.getBadgeAriaLabel({dot, count, maxCount}) }}"
30
-  >
31
-    <view
32
-      wx:if="{{shape == 'ribbon'}}"
33
-      class="t-badge__ribbon--before"
34
-      style="{{color ? 'border-color: ' + color : ''}}"
35
-    />
36
-    {{ this.getBadgeValue({dot, count, maxCount}) }}
37
-    <view
38
-      wx:if="{{shape == 'ribbon'}}"
39
-      class="t-badge__ribbon--after"
40
-      style="{{color ? 'border-color: ' + color : ''}}"
41
-    />
42
-  </view>
43
-  <slot name="count" />
44
-</view>
1
+<wxs src="./badge.wxs" module="_this"/><wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="{{_this.getBadgeOuterClass({shape})}} class {{prefix}}-class" aria-labelledby="{{labelID}}" aria-describedby="{{descriptionID}}" aria-role="{{ ariaRole || 'option'}}"><view id="{{labelID}}" class="{{classPrefix}}__content {{prefix}}-class-content" aria-hidden="true"><slot wx:if="{{!content}}" class="{{classPrefix}}__content-slot"/><text wx:else class="{{classPrefix}}__content-text">{{content}}</text></view><view aria-hidden="true" aria-label="{{ ariaLabel || _.getBadgeAriaLabel({dot, count, maxCount}) }}" wx:if="{{_this.isShowBadge({dot,count,showZero})}}" id="{{descriptionID}}" class="{{_this.getBadgeInnerClass({dot, size, shape, count})}} {{prefix}}-has-count {{prefix}}-class-count" style="{{_._style([_this.getBadgeStyles({color, offset})])}}" aria-hidden="true" aria-label="{{ ariaLabel || _.getBadgeAriaLabel({dot, count, maxCount}) }}">{{ _this.getBadgeValue({dot, count, maxCount}) }}</view><slot name="count"/></view>

+ 2
- 1
miniprogram_npm/tdesign-miniprogram/badge/badge.wxs View File

@@ -26,7 +26,8 @@ var getBadgeStyles = function (props) {
26 26
     styleStr += 'background:' + props.color + ';';
27 27
   }
28 28
   if (props.offset[0]) {
29
-    styleStr += 'left: calc(100% + ' + (hasUnit(props.offset[0].toString()) ? props.offset[0] : props.offset[0] + 'px') + ');';
29
+    styleStr +=
30
+      'left: calc(100% + ' + (hasUnit(props.offset[0].toString()) ? props.offset[0] : props.offset[0] + 'px') + ');';
30 31
   }
31 32
   if (props.offset[1]) {
32 33
     styleStr += 'top:' + (hasUnit(props.offset[1].toString()) ? props.offset[1] : props.offset[1] + 'px') + ';';

+ 15
- 110
miniprogram_npm/tdesign-miniprogram/badge/badge.wxss View File

@@ -1,110 +1,15 @@
1
-.t-float-left {
2
-  float: left;
3
-}
4
-.t-float-right {
5
-  float: right;
6
-}
7
-@keyframes tdesign-fade-out {
8
-  from {
9
-    opacity: 1;
10
-  }
11
-  to {
12
-    opacity: 0;
13
-  }
14
-}
15
-.hotspot-expanded.relative {
16
-  position: relative;
17
-}
18
-.hotspot-expanded::after {
19
-  content: '';
20
-  display: block;
21
-  position: absolute;
22
-  left: 0;
23
-  top: 0;
24
-  right: 0;
25
-  bottom: 0;
26
-  transform: scale(1.5);
27
-}
28
-.t-badge {
29
-  position: relative;
30
-  display: inline-block;
31
-  vertical-align: top;
32
-}
33
-.t-badge--basic {
34
-  z-index: 100;
35
-  padding: 0 var(--td-badge-basic-padding, 8rpx);
36
-  font-size: var(--td-badge-font-size, var(--td-font-size-xs, var(--td-font-size, 20rpx)));
37
-  color: var(--td-badge-text-color, var(--td-font-white-1, #ffffff));
38
-  background-color: var(--td-badge-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
39
-  text-align: center;
40
-  height: var(--td-badge-basic-height, 32rpx);
41
-  line-height: var(--td-badge-basic-height, 32rpx);
42
-  font-weight: var(--td-badge-font-weight, 600);
43
-  border-radius: var(--td-badge-border-radius, 4rpx);
44
-}
45
-.t-badge--dot {
46
-  height: var(--td-badge-dot-size, 16rpx);
47
-  border-radius: 50%;
48
-  min-width: var(--td-badge-dot-size, 16rpx);
49
-  padding: 0;
50
-}
51
-.t-badge--count {
52
-  min-width: var(--td-badge-basic-width, 32rpx);
53
-  white-space: nowrap;
54
-  box-sizing: border-box;
55
-}
56
-.t-badge--circle {
57
-  border-radius: calc(var(--td-badge-basic-height, 32rpx) / 2);
58
-}
59
-.t-badge__ribbon-outer {
60
-  position: absolute;
61
-  top: 0;
62
-  right: 0;
63
-}
64
-.t-badge__ribbon--before,
65
-.t-badge__ribbon--after {
66
-  content: '';
67
-  position: absolute;
68
-  width: 0;
69
-  height: 0;
70
-  bottom: 0;
71
-  border-bottom: var(--td-badge-basic-height, 32rpx) solid var(--td-badge-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
72
-}
73
-.t-badge__ribbon--before {
74
-  left: calc(-1 * var(--td-badge-basic-height, 32rpx) + 1rpx);
75
-  border-left: var(--td-badge-basic-height, 32rpx) solid transparent;
76
-}
77
-.t-badge__ribbon--after {
78
-  right: calc(-1 * var(--td-badge-basic-height, 32rpx) + 1rpx);
79
-  border-right: var(--td-badge-basic-height, 32rpx) solid transparent;
80
-}
81
-.t-badge--ribbon {
82
-  display: inline-block;
83
-  transform: rotate(45deg);
84
-  transform-origin: center center;
85
-  border-radius: 0;
86
-}
87
-.t-badge--bubble {
88
-  border-radius: var(--td-badge-bubble-border-radius, 20rpx 20rpx 20rpx 1px);
89
-}
90
-.t-badge--large {
91
-  font-size: var(--td-badge-large-font-size, var(--td-font-size-s, 24rpx));
92
-  height: var(--td-badge-large-height, 40rpx);
93
-  min-width: var(--td-badge-large-height, 40rpx);
94
-  line-height: var(--td-badge-large-height, 40rpx);
95
-  padding: 0 var(--td-badge-large-padding, 10rpx);
96
-}
97
-.t-badge--large.t-badge--circle {
98
-  border-radius: calc(var(--td-badge-large-height, 40rpx) / 2);
99
-}
100
-.t-badge__content:not(:empty) + .t-has-count {
101
-  transform: translate(-50%, -50%);
102
-  position: absolute;
103
-  left: 100%;
104
-  top: 0;
105
-}
106
-.t-badge__content-text {
107
-  display: block;
108
-  line-height: 48rpx;
109
-  color: var(--td-badge-content-text-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
110
-}
1
+@import '../common/style/index.wxss';.t-badge{position:relative;display:inline-flex;align-items:start;}
2
+.t-badge--basic{z-index:100;padding:0 var(--td-badge-basic-padding,8rpx);font-size:var(--td-badge-font-size,var(--td-font-size-xs,var(--td-font-size,20rpx)));color:var(--td-badge-text-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941)));text-align:center;height:var(--td-badge-basic-height,32rpx);line-height:var(--td-badge-basic-height,32rpx);font-weight:var(--td-badge-font-weight,600);border-radius:var(--td-badge-border-radius,4rpx);}
3
+.t-badge--dot{height:var(--td-badge-dot-size,16rpx);border-radius:50%;min-width:var(--td-badge-dot-size,16rpx);padding:0;}
4
+.t-badge--count{min-width:var(--td-badge-basic-width,32rpx);white-space:nowrap;box-sizing:border-box;}
5
+.t-badge--circle{border-radius:calc(var(--td-badge-basic-height,32rpx)/ 2);}
6
+.t-badge__ribbon-outer{position:absolute;top:0;right:0;}
7
+.t-badge--ribbon{position:relative;display:inline-block;transform-origin:center center;transform:translate(calc(50% - var(--td-badge-basic-height,32rpx) + 1rpx),calc(-50% + var(--td-badge-basic-height,32rpx) - 1rpx)) rotate(45deg);border-radius:0;}
8
+.t-badge--ribbon::after,.t-badge--ribbon::before{content:'';position:absolute;width:0;height:0;bottom:0;border-bottom:var(--td-badge-basic-height,32rpx) solid var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941)));font-size:0;}
9
+.t-badge--ribbon::before{left:calc(-1 * var(--td-badge-basic-height,32rpx) + 1rpx);border-left:var(--td-badge-basic-height,32rpx) solid transparent;}
10
+.t-badge--ribbon::after{right:calc(-1 * var(--td-badge-basic-height,32rpx) + 1rpx);border-right:var(--td-badge-basic-height,32rpx) solid transparent;}
11
+.t-badge--bubble{border-radius:var(--td-badge-bubble-border-radius,20rpx 20rpx 20rpx 1px);}
12
+.t-badge--large{font-size:var(--td-badge-large-font-size,var(--td-font-size-s,24rpx));height:var(--td-badge-large-height,40rpx);min-width:var(--td-badge-large-height,40rpx);line-height:var(--td-badge-large-height,40rpx);padding:0 var(--td-badge-large-padding,10rpx);}
13
+.t-badge--large.t-badge--circle{border-radius:calc(var(--td-badge-large-height,40rpx)/ 2);}
14
+.t-badge__content:not(:empty)+.t-has-count{transform-origin:center center;transform:translate(-50%,-50%);position:absolute;left:100%;top:0;}
15
+.t-badge__content-text{display:block;line-height:48rpx;color:var(--td-badge-content-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}

+ 1
- 3
miniprogram_npm/tdesign-miniprogram/badge/index.js View File

@@ -1,3 +1 @@
1
-export * from './type';
2
-export * from './props';
3
-export * from './badge';
1
+export*from"./type";export*from"./props";export*from"./badge";

+ 1
- 41
miniprogram_npm/tdesign-miniprogram/badge/props.js View File

@@ -1,41 +1 @@
1
-const props = {
2
-    color: {
3
-        type: String,
4
-        value: '',
5
-    },
6
-    content: {
7
-        type: String,
8
-        value: '',
9
-    },
10
-    count: {
11
-        type: null,
12
-        value: 0,
13
-    },
14
-    dot: {
15
-        type: Boolean,
16
-        value: false,
17
-    },
18
-    externalClasses: {
19
-        type: Array,
20
-    },
21
-    maxCount: {
22
-        type: Number,
23
-        value: 99,
24
-    },
25
-    offset: {
26
-        type: Array,
27
-    },
28
-    shape: {
29
-        type: String,
30
-        value: 'circle',
31
-    },
32
-    showZero: {
33
-        type: Boolean,
34
-        value: false,
35
-    },
36
-    size: {
37
-        type: String,
38
-        value: 'medium',
39
-    },
40
-};
41
-export default props;
1
+const props={color:{type:String,value:""},content:{type:String,value:""},count:{type:null,value:0},dot:{type:Boolean,value:!1},externalClasses:{type:Array},maxCount:{type:Number,value:99},offset:{type:Array},shape:{type:String,value:"circle"},showZero:{type:Boolean,value:!1},size:{type:String,value:"medium"}};export default props;

+ 1
- 1
miniprogram_npm/tdesign-miniprogram/badge/type.js View File

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

+ 0
- 219
miniprogram_npm/tdesign-miniprogram/button/README.en-US.md View File

@@ -1,223 +0,0 @@
1
----
2
-title: Button
3
-description: Buttons are used to open a closed-loop task, such as "delete" an object, "buy" an item, etc.
4
-spline: base
5
-isComponent: true
6
----
7
-
8
-<span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20lines-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20functions-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20statements-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20branches-83%25-blue" /></span>
9
-
10
-
11
-## Usage
12
-
13
-For global import, configure it in `app.json` in the root directory of the miniprogram. For local import, configure it in `index.json` of the page or component that needs to be imported.
14
-
15
-```json
16
-"usingComponents": {
17
-  "t-button": "tdesign-miniprogram/button/button"
18
-}
19
-```
20
-
21
-
22
-## Code Demo
23
-
24
-### 01 Component Type
25
-
26
-#### Basic Buttons
27
-
28
-{{ base }}
29
-
30
-#### Icon Button
31
-
32
-{{ icon-btn }}
33
-
34
-#### Ghost Button
35
-
36
-{{ ghost-btn }}
37
-
38
-#### Combination Button
39
-
40
-{{ group-btn }}
41
-
42
-#### Banner Button
43
-
44
-{{ block-btn }}
45
-
46
-### 02 Component State
47
-
48
-#### Buttons for different states
49
-
50
-{{ disabled }}
51
-
52
-### 03 Component Style
53
-
54
-#### Different sizes of buttons
55
-
56
-{{ size }}
57
-
58
-#### Different shaped buttons
59
-
60
-{{ shape }}
61
-
62
-#### Different color theme buttons
63
-
64
-{{ theme }}
65
-
66
-
67
-
68
-## API
69
-### Button Props
70
-
71
-name | type | default | description | required
72
-t-id | String | - | button tag id | N
73
-block | Boolean | false | make button to be a block-level element | N
74
-content | String / Slot | - | button's children elements | N
75
-custom-dataset | Object | - | Typescript:`any` | N
76
-disabled | Boolean | false | disable the button, make it can not be clicked | N
77
-external-classes | Array | - | `['t-class', 't-class-icon', 't-class-loading']` | N
78
-ghost | Boolean | false | make background-color to be transparent | N
79
-icon | String / Object | - | icon name | N
80
-loading | Boolean | false | set button to be loading state | N
81
-loading-props | Object | - | Typescript:`LoadingProps`,[Loading API Documents](./loading?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/button/type.ts) | N
82
-shape | String | rectangle | button shape。options:rectangle/square/round/circle | N
83
-size | String | medium | a button has three size。options:small/medium/large。Typescript:`SizeEnum` | N
84
-suffix | Slot | - | \- | N
85
-theme | String | default | button theme。options:default/primary/danger | N
86
-type | String | - | type of button element, same as formType of Miniprogram。options:submit/reset | N
87
-variant | String | base | button variant。options:base/outline/text | N
88
-open-type | String | - | options:contact/share/getPhoneNumber/getUserInfo/launchApp/openSetting/feedback/chooseAvatar/agreePrivacyAuthorization | N
89
-hover-stop-propagation | Boolean | false | \- | N
90
-hover-start-time | Number | 20 | \- | N
91
-hover-stay-time | Number | 70 | \- | N
92
-lang | String | en | options:en/zh_CN/zh_TW | N
93
-session-from | String | - | \- | N
94
-send-message-title | String | 当前标题 | \- | N
95
-send-message-path | String | 当前分享路径 | \- | N
96
-send-message-img | String | 截图 | \- | N
97
-app-parameter | String | - | \- | N
98
-show-message-card | Boolean | false | \- | N
99
-bindgetuserinfo | Eventhandle | - | \- | N
100
-bindcontact | Eventhandle | - | \- | N
101
-bindgetphonenumber | Eventhandle | - | \- | N
102
-binderror | Eventhandle | - | \- | N
103
-bindopensetting | Eventhandle | - | \- | N
104
-bindlaunchapp | Eventhandle | - | \- | N
105
-bindchooseavatar | Eventhandle | - | \- | N
106
-bindagreeprivacyauthorization | Eventhandle | - | \-| N
107
-
108
-### Button Events
109
-
110
-name | params | description
111
-tap | `(e: MouseEvent)` | trigger on click
112
-
113
-
114
-### Button ExternalClasses
115
-类名 | 说明
116
-t-class | root
117
-t-class-icon | icon node
118
-t-class-loading | loading node
119
-
120
-
121
-### CSS Variables
122
-The component provides the following CSS variables, which can be used to customize styles.
123
-Name | Default Value | Description 
124
---td-button-border-radius | @radius-default | - 
125
---td-button-border-width | 4rpx | - 
126
---td-button-danger-active-bg-color | @error-color-7 | - 
127
---td-button-danger-active-border-color | @error-color-7 | - 
128
---td-button-danger-bg-color | @error-color | - 
129
---td-button-danger-border-color | @error-color | - 
130
---td-button-danger-color | @font-white-1 | - 
131
---td-button-danger-dashed-border-color | @button-danger-dashed-color | - 
132
---td-button-danger-dashed-color | @error-color | - 
133
---td-button-danger-dashed-disabled-color | @button-danger-disabled-color | - 
134
---td-button-danger-disabled-bg | @error-color-3 | - 
135
---td-button-danger-disabled-border-color | @error-color-3 | - 
136
---td-button-danger-disabled-color | @font-white-1 | - 
137
---td-button-danger-outline-active-bg-color | @bg-color-container-active | - 
138
---td-button-danger-outline-active-border-color | @error-color-7 | - 
139
---td-button-danger-outline-border-color | @button-danger-outline-color | - 
140
---td-button-danger-outline-color | @error-color | - 
141
---td-button-danger-outline-disabled-color | @error-color-3 | - 
142
---td-button-danger-text-active-bg-color | @bg-color-container-active | - 
143
---td-button-danger-text-color | @error-color | - 
144
---td-button-danger-text-disabled-color | @button-danger-disabled-color | - 
145
---td-button-default-active-bg-color | @bg-color-component-active | - 
146
---td-button-default-active-border-color | @bg-color-component-active | - 
147
---td-button-default-bg-color | @bg-color-component | - 
148
---td-button-default-border-color | @bg-color-component | - 
149
---td-button-default-color | @font-gray-1 | - 
150
---td-button-default-disabled-bg | @bg-color-component-disabled | - 
151
---td-button-default-disabled-border-color | @bg-color-component-disabled | - 
152
---td-button-default-disabled-color | @font-gray-4 | - 
153
---td-button-default-outline-active-bg-color | @bg-color-container-active | - 
154
---td-button-default-outline-active-border-color | @component-border | - 
155
---td-button-default-outline-border-color | @component-border | - 
156
---td-button-default-outline-color | @font-gray-1 | - 
157
---td-button-default-outline-disabled-color | @component-border | - 
158
---td-button-default-text-active-bg-color | @bg-color-container-active | - 
159
---td-button-extra-small-font-size | @font-size-base | - 
160
---td-button-extra-small-height | 56rpx | - 
161
---td-button-extra-small-icon-font-size | 36rpx | - 
162
---td-button-extra-small-padding-horizontal | 16rpx | - 
163
---td-button-font-weight | 600 | - 
164
---td-button-ghost-border-color | @button-ghost-color | - 
165
---td-button-ghost-color | @bg-color-container | - 
166
---td-button-ghost-danger-border-color | @error-color | - 
167
---td-button-ghost-danger-color | @error-color | - 
168
---td-button-ghost-disabled-color | rgba(255, 255, 255, 0.35) | - 
169
---td-button-ghost-primary-border-color | @brand-color | - 
170
---td-button-ghost-primary-color | @brand-color | - 
171
---td-button-icon-border-radius | 8rpx | - 
172
---td-button-icon-spacer | @spacer | - 
173
---td-button-large-font-size | @font-size-m | - 
174
---td-button-large-height | 96rpx | - 
175
---td-button-large-icon-font-size | 48rpx | - 
176
---td-button-large-padding-horizontal | 40rpx | - 
177
---td-button-light-active-bg-color | @brand-color-light-active | - 
178
---td-button-light-active-border-color | @brand-color-light-active | - 
179
---td-button-light-bg-color | @brand-color-light | - 
180
---td-button-light-border-color | @brand-color-light | - 
181
---td-button-light-color | @brand-color | - 
182
---td-button-light-disabled-bg | @brand-color-light | - 
183
---td-button-light-disabled-border-color | @brand-color-light | - 
184
---td-button-light-disabled-color | @brand-color-disabled | - 
185
---td-button-light-outline-active-bg-color | @brand-color-light-active | - 
186
---td-button-light-outline-active-border-color | @brand-color-active | - 
187
---td-button-light-outline-bg-color | @brand-color-light | - 
188
---td-button-light-outline-border-color | @button-light-outline-color | - 
189
---td-button-light-outline-color | @brand-color | - 
190
---td-button-light-outline-disabled-color | @brand-color-disabled | - 
191
---td-button-light-text-active-bg-color | @bg-color-container-active | - 
192
---td-button-light-text-color | @brand-color | - 
193
---td-button-medium-font-size | @font-size-m | - 
194
---td-button-medium-height | 80rpx | - 
195
---td-button-medium-icon-font-size | 40rpx | - 
196
---td-button-medium-padding-horizontal | 32rpx | - 
197
---td-button-primary-active-bg-color | @brand-color-active | - 
198
---td-button-primary-active-border-color | @brand-color-active | - 
199
---td-button-primary-bg-color | @brand-color | - 
200
---td-button-primary-border-color | @brand-color | - 
201
---td-button-primary-color | @font-white-1 | - 
202
---td-button-primary-dashed-border-color | @button-primary-dashed-color | - 
203
---td-button-primary-dashed-color | @brand-color | - 
204
---td-button-primary-dashed-disabled-color | @brand-color-disabled | - 
205
---td-button-primary-disabled-bg | @brand-color-disabled | - 
206
---td-button-primary-disabled-border-color | @brand-color-disabled | - 
207
---td-button-primary-disabled-color | @font-white-1 | - 
208
---td-button-primary-outline-active-bg-color | @bg-color-container-active | - 
209
---td-button-primary-outline-active-border-color | @brand-color-active | - 
210
---td-button-primary-outline-border-color | @button-primary-outline-color | - 
211
---td-button-primary-outline-color | @brand-color | - 
212
---td-button-primary-outline-disabled-color | @brand-color-disabled | - 
213
---td-button-primary-text-active-bg-color | @bg-color-container-active | - 
214
---td-button-primary-text-color | @brand-color | - 
215
---td-button-primary-text-disabled-color | @brand-color-disabled | - 
216
---td-button-small-font-size | @font-size-base | - 
217
---td-button-small-height | 64rpx | - 
218
---td-button-small-icon-font-size | 36rpx | - 
219
---td-button-small-padding-horizontal | 24rpx | - 

+ 0
- 219
miniprogram_npm/tdesign-miniprogram/button/README.md View File

@@ -1,223 +0,0 @@
1
----
2
-title: Button 按钮
3
-description: 用于开启一个闭环的操作任务,如“删除”对象、“购买”商品等。
4
-spline: base
5
-isComponent: true
6
----
7
-
8
-<span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20lines-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20functions-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20statements-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20branches-83%25-blue" /></span>
9
-## 引入
10
-
11
-全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
12
-
13
-```json
14
-"usingComponents": {
15
-  "t-button": "tdesign-miniprogram/button/button"
16
-}
17
-```
18
-
19
-## 代码演示
20
-
21
-<a href="https://developers.weixin.qq.com/s/F1cSo7mm75SS" title="在开发者工具中预览效果" target="_blank" rel="noopener noreferrer"> 在开发者工具中预览效果 </a>
22
-
23
-<blockquote style="background-color: #d9e1ff; font-size: 15px; line-height: 26px;margin: 16px 0 0;padding: 16px; border-radius: 6px; color: #0052d9" >
24
-<p>Tips: 请确保开发者工具为打开状态。导入开发者工具后,依次执行:npm i > 构建npm包 > 勾选 "将JS编译成ES5"</p>
25
-</blockquote>
26
-
27
-
28
-### 01 组件类型
29
-
30
-#### 基础按钮
31
-
32
-{{ base }}
33
-
34
-#### 图标按钮
35
-
36
-{{ icon-btn }}
37
-
38
-#### 幽灵按钮
39
-
40
-{{ ghost-btn }}
41
-
42
-#### 组合按钮
43
-
44
-{{ group-btn }}
45
-
46
-#### 通栏按钮
47
-
48
-{{ block-btn }}
49
-
50
-### 02 组件状态
51
-
52
-#### 按钮禁用态
53
-
54
-{{ disabled }}
55
-
56
-### 03 组件样式
57
-
58
-#### 按钮尺寸
59
-
60
-{{ size }}
61
-
62
-#### 按钮形状
63
-
64
-{{ shape }}
65
-
66
-#### 按钮主题
67
-
68
-{{ theme }}
69
-
70
-## API
71
-### Button Props
72
-
73
-名称 | 类型 | 默认值 | 说明 | 必传
74
-t-id | String | - | 按钮标签id | N
75
-block | Boolean | false | 是否为块级元素 | N
76
-content | String / Slot | - | 按钮内容 | N
77
-custom-dataset | Object | - | 自定义 dataset,可通过 event.currentTarget.dataset.custom 获取。TS 类型:`any` | N
78
-disabled | Boolean | false | 禁用状态 | N
79
-ghost | Boolean | false | 是否为幽灵按钮(镂空按钮) | N
80
-icon | String / Object | - | 图标名称。值为字符串表示图标名称,值为 `Object` 类型,表示透传至 `icon`。 | N
81
-loading | Boolean | false | 是否显示为加载状态,skyline模式下暂不支持该属性 | N
82
-loading-props | Object | - | 透传至 Loading 组件。TS 类型:`LoadingProps`,[Loading API Documents](./loading?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/button/type.ts) | N
83
-shape | String | rectangle | 按钮形状,有 4 种:长方形、正方形、圆角长方形、圆形。可选项:rectangle/square/round/circle | N
84
-size | String | medium | 组件尺寸。可选项:extra-small/small/medium/large。TS 类型:`SizeEnum` | N
85
-suffix | Slot | - | 右侧内容,可用于定义右侧图标 | N
86
-theme | String | default | 组件风格,依次为品牌色、危险色。可选项:default/primary/danger/light | N
87
-type | String | - | 同小程序的 formType。可选项:submit/reset | N
88
-variant | String | base | 按钮形式,基础、线框、文字。可选项:base/outline/dashed/text | N
89
-open-type | String | - | 微信开放能力。<br />具体释义:<br />`contact` 打开客服会话,如果用户在会话中点击消息卡片后返回小程序,可以从 bindcontact 回调中获得具体信息,<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/customer-message/customer-message.html">具体说明</a> (*小程序插件中不能使用*);<br />`share` 触发用户转发,使用前建议先阅读<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#使用指引">使用指引</a>;<br />`getPhoneNumber` 获取用户手机号,可以从 bindgetphonenumber 回调中获取到用户信息,<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html">具体说明</a> (*小程序插件中不能使用*);<br />`getUserInfo` 获取用户信息,可以从 bindgetuserinfo 回调中获取到用户信息 (*小程序插件中不能使用*);<br />`launchApp` 打开APP,可以通过 app-parameter 属性设定向 APP 传的参数<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html">具体说明</a>;<br />`openSetting` 打开授权设置页;<br />`feedback` 打开“意见反馈”页面,用户可提交反馈内容并上传<a href="https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getLogManager.html">日志</a>,开发者可以登录<a href="https://mp.weixin.qq.com/">小程序管理后台</a>后进入左侧菜单“客服反馈”页面获取到反馈内容;<br />`chooseAvatar` 获取用户头像,可以从 bindchooseavatar 回调中获取到头像信息;<br />`agreePrivacyAuthorization`用户同意隐私协议按钮。用户点击一次此按钮后,所有隐私接口可以正常调用。可通过`bindagreeprivacyauthorization`监听用户同意隐私协议事件。隐私合规开发指南详情可见《<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html">小程序隐私协议开发指南</a>》。<br />[小程序官方文档](https://developers.weixin.qq.com/miniprogram/dev/component/button.html)。可选项:contact/share/getPhoneNumber/getUserInfo/launchApp/openSetting/feedback/chooseAvatar/agreePrivacyAuthorization | N
90
-hover-class | String | '' | 指定按钮按下去的样式类,按钮不为加载或禁用状态时有效。当 `hover-class="none"` 时,没有点击态效果 | N
91
-hover-stop-propagation | Boolean | false | 指定是否阻止本节点的祖先节点出现点击态 | N
92
-hover-start-time | Number | 20 | 按住后多久出现点击态,单位毫秒 | N
93
-hover-stay-time | Number | 70 | 手指松开后点击态保留时间,单位毫秒 | N
94
-lang | String | en | 指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。。<br />具体释义:<br />`en` 英文;<br />`zh_CN` 简体中文;<br />`zh_TW` 繁体中文。<br />[小程序官方文档](https://developers.weixin.qq.com/miniprogram/dev/component/button.html)。可选项:en/zh_CN/zh_TW | N
95
-session-from | String | - | 会话来源,open-type="contact"时有效 | N
96
-send-message-title | String | 当前标题 | 会话内消息卡片标题,open-type="contact"时有效 | N
97
-send-message-path | String | 当前分享路径 | 会话内消息卡片点击跳转小程序路径,open-type="contact"时有效 | N
98
-send-message-img | String | 截图 | 会话内消息卡片图片,open-type="contact"时有效 | N
99
-app-parameter | String | - | 打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效 | N
100
-show-message-card | Boolean | false | 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示,用户点击后可以快速发送小程序消息,open-type="contact"时有效 | N
101
-bindgetuserinfo | Eventhandle | - | 用户点击该按钮时,会返回获取到的用户信息,回调的 detail 数据与<a href="https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html">wx.getUserInfo</a>返回的一致,open-type="getUserInfo"时有效 | N
102
-bindcontact | Eventhandle | - | 客服消息回调,open-type="contact"时有效 | N
103
-bindgetphonenumber | Eventhandle | - | 获取用户手机号回调,open-type=getPhoneNumber时有效 | N
104
-binderror | Eventhandle | - | 当使用开放能力时,发生错误的回调,open-type=launchApp时有效 | N
105
-bindopensetting | Eventhandle | - | 在打开授权设置页后回调,open-type=openSetting时有效 | N
106
-bindlaunchapp | Eventhandle | - | 打开 APP 成功的回调,open-type=launchApp时有效 | N
107
-bindchooseavatar | Eventhandle | - | 获取用户头像回调,open-type=chooseAvatar时有效 | N
108
-bindagreeprivacyauthorization | Eventhandle | - | 用户同意隐私协议事件回调,open-type=agreePrivacyAuthorization时有效 | N
109
-
110
-### Button Events
111
-
112
-名称 | 参数 | 描述
113
-tap | `event` | 点击按钮,当按钮不为加载或禁用状态时触发
114
-
115
-### Button 外部样式类
116
-类名 | 说明
117
-t-class | 根节点样式类
118
-t-class-icon | 图标样式类
119
-t-class-loading | 加载样式类
120
-
121
-### CSS 变量
122
-组件提供了下列 CSS 变量,可用于自定义样式。
123
-名称 | 默认值 | 描述 
124
---td-button-border-radius | @radius-default | - 
125
---td-button-border-width | 4rpx | - 
126
---td-button-danger-active-bg-color | @error-color-7 | - 
127
---td-button-danger-active-border-color | @error-color-7 | - 
128
---td-button-danger-bg-color | @error-color | - 
129
---td-button-danger-border-color | @error-color | - 
130
---td-button-danger-color | @font-white-1 | - 
131
---td-button-danger-dashed-border-color | @button-danger-dashed-color | - 
132
---td-button-danger-dashed-color | @error-color | - 
133
---td-button-danger-dashed-disabled-color | @button-danger-disabled-color | - 
134
---td-button-danger-disabled-bg | @error-color-3 | - 
135
---td-button-danger-disabled-border-color | @error-color-3 | - 
136
---td-button-danger-disabled-color | @font-white-1 | - 
137
---td-button-danger-outline-active-bg-color | @bg-color-container-active | - 
138
---td-button-danger-outline-active-border-color | @error-color-7 | - 
139
---td-button-danger-outline-border-color | @button-danger-outline-color | - 
140
---td-button-danger-outline-color | @error-color | - 
141
---td-button-danger-outline-disabled-color | @error-color-3 | - 
142
---td-button-danger-text-active-bg-color | @bg-color-container-active | - 
143
---td-button-danger-text-color | @error-color | - 
144
---td-button-danger-text-disabled-color | @button-danger-disabled-color | - 
145
---td-button-default-active-bg-color | @bg-color-component-active | - 
146
---td-button-default-active-border-color | @bg-color-component-active | - 
147
---td-button-default-bg-color | @bg-color-component | - 
148
---td-button-default-border-color | @bg-color-component | - 
149
---td-button-default-color | @font-gray-1 | - 
150
---td-button-default-disabled-bg | @bg-color-component-disabled | - 
151
---td-button-default-disabled-border-color | @bg-color-component-disabled | - 
152
---td-button-default-disabled-color | @font-gray-4 | - 
153
---td-button-default-outline-active-bg-color | @bg-color-container-active | - 
154
---td-button-default-outline-active-border-color | @component-border | - 
155
---td-button-default-outline-border-color | @component-border | - 
156
---td-button-default-outline-color | @font-gray-1 | - 
157
---td-button-default-outline-disabled-color | @component-border | - 
158
---td-button-default-text-active-bg-color | @bg-color-container-active | - 
159
---td-button-extra-small-font-size | @font-size-base | - 
160
---td-button-extra-small-height | 56rpx | - 
161
---td-button-extra-small-icon-font-size | 36rpx | - 
162
---td-button-extra-small-padding-horizontal | 16rpx | - 
163
---td-button-font-weight | 600 | - 
164
---td-button-ghost-border-color | @button-ghost-color | - 
165
---td-button-ghost-color | @bg-color-container | - 
166
---td-button-ghost-danger-border-color | @error-color | - 
167
---td-button-ghost-danger-color | @error-color | - 
168
---td-button-ghost-disabled-color | rgba(255, 255, 255, 0.35) | - 
169
---td-button-ghost-primary-border-color | @brand-color | - 
170
---td-button-ghost-primary-color | @brand-color | - 
171
---td-button-icon-border-radius | 8rpx | - 
172
---td-button-icon-spacer | @spacer | - 
173
---td-button-large-font-size | @font-size-m | - 
174
---td-button-large-height | 96rpx | - 
175
---td-button-large-icon-font-size | 48rpx | - 
176
---td-button-large-padding-horizontal | 40rpx | - 
177
---td-button-light-active-bg-color | @brand-color-light-active | - 
178
---td-button-light-active-border-color | @brand-color-light-active | - 
179
---td-button-light-bg-color | @brand-color-light | - 
180
---td-button-light-border-color | @brand-color-light | - 
181
---td-button-light-color | @brand-color | - 
182
---td-button-light-disabled-bg | @brand-color-light | - 
183
---td-button-light-disabled-border-color | @brand-color-light | - 
184
---td-button-light-disabled-color | @brand-color-disabled | - 
185
---td-button-light-outline-active-bg-color | @brand-color-light-active | - 
186
---td-button-light-outline-active-border-color | @brand-color-active | - 
187
---td-button-light-outline-bg-color | @brand-color-light | - 
188
---td-button-light-outline-border-color | @button-light-outline-color | - 
189
---td-button-light-outline-color | @brand-color | - 
190
---td-button-light-outline-disabled-color | @brand-color-disabled | - 
191
---td-button-light-text-active-bg-color | @bg-color-container-active | - 
192
---td-button-light-text-color | @brand-color | - 
193
---td-button-medium-font-size | @font-size-m | - 
194
---td-button-medium-height | 80rpx | - 
195
---td-button-medium-icon-font-size | 40rpx | - 
196
---td-button-medium-padding-horizontal | 32rpx | - 
197
---td-button-primary-active-bg-color | @brand-color-active | - 
198
---td-button-primary-active-border-color | @brand-color-active | - 
199
---td-button-primary-bg-color | @brand-color | - 
200
---td-button-primary-border-color | @brand-color | - 
201
---td-button-primary-color | @font-white-1 | - 
202
---td-button-primary-dashed-border-color | @button-primary-dashed-color | - 
203
---td-button-primary-dashed-color | @brand-color | - 
204
---td-button-primary-dashed-disabled-color | @brand-color-disabled | - 
205
---td-button-primary-disabled-bg | @brand-color-disabled | - 
206
---td-button-primary-disabled-border-color | @brand-color-disabled | - 
207
---td-button-primary-disabled-color | @font-white-1 | - 
208
---td-button-primary-outline-active-bg-color | @bg-color-container-active | - 
209
---td-button-primary-outline-active-border-color | @brand-color-active | - 
210
---td-button-primary-outline-border-color | @button-primary-outline-color | - 
211
---td-button-primary-outline-color | @brand-color | - 
212
---td-button-primary-outline-disabled-color | @brand-color-disabled | - 
213
---td-button-primary-text-active-bg-color | @bg-color-container-active | - 
214
---td-button-primary-text-color | @brand-color | - 
215
---td-button-primary-text-disabled-color | @brand-color-disabled | - 
216
---td-button-small-font-size | @font-size-base | - 
217
---td-button-small-height | 64rpx | - 
218
---td-button-small-icon-font-size | 36rpx | - 
219
---td-button-small-padding-horizontal | 24rpx | - 

+ 1
- 100
miniprogram_npm/tdesign-miniprogram/button/button.js View File

@@ -1,100 +1 @@
1
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
-    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
-    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
-    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
-    return c > 3 && r && Object.defineProperty(target, key, r), r;
6
-};
7
-import { SuperComponent, wxComponent } from '../common/src/index';
8
-import config from '../common/config';
9
-import props from './props';
10
-import { canIUseFormFieldButton } from '../common/version';
11
-import { setIcon } from '../common/utils';
12
-const { prefix } = config;
13
-const name = `${prefix}-button`;
14
-let Button = class Button extends SuperComponent {
15
-    constructor() {
16
-        super(...arguments);
17
-        this.externalClasses = [`${prefix}-class`, `${prefix}-class-icon`, `${prefix}-class-loading`];
18
-        this.behaviors = canIUseFormFieldButton() ? ['wx://form-field-button'] : [];
19
-        this.properties = props;
20
-        this.options = {
21
-            multipleSlots: true,
22
-        };
23
-        this.data = {
24
-            prefix,
25
-            className: '',
26
-            classPrefix: name,
27
-        };
28
-        this.observers = {
29
-            'theme, size, plain, block, shape, disabled, loading, variant'() {
30
-                this.setClass();
31
-            },
32
-            icon(icon) {
33
-                const obj = setIcon('icon', icon, '');
34
-                this.setData(Object.assign({}, obj));
35
-            },
36
-        };
37
-        this.lifetimes = {
38
-            attached() {
39
-                this.setClass();
40
-            },
41
-        };
42
-        this.methods = {
43
-            setClass() {
44
-                const classList = [
45
-                    name,
46
-                    `${prefix}-class`,
47
-                    `${name}--${this.data.variant || 'base'}`,
48
-                    `${name}--${this.data.theme || 'default'}`,
49
-                    `${name}--${this.data.shape || 'rectangle'}`,
50
-                    `${name}--size-${this.data.size || 'medium'}`,
51
-                ];
52
-                if (this.data.block) {
53
-                    classList.push(`${name}--block`);
54
-                }
55
-                if (this.data.disabled) {
56
-                    classList.push(`${name}--disabled`);
57
-                }
58
-                if (this.data.ghost) {
59
-                    classList.push(`${name}--ghost`);
60
-                }
61
-                this.setData({
62
-                    className: classList.join(' '),
63
-                });
64
-            },
65
-            getuserinfo(e) {
66
-                this.triggerEvent('getuserinfo', e.detail);
67
-            },
68
-            contact(e) {
69
-                this.triggerEvent('contact', e.detail);
70
-            },
71
-            getphonenumber(e) {
72
-                this.triggerEvent('getphonenumber', e.detail);
73
-            },
74
-            error(e) {
75
-                this.triggerEvent('error', e.detail);
76
-            },
77
-            opensetting(e) {
78
-                this.triggerEvent('opensetting', e.detail);
79
-            },
80
-            launchapp(e) {
81
-                this.triggerEvent('launchapp', e.detail);
82
-            },
83
-            chooseavatar(e) {
84
-                this.triggerEvent('chooseavatar', e.detail);
85
-            },
86
-            agreeprivacyauthorization(e) {
87
-                this.triggerEvent('agreeprivacyauthorization', e.detail);
88
-            },
89
-            handleTap(e) {
90
-                if (this.data.disabled || this.data.loading)
91
-                    return;
92
-                this.triggerEvent('tap', e);
93
-            },
94
-        };
95
-    }
96
-};
97
-Button = __decorate([
98
-    wxComponent()
99
-], Button);
100
-export default Button;
1
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{canIUseFormFieldButton}from"../common/version";import{calcIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-button`;let Button=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-icon`,`${prefix}-class-loading`],this.behaviors=canIUseFormFieldButton()?["wx://form-field-button"]:[],this.properties=props,this.options={multipleSlots:!0},this.data={prefix:prefix,className:"",classPrefix:name},this.observers={"theme, size, plain, block, shape, disabled, loading, variant"(){this.setClass()},icon(t){this.setData({_icon:calcIcon(t,"")})}},this.lifetimes={attached(){this.setClass()}},this.methods={setClass(){const t=[name,`${prefix}-class`,`${name}--${this.data.variant||"base"}`,`${name}--${this.data.theme||"default"}`,`${name}--${this.data.shape||"rectangle"}`,`${name}--size-${this.data.size||"medium"}`];this.data.block&&t.push(`${name}--block`),this.data.disabled&&t.push(`${name}--disabled`),this.data.ghost&&t.push(`${name}--ghost`),this.setData({className:t.join(" ")})},getuserinfo(t){this.triggerEvent("getuserinfo",t.detail)},contact(t){this.triggerEvent("contact",t.detail)},getphonenumber(t){this.triggerEvent("getphonenumber",t.detail)},error(t){this.triggerEvent("error",t.detail)},opensetting(t){this.triggerEvent("opensetting",t.detail)},launchapp(t){this.triggerEvent("launchapp",t.detail)},chooseavatar(t){this.triggerEvent("chooseavatar",t.detail)},agreeprivacyauthorization(t){this.triggerEvent("agreeprivacyauthorization",t.detail)},handleTap(t){this.data.disabled||this.data.loading||this.triggerEvent("tap",t)}}}};Button=__decorate([wxComponent()],Button);export default Button;

+ 1
- 8
miniprogram_npm/tdesign-miniprogram/button/button.json View File

@@ -1,8 +1 @@
1
-{
2
-  "component": true,
3
-  "styleIsolation": "apply-shared",
4
-  "usingComponents": {
5
-    "t-icon": "../icon/icon",
6
-    "t-loading": "../loading/loading"
7
-  }
8
-}
1
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-loading":"../loading/loading"}}

+ 1
- 61
miniprogram_npm/tdesign-miniprogram/button/button.wxml View File

@@ -1,61 +1 @@
1
-<import src="../common/template/icon.wxml" />
2
-<wxs src="../common/utils.wxs" module="_" />
3
-
4
-<button
5
-  id="{{tId}}"
6
-  style="{{_._style([style, customStyle])}}"
7
-  data-custom="{{ customDataset }}"
8
-  class="class {{className}}"
9
-  form-type="{{disabled || loading ? '' : type}}"
10
-  open-type="{{disabled || loading ? '' : openType}}"
11
-  hover-stop-propagation="{{hoverStopPropagation}}"
12
-  hover-start-time="{{hoverStartTime}}"
13
-  hover-stay-time="{{hoverStayTime}}"
14
-  lang="{{lang}}"
15
-  session-from="{{sessionFrom}}"
16
-  hover-class="{{disabled || loading ? '' : (hoverClass || classPrefix + '--hover')}}"
17
-  send-message-title="{{sendMessageTitle}}"
18
-  send-message-path="{{sendMessagePath}}"
19
-  send-message-img="{{sendMessageImg}}"
20
-  app-parameter="{{appParameter}}"
21
-  show-message-card="{{showMessageCard}}"
22
-  catch:tap="handleTap"
23
-  bind:getuserinfo="getuserinfo"
24
-  bind:contact="contact"
25
-  bind:getphonenumber="getphonenumber"
26
-  bind:error="error"
27
-  bind:opensetting="opensetting"
28
-  bind:launchapp="launchapp"
29
-  bind:chooseavatar="chooseavatar"
30
-  bind:agreeprivacyauthorization="agreeprivacyauthorization"
31
-  aria-label="{{ariaLabel}}"
32
->
33
-  <template
34
-    wx:if="{{iconName || _.isNoEmptyObj(iconData)}}"
35
-    is="icon"
36
-    data="{{class: classPrefix + '__icon', tClass: prefix + '-class-icon', ariaHidden: true, name: iconName, ...iconData}}"
37
-  />
38
-  <t-loading
39
-    wx:if="{{loading}}"
40
-    delay="{{loadingProps.delay || 0}}"
41
-    duration="{{loadingProps.duration || 800}}"
42
-    indicator="{{loadingProps.indicator || true}}"
43
-    inheritColor="{{loadingProps.inheritColor || true}}"
44
-    layout="{{loadingProps.layout || 'horizontal'}}"
45
-    pause="{{loadingProps.pause || false}}"
46
-    progress="{{loadingProps.progress || 0}}"
47
-    reverse="{{loadingProps.reverse || false}}"
48
-    size="{{loadingProps.size || '40rpx'}}"
49
-    text="{{loadingProps.text || '' }}"
50
-    theme="{{loadingProps.theme || 'circular'}}"
51
-    loading
52
-    t-class="{{classPrefix}}__loading {{classPrefix}}__loading--wrapper"
53
-    t-class-indicator="{{classPrefix}}__loading--indicator {{prefix}}-class-loading"
54
-  />
55
-  <view class="{{classPrefix}}__content">
56
-    <slot name="content" />
57
-    <block wx:if="{{content}}">{{content}}</block>
58
-    <slot />
59
-  </view>
60
-  <slot name="suffix" />
61
-</button>
1
+<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><button id="{{tId}}" style="{{_._style([style, customStyle])}}" data-custom="{{ customDataset }}" class="class {{className}}" form-type="{{disabled || loading ? '' : type}}" open-type="{{disabled || loading ? '' : openType}}" hover-stop-propagation="{{hoverStopPropagation}}" hover-start-time="{{hoverStartTime}}" hover-stay-time="{{hoverStayTime}}" lang="{{lang}}" session-from="{{sessionFrom}}" hover-class="{{disabled || loading ? '' : (hoverClass || classPrefix + '--hover')}}" send-message-title="{{sendMessageTitle}}" send-message-path="{{sendMessagePath}}" send-message-img="{{sendMessageImg}}" app-parameter="{{appParameter}}" show-message-card="{{showMessageCard}}" catch:tap="handleTap" bind:getuserinfo="getuserinfo" bind:contact="contact" bind:getphonenumber="getphonenumber" bind:error="error" bind:opensetting="opensetting" bind:launchapp="launchapp" bind:chooseavatar="chooseavatar" bind:agreeprivacyauthorization="agreeprivacyauthorization" aria-label="{{ariaLabel}}"><template wx:if="{{_icon}}" is="icon" data="{{tClass: classPrefix + '__icon ' + prefix + '-class-icon', ariaHidden: true, name: iconName, ..._icon}}"/><t-loading wx:if="{{loading}}" delay="{{loadingProps.delay || 0}}" duration="{{loadingProps.duration || 800}}" indicator="{{loadingProps.indicator || true}}" inheritColor="{{loadingProps.inheritColor || true}}" layout="{{loadingProps.layout || 'horizontal'}}" pause="{{loadingProps.pause || false}}" progress="{{loadingProps.progress || 0}}" reverse="{{loadingProps.reverse || false}}" size="{{loadingProps.size || '40rpx'}}" text="{{loadingProps.text || '' }}" theme="{{loadingProps.theme || 'circular'}}" loading t-class="{{classPrefix}}__loading {{classPrefix}}__loading--wrapper" t-class-indicator="{{classPrefix}}__loading--indicator {{prefix}}-class-loading"/><view class="{{classPrefix}}__content"><slot name="content"/><block wx:if="{{content}}">{{content}}</block><slot/></view><slot name="suffix"/></button>

+ 129
- 477
miniprogram_npm/tdesign-miniprogram/button/button.wxss View File

@@ -1,477 +1,129 @@
1
-.t-float-left {
2
-  float: left;
3
-}
4
-.t-float-right {
5
-  float: right;
6
-}
7
-@keyframes tdesign-fade-out {
8
-  from {
9
-    opacity: 1;
10
-  }
11
-  to {
12
-    opacity: 0;
13
-  }
14
-}
15
-.hotspot-expanded.relative {
16
-  position: relative;
17
-}
18
-.hotspot-expanded::after {
19
-  content: '';
20
-  display: block;
21
-  position: absolute;
22
-  left: 0;
23
-  top: 0;
24
-  right: 0;
25
-  bottom: 0;
26
-  transform: scale(1.5);
27
-}
28
-.t-button--size-extra-small {
29
-  font-size: var(--td-button-extra-small-font-size, var(--td-font-size-base, 28rpx));
30
-  padding-left: var(--td-button-extra-small-padding-horizontal, 16rpx);
31
-  padding-right: var(--td-button-extra-small-padding-horizontal, 16rpx);
32
-  height: var(--td-button-extra-small-height, 56rpx);
33
-  line-height: var(--td-button-extra-small-height, 56rpx);
34
-}
35
-.t-button--size-extra-small .t-button__icon {
36
-  font-size: var(--td-button-extra-small-icon-font-size, 36rpx);
37
-}
38
-.t-button--size-small {
39
-  font-size: var(--td-button-small-font-size, var(--td-font-size-base, 28rpx));
40
-  padding-left: var(--td-button-small-padding-horizontal, 24rpx);
41
-  padding-right: var(--td-button-small-padding-horizontal, 24rpx);
42
-  height: var(--td-button-small-height, 64rpx);
43
-  line-height: var(--td-button-small-height, 64rpx);
44
-}
45
-.t-button--size-small .t-button__icon {
46
-  font-size: var(--td-button-small-icon-font-size, 36rpx);
47
-}
48
-.t-button--size-medium {
49
-  font-size: var(--td-button-medium-font-size, var(--td-font-size-m, 32rpx));
50
-  padding-left: var(--td-button-medium-padding-horizontal, 32rpx);
51
-  padding-right: var(--td-button-medium-padding-horizontal, 32rpx);
52
-  height: var(--td-button-medium-height, 80rpx);
53
-  line-height: var(--td-button-medium-height, 80rpx);
54
-}
55
-.t-button--size-medium .t-button__icon {
56
-  font-size: var(--td-button-medium-icon-font-size, 40rpx);
57
-}
58
-.t-button--size-large {
59
-  font-size: var(--td-button-large-font-size, var(--td-font-size-m, 32rpx));
60
-  padding-left: var(--td-button-large-padding-horizontal, 40rpx);
61
-  padding-right: var(--td-button-large-padding-horizontal, 40rpx);
62
-  height: var(--td-button-large-height, 96rpx);
63
-  line-height: var(--td-button-large-height, 96rpx);
64
-}
65
-.t-button--size-large .t-button__icon {
66
-  font-size: var(--td-button-large-icon-font-size, 48rpx);
67
-}
68
-.t-button--default {
69
-  color: var(--td-button-default-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
70
-  background-color: var(--td-button-default-bg-color, var(--td-bg-color-component, var(--td-gray-color-3, #e7e7e7)));
71
-  border-color: var(--td-button-default-border-color, var(--td-bg-color-component, var(--td-gray-color-3, #e7e7e7)));
72
-}
73
-.t-button--default::after {
74
-  border-width: var(--td-button-border-width, 4rpx);
75
-  border-color: var(--td-button-default-border-color, var(--td-bg-color-component, var(--td-gray-color-3, #e7e7e7)));
76
-}
77
-.t-button--default.t-button--hover {
78
-  z-index: 0;
79
-  border-color: var(--td-button-default-active-border-color, var(--td-bg-color-component-active, var(--td-gray-color-6, #a6a6a6)));
80
-}
81
-.t-button--default.t-button--hover::after {
82
-  background-color: var(--td-button-default-active-bg-color, var(--td-bg-color-component-active, var(--td-gray-color-6, #a6a6a6)));
83
-  border-color: var(--td-button-default-active-border-color, var(--td-bg-color-component-active, var(--td-gray-color-6, #a6a6a6)));
84
-}
85
-.t-button--default.t-button--disabled {
86
-  color: var(--td-button-default-disabled-color, var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26))));
87
-  background-color: var(--td-button-default-disabled-bg, var(--td-bg-color-component-disabled, var(--td-gray-color-2, #eeeeee)));
88
-  border-color: var(--td-button-default-disabled-border-color, var(--td-bg-color-component-disabled, var(--td-gray-color-2, #eeeeee)));
89
-}
90
-.t-button--default.t-button--disabled::after {
91
-  border-color: var(--td-button-default-disabled-border-color, var(--td-bg-color-component-disabled, var(--td-gray-color-2, #eeeeee)));
92
-}
93
-.t-button--primary {
94
-  color: var(--td-button-primary-color, var(--td-font-white-1, #ffffff));
95
-  background-color: var(--td-button-primary-bg-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
96
-  border-color: var(--td-button-primary-border-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
97
-}
98
-.t-button--primary::after {
99
-  border-width: var(--td-button-border-width, 4rpx);
100
-  border-color: var(--td-button-primary-border-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
101
-}
102
-.t-button--primary.t-button--hover {
103
-  z-index: 0;
104
-  border-color: var(--td-button-primary-active-border-color, var(--td-brand-color-active, var(--td-primary-color-8, #003cab)));
105
-}
106
-.t-button--primary.t-button--hover::after {
107
-  background-color: var(--td-button-primary-active-bg-color, var(--td-brand-color-active, var(--td-primary-color-8, #003cab)));
108
-  border-color: var(--td-button-primary-active-border-color, var(--td-brand-color-active, var(--td-primary-color-8, #003cab)));
109
-}
110
-.t-button--primary.t-button--disabled {
111
-  color: var(--td-button-primary-disabled-color, var(--td-font-white-1, #ffffff));
112
-  background-color: var(--td-button-primary-disabled-bg, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
113
-  border-color: var(--td-button-primary-disabled-border-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
114
-}
115
-.t-button--primary.t-button--disabled::after {
116
-  border-color: var(--td-button-primary-disabled-border-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
117
-}
118
-.t-button--light {
119
-  color: var(--td-button-light-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
120
-  background-color: var(--td-button-light-bg-color, var(--td-brand-color-light, var(--td-primary-color-1, #f2f3ff)));
121
-  border-color: var(--td-button-light-border-color, var(--td-brand-color-light, var(--td-primary-color-1, #f2f3ff)));
122
-}
123
-.t-button--light::after {
124
-  border-width: var(--td-button-border-width, 4rpx);
125
-  border-color: var(--td-button-light-border-color, var(--td-brand-color-light, var(--td-primary-color-1, #f2f3ff)));
126
-}
127
-.t-button--light.t-button--hover {
128
-  z-index: 0;
129
-  border-color: var(--td-button-light-active-border-color, var(--td-brand-color-light-active, var(--td-primary-color-2, #d9e1ff)));
130
-}
131
-.t-button--light.t-button--hover::after {
132
-  background-color: var(--td-button-light-active-bg-color, var(--td-brand-color-light-active, var(--td-primary-color-2, #d9e1ff)));
133
-  border-color: var(--td-button-light-active-border-color, var(--td-brand-color-light-active, var(--td-primary-color-2, #d9e1ff)));
134
-}
135
-.t-button--light.t-button--disabled {
136
-  color: var(--td-button-light-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
137
-  background-color: var(--td-button-light-disabled-bg, var(--td-brand-color-light, var(--td-primary-color-1, #f2f3ff)));
138
-  border-color: var(--td-button-light-disabled-border-color, var(--td-brand-color-light, var(--td-primary-color-1, #f2f3ff)));
139
-}
140
-.t-button--light.t-button--disabled::after {
141
-  border-color: var(--td-button-light-disabled-border-color, var(--td-brand-color-light, var(--td-primary-color-1, #f2f3ff)));
142
-}
143
-.t-button--danger {
144
-  color: var(--td-button-danger-color, var(--td-font-white-1, #ffffff));
145
-  background-color: var(--td-button-danger-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
146
-  border-color: var(--td-button-danger-border-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
147
-}
148
-.t-button--danger::after {
149
-  border-width: var(--td-button-border-width, 4rpx);
150
-  border-color: var(--td-button-danger-border-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
151
-}
152
-.t-button--danger.t-button--hover {
153
-  z-index: 0;
154
-  border-color: var(--td-button-danger-active-border-color, var(--td-error-color-7, #ad352f));
155
-}
156
-.t-button--danger.t-button--hover::after {
157
-  background-color: var(--td-button-danger-active-bg-color, var(--td-error-color-7, #ad352f));
158
-  border-color: var(--td-button-danger-active-border-color, var(--td-error-color-7, #ad352f));
159
-}
160
-.t-button--danger.t-button--disabled {
161
-  color: var(--td-button-danger-disabled-color, var(--td-font-white-1, #ffffff));
162
-  background-color: var(--td-button-danger-disabled-bg, var(--td-error-color-3, #ffb9b0));
163
-  border-color: var(--td-button-danger-disabled-border-color, var(--td-error-color-3, #ffb9b0));
164
-}
165
-.t-button--danger.t-button--disabled::after {
166
-  border-color: var(--td-button-danger-disabled-border-color, var(--td-error-color-3, #ffb9b0));
167
-}
168
-.t-button {
169
-  display: inline-flex;
170
-  align-items: center;
171
-  justify-content: center;
172
-  position: relative;
173
-  white-space: nowrap;
174
-  text-align: center;
175
-  background-image: none;
176
-  transition: all 0.3s;
177
-  touch-action: manipulation;
178
-  border-radius: var(--td-button-border-radius, var(--td-radius-default, 12rpx));
179
-  outline: none;
180
-  font-family: PingFang SC, Microsoft YaHei, Arial Regular;
181
-  font-weight: var(--td-button-font-weight, 600);
182
-  vertical-align: top;
183
-  box-sizing: border-box;
184
-  cursor: pointer;
185
-  -webkit-tap-highlight-color: transparent;
186
-  -webkit-user-select: none;
187
-  user-select: none;
188
-  /* stylelint-disable-next-line */
189
-  -webkit-appearance: none;
190
-}
191
-.t-button::after {
192
-  border-radius: calc(var(--td-button-border-radius, var(--td-radius-default, 12rpx)) * 2);
193
-}
194
-.t-button--text {
195
-  color: var(--td-button-default-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
196
-  background: none;
197
-  border: 0;
198
-}
199
-.t-button--text::after {
200
-  border: 0;
201
-}
202
-.t-button--text.t-button--hover::after {
203
-  background-color: var(--td-button-default-text-active-bg-color, var(--td-bg-color-container-active, var(--td-gray-color-3, #e7e7e7)));
204
-}
205
-.t-button--text.t-button--primary {
206
-  color: var(--td-button-primary-text-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
207
-  background: none;
208
-}
209
-.t-button--text.t-button--primary.t-button--hover::after {
210
-  background-color: var(--td-button-primary-text-active-bg-color, var(--td-bg-color-container-active, var(--td-gray-color-3, #e7e7e7)));
211
-}
212
-.t-button--text.t-button--primary.t-button--disabled {
213
-  color: var(--td-button-primary-text-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
214
-  background: none;
215
-}
216
-.t-button--text.t-button--danger {
217
-  color: var(--td-button-danger-text-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
218
-  background: none;
219
-}
220
-.t-button--text.t-button--danger.t-button--hover::after {
221
-  background-color: var(--td-button-danger-text-active-bg-color, var(--td-bg-color-container-active, var(--td-gray-color-3, #e7e7e7)));
222
-}
223
-.t-button--text.t-button--danger.t-button--disabled {
224
-  color: var(--td-button-danger-text-disabled-color, var(--td-button-danger-disabled-color, var(--td-font-white-1, #ffffff)));
225
-  background: none;
226
-}
227
-.t-button--text.t-button--light {
228
-  color: var(--td-button-light-text-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
229
-  background: none;
230
-}
231
-.t-button--text.t-button--light.t-button--hover::after {
232
-  background-color: var(--td-button-light-text-active-bg-color, var(--td-bg-color-container-active, var(--td-gray-color-3, #e7e7e7)));
233
-}
234
-.t-button--text.t-button--disabled {
235
-  color: var(--td-button-default-disabled-color, var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26))));
236
-}
237
-.t-button--ghost {
238
-  background-color: transparent;
239
-  color: var(--td-button-ghost-color, var(--td-bg-color-container, var(--td-font-white-1, #ffffff)));
240
-  border-color: var(--td-button-ghost-border-color, var(--td-button-ghost-color, var(--td-bg-color-container, var(--td-font-white-1, #ffffff))));
241
-}
242
-.t-button--ghost::after {
243
-  border-color: var(--td-button-ghost-border-color, var(--td-button-ghost-color, var(--td-bg-color-container, var(--td-font-white-1, #ffffff))));
244
-}
245
-.t-button--ghost.t-button--hover::after {
246
-  background: none;
247
-}
248
-.t-button--ghost.t-button--primary {
249
-  color: var(--td-button-ghost-primary-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
250
-  border-color: var(--td-button-ghost-primary-border-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
251
-}
252
-.t-button--ghost.t-button--primary::after {
253
-  border-color: var(--td-button-ghost-primary-border-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
254
-}
255
-.t-button--ghost.t-button--danger {
256
-  color: var(--td-button-ghost-danger-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
257
-  border-color: var(--td-button-ghost-danger-border-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
258
-}
259
-.t-button--ghost.t-button--danger::after {
260
-  border-color: var(--td-button-ghost-danger-border-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
261
-}
262
-.t-button--ghost.t-button--disabled {
263
-  background-color: transparent;
264
-  color: var(--td-button-ghost-disabled-color, rgba(255, 255, 255, 0.35));
265
-  border-color: var(--td-button-ghost-disabled-color, rgba(255, 255, 255, 0.35));
266
-}
267
-.t-button--ghost.t-button--disabled::after {
268
-  border-color: var(--td-button-ghost-disabled-color, rgba(255, 255, 255, 0.35));
269
-}
270
-.t-button--outline {
271
-  color: var(--td-button-default-outline-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
272
-  background-color: transparent;
273
-  border-color: var(--td-button-default-outline-border-color, var(--td-component-border, var(--td-gray-color-4, #dcdcdc)));
274
-}
275
-.t-button--outline::after {
276
-  border-color: var(--td-button-default-outline-border-color, var(--td-component-border, var(--td-gray-color-4, #dcdcdc)));
277
-}
278
-.t-button--outline.t-button--hover::after {
279
-  background-color: var(--td-button-default-outline-active-bg-color, var(--td-bg-color-container-active, var(--td-gray-color-3, #e7e7e7)));
280
-  border-color: var(--td-button-default-outline-active-border-color, var(--td-component-border, var(--td-gray-color-4, #dcdcdc)));
281
-}
282
-.t-button--outline.t-button--disabled {
283
-  color: var(--td-button-default-outline-disabled-color, var(--td-component-border, var(--td-gray-color-4, #dcdcdc)));
284
-  border-color: var(--td-button-default-outline-disabled-color, var(--td-component-border, var(--td-gray-color-4, #dcdcdc)));
285
-}
286
-.t-button--outline.t-button--disabled::after {
287
-  border-color: var(--td-button-default-outline-disabled-color, var(--td-component-border, var(--td-gray-color-4, #dcdcdc)));
288
-}
289
-.t-button--outline.t-button--primary {
290
-  color: var(--td-button-primary-outline-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
291
-  border-color: var(--td-button-primary-outline-border-color, var(--td-button-primary-outline-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9))));
292
-}
293
-.t-button--outline.t-button--primary::after {
294
-  border-color: var(--td-button-primary-outline-border-color, var(--td-button-primary-outline-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9))));
295
-}
296
-.t-button--outline.t-button--primary.t-button--hover {
297
-  color: var(--td-button-primary-outline-active-border-color, var(--td-brand-color-active, var(--td-primary-color-8, #003cab)));
298
-}
299
-.t-button--outline.t-button--primary.t-button--hover::after {
300
-  background-color: var(--td-button-primary-outline-active-bg-color, var(--td-bg-color-container-active, var(--td-gray-color-3, #e7e7e7)));
301
-  border-color: var(--td-button-primary-outline-active-border-color, var(--td-brand-color-active, var(--td-primary-color-8, #003cab)));
302
-}
303
-.t-button--outline.t-button--primary.t-button--disabled {
304
-  background-color: transparent;
305
-  color: var(--td-button-primary-outline-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
306
-  border-color: var(--td-button-primary-outline-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
307
-}
308
-.t-button--outline.t-button--primary.t-button--disabled::after {
309
-  border-color: var(--td-button-primary-outline-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
310
-}
311
-.t-button--outline.t-button--danger {
312
-  color: var(--td-button-danger-outline-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
313
-  border-color: var(--td-button-danger-outline-border-color, var(--td-button-danger-outline-color, var(--td-error-color, var(--td-error-color-6, #d54941))));
314
-}
315
-.t-button--outline.t-button--danger::after {
316
-  border-color: var(--td-button-danger-outline-border-color, var(--td-button-danger-outline-color, var(--td-error-color, var(--td-error-color-6, #d54941))));
317
-}
318
-.t-button--outline.t-button--danger.t-button--hover {
319
-  color: var(--td-button-danger-outline-active-border-color, var(--td-error-color-7, #ad352f));
320
-}
321
-.t-button--outline.t-button--danger.t-button--hover::after {
322
-  background-color: var(--td-button-danger-outline-active-bg-color, var(--td-bg-color-container-active, var(--td-gray-color-3, #e7e7e7)));
323
-  border-color: var(--td-button-danger-outline-active-border-color, var(--td-error-color-7, #ad352f));
324
-}
325
-.t-button--outline.t-button--danger.t-button--disabled {
326
-  background-color: transparent;
327
-  color: var(--td-button-danger-outline-disabled-color, var(--td-error-color-3, #ffb9b0));
328
-  border-color: var(--td-button-danger-outline-disabled-color, var(--td-error-color-3, #ffb9b0));
329
-}
330
-.t-button--outline.t-button--danger.t-button--disabled::after {
331
-  border-color: var(--td-button-danger-outline-disabled-color, var(--td-error-color-3, #ffb9b0));
332
-}
333
-.t-button--outline.t-button--light {
334
-  color: var(--td-button-light-outline-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
335
-  background-color: var(--td-button-light-outline-bg-color, var(--td-brand-color-light, var(--td-primary-color-1, #f2f3ff)));
336
-  border-color: var(--td-button-light-outline-border-color, var(--td-button-light-outline-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9))));
337
-}
338
-.t-button--outline.t-button--light::after {
339
-  border-color: var(--td-button-light-outline-border-color, var(--td-button-light-outline-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9))));
340
-}
341
-.t-button--outline.t-button--light.t-button--hover {
342
-  color: var(--td-button-light-outline-active-border-color, var(--td-brand-color-active, var(--td-primary-color-8, #003cab)));
343
-}
344
-.t-button--outline.t-button--light.t-button--hover::after {
345
-  background-color: var(--td-button-light-outline-active-bg-color, var(--td-brand-color-light-active, var(--td-primary-color-2, #d9e1ff)));
346
-  border-color: var(--td-button-light-outline-active-border-color, var(--td-brand-color-active, var(--td-primary-color-8, #003cab)));
347
-}
348
-.t-button--outline.t-button--light.t-button--disabled {
349
-  background-color: transparent;
350
-  color: var(--td-button-light-outline-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
351
-  border-color: var(--td-button-light-outline-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
352
-}
353
-.t-button--outline.t-button--light.t-button--disabled::after {
354
-  border-color: var(--td-button-light-outline-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
355
-}
356
-.t-button--dashed {
357
-  background-color: transparent;
358
-  border-style: dashed;
359
-}
360
-.t-button--dashed.t-button--primary {
361
-  color: var(--td-button-primary-dashed-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
362
-  border-color: var(--td-button-primary-dashed-border-color, var(--td-button-primary-dashed-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9))));
363
-}
364
-.t-button--dashed.t-button--primary::after {
365
-  border-color: var(--td-button-primary-dashed-border-color, var(--td-button-primary-dashed-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9))));
366
-}
367
-.t-button--dashed.t-button--primary.t-button--disabled {
368
-  background-color: transparent;
369
-  color: var(--td-button-primary-dashed-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
370
-  border-color: var(--td-button-primary-dashed-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
371
-}
372
-.t-button--dashed.t-button--primary.t-button--disabled::after {
373
-  border-color: var(--td-button-primary-dashed-disabled-color, var(--td-brand-color-disabled, var(--td-primary-color-3, #b5c7ff)));
374
-}
375
-.t-button--dashed.t-button--danger {
376
-  color: var(--td-button-danger-dashed-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
377
-  border-color: var(--td-button-danger-dashed-border-color, var(--td-button-danger-dashed-color, var(--td-error-color, var(--td-error-color-6, #d54941))));
378
-}
379
-.t-button--dashed.t-button--danger::after {
380
-  border-color: var(--td-button-danger-dashed-border-color, var(--td-button-danger-dashed-color, var(--td-error-color, var(--td-error-color-6, #d54941))));
381
-}
382
-.t-button--dashed.t-button--danger.t-button--disabled {
383
-  background-color: transparent;
384
-  color: var(--td-button-danger-dashed-disabled-color, var(--td-button-danger-disabled-color, var(--td-font-white-1, #ffffff)));
385
-}
386
-.t-button--dashed.t-button--danger.t-button--disabled::after {
387
-  border-color: var(--td-button-danger-dashed-disabled-color, var(--td-button-danger-disabled-color, var(--td-font-white-1, #ffffff)));
388
-}
389
-.t-button__loading + .t-button__content:not(:empty),
390
-.t-button__icon + .t-button__content:not(:empty) {
391
-  margin-left: 8rpx;
392
-}
393
-.t-button__icon {
394
-  border-radius: var(--td-button-icon-border-radius, 8rpx);
395
-}
396
-.t-button--round.t-button--size-large {
397
-  border-radius: calc(var(--td-button-large-height, 96rpx) / 2);
398
-}
399
-.t-button--round.t-button--size-large::after {
400
-  border-radius: var(--td-button-large-height, 96rpx);
401
-}
402
-.t-button--round.t-button--size-medium {
403
-  border-radius: calc(var(--td-button-medium-height, 80rpx) / 2);
404
-}
405
-.t-button--round.t-button--size-medium::after {
406
-  border-radius: var(--td-button-medium-height, 80rpx);
407
-}
408
-.t-button--round.t-button--size-small {
409
-  border-radius: calc(var(--td-button-small-height, 64rpx) / 2);
410
-}
411
-.t-button--round.t-button--size-small::after {
412
-  border-radius: var(--td-button-small-height, 64rpx);
413
-}
414
-.t-button--round.t-button--size-extra-small {
415
-  border-radius: calc(var(--td-button-extra-small-height, 56rpx) / 2);
416
-}
417
-.t-button--round.t-button--size-extra-small::after {
418
-  border-radius: var(--td-button-extra-small-height, 56rpx);
419
-}
420
-.t-button--square {
421
-  padding: 0;
422
-}
423
-.t-button--square.t-button--size-large {
424
-  width: var(--td-button-large-height, 96rpx);
425
-}
426
-.t-button--square.t-button--size-medium {
427
-  width: var(--td-button-medium-height, 80rpx);
428
-}
429
-.t-button--square.t-button--size-small {
430
-  width: var(--td-button-small-height, 64rpx);
431
-}
432
-.t-button--square.t-button--size-extra-small {
433
-  width: var(--td-button-extra-small-height, 56rpx);
434
-}
435
-.t-button--circle {
436
-  padding: 0;
437
-  border-radius: 50%;
438
-}
439
-.t-button--circle.t-button--size-large {
440
-  width: var(--td-button-large-height, 96rpx);
441
-}
442
-.t-button--circle.t-button--size-large::after {
443
-  border-radius: 50%;
444
-}
445
-.t-button--circle.t-button--size-medium {
446
-  width: var(--td-button-medium-height, 80rpx);
447
-}
448
-.t-button--circle.t-button--size-medium::after {
449
-  border-radius: 50%;
450
-}
451
-.t-button--circle.t-button--size-small {
452
-  width: var(--td-button-small-height, 64rpx);
453
-}
454
-.t-button--circle.t-button--size-small::after {
455
-  border-radius: 50%;
456
-}
457
-.t-button--circle.t-button--size-extra-small {
458
-  width: var(--td-button-extra-small-height, 56rpx);
459
-}
460
-.t-button--circle.t-button--size-extra-small::after {
461
-  border-radius: 50%;
462
-}
463
-.t-button--block {
464
-  display: flex;
465
-  width: 100%;
466
-}
467
-.t-button--disabled {
468
-  cursor: not-allowed;
469
-}
470
-.t-button__loading--wrapper {
471
-  display: flex;
472
-  align-items: center;
473
-  justify-content: center;
474
-}
475
-.t-button.t-button--hover::after {
476
-  z-index: -1;
477
-}
1
+@import '../common/style/index.wxss';.t-button--size-extra-small{font-size:var(--td-button-extra-small-font-size,var(--td-font-size-base,28rpx));padding-left:var(--td-button-extra-small-padding-horizontal,16rpx);padding-right:var(--td-button-extra-small-padding-horizontal,16rpx);height:var(--td-button-extra-small-height,56rpx);line-height:var(--td-button-extra-small-height,56rpx);}
2
+.t-button--size-extra-small .t-button__icon{font-size:var(--td-button-extra-small-icon-font-size,36rpx);}
3
+.t-button--size-small{font-size:var(--td-button-small-font-size,var(--td-font-size-base,28rpx));padding-left:var(--td-button-small-padding-horizontal,24rpx);padding-right:var(--td-button-small-padding-horizontal,24rpx);height:var(--td-button-small-height,64rpx);line-height:var(--td-button-small-height,64rpx);}
4
+.t-button--size-small .t-button__icon{font-size:var(--td-button-small-icon-font-size,36rpx);}
5
+.t-button--size-medium{font-size:var(--td-button-medium-font-size,var(--td-font-size-m,32rpx));padding-left:var(--td-button-medium-padding-horizontal,32rpx);padding-right:var(--td-button-medium-padding-horizontal,32rpx);height:var(--td-button-medium-height,80rpx);line-height:var(--td-button-medium-height,80rpx);}
6
+.t-button--size-medium .t-button__icon{font-size:var(--td-button-medium-icon-font-size,40rpx);}
7
+.t-button--size-large{font-size:var(--td-button-large-font-size,var(--td-font-size-m,32rpx));padding-left:var(--td-button-large-padding-horizontal,40rpx);padding-right:var(--td-button-large-padding-horizontal,40rpx);height:var(--td-button-large-height,96rpx);line-height:var(--td-button-large-height,96rpx);}
8
+.t-button--size-large .t-button__icon{font-size:var(--td-button-large-icon-font-size,48rpx);}
9
+.t-button--default{color:var(--td-button-default-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background-color:var(--td-button-default-bg-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-default-border-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
10
+.t-button--default::after{border-width:var(--td-button-border-width,4rpx);border-color:var(--td-button-default-border-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
11
+.t-button--default.t-button--hover{z-index:0;}
12
+.t-button--default.t-button--hover,.t-button--default.t-button--hover::after{background-color:var(--td-button-default-active-bg-color,var(--td-bg-color-component-active,var(--td-gray-color-6,#a6a6a6)));border-color:var(--td-button-default-active-border-color,var(--td-bg-color-component-active,var(--td-gray-color-6,#a6a6a6)));}
13
+.t-button--default.t-button--disabled{color:var(--td-button-default-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));background-color:var(--td-button-default-disabled-bg,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
14
+.t-button--default.t-button--disabled,.t-button--default.t-button--disabled::after{border-color:var(--td-button-default-disabled-border-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
15
+.t-button--primary{color:var(--td-button-primary-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-button-primary-bg-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-color:var(--td-button-primary-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
16
+.t-button--primary::after{border-width:var(--td-button-border-width,4rpx);border-color:var(--td-button-primary-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
17
+.t-button--primary.t-button--hover{z-index:0;}
18
+.t-button--primary.t-button--hover,.t-button--primary.t-button--hover::after{background-color:var(--td-button-primary-active-bg-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));border-color:var(--td-button-primary-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
19
+.t-button--primary.t-button--disabled{color:var(--td-button-primary-disabled-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-button-primary-disabled-bg,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
20
+.t-button--primary.t-button--disabled,.t-button--primary.t-button--disabled::after{border-color:var(--td-button-primary-disabled-border-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
21
+.t-button--light{color:var(--td-button-light-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-button-light-bg-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));border-color:var(--td-button-light-border-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
22
+.t-button--light::after{border-width:var(--td-button-border-width,4rpx);border-color:var(--td-button-light-border-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
23
+.t-button--light.t-button--hover{z-index:0;}
24
+.t-button--light.t-button--hover,.t-button--light.t-button--hover::after{background-color:var(--td-button-light-active-bg-color,var(--td-brand-color-light-active,var(--td-primary-color-2,#d9e1ff)));border-color:var(--td-button-light-active-border-color,var(--td-brand-color-light-active,var(--td-primary-color-2,#d9e1ff)));}
25
+.t-button--light.t-button--disabled{color:var(--td-button-light-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));background-color:var(--td-button-light-disabled-bg,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
26
+.t-button--light.t-button--disabled,.t-button--light.t-button--disabled::after{border-color:var(--td-button-light-disabled-border-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
27
+.t-button--danger{color:var(--td-button-danger-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-button-danger-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941)));border-color:var(--td-button-danger-border-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
28
+.t-button--danger::after{border-width:var(--td-button-border-width,4rpx);border-color:var(--td-button-danger-border-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
29
+.t-button--danger.t-button--hover{z-index:0;}
30
+.t-button--danger.t-button--hover,.t-button--danger.t-button--hover::after{background-color:var(--td-button-danger-active-bg-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));border-color:var(--td-button-danger-active-border-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
31
+.t-button--danger.t-button--disabled{color:var(--td-button-danger-disabled-color,var(--td-font-white-1,#fff));background-color:var(--td-button-danger-disabled-bg,var(--td-error-color-3,#ffb9b0));}
32
+.t-button--danger.t-button--disabled,.t-button--danger.t-button--disabled::after{border-color:var(--td-button-danger-disabled-border-color,var(--td-error-color-3,#ffb9b0));}
33
+.t-button{display:inline-flex;align-items:center;justify-content:center;position:relative;white-space:nowrap;text-align:center;background-image:none;transition:all .3s;touch-action:manipulation;border-radius:var(--td-button-border-radius,var(--td-radius-default,12rpx));outline:0;font-family:PingFang SC,Microsoft YaHei,Arial Regular;font-weight:var(--td-button-font-weight,600);vertical-align:top;box-sizing:border-box;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-appearance:none;}
34
+.t-button::after{border-radius:calc(var(--td-button-border-radius,var(--td-radius-default,12rpx)) * 2);}
35
+.t-button--text{color:var(--td-button-default-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background-color:transparent;}
36
+.t-button--text,.t-button--text::after{border:0;}
37
+.t-button--text.t-button--hover,.t-button--text.t-button--hover::after{background-color:var(--td-button-default-text-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));}
38
+.t-button--text.t-button--primary{color:var(--td-button-primary-text-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:transparent;}
39
+.t-button--text.t-button--primary.t-button--hover,.t-button--text.t-button--primary.t-button--hover::after{background-color:var(--td-button-primary-text-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));}
40
+.t-button--text.t-button--primary.t-button--disabled{color:var(--td-button-primary-text-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
41
+.t-button--text.t-button--danger{color:var(--td-button-danger-text-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:transparent;}
42
+.t-button--text.t-button--danger.t-button--hover,.t-button--text.t-button--danger.t-button--hover::after{background-color:var(--td-button-danger-text-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));}
43
+.t-button--text.t-button--danger.t-button--disabled{color:var(--td-button-danger-text-disabled-color,var(--td-button-danger-disabled-color,var(--td-font-white-1,#fff)));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
44
+.t-button--text.t-button--light{color:var(--td-button-light-text-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:transparent;}
45
+.t-button--text.t-button--light.t-button--hover,.t-button--text.t-button--light.t-button--hover::after{background-color:var(--td-button-light-text-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));}
46
+.t-button--text.t-button--disabled{color:var(--td-button-default-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
47
+.t-button--outline{color:var(--td-button-default-outline-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
48
+.t-button--outline,.t-button--outline::after{border-color:var(--td-button-default-outline-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
49
+.t-button--outline.t-button--hover,.t-button--outline.t-button--hover::after{background-color:var(--td-button-default-outline-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-default-outline-active-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
50
+.t-button--outline.t-button--disabled{color:var(--td-button-default-outline-disabled-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
51
+.t-button--outline.t-button--disabled,.t-button--outline.t-button--disabled::after{border-color:var(--td-button-default-outline-disabled-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
52
+.t-button--outline.t-button--primary{color:var(--td-button-primary-outline-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
53
+.t-button--outline.t-button--primary,.t-button--outline.t-button--primary::after{border-color:var(--td-button-primary-outline-border-color,var(--td-button-primary-outline-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9))));}
54
+.t-button--outline.t-button--primary.t-button--hover{color:var(--td-button-primary-outline-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
55
+.t-button--outline.t-button--primary.t-button--hover::after{background-color:var(--td-button-primary-outline-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-primary-outline-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
56
+.t-button--outline.t-button--primary.t-button--disabled{background-color:transparent;color:var(--td-button-primary-outline-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
57
+.t-button--outline.t-button--primary.t-button--disabled,.t-button--outline.t-button--primary.t-button--disabled::after{border-color:var(--td-button-primary-outline-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
58
+.t-button--outline.t-button--danger{color:var(--td-button-danger-outline-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
59
+.t-button--outline.t-button--danger,.t-button--outline.t-button--danger::after{border-color:var(--td-button-danger-outline-border-color,var(--td-button-danger-outline-color,var(--td-error-color,var(--td-error-color-6,#d54941))));}
60
+.t-button--outline.t-button--danger.t-button--hover{color:var(--td-button-danger-outline-active-border-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
61
+.t-button--outline.t-button--danger.t-button--hover::after{background-color:var(--td-button-danger-outline-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-danger-outline-active-border-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
62
+.t-button--outline.t-button--danger.t-button--disabled{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));color:var(--td-button-danger-outline-disabled-color,var(--td-error-color-3,#ffb9b0));}
63
+.t-button--outline.t-button--danger.t-button--disabled,.t-button--outline.t-button--danger.t-button--disabled::after{border-color:var(--td-button-danger-outline-disabled-color,var(--td-error-color-3,#ffb9b0));}
64
+.t-button--outline.t-button--light{color:var(--td-button-light-outline-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-button-light-outline-bg-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
65
+.t-button--outline.t-button--light,.t-button--outline.t-button--light::after{border-color:var(--td-button-light-outline-border-color,var(--td-button-light-outline-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9))));}
66
+.t-button--outline.t-button--light.t-button--hover{color:var(--td-button-light-outline-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
67
+.t-button--outline.t-button--light.t-button--hover,.t-button--outline.t-button--light.t-button--hover::after{background-color:var(--td-button-light-outline-active-bg-color,var(--td-brand-color-light-active,var(--td-primary-color-2,#d9e1ff)));border-color:var(--td-button-light-outline-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
68
+.t-button--outline.t-button--light.t-button--disabled{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));color:var(--td-button-light-outline-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
69
+.t-button--outline.t-button--light.t-button--disabled,.t-button--outline.t-button--light.t-button--disabled::after{border-color:var(--td-button-light-outline-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
70
+.t-button--dashed{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));border-style:dashed;border-width:2rpx;}
71
+.t-button--dashed::after{border:0;}
72
+.t-button--dashed.t-button--hover,.t-button--dashed.t-button--hover::after{background-color:var(--td-button-default-outline-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-default-outline-active-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
73
+.t-button--dashed.t-button--primary{color:var(--td-button-primary-dashed-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
74
+.t-button--dashed.t-button--primary,.t-button--dashed.t-button--primary::after{border-color:var(--td-button-primary-dashed-border-color,var(--td-button-primary-dashed-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9))));}
75
+.t-button--dashed.t-button--primary.t-button--disabled{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));color:var(--td-button-primary-dashed-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
76
+.t-button--dashed.t-button--primary.t-button--disabled,.t-button--dashed.t-button--primary.t-button--disabled::after{border-color:var(--td-button-primary-dashed-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
77
+.t-button--dashed.t-button--danger{color:var(--td-button-danger-dashed-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
78
+.t-button--dashed.t-button--danger,.t-button--dashed.t-button--danger::after{border-color:var(--td-button-danger-dashed-border-color,var(--td-button-danger-dashed-color,var(--td-error-color,var(--td-error-color-6,#d54941))));}
79
+.t-button--dashed.t-button--danger.t-button--disabled{background-color:transparent;color:var(--td-button-danger-dashed-disabled-color,var(--td-button-danger-disabled-color,var(--td-font-white-1,#fff)));}
80
+.t-button--dashed.t-button--danger.t-button--disabled::after{border-color:var(--td-button-danger-dashed-disabled-color,var(--td-button-danger-disabled-color,var(--td-font-white-1,#fff)));}
81
+.t-button--ghost{background-color:transparent;color:var(--td-button-ghost-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));}
82
+.t-button--ghost,.t-button--ghost::after{border-color:var(--td-button-ghost-border-color,var(--td-button-ghost-color,var(--td-text-color-anti,var(--td-font-white-1,#fff))));}
83
+.t-button--ghost.t-button--default.t-button--hover{color:var(--td-button-ghost-hover-color,var(--td-font-white-2,rgba(255,255,255,.55)));}
84
+.t-button--ghost.t-button--default.t-button--hover,.t-button--ghost.t-button--default.t-button--hover::after{background-color:transparent;border-color:var(--td-button-ghost-hover-color,var(--td-font-white-2,rgba(255,255,255,.55)));}
85
+.t-button--ghost.t-button--primary{color:var(--td-button-ghost-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
86
+.t-button--ghost.t-button--primary,.t-button--ghost.t-button--primary::after{border-color:var(--td-button-ghost-primary-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
87
+.t-button--ghost.t-button--primary.t-button--hover{color:var(--td-button-ghost-primary-hover-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
88
+.t-button--ghost.t-button--primary.t-button--hover,.t-button--ghost.t-button--primary.t-button--hover::after{background-color:transparent;border-color:var(--td-button-ghost-primary-hover-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
89
+.t-button--ghost.t-button--primary.t-button--text.t-button--hover,.t-button--ghost.t-button--primary.t-button--text.t-button--hover::after{background-color:var(--td-gray-color-10,#4b4b4b);}
90
+.t-button--ghost.t-button--primary.t-button--disabled{background-color:transparent;color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
91
+.t-button--ghost.t-button--primary.t-button--disabled,.t-button--ghost.t-button--primary.t-button--disabled::after{border-color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
92
+.t-button--ghost.t-button--danger{color:var(--td-button-ghost-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
93
+.t-button--ghost.t-button--danger,.t-button--ghost.t-button--danger::after{border-color:var(--td-button-ghost-danger-border-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
94
+.t-button--ghost.t-button--danger.t-button--hover{color:var(--td-button-ghost-danger-hover-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
95
+.t-button--ghost.t-button--danger.t-button--hover,.t-button--ghost.t-button--danger.t-button--hover::after{background-color:transparent;border-color:var(--td-button-ghost-danger-hover-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
96
+.t-button--ghost.t-button--danger.t-button--text.t-button--hover,.t-button--ghost.t-button--danger.t-button--text.t-button--hover::after{background-color:var(--td-gray-color-10,#4b4b4b);}
97
+.t-button--ghost.t-button--danger.t-button--disabled{background-color:transparent;color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
98
+.t-button--ghost.t-button--danger.t-button--disabled,.t-button--ghost.t-button--danger.t-button--disabled::after{border-color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
99
+.t-button--ghost.t-button--default.t-button--text.t-button--hover,.t-button--ghost.t-button--default.t-button--text.t-button--hover::after{background-color:var(--td-gray-color-10,#4b4b4b);}
100
+.t-button--ghost.t-button--default.t-button--disabled{background-color:transparent;color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
101
+.t-button--ghost.t-button--default.t-button--disabled,.t-button--ghost.t-button--default.t-button--disabled::after{border-color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
102
+.t-button__icon+.t-button__content:not(:empty),.t-button__loading+.t-button__content:not(:empty){margin-left:8rpx;}
103
+.t-button__icon{border-radius:var(--td-button-icon-border-radius,8rpx);}
104
+.t-button--round.t-button--size-large{border-radius:calc(var(--td-button-large-height,96rpx)/ 2);}
105
+.t-button--round.t-button--size-large::after{border-radius:var(--td-button-large-height,96rpx);}
106
+.t-button--round.t-button--size-medium{border-radius:calc(var(--td-button-medium-height,80rpx)/ 2);}
107
+.t-button--round.t-button--size-medium::after{border-radius:var(--td-button-medium-height,80rpx);}
108
+.t-button--round.t-button--size-small{border-radius:calc(var(--td-button-small-height,64rpx)/ 2);}
109
+.t-button--round.t-button--size-small::after{border-radius:var(--td-button-small-height,64rpx);}
110
+.t-button--round.t-button--size-extra-small{border-radius:calc(var(--td-button-extra-small-height,56rpx)/ 2);}
111
+.t-button--round.t-button--size-extra-small::after{border-radius:var(--td-button-extra-small-height,56rpx);}
112
+.t-button--square{padding:0;}
113
+.t-button--square.t-button--size-large{width:var(--td-button-large-height,96rpx);}
114
+.t-button--square.t-button--size-medium{width:var(--td-button-medium-height,80rpx);}
115
+.t-button--square.t-button--size-small{width:var(--td-button-small-height,64rpx);}
116
+.t-button--square.t-button--size-extra-small{width:var(--td-button-extra-small-height,56rpx);}
117
+.t-button--circle{padding:0;border-radius:50%;}
118
+.t-button--circle.t-button--size-large{width:var(--td-button-large-height,96rpx);}
119
+.t-button--circle.t-button--size-large::after{border-radius:50%;}
120
+.t-button--circle.t-button--size-medium{width:var(--td-button-medium-height,80rpx);}
121
+.t-button--circle.t-button--size-medium::after{border-radius:50%;}
122
+.t-button--circle.t-button--size-small{width:var(--td-button-small-height,64rpx);}
123
+.t-button--circle.t-button--size-small::after{border-radius:50%;}
124
+.t-button--circle.t-button--size-extra-small{width:var(--td-button-extra-small-height,56rpx);}
125
+.t-button--circle.t-button--size-extra-small::after{border-radius:50%;}
126
+.t-button--block{display:flex;width:100%;}
127
+.t-button--disabled{cursor:not-allowed;}
128
+.t-button__loading--wrapper{display:flex;align-items:center;justify-content:center;}
129
+.t-button.t-button--hover::after{z-index:-1;}

+ 1
- 3
miniprogram_npm/tdesign-miniprogram/button/index.js View File

@@ -1,3 +1 @@
1
-export * from './props';
2
-export * from './type';
3
-export * from './button';
1
+export*from"./props";export*from"./type";export*from"./button";

+ 1
- 104
miniprogram_npm/tdesign-miniprogram/button/props.js View File

@@ -1,104 +1 @@
1
-const props = {
2
-    tId: {
3
-        type: String,
4
-        value: '',
5
-    },
6
-    block: {
7
-        type: Boolean,
8
-        value: false,
9
-    },
10
-    content: {
11
-        type: String,
12
-    },
13
-    customDataset: {
14
-        type: null,
15
-    },
16
-    disabled: {
17
-        type: Boolean,
18
-        value: false,
19
-    },
20
-    externalClasses: {
21
-        type: Array,
22
-    },
23
-    ghost: {
24
-        type: Boolean,
25
-        value: false,
26
-    },
27
-    icon: {
28
-        type: null,
29
-    },
30
-    loading: {
31
-        type: Boolean,
32
-        value: false,
33
-    },
34
-    loadingProps: {
35
-        type: Object,
36
-    },
37
-    shape: {
38
-        type: String,
39
-        value: 'rectangle',
40
-    },
41
-    size: {
42
-        type: String,
43
-        value: 'medium',
44
-    },
45
-    theme: {
46
-        type: String,
47
-        value: 'default',
48
-    },
49
-    type: {
50
-        type: String,
51
-    },
52
-    variant: {
53
-        type: String,
54
-        value: 'base',
55
-    },
56
-    openType: {
57
-        type: String,
58
-    },
59
-    hoverClass: {
60
-        type: String,
61
-        value: '',
62
-    },
63
-    hoverStopPropagation: {
64
-        type: Boolean,
65
-        value: false,
66
-    },
67
-    hoverStartTime: {
68
-        type: Number,
69
-        value: 20,
70
-    },
71
-    hoverStayTime: {
72
-        type: Number,
73
-        value: 70,
74
-    },
75
-    lang: {
76
-        type: String,
77
-        value: 'en',
78
-    },
79
-    sessionFrom: {
80
-        type: String,
81
-        value: '',
82
-    },
83
-    sendMessageTitle: {
84
-        type: String,
85
-        value: '',
86
-    },
87
-    sendMessagePath: {
88
-        type: String,
89
-        value: '',
90
-    },
91
-    sendMessageImg: {
92
-        type: String,
93
-        value: '',
94
-    },
95
-    appParameter: {
96
-        type: String,
97
-        value: '',
98
-    },
99
-    showMessageCard: {
100
-        type: Boolean,
101
-        value: false,
102
-    },
103
-};
104
-export default props;
1
+const props={appParameter:{type:String,value:""},block:{type:Boolean,value:!1},content:{type:String},customDataset:{type:null},disabled:{type:null,value:void 0},ghost:{type:Boolean,value:!1},hoverClass:{type:String,value:""},hoverStartTime:{type:Number,value:20},hoverStayTime:{type:Number,value:70},hoverStopPropagation:{type:Boolean,value:!1},icon:{type:null},lang:{type:String},loading:{type:Boolean,value:!1},loadingProps:{type:Object},openType:{type:String},phoneNumberNoQuotaToast:{type:Boolean,value:!0},sendMessageImg:{type:String,value:"截图"},sendMessagePath:{type:String,value:"当前分享路径"},sendMessageTitle:{type:String,value:"当前标题"},sessionFrom:{type:String,value:""},shape:{type:String,value:"rectangle"},showMessageCard:{type:Boolean,value:!1},size:{type:String,value:"medium"},style:{type:String,value:""},tId:{type:String,value:""},theme:{type:String,value:"default"},type:{type:String},variant:{type:String,value:"base"}};export default props;

+ 49
- 46
miniprogram_npm/tdesign-miniprogram/button/type.d.ts View File

@@ -1,7 +1,6 @@
1 1
 import { LoadingProps } from '../loading/index';
2
-import { SizeEnum } from '../common/common';
3 2
 export interface TdButtonProps {
4
-    tId?: {
3
+    appParameter?: {
5 4
         type: StringConstructor;
6 5
         value?: string;
7 6
     };
@@ -14,25 +13,41 @@ export interface TdButtonProps {
14 13
         value?: string;
15 14
     };
16 15
     customDataset?: {
17
-        type: ObjectConstructor;
18
-        value?: any;
16
+        type: null;
17
+        value?: null;
19 18
     };
20 19
     disabled?: {
21 20
         type: BooleanConstructor;
22 21
         value?: boolean;
23 22
     };
24
-    externalClasses?: {
25
-        type: ArrayConstructor;
26
-        value?: ['t-class', 't-class-icon', 't-class-loading'];
27
-    };
28 23
     ghost?: {
29 24
         type: BooleanConstructor;
30 25
         value?: boolean;
31 26
     };
27
+    hoverClass?: {
28
+        type: StringConstructor;
29
+        value?: string;
30
+    };
31
+    hoverStartTime?: {
32
+        type: NumberConstructor;
33
+        value?: number;
34
+    };
35
+    hoverStayTime?: {
36
+        type: NumberConstructor;
37
+        value?: number;
38
+    };
39
+    hoverStopPropagation?: {
40
+        type: BooleanConstructor;
41
+        value?: boolean;
42
+    };
32 43
     icon?: {
33 44
         type: null;
34 45
         value?: string | object;
35 46
     };
47
+    lang?: {
48
+        type: StringConstructor;
49
+        value?: 'en' | 'zh_CN' | 'zh_TW';
50
+    };
36 51
     loading?: {
37 52
         type: BooleanConstructor;
38 53
         value?: boolean;
@@ -41,72 +56,60 @@ export interface TdButtonProps {
41 56
         type: ObjectConstructor;
42 57
         value?: LoadingProps;
43 58
     };
44
-    shape?: {
59
+    openType?: {
45 60
         type: StringConstructor;
46
-        value?: 'rectangle' | 'square' | 'round' | 'circle';
61
+        value?: 'contact' | 'share' | 'getPhoneNumber' | 'getUserInfo' | 'launchApp' | 'openSetting' | 'feedback' | 'chooseAvatar' | 'agreePrivacyAuthorization';
47 62
     };
48
-    size?: {
49
-        type: StringConstructor;
50
-        value?: SizeEnum;
63
+    phoneNumberNoQuotaToast?: {
64
+        type: BooleanConstructor;
65
+        value?: boolean;
51 66
     };
52
-    theme?: {
67
+    sendMessageImg?: {
53 68
         type: StringConstructor;
54
-        value?: 'default' | 'primary' | 'danger';
69
+        value?: string;
55 70
     };
56
-    type?: {
71
+    sendMessagePath?: {
57 72
         type: StringConstructor;
58
-        value?: 'submit' | 'reset';
73
+        value?: string;
59 74
     };
60
-    variant?: {
75
+    sendMessageTitle?: {
61 76
         type: StringConstructor;
62
-        value?: 'base' | 'outline' | 'text';
77
+        value?: string;
63 78
     };
64
-    openType?: {
79
+    sessionFrom?: {
65 80
         type: StringConstructor;
66
-        value?: 'contact' | 'share' | 'getPhoneNumber' | 'getUserInfo' | 'launchApp' | 'openSetting' | 'feedback' | 'chooseAvatar' | 'agreePrivacyAuthorization';
81
+        value?: string;
67 82
     };
68
-    hoverClass?: {
83
+    shape?: {
69 84
         type: StringConstructor;
70
-        value?: string;
85
+        value?: 'rectangle' | 'square' | 'round' | 'circle';
71 86
     };
72
-    hoverStopPropagation?: {
87
+    showMessageCard?: {
73 88
         type: BooleanConstructor;
74 89
         value?: boolean;
75 90
     };
76
-    hoverStartTime?: {
77
-        type: NumberConstructor;
78
-        value?: number;
79
-    };
80
-    hoverStayTime?: {
81
-        type: NumberConstructor;
82
-        value?: number;
83
-    };
84
-    lang?: {
91
+    size?: {
85 92
         type: StringConstructor;
86
-        value?: 'en' | 'zh_CN' | 'zh_TW';
93
+        value?: 'extra-small' | 'small' | 'medium' | 'large';
87 94
     };
88
-    sessionFrom?: {
95
+    style?: {
89 96
         type: StringConstructor;
90 97
         value?: string;
91 98
     };
92
-    sendMessageTitle?: {
99
+    tId?: {
93 100
         type: StringConstructor;
94 101
         value?: string;
95 102
     };
96
-    sendMessagePath?: {
103
+    theme?: {
97 104
         type: StringConstructor;
98
-        value?: string;
105
+        value?: 'default' | 'primary' | 'danger' | 'light';
99 106
     };
100
-    sendMessageImg?: {
107
+    type?: {
101 108
         type: StringConstructor;
102
-        value?: string;
109
+        value?: 'submit' | 'reset';
103 110
     };
104
-    appParameter?: {
111
+    variant?: {
105 112
         type: StringConstructor;
106
-        value?: string;
107
-    };
108
-    showMessageCard?: {
109
-        type: BooleanConstructor;
110
-        value?: boolean;
113
+        value?: 'base' | 'outline' | 'dashed' | 'text';
111 114
     };
112 115
 }

+ 1
- 1
miniprogram_npm/tdesign-miniprogram/button/type.js View File

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

+ 0
- 45
miniprogram_npm/tdesign-miniprogram/calendar/README.en-US.md View File

@@ -1,48 +0,0 @@
1
-:: BASE_DOC ::
2
-
3
-## API
4
-
5
-### Calendar Props
6
-
7
-name | type | default | description | required
8
-style | Object | - | CSS(Cascading Style Sheets) | N
9
-custom-style | Object | - | CSS(Cascading Style Sheets),used to set style on virtual component | N
10
-auto-close | Boolean | true | `0.34.0` | N
11
-confirm-btn | String / Object / Slot | '' | [see more ts definition](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts)。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/calendar/type.ts) | N
12
-first-day-of-week | Number | 0 | \- | N
13
-format | Function | - | Typescript:`CalendarFormatType ` `type CalendarFormatType = (day: TDate) => TDate` `type TDateType = 'selected' \| 'disabled' \| 'start' \| 'centre' \| 'end' \| ''` `interface TDate { date: Date; day: number; type: TDateType; className?: string; prefix?: string; suffix?: string;}`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/calendar/type.ts) | N
14
-max-date | Number | - | \- | N
15
-min-date | Number | - | \- | N
16
-title | String / Slot | '请选择日期' | [see more ts definition](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N
17
-type | String | 'single' | options: single/multiple/range | N
18
-use-popup | Boolean | true | `0.32.0` | N
19
-using-custom-navbar | Boolean | false | \- | N
20
-value | Number / Array | - | Typescript:`number \| number[]` | N
21
-default-value | Number / Array | undefined | uncontrolled property。Typescript:`number \| number[]` | N
22
-visible | Boolean | false | \- | N
23
-
24
-### Calendar Events
25
-
26
-name | params | description
27
-change | `(value: timestamp)` | `0.28.0`
28
-close | `(trigger: CalendarTrigger)` | `0.34.0`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/calendar/type.ts)。<br/>`type CalendarTrigger = 'close-btn' \| 'confirm-btn' \| 'overlay'`<br/>
29
-confirm | `(value: timestamp)` | \-
30
-select | `(value: timestamp)` | `0.28.0`
31
-
32
-### CSS Variables
33
-
34
-The component provides the following CSS variables, which can be used to customize styles.
35
-Name | Default Value | Description 
36
---td-calendar-active-color | @brand-color | - 
37
---td-calendar-bg-color | @bg-color-container | - 
38
---td-calendar-days-color | @font-gray-2 | - 
39
---td-calendar-item-centre-color | @brand-color-light | - 
40
---td-calendar-item-disabled-color | @font-gray-4 | - 
41
---td-calendar-item-suffix-color | @font-gray-3 | - 
42
---td-calendar-radius | 24rpx | - 
43
---td-calendar-selected-color | @font-white-1 | - 
44
---td-calendar-title-color | @font-gray-1 | - 
45
---td-calendar-title-font-size | 18px | -

+ 0
- 103
miniprogram_npm/tdesign-miniprogram/calendar/README.md View File

@@ -1,106 +0,0 @@
1
----
2
-title: Calendar 日历
3
-description: 按照日历形式展示数据或日期的容器。
4
-spline: form
5
-isComponent: true
6
----
7
-<span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20lines-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20functions-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20statements-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20branches-100%25-blue" /></span>
8
-
9
-<div style="background: #ecf2fe; display: flex; align-items: center; line-height: 20px; padding: 14px 24px; border-radius: 3px; color: #555a65">
10
-  <svg fill="none" viewBox="0 0 16 16" width="16px" height="16px" style="margin-right: 5px">
11
-    <path fill="#0052d9" d="M8 15A7 7 0 108 1a7 7 0 000 14zM7.4 4h1.2v1.2H7.4V4zm.1 2.5h1V12h-1V6.5z" fillOpacity="0.9"></path>
12
-  </svg>
13
-  该组件于 0.22.0 版本上线,请留意版本。
14
-</div>
15
-
16
-## 引入
17
-
18
-全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
19
-
20
-```json
21
-"usingComponents": {
22
-  "t-calendar": "tdesign-miniprogram/calendar/calendar"
23
-}
24
-```
25
-
26
-## 代码演示
27
-
28
-<a href="https://developers.weixin.qq.com/s/jb5E2imk7QSV" title="在开发者工具中预览效果" target="_blank" rel="noopener noreferrer"> 在开发者工具中预览效果 </a>
29
-
30
-<blockquote style="background-color: #d9e1ff; font-size: 15px; line-height: 26px;margin: 16px 0 0;padding: 16px; border-radius: 6px; color: #0052d9" >
31
-<p>Tips: 请确保开发者工具为打开状态。导入开发者工具后,依次执行:npm i > 构建npm包 > 勾选 "将JS编译成ES5"</p>
32
-</blockquote>
33
-
34
-### 组件类型
35
-#### 单个选择日期
36
-
37
-{{ base }}
38
-
39
-#### 多个选择日期
40
-
41
-{{ multiple }}
42
-
43
-#### 区间选择日期
44
-
45
-{{ range }}
46
-
47
-### 组件样式
48
-
49
-#### 自定义文案
50
-
51
-{{ custom-text }}
52
-
53
-#### 自定义区间
54
-
55
-{{ custom-range }}
56
-
57
-#### 不使用 Popup
58
-
59
-{{ without-popup }}
60
-
61
-## API
62
-
63
-### Calendar Props
64
-
65
-名称 | 类型 | 默认值 | 描述 | 必传
66
-style | Object | - | 样式 | N
67
-custom-style | Object | - | 样式,一般用于开启虚拟化组件节点场景 | N
68
-auto-close | Boolean | true | `0.34.0`。自动关闭;在点击关闭按钮、确认按钮、遮罩层时自动关闭,不需要手动设置 visible | N
69
-confirm-btn | String / Object / Slot | '' | 确认按钮。值为 null 则不显示确认按钮。值类型为字符串,则表示自定义按钮文本,值类型为 Object 则表示透传 Button 组件属性。[通用类型定义](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts)。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/calendar/type.ts) | N
70
-first-day-of-week | Number | 0 | 第一天从星期几开始,默认 0 = 周日 | N
71
-format | Function | - | 用于格式化日期的函数。TS 类型:`CalendarFormatType ` `type CalendarFormatType = (day: TDate) => TDate` `type TDateType = 'selected' \| 'disabled' \| 'start' \| 'centre' \| 'end' \| ''` `interface TDate { date: Date; day: number; type: TDateType; className?: string; prefix?: string; suffix?: string;}`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/calendar/type.ts) | N
72
-max-date | Number | - | 最大可选的日期,不传则默认半年后 | N
73
-min-date | Number | - | 最小可选的日期,不传则默认今天 | N
74
-title | String / Slot | '请选择日期' | 标题。[通用类型定义](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N
75
-type | String | 'single' | 日历的选择类型,single = 单选;multiple = 多选; range = 区间选择。可选项:single/multiple/range | N
76
-use-popup | Boolean | true | `0.32.0`。是否使用弹出层包裹日历 | N
77
-using-custom-navbar | Boolean | false | 是否使用了自定义导航栏 | N
78
-value | Number / Array | - | 当前选择的日期,不传则默认今天,当 type = multiple 或 range 时传入数组。TS 类型:`number \| number[]` | N
79
-default-value | Number / Array | undefined | 当前选择的日期,不传则默认今天,当 type = multiple 或 range 时传入数组。非受控属性。TS 类型:`number \| number[]` | N
80
-visible | Boolean | false | 是否显示日历;`usePopup` 为 true 时有效 | N
81
-
82
-### Calendar Events
83
-
84
-名称 | 参数 | 描述
85
-change | `(value: timestamp)` | `0.28.0`。不显示 confirm-btn 时,完成选择时触发(暂不支持 type = multiple)
86
-close | `(trigger: CalendarTrigger)` | `0.34.0`。关闭按钮时触发。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/calendar/type.ts)。<br/>`type CalendarTrigger = 'close-btn' \| 'confirm-btn' \| 'overlay'`<br/>
87
-confirm | `(value: timestamp)` | 点击确认按钮时触发
88
-select | `(value: timestamp)` | `0.28.0`。点击日期时触发
89
-
90
-### CSS Variables
91
-
92
-组件提供了下列 CSS 变量,可用于自定义样式。
93
-名称 | 默认值 | 描述 
94
---td-calendar-active-color | @brand-color | - 
95
---td-calendar-bg-color | @bg-color-container | - 
96
---td-calendar-days-color | @font-gray-2 | - 
97
---td-calendar-item-centre-color | @brand-color-light | - 
98
---td-calendar-item-disabled-color | @font-gray-4 | - 
99
---td-calendar-item-suffix-color | @font-gray-3 | - 
100
---td-calendar-radius | 24rpx | - 
101
---td-calendar-selected-color | @font-white-1 | - 
102
---td-calendar-title-color | @font-gray-1 | - 
103
---td-calendar-title-font-size | 18px | -

+ 1
- 0
miniprogram_npm/tdesign-miniprogram/calendar/calendar-header.wxml View File

@@ -0,0 +1 @@
1
+<wxs src="../common/utils.wxs" module="_"/><template name="calendar-header"><view class="{{tClass}} {{classPrefix}} {{switchMode !== 'none' ? classPrefix + '__with-action' : ''}}" id="{{tId}}"><view class="{{classPrefix}}__action" wx:if="{{switchMode !== 'none'}}"><view wx:if="{{switchMode === 'year-month'}}" class="{{_.cls(classPrefix + '__icon', [['disabled', preYearBtnDisable]])}}" data-disabled="{{preYearBtnDisable}}" data-type="pre-year" bindtap="handleSwitchModeChange"><t-icon name="chevron-left-double"/></view><view class="{{_.cls(classPrefix + '__icon', [['disabled', prevMonthBtnDisable]])}}" data-disabled="{{prevMonthBtnDisable}}" data-type="pre-month" bindtap="handleSwitchModeChange"><t-icon name="chevron-left"/></view></view><view class="{{classPrefix}}__title">{{ title }}</view><view class="{{classPrefix}}__action" wx:if="{{switchMode !== 'none'}}"><view class="{{_.cls(classPrefix + '__icon', [['disabled', nextMonthBtnDisable]])}}" data-disabled="{{nextMonthBtnDisable}}" data-type="next-month" bindtap="handleSwitchModeChange"><t-icon name="chevron-right"/></view><view wx:if="{{switchMode === 'year-month'}}" class="{{_.cls(classPrefix + '__icon', [['disabled', nextYearBtnDisable]])}}" data-disabled="{{nextYearBtnDisable}}" data-type="next-year" bindtap="handleSwitchModeChange"><t-icon name="chevron-right-double"/></view></view></view></template>

+ 18
- 2
miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts View File

@@ -13,8 +13,14 @@ export default class Calendar extends SuperComponent {
13 13
         classPrefix: string;
14 14
         months: any[];
15 15
         scrollIntoView: string;
16
-        innerConfirmBtn: {
17
-            content: string;
16
+        innerConfirmBtn: {};
17
+        realLocalText: {};
18
+        currentMonth: {};
19
+        actionButtons: {
20
+            preYearBtnDisable: boolean;
21
+            prevMonthBtnDisable: boolean;
22
+            nextMonthBtnDisable: boolean;
23
+            nextYearBtnDisable: boolean;
18 24
         };
19 25
     };
20 26
     controlledProps: {
@@ -36,6 +42,13 @@ export default class Calendar extends SuperComponent {
36 42
     methods: {
37 43
         initialValue(): void;
38 44
         scrollIntoView(): void;
45
+        getCurrentYearAndMonth(v: Date): {
46
+            year: number;
47
+            month: number;
48
+        };
49
+        updateActionButton(value: Date): void;
50
+        updateCurrentMonth(newValue?: any): void;
51
+        calcCurrentMonth(newValue?: any): void;
39 52
         calcMonths(): void;
40 53
         close(trigger: any): void;
41 54
         onVisibleChange(): void;
@@ -43,5 +56,8 @@ export default class Calendar extends SuperComponent {
43 56
         handleSelect(e: any): void;
44 57
         onTplButtonTap(): void;
45 58
         toTime(val: any): any;
59
+        onScroll(e: any): void;
60
+        getCurrentDate(): any;
61
+        handleSwitchModeChange(e: any): void;
46 62
     };
47 63
 }

+ 1
- 170
miniprogram_npm/tdesign-miniprogram/calendar/calendar.js
File diff suppressed because it is too large
View File


+ 1
- 9
miniprogram_npm/tdesign-miniprogram/calendar/calendar.json View File

@@ -1,9 +1 @@
1
-{
2
-  "component": true,
3
-  "styleIsolation": "apply-shared",
4
-  "usingComponents": {
5
-    "t-popup": "../popup/popup",
6
-    "t-button": "../button/button",
7
-    "t-icon": "../icon/icon"
8
-  }
9
-}
1
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-popup":"../popup/popup","t-button":"../button/button","t-icon":"../icon/icon"}}

+ 0
- 0
miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxml View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save