@tuya-miniapp/smart-ui 1.3.0-beta-1 → 1.3.1-beta-1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. package/dist/bottom-sheet/index.css +1 -0
  2. package/dist/bottom-sheet/index.d.ts +1 -0
  3. package/dist/bottom-sheet/index.js +70 -0
  4. package/dist/bottom-sheet/index.json +8 -0
  5. package/dist/bottom-sheet/index.wxml +26 -0
  6. package/dist/bottom-sheet/index.wxss +1 -0
  7. package/dist/button/index.js +1 -0
  8. package/dist/button/index.wxml +1 -1
  9. package/dist/calendar/calendar.wxml +53 -52
  10. package/dist/calendar/components/header/index.css +1 -1
  11. package/dist/calendar/components/header/index.js +18 -0
  12. package/dist/calendar/components/header/index.json +4 -1
  13. package/dist/calendar/components/header/index.wxml +15 -4
  14. package/dist/calendar/components/header/index.wxss +1 -1
  15. package/dist/calendar/components/month/index.css +1 -1
  16. package/dist/calendar/components/month/index.js +7 -2
  17. package/dist/calendar/components/month/index.wxml +0 -13
  18. package/dist/calendar/components/month/index.wxs +13 -7
  19. package/dist/calendar/components/month/index.wxss +1 -1
  20. package/dist/calendar/components/month-list/index.css +1 -0
  21. package/dist/calendar/components/month-list/index.d.ts +1 -0
  22. package/dist/calendar/components/month-list/index.js +112 -0
  23. package/dist/calendar/components/month-list/index.json +7 -0
  24. package/dist/calendar/components/month-list/index.wxml +9 -0
  25. package/dist/calendar/components/month-list/index.wxss +1 -0
  26. package/dist/calendar/components/year-list/index.css +1 -0
  27. package/dist/calendar/components/year-list/index.d.ts +1 -0
  28. package/dist/calendar/components/year-list/index.js +100 -0
  29. package/dist/calendar/components/year-list/index.json +7 -0
  30. package/dist/calendar/components/year-list/index.wxml +9 -0
  31. package/dist/calendar/components/year-list/index.wxss +1 -0
  32. package/dist/calendar/index.css +1 -1
  33. package/dist/calendar/index.js +101 -42
  34. package/dist/calendar/index.json +3 -1
  35. package/dist/calendar/index.wxml +1 -1
  36. package/dist/calendar/index.wxs +20 -2
  37. package/dist/calendar/index.wxss +1 -1
  38. package/dist/calendar/utils.d.ts +7 -1
  39. package/dist/calendar/utils.js +48 -2
  40. package/dist/checkbox/index.css +1 -1
  41. package/dist/checkbox/index.js +1 -1
  42. package/dist/checkbox/index.wxml +2 -2
  43. package/dist/checkbox/index.wxss +1 -1
  44. package/dist/config-provider/index.wxs +2 -7
  45. package/dist/dropdown-item/index.css +1 -1
  46. package/dist/dropdown-item/index.js +10 -0
  47. package/dist/dropdown-item/index.wxml +9 -4
  48. package/dist/dropdown-item/index.wxss +1 -1
  49. package/dist/dropdown-menu/index.css +1 -1
  50. package/dist/dropdown-menu/index.js +15 -0
  51. package/dist/dropdown-menu/index.json +4 -1
  52. package/dist/dropdown-menu/index.wxml +2 -1
  53. package/dist/dropdown-menu/index.wxss +1 -1
  54. package/dist/empty/index.css +1 -1
  55. package/dist/empty/index.js +20 -1
  56. package/dist/empty/index.wxml +7 -7
  57. package/dist/empty/index.wxs +3 -16
  58. package/dist/empty/index.wxss +1 -1
  59. package/dist/field/index.css +1 -1
  60. package/dist/field/index.wxss +1 -1
  61. package/dist/loading/index.css +1 -1
  62. package/dist/loading/index.js +4 -4
  63. package/dist/loading/index.wxml +4 -6
  64. package/dist/loading/index.wxs +39 -8
  65. package/dist/loading/index.wxss +1 -1
  66. package/dist/nav-bar/index.css +1 -1
  67. package/dist/nav-bar/index.js +19 -1
  68. package/dist/nav-bar/index.wxml +16 -6
  69. package/dist/nav-bar/index.wxss +1 -1
  70. package/dist/normal-slider/index.css +1 -1
  71. package/dist/normal-slider/index.wxss +1 -1
  72. package/dist/notice-bar/index.css +1 -1
  73. package/dist/notice-bar/index.js +55 -2
  74. package/dist/notice-bar/index.wxml +28 -10
  75. package/dist/notice-bar/index.wxs +1 -5
  76. package/dist/notice-bar/index.wxss +1 -1
  77. package/dist/picker-column/index.js +8 -1
  78. package/dist/radio/index.css +1 -1
  79. package/dist/radio/index.js +1 -1
  80. package/dist/radio/index.wxml +2 -1
  81. package/dist/radio/index.wxss +1 -1
  82. package/dist/search/index.css +1 -1
  83. package/dist/search/index.js +14 -9
  84. package/dist/search/index.json +2 -1
  85. package/dist/search/index.wxml +7 -4
  86. package/dist/search/index.wxss +1 -1
  87. package/dist/switch/index.css +1 -1
  88. package/dist/switch/index.wxml +1 -0
  89. package/dist/switch/index.wxss +1 -1
  90. package/dist/tabs/index.css +1 -1
  91. package/dist/tabs/index.js +10 -7
  92. package/dist/tabs/index.wxml +1 -0
  93. package/dist/tabs/index.wxs +17 -0
  94. package/dist/tabs/index.wxss +1 -1
  95. package/dist/tag/index.css +1 -1
  96. package/dist/tag/index.wxss +1 -1
  97. package/dist/toast/icons.d.ts +3 -0
  98. package/dist/toast/icons.js +6 -0
  99. package/dist/toast/index.js +8 -4
  100. package/dist/toast/index.wxml +3 -7
  101. package/dist/toast/toast.d.ts +2 -0
  102. package/dist/toast/toast.js +2 -0
  103. package/dist/wxs/style.wxs +11 -5
  104. package/dist/wxs/utils.wxs +1 -3
  105. package/lib/bottom-sheet/index.css +1 -0
  106. package/lib/bottom-sheet/index.d.ts +1 -0
  107. package/lib/bottom-sheet/index.js +75 -0
  108. package/lib/bottom-sheet/index.json +8 -0
  109. package/lib/bottom-sheet/index.wxml +26 -0
  110. package/lib/bottom-sheet/index.wxss +1 -0
  111. package/lib/button/index.js +1 -0
  112. package/lib/button/index.wxml +1 -1
  113. package/lib/calendar/calendar.wxml +53 -52
  114. package/lib/calendar/components/header/index.css +1 -1
  115. package/lib/calendar/components/header/index.js +21 -0
  116. package/lib/calendar/components/header/index.json +4 -1
  117. package/lib/calendar/components/header/index.wxml +15 -4
  118. package/lib/calendar/components/header/index.wxss +1 -1
  119. package/lib/calendar/components/month/index.css +1 -1
  120. package/lib/calendar/components/month/index.js +7 -2
  121. package/lib/calendar/components/month/index.wxml +0 -13
  122. package/lib/calendar/components/month/index.wxs +13 -7
  123. package/lib/calendar/components/month/index.wxss +1 -1
  124. package/lib/calendar/components/month-list/index.css +1 -0
  125. package/lib/calendar/components/month-list/index.d.ts +1 -0
  126. package/lib/calendar/components/month-list/index.js +114 -0
  127. package/lib/calendar/components/month-list/index.json +7 -0
  128. package/lib/calendar/components/month-list/index.wxml +9 -0
  129. package/lib/calendar/components/month-list/index.wxss +1 -0
  130. package/lib/calendar/components/year-list/index.css +1 -0
  131. package/lib/calendar/components/year-list/index.d.ts +1 -0
  132. package/lib/calendar/components/year-list/index.js +102 -0
  133. package/lib/calendar/components/year-list/index.json +7 -0
  134. package/lib/calendar/components/year-list/index.wxml +9 -0
  135. package/lib/calendar/components/year-list/index.wxss +1 -0
  136. package/lib/calendar/index.css +1 -1
  137. package/lib/calendar/index.js +100 -43
  138. package/lib/calendar/index.json +3 -1
  139. package/lib/calendar/index.wxml +1 -1
  140. package/lib/calendar/index.wxs +20 -2
  141. package/lib/calendar/index.wxss +1 -1
  142. package/lib/calendar/utils.d.ts +7 -1
  143. package/lib/calendar/utils.js +52 -3
  144. package/lib/checkbox/index.css +1 -1
  145. package/lib/checkbox/index.js +1 -1
  146. package/lib/checkbox/index.wxml +2 -2
  147. package/lib/checkbox/index.wxss +1 -1
  148. package/lib/config-provider/index.wxs +2 -7
  149. package/lib/dropdown-item/index.css +1 -1
  150. package/lib/dropdown-item/index.js +13 -0
  151. package/lib/dropdown-item/index.wxml +9 -4
  152. package/lib/dropdown-item/index.wxss +1 -1
  153. package/lib/dropdown-menu/index.css +1 -1
  154. package/lib/dropdown-menu/index.js +18 -0
  155. package/lib/dropdown-menu/index.json +4 -1
  156. package/lib/dropdown-menu/index.wxml +2 -1
  157. package/lib/dropdown-menu/index.wxss +1 -1
  158. package/lib/empty/index.css +1 -1
  159. package/lib/empty/index.js +20 -1
  160. package/lib/empty/index.wxml +7 -7
  161. package/lib/empty/index.wxs +3 -16
  162. package/lib/empty/index.wxss +1 -1
  163. package/lib/field/index.css +1 -1
  164. package/lib/field/index.wxss +1 -1
  165. package/lib/loading/index.css +1 -1
  166. package/lib/loading/index.js +4 -4
  167. package/lib/loading/index.wxml +4 -6
  168. package/lib/loading/index.wxs +39 -8
  169. package/lib/loading/index.wxss +1 -1
  170. package/lib/nav-bar/index.css +1 -1
  171. package/lib/nav-bar/index.js +19 -1
  172. package/lib/nav-bar/index.wxml +16 -6
  173. package/lib/nav-bar/index.wxss +1 -1
  174. package/lib/normal-slider/index.css +1 -1
  175. package/lib/normal-slider/index.wxss +1 -1
  176. package/lib/notice-bar/index.css +1 -1
  177. package/lib/notice-bar/index.js +58 -2
  178. package/lib/notice-bar/index.wxml +28 -10
  179. package/lib/notice-bar/index.wxs +1 -5
  180. package/lib/notice-bar/index.wxss +1 -1
  181. package/lib/picker-column/index.js +8 -1
  182. package/lib/radio/index.css +1 -1
  183. package/lib/radio/index.js +1 -1
  184. package/lib/radio/index.wxml +2 -1
  185. package/lib/radio/index.wxss +1 -1
  186. package/lib/search/index.css +1 -1
  187. package/lib/search/index.js +17 -9
  188. package/lib/search/index.json +2 -1
  189. package/lib/search/index.wxml +7 -4
  190. package/lib/search/index.wxss +1 -1
  191. package/lib/switch/index.css +1 -1
  192. package/lib/switch/index.wxml +1 -0
  193. package/lib/switch/index.wxss +1 -1
  194. package/lib/tabs/index.css +1 -1
  195. package/lib/tabs/index.js +10 -7
  196. package/lib/tabs/index.wxml +1 -0
  197. package/lib/tabs/index.wxs +17 -0
  198. package/lib/tabs/index.wxss +1 -1
  199. package/lib/tag/index.css +1 -1
  200. package/lib/tag/index.wxss +1 -1
  201. package/lib/toast/icons.d.ts +3 -0
  202. package/lib/toast/icons.js +12 -0
  203. package/lib/toast/index.js +8 -7
  204. package/lib/toast/index.wxml +3 -7
  205. package/lib/toast/toast.d.ts +2 -0
  206. package/lib/toast/toast.js +2 -0
  207. package/lib/wxs/style.wxs +11 -5
  208. package/lib/wxs/utils.wxs +1 -3
  209. package/package.json +4 -8
  210. package/dist/common/theme/dark.d.ts +0 -344
  211. package/dist/common/theme/dark.js +0 -343
  212. package/dist/common/theme/light.d.ts +0 -344
  213. package/dist/common/theme/light.js +0 -343
  214. package/dist/wxs/is-app-theme-var.wxs +0 -8
  215. package/lib/common/theme/dark.d.ts +0 -344
  216. package/lib/common/theme/dark.js +0 -345
  217. package/lib/common/theme/light.d.ts +0 -344
  218. package/lib/common/theme/light.js +0 -345
  219. package/lib/wxs/is-app-theme-var.wxs +0 -8
@@ -1,5 +1,7 @@
1
1
  import { SmartComponent } from '../common/component';
2
2
  import { getRect, requestAnimationFrame } from '../common/utils';
3
+ import Xmark from '@tuya-miniapp/icons/dist/svg/Xmark';
4
+ import Right from '@tuya-miniapp/icons/dist/svg/Right';
3
5
  SmartComponent({
4
6
  props: {
5
7
  text: {
@@ -7,22 +9,60 @@ SmartComponent({
7
9
  value: '',
8
10
  observer: 'init',
9
11
  },
12
+ btnText: {
13
+ type: String,
14
+ value: '',
15
+ observer: 'init',
16
+ },
17
+ btnTextColor: {
18
+ type: String,
19
+ value: '',
20
+ observer: 'init',
21
+ },
10
22
  mode: {
11
23
  type: String,
12
24
  value: '',
13
25
  },
26
+ type: {
27
+ type: String,
28
+ value: 'info'
29
+ },
14
30
  url: {
15
31
  type: String,
16
32
  value: '',
17
33
  },
18
34
  openType: {
19
35
  type: String,
20
- value: 'navigate',
36
+ value: 'navigateTo',
37
+ },
38
+ rightIconColor: {
39
+ type: String,
40
+ value: 'var(--notice-bar-right-icon-color)',
41
+ },
42
+ leftIconColor: {
43
+ type: String,
44
+ value: '',
21
45
  },
22
46
  delay: {
23
47
  type: Number,
24
48
  value: 1,
25
49
  },
50
+ customStyle: {
51
+ type: String,
52
+ value: '',
53
+ },
54
+ customHoverClass: {
55
+ type: String,
56
+ value: '',
57
+ },
58
+ rightIconStyle: {
59
+ type: String,
60
+ value: '',
61
+ },
62
+ leftIconStyle: {
63
+ type: String,
64
+ value: '',
65
+ },
26
66
  speed: {
27
67
  type: Number,
28
68
  value: 60,
@@ -34,11 +74,12 @@ SmartComponent({
34
74
  value: '',
35
75
  },
36
76
  color: String,
37
- backgroundColor: String,
38
77
  background: String,
39
78
  wrapable: Boolean,
40
79
  },
41
80
  data: {
81
+ Xmark,
82
+ Right,
42
83
  show: true,
43
84
  },
44
85
  created() {
@@ -113,7 +154,19 @@ SmartComponent({
113
154
  this.$emit('close', event.detail);
114
155
  }
115
156
  },
157
+ onClickBtnText(event) {
158
+ this.$emit('btnClick', event);
159
+ },
116
160
  onClick(event) {
161
+ const { url, mode, openType } = this.data;
162
+ if (mode === 'link' && url) {
163
+ if (openType === 'redirectTo') {
164
+ wx.redirectTo({ url });
165
+ }
166
+ else if (openType === 'navigateTo') {
167
+ wx.navigateTo({ url });
168
+ }
169
+ }
117
170
  this.$emit('click', event);
118
171
  },
119
172
  },
@@ -3,20 +3,36 @@
3
3
 
4
4
  <view
5
5
  wx:if="{{ show }}"
6
- class="custom-class {{ utils.bem('notice-bar', { withicon: mode, wrapable }) }}"
7
- style="{{ computed.rootStyle({ color, backgroundColor, background }) }}"
6
+ class="custom-class {{ utils.bem('notice-bar', {
7
+ wrapable,
8
+ warning: type === 'warning',
9
+ error: type === 'error'
10
+ }) }}"
11
+ hover-class="{{ mode === 'link' ? 'smart-notice-bar--hover' : ''}} {{ customHoverClass }}"
12
+ style="{{ computed.rootStyle([{ color, background }, customStyle]) }}"
8
13
  bind:tap="onClick"
9
14
  >
10
15
  <smart-icon
11
16
  wx:if="{{ leftIcon }}"
12
17
  name="{{ leftIcon }}"
13
18
  class="smart-notice-bar__left-icon"
19
+ style="{{ computed.rootStyle(leftIconStyle) }}"
20
+ color="{{ leftIconColor || (type === 'info' ? 'var(--notice-bar-info-color)' : type === 'warning' ? 'var(--notice-bar-warning-color)' : type === 'error' ? 'var(--notice-bar-error-color)' : '') }}"
14
21
  />
15
22
  <slot wx:else name="left-icon" />
16
23
 
17
24
  <view class="smart-notice-bar__wrap">
18
25
  <view class="smart-notice-bar__content {{ scrollable === false && !wrapable ? 'smart-ellipsis' : '' }}" animation="{{ animationData }}">
19
26
  {{ text }}
27
+ <view
28
+ wx:if="{{ btnText }}"
29
+ class="smart-notice-bar__content__btn"
30
+ hover-class="smart-notice-bar--hover"
31
+ catch:tap="onClickBtnText"
32
+ style="{{ btnTextColor ? 'color: ' + btnTextColor : ''}}"
33
+ >
34
+ {{ btnText }}
35
+ </view>
20
36
  <slot wx:if="{{ !text }}"></slot>
21
37
  </view>
22
38
  </view>
@@ -24,15 +40,17 @@
24
40
  <smart-icon
25
41
  wx:if="{{ mode === 'closeable' }}"
26
42
  class="smart-notice-bar__right-icon"
27
- name="cross"
43
+ name="{{ Xmark }}"
44
+ style="{{ computed.rootStyle(rightIconStyle) }}"
45
+ color=" {{ rightIconColor }} "
28
46
  catch:tap="onClickIcon"
29
47
  />
30
- <navigator
31
- wx:elif="{{ mode === 'link' }}"
32
- url="{{ url }}"
33
- open-type="{{ openType }}"
34
- >
35
- <smart-icon class="smart-notice-bar__right-icon" name="arrow" />
36
- </navigator>
48
+ <smart-icon
49
+ wx:elif="{{ mode === 'link' }}"
50
+ color=" {{ rightIconColor }} "
51
+ class="smart-notice-bar__right-icon"
52
+ name="{{ Right }}"
53
+ style="{{ computed.rootStyle(rightIconStyle) }}"
54
+ />
37
55
  <slot wx:else name="right-icon" />
38
56
  </view>
@@ -3,11 +3,7 @@ var style = require('../wxs/style.wxs');
3
3
  var addUnit = require('../wxs/add-unit.wxs');
4
4
 
5
5
  function rootStyle(data) {
6
- return style({
7
- color: data.color,
8
- 'background-color': data.backgroundColor,
9
- background: data.background,
10
- });
6
+ return style(data);
11
7
  }
12
8
 
13
9
  module.exports = {
@@ -1 +1 @@
1
- @import '../common/index.wxss';.smart-notice-bar{align-items:center;background-color:var(--notice-bar-background-color,#fffbe8);color:var(--notice-bar-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));display:flex;font-size:var(--notice-bar-font-size,14px);height:var(--notice-bar-height,40px);line-height:var(--notice-bar-line-height,24px);padding:var(--notice-bar-padding,0 16px)}.smart-notice-bar--withicon{padding-right:40px;position:relative}.smart-notice-bar--wrapable{height:auto;padding:var(--notice-bar-wrapable-padding,8px 16px)}.smart-notice-bar--wrapable .smart-notice-bar__wrap{height:auto}.smart-notice-bar--wrapable .smart-notice-bar__content{position:relative;white-space:normal}.smart-notice-bar__left-icon{align-items:center;display:flex;margin-right:4px;vertical-align:middle}.smart-notice-bar__left-icon,.smart-notice-bar__right-icon{font-size:var(--notice-bar-icon-size,16px);min-width:var(--notice-bar-icon-min-width,22px)}.smart-notice-bar__right-icon{position:absolute;right:15px;top:10px}.smart-notice-bar__wrap{flex:1;height:var(--notice-bar-line-height,24px);overflow:hidden;position:relative}.smart-notice-bar__content{position:absolute;white-space:nowrap}.smart-notice-bar__content.smart-ellipsis{max-width:100%}
1
+ @import '../common/index.wxss';.smart-notice-bar{--notice-bar-info-color:#1989fa;--notice-bar-warning-color:#ffa000;--notice-bar-error-color:#f04c4c;--notice-bar-right-icon-color:rgba(0,0,0,.2);align-items:center;background-color:var(--notice-bar-background-color,rgba(25,137,250,.1));color:var(--notice-bar-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));display:flex;font-size:var(--notice-bar-font-size,12px);height:var(--notice-bar-height,40px);line-height:var(--notice-bar-line-height,14px);padding:var(--notice-bar-padding,0 16px)}.smart-notice-bar--warning{background-color:var(--notice-bar-background-warning-color,rgba(255,160,0,.1))}.smart-notice-bar--error{background-color:var(--notice-bar-background-error-color,rgba(240,76,76,.1))}.smart-notice-bar--hover{opacity:.6}.smart-notice-bar--wrapable{height:auto;padding:var(--notice-bar-wrapable-padding,8px 16px)}.smart-notice-bar--wrapable .smart-notice-bar__wrap{height:auto}.smart-notice-bar--wrapable .smart-notice-bar__content{position:relative;white-space:normal}.smart-notice-bar__left-icon{align-items:center;display:flex;font-size:var(--notice-bar-icon-size,16px);margin-right:var(--notice-bar-left-icon-margin-right,8px);vertical-align:middle}.smart-notice-bar__right-icon{font-size:var(--notice-bar-icon-size,16px);margin-left:var(--notice-bar-right-icon-margin-left,8px)}.smart-notice-bar__wrap{flex:1;height:var(--notice-bar-line-height,14px);overflow:hidden;position:relative}.smart-notice-bar__content{position:absolute;white-space:nowrap}.smart-notice-bar__content.smart-ellipsis{max-width:100%}.smart-notice-bar__content__btn{color:#1989fa;display:inline-block}
@@ -174,7 +174,14 @@ SmartComponent({
174
174
  animate: true,
175
175
  duration: DEFAULT_DURATION,
176
176
  }).then(() => {
177
- userAction && (this.fireChange = true);
177
+ if (!userAction)
178
+ return;
179
+ if ([0, data.optionsV.length - 1].includes(index)) {
180
+ this.$emit('change', index);
181
+ return;
182
+ }
183
+ ;
184
+ this.fireChange = true;
178
185
  });
179
186
  });
180
187
  }
@@ -1 +1 @@
1
- @import '../common/index.css';.smart-radio{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.smart-radio__icon-wrap{flex:none}.smart-radio--horizontal{margin-right:var(--padding-sm,12px)}.smart-radio__icon{align-items:center;border:1px solid var(--radio-border-color,#c8c9cc);box-sizing:border-box;color:transparent;display:flex;font-size:var(--radio-size,20px);height:1em;justify-content:center;text-align:center;transition-duration:var(--radio-transition-duration,.2s);transition-property:color,border-color,background-color;width:1em}.smart-radio__icon--round{border-radius:100%}.smart-radio__icon--checked{background-color:var(--radio-checked-icon-color,var(--app-M4,#1989fa));border-color:var(--radio-checked-icon-color,var(--app-M4,#1989fa));color:#fff}.smart-radio__icon--disabled{background-color:var(--radio-disabled-background-color,var(--app-B6-N6,rgba(0,0,0,.2)));border-color:var(--radio-disabled-icon-color,var(--app-B6-N5,rgba(0,0,0,.3)))}.smart-radio__icon--disabled.smart-radio__icon--checked{color:var(--radio-disabled-icon-color,var(--app-B6-N5,rgba(0,0,0,.3)))}.smart-radio__label{word-wrap:break-word;color:var(--radio-label-color,var(--app-B6-N1,#000));line-height:var(--radio-size,20px);padding-left:var(--radio-label-margin,10px)}.smart-radio__label--left{float:left;margin:0 var(--radio-label-margin,10px) 0 0}.smart-radio__label--disabled{color:var(--radio-disabled-label-color,var(--app-B6-N5,rgba(0,0,0,.3)))}.smart-radio__label:empty{margin:0}
1
+ @import '../common/index.css';.smart-radio{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.smart-radio__icon-wrap{display:flex;flex:none}.smart-radio--horizontal{margin-right:var(--padding-sm,12px)}.smart-radio__icon{align-items:center;border:2px solid var(--radio-border-color,var(--app-B6-N6,rgba(0,0,0,.2)));border-radius:var(--radio-border-radius,4px);box-sizing:border-box;color:transparent;display:flex;font-size:var(--radio-size,24px);height:1em;justify-content:center;text-align:center;transition-duration:var(--radio-transition-duration,.2s);transition-property:color,border,background-color;width:1em}.smart-radio__icon--round{border-radius:100%}.smart-radio__icon--checked{background-color:var(--radio-checked-icon-color,var(--app-M4,#1989fa));border-color:var(--radio-checked-icon-color,var(--app-M4,#1989fa));color:#fff}.smart-radio__icon--disabled{opacity:.3}.smart-radio__label{word-wrap:break-word;color:var(--radio-label-color,var(--app-B6-N1,#000));font-size:var(--radio-label-size,12px);padding-left:var(--radio-label-margin,10px)}.smart-radio__label--left{float:left;margin:0 var(--radio-label-margin,10px) 0 0}.smart-radio__label--disabled{color:var(--radio-disabled-label-color,var(--app-B6-N5,rgba(0,0,0,.3)))}.smart-radio__label:empty{margin:0}
@@ -25,7 +25,7 @@ SmartComponent({
25
25
  },
26
26
  iconSize: {
27
27
  type: null,
28
- value: 20,
28
+ value: 24,
29
29
  },
30
30
  },
31
31
  data: {
@@ -14,7 +14,8 @@
14
14
  <smart-icon
15
15
  wx:else
16
16
  name="{{ icon }}"
17
- color="{{ value ? '#fff' : 'none'}}"
17
+ size="1em"
18
+ color="{{ value === name ? '#fff' : 'none'}}"
18
19
  class="{{ utils.bem('radio__icon', [shape, { disabled: disabled || parentDisabled, checked: value === name }]) }}"
19
20
  style="{{ computed.iconStyle({ iconSize, checkedColor, disabled, parentDisabled, value, name }) }}"
20
21
  custom-class="icon-class"
@@ -1 +1 @@
1
- @import '../common/index.wxss';.smart-radio{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.smart-radio__icon-wrap{flex:none}.smart-radio--horizontal{margin-right:var(--padding-sm,12px)}.smart-radio__icon{align-items:center;border:1px solid var(--radio-border-color,#c8c9cc);box-sizing:border-box;color:transparent;display:flex;font-size:var(--radio-size,20px);height:1em;justify-content:center;text-align:center;transition-duration:var(--radio-transition-duration,.2s);transition-property:color,border-color,background-color;width:1em}.smart-radio__icon--round{border-radius:100%}.smart-radio__icon--checked{background-color:var(--radio-checked-icon-color,var(--app-M4,#1989fa));border-color:var(--radio-checked-icon-color,var(--app-M4,#1989fa));color:#fff}.smart-radio__icon--disabled{background-color:var(--radio-disabled-background-color,var(--app-B6-N6,rgba(0,0,0,.2)));border-color:var(--radio-disabled-icon-color,var(--app-B6-N5,rgba(0,0,0,.3)))}.smart-radio__icon--disabled.smart-radio__icon--checked{color:var(--radio-disabled-icon-color,var(--app-B6-N5,rgba(0,0,0,.3)))}.smart-radio__label{word-wrap:break-word;color:var(--radio-label-color,var(--app-B6-N1,#000));line-height:var(--radio-size,20px);padding-left:var(--radio-label-margin,10px)}.smart-radio__label--left{float:left;margin:0 var(--radio-label-margin,10px) 0 0}.smart-radio__label--disabled{color:var(--radio-disabled-label-color,var(--app-B6-N5,rgba(0,0,0,.3)))}.smart-radio__label:empty{margin:0}
1
+ @import '../common/index.wxss';.smart-radio{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.smart-radio__icon-wrap{display:flex;flex:none}.smart-radio--horizontal{margin-right:var(--padding-sm,12px)}.smart-radio__icon{align-items:center;border:2px solid var(--radio-border-color,var(--app-B6-N6,rgba(0,0,0,.2)));border-radius:var(--radio-border-radius,4px);box-sizing:border-box;color:transparent;display:flex;font-size:var(--radio-size,24px);height:1em;justify-content:center;text-align:center;transition-duration:var(--radio-transition-duration,.2s);transition-property:color,border,background-color;width:1em}.smart-radio__icon--round{border-radius:100%}.smart-radio__icon--checked{background-color:var(--radio-checked-icon-color,var(--app-M4,#1989fa));border-color:var(--radio-checked-icon-color,var(--app-M4,#1989fa));color:#fff}.smart-radio__icon--disabled{opacity:.3}.smart-radio__label{word-wrap:break-word;color:var(--radio-label-color,var(--app-B6-N1,#000));font-size:var(--radio-label-size,12px);padding-left:var(--radio-label-margin,10px)}.smart-radio__label--left{float:left;margin:0 var(--radio-label-margin,10px) 0 0}.smart-radio__label--disabled{color:var(--radio-disabled-label-color,var(--app-B6-N5,rgba(0,0,0,.3)))}.smart-radio__label:empty{margin:0}
@@ -1 +1 @@
1
- @import '../common/index.css';.smart-search{align-items:center;box-sizing:border-box;display:flex;padding:var(--search-padding,10px 12px)}.smart-search__content{background-color:var(--search-background-color,#f7f8fa);border-radius:2px;display:flex;flex:1;padding-left:var(--padding-sm,12px)}.smart-search__content--round{border-radius:999px}.smart-search__label{color:var(--search-label-color,#323233);font-size:var(--search-label-font-size,14px);line-height:var(--search-input-height,34px);padding:var(--search-label-padding,0 5px)}.smart-search__field{flex:1}.smart-search__field__left-icon{color:var(--search-left-icon-color,#969799)}.smart-search--withaction{padding-right:0}.smart-search__action{color:var(--search-action-text-color,#323233);font-size:var(--search-action-font-size,14px);line-height:var(--search-input-height,34px)}.smart-search__action--hover{background-color:#f2f3f5}.smart-search__action-button{padding:var(--search-action-padding,0 8px)}
1
+ @import '../common/index.css';.smart-search{align-items:center;background-color:var(--search-background-color,var(--app-B3,#fff));box-sizing:border-box;display:flex;padding:var(--search-padding,12px 16px)}.smart-search__content{align-items:center;background-color:var(--search-body-background-color,var(--app-B4-N9,rgba(0,0,0,.05)));display:flex;flex:1;flex-direction:row;padding:12px 16px}.smart-search__content--round{border-radius:999px}.smart-search__label{color:var(--search-label-color,var(--app-B4-N1,#000));font-size:var(--search-label-font-size,14px);line-height:var(--search-input-height,24px);padding:var(--search-label-padding,0 5px)}.smart-search__field{flex:1}.smart-search__field__left-icon{--icon-color:var(--search-left-icon-color,var(--app-B4-N4,rgba(0,0,0,.4)));margin-left:2px}.smart-search__input{font-size:var(--search-value-font-size,14px)}.smart-search--withaction{padding-right:0}.smart-search__action{color:var(--search-action-text-color,var(--app-B4-N3,rgba(0,0,0,.5)));font-size:var(--search-action-font-size,14px);line-height:var(--search-input-height,24px)}.smart-search__action--hover{background-color:var(--app-B4-N9,rgba(0,0,0,.05));opacity:.4}.smart-search__action-button{padding:var(--search-action-padding,0 16px 0 12px)}.smart-search__hover{background-color:var(--app-B4-N9,rgba(0,0,0,.05));opacity:.4}.smart-search__submit{align-items:center;color:var(--search-submit-color,var(--app-M1,#3678e3));display:flex;flex-direction:row;font-size:var(--search-submit-font-size,14px)}.smart-search__submit:before{background-color:var(--search-submit-color,var(--app-M1,#3678e3));content:"";display:block;height:12px;margin-right:12px;width:1px}
@@ -1,5 +1,7 @@
1
1
  import { SmartComponent } from '../common/component';
2
2
  import { canIUseModel } from '../common/version';
3
+ import SearchIcon from '@tuya-miniapp/icons/dist/svg/Search';
4
+ import CloseIcon from '@tuya-miniapp/icons/dist/svg/Close';
3
5
  SmartComponent({
4
6
  field: true,
5
7
  classes: ['field-class', 'input-class', 'cancel-class'],
@@ -20,18 +22,20 @@ SmartComponent({
20
22
  useRightIconSlot: Boolean,
21
23
  leftIcon: {
22
24
  type: String,
23
- value: 'search',
25
+ value: SearchIcon,
24
26
  },
25
27
  rightIcon: String,
26
28
  placeholder: String,
27
29
  placeholderStyle: String,
28
- actionText: {
30
+ searchText: {
29
31
  type: String,
30
- value: '取消',
32
+ value: 'Search',
31
33
  },
32
- background: {
34
+ showSearchButton: Boolean,
35
+ background: String,
36
+ actionText: {
33
37
  type: String,
34
- value: '#ffffff',
38
+ value: 'Cancel',
35
39
  },
36
40
  maxlength: {
37
41
  type: Number,
@@ -51,7 +55,7 @@ SmartComponent({
51
55
  },
52
56
  clearIcon: {
53
57
  type: String,
54
- value: 'clear',
58
+ value: CloseIcon,
55
59
  },
56
60
  cursorSpacing: {
57
61
  type: Number,
@@ -60,9 +64,7 @@ SmartComponent({
60
64
  },
61
65
  methods: {
62
66
  onChange(event) {
63
- if (canIUseModel()) {
64
- this.setData({ value: event.detail });
65
- }
67
+ this.setData({ value: event.detail });
66
68
  this.$emit('change', event.detail);
67
69
  },
68
70
  onCancel() {
@@ -80,6 +82,9 @@ SmartComponent({
80
82
  onSearch(event) {
81
83
  this.$emit('search', event.detail);
82
84
  },
85
+ goSearch() {
86
+ this.$emit('search', this.data.value);
87
+ },
83
88
  onFocus(event) {
84
89
  this.$emit('focus', event.detail);
85
90
  },
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "component": true,
3
3
  "usingComponents": {
4
- "smart-field": "../field/index"
4
+ "smart-field": "../field/index",
5
+ "smart-icon": "../icon/index"
5
6
  }
6
7
  }
@@ -3,14 +3,14 @@
3
3
  <view
4
4
  class="{{ utils.bem('search', { withaction: showAction || useActionSlot }) }} custom-class"
5
5
  style="background: {{ background }}"
6
- >
6
+ >
7
+
7
8
  <view class="{{ utils.bem('search__content', [shape]) }}">
8
9
  <view class="smart-search__label" wx:if="{{ label }}">{{ label }}</view>
9
10
  <slot wx:else name="label" />
10
11
 
11
12
  <smart-field
12
13
  type="search"
13
- left-icon="{{ !useLeftIconSlot ? leftIcon : '' }}"
14
14
  right-icon="{{ !useRightIconSlot ? rightIcon : '' }}"
15
15
  focus="{{ focus }}"
16
16
  error="{{ error }}"
@@ -25,11 +25,11 @@
25
25
  clear-icon="{{ clearIcon }}"
26
26
  maxlength="{{ maxlength }}"
27
27
  input-align="{{ inputAlign }}"
28
- input-class="input-class"
28
+ input-class="smart-search__input input-class"
29
29
  placeholder="{{ placeholder }}"
30
30
  placeholder-style="{{ placeholderStyle }}"
31
31
  cursor-spacing="{{ cursorSpacing }}"
32
- custom-style="padding: 5px 10px 5px 0; background-color: transparent;"
32
+ custom-style="padding: 0; background-color: transparent;"
33
33
  bind:blur="onBlur"
34
34
  bind:focus="onFocus"
35
35
  bind:change="onChange"
@@ -37,8 +37,11 @@
37
37
  bind:clear="onClear"
38
38
  bind:click-input="onClickInput"
39
39
  >
40
+ <smart-icon wx:if="{{ !useLeftIconSlot && leftIcon }}" size="18" name="{{ leftIcon }}" custom-class="smart-search__field__left-icon" slot="left-icon" />
40
41
  <slot wx:if="{{ useLeftIconSlot }}" name="left-icon" slot="left-icon" />
41
42
  <slot wx:if="{{ useRightIconSlot }}" name="right-icon" slot="right-icon" />
43
+ <view wx:if="{{ showSearchButton && searchText }}" hover-class="smart-search__hover" bind:tap="goSearch" class="smart-search__submit" slot="button" >{{ searchText }}</view>
44
+ <slot name="search-button" slot="button" />
42
45
  </smart-field>
43
46
  </view>
44
47
 
@@ -1 +1 @@
1
- @import '../common/index.wxss';.smart-search{align-items:center;box-sizing:border-box;display:flex;padding:var(--search-padding,10px 12px)}.smart-search__content{background-color:var(--search-background-color,#f7f8fa);border-radius:2px;display:flex;flex:1;padding-left:var(--padding-sm,12px)}.smart-search__content--round{border-radius:999px}.smart-search__label{color:var(--search-label-color,#323233);font-size:var(--search-label-font-size,14px);line-height:var(--search-input-height,34px);padding:var(--search-label-padding,0 5px)}.smart-search__field{flex:1}.smart-search__field__left-icon{color:var(--search-left-icon-color,#969799)}.smart-search--withaction{padding-right:0}.smart-search__action{color:var(--search-action-text-color,#323233);font-size:var(--search-action-font-size,14px);line-height:var(--search-input-height,34px)}.smart-search__action--hover{background-color:#f2f3f5}.smart-search__action-button{padding:var(--search-action-padding,0 8px)}
1
+ @import '../common/index.wxss';.smart-search{align-items:center;background-color:var(--search-background-color,var(--app-B3,#fff));box-sizing:border-box;display:flex;padding:var(--search-padding,12px 16px)}.smart-search__content{align-items:center;background-color:var(--search-body-background-color,var(--app-B4-N9,rgba(0,0,0,.05)));display:flex;flex:1;flex-direction:row;padding:12px 16px}.smart-search__content--round{border-radius:999px}.smart-search__label{color:var(--search-label-color,var(--app-B4-N1,#000));font-size:var(--search-label-font-size,14px);line-height:var(--search-input-height,24px);padding:var(--search-label-padding,0 5px)}.smart-search__field{flex:1}.smart-search__field__left-icon{--icon-color:var(--search-left-icon-color,var(--app-B4-N4,rgba(0,0,0,.4)));margin-left:2px}.smart-search__input{font-size:var(--search-value-font-size,14px)}.smart-search--withaction{padding-right:0}.smart-search__action{color:var(--search-action-text-color,var(--app-B4-N3,rgba(0,0,0,.5)));font-size:var(--search-action-font-size,14px);line-height:var(--search-input-height,24px)}.smart-search__action--hover{background-color:var(--app-B4-N9,rgba(0,0,0,.05));opacity:.4}.smart-search__action-button{padding:var(--search-action-padding,0 16px 0 12px)}.smart-search__hover{background-color:var(--app-B4-N9,rgba(0,0,0,.05));opacity:.4}.smart-search__submit{align-items:center;color:var(--search-submit-color,var(--app-M1,#3678e3));display:flex;flex-direction:row;font-size:var(--search-submit-font-size,14px)}.smart-search__submit:before{background-color:var(--search-submit-color,var(--app-M1,#3678e3));content:"";display:block;height:12px;margin-right:12px;width:1px}
@@ -1 +1 @@
1
- @import '../common/index.css';.smart-switch{background-color:var(--switch-background-color,var(--app-B4-N6,rgba(0,0,0,.2)));border:var(--switch-border,1px solid rgba(0,0,0,.1));border-radius:var(--switch-node-size,1em);box-sizing:initial;display:inline-block;height:var(--switch-height,1em);position:relative;transition:background-color var(--switch-transition-duration,.3s);width:var(--switch-width,1.667em)}.smart-switch__node{background-color:var(--switch-node-background-color,#fff);border-radius:100%;box-shadow:var(--switch-node-box-shadow,0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05));height:var(--switch-node-size,1em);left:0;position:absolute;top:0;transition:var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05);width:var(--switch-node-size,1em);z-index:var(--switch-node-z-index,1)}.smart-switch__loading{height:50%;left:25%;position:absolute!important;top:25%;width:50%}.smart-switch--on{background-color:var(--switch-on-background-color,#1989fa)}.smart-switch--on .smart-switch__node{transform:translateX(calc(var(--switch-width, 1.667em) - var(--switch-node-size, 1em)))}.smart-switch--disabled{opacity:var(--switch-disabled-opacity,.4)}
1
+ @import '../common/index.css';.smart-switch{background-color:var(--switch-background-color,var(--app-B4-N6,rgba(0,0,0,.2)));border:var(--switch-border,1px solid rgba(0,0,0,.1));border-radius:var(--switch-node-size,1em);box-sizing:initial;display:inline-block;height:var(--switch-height,1em);position:relative;transition:background-color var(--switch-transition-duration,.3s);width:var(--switch-width,1.667em)}.smart-switch__node{background-color:var(--switch-node-background-color,#fff);border-radius:100%;box-shadow:var(--switch-node-box-shadow,0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05));height:var(--switch-node-size,1em);left:0;position:absolute;top:0;transition:var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05);width:var(--switch-node-size,1em);z-index:var(--switch-node-z-index,1)}.smart-switch__loading{left:50%;position:absolute!important;top:50%;transform:translate(-50%,-50%)}.smart-switch--on{background-color:var(--switch-on-background-color,#1989fa)}.smart-switch--on .smart-switch__node{transform:translateX(calc(var(--switch-width, 1.667em) - var(--switch-node-size, 1em)))}.smart-switch--disabled{opacity:var(--switch-disabled-opacity,.4)}
@@ -27,6 +27,7 @@
27
27
  wx:if="{{ loading }}"
28
28
  color="{{ computed.loadingColor({ checked, activeColor, inactiveColor, activeValue }) }}"
29
29
  custom-class="smart-switch__loading"
30
+ size="{{size}}"
30
31
  />
31
32
  </view>
32
33
  </view>
@@ -1 +1 @@
1
- @import '../common/index.wxss';.smart-switch{background-color:var(--switch-background-color,var(--app-B4-N6,rgba(0,0,0,.2)));border:var(--switch-border,1px solid rgba(0,0,0,.1));border-radius:var(--switch-node-size,1em);box-sizing:initial;display:inline-block;height:var(--switch-height,1em);position:relative;transition:background-color var(--switch-transition-duration,.3s);width:var(--switch-width,1.667em)}.smart-switch__node{background-color:var(--switch-node-background-color,#fff);border-radius:100%;box-shadow:var(--switch-node-box-shadow,0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05));height:var(--switch-node-size,1em);left:0;position:absolute;top:0;transition:var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05);width:var(--switch-node-size,1em);z-index:var(--switch-node-z-index,1)}.smart-switch__loading{height:50%;left:25%;position:absolute!important;top:25%;width:50%}.smart-switch--on{background-color:var(--switch-on-background-color,#1989fa)}.smart-switch--on .smart-switch__node{transform:translateX(calc(var(--switch-width, 1.667em) - var(--switch-node-size, 1em)))}.smart-switch--disabled{opacity:var(--switch-disabled-opacity,.4)}
1
+ @import '../common/index.wxss';.smart-switch{background-color:var(--switch-background-color,var(--app-B4-N6,rgba(0,0,0,.2)));border:var(--switch-border,1px solid rgba(0,0,0,.1));border-radius:var(--switch-node-size,1em);box-sizing:initial;display:inline-block;height:var(--switch-height,1em);position:relative;transition:background-color var(--switch-transition-duration,.3s);width:var(--switch-width,1.667em)}.smart-switch__node{background-color:var(--switch-node-background-color,#fff);border-radius:100%;box-shadow:var(--switch-node-box-shadow,0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05));height:var(--switch-node-size,1em);left:0;position:absolute;top:0;transition:var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05);width:var(--switch-node-size,1em);z-index:var(--switch-node-z-index,1)}.smart-switch__loading{left:50%;position:absolute!important;top:50%;transform:translate(-50%,-50%)}.smart-switch--on{background-color:var(--switch-on-background-color,#1989fa)}.smart-switch--on .smart-switch__node{transform:translateX(calc(var(--switch-width, 1.667em) - var(--switch-node-size, 1em)))}.smart-switch--disabled{opacity:var(--switch-disabled-opacity,.4)}
@@ -1 +1 @@
1
- @import '../common/index.css';:root{--tabs-card-background-color:rgba(0,0,0,.08)}:root[theme=dark]{--tabs-card-background-color:hsla(0,0%,100%,.12)}.smart-tabs{-webkit-tap-highlight-color:transparent;position:relative}.smart-tabs__wrap{display:flex;overflow:hidden}.smart-tabs__wrap--scrollable .smart-tab{flex:0 0 22%}.smart-tabs__wrap--scrollable .smart-tab--complete{flex:1 0 auto!important;padding:0 12px}.smart-tabs__wrap--scrollable .smart-tabs__nav--complete{padding-left:8px;padding-right:8px}.smart-tabs__scroll{background-color:var(--tabs-background-color,var(--app-B3,#fff));overflow:auto}.smart-tabs__scroll--line{box-sizing:initial;height:calc(100% + 15px)}.smart-tabs__scroll--card{border-radius:var(--tabs-card-border-radius,8px);box-sizing:border-box;margin:0 var(--padding-md,16px);width:calc(100% - var(--padding-md, 16px)*2)}.smart-tabs__scroll::-webkit-scrollbar{display:none}.smart-tabs__nav{display:flex;position:relative;-webkit-user-select:none;user-select:none}.smart-tabs__nav--card{background-color:var(--tabs-card-background-color);border-radius:var(--tabs-card-border-radius,8px);box-sizing:border-box;height:var(--tabs-card-height,30px);padding:2px}.smart-tabs__nav--card .smart-tab{border-radius:6px;color:var(--tabs-card-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));line-height:calc(var(--tabs-card-height, 30px) - 2px)}.smart-tabs__nav--card .smart-tab:last-child{border-right:none}.smart-tabs__nav--card .smart-tab.smart-tab--active{background-color:var(--tabs-card-active-background-color,var(--app-B3,#fff));color:var(--tabs-card-text-active-color,var(--app-B6-N1,#000))}.smart-tabs__nav--card .smart-tab--disabled{color:var(--tab-disabled-text-color,var(--app-B6-N7,rgba(0,0,0,.1)))}.smart-tabs__line{background-color:var(--tabs-bottom-bar-color,var(--app-M4,#1989fa));border-radius:var(--tabs-bottom-bar-height,3px);bottom:0;height:var(--tabs-bottom-bar-height,3px);left:0;opacity:0;position:absolute;z-index:1}.smart-tabs__track{height:100%;position:relative;width:100%}.smart-tabs__track--animated{display:flex;transition-property:left}.smart-tabs__content{overflow:hidden}.smart-tabs--line{height:var(--tabs-line-height,32px)}.smart-tabs--card{height:var(--tabs-card-height,30px)}.smart-tab{box-sizing:border-box;color:var(--tabs-card-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));cursor:pointer;flex:1;font-size:var(--tab-font-size,13px);line-height:var(--tabs-line-height,32px);min-width:0;padding:0 5px;position:relative;text-align:center}.smart-tab--active{color:var(--tabs-card-text-active-color,var(--app-B6-N1,#000));font-weight:var(--font-weight-bold,500)}.smart-tab--disabled{color:var(--tab-disabled-text-color,var(--app-B6-N7,rgba(0,0,0,.1)))}.smart-tab__title__info{position:relative!important;top:-1px!important;transform:translateX(0)!important}
1
+ @import '../common/index.css';:root{--tabs-card-background-color:rgba(0,0,0,.08)}:root[theme=dark]{--tabs-card-background-color:hsla(0,0%,100%,.12)}.smart-tabs{-webkit-tap-highlight-color:transparent;position:relative}.smart-tabs__wrap{display:flex;overflow:hidden}.smart-tabs__wrap--scrollable .smart-tab{flex:0 0 22%}.smart-tabs__wrap--scrollable .smart-tab--complete{flex:1 0 auto!important;padding:0 12px}.smart-tabs__wrap--scrollable .smart-tabs__nav--complete{padding-left:8px;padding-right:8px}.smart-tabs__scroll{background-color:var(--tabs-background-color,var(--app-B3,#fff));overflow:auto}.smart-tabs__scroll--line{box-sizing:initial;height:calc(100% + 15px)}.smart-tabs__scroll--card{border-radius:var(--tabs-card-border-radius,8px);box-sizing:border-box;margin:0 var(--padding-md,16px);width:calc(100% - var(--padding-md, 16px)*2)}.smart-tabs__scroll::-webkit-scrollbar{display:none}.smart-tabs__nav{display:flex;position:relative;-webkit-user-select:none;user-select:none}.smart-tabs__nav--card{background-color:var(--tabs-card-background-color);border-radius:var(--tabs-card-border-radius,8px);box-sizing:border-box;height:var(--tabs-card-height,32px);padding:2px}.smart-tabs__nav--card .smart-tab{color:var(--tabs-card-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));line-height:calc(var(--tabs-card-height, 32px) - 2px)}.smart-tabs__nav--card .smart-tab:last-child{border-right:none}.smart-tabs__nav--card .smart-tab.smart-tab--active{color:var(--tabs-card-text-active-color,var(--app-B6-N1,#000))}.smart-tabs__nav--card .smart-tab--disabled{color:var(--tab-disabled-text-color,var(--app-B6-N7,rgba(0,0,0,.1)))}.smart-tabs__line{background-color:var(--tabs-bottom-bar-color,var(--app-M4,#1989fa));border-radius:var(--tabs-bottom-bar-height,3px);bottom:0;height:var(--tabs-bottom-bar-height,3px);left:0;opacity:0;position:absolute;z-index:1}.smart-tabs__card{background-color:var(--tabs-card-active-background-color,var(--app-B3,#fff));border-radius:6px;left:0;opacity:0;position:absolute;top:0;z-index:0}.smart-tabs__track{height:100%;position:relative;width:100%}.smart-tabs__track--animated{display:flex;transition-property:left}.smart-tabs__content{overflow:hidden}.smart-tabs--line{height:var(--tabs-line-height,32px)}.smart-tabs--card{height:var(--tabs-card-height,32px)}.smart-tab{box-sizing:border-box;color:var(--tabs-card-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));cursor:pointer;flex:1;font-size:var(--tab-font-size,13px);line-height:var(--tabs-line-height,32px);min-width:0;padding:0 5px;position:relative;text-align:center}.smart-tab--active{color:var(--tabs-card-text-active-color,var(--app-B6-N1,#000));font-weight:var(--font-weight-bold,500)}.smart-tab--disabled{color:var(--tab-disabled-text-color,var(--app-B6-N7,rgba(0,0,0,.1)))}.smart-tab__title__info{position:relative!important;top:-1px!important;transform:translateX(0)!important}
@@ -185,10 +185,7 @@ SmartComponent({
185
185
  }
186
186
  },
187
187
  resize() {
188
- if (this.data.type !== 'line') {
189
- return;
190
- }
191
- const { currentIndex, ellipsis, skipTransition } = this.data;
188
+ const { currentIndex, ellipsis, skipTransition, type } = this.data;
192
189
  Promise.all([
193
190
  getAllRect(this, '.smart-tab'),
194
191
  getRect(this, '.smart-tabs__line'),
@@ -197,12 +194,18 @@ SmartComponent({
197
194
  if (rect == null) {
198
195
  return;
199
196
  }
197
+ const { width: cardWidth, height: cardHeight } = rects[currentIndex];
200
198
  let lineOffsetLeft = rects
201
199
  .slice(0, currentIndex)
202
200
  .reduce((prev, curr) => prev + curr.width, 0);
203
- lineOffsetLeft +=
204
- (rect.width - lineRect.width) / 2 + (ellipsis ? 0 : 8);
205
- this.setData({ lineOffsetLeft, inited: true });
201
+ if (type === 'line') {
202
+ lineOffsetLeft +=
203
+ (rect.width - lineRect.width) / 2 + (ellipsis ? 0 : 8);
204
+ }
205
+ else if (type === 'card') {
206
+ lineOffsetLeft += 2;
207
+ }
208
+ this.setData({ lineOffsetLeft, inited: true, cardWidth, cardHeight });
206
209
  this.swiping = true;
207
210
  if (skipTransition) {
208
211
  // waiting transition end
@@ -21,6 +21,7 @@
21
21
  >
22
22
  <view class="{{ utils.bem('tabs__nav', [type, { complete: !ellipsis }]) }} nav-class" style="{{ computed.navStyle(color, type) }}">
23
23
  <view wx:if="{{ type === 'line' }}" class="smart-tabs__line" style="{{ computed.lineStyle({ color, lineOffsetLeft, lineHeight, skipTransition, duration, lineWidth, inited }) }}" />
24
+ <view wx:if="{{ type === 'card' }}" class="smart-tabs__card" style="{{ computed.cardStyle({ color, lineOffsetLeft, cardHeight, skipTransition, duration, cardWidth, inited }) }}" />
24
25
  <view
25
26
  wx:for="{{ tabs }}"
26
27
  wx:key="index"
@@ -74,10 +74,27 @@ function lineStyle(data) {
74
74
  });
75
75
  }
76
76
 
77
+ function cardStyle(data) {
78
+ return style({
79
+ width: utils.addUnit(data.cardWidth),
80
+ opacity: data.inited ? 1 : 0,
81
+ transform: 'translateX(' + data.lineOffsetLeft + 'px)',
82
+ '-webkit-transform': 'translate(' + data.lineOffsetLeft + 'px, 2px)',
83
+ 'background-color': data.color,
84
+ height: utils.addUnit(data.cardHeight),
85
+ 'transition-duration': !data.skipTransition ? data.duration + 's' : null,
86
+ '-webkit-transition-duration': !data.skipTransition
87
+ ? data.duration + 's'
88
+ : null,
89
+ });
90
+ }
91
+
92
+
77
93
  module.exports = {
78
94
  tabClass: tabClass,
79
95
  tabStyle: tabStyle,
80
96
  trackStyle: trackStyle,
81
97
  lineStyle: lineStyle,
82
98
  navStyle: navStyle,
99
+ cardStyle: cardStyle,
83
100
  };
@@ -1 +1 @@
1
- @import '../common/index.wxss';:root{--tabs-card-background-color:rgba(0,0,0,.08)}:root[theme=dark]{--tabs-card-background-color:hsla(0,0%,100%,.12)}.smart-tabs{-webkit-tap-highlight-color:transparent;position:relative}.smart-tabs__wrap{display:flex;overflow:hidden}.smart-tabs__wrap--scrollable .smart-tab{flex:0 0 22%}.smart-tabs__wrap--scrollable .smart-tab--complete{flex:1 0 auto!important;padding:0 12px}.smart-tabs__wrap--scrollable .smart-tabs__nav--complete{padding-left:8px;padding-right:8px}.smart-tabs__scroll{background-color:var(--tabs-background-color,var(--app-B3,#fff));overflow:auto}.smart-tabs__scroll--line{box-sizing:initial;height:calc(100% + 15px)}.smart-tabs__scroll--card{border-radius:var(--tabs-card-border-radius,8px);box-sizing:border-box;margin:0 var(--padding-md,16px);width:calc(100% - var(--padding-md, 16px)*2)}.smart-tabs__scroll::-webkit-scrollbar{display:none}.smart-tabs__nav{display:flex;position:relative;-webkit-user-select:none;user-select:none}.smart-tabs__nav--card{background-color:var(--tabs-card-background-color);border-radius:var(--tabs-card-border-radius,8px);box-sizing:border-box;height:var(--tabs-card-height,30px);padding:2px}.smart-tabs__nav--card .smart-tab{border-radius:6px;color:var(--tabs-card-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));line-height:calc(var(--tabs-card-height, 30px) - 2px)}.smart-tabs__nav--card .smart-tab:last-child{border-right:none}.smart-tabs__nav--card .smart-tab.smart-tab--active{background-color:var(--tabs-card-active-background-color,var(--app-B3,#fff));color:var(--tabs-card-text-active-color,var(--app-B6-N1,#000))}.smart-tabs__nav--card .smart-tab--disabled{color:var(--tab-disabled-text-color,var(--app-B6-N7,rgba(0,0,0,.1)))}.smart-tabs__line{background-color:var(--tabs-bottom-bar-color,var(--app-M4,#1989fa));border-radius:var(--tabs-bottom-bar-height,3px);bottom:0;height:var(--tabs-bottom-bar-height,3px);left:0;opacity:0;position:absolute;z-index:1}.smart-tabs__track{height:100%;position:relative;width:100%}.smart-tabs__track--animated{display:flex;transition-property:left}.smart-tabs__content{overflow:hidden}.smart-tabs--line{height:var(--tabs-line-height,32px)}.smart-tabs--card{height:var(--tabs-card-height,30px)}.smart-tab{box-sizing:border-box;color:var(--tabs-card-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));cursor:pointer;flex:1;font-size:var(--tab-font-size,13px);line-height:var(--tabs-line-height,32px);min-width:0;padding:0 5px;position:relative;text-align:center}.smart-tab--active{color:var(--tabs-card-text-active-color,var(--app-B6-N1,#000));font-weight:var(--font-weight-bold,500)}.smart-tab--disabled{color:var(--tab-disabled-text-color,var(--app-B6-N7,rgba(0,0,0,.1)))}.smart-tab__title__info{position:relative!important;top:-1px!important;transform:translateX(0)!important}
1
+ @import '../common/index.wxss';:root{--tabs-card-background-color:rgba(0,0,0,.08)}:root[theme=dark]{--tabs-card-background-color:hsla(0,0%,100%,.12)}.smart-tabs{-webkit-tap-highlight-color:transparent;position:relative}.smart-tabs__wrap{display:flex;overflow:hidden}.smart-tabs__wrap--scrollable .smart-tab{flex:0 0 22%}.smart-tabs__wrap--scrollable .smart-tab--complete{flex:1 0 auto!important;padding:0 12px}.smart-tabs__wrap--scrollable .smart-tabs__nav--complete{padding-left:8px;padding-right:8px}.smart-tabs__scroll{background-color:var(--tabs-background-color,var(--app-B3,#fff));overflow:auto}.smart-tabs__scroll--line{box-sizing:initial;height:calc(100% + 15px)}.smart-tabs__scroll--card{border-radius:var(--tabs-card-border-radius,8px);box-sizing:border-box;margin:0 var(--padding-md,16px);width:calc(100% - var(--padding-md, 16px)*2)}.smart-tabs__scroll::-webkit-scrollbar{display:none}.smart-tabs__nav{display:flex;position:relative;-webkit-user-select:none;user-select:none}.smart-tabs__nav--card{background-color:var(--tabs-card-background-color);border-radius:var(--tabs-card-border-radius,8px);box-sizing:border-box;height:var(--tabs-card-height,32px);padding:2px}.smart-tabs__nav--card .smart-tab{color:var(--tabs-card-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));line-height:calc(var(--tabs-card-height, 32px) - 2px)}.smart-tabs__nav--card .smart-tab:last-child{border-right:none}.smart-tabs__nav--card .smart-tab.smart-tab--active{color:var(--tabs-card-text-active-color,var(--app-B6-N1,#000))}.smart-tabs__nav--card .smart-tab--disabled{color:var(--tab-disabled-text-color,var(--app-B6-N7,rgba(0,0,0,.1)))}.smart-tabs__line{background-color:var(--tabs-bottom-bar-color,var(--app-M4,#1989fa));border-radius:var(--tabs-bottom-bar-height,3px);bottom:0;height:var(--tabs-bottom-bar-height,3px);left:0;opacity:0;position:absolute;z-index:1}.smart-tabs__card{background-color:var(--tabs-card-active-background-color,var(--app-B3,#fff));border-radius:6px;left:0;opacity:0;position:absolute;top:0;z-index:0}.smart-tabs__track{height:100%;position:relative;width:100%}.smart-tabs__track--animated{display:flex;transition-property:left}.smart-tabs__content{overflow:hidden}.smart-tabs--line{height:var(--tabs-line-height,32px)}.smart-tabs--card{height:var(--tabs-card-height,32px)}.smart-tab{box-sizing:border-box;color:var(--tabs-card-text-color,var(--app-B6-N3,rgba(0,0,0,.5)));cursor:pointer;flex:1;font-size:var(--tab-font-size,13px);line-height:var(--tabs-line-height,32px);min-width:0;padding:0 5px;position:relative;text-align:center}.smart-tab--active{color:var(--tabs-card-text-active-color,var(--app-B6-N1,#000));font-weight:var(--font-weight-bold,500)}.smart-tab--disabled{color:var(--tab-disabled-text-color,var(--app-B6-N7,rgba(0,0,0,.1)))}.smart-tab__title__info{position:relative!important;top:-1px!important;transform:translateX(0)!important}
@@ -1 +1 @@
1
- @import '../common/index.css';.smart-tag{align-items:center;border-radius:var(--tag-border-radius,2px);color:var(--tag-text-color,#fff);display:inline-flex;font-size:var(--tag-font-size,12px);line-height:var(--tag-line-height,16px);padding:var(--tag-padding,0 4px);position:relative}.smart-tag--default{background-color:var(--tag-default-color,#969799)}.smart-tag--default.smart-tag--plain{color:var(--tag-default-color,#969799)}.smart-tag--danger{background-color:var(--tag-danger-color,#ee0a24)}.smart-tag--danger.smart-tag--plain{color:var(--tag-danger-color,#ee0a24)}.smart-tag--primary{background-color:var(--tag-primary-color,#1989fa)}.smart-tag--primary.smart-tag--plain{color:var(--tag-primary-color,#1989fa)}.smart-tag--success{background-color:var(--tag-success-color,#07c160)}.smart-tag--success.smart-tag--plain{color:var(--tag-success-color,#07c160)}.smart-tag--warning{background-color:var(--tag-warning-color,#ff976a)}.smart-tag--warning.smart-tag--plain{color:var(--tag-warning-color,#ff976a)}.smart-tag--plain{background-color:var(--tag-plain-background-color,#fff)}.smart-tag--plain:before{border:1px solid;border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.smart-tag--medium{padding:var(--tag-medium-padding,2px 6px)}.smart-tag--large{border-radius:var(--tag-large-border-radius,4px);font-size:var(--tag-large-font-size,14px);padding:var(--tag-large-padding,4px 8px)}.smart-tag--mark{border-radius:0 var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) 0}.smart-tag--mark:after{content:"";display:block;width:2px}.smart-tag--round{border-radius:var(--tag-round-border-radius,999px)}.smart-tag__close{margin-left:2px;min-width:1em}
1
+ @import '../common/index.css';.smart-tag{align-items:center;border-radius:var(--tag-border-radius,4px);color:var(--tag-text-color,#fff);display:inline-flex;font-size:var(--tag-font-size,12px);line-height:var(--tag-line-height,17px);padding:var(--tag-padding,2px 8px);position:relative}.smart-tag--default{background-color:var(--tag-default-color,#969799)}.smart-tag--default.smart-tag--plain{color:var(--tag-default-color,#969799)}.smart-tag--danger{background-color:var(--tag-danger-color,#ee0a24)}.smart-tag--danger.smart-tag--plain{color:var(--tag-danger-color,#ee0a24)}.smart-tag--primary{background-color:var(--tag-primary-color,#1989fa)}.smart-tag--primary.smart-tag--plain{color:var(--tag-primary-color,#1989fa)}.smart-tag--success{background-color:var(--tag-success-color,#07c160)}.smart-tag--success.smart-tag--plain{color:var(--tag-success-color,#07c160)}.smart-tag--warning{background-color:var(--tag-warning-color,#ff976a)}.smart-tag--warning.smart-tag--plain{color:var(--tag-warning-color,#ff976a)}.smart-tag--plain{background-color:var(--tag-plain-background-color,#fff)}.smart-tag--plain:before{border:1px solid;border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.smart-tag--medium{font-size:var(--tag-medium-font-size,14px);line-height:var(--tag-medium-line-height,20px)}.smart-tag--large{font-size:var(--tag-large-font-size,16px);line-height:var(--tag-large-line-height,22px)}.smart-tag--mark{border-radius:0 var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) 0}.smart-tag--mark:after{content:"";display:block;width:2px}.smart-tag--round{border-radius:var(--tag-round-border-radius,999px)}.smart-tag__close{margin-left:2px;min-width:1em}
@@ -1 +1 @@
1
- @import '../common/index.wxss';.smart-tag{align-items:center;border-radius:var(--tag-border-radius,2px);color:var(--tag-text-color,#fff);display:inline-flex;font-size:var(--tag-font-size,12px);line-height:var(--tag-line-height,16px);padding:var(--tag-padding,0 4px);position:relative}.smart-tag--default{background-color:var(--tag-default-color,#969799)}.smart-tag--default.smart-tag--plain{color:var(--tag-default-color,#969799)}.smart-tag--danger{background-color:var(--tag-danger-color,#ee0a24)}.smart-tag--danger.smart-tag--plain{color:var(--tag-danger-color,#ee0a24)}.smart-tag--primary{background-color:var(--tag-primary-color,#1989fa)}.smart-tag--primary.smart-tag--plain{color:var(--tag-primary-color,#1989fa)}.smart-tag--success{background-color:var(--tag-success-color,#07c160)}.smart-tag--success.smart-tag--plain{color:var(--tag-success-color,#07c160)}.smart-tag--warning{background-color:var(--tag-warning-color,#ff976a)}.smart-tag--warning.smart-tag--plain{color:var(--tag-warning-color,#ff976a)}.smart-tag--plain{background-color:var(--tag-plain-background-color,#fff)}.smart-tag--plain:before{border:1px solid;border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.smart-tag--medium{padding:var(--tag-medium-padding,2px 6px)}.smart-tag--large{border-radius:var(--tag-large-border-radius,4px);font-size:var(--tag-large-font-size,14px);padding:var(--tag-large-padding,4px 8px)}.smart-tag--mark{border-radius:0 var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) 0}.smart-tag--mark:after{content:"";display:block;width:2px}.smart-tag--round{border-radius:var(--tag-round-border-radius,999px)}.smart-tag__close{margin-left:2px;min-width:1em}
1
+ @import '../common/index.wxss';.smart-tag{align-items:center;border-radius:var(--tag-border-radius,4px);color:var(--tag-text-color,#fff);display:inline-flex;font-size:var(--tag-font-size,12px);line-height:var(--tag-line-height,17px);padding:var(--tag-padding,2px 8px);position:relative}.smart-tag--default{background-color:var(--tag-default-color,#969799)}.smart-tag--default.smart-tag--plain{color:var(--tag-default-color,#969799)}.smart-tag--danger{background-color:var(--tag-danger-color,#ee0a24)}.smart-tag--danger.smart-tag--plain{color:var(--tag-danger-color,#ee0a24)}.smart-tag--primary{background-color:var(--tag-primary-color,#1989fa)}.smart-tag--primary.smart-tag--plain{color:var(--tag-primary-color,#1989fa)}.smart-tag--success{background-color:var(--tag-success-color,#07c160)}.smart-tag--success.smart-tag--plain{color:var(--tag-success-color,#07c160)}.smart-tag--warning{background-color:var(--tag-warning-color,#ff976a)}.smart-tag--warning.smart-tag--plain{color:var(--tag-warning-color,#ff976a)}.smart-tag--plain{background-color:var(--tag-plain-background-color,#fff)}.smart-tag--plain:before{border:1px solid;border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.smart-tag--medium{font-size:var(--tag-medium-font-size,14px);line-height:var(--tag-medium-line-height,20px)}.smart-tag--large{font-size:var(--tag-large-font-size,16px);line-height:var(--tag-large-line-height,22px)}.smart-tag--mark{border-radius:0 var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) 0}.smart-tag--mark:after{content:"";display:block;width:2px}.smart-tag--round{border-radius:var(--tag-round-border-radius,999px)}.smart-tag__close{margin-left:2px;min-width:1em}
@@ -0,0 +1,3 @@
1
+ export declare const Success: "data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20class%3D%22icon%22%20width%3D%22200px%22%20height%3D%22200.00px%22%20viewBox%3D%220%200%201024%201024%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M639.232%20815.232a315.306667%20315.306667%200%200%201-127.061333%2025.898667%20314.922667%20314.922667%200%200%201-127.232-25.898667%20337.92%20337.92%200%200%201-104.832-71.338667%20337.834667%20337.834667%200%200%201-71.338667-104.832%20314.88%20314.88%200%200%201-25.898667-127.232%20317.013333%20317.013333%200%200%201%2025.728-127.061333%20335.445333%20335.445333%200%200%201%2071.338667-105.173333%20333.653333%20333.653333%200%200%201%20105.002667-71.168c39.68-17.066667%2081.92-25.6%20126.890666-25.6%2044.928%200%2087.296%208.533333%20127.061334%2025.6%2039.722667%2017.066667%2074.752%2040.789333%20105.002666%2071.168a339.2%20339.2%200%200%201%2071.338667%20105.173333c17.28%2039.765333%2025.898667%2082.133333%2025.898667%20127.061333a316.714667%20316.714667%200%200%201-25.728%20127.232%20337.322667%20337.322667%200%200%201-176.213334%20176.213334z%20m-178.901333-149.930667a32.128%2032.128%200%200%200%2016.256%204.053334c11.733333%200%2021.12-5.546667%2028.16-16.597334l150.058666-235.434666c2.261333-3.413333%204.266667-6.954667%205.930667-10.666667a26.453333%2026.453333%200%200%200%202.56-11.050667%2023.466667%2023.466667%200%200%200-8.96-19.114666%2031.146667%2031.146667%200%200%200-20.181333-7.296c-9.728%200-17.877333%205.290667-24.405334%2015.914666l-134.485333%20215.808-63.701333-81.28a35.413333%2035.413333%200%200%200-11.690667-10.88%2028.16%2028.16%200%200%200-13.056-3.029333%2026.325333%2026.325333%200%200%200-19.84%208.32%2028.032%2028.032%200%200%200-7.936%2020.138667c0%207.466667%202.816%2014.677333%208.448%2021.674666l79.274667%2097.28c4.309333%205.376%208.832%209.472%2013.568%2012.16z%22%2F%3E%3C%2Fsvg%3E";
2
+ export declare const Alarm: "data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20class%3D%22icon%22%20width%3D%22200px%22%20height%3D%22200.00px%22%20viewBox%3D%220%200%201024%201024%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M512%2053.248c129.707%203.413%20237.739%2048.299%20324.096%20134.656S967.339%20382.293%20970.752%20512c-3.413%20129.707-48.299%20237.739-134.656%20324.096S641.707%20967.339%20512%20970.752c-129.707-3.413-237.739-48.299-324.096-134.656S56.661%20641.707%2053.248%20512c3.413-129.707%2048.299-237.739%20134.656-324.096S382.293%2056.661%20512%2053.248z%20m0%20196.608c-17.749%200-32.427%206.485-44.032%2019.456-11.605%2012.971-16.725%2028.331-15.36%2046.08l23.552%20262.144c1.365%209.557%205.291%2017.237%2011.776%2023.04%206.485%205.803%2014.507%208.704%2024.064%208.704s17.579-2.901%2024.064-8.704c6.485-5.803%2010.411-13.483%2011.776-23.04l23.552-262.144c1.365-17.749-3.755-33.109-15.36-46.08-11.605-12.971-26.283-19.456-44.032-19.456z%20m0%20524.288c15.019-0.683%2027.477-5.803%2037.376-15.36%209.899-9.557%2014.848-21.845%2014.848-36.864%200-15.019-4.949-27.477-14.848-37.376-9.899-9.899-22.357-14.848-37.376-14.848-15.019%200-27.477%204.949-37.376%2014.848-9.899%209.899-14.848%2022.357-14.848%2037.376%200%2015.019%204.949%2027.307%2014.848%2036.864%209.899%209.557%2022.357%2014.677%2037.376%2015.36z%22%2F%3E%3C%2Fsvg%3E";
3
+ export declare const Error: "data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20class%3D%22icon%22%20width%3D%22200px%22%20height%3D%22200.00px%22%20viewBox%3D%220%200%201024%201024%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M134.997333%20512a377.002667%20377.002667%200%201%201%20754.005334%200%20377.002667%20377.002667%200%200%201-754.005334%200zM512%2051.2C257.493333%2051.2%2051.2%20257.493333%2051.2%20512c0%20254.464%20206.293333%20460.8%20460.8%20460.8%20254.506667%200%20460.8-206.336%20460.8-460.8%200-254.506667-206.293333-460.8-460.8-460.8z%20m177.749333%20638.506667a41.898667%2041.898667%200%200%201-59.264%200L512%20571.221333l-118.485333%20118.485334a41.898667%2041.898667%200%200%201-59.221334-59.221334L452.778667%20512%20334.293333%20393.514667a41.898667%2041.898667%200%200%201%2059.221334-59.264L512%20452.736l118.485333-118.485333a41.898667%2041.898667%200%201%201%2059.264%2059.264L571.264%20512l118.485333%20118.485333a41.898667%2041.898667%200%200%201%200%2059.221334z%22%2F%3E%3C%2Fsvg%3E";
@@ -0,0 +1,6 @@
1
+ import Warning from '@tuya-miniapp/icons/dist/svg/Warning';
2
+ import CheckmarkCircle from '@tuya-miniapp/icons/dist/svg/CheckmarkCircle';
3
+ import Cancel from '@tuya-miniapp/icons/dist/svg/Cancel';
4
+ export const Success = CheckmarkCircle;
5
+ export const Alarm = Warning;
6
+ export const Error = Cancel;
@@ -1,5 +1,4 @@
1
- import Checkmark from '@tuya-miniapp/icons/dist/svg/Checkmark';
2
- import Smark from '@tuya-miniapp/icons/dist/svg/Xmark';
1
+ import { Success, Alarm, Error } from './icons';
3
2
  import { SmartComponent } from '../common/component';
4
3
  SmartComponent({
5
4
  props: {
@@ -11,6 +10,7 @@ SmartComponent({
11
10
  type: Number,
12
11
  value: 1000,
13
12
  },
13
+ //
14
14
  type: {
15
15
  type: String,
16
16
  value: 'text',
@@ -23,10 +23,14 @@ SmartComponent({
23
23
  type: String,
24
24
  value: 'middle',
25
25
  },
26
+ width: {
27
+ type: Number,
28
+ },
26
29
  },
27
30
  data: {
28
- success: Checkmark,
29
- error: Smark,
31
+ success: Success,
32
+ error: Error,
33
+ warn: Alarm,
30
34
  },
31
35
  methods: {
32
36
  // for prevent touchmove
@@ -12,6 +12,7 @@
12
12
  <view
13
13
  class="smart-toast smart-toast--{{ (type === 'text' || type === 'html') ? 'text' : 'icon' }} smart-toast--{{ position }}"
14
14
  catch:touchmove="noop"
15
+ style="width: {{ width !== '100%' ? (width + 'px') : '100%' }}"
15
16
  >
16
17
  <!-- text only -->
17
18
  <text wx:if="{{ type === 'text' }}">{{ message }}</text>
@@ -21,13 +22,8 @@
21
22
 
22
23
  <!-- with icon -->
23
24
  <block wx:else>
24
- <smart-loading
25
- wx:if="{{ type === 'loading' }}"
26
- color="white"
27
- type="{{ loadingType }}"
28
- custom-class="smart-toast__loading"
29
- />
30
- <smart-icon color="white" wx:else class="smart-toast__icon" name="{{ type === 'success' ? success : error }}" />
25
+ <smart-loading wx:if="{{ type === 'loading' }}" size="60" color="white" type="{{loadingType}}" />
26
+ <smart-icon wx:else color="white" class="smart-toast__icon" name="{{ type === 'success' ? success : type === 'fail' ? error : type === 'warn' ? warn : success }}" />
31
27
  <text wx:if="{{ message }}" class="smart-toast__text">{{ message }}</text>
32
28
  </block>
33
29