@vtj/materials 0.10.6 → 0.10.7

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 (77) hide show
  1. package/dist/assets/antdv/index.umd.js +2 -2
  2. package/dist/assets/charts/index.umd.js +2 -2
  3. package/dist/assets/element/index.umd.js +2 -2
  4. package/dist/assets/ui/index.umd.js +2 -2
  5. package/dist/assets/uni-h5/index.umd.js +3 -3
  6. package/dist/assets/uni-ui/index.umd.js +3 -3
  7. package/dist/assets/vant/index.umd.js +2 -2
  8. package/dist/deps/@vtj/charts/index.umd.js +2 -2
  9. package/dist/deps/@vtj/icons/index.umd.js +2 -2
  10. package/dist/deps/@vtj/ui/index.umd.js +3 -3
  11. package/dist/deps/@vtj/utils/index.umd.js +20 -20
  12. package/dist/deps/@vueuse/core/index.iife.min.js +1 -1
  13. package/dist/deps/uni-ui/index.umd.js +1 -1
  14. package/dist/deps/uni-ui/style.css +1 -1
  15. package/package.json +7 -7
  16. package/src/uni-h5/components/input.ts +2 -2
  17. package/src/uni-h5/components/scrollView.ts +3 -3
  18. package/src/uni-h5/components/video.ts +1 -1
  19. package/src/uni-ui/components/badge.ts +1 -5
  20. package/src/uni-ui/components/breadcrumb.ts +1 -20
  21. package/src/uni-ui/components/collapse.ts +22 -23
  22. package/src/uni-ui/components/grid.ts +0 -9
  23. package/src/uni-ui/components/group.ts +1 -10
  24. package/src/uni-ui/components/index.ts +4 -4
  25. package/src/uni-ui/components/popup.ts +10 -2
  26. package/src/uni-ui/components/swiperDot.ts +21 -7
  27. package/src/uni-ui/components/table.ts +9 -3
  28. package/src/uni-ui/components/transition.ts +10 -1
  29. package/src/uni-ui/index.ts +19 -44
  30. package/src/uni-ui/lib/uni-collapse/uni-collapse.vue +153 -0
  31. package/src/uni-ui/lib/uni-collapse-item/uni-collapse-item.vue +425 -0
  32. package/src/uni-ui/lib/uni-data-picker/keypress.js +45 -0
  33. package/src/uni-ui/lib/uni-data-picker/uni-data-picker.vue +604 -0
  34. package/src/uni-ui/lib/uni-data-pickerview/uni-data-picker.js +622 -0
  35. package/src/uni-ui/lib/uni-data-pickerview/uni-data-pickerview.css +76 -0
  36. package/src/uni-ui/lib/uni-data-pickerview/uni-data-pickerview.vue +335 -0
  37. package/src/uni-ui/lib/uni-datetime-picker/calendar-item.vue +181 -170
  38. package/src/uni-ui/lib/uni-datetime-picker/calendar.vue +977 -939
  39. package/src/uni-ui/lib/uni-datetime-picker/time-picker.vue +1024 -932
  40. package/src/uni-ui/lib/uni-datetime-picker/uni-datetime-picker.vue +15 -17
  41. package/src/uni-ui/lib/uni-datetime-picker/util.js +419 -392
  42. package/src/uni-ui/lib/uni-fav/i18n/en.json +4 -0
  43. package/src/uni-ui/lib/uni-fav/i18n/index.js +8 -0
  44. package/src/uni-ui/lib/uni-fav/i18n/zh-Hans.json +4 -0
  45. package/src/uni-ui/lib/uni-fav/i18n/zh-Hant.json +4 -0
  46. package/src/uni-ui/lib/uni-fav/uni-fav.vue +170 -0
  47. package/src/uni-ui/lib/uni-file-picker/choose-and-upload-file.js +280 -0
  48. package/src/uni-ui/lib/uni-file-picker/uni-file-picker.vue +668 -0
  49. package/src/uni-ui/lib/uni-file-picker/upload-file.vue +325 -0
  50. package/src/uni-ui/lib/uni-file-picker/upload-image.vue +292 -0
  51. package/src/uni-ui/lib/uni-file-picker/utils.js +110 -0
  52. package/src/uni-ui/lib/uni-grid/uni-grid.vue +148 -0
  53. package/src/uni-ui/lib/uni-indexed-list/uni-indexed-list-item.vue +152 -128
  54. package/src/uni-ui/lib/uni-indexed-list/uni-indexed-list.vue +50 -50
  55. package/src/uni-ui/lib/uni-load-more/i18n/en.json +5 -0
  56. package/src/uni-ui/lib/uni-load-more/i18n/index.js +8 -0
  57. package/src/uni-ui/lib/uni-load-more/i18n/zh-Hans.json +5 -0
  58. package/src/uni-ui/lib/uni-load-more/i18n/zh-Hant.json +5 -0
  59. package/src/uni-ui/lib/uni-load-more/uni-load-more.vue +456 -0
  60. package/src/uni-ui/lib/uni-notice-bar/uni-notice-bar.vue +484 -0
  61. package/src/uni-ui/lib/uni-popup/uni-popup.vue +4 -4
  62. package/src/uni-ui/lib/uni-popup-message/uni-popup-message.vue +149 -0
  63. package/src/uni-ui/lib/uni-rate/uni-rate.vue +362 -343
  64. package/src/uni-ui/lib/uni-row/uni-row.vue +193 -0
  65. package/src/uni-ui/lib/uni-search-bar/i18n/en.json +4 -0
  66. package/src/uni-ui/lib/uni-search-bar/i18n/index.js +8 -0
  67. package/src/uni-ui/lib/uni-search-bar/i18n/zh-Hans.json +4 -0
  68. package/src/uni-ui/lib/uni-search-bar/i18n/zh-Hant.json +4 -0
  69. package/src/uni-ui/lib/uni-search-bar/uni-search-bar.vue +339 -0
  70. package/src/uni-ui/lib/uni-swipe-action-item/bindingx.js +294 -285
  71. package/src/uni-ui/lib/uni-swipe-action-item/uni-swipe-action-item.vue +8 -9
  72. package/src/uni-ui/lib/uni-th/filter-dropdown.vue +551 -503
  73. package/src/uni-ui/lib/uni-tr/table-checkbox.vue +165 -163
  74. package/src/uni-ui/lib/uni-tr/uni-tr.vue +6 -6
  75. package/src/uni-ui/lib/uni-transition/createAnimation.js +131 -0
  76. package/src/uni-ui/lib/uni-transition/uni-transition.vue +310 -0
  77. package/src/version.ts +2 -2
@@ -0,0 +1,193 @@
1
+ <template>
2
+ <view
3
+ :class="['uni-row', typeClass, justifyClass, alignClass]"
4
+ :style="{
5
+ marginLeft: `${Number(marginValue)}rpx`,
6
+ marginRight: `${Number(marginValue)}rpx`
7
+ }">
8
+ <slot></slot>
9
+ </view>
10
+ </template>
11
+
12
+ <script>
13
+ const ComponentClass = 'uni-row';
14
+ const modifierSeparator = '--';
15
+ /**
16
+ * Row 布局-行
17
+ * @description 流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。
18
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=3958
19
+ *
20
+ * @property {gutter} type = Number 栅格间隔
21
+ * @property {justify} type = String flex 布局下的水平排列方式
22
+ * 可选 start/end/center/space-around/space-between start
23
+ * 默认值 start
24
+ * @property {align} type = String flex 布局下的垂直排列方式
25
+ * 可选 top/middle/bottom
26
+ * 默认值 top
27
+ * @property {width} type = String|Number nvue下需要自行配置宽度用于计算
28
+ * 默认值 750
29
+ */
30
+
31
+ export default {
32
+ name: 'uniRow',
33
+ componentName: 'uniRow',
34
+ // #ifdef MP-WEIXIN
35
+ // options: {
36
+ // virtualHost: true // 在微信小程序中将组件节点渲染为虚拟节点,更加接近Vue组件的表现,可使用flex布局
37
+ // },
38
+ // #endif
39
+ props: {
40
+ type: String,
41
+ gutter: Number,
42
+ justify: {
43
+ type: String,
44
+ default: 'start'
45
+ },
46
+ align: {
47
+ type: String,
48
+ default: 'top'
49
+ },
50
+ // nvue如果使用span等属性,需要配置宽度
51
+ width: {
52
+ type: [String, Number],
53
+ default: 750
54
+ }
55
+ },
56
+ created() {
57
+ // #ifdef APP-NVUE
58
+ // this.type = 'flex';
59
+ // #endif
60
+ },
61
+ computed: {
62
+ marginValue() {
63
+ // #ifndef APP-NVUE
64
+ if (this.gutter) {
65
+ return -(this.gutter / 2);
66
+ }
67
+ // #endif
68
+ return 0;
69
+ },
70
+ typeClass() {
71
+ return this.type === 'flex'
72
+ ? `${ComponentClass + modifierSeparator}flex`
73
+ : '';
74
+ },
75
+ justifyClass() {
76
+ return this.justify !== 'start'
77
+ ? `${ComponentClass + modifierSeparator}flex-justify-${this.justify}`
78
+ : '';
79
+ },
80
+ alignClass() {
81
+ return this.align !== 'top'
82
+ ? `${ComponentClass + modifierSeparator}flex-align-${this.align}`
83
+ : '';
84
+ }
85
+ }
86
+ };
87
+ </script>
88
+
89
+ <style lang="scss">
90
+ $layout-namespace: '.uni-';
91
+ $row: $layout-namespace + 'row';
92
+ $modifier-separator: '--';
93
+
94
+ @mixin utils-clearfix {
95
+ $selector: &;
96
+
97
+ @at-root {
98
+ /* #ifndef APP-NVUE */
99
+ #{$selector}::before,
100
+ #{$selector}::after {
101
+ display: table;
102
+ content: '';
103
+ }
104
+
105
+ #{$selector}::after {
106
+ clear: both;
107
+ }
108
+
109
+ /* #endif */
110
+ }
111
+ }
112
+
113
+ @mixin utils-flex($direction: row) {
114
+ /* #ifndef APP-NVUE */
115
+ display: flex;
116
+ /* #endif */
117
+ flex-direction: $direction;
118
+ }
119
+
120
+ @mixin set-flex($state) {
121
+ @at-root &-#{$state} {
122
+ @content;
123
+ }
124
+ }
125
+
126
+ #{$row} {
127
+ position: relative;
128
+ flex-direction: row;
129
+
130
+ /* #ifdef APP-NVUE */
131
+ flex: 1;
132
+ /* #endif */
133
+
134
+ /* #ifndef APP-NVUE */
135
+ box-sizing: border-box;
136
+ /* #endif */
137
+
138
+ // 非nvue使用float布局
139
+ @include utils-clearfix;
140
+
141
+ // 在QQ、字节、百度小程序平台,编译后使用shadow dom,不可使用flex布局,使用float
142
+ @at-root {
143
+ /* #ifndef MP-QQ || MP-TOUTIAO || MP-BAIDU */
144
+ &#{$modifier-separator}flex {
145
+ @include utils-flex;
146
+ flex-wrap: wrap;
147
+ flex: 1;
148
+
149
+ &:before,
150
+ &:after {
151
+ /* #ifndef APP-NVUE */
152
+ display: none;
153
+ /* #endif */
154
+ }
155
+
156
+ @include set-flex(justify-center) {
157
+ justify-content: center;
158
+ }
159
+
160
+ @include set-flex(justify-end) {
161
+ justify-content: flex-end;
162
+ }
163
+
164
+ @include set-flex(justify-space-between) {
165
+ justify-content: space-between;
166
+ }
167
+
168
+ @include set-flex(justify-space-around) {
169
+ justify-content: space-around;
170
+ }
171
+
172
+ @include set-flex(align-middle) {
173
+ align-items: center;
174
+ }
175
+
176
+ @include set-flex(align-bottom) {
177
+ align-items: flex-end;
178
+ }
179
+ }
180
+
181
+ /* #endif */
182
+ }
183
+ }
184
+
185
+ // 字节、QQ配置后不生效
186
+ // 此处用法无法使用scoped
187
+ /* #ifdef MP-WEIXIN || MP-TOUTIAO || MP-QQ */
188
+ :host {
189
+ display: block;
190
+ }
191
+
192
+ /* #endif */
193
+ </style>
@@ -0,0 +1,4 @@
1
+ {
2
+ "uni-search-bar.cancel": "cancel",
3
+ "uni-search-bar.placeholder": "Search enter content"
4
+ }
@@ -0,0 +1,8 @@
1
+ import en from './en.json'
2
+ import zhHans from './zh-Hans.json'
3
+ import zhHant from './zh-Hant.json'
4
+ export default {
5
+ en,
6
+ 'zh-Hans': zhHans,
7
+ 'zh-Hant': zhHant
8
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "uni-search-bar.cancel": "取消",
3
+ "uni-search-bar.placeholder": "请输入搜索内容"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "uni-search-bar.cancel": "取消",
3
+ "uni-search-bar.placeholder": "請輸入搜索內容"
4
+ }
@@ -0,0 +1,339 @@
1
+ <template>
2
+ <view class="uni-searchbar">
3
+ <view
4
+ :style="{ borderRadius: radius + 'px', backgroundColor: bgColor }"
5
+ class="uni-searchbar__box"
6
+ @click="searchClick">
7
+ <view class="uni-searchbar__box-icon-search">
8
+ <slot name="searchIcon">
9
+ <uni-icons color="#c0c4cc" size="18" type="search" />
10
+ </slot>
11
+ </view>
12
+ <input
13
+ v-if="show || searchVal"
14
+ :focus="showSync"
15
+ :disabled="readonly"
16
+ :placeholder="placeholderText"
17
+ :maxlength="maxlength"
18
+ class="uni-searchbar__box-search-input"
19
+ confirm-type="search"
20
+ type="text"
21
+ v-model="searchVal"
22
+ :style="{ color: textColor }"
23
+ @confirm="confirm"
24
+ @blur="blur"
25
+ @focus="emitFocus" />
26
+ <text v-else class="uni-searchbar__text-placeholder">{{
27
+ placeholder
28
+ }}</text>
29
+ <view
30
+ v-if="
31
+ show &&
32
+ (clearButton === 'always' ||
33
+ (clearButton === 'auto' && searchVal !== '')) &&
34
+ !readonly
35
+ "
36
+ class="uni-searchbar__box-icon-clear"
37
+ @click="clear">
38
+ <slot name="clearIcon">
39
+ <uni-icons color="#c0c4cc" size="20" type="clear" />
40
+ </slot>
41
+ </view>
42
+ </view>
43
+ <text
44
+ @click="cancel"
45
+ class="uni-searchbar__cancel"
46
+ v-if="cancelButton === 'always' || (show && cancelButton === 'auto')"
47
+ >{{ cancelTextI18n }}</text
48
+ >
49
+ </view>
50
+ </template>
51
+
52
+ <script>
53
+ import { initVueI18n } from '@dcloudio/uni-i18n';
54
+ import messages from './i18n/index.js';
55
+ const { t } = initVueI18n(messages);
56
+
57
+ /**
58
+ * SearchBar 搜索栏
59
+ * @description 搜索栏组件,通常用于搜索商品、文章等
60
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=866
61
+ * @property {Number} radius 搜索栏圆角
62
+ * @property {Number} maxlength 输入最大长度
63
+ * @property {String} placeholder 搜索栏Placeholder
64
+ * @property {String} clearButton = [always|auto|none] 是否显示清除按钮
65
+ * @value always 一直显示
66
+ * @value auto 输入框不为空时显示
67
+ * @value none 一直不显示
68
+ * @property {String} cancelButton = [always|auto|none] 是否显示取消按钮
69
+ * @value always 一直显示
70
+ * @value auto 输入框不为空时显示
71
+ * @value none 一直不显示
72
+ * @property {String} cancelText 取消按钮的文字
73
+ * @property {String} bgColor 输入框背景颜色
74
+ * @property {String} textColor 输入文字颜色
75
+ * @property {Boolean} focus 是否自动聚焦
76
+ * @property {Boolean} readonly 组件只读,不能有任何操作,只做展示
77
+ * @event {Function} confirm uniSearchBar 的输入框 confirm 事件,返回参数为uniSearchBar的value,e={value:Number}
78
+ * @event {Function} input uniSearchBar 的 value 改变时触发事件,返回参数为uniSearchBar的value,e=value
79
+ * @event {Function} cancel 点击取消按钮时触发事件,返回参数为uniSearchBar的value,e={value:Number}
80
+ * @event {Function} clear 点击清除按钮时触发事件,返回参数为uniSearchBar的value,e={value:Number}
81
+ * @event {Function} blur input失去焦点时触发事件,返回参数为uniSearchBar的value,e={value:Number}
82
+ */
83
+
84
+ export default {
85
+ name: 'UniSearchBar',
86
+ emits: [
87
+ 'input',
88
+ 'update:modelValue',
89
+ 'clear',
90
+ 'cancel',
91
+ 'confirm',
92
+ 'blur',
93
+ 'focus'
94
+ ],
95
+ props: {
96
+ placeholder: {
97
+ type: String,
98
+ default: ''
99
+ },
100
+ radius: {
101
+ type: [Number, String],
102
+ default: 5
103
+ },
104
+ clearButton: {
105
+ type: String,
106
+ default: 'auto'
107
+ },
108
+ cancelButton: {
109
+ type: String,
110
+ default: 'auto'
111
+ },
112
+ cancelText: {
113
+ type: String,
114
+ default: ''
115
+ },
116
+ bgColor: {
117
+ type: String,
118
+ default: '#F8F8F8'
119
+ },
120
+ textColor: {
121
+ type: String,
122
+ default: '#000000'
123
+ },
124
+ maxlength: {
125
+ type: [Number, String],
126
+ default: 100
127
+ },
128
+ value: {
129
+ type: [Number, String],
130
+ default: ''
131
+ },
132
+ modelValue: {
133
+ type: [Number, String],
134
+ default: ''
135
+ },
136
+ focus: {
137
+ type: Boolean,
138
+ default: false
139
+ },
140
+ readonly: {
141
+ type: Boolean,
142
+ default: false
143
+ }
144
+ },
145
+ data() {
146
+ return {
147
+ show: false,
148
+ showSync: false,
149
+ searchVal: ''
150
+ };
151
+ },
152
+ computed: {
153
+ cancelTextI18n() {
154
+ return this.cancelText || t('uni-search-bar.cancel');
155
+ },
156
+ placeholderText() {
157
+ return this.placeholder || t('uni-search-bar.placeholder');
158
+ }
159
+ },
160
+ watch: {
161
+ // #ifndef VUE3
162
+ // value: {
163
+ // immediate: true,
164
+ // handler(newVal) {
165
+ // this.searchVal = newVal;
166
+ // if (newVal) {
167
+ // this.show = true;
168
+ // }
169
+ // }
170
+ // },
171
+ // #endif
172
+ // #ifdef VUE3
173
+ modelValue: {
174
+ immediate: true,
175
+ handler(newVal) {
176
+ this.searchVal = newVal;
177
+ if (newVal) {
178
+ this.show = true;
179
+ }
180
+ }
181
+ },
182
+ // #endif
183
+ focus: {
184
+ immediate: true,
185
+ handler(newVal) {
186
+ if (newVal) {
187
+ if (this.readonly) return;
188
+ this.show = true;
189
+ this.$nextTick(() => {
190
+ this.showSync = true;
191
+ });
192
+ }
193
+ }
194
+ },
195
+ searchVal(newVal, oldVal) {
196
+ this.$emit('input', newVal);
197
+ // #ifdef VUE3
198
+ this.$emit('update:modelValue', newVal);
199
+ // #endif
200
+ }
201
+ },
202
+ methods: {
203
+ searchClick() {
204
+ if (this.readonly) return;
205
+ if (this.show) {
206
+ return;
207
+ }
208
+ this.show = true;
209
+ this.$nextTick(() => {
210
+ this.showSync = true;
211
+ });
212
+ },
213
+ clear() {
214
+ this.searchVal = '';
215
+ this.$nextTick(() => {
216
+ this.$emit('clear', { value: '' });
217
+ });
218
+ },
219
+ cancel() {
220
+ if (this.readonly) return;
221
+ this.$emit('cancel', {
222
+ value: this.searchVal
223
+ });
224
+ this.searchVal = '';
225
+ this.show = false;
226
+ this.showSync = false;
227
+ // #ifndef APP-PLUS
228
+ uni.hideKeyboard();
229
+ // #endif
230
+ // #ifdef APP-PLUS
231
+ // plus.key.hideSoftKeybord();
232
+ // #endif
233
+ },
234
+ confirm() {
235
+ // #ifndef APP-PLUS
236
+ uni.hideKeyboard();
237
+ // #endif
238
+ // #ifdef APP-PLUS
239
+ // plus.key.hideSoftKeybord();
240
+ // #endif
241
+ this.$emit('confirm', {
242
+ value: this.searchVal
243
+ });
244
+ },
245
+ blur() {
246
+ // #ifndef APP-PLUS
247
+ uni.hideKeyboard();
248
+ // #endif
249
+ // #ifdef APP-PLUS
250
+ // plus.key.hideSoftKeybord();
251
+ // #endif
252
+ this.$emit('blur', {
253
+ value: this.searchVal
254
+ });
255
+ },
256
+ emitFocus(e) {
257
+ this.$emit('focus', e.detail);
258
+ }
259
+ }
260
+ };
261
+ </script>
262
+
263
+ <style lang="scss">
264
+ $uni-searchbar-height: 36px;
265
+
266
+ .uni-searchbar {
267
+ /* #ifndef APP-NVUE */
268
+ display: flex;
269
+ /* #endif */
270
+ flex-direction: row;
271
+ position: relative;
272
+ padding: 10px;
273
+ // background-color: #fff;
274
+ }
275
+
276
+ .uni-searchbar__box {
277
+ /* #ifndef APP-NVUE */
278
+ display: flex;
279
+ box-sizing: border-box;
280
+ justify-content: left;
281
+ /* #endif */
282
+ overflow: hidden;
283
+ position: relative;
284
+ flex: 1;
285
+ flex-direction: row;
286
+ align-items: center;
287
+ height: $uni-searchbar-height;
288
+ padding: 5px 8px 5px 0px;
289
+ }
290
+
291
+ .uni-searchbar__box-icon-search {
292
+ /* #ifndef APP-NVUE */
293
+ display: flex;
294
+ /* #endif */
295
+ flex-direction: row;
296
+ // width: 32px;
297
+ padding: 0 8px;
298
+ justify-content: center;
299
+ align-items: center;
300
+ color: #b3b3b3;
301
+ }
302
+
303
+ .uni-searchbar__box-search-input {
304
+ flex: 1;
305
+ font-size: 14px;
306
+ color: #333;
307
+ margin-left: 5px;
308
+ margin-top: 1px;
309
+ /* #ifndef APP-NVUE */
310
+ background-color: inherit;
311
+ /* #endif */
312
+ }
313
+
314
+ .uni-searchbar__box-icon-clear {
315
+ align-items: center;
316
+ line-height: 24px;
317
+ padding-left: 8px;
318
+ /* #ifdef H5 */
319
+ cursor: pointer;
320
+ /* #endif */
321
+ }
322
+
323
+ .uni-searchbar__text-placeholder {
324
+ font-size: 14px;
325
+ color: #b3b3b3;
326
+ margin-left: 5px;
327
+ text-align: left;
328
+ }
329
+
330
+ .uni-searchbar__cancel {
331
+ padding-left: 10px;
332
+ line-height: $uni-searchbar-height;
333
+ font-size: 14px;
334
+ color: #333333;
335
+ /* #ifdef H5 */
336
+ cursor: pointer;
337
+ /* #endif */
338
+ }
339
+ </style>