renusify 1.4.8 → 2.0.0
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/style.scss +2 -10
- package/components/app/toast/toast.vue +4 -3
- package/components/bar/bottomNavigationCircle.vue +1 -1
- package/components/bar/scss/bottomNav.scss +2 -2
- package/components/breadcrumb/style.scss +1 -1
- package/components/button/index.vue +4 -4
- package/components/button/style.scss +17 -27
- package/components/calendar/index.vue +3 -4
- package/components/card/style.scss +1 -3
- package/components/chat/chatInput.vue +2 -2
- package/components/chat/chatMsg.vue +3 -3
- package/components/chat/index.vue +2 -1
- package/components/chip/index.vue +1 -1
- package/components/chip/style.scss +20 -10
- package/components/codeEditor/index.vue +5 -4
- package/components/confirm/index.vue +3 -3
- package/components/container/style.scss +1 -1
- package/components/form/checkbox.vue +1 -1
- package/components/form/colorPicker/picker.vue +6 -5
- package/components/form/datePicker/index.vue +2 -4
- package/components/form/form.vue +7 -4
- package/components/form/group-input.vue +1 -1
- package/components/form/input.vue +21 -20
- package/components/form/inputTel/index.vue +1 -31
- package/components/form/json/index.vue +1 -1
- package/components/form/radioInput.vue +1 -1
- package/components/form/rating.vue +4 -1
- package/components/form/select.vue +1 -1
- package/components/form/switch.vue +1 -7
- package/components/form/text-editor/index.vue +15 -15
- package/components/form/text-editor/style.scss +6 -6
- package/components/form/timepicker/timepicker.vue +3 -4
- package/components/form/unit-input.vue +2 -2
- package/components/formCreator/index.vue +1 -1
- package/components/icon/style.scss +1 -4
- package/components/img/index.vue +1 -1
- package/components/img/svgImg.vue +5 -3
- package/components/infinite/div.vue +2 -2
- package/components/infinite/index.vue +1 -1
- package/components/infinite/page.vue +2 -2
- package/components/list/index.vue +2 -2
- package/components/list/style.scss +10 -6
- package/components/map/index.vue +1 -1
- package/components/map/route.vue +2 -2
- package/components/menu/index.vue +1 -1
- package/components/notify/notification.vue +2 -2
- package/components/progress/style.scss +4 -4
- package/components/searchBox/index.vue +2 -2
- package/components/table/crud/header.vue +1 -1
- package/components/table/index.vue +4 -3
- package/components/table/style.scss +19 -16
- package/components/timeline/index.vue +1 -1
- package/components/tour/index.vue +5 -5
- package/components/tree/index.vue +0 -1
- package/package.json +1 -1
- package/style/app.scss +40 -34
- package/style/base.scss +45 -51
- package/style/colors.scss +48 -39
- package/style/mixins/index.scss +17 -6
- package/style/variables/base.scss +84 -69
- package/style/variables/color.scss +1 -2
|
@@ -3,16 +3,8 @@
|
|
|
3
3
|
.#{$prefix}app {
|
|
4
4
|
display: flex;
|
|
5
5
|
|
|
6
|
-
background: var(--color-
|
|
7
|
-
color: var(--color-
|
|
8
|
-
|
|
9
|
-
.background-one {
|
|
10
|
-
background: var(--color-background-one);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.background-two {
|
|
14
|
-
background: var(--color-background-two);
|
|
15
|
-
}
|
|
6
|
+
background: var(--color-sheet-container-lowest);
|
|
7
|
+
color: var(--color-on-sheet-container-lowest);
|
|
16
8
|
|
|
17
9
|
|
|
18
10
|
&.app-rtl {
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
<div :class="`${$r.prefix}toast`">
|
|
3
3
|
<transition name="slide-up">
|
|
4
4
|
<div class="toast-content br-sm elevation-md" :class="'color-'+type" v-if="modelValue">
|
|
5
|
-
<span class="title">
|
|
5
|
+
<span class="title-1">
|
|
6
6
|
<slot></slot>
|
|
7
7
|
</span>
|
|
8
8
|
<r-spacer></r-spacer>
|
|
9
|
-
|
|
9
|
+
<r-btn :class="{
|
|
10
10
|
'color-info-text':type==='warning',
|
|
11
11
|
'color-warning-text':type!=='warning'
|
|
12
|
-
}" v-if="action" @click.prevent="action(this)">{{actionName}}
|
|
12
|
+
}" class="title-1 font-weight-bold" text v-if="action" @click.prevent="action(this)">{{ actionName }}
|
|
13
|
+
</r-btn>
|
|
13
14
|
<r-btn @click.prevent="close()"
|
|
14
15
|
icon
|
|
15
16
|
text
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@import "../../../style/include";
|
|
2
2
|
|
|
3
|
-
$bottom-nav-btn-font-size: map-metro-get($headings, '
|
|
3
|
+
$bottom-nav-btn-font-size: map-metro-get($headings, 'label-1', 'size') !default;
|
|
4
4
|
|
|
5
5
|
.#{$prefix}bottom-navigation {
|
|
6
6
|
bottom: 0;
|
|
@@ -12,7 +12,7 @@ $bottom-nav-btn-font-size: map-metro-get($headings, 'caption', 'size') !default;
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
background-color: var(--color-sheet);
|
|
15
|
-
color: var(--color-
|
|
15
|
+
color: var(--color-on-sheet);
|
|
16
16
|
|
|
17
17
|
.router-link-exact-active {
|
|
18
18
|
color: var(--color-one) !important
|
|
@@ -22,14 +22,15 @@
|
|
|
22
22
|
|
|
23
23
|
<script>
|
|
24
24
|
import './style.scss'
|
|
25
|
-
import {
|
|
25
|
+
import {roots} from '../../tools/rootable'
|
|
26
|
+
|
|
26
27
|
export default {
|
|
27
28
|
name: 'r-btn',
|
|
28
29
|
mixins: [roots],
|
|
29
30
|
props: {
|
|
30
31
|
tag: {
|
|
31
32
|
type: String,
|
|
32
|
-
default: '
|
|
33
|
+
default: 'button'
|
|
33
34
|
},
|
|
34
35
|
size: {
|
|
35
36
|
type: String,
|
|
@@ -89,8 +90,7 @@ export default {
|
|
|
89
90
|
c += ' btn-tile'
|
|
90
91
|
}
|
|
91
92
|
if (this.disabled) {
|
|
92
|
-
c +=
|
|
93
|
-
c += ' disabled-text'
|
|
93
|
+
c += ` btn-disabled`
|
|
94
94
|
}
|
|
95
95
|
if (this.readonly) {
|
|
96
96
|
c += ' btn-readonly'
|
|
@@ -58,37 +58,36 @@ $btn-transition: opacity 0.2s map-get($transition, 'ease-in-out') !default;
|
|
|
58
58
|
vertical-align: middle;
|
|
59
59
|
white-space: nowrap;
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
&.btn-disabled {
|
|
63
|
-
color: var(--color-disabled) !important;
|
|
64
|
-
|
|
65
|
-
.btn-loading {
|
|
66
|
-
color: var(--color-disabled) !important
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
&:not(.btn-text):not(.btn-outlined) {
|
|
70
|
-
background-color: var(--color-focused) !important
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
61
|
&:not(.btn-text):not(.btn-outlined) {
|
|
75
62
|
background-color: var(--color-sheet);
|
|
63
|
+
color: var(--color-on-sheet);
|
|
76
64
|
}
|
|
77
65
|
|
|
78
66
|
&.btn-outlined.btn-text {
|
|
79
|
-
border-color: var(--color-
|
|
67
|
+
border-color: var(--color-border)
|
|
80
68
|
}
|
|
81
69
|
|
|
82
70
|
|
|
83
71
|
@include states();
|
|
84
72
|
|
|
73
|
+
&.btn-disabled {
|
|
74
|
+
@include disable-states();
|
|
75
|
+
|
|
76
|
+
&:not(.btn-text):not(.btn-outlined) {
|
|
77
|
+
background-color: var(--color-#{map-metro-get($states, 'disabled','state','color')}) !important;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
&.btn-text, &.btn-outlined {
|
|
81
|
+
&::before {
|
|
82
|
+
opacity: 0 !important;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
85
87
|
@include ltr() {
|
|
86
88
|
letter-spacing: $btn-letter-spacing;
|
|
87
89
|
}
|
|
88
90
|
|
|
89
|
-
&.btn-disabled {
|
|
90
|
-
pointer-events: none;
|
|
91
|
-
}
|
|
92
91
|
|
|
93
92
|
&.btn-readonly {
|
|
94
93
|
pointer-events: none;
|
|
@@ -109,10 +108,6 @@ $btn-transition: opacity 0.2s map-get($transition, 'ease-in-out') !default;
|
|
|
109
108
|
background-color: currentColor
|
|
110
109
|
}
|
|
111
110
|
|
|
112
|
-
&:not(.btn-disabled) {
|
|
113
|
-
will-change: box-shadow
|
|
114
|
-
}
|
|
115
|
-
|
|
116
111
|
&:not(.btn-round) {
|
|
117
112
|
@each $name, $size in $btn-sizes {
|
|
118
113
|
$p: div($size, 2.25);
|
|
@@ -223,11 +218,6 @@ $btn-transition: opacity 0.2s map-get($transition, 'ease-in-out') !default;
|
|
|
223
218
|
box-shadow: none !important
|
|
224
219
|
}
|
|
225
220
|
|
|
226
|
-
.btn-disabled {
|
|
227
|
-
box-shadow: none;
|
|
228
|
-
pointer-events: none
|
|
229
|
-
}
|
|
230
|
-
|
|
231
221
|
.btn-icon,
|
|
232
222
|
.btn-fab {
|
|
233
223
|
min-height: 0;
|
|
@@ -351,7 +341,7 @@ $btn-transition: opacity 0.2s map-get($transition, 'ease-in-out') !default;
|
|
|
351
341
|
|
|
352
342
|
.#{$prefix}button-group {
|
|
353
343
|
position: relative;
|
|
354
|
-
color:
|
|
344
|
+
color: var(--color-on-sheet);;
|
|
355
345
|
background-color: var(--color-sheet);
|
|
356
346
|
|
|
357
347
|
@include states();
|
|
@@ -329,9 +329,8 @@ export default {
|
|
|
329
329
|
border: 1px solid var(--color-border);
|
|
330
330
|
}
|
|
331
331
|
.cell {
|
|
332
|
-
&.today {
|
|
333
|
-
color: var(--color-one);
|
|
334
332
|
|
|
333
|
+
&.today {
|
|
335
334
|
.cellContent {
|
|
336
335
|
border: solid 1px var(--color-one);
|
|
337
336
|
}
|
|
@@ -345,8 +344,8 @@ export default {
|
|
|
345
344
|
|
|
346
345
|
}
|
|
347
346
|
.cell.disabled {
|
|
348
|
-
background-color: var(--color-
|
|
349
|
-
opacity: 0.
|
|
347
|
+
background-color: var(--color-border);
|
|
348
|
+
opacity: 0.3;
|
|
350
349
|
}
|
|
351
350
|
|
|
352
351
|
|
|
@@ -71,11 +71,9 @@
|
|
|
71
71
|
transition: box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
72
72
|
@include elevation('md');
|
|
73
73
|
border-radius: map_get($borders, 'md');
|
|
74
|
-
|
|
75
|
-
|
|
76
74
|
background-color: var(--color-sheet);
|
|
77
75
|
border-color: var(--color-sheet);
|
|
78
|
-
color: var(--color-
|
|
76
|
+
color: var(--color-on-sheet);
|
|
79
77
|
|
|
80
78
|
|
|
81
79
|
&-tile {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<r-icon v-html="$r.icons.send"></r-icon>
|
|
38
38
|
</r-btn>
|
|
39
39
|
<br>
|
|
40
|
-
<span class="
|
|
40
|
+
<span v-if="remain<30" class="label-1 color-error-text">{{ remain }}</span>
|
|
41
41
|
</div>
|
|
42
42
|
<input accept="*"
|
|
43
43
|
@change="addFile()"
|
|
@@ -118,7 +118,7 @@ export default {
|
|
|
118
118
|
display: flex;
|
|
119
119
|
|
|
120
120
|
box-shadow: black 0px 8px 15px;
|
|
121
|
-
background: var(--color-
|
|
121
|
+
background: var(--color-sheet-container);
|
|
122
122
|
border-top: 1px solid var(--color-border);
|
|
123
123
|
|
|
124
124
|
.chat-input {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
'in-line-btm':i===message.list.length-1&&message.list.length>1
|
|
19
19
|
}">
|
|
20
20
|
<div class="message-text body-1">
|
|
21
|
-
<div class="message-username
|
|
21
|
+
<div v-if="!isMe" class="message-username title-3">{{ user.name }}
|
|
22
22
|
</div>
|
|
23
23
|
<div v-if="msg.type==='file'" @click="$helper.download('/'+msg.link)">
|
|
24
24
|
<div class="mx-n2 mt-n1" v-if="isImg(msg.link)">
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
34
34
|
<div v-html="msg.content"></div>
|
|
35
|
-
<div class="message-info text-end
|
|
35
|
+
<div class="message-info text-end label-1">
|
|
36
36
|
{{ msg.timestamp }}
|
|
37
37
|
</div>
|
|
38
38
|
</div>
|
|
@@ -170,7 +170,7 @@ export default {
|
|
|
170
170
|
height: 30px;
|
|
171
171
|
border-radius: 50%;
|
|
172
172
|
|
|
173
|
-
background-color: var(--color-
|
|
173
|
+
background-color: var(--color-sheet-container);
|
|
174
174
|
|
|
175
175
|
position: absolute;
|
|
176
176
|
top: -15px;
|
|
@@ -53,16 +53,29 @@ $icon-sizes: (
|
|
|
53
53
|
transition-duration: $chip-transition-duration;
|
|
54
54
|
transition-timing-function: $chip-transition-fn;
|
|
55
55
|
vertical-align: middle;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
border-color: var(--color-divider);
|
|
56
|
+
border-color: var(--color-border);
|
|
59
57
|
|
|
60
58
|
&:not(.chip-active) {
|
|
61
|
-
background:
|
|
59
|
+
background: var(--color-two-container);
|
|
60
|
+
color: var(--color-on-two-container);
|
|
62
61
|
}
|
|
63
62
|
|
|
64
63
|
@include states();
|
|
65
64
|
|
|
65
|
+
&.chip-disabled {
|
|
66
|
+
@include disable-states();
|
|
67
|
+
|
|
68
|
+
&:not(.chip-text):not(.chip-outlined) {
|
|
69
|
+
background-color: var(--color-#{map-metro-get($states, 'disabled','state','color')}) !important;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&.btn-text, &.btn-outlined {
|
|
73
|
+
&::before {
|
|
74
|
+
opacity: 0 !important;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
66
79
|
&:before {
|
|
67
80
|
background-color: currentColor;
|
|
68
81
|
bottom: 0;
|
|
@@ -108,18 +121,15 @@ $icon-sizes: (
|
|
|
108
121
|
}
|
|
109
122
|
|
|
110
123
|
&.chip-active {
|
|
124
|
+
background-color: var(--color-one);
|
|
125
|
+
color: var(--color-on-one);
|
|
126
|
+
|
|
111
127
|
.#{$prefix}icon {
|
|
112
128
|
color: inherit;
|
|
113
129
|
padding: 0 3px;
|
|
114
130
|
}
|
|
115
131
|
}
|
|
116
132
|
|
|
117
|
-
&.chip-disabled {
|
|
118
|
-
opacity: .4;
|
|
119
|
-
pointer-events: none;
|
|
120
|
-
user-select: none;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
133
|
&.chip-label {
|
|
124
134
|
border-radius: $chip-label-border-radius !important
|
|
125
135
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div :class="`${$r.prefix}code-editor`">
|
|
3
3
|
<div class="code-action text-right">
|
|
4
4
|
<r-btn
|
|
5
|
-
class="
|
|
5
|
+
class="color-white-text"
|
|
6
6
|
icon
|
|
7
7
|
text
|
|
8
8
|
@click.prevent="$helper.copy($refs.codeView.innerText)"
|
|
@@ -10,18 +10,18 @@
|
|
|
10
10
|
<r-icon v-html="$r.icons.copy"></r-icon>
|
|
11
11
|
</r-btn>
|
|
12
12
|
<r-btn
|
|
13
|
-
class="
|
|
13
|
+
class="color-white-text"
|
|
14
14
|
icon
|
|
15
15
|
text
|
|
16
16
|
@click.prevent="pretty"
|
|
17
17
|
>
|
|
18
18
|
P
|
|
19
19
|
</r-btn>
|
|
20
|
-
<r-btn v-if="show === 'code' && runnable" text @click="show = 'run'">
|
|
20
|
+
<r-btn v-if="show === 'code' && runnable" class="color-white-text" text @click="show = 'run'">
|
|
21
21
|
run
|
|
22
22
|
<r-icon v-html="$r.icons.play" exact></r-icon>
|
|
23
23
|
</r-btn>
|
|
24
|
-
<r-btn v-if="show === 'run'" text @click="show = 'code'">
|
|
24
|
+
<r-btn v-if="show === 'run'" class="color-white-text" text @click="show = 'code'">
|
|
25
25
|
<r-icon v-html="$r.icons.code_tags" exact></r-icon>
|
|
26
26
|
</r-btn>
|
|
27
27
|
</div>
|
|
@@ -137,6 +137,7 @@ export default {
|
|
|
137
137
|
background-color: #15212e;
|
|
138
138
|
color: #fff;
|
|
139
139
|
padding: 10px;
|
|
140
|
+
font-size: 14px;
|
|
140
141
|
|
|
141
142
|
.code-script,
|
|
142
143
|
.code-template {
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
<r-container class="container-fluid">
|
|
5
5
|
<r-row>
|
|
6
6
|
<r-col class="col-12 text-center">
|
|
7
|
-
<h2 class="
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
<h2 class="title-1">
|
|
8
|
+
{{ title || $t('confirm_title', 'renusify') }}
|
|
9
|
+
</h2>
|
|
10
10
|
<r-divider class="my-3 color-warning"></r-divider>
|
|
11
11
|
</r-col>
|
|
12
12
|
<r-col class="col-12">
|
|
@@ -70,7 +70,7 @@ $divider-inset-margin: 72px !default;
|
|
|
70
70
|
max-height: 0px;
|
|
71
71
|
transition: inherit;
|
|
72
72
|
|
|
73
|
-
border-top: solid thin var(--color-
|
|
73
|
+
border-top: solid thin var(--color-border);
|
|
74
74
|
|
|
75
75
|
&.divider-inset:not(.divider-vertical) {
|
|
76
76
|
max-width: calc(100% - #{$divider-inset-margin});
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
v-html="$r.icons.check" exact></r-icon>
|
|
17
17
|
</transition>
|
|
18
18
|
</span>
|
|
19
|
-
<span class="ms-2
|
|
19
|
+
<span class="ms-2" @click="emit">
|
|
20
20
|
<span class="color-error-text" v-if="isRequired">*</span>
|
|
21
21
|
<slot name="label">{{ label }}</slot>
|
|
22
22
|
</span>
|
|
@@ -170,7 +170,8 @@ export default {
|
|
|
170
170
|
box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.16);
|
|
171
171
|
z-index: 1;
|
|
172
172
|
|
|
173
|
-
background:
|
|
173
|
+
background: var(--color-sheet-container-lowest);
|
|
174
|
+
color: var(--color-on-sheet-container-lowest);
|
|
174
175
|
|
|
175
176
|
canvas {
|
|
176
177
|
vertical-align: top;
|
|
@@ -212,13 +213,13 @@ export default {
|
|
|
212
213
|
|
|
213
214
|
|
|
214
215
|
.name {
|
|
215
|
-
color:
|
|
216
|
-
background:
|
|
216
|
+
color: var(--color-on-sheet-container);
|
|
217
|
+
background: var(--color-sheet-container)
|
|
217
218
|
}
|
|
218
219
|
|
|
219
220
|
.value {
|
|
220
|
-
color:
|
|
221
|
-
background:
|
|
221
|
+
color: var(--color-on-sheet);
|
|
222
|
+
background: var(--color-sheet)
|
|
222
223
|
}
|
|
223
224
|
}
|
|
224
225
|
}
|
|
@@ -398,7 +398,7 @@ export default {
|
|
|
398
398
|
&.selectable:hover {
|
|
399
399
|
.cellContent {
|
|
400
400
|
|
|
401
|
-
color:
|
|
401
|
+
color: var(--color-on-one);
|
|
402
402
|
background: var(--color-one);
|
|
403
403
|
|
|
404
404
|
}
|
|
@@ -466,9 +466,7 @@ export default {
|
|
|
466
466
|
}
|
|
467
467
|
|
|
468
468
|
.cell.disabled {
|
|
469
|
-
|
|
470
|
-
opacity: 0.5;
|
|
471
|
-
|
|
469
|
+
opacity: 0.38;
|
|
472
470
|
}
|
|
473
471
|
|
|
474
472
|
}
|
package/components/form/form.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<form :class="`${$r.prefix}form`">
|
|
2
|
+
<form :class="`${$r.prefix}form`" @submit.prevent="submit">
|
|
3
3
|
<slot></slot>
|
|
4
4
|
</form>
|
|
5
5
|
</template>
|
|
@@ -18,7 +18,7 @@ export default {
|
|
|
18
18
|
props: {
|
|
19
19
|
modelValue: Boolean
|
|
20
20
|
},
|
|
21
|
-
emits:['update:modelValue'],
|
|
21
|
+
emits: ['update:modelValue', 'submit'],
|
|
22
22
|
data: () => ({
|
|
23
23
|
inputs: [],
|
|
24
24
|
watchers: [],
|
|
@@ -26,7 +26,7 @@ export default {
|
|
|
26
26
|
}),
|
|
27
27
|
watch: {
|
|
28
28
|
errorBag: {
|
|
29
|
-
handler
|
|
29
|
+
handler(val) {
|
|
30
30
|
const errors = Object.values(val).includes(true)
|
|
31
31
|
this.$emit('update:modelValue', !errors)
|
|
32
32
|
},
|
|
@@ -36,7 +36,10 @@ export default {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
methods: {
|
|
39
|
-
|
|
39
|
+
submit() {
|
|
40
|
+
this.$emit('submit', true)
|
|
41
|
+
},
|
|
42
|
+
watchInput(input) {
|
|
40
43
|
const watcher = input => {
|
|
41
44
|
return input.$watch('hasError', val => {
|
|
42
45
|
this.errorBag[input.uid] = val
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
:model-value="modelValue"
|
|
4
4
|
hide>
|
|
5
5
|
<div class="w-full">
|
|
6
|
-
<span v-if="label"
|
|
6
|
+
<span v-if="label">{{ label }}</span>
|
|
7
7
|
<div class="group-holder" v-for="(item,i) in modelValue" :key="i">
|
|
8
8
|
<div class="group-slot">
|
|
9
9
|
<slot :item="item" :index="i" :disableDel="disDel">
|
|
@@ -66,7 +66,7 @@ export default {
|
|
|
66
66
|
},
|
|
67
67
|
validateOnBlur: {type: Boolean, default: undefined}
|
|
68
68
|
},
|
|
69
|
-
emits:['pre-icon','icon','update:modelValue'],
|
|
69
|
+
emits: ['pre-icon', 'icon', 'update:modelValue'],
|
|
70
70
|
data() {
|
|
71
71
|
return {
|
|
72
72
|
uid: 'input_' + this.$helper.uniqueId(),
|
|
@@ -304,32 +304,31 @@ export default {
|
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
306
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
input::placeholder,
|
|
315
|
-
textarea::placeholder {
|
|
316
|
-
color: var(--color-disabled)
|
|
307
|
+
&:not(.input-disabled) {
|
|
308
|
+
input,
|
|
309
|
+
textarea, .label, .#{$prefix}icon, .#{$prefix}btn {
|
|
310
|
+
color: var(--color-on-sheet)
|
|
317
311
|
}
|
|
312
|
+
}
|
|
318
313
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
}
|
|
314
|
+
input::placeholder,
|
|
315
|
+
textarea::placeholder {
|
|
316
|
+
color: var(--color-on-three-container)
|
|
317
|
+
}
|
|
324
318
|
|
|
325
|
-
|
|
326
|
-
|
|
319
|
+
&.input-disabled {
|
|
320
|
+
* {
|
|
321
|
+
color: var(--color-border)
|
|
327
322
|
}
|
|
328
323
|
|
|
329
|
-
&.input-disabled {
|
|
330
324
|
pointer-events: none;
|
|
331
325
|
}
|
|
332
326
|
|
|
327
|
+
.input-control {
|
|
328
|
+
border: solid 1px var(--color-border)
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
|
|
333
332
|
input {
|
|
334
333
|
max-height: 32px
|
|
335
334
|
}
|
|
@@ -369,6 +368,7 @@ export default {
|
|
|
369
368
|
align-items: flex-start;
|
|
370
369
|
justify-content: center;
|
|
371
370
|
position: relative;
|
|
371
|
+
|
|
372
372
|
.after-icon {
|
|
373
373
|
position: absolute;
|
|
374
374
|
cursor: pointer;
|
|
@@ -380,6 +380,7 @@ export default {
|
|
|
380
380
|
}
|
|
381
381
|
|
|
382
382
|
}
|
|
383
|
+
|
|
383
384
|
.pre-icon {
|
|
384
385
|
position: absolute;
|
|
385
386
|
cursor: pointer;
|
|
@@ -534,4 +535,4 @@ export default {
|
|
|
534
535
|
}
|
|
535
536
|
|
|
536
537
|
|
|
537
|
-
</style>
|
|
538
|
+
</style>
|
|
@@ -51,10 +51,8 @@ export default {
|
|
|
51
51
|
type: String
|
|
52
52
|
},
|
|
53
53
|
defaultCountry: {
|
|
54
|
-
// Default country code, ie: 'AU'
|
|
55
|
-
// Will override the current country of user
|
|
56
54
|
type: String,
|
|
57
|
-
default: ''
|
|
55
|
+
default: 'US'
|
|
58
56
|
},
|
|
59
57
|
tile: {type: Boolean, default: undefined},
|
|
60
58
|
required: Boolean,
|
|
@@ -100,37 +98,12 @@ export default {
|
|
|
100
98
|
},
|
|
101
99
|
methods: {
|
|
102
100
|
initializeCountry() {
|
|
103
|
-
/**
|
|
104
|
-
* 1. Use default country if passed from parent
|
|
105
|
-
*/
|
|
106
101
|
if (this.defaultCountry) {
|
|
107
102
|
const defaultCountry = this.findCountry(this.defaultCountry)
|
|
108
103
|
if (defaultCountry) {
|
|
109
104
|
this.activeCountry = defaultCountry
|
|
110
|
-
return
|
|
111
105
|
}
|
|
112
106
|
}
|
|
113
|
-
/**
|
|
114
|
-
* 2. Check if fetching country based on user's IP is allowed, set it as the default country
|
|
115
|
-
*/
|
|
116
|
-
fetch('http://ip-api.com/json/', {
|
|
117
|
-
method: 'get'
|
|
118
|
-
}).then((response) => {
|
|
119
|
-
const that = this
|
|
120
|
-
response.json().then(function (data) {
|
|
121
|
-
that.activeCountry = that.findCountry(data.countryCode) || that.activeCountry
|
|
122
|
-
})
|
|
123
|
-
}).catch((error) => {
|
|
124
|
-
return Promise.reject(error)
|
|
125
|
-
})
|
|
126
|
-
},
|
|
127
|
-
/**
|
|
128
|
-
* Get the list of countries from the list of iso2 code
|
|
129
|
-
*/
|
|
130
|
-
getCountries(list = []) {
|
|
131
|
-
return list
|
|
132
|
-
.map(countryCode => this.findCountry(countryCode))
|
|
133
|
-
.filter(Boolean)
|
|
134
107
|
},
|
|
135
108
|
findCountry(iso = '') {
|
|
136
109
|
return allCountries.find(country => country.iso2 === iso)
|
|
@@ -166,9 +139,6 @@ export default {
|
|
|
166
139
|
},
|
|
167
140
|
toggleDropdown() {
|
|
168
141
|
this.open = !this.open
|
|
169
|
-
},
|
|
170
|
-
clickedOutside() {
|
|
171
|
-
this.open = false
|
|
172
142
|
}
|
|
173
143
|
}
|
|
174
144
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="`${$r.prefix}json-input`">
|
|
3
3
|
<div class="d-flex v-center">
|
|
4
|
-
<r-btn v-if="!disableEditKey" class="me-1 mb-1" icon @click="modeForm=!modeForm">{}</r-btn>
|
|
4
|
+
<r-btn v-if="!disableEditKey" class="me-1 mb-1" icon @click.prevent="modeForm=!modeForm">{}</r-btn>
|
|
5
5
|
<div v-if="label">{{ label }}</div>
|
|
6
6
|
</div>
|
|
7
7
|
<div v-if="modeForm">
|