toggle-components-library 1.34.0-beta.9 → 1.35.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/dist/toggle-components-library.common.js +99 -90
- package/dist/toggle-components-library.common.js.map +1 -1
- package/dist/toggle-components-library.css +1 -1
- package/dist/toggle-components-library.umd.js +99 -90
- package/dist/toggle-components-library.umd.js.map +1 -1
- package/dist/toggle-components-library.umd.min.js +1 -1
- package/dist/toggle-components-library.umd.min.js.map +1 -1
- package/package-lock.json +20285 -0
- package/package.json +1 -1
- package/src/components/boosters/ToggleBoosterButton.vue +27 -13
- package/src/components/buttons/ToggleButton.vue +39 -9
- package/src/components/buttons/ToggleMetricsButton.vue +3 -19
- package/src/components/metrics/ToggleMetricSingleMetric.vue +5 -6
- package/src/components/metrics/ToggleMetricSparkLine.vue +1 -1
- package/src/components/tables/ToggleTableRow.vue +20 -2
- package/src/index.js +1 -3
- package/src/sass/includes/_as_boosters.scss +34 -0
- package/src/sass/includes/_as_buttons.scss +76 -30
- package/src/sass/includes/_as_cards.scss +0 -29
- package/src/sass/includes/_as_metrics.scss +0 -6
- package/src/sass/includes/_as_navs.scss +0 -16
- package/src/sass/includes/_as_table.scss +4 -2
- package/src/assets/icons/airship-feedback-hover.svg +0 -10
- package/src/assets/icons/airship-feedback.svg +0 -10
- package/src/components/cards/ToggleCommentCard.vue +0 -63
package/package.json
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
<
|
|
2
|
+
<div :class="[{'toggle-booster-button-tooltip-container': !!tooltipText }]">
|
|
3
|
+
<button :class="['toggle-booster-button-container', boosterType, {'toggle-booster-button-disabled': disabled}]" :disabled="disabled" @click="click">
|
|
4
|
+
|
|
5
|
+
<img
|
|
6
|
+
:src="logo.src"
|
|
7
|
+
:alt="logo.alt"
|
|
8
|
+
class="toggle-booster-button-logo"
|
|
9
|
+
>
|
|
10
|
+
|
|
11
|
+
<div :class="['toggle-booster-button', boosterType]" >
|
|
12
|
+
<p class="plus">+</p>
|
|
13
|
+
<div v-if="buttonText" class="toggle-booster-button-button-text">
|
|
14
|
+
<slot>{{buttonText}}</slot>
|
|
15
|
+
</div>
|
|
14
16
|
</div>
|
|
17
|
+
</button>
|
|
18
|
+
|
|
19
|
+
<div class="toggle-booster-button-tooltip-text" v-if="tooltipText">
|
|
20
|
+
<div >{{ tooltipText }}</div>
|
|
15
21
|
</div>
|
|
16
|
-
</
|
|
22
|
+
</div>
|
|
17
23
|
</template>
|
|
18
24
|
|
|
19
25
|
<script>
|
|
@@ -36,6 +42,14 @@
|
|
|
36
42
|
type: Object,
|
|
37
43
|
required: true,
|
|
38
44
|
},
|
|
45
|
+
disabled: {
|
|
46
|
+
type: Boolean,
|
|
47
|
+
default: false,
|
|
48
|
+
},
|
|
49
|
+
tooltipText: {
|
|
50
|
+
type: String,
|
|
51
|
+
required: false
|
|
52
|
+
}
|
|
39
53
|
},
|
|
40
54
|
methods: {
|
|
41
55
|
click() {
|
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="[ 'toggle-button-container', {'toggle-button-container-mini':isMini}]">
|
|
2
|
+
<div :class="[ 'toggle-button-container', {'toggle-button-container-mini':isMini, 'toggle-button-tooltip-container': !!tooltipText }]">
|
|
3
3
|
<button
|
|
4
4
|
v-if="!$slots.default"
|
|
5
5
|
:type="type"
|
|
6
|
-
:class="[ 'toggle-button', buttonStyle, {'toggle-button-loading':loading, 'toggle-button-subscribed': !subscribed}]"
|
|
6
|
+
:class="[ 'toggle-button', buttonStyle, {'toggle-button-loading':loading, 'toggle-button-subscribed': !subscribed, 'toggle-button-booster-badge': boosterImageProperties}]"
|
|
7
7
|
:disabled="(loading || disabled)"
|
|
8
8
|
@click="click"
|
|
9
9
|
>
|
|
10
10
|
<div class="toggle-button-loader" v-if="loading" ></div>
|
|
11
11
|
<span v-html="buttonText" v-if="!isMini"/>
|
|
12
|
+
|
|
13
|
+
<div v-if="boosterImageProperties" :class="['toggle-button-booster-image-badge', {'shimmer': boosterShimmer && !disabled, 'toggle-button-loading': loading, 'toggle-button-disabled': disabled}]" :style="'background-color: ' + boosterImageProperties.bgColor">
|
|
14
|
+
<img class="toggle-button-booster-image" :src="boosterImageProperties.src" :alt="boosterImageProperties.alt">
|
|
15
|
+
</div>
|
|
12
16
|
</button>
|
|
13
17
|
<div v-else :class="[ 'toggle-button-a', buttonStyle, {'toggle-button-a-loading':loading, 'disabled':disabled, 'toggle-button-subscribed': !subscribed}]">
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
<div class="toggle-button-loader" v-if="loading" ></div>
|
|
19
|
+
<div class="toggle-button-a-border" />
|
|
20
|
+
<!--
|
|
21
|
+
@slot String of button text
|
|
22
|
+
-->
|
|
23
|
+
<slot>{{buttonText}}</slot>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="toggle-button-tooltip-text" v-if="tooltipText">
|
|
26
|
+
<div >{{ tooltipText }}</div>
|
|
20
27
|
</div>
|
|
21
28
|
</div>
|
|
22
29
|
</template>
|
|
@@ -67,10 +74,33 @@ export default {
|
|
|
67
74
|
type:String,
|
|
68
75
|
default:'confirm'
|
|
69
76
|
},
|
|
70
|
-
/*
|
|
77
|
+
/*
|
|
78
|
+
* Grey out button if booster not enabled
|
|
79
|
+
*/
|
|
71
80
|
subscribed: {
|
|
72
81
|
type: Boolean,
|
|
73
82
|
default: true
|
|
83
|
+
},
|
|
84
|
+
/*
|
|
85
|
+
* Booster badge image properties, image, alt text, background colour
|
|
86
|
+
*/
|
|
87
|
+
boosterImageProperties: {
|
|
88
|
+
type: Object,
|
|
89
|
+
required: false,
|
|
90
|
+
},
|
|
91
|
+
/*
|
|
92
|
+
* Turns the shimmer animation on and off for the booster badge
|
|
93
|
+
*/
|
|
94
|
+
boosterShimmer: {
|
|
95
|
+
type: Boolean,
|
|
96
|
+
default: true
|
|
97
|
+
},
|
|
98
|
+
/*
|
|
99
|
+
* Text displayed in tooltip
|
|
100
|
+
*/
|
|
101
|
+
tooltipText: {
|
|
102
|
+
type: String,
|
|
103
|
+
required: false
|
|
74
104
|
}
|
|
75
105
|
},
|
|
76
106
|
computed: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<button :class="['toggle-metrics-button', buttonStyle
|
|
3
|
-
<div :class="icon"
|
|
2
|
+
<button :class="['toggle-metrics-button', buttonStyle]" @click="click">
|
|
3
|
+
<div :class="icon"></div>
|
|
4
4
|
<slot>{{buttonText}}</slot>
|
|
5
5
|
</button>
|
|
6
6
|
</template>
|
|
@@ -19,23 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
icon: {
|
|
21
21
|
type: String,
|
|
22
|
-
required:
|
|
23
|
-
validator: function(value) {
|
|
24
|
-
return ["heatmap-icon", "email-icon", "contacts-icon"].indexOf(value) !== -1;
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
size: {
|
|
28
|
-
type: String,
|
|
29
|
-
default: "medium",
|
|
30
|
-
required: false,
|
|
31
|
-
validator: function(value) {
|
|
32
|
-
return ["small", "medium", "large"].indexOf(value) !== -1;
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
styles: {
|
|
36
|
-
type: Object,
|
|
37
|
-
default: () => ({}),
|
|
38
|
-
required: false,
|
|
22
|
+
required: true,
|
|
39
23
|
},
|
|
40
24
|
},
|
|
41
25
|
methods: {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<h3 class="toggle-metric metric-label">{{label}}</h3>
|
|
4
4
|
<div class="single-metric-icon" v-if="metricPending && label.length == 0"></div>
|
|
5
|
-
<h1 class="toggle-metric metric-value"
|
|
5
|
+
<h1 class="toggle-metric metric-value" v-else>{{metricValue}}</h1>
|
|
6
6
|
</div>
|
|
7
7
|
</template>
|
|
8
8
|
|
|
@@ -27,7 +27,7 @@ export default {
|
|
|
27
27
|
type : {
|
|
28
28
|
type: String,
|
|
29
29
|
validator: function (value) {
|
|
30
|
-
return ['text', 'number', 'percentage', 'currency'
|
|
30
|
+
return ['text', 'number', 'percentage', 'currency'].indexOf(value) !== -1
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
/**
|
|
@@ -92,10 +92,9 @@ export default {
|
|
|
92
92
|
return this.value.toLocaleString();
|
|
93
93
|
|
|
94
94
|
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
},
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
|
|
99
98
|
}
|
|
100
99
|
}
|
|
101
100
|
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tr class="toggle-tablee-tr" @click="
|
|
2
|
+
<tr :class="['toggle-tablee-tr',{'tr-disabled':disabled }]" @click="handleClick" >
|
|
3
3
|
<slot></slot>
|
|
4
4
|
</tr>
|
|
5
|
-
</template>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script>
|
|
8
|
+
export default {
|
|
9
|
+
props: {
|
|
10
|
+
disabled: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: false
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
methods: {
|
|
16
|
+
handleClick() {
|
|
17
|
+
if(!this.disabled) {
|
|
18
|
+
this.$emit('click')
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
</script>
|
package/src/index.js
CHANGED
|
@@ -88,7 +88,6 @@ import ToggleCarouselSlide from "./components/carousel/ToggleCarouselSlide.vue";
|
|
|
88
88
|
|
|
89
89
|
import ToggleEmailCard from "./components/cards/ToggleEmailCard.vue";
|
|
90
90
|
import ToggleRewardsCard from "./components/cards/ToggleRewardsCard.vue";
|
|
91
|
-
import ToggleCommentCard from "./components/cards/ToggleCommentCard.vue";
|
|
92
91
|
|
|
93
92
|
|
|
94
93
|
import './sass/main.scss';
|
|
@@ -162,8 +161,7 @@ const Components = {
|
|
|
162
161
|
ToggleCarousel,
|
|
163
162
|
ToggleCarouselSlide,
|
|
164
163
|
ToggleEmailCard,
|
|
165
|
-
ToggleRewardsCard
|
|
166
|
-
ToggleCommentCard
|
|
164
|
+
ToggleRewardsCard
|
|
167
165
|
}
|
|
168
166
|
|
|
169
167
|
Object.keys(Components).forEach(name => {
|
|
@@ -219,3 +219,37 @@ margin:1rem
|
|
|
219
219
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
+
.toggle-booster-button-disabled {
|
|
223
|
+
opacity: 0.3;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/* Tooltip container */
|
|
227
|
+
.toggle-booster-button-tooltip-container {
|
|
228
|
+
position: relative;
|
|
229
|
+
display: flex;
|
|
230
|
+
justify-content: center;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/* Tooltip text */
|
|
234
|
+
.toggle-booster-button-tooltip-container .toggle-booster-button-tooltip-text {
|
|
235
|
+
visibility: hidden;
|
|
236
|
+
width: 120px;
|
|
237
|
+
height: fit-content;
|
|
238
|
+
background-color: black;
|
|
239
|
+
color: #fff;
|
|
240
|
+
text-align: center;
|
|
241
|
+
padding: 5px;
|
|
242
|
+
border-radius: 6px;
|
|
243
|
+
position: absolute;
|
|
244
|
+
z-index: 999;
|
|
245
|
+
top: 100%;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.toggle-booster-button-tooltip-text {
|
|
249
|
+
font-family: $toggle-font-family;
|
|
250
|
+
padding: 10px;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.toggle-booster-button-tooltip-container:hover .toggle-booster-button-tooltip-text {
|
|
254
|
+
visibility: visible;
|
|
255
|
+
}
|
|
@@ -395,7 +395,7 @@
|
|
|
395
395
|
}
|
|
396
396
|
|
|
397
397
|
&:hover .contacts-icon {
|
|
398
|
-
background-
|
|
398
|
+
background-image: url("../assets/icons/contacts-white.svg");
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
401
|
//icons
|
|
@@ -418,11 +418,9 @@
|
|
|
418
418
|
}
|
|
419
419
|
|
|
420
420
|
.contacts-icon {
|
|
421
|
-
|
|
422
|
-
background-
|
|
423
|
-
-
|
|
424
|
-
mask: var(--svg);
|
|
425
|
-
mask-repeat: no-repeat;
|
|
421
|
+
background-image: url("../assets/icons/contacts-greyblue.svg");
|
|
422
|
+
background-repeat:no-repeat;
|
|
423
|
+
background-size:contain;
|
|
426
424
|
margin-right: 6px;
|
|
427
425
|
width: 14px;
|
|
428
426
|
height: 14px;
|
|
@@ -430,34 +428,82 @@
|
|
|
430
428
|
}
|
|
431
429
|
}
|
|
432
430
|
|
|
433
|
-
.toggle-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
431
|
+
.toggle-button-booster-badge {
|
|
432
|
+
display: flex;
|
|
433
|
+
align-items: center;
|
|
434
|
+
padding: 0.2rem 0.2rem 0.2rem 1rem !important;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.shimmer {
|
|
438
|
+
color: grey;
|
|
439
|
+
display: inline-block;
|
|
440
|
+
mask: linear-gradient(-60deg, #000 30%, #0005, #000 70%) right/400% 100%;
|
|
441
|
+
background-repeat: no-repeat;
|
|
442
|
+
animation: shimmer 4s infinite;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
.toggle-button-booster-image-badge {
|
|
446
|
+
width: 6rem;
|
|
447
|
+
height: 2rem;
|
|
448
|
+
display: flex;
|
|
449
|
+
align-items: center;
|
|
450
|
+
justify-content: center;
|
|
451
|
+
border-radius: 4px;
|
|
452
|
+
margin: 0 0 0 20px;
|
|
453
|
+
padding: 0px 8px 0px 8px;
|
|
454
|
+
width: 6rem;
|
|
455
|
+
height: 1.8rem;
|
|
456
|
+
.toggle-button-booster-image {
|
|
457
|
+
width: 100%;
|
|
458
|
+
height: 100%;
|
|
443
459
|
}
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
height: 25px;
|
|
460
|
+
&.toggle-button-loading {
|
|
461
|
+
opacity: 0
|
|
447
462
|
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
-webkit-mask: var(--svg);
|
|
451
|
-
mask: var(--svg);
|
|
452
|
-
mask-repeat: no-repeat;
|
|
463
|
+
&.toggle-button-disabled {
|
|
464
|
+
opacity: 0.3;
|
|
453
465
|
}
|
|
454
466
|
}
|
|
455
467
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
468
|
+
/* Tooltip container */
|
|
469
|
+
.toggle-button-tooltip-container {
|
|
470
|
+
position: relative;
|
|
471
|
+
justify-content: center;
|
|
472
|
+
display: flex;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
/* Tooltip text */
|
|
476
|
+
.toggle-button-tooltip-container .toggle-button-tooltip-text {
|
|
477
|
+
visibility: hidden;
|
|
478
|
+
width: 120px;
|
|
479
|
+
height: fit-content;
|
|
480
|
+
background-color: black;
|
|
481
|
+
color: #fff;
|
|
482
|
+
text-align: center;
|
|
483
|
+
padding: 5px;
|
|
484
|
+
border-radius: 6px;
|
|
485
|
+
position: absolute;
|
|
486
|
+
z-index: 999;
|
|
487
|
+
top: 100%;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
.toggle-button-tooltip-text {
|
|
491
|
+
font-family: $toggle-font-family;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
.toggle-button-tooltip-container:hover .toggle-button-tooltip-text {
|
|
495
|
+
visibility: visible;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
// Shimmer animation for booster badge
|
|
499
|
+
@keyframes shimmer {
|
|
500
|
+
0% {
|
|
501
|
+
mask-position: right;
|
|
502
|
+
}
|
|
503
|
+
30% {
|
|
504
|
+
mask-position: left;
|
|
505
|
+
}
|
|
506
|
+
100% {
|
|
507
|
+
mask-position: left;
|
|
462
508
|
}
|
|
463
509
|
}
|
|
@@ -164,32 +164,3 @@
|
|
|
164
164
|
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
.toggle-comment-card {
|
|
168
|
-
display: flex;
|
|
169
|
-
flex-direction: row;
|
|
170
|
-
width: 100%;
|
|
171
|
-
height: 250px;
|
|
172
|
-
border-radius: 18px;
|
|
173
|
-
padding-right: 20px;
|
|
174
|
-
font-size: $toggle-font-size-regular;
|
|
175
|
-
font-family: $toggle-font-family;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
.toggle-comment-card-info {
|
|
179
|
-
display: flex;
|
|
180
|
-
flex-direction: column;
|
|
181
|
-
justify-content: space-between;
|
|
182
|
-
padding: 30px 70px 20px 30px;
|
|
183
|
-
color: white;
|
|
184
|
-
border-radius: 30px;
|
|
185
|
-
width: 100%;
|
|
186
|
-
|
|
187
|
-
.toggle-comment-card-text {
|
|
188
|
-
text-align: justify;
|
|
189
|
-
line-height: 1.5rem;
|
|
190
|
-
|
|
191
|
-
p {
|
|
192
|
-
margin: 0
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
@@ -342,11 +342,6 @@
|
|
|
342
342
|
&.airship-hat-icon span::before {
|
|
343
343
|
background-image: url("../assets/icons/airship-hat-hover.svg");
|
|
344
344
|
}
|
|
345
|
-
|
|
346
|
-
&.airship-feedback-icon a::before,
|
|
347
|
-
&.airship-feedback-icon span::before {
|
|
348
|
-
background-image: url("../assets/icons/airship-feedback-hover.svg");
|
|
349
|
-
}
|
|
350
345
|
}
|
|
351
346
|
}
|
|
352
347
|
|
|
@@ -511,17 +506,6 @@
|
|
|
511
506
|
animation: tilt-shake 0.4s;
|
|
512
507
|
background-image: url("../assets/icons/airship-audiences-hover.svg");
|
|
513
508
|
}
|
|
514
|
-
// add feedbacl
|
|
515
|
-
&.airship-feedback-icon a::before,
|
|
516
|
-
&.airship-feedback-icon span::before {
|
|
517
|
-
background-image: url("../assets/icons/airship-feedback.svg");
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
&.airship-feedback-icon a:hover::before,
|
|
521
|
-
&.airship-feedback-icon span:hover::before {
|
|
522
|
-
animation: tilt-shake 0.4s;
|
|
523
|
-
background-image: url("../assets/icons/airship-feedback-hover.svg");
|
|
524
|
-
}
|
|
525
509
|
|
|
526
510
|
}
|
|
527
511
|
}
|
|
@@ -117,9 +117,7 @@ table.toggle-table {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
|
|
121
120
|
tr.toggle-tablee-tr {
|
|
122
|
-
|
|
123
121
|
&:hover {
|
|
124
122
|
background-color: #FFF;
|
|
125
123
|
.arrow-order {
|
|
@@ -146,6 +144,10 @@ table.toggle-table {
|
|
|
146
144
|
|
|
147
145
|
|
|
148
146
|
}
|
|
147
|
+
tr.toggle-tablee-tr.tr-disabled * {
|
|
148
|
+
opacity: 0.5;
|
|
149
|
+
cursor: not-allowed;
|
|
150
|
+
}
|
|
149
151
|
|
|
150
152
|
}
|
|
151
153
|
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<svg id="Group_10" data-name="Group 10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="624.048" height="499" viewBox="0 0 624.048 499">
|
|
2
|
-
<defs>
|
|
3
|
-
<clipPath id="clip-path">
|
|
4
|
-
<rect id="Rectangle_25" data-name="Rectangle 25" width="624.048" height="499" fill="none"/>
|
|
5
|
-
</clipPath>
|
|
6
|
-
</defs>
|
|
7
|
-
<g id="Group_9" data-name="Group 9" clip-path="url(#clip-path)">
|
|
8
|
-
<path id="Path_3" data-name="Path 3" d="M617.3,465.069l-.384-.318c-.385-.317-.9-.738-1.674-1.49-1.419-1.279-3.616-3.309-6.36-6.112a225.664,225.664,0,0,1-20.162-23.534c-.136-.182-.271-.367-.406-.55-22.957-31.214-26.261-72.555-9.486-107.484,16.327-34,23.783-71.208,20.13-109.472C586.148,81.9,441.91-14.07,276.747,1.694S-11.9,138.983.914,273.192,157.963,503.371,323.126,487.608a364.7,364.7,0,0,0,89.545-20,77.522,77.522,0,0,1,58.556,2.224,367.136,367.136,0,0,0,38.334,14.95c29.035,9.42,63.567,16.569,96.922,13.5A19.281,19.281,0,0,0,622.561,486.8a18.785,18.785,0,0,0-5.261-21.731m-446.79-153.1A50.455,50.455,0,1,1,216.243,257.2a50.456,50.456,0,0,1-45.733,54.772m138.931-12.493a50.454,50.454,0,1,1,45.734-54.77,50.454,50.454,0,0,1-45.734,54.77m134.991-12.137a50.455,50.455,0,1,1,45.733-54.769,50.455,50.455,0,0,1-45.733,54.769" transform="translate(0 0)" fill="#477ef6"/>
|
|
9
|
-
</g>
|
|
10
|
-
</svg>
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<svg id="Group_10" data-name="Group 10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="624.048" height="499" viewBox="0 0 624.048 499">
|
|
2
|
-
<defs>
|
|
3
|
-
<clipPath id="clip-path">
|
|
4
|
-
<rect id="Rectangle_25" data-name="Rectangle 25" width="624.048" height="499" fill="none"/>
|
|
5
|
-
</clipPath>
|
|
6
|
-
</defs>
|
|
7
|
-
<g id="Group_9" data-name="Group 9" clip-path="url(#clip-path)">
|
|
8
|
-
<path id="Path_3" data-name="Path 3" d="M617.3,465.069l-.384-.318c-.385-.317-.9-.738-1.674-1.49-1.419-1.279-3.616-3.309-6.36-6.112a225.664,225.664,0,0,1-20.162-23.534c-.136-.182-.271-.367-.406-.55-22.957-31.214-26.261-72.555-9.486-107.484,16.327-34,23.783-71.208,20.13-109.472C586.148,81.9,441.91-14.07,276.747,1.694S-11.9,138.983.914,273.192,157.963,503.371,323.126,487.608a364.7,364.7,0,0,0,89.545-20,77.522,77.522,0,0,1,58.556,2.224,367.136,367.136,0,0,0,38.334,14.95c29.035,9.42,63.567,16.569,96.922,13.5A19.281,19.281,0,0,0,622.561,486.8a18.785,18.785,0,0,0-5.261-21.731m-446.79-153.1A50.455,50.455,0,1,1,216.243,257.2a50.456,50.456,0,0,1-45.733,54.772m138.931-12.493a50.454,50.454,0,1,1,45.734-54.77,50.454,50.454,0,0,1-45.734,54.77m134.991-12.137a50.455,50.455,0,1,1,45.733-54.769,50.455,50.455,0,0,1-45.733,54.769" transform="translate(0 0)" fill="#354b64"/>
|
|
9
|
-
</g>
|
|
10
|
-
</svg>
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="toggle-comment-card">
|
|
3
|
-
<div class="toggle-comment-card-info" :style="{ backgroundColor: cardColor }">
|
|
4
|
-
<div class="toggle-comment-card-text">
|
|
5
|
-
<p>"{{ commentLength }}"</p>
|
|
6
|
-
</div>
|
|
7
|
-
<div class="toggle-comment-card-name">
|
|
8
|
-
<slot name="button_contacts"></slot>
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
</div>
|
|
12
|
-
</template>
|
|
13
|
-
<script>
|
|
14
|
-
export default {
|
|
15
|
-
data() {
|
|
16
|
-
return {};
|
|
17
|
-
},
|
|
18
|
-
props: {
|
|
19
|
-
cardIndex: {
|
|
20
|
-
type: Number,
|
|
21
|
-
required: true,
|
|
22
|
-
},
|
|
23
|
-
totalCards: {
|
|
24
|
-
type: Number,
|
|
25
|
-
required: true,
|
|
26
|
-
},
|
|
27
|
-
comment: {
|
|
28
|
-
type: String,
|
|
29
|
-
required: true,
|
|
30
|
-
},
|
|
31
|
-
name: {
|
|
32
|
-
type: String,
|
|
33
|
-
required: true,
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
computed: {
|
|
37
|
-
cardColor() {
|
|
38
|
-
// adjust colour palette below to change the Reward Cards colors
|
|
39
|
-
const colorPalette = [
|
|
40
|
-
"#2c7da0",
|
|
41
|
-
"#f3c570",
|
|
42
|
-
"#8bbcbe",
|
|
43
|
-
"#a0a789",
|
|
44
|
-
"#cbae78",
|
|
45
|
-
"#a284b6",
|
|
46
|
-
"#d39999",
|
|
47
|
-
"#9b7361",
|
|
48
|
-
"#64aaa8",
|
|
49
|
-
"#799194",
|
|
50
|
-
];
|
|
51
|
-
|
|
52
|
-
// pick random number to return random index of colourPalette
|
|
53
|
-
const paletteIndex = Math.floor(
|
|
54
|
-
(this.cardIndex / this.totalCards) * colorPalette.length
|
|
55
|
-
);
|
|
56
|
-
return colorPalette[paletteIndex];
|
|
57
|
-
},
|
|
58
|
-
commentLength() {
|
|
59
|
-
return this.comment.length > 420 ? this.comment.substring(0, 420) + "..." : this.comment;
|
|
60
|
-
},
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
</script>
|