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.
- package/components/app/index.vue +23 -32
- package/components/app/style.scss +7 -18
- package/components/bar/bottomNavigationCircle.vue +75 -81
- package/components/bar/scss/bottomNav.scss +4 -13
- package/components/bar/scss/toolbar.scss +4 -9
- package/components/breadcrumb/style.scss +3 -9
- package/components/button/buttonConfirm.vue +44 -0
- package/components/button/style.scss +13 -38
- package/components/calendar/index.vue +5 -35
- package/components/card/style.scss +8 -17
- package/components/chat/chatInput.vue +4 -10
- package/components/chat/chatMsg.vue +222 -225
- package/components/chat/index.vue +104 -109
- package/components/chip/style.scss +27 -33
- package/components/container/style.scss +9 -11
- package/components/form/camInput.vue +1 -1
- package/components/form/checkbox.vue +115 -121
- package/components/form/colorPicker/picker.vue +9 -24
- package/components/form/datePicker/index.vue +9 -42
- package/components/form/fileUploader/single.vue +196 -197
- package/components/form/inputTel/index.vue +3 -7
- package/components/form/radioInput.vue +3 -9
- package/components/form/scss/input.scss +4 -29
- package/components/form/scss/rating.scss +1 -6
- package/components/form/scss/switch.scss +1 -6
- package/components/form/text-editor/style.scss +4 -22
- package/components/form/timepicker/timepicker.vue +11 -16
- package/components/form/unit-input.vue +98 -101
- package/components/icon/style.scss +2 -6
- package/components/index.js +2 -0
- package/components/infinite/index.vue +1 -1
- package/components/list/style.scss +2 -16
- package/components/map/route.vue +1 -1
- package/components/menu/index.vue +4 -15
- package/components/modal/style.scss +3 -12
- package/components/progress/style.scss +5 -21
- package/components/skeleton/index.vue +77 -0
- package/components/swiper/index.vue +8 -4
- package/components/table/style.scss +19 -111
- package/components/tabs/index.vue +116 -130
- package/components/timeline/index.vue +13 -18
- package/components/tree/index.vue +11 -15
- package/index.js +0 -1
- package/package.json +1 -1
- package/plugins/trans/Translate.js +1 -0
- package/style/app.scss +7 -71
- package/style/colors.scss +49 -73
- package/style/mixins/index.scss +0 -12
- package/style/variables/color.scss +8 -9
- package/tools/helper.js +15 -1
- package/components/skeletonLoader/index.vue +0 -42
|
@@ -1,121 +1,118 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
2
|
+
<r-input :class="`${$r.prefix}unit-input`" :active="active"
|
|
3
|
+
:model-value="lazyValue"
|
|
4
|
+
@click.prevent="handleClick">
|
|
5
|
+
<input :autofocus="autofocus"
|
|
6
|
+
:type="type"
|
|
7
|
+
@focusin="active=true"
|
|
8
|
+
@focusout="active=false"
|
|
9
|
+
@input="emit"
|
|
10
|
+
autocomplete="no"
|
|
11
|
+
ref="input"
|
|
12
|
+
v-model="lazyValue"
|
|
13
|
+
:readonly="disableInput"
|
|
14
|
+
:class="{'input-shadow':disableInput}"
|
|
15
|
+
class="me-1"
|
|
16
|
+
/>
|
|
17
|
+
<div class="select-unit" :class="{'input-shadow':disableUnit}">
|
|
18
|
+
<r-select :readonly="disableUnit" :items="units" v-model="unit"
|
|
19
|
+
@update:model-value="emit" hide justValue :translate="translate"
|
|
20
|
+
class="mt-0"
|
|
21
|
+
firstSelect></r-select>
|
|
22
|
+
</div>
|
|
23
|
+
</r-input>
|
|
24
24
|
</template>
|
|
25
25
|
<script>
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
disableInput: Boolean,
|
|
46
|
-
disableUnit: Boolean,
|
|
47
|
-
autofocus: Boolean,
|
|
48
|
-
translate: Boolean
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
data() {
|
|
52
|
-
return {
|
|
53
|
-
lazyValue: this.modelValue.value,
|
|
54
|
-
active: false,
|
|
55
|
-
unit: this.modelValue.unit
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
watch: {
|
|
59
|
-
modelValue() {
|
|
60
|
-
this.lazyValue = this.modelValue.value
|
|
61
|
-
this.unit = this.modelValue.unit
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
methods: {
|
|
65
|
-
handleClick(e) {
|
|
66
|
-
this.$refs.input.focus()
|
|
67
|
-
},
|
|
68
|
-
emit() {
|
|
69
|
-
this.$emit('update:modelValue', {value: this.lazyValue, unit: this.unit})
|
|
70
|
-
}
|
|
26
|
+
export default {
|
|
27
|
+
name: 'r-unit-input',
|
|
28
|
+
props: {
|
|
29
|
+
type: {
|
|
30
|
+
type: String,
|
|
31
|
+
default: 'text'
|
|
32
|
+
},
|
|
33
|
+
units: {
|
|
34
|
+
type: Array,
|
|
35
|
+
required: true
|
|
36
|
+
},
|
|
37
|
+
modelValue: {
|
|
38
|
+
type: Object, default: () => {
|
|
39
|
+
return {
|
|
40
|
+
value: null,
|
|
41
|
+
unit: null
|
|
71
42
|
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
disableInput: Boolean,
|
|
46
|
+
disableUnit: Boolean,
|
|
47
|
+
autofocus: Boolean,
|
|
48
|
+
translate: Boolean
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
data() {
|
|
52
|
+
return {
|
|
53
|
+
lazyValue: this.modelValue.value,
|
|
54
|
+
active: false,
|
|
55
|
+
unit: this.modelValue.unit
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
watch: {
|
|
59
|
+
modelValue() {
|
|
60
|
+
this.lazyValue = this.modelValue.value
|
|
61
|
+
this.unit = this.modelValue.unit
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
methods: {
|
|
65
|
+
handleClick(e) {
|
|
66
|
+
this.$refs.input.focus()
|
|
67
|
+
},
|
|
68
|
+
emit() {
|
|
69
|
+
this.$emit('update:modelValue', {value: this.lazyValue, unit: this.unit})
|
|
72
70
|
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
73
|
|
|
74
74
|
</script>
|
|
75
75
|
<style lang="scss">
|
|
76
|
-
|
|
76
|
+
@import "../../style/include";
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
.#{$prefix}unit-input {
|
|
79
|
+
.input-shadow, .input-shadow * {
|
|
80
|
+
color: var(--color-text-disabled) !important
|
|
81
|
+
}
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
input {
|
|
84
|
+
width: calc(65% - 4px);
|
|
85
|
+
}
|
|
86
86
|
|
|
87
|
-
@include dark() {
|
|
88
|
-
--c-unit: var(--color-border-dark)
|
|
89
|
-
}
|
|
90
|
-
@include light() {
|
|
91
|
-
--c-unit: var(--color-border-light)
|
|
92
|
-
}
|
|
93
87
|
|
|
94
|
-
|
|
95
|
-
width: calc(35% + 16px);
|
|
96
|
-
overflow-x: clip;
|
|
88
|
+
--c-unit: var(--color-border);
|
|
97
89
|
|
|
98
|
-
* {
|
|
99
|
-
font-size: map-metro-get($headings, 'overline', 'size') !important;
|
|
100
|
-
}
|
|
101
90
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
border-right: 1px solid var(--c-unit) !important;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
@include ltr() {
|
|
109
|
-
border-left: 1px solid var(--c-unit) !important;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
91
|
+
.select-unit {
|
|
92
|
+
width: calc(35% + 16px);
|
|
93
|
+
overflow-x: clip;
|
|
112
94
|
|
|
95
|
+
* {
|
|
96
|
+
font-size: map-metro-get($headings, 'overline', 'size') !important;
|
|
97
|
+
}
|
|
113
98
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
99
|
+
.input-control {
|
|
100
|
+
border-radius: 0;
|
|
101
|
+
@include rtl() {
|
|
102
|
+
border-right: 1px solid var(--c-unit) !important;
|
|
103
|
+
}
|
|
117
104
|
|
|
118
|
-
|
|
105
|
+
@include ltr() {
|
|
106
|
+
border-left: 1px solid var(--c-unit) !important;
|
|
119
107
|
}
|
|
120
108
|
}
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
.card-select {
|
|
112
|
+
border-top-right-radius: 0;
|
|
113
|
+
border-top-left-radius: 0;
|
|
114
|
+
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
121
118
|
</style>
|
|
@@ -7,12 +7,8 @@
|
|
|
7
7
|
&.icon-disabled {
|
|
8
8
|
pointer-events: none;
|
|
9
9
|
opacity: .6;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
@include dark() {
|
|
14
|
-
color: var(--color-disabled-dark) !important
|
|
15
|
-
}
|
|
10
|
+
color: var(--color-disabled) !important
|
|
11
|
+
|
|
16
12
|
}
|
|
17
13
|
|
|
18
14
|
@include rtl() {
|
package/components/index.js
CHANGED
|
@@ -10,6 +10,7 @@ const list = {
|
|
|
10
10
|
'r-bottom-navigation-circle': {'p': 'bar/bottomNavigationCircle.vue', 'c': ['r-icon'], 'd': []},
|
|
11
11
|
'r-breadcrumbs': {'p': 'breadcrumb/index.vue', 'c': ['r-icon'], 'd': []},
|
|
12
12
|
'r-btn': {'p': 'button/index.vue', 'c': ['r-progress-circular'], 'd': ['ripple']},
|
|
13
|
+
'r-btn-confirm': {'p': 'button/buttonConfirm.vue', 'c': ['r-btn', 'r-confirm'], 'd': []},
|
|
13
14
|
'r-btn-group': {
|
|
14
15
|
'p': 'button/buttonGroup.vue',
|
|
15
16
|
'c': ['r-btn', 'r-icon', 'r-card', 'r-list'],
|
|
@@ -142,6 +143,7 @@ const list = {
|
|
|
142
143
|
'c': ['r-input', 'r-progress-liner', 'r-card', 'r-list', 'r-btn', 'r-icon'],
|
|
143
144
|
'd': ['click-outside']
|
|
144
145
|
},
|
|
146
|
+
'r-skeleton': {'p': 'skeleton/index.vue', 'c': [], 'd': []},
|
|
145
147
|
'r-slider': {'p': 'slider/index.vue', 'c': ['r-progress-liner', 'r-btn', 'r-icon'], 'd': ['touch']},
|
|
146
148
|
'r-swiper': {'p': 'swiper/index.vue', 'c': [], 'd': ['touch']},
|
|
147
149
|
'r-table': {
|
|
@@ -11,29 +11,15 @@ $item-height: 48px;
|
|
|
11
11
|
position: relative;
|
|
12
12
|
max-width: 100%;
|
|
13
13
|
|
|
14
|
-
@include light() {
|
|
15
14
|
.list-item {
|
|
16
15
|
&.list-item-active {
|
|
17
|
-
background-color: var(--color-table-active
|
|
16
|
+
background-color: var(--color-table-active)
|
|
18
17
|
}
|
|
19
18
|
|
|
20
19
|
&:hover {
|
|
21
|
-
background-color: var(--color-table-hover
|
|
20
|
+
background-color: var(--color-table-hover)
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@include dark() {
|
|
27
|
-
.list-item {
|
|
28
|
-
&.list-item-active {
|
|
29
|
-
background-color: var(--color-table-active-dark)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
&:hover {
|
|
33
|
-
background-color: var(--color-table-hover-dark)
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
23
|
|
|
38
24
|
&.list-subheader {
|
|
39
25
|
align-items: center;
|
package/components/map/route.vue
CHANGED
|
@@ -138,38 +138,27 @@ export default {
|
|
|
138
138
|
|
|
139
139
|
.menu-selected {
|
|
140
140
|
position: relative;
|
|
141
|
-
color: var(--color-one
|
|
141
|
+
color: var(--color-one);
|
|
142
142
|
|
|
143
143
|
&:before {
|
|
144
144
|
content: '';
|
|
145
145
|
position: absolute;
|
|
146
146
|
left: 0;
|
|
147
147
|
top: 0;
|
|
148
|
-
background-color: var(--color-one
|
|
148
|
+
background-color: var(--color-one);
|
|
149
149
|
opacity: .1;
|
|
150
150
|
width: 100%;
|
|
151
151
|
height: 100%;
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
@include light() {
|
|
156
155
|
.dropdown-menu {
|
|
157
|
-
border: 1px solid var(--color-border
|
|
156
|
+
border: 1px solid var(--color-border);
|
|
158
157
|
|
|
159
158
|
&-item:hover {
|
|
160
|
-
background-color: var(--color-table-hover
|
|
159
|
+
background-color: var(--color-table-hover);
|
|
161
160
|
}
|
|
162
161
|
}
|
|
163
|
-
}
|
|
164
|
-
@include dark() {
|
|
165
|
-
.dropdown-menu {
|
|
166
|
-
border: 1px solid var(--color-border-dark);
|
|
167
|
-
|
|
168
|
-
&-item:hover {
|
|
169
|
-
background-color: var(--color-table-hover-dark);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
162
|
|
|
174
163
|
.menu-label {
|
|
175
164
|
cursor: pointer;
|
|
@@ -12,22 +12,13 @@
|
|
|
12
12
|
outline: none;
|
|
13
13
|
bottom: 0;
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
&:not(.modal-no-overlay) {
|
|
17
|
-
background-color: var(--color-overlay-light);
|
|
18
|
-
}
|
|
19
|
-
.modal-content {
|
|
20
|
-
border: 1px solid var(--color-border-light);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
@include dark() {
|
|
15
|
+
|
|
24
16
|
&:not(.modal-no-overlay) {
|
|
25
|
-
background-color: var(--color-overlay
|
|
17
|
+
background-color: var(--color-overlay);
|
|
26
18
|
}
|
|
27
19
|
.modal-content {
|
|
28
|
-
border: 1px solid var(--color-border
|
|
20
|
+
border: 1px solid var(--color-border);
|
|
29
21
|
}
|
|
30
|
-
}
|
|
31
22
|
|
|
32
23
|
&:not(.modal-no-overlay) {
|
|
33
24
|
backdrop-filter: blur(3px) grayscale(30%);
|
|
@@ -84,35 +84,19 @@ $progress-circular-overlay-transition: all .6s ease-in-out !default;
|
|
|
84
84
|
|
|
85
85
|
.#{$prefix}progress {
|
|
86
86
|
text-align: center;
|
|
87
|
-
@include light() {
|
|
88
87
|
&.progress-outlined {
|
|
89
|
-
color: var(--color-divider
|
|
88
|
+
color: var(--color-divider)
|
|
90
89
|
}
|
|
91
90
|
.liner-determinate {
|
|
92
|
-
background-color: var(--color-text-primary
|
|
91
|
+
background-color: var(--color-text-primary);
|
|
93
92
|
}
|
|
94
93
|
.liner-indeterminate {
|
|
95
|
-
background-color: var(--color-text-primary
|
|
94
|
+
background-color: var(--color-text-primary);
|
|
96
95
|
}
|
|
97
96
|
|
|
98
|
-
.progress-background{
|
|
99
|
-
background-color: var(--color-divider
|
|
97
|
+
.progress-background {
|
|
98
|
+
background-color: var(--color-divider);
|
|
100
99
|
}
|
|
101
|
-
}
|
|
102
|
-
@include dark() {
|
|
103
|
-
&.progress-outlined {
|
|
104
|
-
color: var(--color-divider-dark)
|
|
105
|
-
}
|
|
106
|
-
.liner-determinate {
|
|
107
|
-
background-color: var(--color-text-primary-dark);
|
|
108
|
-
}
|
|
109
|
-
.liner-indeterminate {
|
|
110
|
-
background-color: var(--color-text-primary-dark);
|
|
111
|
-
}
|
|
112
|
-
.progress-background{
|
|
113
|
-
background-color: var(--color-divider-dark);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
100
|
|
|
117
101
|
&.progress-outlined {
|
|
118
102
|
border: 1px solid;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="[$r.prefix+'skeleton']">
|
|
3
|
+
<slot v-if="loading||showPreData"></slot>
|
|
4
|
+
<slot v-if="!loading" name="case">
|
|
5
|
+
<div :class="['sk-'+type]" :style="{width:width,height:height}"></div>
|
|
6
|
+
</slot>
|
|
7
|
+
</div>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
export default {
|
|
12
|
+
name: "r-skeleton",
|
|
13
|
+
props: {
|
|
14
|
+
showPreData: Boolean,
|
|
15
|
+
loading: Boolean,
|
|
16
|
+
width: String,
|
|
17
|
+
height: String,
|
|
18
|
+
type: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: 'card',
|
|
21
|
+
validator: function (value) {
|
|
22
|
+
return ['line', 'avatar', 'card'].indexOf(value) !== -1
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style lang="scss">
|
|
30
|
+
@import "~renusify/style/include";
|
|
31
|
+
|
|
32
|
+
.#{$prefix}skeleton {
|
|
33
|
+
.sk-card, .sk-line, .sk-avatar {
|
|
34
|
+
background: rgba(0, 0, 0, 0.12);
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
position: relative;
|
|
37
|
+
|
|
38
|
+
&:after {
|
|
39
|
+
animation: skeletonloading 1.5s infinite;
|
|
40
|
+
content: "";
|
|
41
|
+
height: 100%;
|
|
42
|
+
left: 0;
|
|
43
|
+
position: absolute;
|
|
44
|
+
right: 0;
|
|
45
|
+
top: 0;
|
|
46
|
+
transform: translateX(-100%);
|
|
47
|
+
z-index: 1;
|
|
48
|
+
background: linear-gradient(
|
|
49
|
+
90deg,
|
|
50
|
+
hsla(0, 0%, 100%, 0),
|
|
51
|
+
hsla(0, 0%, 100%, 0.3),
|
|
52
|
+
hsla(0, 0%, 100%, 0)
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.sk-card {
|
|
58
|
+
border-radius: 4px;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.sk-line {
|
|
62
|
+
height: 20px !important;
|
|
63
|
+
border-radius: 10px;
|
|
64
|
+
margin-bottom: 8px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.sk-avatar {
|
|
68
|
+
border-radius: 50%;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@keyframes skeletonloading {
|
|
72
|
+
100% {
|
|
73
|
+
transform: translateX(100%);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
</style>
|
|
@@ -72,7 +72,7 @@ export default {
|
|
|
72
72
|
}
|
|
73
73
|
setTimeout(() => {
|
|
74
74
|
this.slides = Math.ceil(this.$refs.container.scrollWidth / this.$refs.swiper.offsetWidth)
|
|
75
|
-
},
|
|
75
|
+
}, 1000)
|
|
76
76
|
},
|
|
77
77
|
computed: {
|
|
78
78
|
itemWidth() {
|
|
@@ -89,7 +89,11 @@ export default {
|
|
|
89
89
|
methods: {
|
|
90
90
|
goToSlide(n) {
|
|
91
91
|
this.inMove = false
|
|
92
|
-
|
|
92
|
+
let s = -1
|
|
93
|
+
if (this.$r.rtl) {
|
|
94
|
+
s = 1
|
|
95
|
+
}
|
|
96
|
+
this.x = this.$refs.swiper.offsetWidth * (n - 1) * s
|
|
93
97
|
this.end()
|
|
94
98
|
},
|
|
95
99
|
right(x = null) {
|
|
@@ -137,7 +141,7 @@ export default {
|
|
|
137
141
|
}
|
|
138
142
|
this.prePosition = this.x
|
|
139
143
|
|
|
140
|
-
this.currentSlide = Math.ceil(this.x / this.$refs.swiper.offsetWidth) + 1
|
|
144
|
+
this.currentSlide = Math.ceil(this.x / this.$refs.swiper.offsetWidth * r) + 1
|
|
141
145
|
}, 60)
|
|
142
146
|
|
|
143
147
|
}
|
|
@@ -227,4 +231,4 @@ export default {
|
|
|
227
231
|
}
|
|
228
232
|
|
|
229
233
|
}
|
|
230
|
-
</style>
|
|
234
|
+
</style>
|