@eturnity/eturnity_reusable_components 1.1.61 → 1.1.64
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/package.json
CHANGED
package/src/App.vue
CHANGED
|
@@ -32,10 +32,12 @@
|
|
|
32
32
|
<br />
|
|
33
33
|
<toggle
|
|
34
34
|
@on-toggle-change="onInputChange($event)"
|
|
35
|
-
:isChecked="
|
|
35
|
+
:isChecked="inputValue"
|
|
36
36
|
label="My Label Text"
|
|
37
|
+
infoTextMessage="This is my test message"
|
|
38
|
+
infoTextAlign="right"
|
|
37
39
|
labelAlign="right"
|
|
38
|
-
:disabled="
|
|
40
|
+
:disabled="false"
|
|
39
41
|
/>
|
|
40
42
|
<br />
|
|
41
43
|
<input-number
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<container>
|
|
3
3
|
<flex-wrapper :size="size" :disabled="disabled" @click="onToggleChange">
|
|
4
|
-
<label-
|
|
5
|
-
label
|
|
6
|
-
|
|
4
|
+
<label-container
|
|
5
|
+
v-if="label && labelAlign === 'left'"
|
|
6
|
+
:hasInfoMessage="!!infoTextMessage"
|
|
7
|
+
>
|
|
8
|
+
<label-text :size="size">{{ label }}</label-text>
|
|
9
|
+
<info-text
|
|
10
|
+
v-if="infoTextMessage"
|
|
11
|
+
:text="infoTextMessage"
|
|
12
|
+
borderColor="#ccc"
|
|
13
|
+
size="14"
|
|
14
|
+
:alignText="infoTextAlign"
|
|
15
|
+
/>
|
|
16
|
+
</label-container>
|
|
7
17
|
<toggle-wrapper
|
|
8
18
|
role="checkbox"
|
|
9
19
|
:checked="isChecked"
|
|
@@ -26,12 +36,19 @@
|
|
|
26
36
|
:disabled="disabled"
|
|
27
37
|
/>
|
|
28
38
|
</toggle-wrapper>
|
|
29
|
-
<label-
|
|
30
|
-
v-if="labelAlign === 'right'"
|
|
31
|
-
:
|
|
32
|
-
:fontColor="fontColor"
|
|
33
|
-
>{{ label }}</label-text
|
|
39
|
+
<label-container
|
|
40
|
+
v-if="label && labelAlign === 'right'"
|
|
41
|
+
:hasInfoMessage="!!infoTextMessage"
|
|
34
42
|
>
|
|
43
|
+
<label-text :size="size" :fontColor="fontColor">{{ label }}</label-text>
|
|
44
|
+
<info-text
|
|
45
|
+
v-if="infoTextMessage"
|
|
46
|
+
:text="infoTextMessage"
|
|
47
|
+
borderColor="#ccc"
|
|
48
|
+
size="14"
|
|
49
|
+
:alignText="infoTextAlign"
|
|
50
|
+
/>
|
|
51
|
+
</label-container>
|
|
35
52
|
</flex-wrapper>
|
|
36
53
|
</container>
|
|
37
54
|
</template>
|
|
@@ -49,9 +66,12 @@
|
|
|
49
66
|
// labelAlign="right"
|
|
50
67
|
// fontColor="black"
|
|
51
68
|
// :disabled="true"
|
|
69
|
+
// infoTextAlign="right" // left by default
|
|
70
|
+
// infoTextMessage="My info message"
|
|
52
71
|
// />
|
|
53
72
|
|
|
54
73
|
import styled from "vue-styled-components"
|
|
74
|
+
import InfoText from "../../infoText"
|
|
55
75
|
|
|
56
76
|
const Container = styled.div`
|
|
57
77
|
display: inline-block;
|
|
@@ -131,7 +151,6 @@ const backgroundAttrs = {
|
|
|
131
151
|
disabled: Boolean,
|
|
132
152
|
}
|
|
133
153
|
const ToggleBackground = styled("span", backgroundAttrs)`
|
|
134
|
-
/* display: inline-block; */
|
|
135
154
|
display: block;
|
|
136
155
|
border-radius: 100px;
|
|
137
156
|
height: 100%;
|
|
@@ -198,6 +217,15 @@ const ToggleDot = styled("span", toggleProps)`
|
|
|
198
217
|
}
|
|
199
218
|
`
|
|
200
219
|
|
|
220
|
+
const labelAttrs = { hasInfoMessage: Boolean }
|
|
221
|
+
const LabelContainer = styled("div", labelAttrs)`
|
|
222
|
+
display: inline-grid;
|
|
223
|
+
grid-template-columns: ${(props) =>
|
|
224
|
+
props.hasInfoMessage ? "auto 1fr" : "auto"};
|
|
225
|
+
grid-gap: 12px;
|
|
226
|
+
align-items: center;
|
|
227
|
+
`
|
|
228
|
+
|
|
201
229
|
export default {
|
|
202
230
|
name: "toggle",
|
|
203
231
|
components: {
|
|
@@ -207,6 +235,8 @@ export default {
|
|
|
207
235
|
ToggleWrapper,
|
|
208
236
|
FlexWrapper,
|
|
209
237
|
LabelText,
|
|
238
|
+
InfoText,
|
|
239
|
+
LabelContainer,
|
|
210
240
|
},
|
|
211
241
|
props: {
|
|
212
242
|
label: {
|
|
@@ -238,6 +268,12 @@ export default {
|
|
|
238
268
|
required: false,
|
|
239
269
|
default: false,
|
|
240
270
|
},
|
|
271
|
+
infoTextMessage: {
|
|
272
|
+
required: false,
|
|
273
|
+
},
|
|
274
|
+
infoTextAlign: {
|
|
275
|
+
required: false,
|
|
276
|
+
},
|
|
241
277
|
},
|
|
242
278
|
methods: {
|
|
243
279
|
onToggleChange() {
|
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
>
|
|
7
7
|
<modal-container @click.stop>
|
|
8
8
|
<spinner v-if="isLoading" size="50px" :fullWidth="true" />
|
|
9
|
-
<close-button
|
|
9
|
+
<close-button
|
|
10
|
+
v-if="!hideClose"
|
|
11
|
+
@click.native="onCloseModal()"
|
|
12
|
+
class="close"
|
|
13
|
+
/>
|
|
10
14
|
<slot />
|
|
11
15
|
</modal-container>
|
|
12
16
|
</page-wrapper>
|
|
@@ -16,7 +20,7 @@
|
|
|
16
20
|
// import Modal from "@eturnity/eturnity_reusable_components/src/components/modals/modal"
|
|
17
21
|
// This is a more flexible modal box, where the parent can decide how the body of the modal looks
|
|
18
22
|
// To use:
|
|
19
|
-
// <modal :isOpen="isOpen" @on-close="$emit('on-close-summary')" :preventOutsideClose="true" :isLoading="true">
|
|
23
|
+
// <modal :isOpen="isOpen" @on-close="$emit('on-close-summary')" :preventOutsideClose="true" :isLoading="true" :hideClose="true">
|
|
20
24
|
// <div>Data....</div>
|
|
21
25
|
// </modal>
|
|
22
26
|
|
|
@@ -109,6 +113,10 @@ export default {
|
|
|
109
113
|
required: false,
|
|
110
114
|
default: false,
|
|
111
115
|
},
|
|
116
|
+
hideClose: {
|
|
117
|
+
required: false,
|
|
118
|
+
default: false,
|
|
119
|
+
},
|
|
112
120
|
},
|
|
113
121
|
methods: {
|
|
114
122
|
onCloseModal() {
|