@10yun/cv-mobile-ui 0.4.1 → 0.4.2

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 (112) hide show
  1. package/package.json +1 -1
  2. package/ui-cv/cv-badge/{uni-badge.vue → cv-badge.vue} +2 -2
  3. package/ui-cv/cv-calendar/calendar.js +762 -345
  4. package/ui-cv/cv-calendar/cv-calendar-item.vue +198 -0
  5. package/ui-cv/cv-calendar/cv-calendar.vue +508 -0
  6. package/ui-cv/cv-card/cv-card.vue +427 -0
  7. package/ui-cv/cv-col/cv-col.vue +2965 -0
  8. package/ui-cv/cv-collapse/cv-collapse.vue +146 -0
  9. package/ui-cv/cv-collapse-item/cv-collapse-item.vue +395 -0
  10. package/ui-cv/cv-combox/cv-combox.vue +250 -0
  11. package/ui-cv/cv-countdown/cv-countdown.vue +245 -0
  12. package/ui-cv/cv-data-checkbox/cv-data-checkbox.vue +841 -0
  13. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list-item.vue +154 -0
  14. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list.vue +376 -0
  15. package/ui-cv/cv-data-picker/cv-data-picker.vue +486 -0
  16. package/ui-cv/cv-data-pickerview/{uni-data-picker.js → cv-data-picker.js} +0 -0
  17. package/ui-cv/cv-data-pickerview/cv-data-pickerview.vue +304 -0
  18. package/ui-cv/cv-dateformat/cv-dateformat.vue +86 -0
  19. package/ui-cv/cv-datetime-picker/calendar.vue +752 -738
  20. package/ui-cv/cv-datetime-picker/cv-datetime-picker.vue +958 -0
  21. package/ui-cv/cv-datetime-picker/time-picker.vue +900 -892
  22. package/ui-cv/cv-easyinput/cv-easyinput.vue +514 -0
  23. package/ui-cv/cv-fab/cv-fab.vue +465 -0
  24. package/ui-cv/cv-fab/{uni-fab.vue.bak → cv-fab.vue.bak} +2 -2
  25. package/ui-cv/cv-fav/cv-fav.vue +150 -0
  26. package/ui-cv/cv-file-picker/cv-file-picker.vue +619 -0
  27. package/ui-cv/cv-form-item/cv-form-item.vue +1 -1
  28. package/ui-cv/cv-goods-nav/{uni-goods-nav.vue → cv-goods-nav.vue} +1 -1
  29. package/ui-cv/{cv-icons2/cv-icons2.vue → cv-icon2/cv-icon2.vue} +3 -3
  30. package/ui-cv/{cv-icons2 → cv-icon2}/icons.js +0 -0
  31. package/ui-cv/{cv-icons2 → cv-icon2}/uni.ttf +0 -0
  32. package/ui-cv/cv-indexed-list/cv-indexed-list-item.vue +154 -0
  33. package/ui-cv/cv-indexed-list/cv-indexed-list.vue +371 -0
  34. package/ui-cv/cv-input-password/cv-input-password.vue +2 -2
  35. package/ui-cv/{cv-link/uni-link.vue → cv-link2/cv-link2.vue} +1 -1
  36. package/ui-cv/cv-list/cv-list.vue +107 -0
  37. package/ui-cv/cv-list/cv-refresh.vue +65 -0
  38. package/ui-cv/cv-list-ad/cv-list-ad.vue +113 -0
  39. package/ui-cv/cv-list-chat/{uni-list-chat.scss → cv-list-chat.scss} +0 -0
  40. package/ui-cv/cv-list-chat/{uni-list-chat.vue → cv-list-chat.vue} +0 -0
  41. package/ui-cv/cv-list-item/cv-list-item.vue +449 -0
  42. package/ui-cv/cv-nav-bar/cv-nav-bar.vue +256 -0
  43. package/ui-cv/cv-nav-bar/{uni-status-bar.vue → cv-status-bar.vue} +0 -0
  44. package/ui-cv/cv-notice-bar/cv-notice-bar.vue +453 -0
  45. package/ui-cv/cv-number-box/cv-number-box.vue +223 -0
  46. package/ui-cv/cv-pagination/cv-pagination.vue +397 -0
  47. package/ui-cv/cv-popup/cv-popup.vue +429 -0
  48. package/ui-cv/cv-popup-dialog/{uni-popup-dialog.vue → cv-popup-dialog.vue} +0 -0
  49. package/ui-cv/cv-popup-message/cv-popup-message.vue +143 -0
  50. package/ui-cv/cv-popup-share/{uni-popup-share.vue → cv-popup-share.vue} +0 -0
  51. package/ui-cv/cv-row/{uni-row.vue → cv-row.vue} +1 -1
  52. package/ui-cv/cv-search-bar/cv-search-bar.vue +280 -0
  53. package/ui-cv/cv-section/{uni-section.vue → cv-section.vue} +0 -0
  54. package/ui-cv/cv-segmented-control/{uni-segmented-control.vue → cv-segmented-control.vue} +0 -0
  55. package/ui-cv/cv-status-bar/{uni-status-bar.vue → cv-status-bar.vue} +0 -0
  56. package/ui-cv/cv-steps/cv-steps.vue +293 -0
  57. package/ui-cv/cv-swipe-action/{uni-swipe-action.vue → cv-swipe-action.vue} +0 -0
  58. package/ui-cv/cv-swipe-action-item/{uni-swipe-action-item.vue → cv-swipe-action-item.vue} +0 -0
  59. package/ui-cv/cv-swiper-dot/cv-swiper-dot.vue +255 -0
  60. package/ui-cv/cv-table/cv-table.vue +460 -0
  61. package/ui-cv/cv-tag/cv-tag.vue +276 -0
  62. package/ui-cv/cv-tbody/cv-tbody.vue +28 -0
  63. package/ui-cv/cv-td/cv-td.vue +93 -0
  64. package/ui-cv/cv-test/{uni-test.vue → cv-test.vue} +0 -0
  65. package/ui-cv/cv-th/cv-th.vue +270 -0
  66. package/ui-cv/cv-thead/cv-thead.vue +114 -0
  67. package/ui-cv/cv-title/cv-title.vue +168 -0
  68. package/ui-cv/cv-tr/cv-tr.vue +166 -0
  69. package/ui-cv/cv-transition/cv-transition.vue +279 -0
  70. package/ui-cv/cv-calendar/uni-calendar-item.vue +0 -171
  71. package/ui-cv/cv-calendar/uni-calendar.vue +0 -504
  72. package/ui-cv/cv-card/uni-card.vue +0 -420
  73. package/ui-cv/cv-col/uni-col.vue +0 -2968
  74. package/ui-cv/cv-collapse/uni-collapse.vue +0 -146
  75. package/ui-cv/cv-collapse-item/uni-collapse-item.vue +0 -378
  76. package/ui-cv/cv-combox/uni-combox.vue +0 -237
  77. package/ui-cv/cv-countdown/uni-countdown.vue +0 -234
  78. package/ui-cv/cv-data-checkbox/uni-data-checkbox.vue +0 -792
  79. package/ui-cv/cv-data-indexed-list/uni-data-indexed-list-item.vue +0 -142
  80. package/ui-cv/cv-data-indexed-list/uni-data-indexed-list.vue +0 -364
  81. package/ui-cv/cv-data-picker/uni-data-picker.vue +0 -468
  82. package/ui-cv/cv-data-pickerview/uni-data-pickerview.vue +0 -298
  83. package/ui-cv/cv-dateformat/uni-dateformat.vue +0 -88
  84. package/ui-cv/cv-datetime-picker/uni-datetime-picker.vue +0 -874
  85. package/ui-cv/cv-easyinput/uni-easyinput.vue +0 -438
  86. package/ui-cv/cv-fab/uni-fab.vue +0 -443
  87. package/ui-cv/cv-fav/uni-fav.vue +0 -136
  88. package/ui-cv/cv-file-picker/uni-file-picker.vue +0 -614
  89. package/ui-cv/cv-indexed-list/uni-indexed-list-item.vue +0 -142
  90. package/ui-cv/cv-indexed-list/uni-indexed-list.vue +0 -357
  91. package/ui-cv/cv-list/uni-list.vue +0 -107
  92. package/ui-cv/cv-list/uni-refresh.vue +0 -65
  93. package/ui-cv/cv-list-ad/uni-list-ad.vue +0 -106
  94. package/ui-cv/cv-list-item/uni-list-item.vue +0 -428
  95. package/ui-cv/cv-nav-bar/uni-nav-bar.vue +0 -244
  96. package/ui-cv/cv-notice-bar/uni-notice-bar.vue +0 -394
  97. package/ui-cv/cv-number-box/uni-number-box.vue +0 -224
  98. package/ui-cv/cv-pagination/uni-pagination.vue +0 -376
  99. package/ui-cv/cv-popup/uni-popup.vue +0 -412
  100. package/ui-cv/cv-popup-message/uni-popup-message.vue +0 -143
  101. package/ui-cv/cv-search-bar/uni-search-bar.vue +0 -262
  102. package/ui-cv/cv-steps/uni-steps.vue +0 -250
  103. package/ui-cv/cv-swiper-dot/uni-swiper-dot.vue +0 -205
  104. package/ui-cv/cv-table/uni-table.vue +0 -455
  105. package/ui-cv/cv-tag/uni-tag.vue +0 -283
  106. package/ui-cv/cv-tbody/uni-tbody.vue +0 -30
  107. package/ui-cv/cv-td/uni-td.vue +0 -88
  108. package/ui-cv/cv-th/uni-th.vue +0 -259
  109. package/ui-cv/cv-thead/uni-thead.vue +0 -114
  110. package/ui-cv/cv-title/uni-title.vue +0 -171
  111. package/ui-cv/cv-tr/uni-tr.vue +0 -156
  112. package/ui-cv/cv-transition/uni-transition.vue +0 -287
@@ -1,237 +0,0 @@
1
- <template>
2
- <view class="uni-combox">
3
- <view v-if="label" class="uni-combox__label" :style="labelStyle">
4
- <text>{{label}}</text>
5
- </view>
6
- <view class="uni-combox__input-box">
7
- <input class="uni-combox__input" type="text" :placeholder="placeholder" v-model="inputVal" @input="onInput" @focus="onFocus" @blur="onBlur" />
8
- <uni-icons class="uni-combox__input-arrow" type="arrowdown" size="14" @click="toggleSelector"></uni-icons>
9
- <view class="uni-combox__selector" v-if="showSelector">
10
- <scroll-view scroll-y="true" class="uni-combox__selector-scroll">
11
- <view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0">
12
- <text>{{emptyTips}}</text>
13
- </view>
14
- <view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index" @click="onSelectorClick(index)">
15
- <text>{{item}}</text>
16
- </view>
17
- </scroll-view>
18
- </view>
19
- </view>
20
- </view>
21
- </template>
22
-
23
- <script>
24
- /**
25
- * Combox 组合输入框
26
- * @description 组合输入框一般用于既可以输入也可以选择的场景
27
- * @tutorial https://ext.dcloud.net.cn/plugin?id=1261
28
- * @property {String} label 左侧文字
29
- * @property {String} labelWidth 左侧内容宽度
30
- * @property {String} placeholder 输入框占位符
31
- * @property {Array} candidates 候选项列表
32
- * @property {String} emptyTips 筛选结果为空时显示的文字
33
- * @property {String} value 组合框的值
34
- */
35
- export default {
36
- name: 'uniCombox',
37
- emits: ['input', 'update:modelValue'],
38
- props: {
39
- label: {
40
- type: String,
41
- default: ''
42
- },
43
- labelWidth: {
44
- type: String,
45
- default: 'auto'
46
- },
47
- placeholder: {
48
- type: String,
49
- default: ''
50
- },
51
- candidates: {
52
- type: Array,
53
- default () {
54
- return []
55
- }
56
- },
57
- emptyTips: {
58
- type: String,
59
- default: '无匹配项'
60
- },
61
- // #ifndef VUE3
62
- value: {
63
- type: [String, Number],
64
- default: ''
65
- },
66
- // #endif
67
- // #ifdef VUE3
68
- modelValue: {
69
- type: [String, Number],
70
- default: ''
71
- },
72
- // #endif
73
- },
74
- data() {
75
- return {
76
- showSelector: false,
77
- inputVal: ''
78
- }
79
- },
80
- computed: {
81
- labelStyle() {
82
- if (this.labelWidth === 'auto') {
83
- return {}
84
- }
85
- return {
86
- width: this.labelWidth
87
- }
88
- },
89
- filterCandidates() {
90
- return this.candidates.filter((item) => {
91
- return item.toString().indexOf(this.inputVal) > -1
92
- })
93
- },
94
- filterCandidatesLength() {
95
- return this.filterCandidates.length
96
- }
97
- },
98
- watch: {
99
- // #ifndef VUE3
100
- value: {
101
- handler(newVal) {
102
- this.inputVal = newVal
103
- },
104
- immediate: true
105
- },
106
- // #endif
107
- // #ifdef VUE3
108
- modelValue: {
109
- handler(newVal) {
110
- this.inputVal = newVal
111
- },
112
- immediate: true
113
- },
114
- // #endif
115
- },
116
- methods: {
117
- toggleSelector() {
118
- this.showSelector = !this.showSelector
119
- },
120
- onFocus() {
121
- this.showSelector = true
122
- },
123
- onBlur() {
124
- setTimeout(() => {
125
- this.showSelector = false
126
- }, 153)
127
- },
128
- onSelectorClick(index) {
129
- this.inputVal = this.filterCandidates[index]
130
- this.showSelector = false
131
- this.$emit('input', this.inputVal)
132
- this.$emit('update:modelValue', this.inputVal)
133
- },
134
- onInput() {
135
- setTimeout(() => {
136
- this.$emit('input', this.inputVal)
137
- this.$emit('update:modelValue', this.inputVal)
138
- })
139
- }
140
- }
141
- }
142
- </script>
143
-
144
- <style scoped>
145
- .uni-combox {
146
- /* #ifndef APP-NVUE */
147
- display: flex;
148
- /* #endif */
149
- height: 40px;
150
- flex-direction: row;
151
- align-items: center;
152
- }
153
-
154
- .uni-combox__label {
155
- font-size: 16px;
156
- line-height: 22px;
157
- padding-right: 10px;
158
- color: #999999;
159
- }
160
-
161
- .uni-combox__input-box {
162
- position: relative;
163
- /* #ifndef APP-NVUE */
164
- display: flex;
165
- /* #endif */
166
- flex: 1;
167
- flex-direction: row;
168
- align-items: center;
169
- }
170
-
171
- .uni-combox__input {
172
- flex: 1;
173
- font-size: 16px;
174
- height: 22px;
175
- line-height: 22px;
176
- }
177
-
178
- .uni-combox__input-arrow {
179
- padding: 10px;
180
- }
181
-
182
- .uni-combox__selector {
183
- /* #ifndef APP-NVUE */
184
- box-sizing: border-box;
185
- /* #endif */
186
- position: absolute;
187
- top: 42px;
188
- left: 0;
189
- width: 100%;
190
- background-color: #FFFFFF;
191
- border-radius: 6px;
192
- box-shadow: #DDDDDD 4px 4px 8px, #DDDDDD -4px -4px 8px;
193
- z-index: 2;
194
- }
195
-
196
- .uni-combox__selector-scroll {
197
- /* #ifndef APP-NVUE */
198
- max-height: 200px;
199
- box-sizing: border-box;
200
- /* #endif */
201
- }
202
-
203
- .uni-combox__selector::before {
204
- /* #ifndef APP-NVUE */
205
- content: "";
206
- /* #endif */
207
- position: absolute;
208
- width: 0;
209
- height: 0;
210
- border-bottom: solid 6px #FFFFFF;
211
- border-right: solid 6px transparent;
212
- border-left: solid 6px transparent;
213
- left: 50%;
214
- top: -6px;
215
- margin-left: -6px;
216
- }
217
-
218
- .uni-combox__selector-empty,
219
- .uni-combox__selector-item {
220
- /* #ifndef APP-NVUE */
221
- display: flex;
222
- cursor: pointer;
223
- /* #endif */
224
- line-height: 36px;
225
- font-size: 14px;
226
- text-align: center;
227
- border-bottom: solid 1px #DDDDDD;
228
- margin: 0px 10px;
229
- }
230
-
231
- .uni-combox__selector-empty:last-child,
232
- .uni-combox__selector-item:last-child {
233
- /* #ifndef APP-NVUE */
234
- border-bottom: none;
235
- /* #endif */
236
- }
237
- </style>
@@ -1,234 +0,0 @@
1
- <template>
2
- <view class="uni-countdown">
3
- <text v-if="showDay" :style="{ borderColor: borderColor, color: color, backgroundColor: backgroundColor }" class="uni-countdown__number">{{ d }}</text>
4
- <text v-if="showDay" :style="{ color: splitorColor }" class="uni-countdown__splitor">天</text>
5
- <text :style="{ borderColor: borderColor, color: color, backgroundColor: backgroundColor }" class="uni-countdown__number">{{ h }}</text>
6
- <text :style="{ color: splitorColor }" class="uni-countdown__splitor">{{ showColon ? ':' : '时' }}</text>
7
- <text :style="{ borderColor: borderColor, color: color, backgroundColor: backgroundColor }" class="uni-countdown__number">{{ i }}</text>
8
- <text :style="{ color: splitorColor }" class="uni-countdown__splitor">{{ showColon ? ':' : '分' }}</text>
9
- <text :style="{ borderColor: borderColor, color: color, backgroundColor: backgroundColor }" class="uni-countdown__number">{{ s }}</text>
10
- <text v-if="!showColon" :style="{ color: splitorColor }" class="uni-countdown__splitor">秒</text>
11
- </view>
12
- </template>
13
- <script>
14
- /**
15
- * Countdown 倒计时
16
- * @description 倒计时组件
17
- * @tutorial https://ext.dcloud.net.cn/plugin?id=25
18
- * @property {String} backgroundColor 背景色
19
- * @property {String} color 文字颜色
20
- * @property {Number} day 天数
21
- * @property {Number} hour 小时
22
- * @property {Number} minute 分钟
23
- * @property {Number} second 秒
24
- * @property {Number} timestamp 时间戳
25
- * @property {Boolean} showDay = [true|false] 是否显示天数
26
- * @property {Boolean} showColon = [true|false] 是否以冒号为分隔符
27
- * @property {String} splitorColor 分割符号颜色
28
- * @event {Function} timeup 倒计时时间到触发事件
29
- * @example <uni-countdown :day="1" :hour="1" :minute="12" :second="40"></uni-countdown>
30
- */
31
- export default {
32
- name: 'UniCountdown',
33
- emits: ['timeup'],
34
- props: {
35
- showDay: {
36
- type: Boolean,
37
- default: true
38
- },
39
- showColon: {
40
- type: Boolean,
41
- default: true
42
- },
43
- start: {
44
- type: Boolean,
45
- default: true
46
- },
47
- backgroundColor: {
48
- type: String,
49
- default: '#FFFFFF'
50
- },
51
- borderColor: {
52
- type: String,
53
- default: '#000000'
54
- },
55
- color: {
56
- type: String,
57
- default: '#000000'
58
- },
59
- splitorColor: {
60
- type: String,
61
- default: '#000000'
62
- },
63
- day: {
64
- type: Number,
65
- default: 0
66
- },
67
- hour: {
68
- type: Number,
69
- default: 0
70
- },
71
- minute: {
72
- type: Number,
73
- default: 0
74
- },
75
- second: {
76
- type: Number,
77
- default: 0
78
- },
79
- timestamp: {
80
- type: Number,
81
- default: 0
82
- }
83
- },
84
- data() {
85
- return {
86
- timer: null,
87
- syncFlag: false,
88
- d: '00',
89
- h: '00',
90
- i: '00',
91
- s: '00',
92
- leftTime: 0,
93
- seconds: 0
94
- }
95
- },
96
- watch: {
97
- day(val) {
98
- this.changeFlag()
99
- },
100
- hour(val) {
101
- this.changeFlag()
102
- },
103
- minute(val) {
104
- this.changeFlag()
105
- },
106
- second(val) {
107
- this.changeFlag()
108
- },
109
- start: {
110
- immediate: true,
111
- handler(newVal, oldVal) {
112
- if (newVal) {
113
- this.startData();
114
- } else {
115
- if (!oldVal) return
116
- clearInterval(this.timer)
117
- }
118
- }
119
-
120
- }
121
- },
122
- created: function(e) {
123
- this.seconds = this.toSeconds(this.timestamp, this.day, this.hour, this.minute, this.second)
124
- this.countDown()
125
- },
126
- // #ifndef VUE3
127
- destroyed() {
128
- clearInterval(this.timer)
129
- },
130
- // #endif
131
- // #ifdef VUE3
132
- unmounted() {
133
- clearInterval(this.timer)
134
- },
135
- // #endif
136
- methods: {
137
- toSeconds(timestamp, day, hours, minutes, seconds) {
138
- if (timestamp) {
139
- return timestamp - parseInt(new Date().getTime() / 1000, 10)
140
- }
141
- return day * 60 * 60 * 24 + hours * 60 * 60 + minutes * 60 + seconds
142
- },
143
- timeUp() {
144
- clearInterval(this.timer)
145
- this.$emit('timeup')
146
- },
147
- countDown() {
148
- let seconds = this.seconds
149
- let [day, hour, minute, second] = [0, 0, 0, 0]
150
- if (seconds > 0) {
151
- day = Math.floor(seconds / (60 * 60 * 24))
152
- hour = Math.floor(seconds / (60 * 60)) - (day * 24)
153
- minute = Math.floor(seconds / 60) - (day * 24 * 60) - (hour * 60)
154
- second = Math.floor(seconds) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60)
155
- } else {
156
- this.timeUp()
157
- }
158
- if (day < 10) {
159
- day = '0' + day
160
- }
161
- if (hour < 10) {
162
- hour = '0' + hour
163
- }
164
- if (minute < 10) {
165
- minute = '0' + minute
166
- }
167
- if (second < 10) {
168
- second = '0' + second
169
- }
170
- this.d = day
171
- this.h = hour
172
- this.i = minute
173
- this.s = second
174
- },
175
- startData() {
176
- this.seconds = this.toSeconds(this.timestamp, this.day, this.hour, this.minute, this.second)
177
- if (this.seconds <= 0) {
178
- return
179
- }
180
- clearInterval(this.timer)
181
- this.countDown()
182
- this.timer = setInterval(() => {
183
- this.seconds--
184
- if (this.seconds < 0) {
185
- this.timeUp()
186
- return
187
- }
188
- this.countDown()
189
- }, 1000)
190
- },
191
- changeFlag() {
192
- if (!this.syncFlag) {
193
- this.seconds = this.toSeconds(this.timestamp, this.day, this.hour, this.minute, this.second)
194
- this.startData();
195
- this.syncFlag = true;
196
- }
197
- }
198
- }
199
- }
200
- </script>
201
- <style scoped>
202
- .uni-countdown {
203
- /* #ifndef APP-NVUE */
204
- display: flex;
205
- /* #endif */
206
- flex-direction: row;
207
- justify-content: flex-start;
208
- padding: 2rpx 0;
209
- }
210
-
211
- .uni-countdown__splitor {
212
- /* #ifndef APP-NVUE */
213
- display: flex;
214
- /* #endif */
215
- justify-content: center;
216
- line-height: 48rpx;
217
- padding: 5rpx;
218
- font-size: 12px;
219
- }
220
-
221
- .uni-countdown__number {
222
- /* #ifndef APP-NVUE */
223
- display: flex;
224
- /* #endif */
225
- justify-content: center;
226
- align-items: center;
227
- width: 52rpx;
228
- height: 48rpx;
229
- line-height: 48rpx;
230
- margin: 5rpx;
231
- text-align: center;
232
- font-size: 12px;
233
- }
234
- </style>