renusify 1.0.6 → 1.0.8

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 (51) hide show
  1. package/components/app/index.vue +23 -32
  2. package/components/app/style.scss +7 -18
  3. package/components/bar/bottomNavigationCircle.vue +75 -81
  4. package/components/bar/scss/bottomNav.scss +4 -13
  5. package/components/bar/scss/toolbar.scss +4 -9
  6. package/components/breadcrumb/style.scss +3 -9
  7. package/components/button/buttonConfirm.vue +44 -0
  8. package/components/button/style.scss +13 -38
  9. package/components/calendar/index.vue +5 -35
  10. package/components/card/style.scss +8 -17
  11. package/components/chat/chatInput.vue +4 -10
  12. package/components/chat/chatMsg.vue +222 -225
  13. package/components/chat/index.vue +104 -109
  14. package/components/chip/style.scss +27 -33
  15. package/components/container/style.scss +9 -11
  16. package/components/form/camInput.vue +1 -1
  17. package/components/form/checkbox.vue +115 -121
  18. package/components/form/colorPicker/picker.vue +9 -24
  19. package/components/form/datePicker/index.vue +9 -42
  20. package/components/form/fileUploader/single.vue +196 -197
  21. package/components/form/inputTel/index.vue +3 -7
  22. package/components/form/radioInput.vue +3 -9
  23. package/components/form/scss/input.scss +4 -29
  24. package/components/form/scss/rating.scss +1 -6
  25. package/components/form/scss/switch.scss +1 -6
  26. package/components/form/text-editor/style.scss +4 -22
  27. package/components/form/timepicker/timepicker.vue +11 -16
  28. package/components/form/unit-input.vue +98 -101
  29. package/components/icon/style.scss +2 -6
  30. package/components/index.js +2 -0
  31. package/components/infinite/index.vue +1 -1
  32. package/components/list/style.scss +2 -16
  33. package/components/map/route.vue +1 -1
  34. package/components/menu/index.vue +4 -15
  35. package/components/modal/style.scss +3 -12
  36. package/components/progress/style.scss +5 -21
  37. package/components/skeleton/index.vue +77 -0
  38. package/components/swiper/index.vue +8 -4
  39. package/components/table/style.scss +19 -111
  40. package/components/tabs/index.vue +116 -130
  41. package/components/timeline/index.vue +13 -18
  42. package/components/tree/index.vue +11 -15
  43. package/index.js +0 -1
  44. package/package.json +1 -1
  45. package/plugins/trans/Translate.js +1 -0
  46. package/style/app.scss +7 -71
  47. package/style/colors.scss +49 -73
  48. package/style/mixins/index.scss +0 -12
  49. package/style/variables/color.scss +8 -9
  50. package/tools/helper.js +15 -1
  51. package/components/skeletonLoader/index.vue +0 -42
@@ -1,276 +1,273 @@
1
1
  <template>
2
- <div class="message-body" :class="{'is-me':isMe}">
3
- <img class="message-user-img me-1" :src="user.img+'?w=50&h=50'" :alt="user.name"
4
- v-if="!isMe&&!message.in_line_top&&!message.in_line_mid">
5
- <div class="message-holder">
6
- <div class="message-content" v-for="(msg,i) in message.list"
7
- :id="'msg-'+msg._id"
8
- v-intersect.once="{
2
+ <div class="message-body" :class="{'is-me':isMe}">
3
+ <img class="message-user-img me-1" :src="user.img+'?w=50&h=50'" :alt="user.name"
4
+ v-if="!isMe&&!message.in_line_top&&!message.in_line_mid">
5
+ <div class="message-holder">
6
+ <div class="message-content" v-for="(msg,i) in message.list"
7
+ :id="'msg-'+msg._id"
8
+ v-intersect.once="{
9
9
  handler: view,
10
10
  options: {
11
11
  id:msg._id,
12
12
  threshold: 0.05
13
13
  }
14
14
  }"
15
- :key="msg._id"
16
- :class="{'in-line-top':i===0&&message.list.length>1,
15
+ :key="msg._id"
16
+ :class="{'in-line-top':i===0&&message.list.length>1,
17
17
  'in-line-mid':i!==0&&i<message.list.length-1,
18
18
  'in-line-btm':i===message.list.length-1&&message.list.length>1
19
19
  }">
20
- <div class="message-text body-1">
21
- <div class="message-username subtitle-2" v-if="!isMe">{{user.name}}
22
- </div>
23
- <div v-if="msg.type==='file'" @click="$helper.download('/'+msg.link)">
24
- <div class="mx-n2 mt-n1" v-if="isImg(msg.link)">
25
- <r-img class="br-sm" :src="'/'+msg.link" alt="img" width="250" :w-p-h="isImg(msg.link)"></r-img>
26
- </div>
27
- <div v-else class="d-flex cursor-pointer">
28
- <r-icon class="ma-1" v-html="$r.icons.file"></r-icon>
29
- <span>
30
- {{file_name(msg.link)}}
20
+ <div class="message-text body-1">
21
+ <div class="message-username subtitle-2" v-if="!isMe">{{ user.name }}
22
+ </div>
23
+ <div v-if="msg.type==='file'" @click="$helper.download('/'+msg.link)">
24
+ <div class="mx-n2 mt-n1" v-if="isImg(msg.link)">
25
+ <r-img class="br-sm" :src="'/'+msg.link" alt="img" width="250" :w-p-h="isImg(msg.link)"></r-img>
26
+ </div>
27
+ <div v-else class="d-flex cursor-pointer">
28
+ <r-icon class="ma-1" v-html="$r.icons.file"></r-icon>
29
+ <span>
30
+ {{ file_name(msg.link) }}
31
31
  </span>
32
- </div>
33
- </div>
34
- <div v-html="msg.content"></div>
35
- <div class="message-info text-end caption">
36
- {{msg.timestamp }}
37
- </div>
38
- </div>
39
- <div class="is-end" v-if="i===message.list.length-1"></div>
40
32
  </div>
33
+ </div>
34
+ <div v-html="msg.content"></div>
35
+ <div class="message-info text-end caption">
36
+ {{ msg.timestamp }}
37
+ </div>
41
38
  </div>
39
+ <div class="is-end" v-if="i===message.list.length-1"></div>
40
+ </div>
42
41
  </div>
42
+ </div>
43
43
  </template>
44
44
  <script>
45
45
 
46
46
 
47
47
  export default {
48
- name: 'r-chat-msg',
48
+ name: 'r-chat-msg',
49
49
 
50
50
  props: {
51
- isMe: Boolean,
52
- user: {
53
- type: Object,
54
- default: () => {
55
- return {}
56
- }
57
- },
58
- message: {
59
- type: Object,
60
- default: () => {
61
- return {}
62
- }
63
- }
64
- },
65
- methods: {
66
- isImg(link) {
67
- const is=link.indexOf('storage/img/')!==-1
68
- if(is){
69
- link=link.split('/')
70
- link=link[link.length-1].split('_')
71
- return link[0]/link[1]
72
- }
73
- return is
74
- },
75
- file_name(link){
76
- let res=link.split('/')
77
- return res[res.length-1]
78
- },
79
- view(isIntersecting, entries, observer, options) {
80
- if (isIntersecting) {
81
- this.$emit('see', options.id)
82
- }
83
- }
84
- }
51
+ isMe: Boolean,
52
+ user: {
53
+ type: Object,
54
+ default: () => {
55
+ return {}
56
+ }
57
+ },
58
+ message: {
59
+ type: Object,
60
+ default: () => {
61
+ return {}
62
+ }
63
+ }
64
+ },
65
+ methods: {
66
+ isImg(link) {
67
+ const is = link.indexOf('storage/img/') !== -1
68
+ if (is) {
69
+ link = link.split('/')
70
+ link = link[link.length - 1].split('_')
71
+ return link[0] / link[1]
72
+ }
73
+ return is
74
+ },
75
+ file_name(link) {
76
+ let res = link.split('/')
77
+ return res[res.length - 1]
78
+ },
79
+ view(isIntersecting, entries, observer, options) {
80
+ if (isIntersecting) {
81
+ this.$emit('see', options.id)
82
+ }
85
83
  }
84
+ }
85
+ }
86
86
  </script>
87
87
  <style lang="scss">
88
- @import "../../style/include";
88
+ @import "../../style/include";
89
89
 
90
- .message-body {
91
- display: flex;
92
- align-items: flex-end;
93
- position: relative;
94
- padding: 5px;
90
+ .message-body {
91
+ display: flex;
92
+ align-items: flex-end;
93
+ position: relative;
94
+ padding: 5px;
95
95
 
96
- .message-holder {
97
- width: 100%;
98
- }
96
+ .message-holder {
97
+ width: 100%;
98
+ }
99
99
 
100
- .message-user-img {
101
- width: 50px;
102
- height: 50px;
103
- border-radius: 50%;
104
- position: sticky;
105
- bottom: 0;
106
- z-index: 1;
107
- }
100
+ .message-user-img {
101
+ width: 50px;
102
+ height: 50px;
103
+ border-radius: 50%;
104
+ position: sticky;
105
+ bottom: 0;
106
+ z-index: 1;
107
+ }
108
108
 
109
- .message-content {
110
- display: flex;
111
- flex-direction: column;
112
- flex-grow: 1;
113
- max-width: 1000px;
114
- position: relative;
115
- }
109
+ .message-content {
110
+ display: flex;
111
+ flex-direction: column;
112
+ flex-grow: 1;
113
+ max-width: 1000px;
114
+ position: relative;
115
+ }
116
116
 
117
- .message-text {
118
- background: #fff;
119
- color: black;
120
- padding: 5px 10px;
121
- border-radius: 15px;
122
- max-width: 80%;
123
- overflow-wrap: break-word;
124
- white-space: pre-wrap;
125
- word-break: break-word;
126
- }
117
+ .message-text {
118
+ background: #fff;
119
+ color: black;
120
+ padding: 5px 10px;
121
+ border-radius: 15px;
122
+ max-width: 80%;
123
+ overflow-wrap: break-word;
124
+ white-space: pre-wrap;
125
+ word-break: break-word;
126
+ }
127
127
 
128
- .message-username {
129
- color: #4f98ec;
130
- }
128
+ .message-username {
129
+ color: #4f98ec;
130
+ }
131
131
 
132
- .message-info {
133
- color: #444444;
134
- }
132
+ .message-info {
133
+ color: #444444;
134
+ }
135
135
 
136
- .in-line-top {
137
- .message-text {
138
- border-bottom-left-radius: 4px !important;
139
- border-bottom-right-radius: 4px !important;
140
- margin-bottom: 2px;
141
- }
142
- }
136
+ .in-line-top {
137
+ .message-text {
138
+ border-bottom-left-radius: 4px !important;
139
+ border-bottom-right-radius: 4px !important;
140
+ margin-bottom: 2px;
141
+ }
142
+ }
143
143
 
144
- .in-line-mid {
145
- .message-text {
146
- margin-top: 0px;
147
- margin-bottom: 2px;
148
- border-radius: 4px !important;
149
- }
150
- }
144
+ .in-line-mid {
145
+ .message-text {
146
+ margin-top: 0px;
147
+ margin-bottom: 2px;
148
+ border-radius: 4px !important;
149
+ }
150
+ }
151
151
 
152
- .in-line-btm {
153
- .message-text {
154
- border-top-left-radius: 4px !important;
155
- border-top-right-radius: 4px !important;
156
- }
157
- }
152
+ .in-line-btm {
153
+ .message-text {
154
+ border-top-left-radius: 4px !important;
155
+ border-top-right-radius: 4px !important;
156
+ }
157
+ }
158
158
 
159
- .is-end {
160
- width: 15px;
161
- height: 15px;
162
- position: absolute;
163
- bottom: 0;
164
- overflow: hidden;
159
+ .is-end {
160
+ width: 15px;
161
+ height: 15px;
162
+ position: absolute;
163
+ bottom: 0;
164
+ overflow: hidden;
165
165
 
166
- &:after {
167
- content: '';
168
- width: 30px;
169
- height: 30px;
170
- border-radius: 50%;
171
- @include light() {
172
- background-color: var(--color-background-two-light);
173
- }
174
- @include dark() {
175
- background-color: var(--color-background-two-dark);
176
- }
177
- position: absolute;
178
- top: -15px;
179
- }
180
- }
166
+ &:after {
167
+ content: '';
168
+ width: 30px;
169
+ height: 30px;
170
+ border-radius: 50%;
181
171
 
182
- &:not(.is-me) {
183
- .is-end {
184
- background-color: #fff;
185
- @include ltr() {
186
- left: -15px;
187
- }
188
- @include rtl() {
189
- right: -15px;
190
- }
172
+ background-color: var(--color-background-two);
191
173
 
192
- &:after {
193
- @include ltr() {
194
- left: -15px;
195
- }
196
- @include rtl() {
197
- right: -15px;
198
- }
199
- }
200
- }
174
+ position: absolute;
175
+ top: -15px;
176
+ }
177
+ }
201
178
 
202
- .message-content {
203
- @include ltr() {
204
- align-items: flex-end;
205
- }
206
- @include rtl() {
207
- align-items: flex-start;
208
- }
209
- }
179
+ &:not(.is-me) {
180
+ .is-end {
181
+ background-color: #fff;
182
+ @include ltr() {
183
+ left: -15px;
184
+ }
185
+ @include rtl() {
186
+ right: -15px;
187
+ }
210
188
 
211
- .message-text {
212
- @include ltr() {
213
- border-bottom-left-radius: 0px;
214
- }
215
- @include rtl() {
216
- border-bottom-right-radius: 0px;
217
- }
218
- }
189
+ &:after {
190
+ @include ltr() {
191
+ left: -15px;
192
+ }
193
+ @include rtl() {
194
+ right: -15px;
219
195
  }
196
+ }
197
+ }
220
198
 
221
- &.is-me {
222
- flex-direction: row-reverse;
223
- @include rtl() {
224
- margin-left: 15px;
225
- }
226
- @include ltr() {
227
- margin-right: 15px;
228
- }
199
+ .message-content {
200
+ @include ltr() {
201
+ align-items: flex-end;
202
+ }
203
+ @include rtl() {
204
+ align-items: flex-start;
205
+ }
206
+ }
229
207
 
230
- .is-end {
231
- background-color: #4f98ec;
232
- @include rtl() {
233
- left: -15px;
234
- }
235
- @include ltr() {
236
- right: -15px;
237
- }
208
+ .message-text {
209
+ @include ltr() {
210
+ border-bottom-left-radius: 0px;
211
+ }
212
+ @include rtl() {
213
+ border-bottom-right-radius: 0px;
214
+ }
215
+ }
216
+ }
238
217
 
239
- &:after {
240
- @include rtl() {
241
- left: -15px;
242
- }
243
- @include ltr() {
244
- right: -15px;
245
- }
246
- }
247
- }
218
+ &.is-me {
219
+ flex-direction: row-reverse;
220
+ @include rtl() {
221
+ margin-left: 15px;
222
+ }
223
+ @include ltr() {
224
+ margin-right: 15px;
225
+ }
248
226
 
249
- .message-text {
250
- background-color: #4f98ec;
251
- color: white;
252
- @include ltr() {
253
- border-bottom-right-radius: 0px;
254
- }
255
- @include rtl() {
256
- border-bottom-left-radius: 0px;
257
- }
258
- }
227
+ .is-end {
228
+ background-color: #4f98ec;
229
+ @include rtl() {
230
+ left: -15px;
231
+ }
232
+ @include ltr() {
233
+ right: -15px;
234
+ }
259
235
 
260
- .message-info {
261
- color: #eeeeee;
262
- }
236
+ &:after {
237
+ @include rtl() {
238
+ left: -15px;
239
+ }
240
+ @include ltr() {
241
+ right: -15px;
242
+ }
243
+ }
244
+ }
245
+
246
+ .message-text {
247
+ background-color: #4f98ec;
248
+ color: white;
249
+ @include ltr() {
250
+ border-bottom-right-radius: 0px;
251
+ }
252
+ @include rtl() {
253
+ border-bottom-left-radius: 0px;
254
+ }
255
+ }
263
256
 
264
- .message-content {
265
- @include ltr() {
266
- align-items: flex-start;
257
+ .message-info {
258
+ color: #eeeeee;
259
+ }
267
260
 
268
- }
269
- @include rtl() {
270
- align-items: flex-end;
261
+ .message-content {
262
+ @include ltr() {
263
+ align-items: flex-start;
271
264
 
272
- }
273
- }
274
- }
265
+ }
266
+ @include rtl() {
267
+ align-items: flex-end;
268
+
269
+ }
275
270
  }
271
+ }
272
+ }
276
273
  </style>