renusify 1.0.6 → 1.0.9

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 (55) 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/index.vue +4 -1
  21. package/components/form/fileUploader/single.vue +197 -197
  22. package/components/form/inputTel/index.vue +3 -7
  23. package/components/form/radioInput.vue +3 -9
  24. package/components/form/scss/input.scss +4 -29
  25. package/components/form/scss/rating.scss +1 -6
  26. package/components/form/scss/switch.scss +1 -6
  27. package/components/form/text-editor/style.scss +4 -22
  28. package/components/form/timepicker/timepicker.vue +11 -16
  29. package/components/form/unit-input.vue +98 -101
  30. package/components/icon/style.scss +2 -6
  31. package/components/img/index.vue +192 -175
  32. package/components/index.js +3 -1
  33. package/components/infinite/index.vue +1 -1
  34. package/components/list/style.scss +2 -16
  35. package/components/map/route.vue +1 -1
  36. package/components/menu/index.vue +4 -15
  37. package/components/modal/style.scss +3 -12
  38. package/components/progress/circular.vue +1 -1
  39. package/components/progress/style.scss +5 -21
  40. package/components/skeleton/index.vue +77 -0
  41. package/components/swiper/index.vue +8 -4
  42. package/components/table/style.scss +19 -111
  43. package/components/tabs/index.vue +116 -130
  44. package/components/timeline/index.vue +13 -18
  45. package/components/tree/index.vue +11 -15
  46. package/directive/intersect/index.js +23 -20
  47. package/index.js +0 -1
  48. package/package.json +1 -1
  49. package/plugins/trans/Translate.js +1 -0
  50. package/style/app.scss +7 -71
  51. package/style/colors.scss +49 -73
  52. package/style/mixins/index.scss +0 -12
  53. package/style/variables/color.scss +8 -9
  54. package/tools/helper.js +15 -1
  55. 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
 
@@ -9,6 +9,7 @@
9
9
  <single class="ma-1"
10
10
  :accept="accept"
11
11
  :meta="meta"
12
+ :metaRequired="metaRequired"
12
13
  :uploadLink="uploadLink"
13
14
  :modelValue="file"
14
15
  :w-p-h="wPH"
@@ -20,6 +21,7 @@
20
21
  <single :key="'add-'+keyAdd" v-if="filesLinks.length<size" class="ma-1"
21
22
  :accept="accept"
22
23
  :meta="meta"
24
+ :metaRequired="metaRequired"
23
25
  :w-p-h="wPH"
24
26
  :maxFileSize="maxFileSize"
25
27
  :uploadLink="uploadLink"
@@ -58,7 +60,8 @@ export default {
58
60
  },
59
61
  type: Array
60
62
  },
61
- meta: Array
63
+ meta: Array,
64
+ metaRequired: {type: Boolean, default: true}
62
65
  },
63
66
  components: {
64
67
  single
@@ -1,209 +1,209 @@
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="[metaRequired&&'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
+ metaRequired: Boolean
72
+ },
73
+ data() {
74
+ return {
75
+ showAdd: true,
76
+ showFile: true,
77
+ metaList: {}
78
+ }
79
+ },
80
+ created() {
81
+ this.setValue()
82
+ },
83
+ methods: {
84
+ setValue() {
85
+ if (this.modelValue) {
86
+ this.fileLink = this.meta ? this.modelValue['url'] : this.modelValue
87
+ this.metaList = this.meta ? this.modelValue['meta'] : {}
88
+ this.showAdd = false
89
+ this.imageStatus = 'finished'
90
+ this.uploadPercentage = 100
91
+ this.emit()
92
+ }
93
+ },
94
+ getUrl(value) {
95
+ if (this.modelValue) {
96
+ return '/' + this.fileLink
97
+ } else {
98
+ return URL.createObjectURL(value)
99
+ }
100
+ },
101
+ isImg() {
102
+ let is = false
103
+ let image = this.accept.split('/')
104
+ is = image[0] === 'image'
105
+ if (!is) {
106
+ const p = this.fileLink.split('.')
107
+ is = ['jpg', 'jpeg', 'png', 'gif'].includes(p[p.length - 1])
108
+ }
109
+ return is
110
+ },
111
+ emit() {
112
+ if (this.meta) {
113
+ this.$emit('file-link', {'url': this.fileLink, 'meta': this.metaList})
114
+ } else {
115
+ this.$emit('file-link', this.fileLink)
116
+ }
117
+ this.$emit('select', true)
119
118
  }
119
+
120
+ }
121
+ }
120
122
  </script>
121
123
 
122
124
  <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
- }
125
+ @import "../../../style/include";
126
+
127
+ .#{$prefix}file-uploader {
128
+ .image-card {
129
+ position: relative;
130
+ width: auto;
131
+ min-width: 150px;
132
+ min-height: 200px;
133
+
134
+ background-color: white;
135
+
136
+
137
+ .file-meta {
138
+ width: 250px;
139
+ }
140
+
141
+ .fails {
142
+ -webkit-filter: grayscale(100%);
143
+ filter: grayscale(100%);
144
+ }
145
+
146
+ .inProgress {
147
+ -webkit-filter: blur(2px);
148
+ filter: blur(2px);
149
+ }
150
+
151
+ .finished {
152
+ -webkit-filter: blur(0px);
153
+ filter: blur(0px);
154
+ }
155
+
156
+ .file {
157
+ left: 0;
158
+ right: 0;
159
+ position: absolute;
160
+ top: 0;
161
+ bottom: 0;
162
+ }
163
+
164
+ .image {
165
+ width: auto;
166
+ min-width: 150px;
167
+ height: 200px;
168
+ z-index: -2;
169
+ opacity: 0.8;
170
+ }
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;
208
206
  }
207
+ }
208
+ }
209
209
  </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;