@eturnity/eturnity_reusable_components 7.12.7-EPDM-10335.0 → 7.12.7-EPDM-10528.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/.storybook/preview.js +1 -1
- package/package.json +23 -19
- package/src/App.vue +2 -2
- package/src/assets/svgIcons/house_3d-1.svg +8 -0
- package/src/assets/svgIcons/house_3d.svg +8 -0
- package/src/components/addNewButton/index.vue +3 -5
- package/src/components/buttons/buttonIcon/index.vue +1 -1
- package/src/components/buttons/closeButton/index.vue +1 -1
- package/src/components/buttons/mainButton/index.vue +8 -7
- package/src/components/deleteIcon/DeleteIcon.stories.js +7 -7
- package/src/components/deleteIcon/index.vue +21 -25
- package/src/components/draggableInputHandle/index.vue +25 -24
- package/src/components/dropdown/index.vue +110 -129
- package/src/components/errorMessage/index.vue +5 -10
- package/src/components/filter/filterSettings.vue +97 -58
- package/src/components/filter/index.vue +3 -3
- package/src/components/filter/parentDropdown.vue +2 -2
- package/src/components/icon/iconCollection.vue +2 -2
- package/src/components/icon/index.vue +70 -67
- package/src/components/iconWrapper/index.vue +4 -1
- package/src/components/infoCard/index.vue +3 -2
- package/src/components/infoText/index.vue +1 -1
- package/src/components/inputs/checkbox/index.vue +6 -21
- package/src/components/inputs/inputNumber/index.vue +11 -8
- package/src/components/inputs/inputNumberQuestion/index.vue +1 -1
- package/src/components/inputs/inputText/index.vue +3 -3
- package/src/components/inputs/radioButton/index.vue +1 -1
- package/src/components/inputs/searchInput/index.vue +11 -28
- package/src/components/inputs/select/index.vue +67 -195
- package/src/components/inputs/select/option/index.vue +11 -36
- package/src/components/inputs/slider/index.vue +16 -16
- package/src/components/inputs/switchField/index.vue +2 -2
- package/src/components/inputs/textAreaInput/index.vue +1 -1
- package/src/components/inputs/toggle/index.vue +2 -2
- package/src/components/label/index.vue +31 -27
- package/src/components/modals/modal/index.vue +6 -2
- package/src/components/navigationTabs/index.vue +20 -27
- package/src/components/pageSubtitle/index.vue +1 -1
- package/src/components/pageTitle/index.vue +4 -4
- package/src/components/pagination/index.vue +1 -1
- package/src/components/progressBar/index.vue +1 -1
- package/src/components/projectMarker/index.vue +9 -16
- package/src/components/sideMenu/index.vue +1 -1
- package/src/components/spinner/index.vue +11 -7
- package/src/components/tableDropdown/index.vue +37 -30
- package/src/components/tables/mainTable/exampleNested.vue +1 -1
- package/src/components/tables/mainTable/index.vue +9 -10
- package/src/components/tables/viewTable/index.vue +2 -2
- package/src/components/threeDots/index.vue +1 -1
- package/src/components/videoThumbnail/index.vue +100 -95
- package/src/main.js +11 -4
- package/src/components/icon/iconCache.js +0 -23
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<component-wrapper>
|
|
3
|
-
<text-overlay
|
|
3
|
+
<text-overlay>
|
|
4
4
|
<slot></slot>
|
|
5
5
|
</text-overlay>
|
|
6
6
|
</component-wrapper>
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
//To use:
|
|
12
12
|
// <error-message />
|
|
13
13
|
|
|
14
|
-
import styled from '
|
|
14
|
+
import styled from 'vue-styled-components'
|
|
15
15
|
|
|
16
|
-
const TextOverlay = styled
|
|
16
|
+
const TextOverlay = styled.div`
|
|
17
17
|
position: absolute;
|
|
18
|
-
top: calc(100% +
|
|
18
|
+
top: calc(100% + 13px);
|
|
19
19
|
background: ${(props) => props.theme.colors.red};
|
|
20
20
|
padding: 10px;
|
|
21
21
|
width: max-content;
|
|
@@ -50,12 +50,7 @@ export default {
|
|
|
50
50
|
TextOverlay,
|
|
51
51
|
ComponentWrapper
|
|
52
52
|
},
|
|
53
|
-
props: {
|
|
54
|
-
marginTop: {
|
|
55
|
-
required: false,
|
|
56
|
-
default: '13px'
|
|
57
|
-
}
|
|
58
|
-
},
|
|
53
|
+
props: {},
|
|
59
54
|
methods: {},
|
|
60
55
|
data() {
|
|
61
56
|
return {}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<upper-container v-if="filterViews && filterViews.length">
|
|
4
4
|
<view-container :maxWidth="activeView.length">
|
|
5
5
|
<select-component
|
|
6
|
-
@click.stop
|
|
6
|
+
@click.native.stop
|
|
7
7
|
selectWidth="100%"
|
|
8
8
|
selectHeight="36px"
|
|
9
9
|
fontSize="13px"
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
<Option
|
|
20
20
|
v-for="(item, idx) in filterViews"
|
|
21
21
|
:key="idx + '_view'"
|
|
22
|
-
@click="$emit('on-view-select', item)"
|
|
22
|
+
@click.native="$emit('on-view-select', item)"
|
|
23
23
|
:value="item.name"
|
|
24
24
|
>{{ item.name }}
|
|
25
|
-
<delete-icon @click.stop="$emit('on-view-delete', item)"
|
|
25
|
+
<delete-icon @click.native.stop="$emit('on-view-delete', item)"
|
|
26
26
|
/></Option>
|
|
27
27
|
</template>
|
|
28
28
|
</select-component>
|
|
@@ -55,28 +55,28 @@
|
|
|
55
55
|
ghost-class="ghost"
|
|
56
56
|
:setData="modifyDragItem"
|
|
57
57
|
v-model="item.dataOptions"
|
|
58
|
-
itemKey="choice"
|
|
59
58
|
>
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
<
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
59
|
+
<checkbox-wrapper
|
|
60
|
+
v-for="(column, index) in item.dataOptions"
|
|
61
|
+
:key="index + 'dataOption'"
|
|
62
|
+
>
|
|
63
|
+
<drag-container class="drag-container">
|
|
64
|
+
<icon :name="'duplicate-1'" size="12px" />
|
|
65
|
+
</drag-container>
|
|
66
|
+
<checkbox
|
|
67
|
+
:label="column.text"
|
|
68
|
+
:isChecked="column.selected"
|
|
69
|
+
@on-event-handler="
|
|
70
|
+
onChange({
|
|
71
|
+
dataType: item.type,
|
|
72
|
+
value: $event,
|
|
73
|
+
choice: column.choice
|
|
74
|
+
})
|
|
75
|
+
"
|
|
76
|
+
size="small"
|
|
77
|
+
:isDisabled="column.selected && isCheckboxDisabled"
|
|
78
|
+
/>
|
|
79
|
+
</checkbox-wrapper>
|
|
80
80
|
</draggable>
|
|
81
81
|
</checkbox-container>
|
|
82
82
|
</row-container>
|
|
@@ -169,20 +169,12 @@
|
|
|
169
169
|
>
|
|
170
170
|
<row-label :data-id="filter.dataId">{{ filter.label }}</row-label>
|
|
171
171
|
<grid-container>
|
|
172
|
-
<
|
|
173
|
-
text-input
|
|
172
|
+
<date-picker-input
|
|
174
173
|
:placeholder="$gettext('Date from')"
|
|
175
|
-
:
|
|
176
|
-
|
|
177
|
-
:
|
|
178
|
-
|
|
179
|
-
:auto-apply="true"
|
|
180
|
-
:disabled-dates="disableFutureDates"
|
|
181
|
-
format="yyyy-MM-dd"
|
|
182
|
-
model-type="format"
|
|
183
|
-
@focus="onDatepickerFocus(filter.range)"
|
|
184
|
-
@close="onDatepickerBlur()"
|
|
185
|
-
@update:model-value="
|
|
174
|
+
:lang="getDatePickerLanguage()"
|
|
175
|
+
type="date"
|
|
176
|
+
:value="filter.range.start"
|
|
177
|
+
@change="
|
|
186
178
|
onChange({
|
|
187
179
|
dataType: item.type,
|
|
188
180
|
value: $event,
|
|
@@ -190,21 +182,18 @@
|
|
|
190
182
|
field: filter.field
|
|
191
183
|
})
|
|
192
184
|
"
|
|
193
|
-
/>
|
|
194
|
-
<VueDatePicker
|
|
195
|
-
text-input
|
|
196
|
-
:placeholder="$gettext('Date to')"
|
|
197
|
-
:locale="getDatePickerLanguage()"
|
|
198
|
-
:model-value="filter.range.end"
|
|
199
|
-
:enable-time-picker="false"
|
|
200
|
-
:clearable="true"
|
|
201
|
-
:auto-apply="true"
|
|
202
|
-
:disabled-dates="disablePastDates"
|
|
203
|
-
format="yyyy-MM-dd"
|
|
204
|
-
model-type="format"
|
|
205
185
|
@focus="onDatepickerFocus(filter.range)"
|
|
206
186
|
@close="onDatepickerBlur()"
|
|
207
|
-
|
|
187
|
+
format="YYYY-MM-DD"
|
|
188
|
+
valueType="format"
|
|
189
|
+
:disabled-date="disableFutureDates"
|
|
190
|
+
/>
|
|
191
|
+
<date-picker-input
|
|
192
|
+
:placeholder="$gettext('Date to')"
|
|
193
|
+
:lang="getDatePickerLanguage()"
|
|
194
|
+
type="date"
|
|
195
|
+
:value="filter.range.end"
|
|
196
|
+
@change="
|
|
208
197
|
onChange({
|
|
209
198
|
dataType: item.type,
|
|
210
199
|
value: $event,
|
|
@@ -212,6 +201,11 @@
|
|
|
212
201
|
field: filter.field
|
|
213
202
|
})
|
|
214
203
|
"
|
|
204
|
+
@focus="onDatepickerFocus(filter.range)"
|
|
205
|
+
@close="onDatepickerBlur()"
|
|
206
|
+
format="YYYY-MM-DD"
|
|
207
|
+
valueType="format"
|
|
208
|
+
:disabled-date="disablePastDates"
|
|
215
209
|
/>
|
|
216
210
|
</grid-container>
|
|
217
211
|
</section-container>
|
|
@@ -253,26 +247,27 @@
|
|
|
253
247
|
v-if="buttonText.apply_view"
|
|
254
248
|
type="primary"
|
|
255
249
|
:text="buttonText.apply_view"
|
|
256
|
-
@click="$emit('on-apply-current-view')"
|
|
250
|
+
@click.native="$emit('on-apply-current-view')"
|
|
257
251
|
/>
|
|
258
252
|
<main-button
|
|
259
253
|
type="secondary"
|
|
260
254
|
v-if="buttonText.save_view"
|
|
261
255
|
:text="buttonText.save_view"
|
|
262
|
-
@click="$emit('on-save-new-view')"
|
|
256
|
+
@click.native="$emit('on-save-new-view')"
|
|
263
257
|
/>
|
|
264
258
|
<main-button
|
|
265
259
|
type="cancel"
|
|
266
260
|
v-if="buttonText.cancel"
|
|
267
261
|
:text="buttonText.cancel"
|
|
268
|
-
@click="$emit('on-cancel-view')"
|
|
262
|
+
@click.native="$emit('on-cancel-view')"
|
|
269
263
|
/>
|
|
270
264
|
</button-container>
|
|
271
265
|
</container-wrapper>
|
|
272
266
|
</template>
|
|
273
267
|
|
|
274
268
|
<script>
|
|
275
|
-
import styled from '
|
|
269
|
+
import styled from 'vue-styled-components'
|
|
270
|
+
import DatePicker from 'vue2-datepicker'
|
|
276
271
|
import SelectComponent from '../inputs/select'
|
|
277
272
|
import Option from '../inputs/select/option'
|
|
278
273
|
import InputNumber from '../inputs/inputNumber'
|
|
@@ -283,7 +278,12 @@ import Icon from '../icon'
|
|
|
283
278
|
import DeleteIcon from '../deleteIcon'
|
|
284
279
|
import { datePickerLang } from '../../helpers/translateLang'
|
|
285
280
|
import theme from '@/assets/theme.js'
|
|
286
|
-
import
|
|
281
|
+
import 'vue2-datepicker/index.css'
|
|
282
|
+
import 'vue2-datepicker/locale/de'
|
|
283
|
+
import 'vue2-datepicker/locale/en'
|
|
284
|
+
import 'vue2-datepicker/locale/es'
|
|
285
|
+
import 'vue2-datepicker/locale/fr'
|
|
286
|
+
import 'vue2-datepicker/locale/it'
|
|
287
287
|
|
|
288
288
|
const ContainerWrapper = styled.div`
|
|
289
289
|
position: absolute;
|
|
@@ -376,13 +376,52 @@ const DropdownCheckboxContainer = styled.div`
|
|
|
376
376
|
gap: 6px;
|
|
377
377
|
width: 100%;
|
|
378
378
|
padding: 12px 10px;
|
|
379
|
-
background: ${(props) => props.theme.colors.grey5};
|
|
380
379
|
`
|
|
381
380
|
|
|
382
381
|
const RowWrapper = styled.div`
|
|
383
382
|
margin-bottom: 12px;
|
|
384
383
|
`
|
|
385
384
|
|
|
385
|
+
const DatePickerInput = styled(DatePicker)`
|
|
386
|
+
border: 1px solid ${(props) => props.theme.colors.grey4};
|
|
387
|
+
border-radius: 4px;
|
|
388
|
+
padding: 7px 12px 7px 7px;
|
|
389
|
+
width: 100%;
|
|
390
|
+
position: relative;
|
|
391
|
+
|
|
392
|
+
&.mx-datepicker {
|
|
393
|
+
width: 100% !important;
|
|
394
|
+
max-width: 100%;
|
|
395
|
+
height: 36px;
|
|
396
|
+
align-self: flex-end;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.mx-input-wrapper {
|
|
400
|
+
position: unset;
|
|
401
|
+
|
|
402
|
+
input {
|
|
403
|
+
border: none;
|
|
404
|
+
height: auto;
|
|
405
|
+
padding: 0;
|
|
406
|
+
font-size: 13px;
|
|
407
|
+
box-shadow: none;
|
|
408
|
+
color: #393939;
|
|
409
|
+
vertical-align: bottom;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.mx-input-append {
|
|
413
|
+
top: 1px;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
.mx-input-append {
|
|
418
|
+
left: 0;
|
|
419
|
+
top: 5px;
|
|
420
|
+
height: auto;
|
|
421
|
+
cursor: pointer;
|
|
422
|
+
}
|
|
423
|
+
`
|
|
424
|
+
|
|
386
425
|
const LabelAttrs = {
|
|
387
426
|
marginTop: Boolean
|
|
388
427
|
}
|
|
@@ -447,14 +486,14 @@ export default {
|
|
|
447
486
|
Icon,
|
|
448
487
|
DragContainer,
|
|
449
488
|
InputNumber,
|
|
489
|
+
DatePickerInput,
|
|
450
490
|
RowLabel,
|
|
451
491
|
SectionContainer,
|
|
452
492
|
GridContainer,
|
|
453
493
|
ViewContainer,
|
|
454
494
|
DeleteIcon,
|
|
455
495
|
UpperContainer,
|
|
456
|
-
ResetButton
|
|
457
|
-
VueDatePicker
|
|
496
|
+
ResetButton
|
|
458
497
|
},
|
|
459
498
|
props: {
|
|
460
499
|
filterData: {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
</template>
|
|
30
30
|
|
|
31
31
|
<script>
|
|
32
|
-
import styled from '
|
|
32
|
+
import styled from 'vue-styled-components'
|
|
33
33
|
import parentDropdown from './parentDropdown'
|
|
34
34
|
import filterSettings from './filterSettings'
|
|
35
35
|
|
|
@@ -93,9 +93,9 @@ export default {
|
|
|
93
93
|
}, 100)
|
|
94
94
|
},
|
|
95
95
|
clickOutside(event) {
|
|
96
|
+
const target = event.target
|
|
96
97
|
if (
|
|
97
|
-
this.$refs.dropdown &&
|
|
98
|
-
!this.$refs.dropdown.$el.contains(event.target) &&
|
|
98
|
+
!this.$refs.dropdown.$el.contains(target) &&
|
|
99
99
|
!this.preventOutsideClick
|
|
100
100
|
) {
|
|
101
101
|
this.isDropdownOpen = false
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</title-text>
|
|
10
10
|
<arrow-wrapper>
|
|
11
11
|
<icon
|
|
12
|
-
@click.stop="$emit('on-toggle')"
|
|
12
|
+
@click.native.stop="$emit('on-toggle')"
|
|
13
13
|
:name="isOpen ? 'arrow_up' : 'arrow_down'"
|
|
14
14
|
size="12px"
|
|
15
15
|
/>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
</template>
|
|
20
20
|
|
|
21
21
|
<script>
|
|
22
|
-
import styled from '
|
|
22
|
+
import styled from 'vue-styled-components'
|
|
23
23
|
import Icon from '../icon'
|
|
24
24
|
|
|
25
25
|
const PageWrapper = styled.div`
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
<script>
|
|
18
18
|
import icon from './index.vue'
|
|
19
|
-
import styled from '
|
|
19
|
+
import styled from 'vue-styled-components'
|
|
20
20
|
|
|
21
21
|
const Wrapper = styled.div`
|
|
22
22
|
display: block;
|
|
@@ -36,7 +36,7 @@ const IconWrapper = styled.div`
|
|
|
36
36
|
margin: 10px;
|
|
37
37
|
`
|
|
38
38
|
export default {
|
|
39
|
-
name: '
|
|
39
|
+
name: 'collection',
|
|
40
40
|
components: { icon, IconWrapper, Wrapper },
|
|
41
41
|
props: {
|
|
42
42
|
size: { required: false },
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<icon-image
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
<Wrapper :isDisabled="disabled" :size="size" :cursor="cursor">
|
|
3
|
+
<icon-image
|
|
4
|
+
:disabled="disabled"
|
|
5
|
+
:size="size"
|
|
6
|
+
:color="color"
|
|
7
|
+
:hoveredColor="hoveredColor"
|
|
8
|
+
v-html="
|
|
9
|
+
require(`!html-loader!./../../assets/svgIcons/${name.toLowerCase()}.svg`)
|
|
10
|
+
"
|
|
11
|
+
></icon-image>
|
|
12
|
+
<striked-line v-if="isStriked" :color="color" :disabled="disabled" :hoveredColor="hoveredColor"></striked-line>
|
|
13
|
+
</Wrapper>
|
|
8
14
|
</template>
|
|
9
15
|
|
|
10
|
-
<script
|
|
16
|
+
<script>
|
|
11
17
|
// import Icon from "@eturnity/eturnity_reusable_components/src/components/icon"
|
|
12
18
|
// How to use:
|
|
13
19
|
//<icon
|
|
@@ -19,95 +25,92 @@
|
|
|
19
25
|
// isStriked = "true"
|
|
20
26
|
// />
|
|
21
27
|
|
|
22
|
-
import
|
|
23
|
-
import styled from 'vue3-styled-components'
|
|
24
|
-
import { fetchIcon } from './iconCache'
|
|
28
|
+
import styled from 'vue-styled-components'
|
|
25
29
|
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
required: false,
|
|
29
|
-
default: false
|
|
30
|
-
},
|
|
31
|
-
name: {
|
|
32
|
-
required: true
|
|
33
|
-
},
|
|
34
|
-
color: {
|
|
35
|
-
required: false
|
|
36
|
-
},
|
|
37
|
-
hoveredColor: {
|
|
38
|
-
required: false
|
|
39
|
-
},
|
|
40
|
-
size: {
|
|
41
|
-
required: false,
|
|
42
|
-
default: '30px'
|
|
43
|
-
},
|
|
44
|
-
cursor: {
|
|
45
|
-
required: false,
|
|
46
|
-
default: null
|
|
47
|
-
},
|
|
48
|
-
isStriked: {
|
|
49
|
-
required: false,
|
|
50
|
-
default: false
|
|
51
|
-
}
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
const Wrapper = styled('div')`
|
|
30
|
+
const wrapperAttrs = { isDisabled: Boolean, size: String, cursor: String }
|
|
31
|
+
const Wrapper = styled('div', wrapperAttrs)`
|
|
55
32
|
display: flex;
|
|
56
33
|
position: relative;
|
|
57
34
|
align-content: center;
|
|
58
35
|
justify-content: center;
|
|
59
|
-
width: ${props.size};
|
|
60
|
-
height: ${props.size};
|
|
61
|
-
min-width: ${props.size};
|
|
62
|
-
min-height: ${props.size};
|
|
63
|
-
cursor: ${props.
|
|
36
|
+
width: ${(props) => props.size};
|
|
37
|
+
height: ${(props) => props.size};
|
|
38
|
+
min-width: ${(props) => props.size};
|
|
39
|
+
min-height: ${(props) => props.size};
|
|
40
|
+
cursor: ${(props) => (props.isDisabled ? 'not-allowed' : props.cursor)};
|
|
64
41
|
line-height: 0;
|
|
65
42
|
`
|
|
66
|
-
const strikedAttrs = {
|
|
67
|
-
|
|
68
|
-
color: String,
|
|
69
|
-
hoveredColor: String
|
|
70
|
-
}
|
|
71
|
-
const StrikedLine = styled.div`
|
|
43
|
+
const strikedAttrs = { isDisabled: Boolean, color: String, hoveredColor: String }
|
|
44
|
+
const strikedLine = styled('div', strikedAttrs)`
|
|
72
45
|
display: flex;
|
|
73
46
|
position: absolute;
|
|
74
|
-
bottom:
|
|
75
|
-
left:
|
|
47
|
+
bottom:0;
|
|
48
|
+
left:0;
|
|
76
49
|
align-content: center;
|
|
77
50
|
justify-content: center;
|
|
78
51
|
width: 143%;
|
|
79
|
-
height:
|
|
80
|
-
background-color: ${(
|
|
52
|
+
height:8%;
|
|
53
|
+
background-color: ${(props)=>props.theme.colors[props.color] || props.color};
|
|
81
54
|
min-height: 0;
|
|
82
55
|
line-height: 0;
|
|
83
56
|
transform-origin: 0% 100%;
|
|
84
57
|
transform: rotate(-45deg);
|
|
85
58
|
`
|
|
86
|
-
const
|
|
59
|
+
const IconImageProps = { color: String, hoveredColor: String, size: String }
|
|
60
|
+
const IconImage = styled('div', IconImageProps)`
|
|
87
61
|
width: 100%;
|
|
88
62
|
svg {
|
|
89
63
|
width: 100%;
|
|
90
64
|
height: 100%;
|
|
91
65
|
}
|
|
92
66
|
svg path {
|
|
93
|
-
${(
|
|
94
|
-
props.color && `fill: ${theme.colors[props.color] || props.color};`}
|
|
67
|
+
${(props) =>
|
|
68
|
+
props.color && `fill: ${props.theme.colors[props.color] || props.color};`}
|
|
95
69
|
}
|
|
96
70
|
&:hover > svg path {
|
|
97
|
-
${props.hoveredColor && `fill: ${props.hoveredColor};`}
|
|
71
|
+
${(props) => props.hoveredColor && `fill: ${props.hoveredColor};`}
|
|
98
72
|
}
|
|
99
73
|
&:hover + div {
|
|
100
|
-
background-color: ${props.hoveredColor};
|
|
74
|
+
background-color: ${(props)=>props.hoveredColor};
|
|
101
75
|
}
|
|
102
76
|
`
|
|
103
77
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
78
|
+
export default {
|
|
79
|
+
name: 'icon',
|
|
80
|
+
components: {
|
|
81
|
+
IconImage,
|
|
82
|
+
Wrapper,
|
|
83
|
+
strikedLine
|
|
84
|
+
},
|
|
85
|
+
props: {
|
|
86
|
+
disabled: {
|
|
87
|
+
required: false,
|
|
88
|
+
default: false
|
|
89
|
+
},
|
|
90
|
+
name: {
|
|
91
|
+
required: true
|
|
92
|
+
},
|
|
93
|
+
color: {
|
|
94
|
+
required: false
|
|
95
|
+
},
|
|
96
|
+
hoveredColor: {
|
|
97
|
+
required: false
|
|
98
|
+
},
|
|
99
|
+
size: {
|
|
100
|
+
required: false,
|
|
101
|
+
default: '30px'
|
|
102
|
+
},
|
|
103
|
+
cursor: {
|
|
104
|
+
required: false,
|
|
105
|
+
default: null
|
|
106
|
+
},
|
|
107
|
+
isStriked: {
|
|
108
|
+
required: false,
|
|
109
|
+
default: false
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
data() {
|
|
113
|
+
return {}
|
|
114
|
+
}
|
|
108
115
|
}
|
|
109
|
-
|
|
110
|
-
onMounted(() => loadSvg())
|
|
111
|
-
|
|
112
|
-
watch(() => props.name, loadSvg)
|
|
113
116
|
</script>
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
// size="60px" by default, this is 30px
|
|
43
43
|
// />
|
|
44
44
|
|
|
45
|
-
import styled from '
|
|
45
|
+
import styled from 'vue-styled-components'
|
|
46
46
|
import icon from '../icon'
|
|
47
47
|
const wrapperAttrs = {
|
|
48
48
|
color: String,
|
|
@@ -148,6 +148,9 @@ export default {
|
|
|
148
148
|
required: false,
|
|
149
149
|
default: false
|
|
150
150
|
}
|
|
151
|
+
},
|
|
152
|
+
data() {
|
|
153
|
+
return {}
|
|
151
154
|
}
|
|
152
155
|
}
|
|
153
156
|
</script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
</template>
|
|
9
9
|
|
|
10
10
|
<script>
|
|
11
|
-
import styled from '
|
|
11
|
+
import styled from 'vue-styled-components'
|
|
12
12
|
import Icon from '../icon'
|
|
13
13
|
|
|
14
14
|
const InfoContainer = styled.div`
|
|
@@ -24,6 +24,7 @@ const TextContainer = styled.div`
|
|
|
24
24
|
width: 100%;
|
|
25
25
|
`
|
|
26
26
|
|
|
27
|
+
|
|
27
28
|
export default {
|
|
28
29
|
name: 'InfoCard',
|
|
29
30
|
components: {
|
|
@@ -32,4 +33,4 @@ export default {
|
|
|
32
33
|
TextContainer
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
|
-
</script>
|
|
36
|
+
</script>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
// alignArrow="right" // which side the arrow should be on
|
|
31
31
|
// />
|
|
32
32
|
import theme from '../../assets/theme.js'
|
|
33
|
-
import styled from '
|
|
33
|
+
import styled from 'vue-styled-components'
|
|
34
34
|
import icon from '../icon'
|
|
35
35
|
|
|
36
36
|
const textAttrs = {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<container
|
|
4
4
|
:checkColor="checkColor"
|
|
5
5
|
:size="size"
|
|
6
|
-
:hasLabel="
|
|
6
|
+
:hasLabel="!!label.length"
|
|
7
7
|
:backgroundColor="backgroundColor"
|
|
8
8
|
:isChecked="isChecked"
|
|
9
9
|
:isDisabled="isDisabled"
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
:data-id="dataId"
|
|
15
15
|
@change="onChangeHandler(!isChecked)"
|
|
16
16
|
/>
|
|
17
|
-
<
|
|
17
|
+
<div>
|
|
18
18
|
<span class="checkmark"></span>
|
|
19
|
-
</
|
|
20
|
-
<label-text v-if="
|
|
19
|
+
</div>
|
|
20
|
+
<label-text v-if="!!label.length">{{ label }}</label-text>
|
|
21
21
|
</container>
|
|
22
22
|
</component-wrapper>
|
|
23
23
|
</template>
|
|
@@ -34,21 +34,12 @@
|
|
|
34
34
|
// backgroundColor="red"
|
|
35
35
|
// :isDisabled="true"
|
|
36
36
|
// />
|
|
37
|
-
import styled from '
|
|
37
|
+
import styled from 'vue-styled-components'
|
|
38
38
|
|
|
39
39
|
const ComponentWrapper = styled.div`
|
|
40
40
|
min-height: 18px;
|
|
41
41
|
`
|
|
42
42
|
|
|
43
|
-
const CheckWrapper = styled('div', { hasLabel: Boolean })`
|
|
44
|
-
${(props) =>
|
|
45
|
-
props.hasLabel &&
|
|
46
|
-
`
|
|
47
|
-
display: flex;
|
|
48
|
-
align-items: center;
|
|
49
|
-
`}
|
|
50
|
-
`
|
|
51
|
-
|
|
52
43
|
const containerAttrs = {
|
|
53
44
|
checkColor: String,
|
|
54
45
|
size: String,
|
|
@@ -154,8 +145,7 @@ export default {
|
|
|
154
145
|
ComponentWrapper,
|
|
155
146
|
Container,
|
|
156
147
|
InputCheckbox,
|
|
157
|
-
LabelText
|
|
158
|
-
CheckWrapper
|
|
148
|
+
LabelText
|
|
159
149
|
},
|
|
160
150
|
props: {
|
|
161
151
|
label: {
|
|
@@ -185,11 +175,6 @@ export default {
|
|
|
185
175
|
default: ''
|
|
186
176
|
}
|
|
187
177
|
},
|
|
188
|
-
computed: {
|
|
189
|
-
hasLabel() {
|
|
190
|
-
return !!this.label.length
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
178
|
methods: {
|
|
194
179
|
onChangeHandler(value) {
|
|
195
180
|
if (this.isDisabled) {
|