@tdesign/uniapp 0.7.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +32 -2
  3. package/dist/action-sheet/README.md +1 -1
  4. package/dist/action-sheet/action-sheet.vue +158 -150
  5. package/dist/action-sheet/props.ts +2 -2
  6. package/dist/action-sheet/type.ts +1 -1
  7. package/dist/avatar/avatar.vue +89 -87
  8. package/dist/avatar-group/avatar-group.vue +69 -67
  9. package/dist/back-top/back-top.vue +60 -58
  10. package/dist/badge/badge.vue +69 -59
  11. package/dist/button/button.vue +121 -116
  12. package/dist/button/props.ts +2 -2
  13. package/dist/button/type.ts +1 -1
  14. package/dist/calendar/calendar-header.vue +4 -4
  15. package/dist/calendar/calendar.vue +308 -297
  16. package/dist/calendar/template.vue +1 -1
  17. package/dist/cascader/README.en-US.md +2 -1
  18. package/dist/cascader/README.md +2 -1
  19. package/dist/cascader/cascader.vue +340 -328
  20. package/dist/cascader/props.ts +6 -1
  21. package/dist/cascader/type.ts +6 -0
  22. package/dist/cell/cell.vue +127 -121
  23. package/dist/cell-group/cell-group.vue +32 -30
  24. package/dist/check-tag/check-tag.vue +73 -71
  25. package/dist/checkbox/README.en-US.md +6 -6
  26. package/dist/checkbox/README.md +5 -5
  27. package/dist/checkbox/checkbox.vue +127 -127
  28. package/dist/checkbox/props.ts +6 -6
  29. package/dist/checkbox/type.ts +6 -4
  30. package/dist/checkbox-group/checkbox-group.vue +175 -173
  31. package/dist/checkbox-group/props.ts +6 -6
  32. package/dist/checkbox-group/type.ts +6 -4
  33. package/dist/col/col.vue +26 -24
  34. package/dist/collapse/collapse.vue +83 -81
  35. package/dist/collapse-panel/collapse-panel.vue +121 -119
  36. package/dist/collapse-panel/props.ts +4 -4
  37. package/dist/collapse-panel/type.ts +2 -2
  38. package/dist/color-picker/README.md +1 -1
  39. package/dist/color-picker/color-picker.vue +324 -322
  40. package/dist/color-picker/props.ts +2 -2
  41. package/dist/color-picker/template.vue +14 -10
  42. package/dist/common/common.ts +1 -0
  43. package/dist/common/style/theme/index.css +57 -61
  44. package/dist/common/utils.js +7 -2
  45. package/dist/common/validator.js +172 -0
  46. package/dist/config-provider/README.en-US.md +184 -0
  47. package/dist/config-provider/README.md +234 -0
  48. package/dist/config-provider/config-provider.vue +105 -0
  49. package/dist/config-provider/config-store.js +70 -0
  50. package/dist/config-provider/props.ts +16 -0
  51. package/dist/config-provider/reactive-state.js +39 -0
  52. package/dist/config-provider/type.ts +401 -0
  53. package/dist/config-provider/use-config.js +29 -0
  54. package/dist/config-provider/utils.js +29 -0
  55. package/dist/count-down/count-down.vue +98 -97
  56. package/dist/date-time-picker/date-time-picker.vue +410 -395
  57. package/dist/demo/demo.vue +1 -0
  58. package/dist/dialog/dialog.vue +176 -173
  59. package/dist/divider/divider.vue +38 -36
  60. package/dist/draggable/draggable.vue +60 -58
  61. package/dist/drawer/README.md +1 -1
  62. package/dist/drawer/drawer.vue +48 -46
  63. package/dist/dropdown-item/dropdown-item.vue +209 -207
  64. package/dist/dropdown-item/props.ts +4 -4
  65. package/dist/dropdown-item/type.ts +3 -3
  66. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  67. package/dist/empty/empty.vue +43 -42
  68. package/dist/fab/fab.vue +88 -86
  69. package/dist/footer/footer.vue +36 -34
  70. package/dist/form/README.en-US.md +17 -24
  71. package/dist/form/README.md +18 -25
  72. package/dist/form/form.css +1 -166
  73. package/dist/form/form.vue +251 -236
  74. package/dist/form/props.ts +2 -21
  75. package/dist/form/type.ts +7 -70
  76. package/dist/form-item/README.en-US.md +4 -5
  77. package/dist/form-item/README.md +4 -5
  78. package/dist/form-item/form-item.css +69 -96
  79. package/dist/form-item/form-item.vue +315 -336
  80. package/dist/form-item/form-model.ts +125 -173
  81. package/dist/form-item/props.ts +4 -17
  82. package/dist/form-item/type.ts +43 -1
  83. package/dist/grid/grid.vue +53 -51
  84. package/dist/grid-item/grid-item.vue +121 -119
  85. package/dist/guide/README.md +1 -1
  86. package/dist/guide/guide.vue +281 -277
  87. package/dist/icon/README.md +2 -4
  88. package/dist/icon/icon.vue +78 -76
  89. package/dist/image/README.md +1 -1
  90. package/dist/image/image.vue +103 -101
  91. package/dist/image-viewer/image-viewer.vue +160 -158
  92. package/dist/image-viewer/props.ts +2 -2
  93. package/dist/image-viewer/type.ts +1 -1
  94. package/dist/index.js +3 -0
  95. package/dist/indexes/indexes.vue +264 -267
  96. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  97. package/dist/input/input.vue +192 -192
  98. package/dist/input/props.ts +6 -6
  99. package/dist/input/type.ts +3 -3
  100. package/dist/link/link.vue +73 -71
  101. package/dist/loading/loading.vue +59 -59
  102. package/dist/locale/ar_KW.ts +157 -0
  103. package/dist/locale/en_US.ts +146 -0
  104. package/dist/locale/it_IT.ts +145 -0
  105. package/dist/locale/ja_JP.ts +132 -0
  106. package/dist/locale/ko_KR.ts +132 -0
  107. package/dist/locale/ru_RU.ts +157 -0
  108. package/dist/locale/zh_CN.ts +133 -0
  109. package/dist/locale/zh_TW.ts +132 -0
  110. package/dist/message/message.vue +181 -173
  111. package/dist/message/props.ts +2 -2
  112. package/dist/message/type.ts +1 -1
  113. package/dist/message-item/message-item.vue +192 -184
  114. package/dist/mixins/using-config.js +39 -0
  115. package/dist/navbar/navbar.vue +201 -199
  116. package/dist/notice-bar/notice-bar.vue +175 -171
  117. package/dist/notice-bar/props.ts +2 -2
  118. package/dist/notice-bar/type.ts +1 -1
  119. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  120. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  121. package/dist/overlay/overlay.vue +50 -48
  122. package/dist/picker/picker.vue +168 -161
  123. package/dist/picker-item/picker-item.vue +269 -269
  124. package/dist/popover/README.md +1 -1
  125. package/dist/popover/popover.vue +262 -261
  126. package/dist/popover/props.ts +4 -4
  127. package/dist/popover/type.ts +2 -2
  128. package/dist/popup/popup.vue +46 -45
  129. package/dist/progress/README.md +1 -1
  130. package/dist/progress/progress.vue +76 -76
  131. package/dist/pull-down-refresh/props.ts +2 -2
  132. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  133. package/dist/pull-down-refresh/type.ts +1 -1
  134. package/dist/qrcode/README.md +1 -1
  135. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  136. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  137. package/dist/qrcode/qrcode.vue +93 -87
  138. package/dist/radio/props.ts +6 -6
  139. package/dist/radio/radio.vue +118 -120
  140. package/dist/radio/type.ts +3 -3
  141. package/dist/radio-group/props.ts +4 -4
  142. package/dist/radio-group/radio-group.vue +136 -134
  143. package/dist/radio-group/type.ts +4 -4
  144. package/dist/rate/computed.js +2 -2
  145. package/dist/rate/props.ts +4 -4
  146. package/dist/rate/rate.vue +155 -154
  147. package/dist/rate/type.ts +2 -2
  148. package/dist/result/result.vue +41 -39
  149. package/dist/row/row.vue +38 -36
  150. package/dist/scroll-view/scroll-view.vue +24 -22
  151. package/dist/search/props.ts +2 -2
  152. package/dist/search/search.vue +127 -125
  153. package/dist/search/type.ts +1 -1
  154. package/dist/side-bar/side-bar.vue +57 -55
  155. package/dist/side-bar-item/side-bar-item.vue +86 -86
  156. package/dist/skeleton/skeleton.vue +126 -124
  157. package/dist/slider/README.md +1 -1
  158. package/dist/slider/props.ts +2 -2
  159. package/dist/slider/slider.vue +457 -457
  160. package/dist/slider/type.ts +1 -1
  161. package/dist/step-item/step-item.vue +77 -75
  162. package/dist/stepper/props.ts +2 -2
  163. package/dist/stepper/stepper.vue +168 -149
  164. package/dist/stepper/type.ts +1 -1
  165. package/dist/steps/props.ts +2 -2
  166. package/dist/steps/steps.vue +83 -81
  167. package/dist/steps/type.ts +1 -1
  168. package/dist/sticky/sticky.vue +104 -102
  169. package/dist/swipe-cell/swipe-cell.vue +91 -89
  170. package/dist/swiper/README.md +1 -1
  171. package/dist/swiper/swiper.vue +91 -89
  172. package/dist/swiper-nav/swiper-nav.vue +38 -36
  173. package/dist/switch/props.ts +2 -2
  174. package/dist/switch/switch.vue +62 -62
  175. package/dist/switch/type.ts +1 -1
  176. package/dist/tab-bar/tab-bar.vue +88 -86
  177. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  178. package/dist/tab-panel/tab-panel.vue +66 -64
  179. package/dist/tabs/tabs.vue +294 -287
  180. package/dist/tag/tag.vue +79 -77
  181. package/dist/textarea/props.ts +6 -6
  182. package/dist/textarea/textarea.vue +127 -126
  183. package/dist/textarea/type.ts +3 -3
  184. package/dist/toast/toast.vue +107 -106
  185. package/dist/transition/transition.vue +30 -28
  186. package/dist/tree-select/tree-select.vue +151 -151
  187. package/dist/types/config-provider.d.ts +7 -0
  188. package/dist/types/index.d.ts +2 -0
  189. package/dist/types/popover.d.ts +7 -0
  190. package/dist/upload/README.en-US.md +13 -14
  191. package/dist/upload/README.md +11 -12
  192. package/dist/upload/props.ts +2 -4
  193. package/dist/upload/type.ts +12 -11
  194. package/dist/upload/upload.css +1 -1
  195. package/dist/upload/upload.vue +672 -512
  196. package/dist/watermark/watermark.vue +151 -149
  197. package/global.d.ts +2 -0
  198. package/package.json +16 -2
  199. package/dist/form/form-item-props.ts +0 -56
@@ -86,6 +86,7 @@ export default {
86
86
  default: false,
87
87
  },
88
88
  },
89
+
89
90
  data() {
90
91
  return {
91
92
 
@@ -64,7 +64,7 @@
64
64
  <slot name="middle" />
65
65
  <view
66
66
  :class="
67
- tools.cls(classPrefix + '__footer', [
67
+ '' + tools.cls(classPrefix + '__footer', [
68
68
  ['column', dataButtonLayout === 'vertical'],
69
69
  ['full', buttonVariant == 'text' && (!dataActions || dataActions.length == 0)]
70
70
  ])
@@ -105,14 +105,14 @@
105
105
  :app-parameter="actionItem.appParameter"
106
106
  :show-message-card="actionItem.showMessageCard"
107
107
  :aria-label="actionItem.ariaLabel"
108
- @click="onTplButtonTap($event, { type: 'action', extra: index })"
109
- @getuserinfo="onTplButtonTap($event, { type: 'action', extra: index })"
110
- @contact="onTplButtonTap($event, { type: 'action', extra: index })"
111
- @getphonenumber="onTplButtonTap($event, { type: 'action', extra: index })"
112
- @error="onTplButtonTap($event, { type: 'action', extra: index })"
113
- @opensetting="onTplButtonTap($event, { type: 'action', extra: index })"
114
- @launchapp="onTplButtonTap($event, { type: 'action', extra: index })"
115
- @agreeprivacyauthorization="onTplButtonTap($event, { type: 'action', extra: index })"
108
+ @click="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
109
+ @getuserinfo="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
110
+ @contact="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
111
+ @getphonenumber="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
112
+ @error="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
113
+ @opensetting="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
114
+ @launchapp="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
115
+ @agreeprivacyauthorization="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
116
116
  >
117
117
  <slot v-if="actionItem.useDefaultSlot || false" />
118
118
  </t-button>
@@ -151,14 +151,14 @@
151
151
  :app-parameter="innerCancel.appParameter"
152
152
  :show-message-card="innerCancel.showMessageCard"
153
153
  :aria-label="innerCancel.ariaLabel"
154
- @click="onCancel($event, { type: 'action', extra: 0 })"
155
- @getuserinfo="onCancel($event, { type: 'action', extra: 0 })"
156
- @contact="onCancel($event, { type: 'action', extra: 0 })"
157
- @getphonenumber="onCancel($event, { type: 'action', extra: 0 })"
158
- @error="onCancel($event, { type: 'action', extra: 0 })"
159
- @opensetting="onCancel($event, { type: 'action', extra: 0 })"
160
- @launchapp="onCancel($event, { type: 'action', extra: 0 })"
161
- @agreeprivacyauthorization="onCancel($event, { type: 'action', extra: 0 })"
154
+ @click="(e) => onCancel(e, { type: 'action', extra: 0 })"
155
+ @getuserinfo="(e) => onCancel(e, { type: 'action', extra: 0 })"
156
+ @contact="(e) => onCancel(e, { type: 'action', extra: 0 })"
157
+ @getphonenumber="(e) => onCancel(e, { type: 'action', extra: 0 })"
158
+ @error="(e) => onCancel(e, { type: 'action', extra: 0 })"
159
+ @opensetting="(e) => onCancel(e, { type: 'action', extra: 0 })"
160
+ @launchapp="(e) => onCancel(e, { type: 'action', extra: 0 })"
161
+ @agreeprivacyauthorization="(e) => onCancel(e, { type: 'action', extra: 0 })"
162
162
  >
163
163
  <slot v-if="innerCancel.useDefaultSlot || false" />
164
164
  </t-button>
@@ -197,14 +197,14 @@
197
197
  :app-parameter="innerConfirm.appParameter"
198
198
  :show-message-card="innerConfirm.showMessageCard"
199
199
  :aria-label="innerConfirm.ariaLabel"
200
- @click="onConfirm($event, { type: 'action', extra: 0 })"
201
- @getuserinfo="onConfirm($event, { type: 'action', extra: 0 })"
202
- @contact="onConfirm($event, { type: 'action', extra: 0 })"
203
- @getphonenumber="onConfirm($event, { type: 'action', extra: 0 })"
204
- @error="onTplButtonConfirmonTap($event, { type: 'action', extra: 0 })"
205
- @opensetting="onConfirm($event, { type: 'action', extra: 0 })"
206
- @launchapp="onConfirm($event, { type: 'action', extra: 0 })"
207
- @agreeprivacyauthorization="onConfirm($event, { type: 'action', extra: 0 })"
200
+ @click="(e) => onConfirm(e, { type: 'action', extra: 0 })"
201
+ @getuserinfo="(e) => onConfirm(e, { type: 'action', extra: 0 })"
202
+ @contact="(e) => onConfirm(e, { type: 'action', extra: 0 })"
203
+ @getphonenumber="(e) => onConfirm(e, { type: 'action', extra: 0 })"
204
+ @error="(e) => onTplButtonConfirmonTap(e, { type: 'action', extra: 0 })"
205
+ @opensetting="(e) => onConfirm(e, { type: 'action', extra: 0 })"
206
+ @launchapp="(e) => onConfirm(e, { type: 'action', extra: 0 })"
207
+ @agreeprivacyauthorization="(e) => onConfirm(e, { type: 'action', extra: 0 })"
208
208
  >
209
209
  <slot v-if="innerConfirm.useDefaultSlot || false" />
210
210
  </t-button>
@@ -222,7 +222,7 @@ import TButton from '../button/button';
222
222
  import { uniComponent } from '../common/src/index';
223
223
  import { prefix } from '../common/config';
224
224
  import props from './props';
225
- import { toCamel, coalesce } from '../common/utils';
225
+ import { toCamel, coalesce, toPascal } from '../common/utils';
226
226
  import { isObject } from '../common/validator';
227
227
  import useCustomNavbar from '../mixins/using-custom-navbar';
228
228
  import tools from '../common/utils.wxs';
@@ -233,188 +233,191 @@ import { canUseVirtualHost } from '../common/version';
233
233
  const name = `${prefix}-dialog`;
234
234
 
235
235
 
236
- export default uniComponent({
237
- name,
238
- options: {
239
- styleIsolation: 'shared',
240
- },
241
- externalClasses: [
242
- `${prefix}-class`,
243
- `${prefix}-class-content`,
244
- `${prefix}-class-confirm`,
245
- `${prefix}-class-cancel`,
246
- `${prefix}-class-action`,
247
- ],
248
- mixins: [getFunctionalMixin(props), useCustomNavbar],
236
+ export default {
249
237
  components: {
250
238
  TPopup,
251
239
  TIcon,
252
240
  TButton,
253
241
  },
254
- props: {
255
- ...props,
256
- },
257
- data() {
258
- return {
259
- prefix,
260
- classPrefix: name,
261
- buttonVariant: 'text',
262
- tools,
242
+ ...uniComponent({
243
+ name,
244
+ options: {
245
+ styleIsolation: 'shared',
246
+ },
247
+ externalClasses: [
248
+ `${prefix}-class`,
249
+ `${prefix}-class-content`,
250
+ `${prefix}-class-confirm`,
251
+ `${prefix}-class-cancel`,
252
+ `${prefix}-class-action`,
253
+ ],
254
+ mixins: [getFunctionalMixin(props), useCustomNavbar],
255
+ props: {
256
+ ...props,
257
+ },
258
+ data() {
259
+ return {
260
+ prefix,
261
+ classPrefix: name,
262
+ buttonVariant: 'text',
263
+ tools,
263
264
 
264
- innerConfirm: null,
265
- innerCancel: null,
266
- useVirtualHost: canUseVirtualHost(),
267
- };
268
- },
269
- watch: {
270
- dataConfirmBtn: {
271
- handler() {
272
- this.onWatchBtn(this.dataConfirmBtn, this.dataCancelBtn);
273
- },
274
- immediate: true,
265
+ innerConfirm: null,
266
+ innerCancel: null,
267
+ useVirtualHost: canUseVirtualHost(),
268
+ };
275
269
  },
276
- dataCancelBtn: {
277
- handler() {
278
- this.onWatchBtn(this.dataConfirmBtn, this.dataCancelBtn);
270
+ watch: {
271
+ dataConfirmBtn: {
272
+ handler() {
273
+ this.onWatchBtn(this.dataConfirmBtn, this.dataCancelBtn);
274
+ },
275
+ immediate: true,
276
+ },
277
+ dataCancelBtn: {
278
+ handler() {
279
+ this.onWatchBtn(this.dataConfirmBtn, this.dataCancelBtn);
280
+ },
281
+ immediate: true,
279
282
  },
280
- immediate: true,
281
283
  },
282
- },
283
- methods: {
284
- coalesce,
285
- getActionClass,
286
- onWatchBtn(confirm, cancel) {
287
- const { prefix, classPrefix, dataButtonLayout } = this;
288
- const rect = { buttonVariant: 'text' };
289
- const useBaseVariant = [confirm, cancel].some(item => isObject(item) && item.variant && item.variant !== 'text');
290
- const buttonMap = { confirm, cancel };
291
- const cls = [`${classPrefix}__button`];
292
- const externalCls = [];
284
+ methods: {
285
+ coalesce,
286
+ getActionClass,
287
+ onWatchBtn(confirm, cancel) {
288
+ const { prefix, classPrefix, dataButtonLayout } = this;
289
+ const rect = { buttonVariant: 'text' };
290
+ const useBaseVariant = [confirm, cancel].some(item => isObject(item) && item.variant && item.variant !== 'text');
291
+ const buttonMap = { confirm, cancel };
292
+ const cls = [`${classPrefix}__button`];
293
+ const externalCls = [];
293
294
 
294
- if (useBaseVariant) {
295
- rect.buttonVariant = 'base';
296
- cls.push(`${classPrefix}__button--${dataButtonLayout}`);
297
- } else {
298
- cls.push(`${classPrefix}__button--text`);
299
- externalCls.push(`${classPrefix}-button`);
300
- }
295
+ if (useBaseVariant) {
296
+ rect.buttonVariant = 'base';
297
+ cls.push(`${classPrefix}__button--${dataButtonLayout}`);
298
+ } else {
299
+ cls.push(`${classPrefix}__button--text`);
300
+ externalCls.push(`${classPrefix}-button`);
301
+ }
301
302
 
302
- const useVirtualHost = canUseVirtualHost();
303
+ const useVirtualHost = canUseVirtualHost();
303
304
 
304
- Object.keys(buttonMap).forEach((key) => {
305
- const btn = buttonMap[key];
306
- const rootClass = [...cls, `${classPrefix}__button--${key}`];
307
- const tClass = [...externalCls, this[toCamel(`${prefix}-class-${key}`)], ...rootClass].join(' ');
305
+ Object.keys(buttonMap).forEach((key) => {
306
+ const btn = buttonMap[key];
307
+ const rootClass = [...cls, `${classPrefix}__button--${key}`];
308
+ const tClass = [...externalCls, this[toCamel(`${prefix}-class-${key}`)], ...rootClass].join(' ');
308
309
 
309
- const base = {
310
- block: true,
311
- rootClass,
310
+ const base = {
311
+ block: true,
312
+ rootClass,
312
313
 
313
- tClass: useVirtualHost ? tClass : '',
314
- class: !useVirtualHost ? tClass : '',
314
+ tClass: useVirtualHost ? tClass : '',
315
+ class: !useVirtualHost ? tClass : '',
315
316
 
316
- variant: rect.buttonVariant,
317
- openType: '',
318
- };
317
+ variant: rect.buttonVariant,
318
+ openType: '',
319
+ };
319
320
 
320
- if (key === 'cancel' && rect.buttonVariant === 'base') {
321
- base.theme = 'light';
322
- }
321
+ if (key === 'cancel' && rect.buttonVariant === 'base') {
322
+ base.theme = 'light';
323
+ }
324
+ const parsedKey = `inner${toPascal(key)}`;
323
325
 
324
- if (typeof btn === 'string') {
325
- rect[`_${key}`] = { ...base, content: btn };
326
- } else if (btn && typeof btn === 'object') {
327
- rect[`_${key}`] = { ...base, ...btn };
328
- } else {
329
- rect[`_${key}`] = null;
330
- }
331
- });
326
+ if (typeof btn === 'string') {
327
+ rect[`${parsedKey}`] = { ...base, content: btn };
328
+ } else if (btn && typeof btn === 'object') {
329
+ rect[`${parsedKey}`] = { ...base, ...btn };
330
+ } else {
331
+ rect[`${parsedKey}`] = null;
332
+ }
333
+ });
332
334
 
333
- Object.keys(rect).forEach((key) => {
334
- this[key] = rect[key];
335
- });
336
- },
337
- onTplButtonTap(e, { type, extra }) {
338
- const evtType = e.type;
339
- const button = this[`_${type}`];
340
- const cbName = `bind${evtType}`;
335
+ Object.keys(rect).forEach((key) => {
336
+ this[key] = rect[key];
337
+ });
338
+ },
339
+ onTplButtonTap(e, { type, extra }) {
340
+ const evtType = e.type;
341
+ const button = this[`_${type}`];
342
+ const cbName = `bind${evtType}`;
341
343
 
342
- if (type === 'action') {
343
- this.onActionTap(extra);
344
- return;
345
- }
344
+ if (type === 'action') {
345
+ this.onActionTap(extra);
346
+ return;
347
+ }
346
348
 
347
- if (typeof button?.[cbName] === 'function') {
348
- const closeFlag = button[cbName](e);
349
- if (closeFlag) {
350
- this.close();
349
+ if (typeof button?.[cbName] === 'function') {
350
+ const closeFlag = button[cbName](e);
351
+ if (closeFlag) {
352
+ this.close();
353
+ }
351
354
  }
352
- }
353
355
 
354
- const hasOpenType = !!button?.openType;
355
- if (!hasOpenType && ['confirm', 'cancel'].includes(type)) {
356
- this[toCamel(`on-${type}`)]?.(type);
357
- }
356
+ const hasOpenType = !!button?.openType;
357
+ if (!hasOpenType && ['confirm', 'cancel'].includes(type)) {
358
+ this[toCamel(`on-${type}`)]?.(type);
359
+ }
358
360
 
359
- if (evtType !== 'click') {
360
- const success = e.detail?.errMsg?.indexOf('ok') > -1;
361
- this.$emit(success ? 'open-type-event' : 'open-type-error-event', e.detail);
362
- }
363
- },
361
+ if (evtType !== 'click') {
362
+ const success = e.detail?.errMsg?.indexOf('ok') > -1;
363
+ this.$emit(success ? 'open-type-event' : 'open-type-error-event', e.detail);
364
+ }
365
+ },
364
366
 
365
- onConfirm(e) {
366
- this.$emit('confirm', { e });
367
+ onConfirm(e) {
368
+ this.$emit('confirm', { e });
367
369
 
368
- if (this._onConfirm) {
369
- this._onConfirm({ trigger: 'confirm' });
370
- this.close();
371
- }
372
- },
370
+ if (this._onConfirm) {
371
+ this._onConfirm({ trigger: 'confirm' });
372
+ this.close();
373
+ }
374
+ },
373
375
 
374
- onCancel(e) {
375
- const trigger = { trigger: 'cancel' };
376
+ onCancel(e) {
377
+ const trigger = { trigger: 'cancel' };
376
378
 
377
- this.$emit('cancel', { e });
378
- this.$emit('close', trigger);
379
+ this.$emit('cancel', { e });
380
+ this.$emit('close', trigger);
379
381
 
380
- if (this._onCancel) {
381
- this._onCancel(trigger);
382
- this.close();
383
- }
384
- },
382
+ if (this._onCancel) {
383
+ this._onCancel(trigger);
384
+ this.close();
385
+ }
386
+ },
385
387
 
386
- onClose() {
387
- const trigger = { trigger: 'close-btn' };
388
+ onClose() {
389
+ const trigger = { trigger: 'close-btn' };
388
390
 
389
- this.$emit('close', trigger);
390
- this._onCancel?.(trigger);
391
- this.close();
392
- },
391
+ this.$emit('close', trigger);
392
+ this._onCancel?.(trigger);
393
+ this.close();
394
+ },
393
395
 
394
- close() {
395
- this.dataVisible = false;
396
- },
396
+ close() {
397
+ this.dataVisible = false;
398
+ },
397
399
 
398
- overlayClick(e) {
399
- this.$emit('overlay-click', { e });
400
+ overlayClick(e) {
401
+ this.$emit('overlay-click', { e });
400
402
 
401
- if (this.dataCloseOnOverlayClick) {
402
- const trigger = { trigger: 'overlay' };
403
+ if (this.dataCloseOnOverlayClick) {
404
+ const trigger = { trigger: 'overlay' };
403
405
 
404
- this.$emit('close', trigger);
405
- this._onCancel?.(trigger);
406
- this.close();
407
- }
408
- },
406
+ this.$emit('close', trigger);
407
+ this._onCancel?.(trigger);
408
+ this.close();
409
+ }
410
+ },
409
411
 
410
- onActionTap(index) {
411
- this.$emit('action', { index });
412
- if (this._onAction) {
413
- this._onAction({ index });
414
- this.close();
415
- }
412
+ onActionTap(index) {
413
+ this.$emit('action', { index });
414
+ if (this._onAction) {
415
+ this._onAction({ index });
416
+ this.close();
417
+ }
418
+ },
416
419
  },
417
- },
418
- });
420
+ }),
421
+ };
419
422
  </script>
420
423
  <style scoped src="./dialog.css"></style>
@@ -6,7 +6,7 @@
6
6
  tClass,
7
7
  classPrefix + '--' + layout + ' ' + classPrefix + '--' + align + ' ' + (dashed ? classPrefix + '--dashed' : '')
8
8
  ]"
9
- :style="tools._style([dividerStyle, customStyle])"
9
+ :style="'' + tools._style([dividerStyle, customStyle])"
10
10
  >
11
11
  <view
12
12
  :class="[
@@ -35,43 +35,45 @@ import tools from '../common/utils.wxs';
35
35
  const name = `${prefix}-divider`;
36
36
 
37
37
 
38
- export default uniComponent({
39
- name,
40
- options: {
41
- styleIsolation: 'shared',
42
- },
43
- externalClasses: [
44
- `${prefix}-class`,
45
- `${prefix}-class-content`,
46
- ],
47
- props: {
48
- ...props,
49
- },
50
- data() {
51
- return {
52
- prefix,
53
- classPrefix: name,
54
- tools,
55
- dividerStyle: '',
56
- };
57
- },
58
- watch: {
59
- lineColor: {
60
- handler() {
61
- this.setStyle();
38
+ export default {
39
+ ...uniComponent({
40
+ name,
41
+ options: {
42
+ styleIsolation: 'shared',
43
+ },
44
+ externalClasses: [
45
+ `${prefix}-class`,
46
+ `${prefix}-class-content`,
47
+ ],
48
+ props: {
49
+ ...props,
50
+ },
51
+ data() {
52
+ return {
53
+ prefix,
54
+ classPrefix: name,
55
+ tools,
56
+ dividerStyle: '',
57
+ };
58
+ },
59
+ watch: {
60
+ lineColor: {
61
+ handler() {
62
+ this.setStyle();
63
+ },
64
+ immediateU: true,
62
65
  },
63
- immediateU: true,
64
66
  },
65
- },
66
- methods: {
67
- setStyle() {
68
- const {
69
- lineColor,
70
- } = this;
71
- const dividerStyle = `${lineColor ? `border-color: ${lineColor};` : ''}`;
72
- this.dividerStyle = dividerStyle;
67
+ methods: {
68
+ setStyle() {
69
+ const {
70
+ lineColor,
71
+ } = this;
72
+ const dividerStyle = `${lineColor ? `border-color: ${lineColor};` : ''}`;
73
+ this.dividerStyle = dividerStyle;
74
+ },
73
75
  },
74
- },
75
- });
76
+ }),
77
+ };
76
78
  </script>
77
79
  <style scoped src="./divider.css"></style>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <view
3
3
  :class="[classPrefix, tClass]"
4
- :style="tools._style([customStyle])"
4
+ :style="'' + tools._style([customStyle])"
5
5
  @touchstart="onTouchStart"
6
6
  @touchmove.stop.prevent="onTouchMove"
7
7
  @touchend="onTouchEnd"
@@ -19,72 +19,74 @@ import tools from '../common/utils.wxs';
19
19
 
20
20
  const name = `${prefix}-draggable`;
21
21
 
22
- export default uniComponent({
23
- name,
24
- options: {
25
- styleIsolation: 'shared',
26
- },
27
- props: {
28
- ...props,
29
- },
30
- emits: [
31
- 'move',
32
- 'start',
33
- 'end',
34
- ],
35
- data() {
36
- return {
37
- prefix,
38
- classPrefix: name,
39
- tools,
40
- systemInfo: getWindowInfo(),
41
- };
42
- },
43
- mounted() {
44
- this.computedRect();
45
- },
46
- methods: {
47
- onTouchStart(e) {
48
- const { systemInfo } = this;
49
- if (this.direction === 'none') return;
50
- this.startX = e.touches[0].clientX + systemInfo.windowWidth - this.rect.right;
51
- this.startY = e.touches[0].clientY + systemInfo.windowHeight - this.rect.bottom;
52
- this.$emit('start', { startX: this.startX, startY: this.startY, rect: this.rect, e });
22
+ export default {
23
+ ...uniComponent({
24
+ name,
25
+ options: {
26
+ styleIsolation: 'shared',
53
27
  },
28
+ props: {
29
+ ...props,
30
+ },
31
+ emits: [
32
+ 'move',
33
+ 'start',
34
+ 'end',
35
+ ],
36
+ data() {
37
+ return {
38
+ prefix,
39
+ classPrefix: name,
40
+ tools,
41
+ systemInfo: getWindowInfo(),
42
+ };
43
+ },
44
+ mounted() {
45
+ this.computedRect();
46
+ },
47
+ methods: {
48
+ onTouchStart(e) {
49
+ const { systemInfo } = this;
50
+ if (this.direction === 'none') return;
51
+ this.startX = e.touches[0].clientX + systemInfo.windowWidth - this.rect.right;
52
+ this.startY = e.touches[0].clientY + systemInfo.windowHeight - this.rect.bottom;
53
+ this.$emit('start', { startX: this.startX, startY: this.startY, rect: this.rect, e });
54
+ },
54
55
 
55
- onTouchMove(e) {
56
- const { systemInfo } = this;
56
+ onTouchMove(e) {
57
+ const { systemInfo } = this;
57
58
 
58
- if (this.direction === 'none') return;
59
- let x = this.startX - e.touches[0].clientX; // x轴移动偏移量
60
- let y = this.startY - e.touches[0].clientY; // y轴移动偏移量
59
+ if (this.direction === 'none') return;
60
+ let x = this.startX - e.touches[0].clientX; // x轴移动偏移量
61
+ let y = this.startY - e.touches[0].clientY; // y轴移动偏移量
61
62
 
62
63
 
63
- if (this.direction === 'vertical') {
64
- x = systemInfo.windowWidth - this.rect.right;
65
- }
66
- if (this.direction === 'horizontal') {
67
- y = systemInfo.windowHeight - this.rect.bottom;
68
- }
64
+ if (this.direction === 'vertical') {
65
+ x = systemInfo.windowWidth - this.rect.right;
66
+ }
67
+ if (this.direction === 'horizontal') {
68
+ y = systemInfo.windowHeight - this.rect.bottom;
69
+ }
69
70
 
70
- this.$emit('move', { x, y, rect: this.rect, e });
71
- },
71
+ this.$emit('move', { x, y, rect: this.rect, e });
72
+ },
72
73
 
73
- async onTouchEnd(e) {
74
- if (this.direction === 'none') return;
75
- await this.computedRect();
76
- this.$emit('end', { rect: this.rect, e });
77
- },
74
+ async onTouchEnd(e) {
75
+ if (this.direction === 'none') return;
76
+ await this.computedRect();
77
+ this.$emit('end', { rect: this.rect, e });
78
+ },
78
79
 
79
- async computedRect() {
80
- this.rect = { right: 0, bottom: 0, width: 0, height: 0 };
81
- try {
82
- this.rect = await getRect(this, `.${this.classPrefix}`);
83
- } catch (e) {
80
+ async computedRect() {
81
+ this.rect = { right: 0, bottom: 0, width: 0, height: 0 };
82
+ try {
83
+ this.rect = await getRect(this, `.${this.classPrefix}`);
84
+ } catch (e) {
84
85
  // ignore reject
85
- }
86
+ }
87
+ },
86
88
  },
87
- },
88
- });
89
+ }),
90
+ };
89
91
  </script>
90
92
  <style scoped src="./draggable.css"></style>