@tdesign/uniapp 0.7.3 → 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 (197) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  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/checkbox.vue +127 -127
  26. package/dist/checkbox/props.ts +6 -6
  27. package/dist/checkbox/type.ts +3 -3
  28. package/dist/checkbox-group/checkbox-group.vue +175 -173
  29. package/dist/checkbox-group/props.ts +6 -6
  30. package/dist/checkbox-group/type.ts +4 -4
  31. package/dist/col/col.vue +26 -24
  32. package/dist/collapse/collapse.vue +83 -81
  33. package/dist/collapse-panel/collapse-panel.vue +121 -119
  34. package/dist/collapse-panel/props.ts +4 -4
  35. package/dist/collapse-panel/type.ts +2 -2
  36. package/dist/color-picker/README.md +1 -1
  37. package/dist/color-picker/color-picker.vue +324 -322
  38. package/dist/color-picker/props.ts +2 -2
  39. package/dist/color-picker/template.vue +14 -10
  40. package/dist/common/common.ts +1 -0
  41. package/dist/common/style/theme/index.css +5 -5
  42. package/dist/common/utils.js +7 -2
  43. package/dist/common/validator.js +172 -0
  44. package/dist/config-provider/README.en-US.md +184 -0
  45. package/dist/config-provider/README.md +234 -0
  46. package/dist/config-provider/config-provider.vue +105 -0
  47. package/dist/config-provider/config-store.js +70 -0
  48. package/dist/config-provider/props.ts +16 -0
  49. package/dist/config-provider/reactive-state.js +39 -0
  50. package/dist/config-provider/type.ts +401 -0
  51. package/dist/config-provider/use-config.js +29 -0
  52. package/dist/config-provider/utils.js +29 -0
  53. package/dist/count-down/count-down.vue +98 -97
  54. package/dist/date-time-picker/date-time-picker.vue +410 -395
  55. package/dist/demo/demo.vue +1 -0
  56. package/dist/dialog/dialog.vue +175 -173
  57. package/dist/divider/divider.vue +38 -36
  58. package/dist/draggable/draggable.vue +60 -58
  59. package/dist/drawer/README.md +1 -1
  60. package/dist/drawer/drawer.vue +48 -46
  61. package/dist/dropdown-item/dropdown-item.vue +209 -207
  62. package/dist/dropdown-item/props.ts +4 -4
  63. package/dist/dropdown-item/type.ts +3 -3
  64. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  65. package/dist/empty/empty.vue +43 -42
  66. package/dist/fab/fab.vue +88 -86
  67. package/dist/footer/footer.vue +36 -34
  68. package/dist/form/README.en-US.md +17 -24
  69. package/dist/form/README.md +18 -25
  70. package/dist/form/form.css +1 -166
  71. package/dist/form/form.vue +251 -236
  72. package/dist/form/props.ts +2 -21
  73. package/dist/form/type.ts +7 -70
  74. package/dist/form-item/README.en-US.md +4 -5
  75. package/dist/form-item/README.md +4 -5
  76. package/dist/form-item/form-item.css +69 -96
  77. package/dist/form-item/form-item.vue +315 -336
  78. package/dist/form-item/form-model.ts +125 -173
  79. package/dist/form-item/props.ts +4 -17
  80. package/dist/form-item/type.ts +43 -1
  81. package/dist/grid/grid.vue +53 -51
  82. package/dist/grid-item/grid-item.vue +121 -119
  83. package/dist/guide/README.md +1 -1
  84. package/dist/guide/guide.vue +281 -277
  85. package/dist/icon/README.md +2 -4
  86. package/dist/icon/icon.vue +78 -76
  87. package/dist/image/README.md +1 -1
  88. package/dist/image/image.vue +103 -101
  89. package/dist/image-viewer/image-viewer.vue +160 -158
  90. package/dist/image-viewer/props.ts +2 -2
  91. package/dist/image-viewer/type.ts +1 -1
  92. package/dist/index.js +3 -0
  93. package/dist/indexes/indexes.vue +264 -267
  94. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  95. package/dist/input/input.vue +192 -192
  96. package/dist/input/props.ts +6 -6
  97. package/dist/input/type.ts +3 -3
  98. package/dist/link/link.vue +73 -71
  99. package/dist/loading/loading.vue +59 -59
  100. package/dist/locale/ar_KW.ts +157 -0
  101. package/dist/locale/en_US.ts +146 -0
  102. package/dist/locale/it_IT.ts +145 -0
  103. package/dist/locale/ja_JP.ts +132 -0
  104. package/dist/locale/ko_KR.ts +132 -0
  105. package/dist/locale/ru_RU.ts +157 -0
  106. package/dist/locale/zh_CN.ts +133 -0
  107. package/dist/locale/zh_TW.ts +132 -0
  108. package/dist/message/message.vue +181 -173
  109. package/dist/message/props.ts +2 -2
  110. package/dist/message/type.ts +1 -1
  111. package/dist/message-item/message-item.vue +192 -184
  112. package/dist/mixins/using-config.js +39 -0
  113. package/dist/navbar/navbar.vue +201 -199
  114. package/dist/notice-bar/notice-bar.vue +175 -171
  115. package/dist/notice-bar/props.ts +2 -2
  116. package/dist/notice-bar/type.ts +1 -1
  117. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  118. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  119. package/dist/overlay/overlay.vue +50 -48
  120. package/dist/picker/picker.vue +168 -161
  121. package/dist/picker-item/picker-item.vue +269 -269
  122. package/dist/popover/README.md +1 -1
  123. package/dist/popover/popover.vue +262 -261
  124. package/dist/popover/props.ts +4 -4
  125. package/dist/popover/type.ts +2 -2
  126. package/dist/popup/popup.vue +46 -45
  127. package/dist/progress/README.md +1 -1
  128. package/dist/progress/progress.vue +76 -76
  129. package/dist/pull-down-refresh/props.ts +2 -2
  130. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  131. package/dist/pull-down-refresh/type.ts +1 -1
  132. package/dist/qrcode/README.md +1 -1
  133. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  134. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  135. package/dist/qrcode/qrcode.vue +93 -87
  136. package/dist/radio/props.ts +6 -6
  137. package/dist/radio/radio.vue +118 -120
  138. package/dist/radio/type.ts +3 -3
  139. package/dist/radio-group/props.ts +4 -4
  140. package/dist/radio-group/radio-group.vue +136 -134
  141. package/dist/radio-group/type.ts +4 -4
  142. package/dist/rate/computed.js +2 -2
  143. package/dist/rate/props.ts +4 -4
  144. package/dist/rate/rate.vue +155 -154
  145. package/dist/rate/type.ts +2 -2
  146. package/dist/result/result.vue +41 -39
  147. package/dist/row/row.vue +38 -36
  148. package/dist/scroll-view/scroll-view.vue +24 -22
  149. package/dist/search/props.ts +2 -2
  150. package/dist/search/search.vue +127 -125
  151. package/dist/search/type.ts +1 -1
  152. package/dist/side-bar/side-bar.vue +57 -55
  153. package/dist/side-bar-item/side-bar-item.vue +86 -86
  154. package/dist/skeleton/skeleton.vue +126 -124
  155. package/dist/slider/README.md +1 -1
  156. package/dist/slider/props.ts +2 -2
  157. package/dist/slider/slider.vue +457 -457
  158. package/dist/slider/type.ts +1 -1
  159. package/dist/step-item/step-item.vue +77 -75
  160. package/dist/stepper/props.ts +2 -2
  161. package/dist/stepper/stepper.vue +168 -149
  162. package/dist/stepper/type.ts +1 -1
  163. package/dist/steps/props.ts +2 -2
  164. package/dist/steps/steps.vue +83 -81
  165. package/dist/steps/type.ts +1 -1
  166. package/dist/sticky/sticky.vue +104 -102
  167. package/dist/swipe-cell/swipe-cell.vue +91 -89
  168. package/dist/swiper/README.md +1 -1
  169. package/dist/swiper/swiper.vue +91 -89
  170. package/dist/swiper-nav/swiper-nav.vue +38 -36
  171. package/dist/switch/props.ts +2 -2
  172. package/dist/switch/switch.vue +62 -62
  173. package/dist/switch/type.ts +1 -1
  174. package/dist/tab-bar/tab-bar.vue +88 -86
  175. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  176. package/dist/tab-panel/tab-panel.vue +66 -64
  177. package/dist/tabs/tabs.vue +294 -287
  178. package/dist/tag/tag.vue +79 -77
  179. package/dist/textarea/props.ts +6 -6
  180. package/dist/textarea/textarea.vue +127 -126
  181. package/dist/textarea/type.ts +3 -3
  182. package/dist/toast/toast.vue +107 -106
  183. package/dist/transition/transition.vue +30 -28
  184. package/dist/tree-select/tree-select.vue +151 -151
  185. package/dist/types/config-provider.d.ts +7 -0
  186. package/dist/types/index.d.ts +2 -0
  187. package/dist/types/popover.d.ts +7 -0
  188. package/dist/upload/README.en-US.md +13 -14
  189. package/dist/upload/README.md +11 -12
  190. package/dist/upload/props.ts +2 -4
  191. package/dist/upload/type.ts +12 -11
  192. package/dist/upload/upload.css +1 -1
  193. package/dist/upload/upload.vue +672 -512
  194. package/dist/watermark/watermark.vue +151 -149
  195. package/global.d.ts +2 -0
  196. package/package.json +15 -3
  197. package/dist/form/form-item-props.ts +0 -56
@@ -1,23 +1,15 @@
1
1
  <template>
2
2
  <view
3
3
  id="t-bar"
4
- :style="tools._style([customStyle])"
4
+ :style="'' + tools._style([customStyle])"
5
5
  :class="classPrefix + ' ' + tClass"
6
- @touchmove.stop.prevent="parseEventDynamicCode($event, activeIdx === -1 ? '' : 'noop')"
6
+ @touchmove.stop.prevent="(e) => parseEventDynamicCode(e, activeIdx === -1 ? '' : 'noop')"
7
7
  >
8
8
  <view
9
9
  v-for="(item, index) in menus"
10
10
  :key="index"
11
11
  :data-index="index"
12
- :class="
13
- tools.cls(classPrefix + '__item', [
14
- ['active', activeIdx == index],
15
- ['disabled', item.disabled],
16
- [index, true]
17
- ]) +
18
- ' ' +
19
- tClassItem
20
- "
12
+ :class="[classPrefix + '__item', activeIdx == index ? classPrefix + '__item' + '--active' : '', item.disabled ? classPrefix + '__item' + '--disabled' : '', true ? classPrefix + '__item' + '--index' : '', tClassItem]"
21
13
  :aria-disabled="item.disabled"
22
14
  aria-role="button"
23
15
  :aria-expanded="activeIdx === index"
@@ -35,7 +27,7 @@
35
27
  <t-icon
36
28
  :custom-style="iArrowIcon.style || ''"
37
29
  :t-class="getIconTClass(index)"
38
- :class="getIconClass(index)"
30
+ :class="''+getIconClass(index)"
39
31
  :prefix="iArrowIcon.prefix"
40
32
  :name="iArrowIcon.name"
41
33
  :size="iArrowIcon.size"
@@ -65,109 +57,111 @@ import { canUseVirtualHost } from '../common/version';
65
57
  const name = `${prefix}-dropdown-menu`;
66
58
 
67
59
 
68
- export default uniComponent({
69
- name,
70
- options: {
71
- styleIsolation: 'shared',
72
- },
73
- externalClasses: [
74
- `${prefix}-class`,
75
- `${prefix}-class-item`,
76
- `${prefix}-class-label`,
77
- `${prefix}-class-icon`,
78
- ],
79
- mixins: [ParentMixin(RELATION_MAP.DropdownItem)],
60
+ export default {
80
61
  components: {
81
62
  TIcon,
82
63
  },
83
- props: {
84
- ...props,
85
- },
86
- emits: ['close', 'open'],
87
- data() {
88
- return {
89
- prefix,
90
- classPrefix: name,
91
- menus: null,
92
- activeIdx: -1,
93
- bottom: 0,
94
- iArrowIcon: {
95
- name: props.arrowIcon.default,
96
- },
97
- tools,
98
- };
99
- },
100
- watch: {
101
- arrowIcon: {
102
- handler(v) {
103
- this.iArrowIcon = calcIcon(v);
104
- },
105
- immediate: true,
64
+ ...uniComponent({
65
+ name,
66
+ options: {
67
+ styleIsolation: 'shared',
106
68
  },
107
-
108
- activeIdx(v) {
109
- this.$emit(v === -1 ? 'close' : 'open');
69
+ externalClasses: [
70
+ `${prefix}-class`,
71
+ `${prefix}-class-item`,
72
+ `${prefix}-class-label`,
73
+ `${prefix}-class-icon`,
74
+ ],
75
+ mixins: [ParentMixin(RELATION_MAP.DropdownItem)],
76
+ props: {
77
+ ...props,
110
78
  },
111
- },
112
- mounted() {
113
- this.getAllItems();
114
- },
115
- methods: {
116
- getIconTClass(index) {
117
- return canUseVirtualHost() ? this.getIconRealClass(index) : '';
79
+ emits: ['close', 'open'],
80
+ data() {
81
+ return {
82
+ prefix,
83
+ classPrefix: name,
84
+ menus: null,
85
+ activeIdx: -1,
86
+ bottom: 0,
87
+ iArrowIcon: {
88
+ name: props.arrowIcon.default,
89
+ },
90
+ tools,
91
+ };
118
92
  },
119
- getIconClass(index) {
120
- return !canUseVirtualHost() ? this.getIconRealClass(index) : '';
93
+ watch: {
94
+ arrowIcon: {
95
+ handler(v) {
96
+ this.iArrowIcon = calcIcon(v);
97
+ },
98
+ immediate: true,
99
+ },
100
+
101
+ activeIdx(v) {
102
+ this.$emit(v === -1 ? 'close' : 'open');
103
+ },
121
104
  },
122
- getIconRealClass(index) {
123
- const { classPrefix, activeIdx, tClassIcon } = this;
124
- return `${classPrefix}__icon ${classPrefix}__icon--${activeIdx == index ? 'active ' : ' '}${tClassIcon}`;
105
+ mounted() {
106
+ this.getAllItems();
125
107
  },
126
- parseEventDynamicCode,
127
- toggle(index) {
128
- const { activeIdx, duration } = this;
129
- const prevItem = this.children[activeIdx];
130
- const currItem = this.children[index];
108
+ methods: {
109
+ getIconTClass(index) {
110
+ return canUseVirtualHost() ? this.getIconRealClass(index) : '';
111
+ },
112
+ getIconClass(index) {
113
+ return !canUseVirtualHost() ? this.getIconRealClass(index) : '';
114
+ },
115
+ getIconRealClass(index) {
116
+ const { classPrefix, activeIdx, tClassIcon } = this;
117
+ return `${classPrefix}__icon ${classPrefix}__icon--${activeIdx == index ? 'active ' : ' '}${tClassIcon}`;
118
+ },
119
+ parseEventDynamicCode,
120
+ toggle(index) {
121
+ const { activeIdx, duration } = this;
122
+ const prevItem = this.children[activeIdx];
123
+ const currItem = this.children[index];
131
124
 
132
- if (currItem?.disabled) return;
125
+ if (currItem?.disabled) return;
133
126
 
134
- if (activeIdx !== -1) {
135
- prevItem.$emit('close');
136
- prevItem.show = false;
127
+ if (activeIdx !== -1) {
128
+ prevItem.$emit('close');
129
+ prevItem.show = false;
137
130
 
138
- setTimeout(() => {
139
- prevItem.$emit('closed');
140
- }, duration);
141
- }
131
+ setTimeout(() => {
132
+ prevItem.$emit('closed');
133
+ }, duration);
134
+ }
142
135
 
143
- if (index == null || activeIdx === index) {
144
- this.activeIdx = -1;
145
- } else {
146
- currItem.$emit('open');
147
- this.activeIdx = index;
136
+ if (index == null || activeIdx === index) {
137
+ this.activeIdx = -1;
138
+ } else {
139
+ currItem.$emit('open');
140
+ this.activeIdx = index;
148
141
 
149
- currItem.show = true;
142
+ currItem.show = true;
150
143
 
151
- setTimeout(() => {
152
- currItem.$emit('opened');
153
- }, duration);
154
- }
155
- },
156
- getAllItems() {
157
- const menus = this.children?.map(data => ({
158
- label: data.label || data.computedLabel,
159
- disabled: data.disabled,
160
- }));
144
+ setTimeout(() => {
145
+ currItem.$emit('opened');
146
+ }, duration);
147
+ }
148
+ },
149
+ getAllItems() {
150
+ const menus = this.children?.map(data => ({
151
+ label: data.label || data.computedLabel,
152
+ disabled: data.disabled,
153
+ }));
161
154
 
162
- this.menus = menus;
163
- },
164
- handleToggle(index) {
165
- this.toggle(index);
166
- },
155
+ this.menus = menus;
156
+ },
157
+ handleToggle(index) {
158
+ this.toggle(index);
159
+ },
167
160
 
168
- noop() {},
169
- },
170
- });
161
+ noop() {},
162
+ },
163
+ }),
164
+ };
171
165
  </script>
172
166
  <style scoped src="./dropdown-menu.css"></style>
173
167
  <style scoped>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <view
3
- :style="tools._style([customStyle])"
3
+ :style="'' + tools._style([customStyle])"
4
4
  :class="[
5
5
  tClass,
6
6
  classPrefix
@@ -73,37 +73,37 @@ import { canUseVirtualHost } from '../common/version';
73
73
  const name = `${prefix}-empty`;
74
74
 
75
75
 
76
- export default uniComponent({
77
- name,
78
- options: {
79
- styleIsolation: 'shared',
80
- },
81
- externalClasses: [
82
- `${prefix}-class`,
83
- `${prefix}-class-description`,
84
- `${prefix}-class-image`,
85
- `${prefix}-class-actions`,
86
- ],
76
+ export default {
87
77
  components: {
88
78
  TIcon,
89
79
  TImage,
90
80
  },
91
- props: {
92
- ...props,
93
- },
94
- data() {
95
- return {
96
- prefix,
97
- classPrefix: name,
81
+ ...uniComponent({
82
+ name,
83
+ options: {
84
+ styleIsolation: 'shared',
85
+ },
86
+ externalClasses: [
87
+ `${prefix}-class`,
88
+ `${prefix}-class-description`,
89
+ `${prefix}-class-image`,
90
+ `${prefix}-class-actions`,
91
+ ],
92
+ props: {
93
+ ...props,
94
+ },
95
+ data() {
96
+ return {
97
+ prefix,
98
+ classPrefix: name,
98
99
 
99
- iconName: '',
100
- iconData: {},
100
+ iconName: '',
101
+ iconData: {},
101
102
 
102
- tools,
103
- };
104
- },
105
- computed: {
106
- iconTClass() {
103
+ tools,
104
+ };
105
+ },
106
+ computed: { iconTClass() {
107
107
  return canUseVirtualHost() ? this.iconRealClass : '';
108
108
  },
109
109
  iconClass() {
@@ -113,26 +113,27 @@ export default uniComponent({
113
113
  const { classPrefix, iconData } = this;
114
114
  return `${classPrefix}__icon ${classPrefix}__icon--${iconData.activeIdx == iconData.index ? 'active ' : ' '}`;
115
115
  },
116
- },
117
- watch: {
118
- icon: {
119
- handler(t) {
120
- const obj = setIcon('icon', t, '');
116
+ },
117
+ watch: {
118
+ icon: {
119
+ handler(t) {
120
+ const obj = setIcon('icon', t, '');
121
121
 
122
- Object.keys(obj).forEach((key) => {
123
- this[key] = obj[key];
124
- });
122
+ Object.keys(obj).forEach((key) => {
123
+ this[key] = obj[key];
124
+ });
125
+ },
126
+ immediate: true,
125
127
  },
126
- immediate: true,
127
- },
128
128
 
129
- },
130
- mounted() {
129
+ },
130
+ mounted() {
131
131
 
132
- },
133
- methods: {
132
+ },
133
+ methods: {
134
134
 
135
- },
136
- });
135
+ },
136
+ }),
137
+ };
137
138
  </script>
138
139
  <style scoped src="./empty.css"></style>
package/dist/fab/fab.vue CHANGED
@@ -18,7 +18,7 @@
18
18
  :t-id="buttonData.tId"
19
19
  :custom-style="buttonData.style || ''"
20
20
  :block="buttonData.block"
21
- :class="getActionClass(classPrefix, buttonData.buttonLayout) || ''"
21
+ :class="'' + getActionClass(classPrefix, buttonData.buttonLayout) || ''"
22
22
  :t-class="buttonData.tClass"
23
23
  :disabled="buttonData.disabled"
24
24
  :data-type="'action'"
@@ -63,7 +63,7 @@
63
63
  <view
64
64
  v-else
65
65
  :class="[classPrefix, tClass]"
66
- :style="tools._style(['right: 16px; bottom: 32px;', customStyle])"
66
+ :style="'' + tools._style(['right: 16px; bottom: 32px;', customStyle])"
67
67
  >
68
68
  <slot v-if="!buttonData || !buttonData.content && !buttonData.icon" />
69
69
  <t-button
@@ -71,7 +71,7 @@
71
71
  :t-id="buttonData.tId"
72
72
  :custom-style="buttonData.style || ''"
73
73
  :block="buttonData.block"
74
- :class="getActionClass(classPrefix, buttonData.buttonLayout) || ''"
74
+ :class="'' + getActionClass(classPrefix, buttonData.buttonLayout) || ''"
75
75
  :t-class="buttonData.tClass"
76
76
  :disabled="buttonData.disabled"
77
77
  :data-type="'action'"
@@ -132,105 +132,107 @@ const baseButtonProps = {
132
132
  tClass: `${prefix}-fab__button`,
133
133
  };
134
134
 
135
- export default uniComponent({
136
- name,
137
- options: {
138
- styleIsolation: 'shared',
139
- },
140
- externalClasses: [`${prefix}-class`, `${prefix}-class-button`],
141
- mixins: [useCustomNavbar],
135
+ export default {
142
136
  components: {
143
137
  TButton,
144
138
  TDraggable,
145
139
  },
146
- props: {
147
- ...props,
148
- },
149
- emits: [
150
- 'move',
151
- 'start',
152
- 'end',
153
- ],
154
- data() {
155
- return {
156
- prefix,
157
- classPrefix: name,
158
- moveStyle: null,
159
- tools,
160
- systemInfo: getWindowInfo(),
161
- };
162
- },
163
- computed: {
164
- buttonData() {
140
+ ...uniComponent({
141
+ name,
142
+ options: {
143
+ styleIsolation: 'shared',
144
+ },
145
+ externalClasses: [`${prefix}-class`, `${prefix}-class-button`],
146
+ mixins: [useCustomNavbar],
147
+ props: {
148
+ ...props,
149
+ },
150
+ emits: [
151
+ 'move',
152
+ 'start',
153
+ 'end',
154
+ ],
155
+ data() {
165
156
  return {
166
- ...baseButtonProps,
167
- shape: this.text ? 'round' : 'circle',
168
- ...this.buttonProps,
169
- icon: this.icon,
170
- content: this.text,
171
- ariaLabel: this.ariaLabel,
157
+ prefix,
158
+ classPrefix: name,
159
+ moveStyle: null,
160
+ tools,
161
+ systemInfo: getWindowInfo(),
172
162
  };
173
163
  },
174
- },
175
- watch: {
176
- icon: 'computedSize',
177
- ariaLabel: 'computedSize',
178
- yBounds: 'computedSize',
179
- buttonProps: 'computedSize',
180
- text: {
181
- handler(val) {
182
- this.content = val;
183
- this.computedSize();
164
+ computed: {
165
+ buttonData() {
166
+ return {
167
+ ...baseButtonProps,
168
+ shape: this.text ? 'round' : 'circle',
169
+ ...this.buttonProps,
170
+ icon: this.icon,
171
+ content: this.text,
172
+ ariaLabel: this.ariaLabel,
173
+ };
184
174
  },
185
- immediate: true,
186
- },
187
- },
188
- methods: {
189
- onTplButtonTap(e) {
190
- this.$emit('click', { e });
191
175
  },
192
- onStart(t) {
193
- this.$emit('drag-start', t);
176
+ watch: {
177
+ icon: 'computedSize',
178
+ ariaLabel: 'computedSize',
179
+ yBounds: 'computedSize',
180
+ buttonProps: 'computedSize',
181
+ text: {
182
+ handler(val) {
183
+ this.content = val;
184
+ this.computedSize();
185
+ },
186
+ immediate: true,
187
+ },
194
188
  },
195
- onMove(e) {
196
- const {
197
- yBounds = [],
198
- distanceTop,
199
- systemInfo,
200
- } = this;
189
+ methods: {
190
+ onTplButtonTap(e) {
191
+ this.$emit('click', { e });
192
+ },
193
+ onStart(t) {
194
+ this.$emit('drag-start', t);
195
+ },
196
+ onMove(e) {
197
+ const {
198
+ yBounds = [],
199
+ distanceTop,
200
+ systemInfo,
201
+ } = this;
201
202
 
202
- const { x, y, rect } = e;
203
- const maxX = systemInfo.windowWidth - rect.width; // 父容器宽度 - 拖动元素宽度
204
- const maxY = systemInfo.windowHeight - Math.max(distanceTop, unitConvert(yBounds[0])) - rect.height; // 父容器高度 - 拖动元素高度
205
- const right = Math.max(0, Math.min(x, maxX));
206
- const bottom = Math.max(0, unitConvert(yBounds[1]), Math.min(y, maxY));
203
+ const { x, y, rect } = e;
204
+ const maxX = systemInfo.windowWidth - rect.width; // 父容器宽度 - 拖动元素宽度
205
+ const maxY = systemInfo.windowHeight - Math.max(distanceTop, unitConvert(yBounds[0])) - rect.height; // 父容器高度 - 拖动元素高度
206
+ const right = Math.max(0, Math.min(x, maxX));
207
+ const bottom = Math.max(0, unitConvert(yBounds[1]), Math.min(y, maxY));
207
208
 
208
209
 
209
- this.moveStyle = `right: ${right}px; bottom: ${bottom}px;`;
210
- },
211
- onEnd(t) {
212
- this.$emit('drag-end', t);
213
- },
214
- computedSize() {
215
- if (!this.draggable) return;
210
+ this.moveStyle = `right: ${right}px; bottom: ${bottom}px;`;
211
+ },
212
+ onEnd(t) {
213
+ this.$emit('drag-end', t);
214
+ },
215
+ computedSize() {
216
+ if (!this.draggable) return;
216
217
 
217
- setTimeout(() => {
218
- const insChild = this.$refs.draggableTemplate?.$refs?.draggable;
218
+ setTimeout(() => {
219
+ const insChild = this.$refs.draggableTemplate?.$refs?.draggable;
219
220
 
220
221
 
221
- // button 更新时,重新获取其尺寸
222
- if (this?.yBounds?.[1]) {
223
- this.moveStyle = `bottom: ${unitConvert(this.yBounds[1])}px`;
224
- insChild?.computedRect();
225
- } else {
226
- insChild?.computedRect();
227
- }
228
- });
229
- },
230
- getActionClass(a, b) {
231
- return `${a}-${b}`;
222
+ // button 更新时,重新获取其尺寸
223
+ if (this?.yBounds?.[1]) {
224
+ this.moveStyle = `bottom: ${unitConvert(this.yBounds[1])}px`;
225
+ insChild?.computedRect();
226
+ } else {
227
+ insChild?.computedRect();
228
+ }
229
+ });
230
+ },
231
+ getActionClass(a, b) {
232
+ return `${a}-${b}`;
233
+ },
232
234
  },
233
- },
234
- });
235
+ }),
236
+ };
235
237
  </script>
236
238
  <style scoped src="./fab.css"></style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <view
3
- :style="tools._style([customStyle])"
3
+ :style="'' + tools._style([customStyle])"
4
4
  :class="[
5
5
  classPrefix,
6
6
  tClass
@@ -73,43 +73,45 @@ import tools from '../common/utils.wxs';
73
73
  const name = `${prefix}-footer`;
74
74
 
75
75
 
76
- export default uniComponent({
77
- name,
78
- options: {
79
- styleIsolation: 'shared',
80
- },
81
- externalClasses: [
82
- `${prefix}-class`,
83
- ],
76
+ export default {
84
77
  components: {
85
78
  TImage,
86
79
  },
87
- props: {
88
- ...props,
89
- },
90
- data() {
91
- return {
92
- prefix,
93
- classPrefix: name,
94
- tools,
95
- };
96
- },
97
- computed: {
98
- iconCustomStyle() {
99
- return tools._style({
100
- width: 'var(--td-footer-logo-icon-width, 24px)',
101
- height: 'var(--td-footer-logo-icon-height, 24px)',
102
- marginRight: 'var(--td-footer-logo-icon-margin-right, var(--td-spacer, 8px))',
103
- });
80
+ ...uniComponent({
81
+ name,
82
+ options: {
83
+ styleIsolation: 'shared',
104
84
  },
105
- titleUrlCustomStyle() {
106
- return tools._style({
107
- width: 'var(--td-footer-logo-title-url-width, 128px)',
108
- });
85
+ externalClasses: [
86
+ `${prefix}-class`,
87
+ ],
88
+ props: {
89
+ ...props,
109
90
  },
110
- },
111
- methods: {
112
- },
113
- });
91
+ data() {
92
+ return {
93
+ prefix,
94
+ classPrefix: name,
95
+ tools,
96
+ };
97
+ },
98
+ computed: {
99
+ iconCustomStyle() {
100
+ return tools._style({
101
+ width: 'var(--td-footer-logo-icon-width, 24px)',
102
+ height: 'var(--td-footer-logo-icon-height, 24px)',
103
+ marginRight: 'var(--td-footer-logo-icon-margin-right, var(--td-spacer, 8px))',
104
+ });
105
+ },
106
+ titleUrlCustomStyle() {
107
+ return tools._style({
108
+ width: 'var(--td-footer-logo-title-url-width, 128px)',
109
+ });
110
+ },
111
+ },
112
+ methods: {
113
+ },
114
+ }),
115
+ };
114
116
  </script>
115
117
  <style scoped src="./footer.css"></style>