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
@@ -376,53 +376,20 @@ export default {
376
376
  font-size: 10px;
377
377
  color: #303030;
378
378
 
379
- @include dark {
380
- $Color: var(--color-one-dark);
381
379
  .cell {
382
380
  &.today {
383
- color: $Color;
381
+ color: var(--color-one);
384
382
 
385
- .cellContent {
386
- border: solid 1px $Color;
387
- }
383
+ .cellContent {
384
+ border: solid 1px var(--color-one);
385
+ }
388
386
  }
389
387
 
390
388
  &.selected {
391
- .cellContent {
392
- color: #fff;
393
- background: $Color;
394
-
395
- }
396
- }
397
-
398
- &.selectable:hover {
399
389
  .cellContent {
400
390
 
401
- color: #fff;
402
- background: $Color;
403
-
404
- }
405
- }
406
-
407
- }
408
- }
409
-
410
- @include light {
411
- $Color: var(--color-one-light);
412
- .cell {
413
- &.today {
414
- color: $Color;
415
-
416
- .cellContent {
417
- border: solid 1px $Color;
418
- }
419
- }
420
-
421
- &.selected {
422
- .cellContent {
423
-
424
- color: #fff;
425
- background: $Color;
391
+ color: #fff;
392
+ background: var(--color-one);
426
393
 
427
394
  }
428
395
  }
@@ -430,14 +397,14 @@ export default {
430
397
  &.selectable:hover {
431
398
  .cellContent {
432
399
 
433
- color: #fff;
434
- background: $Color;
400
+ color: #fff;
401
+ background: var(--color-one);
435
402
 
436
403
  }
437
404
  }
438
405
 
439
406
  }
440
- }
407
+
441
408
 
442
409
  .table {
443
410
 
@@ -1,209 +1,208 @@
1
1
  <template>
2
- <div ref="uploader" class="image-card elevation-lg br-md">
3
- <div class="file-holder text-center">
4
- <div class="image-canvas" v-if="file||modelValue">
5
- <r-btn icon class="image-close color-white">
6
- <r-icon @click.prevent="fileDelete()" class="color-error-text" v-html="$r.icons.delete"></r-icon>
7
- </r-btn>
8
- <r-progress-circular
9
- :indeterminate=false
10
- :modelValue="uploadPercentage"
11
- :width="2"
12
- class="image-progress"
13
- size="50"
14
- >
15
- {{ `% ${uploadPercentage}` }}
16
- </r-progress-circular>
17
- <r-btn @click.prevent="$helper.copy(fileLink)" class="image-copy" icon>
18
- <r-icon v-html="$r.icons.copy"></r-icon>
19
- </r-btn>
20
- <img v-if="isImg()" :class="`image ${imageStatus} `" :src="getUrl(file)">
21
- <r-icon v-else
22
- class="file" width="100" height="100" v-html="$r.icons.file" :class="{'color-one-text':uploadPercentage===100}"
23
- ></r-icon>
24
- </div>
25
- <div class="file-meta pa-1" v-if="meta && uploadPercentage===100">
26
- <r-text-input :label="$t(m,'renusify')" v-model="metaList[m]" @update:model-value="emit"
27
- v-for="(m,k) in meta" :key="k"
28
- :rules="['required']"></r-text-input>
29
- </div>
30
- </div>
31
- <r-icon @click.prevent.stop="pickFile"
32
- class="cursor-pointer w-full h-full d-flex h-center v-center color-one-text" width="100" height="100"
33
- v-html="$r.icons.plus"
34
- v-if="showAdd"></r-icon>
35
- <input :accept="accept"
36
- @change="addFile()"
37
- ref="file"
38
- style="display: none"
39
- type="file"
40
- v-if="showFile"
2
+ <div ref="uploader" class="image-card elevation-lg br-md">
3
+ <div class="file-holder text-center">
4
+ <div class="image-canvas" v-if="file||modelValue">
5
+ <r-btn icon class="image-close color-white">
6
+ <r-icon @click.prevent="fileDelete()" class="color-error-text" v-html="$r.icons.delete"></r-icon>
7
+ </r-btn>
8
+ <r-progress-circular
9
+ :indeterminate=false
10
+ :modelValue="uploadPercentage"
11
+ :width="2"
12
+ class="image-progress"
13
+ size="50"
41
14
  >
15
+ {{ `% ${uploadPercentage}` }}
16
+ </r-progress-circular>
17
+ <r-btn @click.prevent="$helper.copy(fileLink)" class="image-copy" icon>
18
+ <r-icon v-html="$r.icons.copy"></r-icon>
19
+ </r-btn>
20
+ <img v-if="isImg()" :class="`image ${imageStatus} `" :src="getUrl(file)">
21
+ <r-icon v-else
22
+ class="file" width="100" height="100" v-html="$r.icons.file"
23
+ :class="{'color-one-text':uploadPercentage===100}"
24
+ ></r-icon>
25
+ </div>
26
+ <div class="file-meta pa-1" v-if="meta && uploadPercentage===100">
27
+ <r-text-input :label="$t(m,'renusify')" v-model="metaList[m]" @update:model-value="emit"
28
+ v-for="(m,k) in meta" :key="k"
29
+ :rules="['required']"></r-text-input>
30
+ </div>
42
31
  </div>
32
+ <r-icon @click.prevent.stop="pickFile"
33
+ class="cursor-pointer w-full h-full d-flex h-center v-center color-one-text" width="100" height="100"
34
+ v-html="$r.icons.plus"
35
+ v-if="showAdd"></r-icon>
36
+ <input :accept="accept"
37
+ @change="addFile()"
38
+ ref="file"
39
+ style="display: none"
40
+ type="file"
41
+ v-if="showFile"
42
+ >
43
+ </div>
43
44
  </template>
44
45
 
45
46
  <script>
46
- import file from "./file";
47
-
48
- export default {
49
- name: 'inputFile',
50
- mixins: [file],
51
- props: {
52
- accept: {
53
- default: '*',
54
- type: String
55
- },
56
- wPH: [Number, String, Array],
57
- maxFileSize: Number,
58
- uploadLink: {
59
- type: String,
60
- required: true
61
- },
62
- modelValue: {
63
- default: null,
64
- type: [String, Object]
65
- },
66
- meta: {
67
- type: Array,
68
- default: null
69
- }
70
- },
71
- data() {
72
- return {
73
- showAdd: true,
74
- showFile: true,
75
- metaList: {}
76
- }
77
- },
78
- created() {
79
- this.setValue()
80
- },
81
- methods: {
82
- setValue() {
83
- if (this.modelValue) {
84
- this.fileLink = this.meta ? this.modelValue['url'] : this.modelValue
85
- this.metaList = this.meta ? this.modelValue['meta'] : {}
86
- this.showAdd = false
87
- this.imageStatus = 'finished'
88
- this.uploadPercentage = 100
89
- this.emit()
90
- }
91
- },
92
- getUrl(value) {
93
- if (this.modelValue) {
94
- return '/' + this.fileLink
95
- } else {
96
- return URL.createObjectURL(value)
97
- }
98
- },
99
- isImg() {
100
- let is = false
101
- let image = this.accept.split('/')
102
- is = image[0] === 'image'
103
- if (!is) {
104
- const p = this.fileLink.split('.')
105
- is = ['jpg', 'jpeg', 'png', 'gif'].includes(p[p.length - 1])
106
- }
107
- return is
108
- },
109
- emit() {
110
- if (this.meta) {
111
- this.$emit('file-link', {'url': this.fileLink, 'meta': this.metaList})
112
- } else {
113
- this.$emit('file-link', this.fileLink)
114
- }
115
- this.$emit('select', true)
116
- }
117
-
118
- }
47
+ import file from "./file";
48
+
49
+ export default {
50
+ name: 'inputFile',
51
+ mixins: [file],
52
+ props: {
53
+ accept: {
54
+ default: '*',
55
+ type: String
56
+ },
57
+ wPH: [Number, String, Array],
58
+ maxFileSize: Number,
59
+ uploadLink: {
60
+ type: String,
61
+ required: true
62
+ },
63
+ modelValue: {
64
+ default: null,
65
+ type: [String, Object]
66
+ },
67
+ meta: {
68
+ type: Array,
69
+ default: null
70
+ }
71
+ },
72
+ data() {
73
+ return {
74
+ showAdd: true,
75
+ showFile: true,
76
+ metaList: {}
119
77
  }
78
+ },
79
+ created() {
80
+ this.setValue()
81
+ },
82
+ methods: {
83
+ setValue() {
84
+ if (this.modelValue) {
85
+ this.fileLink = this.meta ? this.modelValue['url'] : this.modelValue
86
+ this.metaList = this.meta ? this.modelValue['meta'] : {}
87
+ this.showAdd = false
88
+ this.imageStatus = 'finished'
89
+ this.uploadPercentage = 100
90
+ this.emit()
91
+ }
92
+ },
93
+ getUrl(value) {
94
+ if (this.modelValue) {
95
+ return '/' + this.fileLink
96
+ } else {
97
+ return URL.createObjectURL(value)
98
+ }
99
+ },
100
+ isImg() {
101
+ let is = false
102
+ let image = this.accept.split('/')
103
+ is = image[0] === 'image'
104
+ if (!is) {
105
+ const p = this.fileLink.split('.')
106
+ is = ['jpg', 'jpeg', 'png', 'gif'].includes(p[p.length - 1])
107
+ }
108
+ return is
109
+ },
110
+ emit() {
111
+ if (this.meta) {
112
+ this.$emit('file-link', {'url': this.fileLink, 'meta': this.metaList})
113
+ } else {
114
+ this.$emit('file-link', this.fileLink)
115
+ }
116
+ this.$emit('select', true)
117
+ }
118
+
119
+ }
120
+ }
120
121
  </script>
121
122
 
122
123
  <style lang="scss">
123
- @import "../../../style/include";
124
-
125
- .#{$prefix}file-uploader {
126
- .image-card {
127
- position: relative;
128
- width: auto;
129
- min-width: 150px;
130
- min-height: 200px;
131
- @include dark() {
132
- background-color: #3a3e3a;
133
- }
134
- @include light() {
135
- background-color: white;
136
- }
137
-
138
- .file-meta {
139
- width: 250px;
140
- }
141
-
142
- .fails {
143
- -webkit-filter: grayscale(100%);
144
- filter: grayscale(100%);
145
- }
146
-
147
- .inProgress {
148
- -webkit-filter: blur(2px);
149
- filter: blur(2px);
150
- }
151
-
152
- .finished {
153
- -webkit-filter: blur(0px);
154
- filter: blur(0px);
155
- }
156
-
157
- .file {
158
- left: 0;
159
- right: 0;
160
- position: absolute;
161
- top: 0;
162
- bottom: 0;
163
- }
164
-
165
- .image {
166
- width: auto;
167
- min-width: 150px;
168
- height: 200px;
169
- z-index: -2;
170
- opacity: 0.8;
171
- }
172
- .icon-100{
173
- width: 100px;
174
- height: 100px;
175
- }
176
-
177
- .image-canvas {
178
- width: auto;
179
- min-width: 150px;
180
- height: 200px;
181
- position: relative;
182
- background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
183
- }
184
-
185
- .image-close {
186
- cursor: pointer;
187
- position: absolute;
188
- left: 5px;
189
- top: 5px;
190
- z-index: 1;
191
- }
192
-
193
- .image-progress {
194
- z-index: 1;
195
- position: absolute;
196
- right: 5px;
197
- top: 5px;
198
- color: white;
199
- }
200
-
201
- .image-copy {
202
- z-index: 1;
203
- position: absolute;
204
- left: 5px;
205
- bottom: 5px;
206
- }
207
- }
124
+ @import "../../../style/include";
125
+
126
+ .#{$prefix}file-uploader {
127
+ .image-card {
128
+ position: relative;
129
+ width: auto;
130
+ min-width: 150px;
131
+ min-height: 200px;
132
+
133
+ background-color: white;
134
+
135
+
136
+ .file-meta {
137
+ width: 250px;
138
+ }
139
+
140
+ .fails {
141
+ -webkit-filter: grayscale(100%);
142
+ filter: grayscale(100%);
143
+ }
144
+
145
+ .inProgress {
146
+ -webkit-filter: blur(2px);
147
+ filter: blur(2px);
148
+ }
149
+
150
+ .finished {
151
+ -webkit-filter: blur(0px);
152
+ filter: blur(0px);
153
+ }
154
+
155
+ .file {
156
+ left: 0;
157
+ right: 0;
158
+ position: absolute;
159
+ top: 0;
160
+ bottom: 0;
161
+ }
162
+
163
+ .image {
164
+ width: auto;
165
+ min-width: 150px;
166
+ height: 200px;
167
+ z-index: -2;
168
+ opacity: 0.8;
169
+ }
170
+
171
+ .icon-100 {
172
+ width: 100px;
173
+ height: 100px;
174
+ }
175
+
176
+ .image-canvas {
177
+ width: auto;
178
+ min-width: 150px;
179
+ height: 200px;
180
+ position: relative;
181
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
182
+ }
183
+
184
+ .image-close {
185
+ cursor: pointer;
186
+ position: absolute;
187
+ left: 5px;
188
+ top: 5px;
189
+ z-index: 1;
190
+ }
191
+
192
+ .image-progress {
193
+ z-index: 1;
194
+ position: absolute;
195
+ right: 5px;
196
+ top: 5px;
197
+ color: white;
198
+ }
199
+
200
+ .image-copy {
201
+ z-index: 1;
202
+ position: absolute;
203
+ left: 5px;
204
+ bottom: 5px;
208
205
  }
206
+ }
207
+ }
209
208
  </style>
@@ -169,13 +169,9 @@
169
169
  direction: ltr;
170
170
 
171
171
  .btn-country {
172
- width: 120px;
173
- @include light() {
174
- border-color: var(--color-border-light)
175
- }
176
- @include dark() {
177
- border-color: var(--color-border-dark)
178
- }
172
+ width: 120px;
173
+ border-color: var(--color-border)
174
+
179
175
  }
180
176
 
181
177
  .input-phone {
@@ -71,15 +71,9 @@ export default {
71
71
  .#{$prefix}radio-input {
72
72
  width: 100%;
73
73
  cursor: pointer;
74
- @include light() {
75
- .radio-input-item {
76
- border: 1px solid var(--color-border-light)
77
- }
78
- }
79
- @include dark() {
80
- .radio-input-item {
81
- border: 1px solid var(--color-border-dark)
82
- }
74
+
75
+ .radio-input-item {
76
+ border: 1px solid var(--color-border)
83
77
  }
84
78
 
85
79
  .#{$prefix}icon {
@@ -18,52 +18,27 @@
18
18
  }
19
19
  }
20
20
 
21
- @include light() {
22
21
  &:not(.input-disabled) {
23
22
  input,
24
23
  textarea, .label, .#{$prefix}icon, .#{$prefix}btn {
25
- color: var(--color-text-primary-light)
24
+ color: var(--color-text-primary)
26
25
  }
27
26
  }
28
27
 
29
28
  input::placeholder,
30
29
  textarea::placeholder {
31
- color: var(--color-text-disabled-light)
30
+ color: var(--color-text-disabled)
32
31
  }
33
32
 
34
33
  &.input-disabled {
35
34
  * {
36
- color: var(--color-text-disabled-light)
35
+ color: var(--color-text-disabled)
37
36
  }
38
37
  }
39
38
 
40
39
  .input-control {
41
- border: solid 1px var(--color-border-light)
40
+ border: solid 1px var(--color-border)
42
41
  }
43
- }
44
- @include dark() {
45
- &:not(.input-disabled) {
46
- input,
47
- textarea, .label, .#{$prefix}icon, .#{$prefix}btn {
48
- color: var(--color-text-primary-dark)
49
- }
50
- }
51
-
52
- input::placeholder,
53
- textarea::placeholder {
54
- color: var(--color-text-disabled-dark)
55
- }
56
-
57
- &.input-disabled {
58
- * {
59
- color: var(--color-text-disabled-dark)
60
- }
61
- }
62
-
63
- .input-control {
64
- border: solid 1px var(--color-border-dark)
65
- }
66
- }
67
42
 
68
43
  &.input-disabled {
69
44
  pointer-events: none;
@@ -5,10 +5,5 @@
5
5
  max-width: 100%;
6
6
  white-space: nowrap;
7
7
  transition: 1s $primary-transition;
8
- @include light(){
9
- color: var(--color-text-disabled-light);
10
- }
11
- @include dark(){
12
- color: var(--color-text-disabled-dark);
13
- }
8
+ color: var(--color-text-disabled);
14
9
  }
@@ -23,12 +23,7 @@
23
23
  width: 100%;
24
24
  height: 100%;
25
25
  border-radius: 10px;
26
- @include light() {
27
- background-color: var(--color-disabled-light);
28
- }
29
- @include dark() {
30
- background-color: var(--color-disabled-dark);
31
- }
26
+ background-color: var(--color-disabled);
32
27
  }
33
28
 
34
29
  .switch-dot {
@@ -2,33 +2,15 @@
2
2
 
3
3
  .#{$prefix}text-editor {
4
4
 
5
- @include light() {
6
- .editor-content {
7
- border: 1px solid var(--color-border-light);
8
5
 
9
- &:hover, &:focus {
10
- border: 1px solid var(--color-border-hover-light);
11
- }
12
- }
13
- }
14
- @include dark() {
15
6
  .editor-content {
16
- border: 1px solid var(--color-border-dark);
17
-
18
- &:hover, &:focus {
19
- border: 1px solid var(--color-border-hover-dark);
20
- }
7
+ border: 1px solid var(--color-border);
21
8
  }
22
- }
9
+
23
10
  @include typography($headings, 'body-1');
24
11
 
25
12
  a {
26
- @include dark() {
27
- color: var(--color-link-dark)
28
- }
29
- @include light() {
30
- color: var(--color-link-light)
31
- }
13
+ color: var(--color-link)
32
14
  }
33
15
 
34
16
  img {
@@ -36,7 +18,7 @@
36
18
  }
37
19
 
38
20
  .editor-content {
39
- color: var(--color-text-primary-light);
21
+ color: var(--color-text-primary);
40
22
  transition: all .3s ease;
41
23
  min-height: 200px;
42
24
  max-height: 60vh;
@@ -482,23 +482,18 @@
482
482
  @import "../../../style/include";
483
483
 
484
484
  .#{$prefix}timepicker-clock {
485
- @include light() {
486
- --color-timepicker: var(--color-one-light);
487
- }
488
-
489
- @include dark() {
490
- --color-timepicker: var(--color-one-dark);
491
- }
492
485
 
493
- .text-time {
494
- display: flex;
495
- justify-content: center;
496
- align-content: center;
497
- margin-top: 40px;
498
- width: 260px;
499
- height: 60px;
500
- color: #818181;
501
- font-size: 30px;
486
+ --color-timepicker: var(--color-one);
487
+
488
+ .text-time {
489
+ display: flex;
490
+ justify-content: center;
491
+ align-content: center;
492
+ margin-top: 40px;
493
+ width: 260px;
494
+ height: 60px;
495
+ color: #818181;
496
+ font-size: 30px;
502
497
  }
503
498
 
504
499
  .text-time > .time-show {