renusify 1.0.5 → 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 (53) 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/codeEditor/index.vue +29 -15
  16. package/components/codeEditor/run.vue +1 -1
  17. package/components/container/style.scss +9 -11
  18. package/components/form/camInput.vue +1 -1
  19. package/components/form/checkbox.vue +115 -121
  20. package/components/form/colorPicker/picker.vue +9 -24
  21. package/components/form/datePicker/index.vue +9 -42
  22. package/components/form/fileUploader/single.vue +196 -197
  23. package/components/form/inputTel/index.vue +3 -7
  24. package/components/form/radioInput.vue +3 -9
  25. package/components/form/scss/input.scss +4 -29
  26. package/components/form/scss/rating.scss +1 -6
  27. package/components/form/scss/switch.scss +1 -6
  28. package/components/form/text-editor/style.scss +4 -22
  29. package/components/form/timepicker/timepicker.vue +11 -16
  30. package/components/form/unit-input.vue +98 -101
  31. package/components/icon/style.scss +2 -6
  32. package/components/index.js +2 -0
  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 +24 -19
  37. package/components/modal/style.scss +3 -12
  38. package/components/progress/style.scss +5 -21
  39. package/components/skeleton/index.vue +77 -0
  40. package/components/swiper/index.vue +8 -4
  41. package/components/table/style.scss +19 -111
  42. package/components/tabs/index.vue +116 -130
  43. package/components/timeline/index.vue +13 -18
  44. package/components/tree/index.vue +11 -15
  45. package/index.js +1 -2
  46. package/package.json +1 -1
  47. package/plugins/trans/Translate.js +4 -0
  48. package/style/app.scss +7 -71
  49. package/style/colors.scss +49 -73
  50. package/style/mixins/index.scss +0 -12
  51. package/style/variables/color.scss +8 -9
  52. package/tools/helper.js +15 -1
  53. package/components/skeletonLoader/index.vue +0 -42
@@ -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 {