@worksafevictoria/wcl7.5 1.9.0-beta.1 → 1.9.0-beta.10
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 +1 -1
- package/src/components/Common/CardGridItem/card-grid-item-caret.vue +39 -45
- package/src/components/Common/CardGridItem/card-grid-item-icon.vue +29 -32
- package/src/components/Common/CardGridItem/index.vue +6 -2
- package/src/components/Containers/Carousel/index.stories.js +6 -4
- package/src/components/Containers/Carousel/index.vue +131 -120
- package/src/components/Containers/HomepageHeader/index.stories.js +1 -1
- package/src/components/Containers/HomepageHeaderNew/index.stories.js +3 -15
- package/src/components/Containers/HomepageHeaderNew/index.vue +0 -5
- package/src/components/Global/AppFooter/index.vue +130 -133
- package/src/components/Global/AppHeader/ModalSearch/index.vue +7 -1
- package/src/components/Global/AppHeader/index.stories.js +2 -2
- package/src/components/Global/AppHeaderNew/ModalSearch/index.vue +21 -17
- package/src/components/Global/AppHeaderNew/index.stories.js +2 -2
- package/src/components/Global/AppHeaderNew/index.vue +53 -24
- package/src/components/Global/AppHeaderNew/styles.scss +1 -4
- package/src/components/Global/BackToTop/index.vue +16 -16
- package/src/components/Global/ContrastMode/index.stories.js +1 -1
- package/src/components/Global/HeroHeader/index.vue +62 -73
- package/src/components/Global/SocialShare/index.vue +62 -66
- package/src/components/Global/Strip/index.vue +82 -70
- package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +21 -23
- package/src/components/Paragraphs/Accordion/StepperItem/index.vue +15 -15
- package/src/components/Paragraphs/Calculator/CardContainer/index.vue +74 -75
- package/src/components/Paragraphs/Calculator/RiskLevel/index.vue +31 -39
- package/src/components/Paragraphs/Directory/Asbestos/Records/SingleRecord/index.vue +104 -107
- package/src/components/Paragraphs/Directory/Asbestos/Records/index.vue +152 -120
- package/src/components/Paragraphs/Directory/HSCP/Records/SingleRecord/index.vue +127 -133
- package/src/components/Paragraphs/Directory/HSCP/Records/index.vue +158 -128
- package/src/components/Paragraphs/TabulatedData/index.vue +3 -2
- package/src/components/SubComponents/CtaButton/index.vue +47 -44
- package/src/components/SubComponents/Icon/README.md +2 -2
- package/src/components/SubComponents/Icon/example.js +1 -0
- package/src/components/SubComponents/Icon/index.stories.js +1 -1
- package/src/components/SubComponents/Icon/index.vue +47 -47
- package/src/components/SubComponents/ResourceGroup/cardbody.vue +49 -61
- package/src/components/SubComponents/Search/index.vue +4 -0
- package/src/components/SubComponents/VideoThumbnail/index.vue +29 -28
- package/src/index.js +1 -1
- package/src/mock/carousel-items.js +46 -81
package/.storybook/preview.js
CHANGED
|
@@ -28,7 +28,7 @@ setup((app) => {
|
|
|
28
28
|
},
|
|
29
29
|
},
|
|
30
30
|
template:
|
|
31
|
-
'<a target="_blank" :href="`https://ws-
|
|
31
|
+
'<a target="_blank" :href="`https://ws-dev.worksafe.vic.gov.au${this.to}`"><slot></slot></a>',
|
|
32
32
|
})
|
|
33
33
|
app.use(createBootstrap())
|
|
34
34
|
})
|
package/package.json
CHANGED
|
@@ -1,73 +1,71 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
v-if="caretSrc && loaded"
|
|
4
|
-
:class="
|
|
5
|
-
`card-grid-item-caret__container card-grid-item-caret__container--${computedCaret}`
|
|
6
|
-
"
|
|
4
|
+
:class="`card-grid-item-caret__container card-grid-item-caret__container--${computedCaret}`"
|
|
7
5
|
>
|
|
8
6
|
<span v-if="caret === 'external'" class="visually-hidden">External link</span>
|
|
9
7
|
<div
|
|
10
8
|
class="tabCaretContainer"
|
|
11
9
|
:class="{
|
|
12
|
-
tabCaretContainerBottom: isTabbedCard
|
|
10
|
+
tabCaretContainerBottom: isTabbedCard,
|
|
13
11
|
}"
|
|
14
12
|
>
|
|
15
13
|
<div class="tabCaretText" aria-hidden="true">
|
|
16
14
|
{{ supportText }}
|
|
17
15
|
</div>
|
|
18
|
-
<icon :glyph="caretSrc" icon-alt="
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
<icon :glyph="caretSrc" icon-alt="Show more" width="18" float: right :height="caret
|
|
17
|
+
=== 'external' ? 18 : 16" :class=" `item-icon-${ isChev ? 'chev' : 'caret'}
|
|
18
|
+
card-grid-item-caret--${computedCaret}`" />
|
|
21
19
|
</div>
|
|
22
20
|
</div>
|
|
23
21
|
</template>
|
|
24
22
|
|
|
25
23
|
<script>
|
|
26
|
-
import { getCurrentInstance } from
|
|
27
|
-
import Icon from
|
|
28
|
-
import ChevUp from
|
|
29
|
-
import CaretUp from
|
|
30
|
-
import ExternalLink from
|
|
24
|
+
import { getCurrentInstance } from "vue";
|
|
25
|
+
import Icon from "./../../SubComponents/Icon/index.vue";
|
|
26
|
+
import ChevUp from "./../../../assets/icons/chev-up.svg?raw";
|
|
27
|
+
import CaretUp from "./../../../assets/icons/caret-up.svg?url";
|
|
28
|
+
import ExternalLink from "./../../../assets/icons/external-link.svg?raw";
|
|
31
29
|
|
|
32
30
|
export default {
|
|
33
|
-
name:
|
|
31
|
+
name: "CardGridItemCaret",
|
|
34
32
|
components: { Icon },
|
|
35
33
|
props: {
|
|
36
34
|
caret: {
|
|
37
35
|
type: String,
|
|
38
|
-
default: null
|
|
36
|
+
default: null,
|
|
39
37
|
},
|
|
40
38
|
rtl: {
|
|
41
39
|
type: Boolean,
|
|
42
|
-
default: false
|
|
43
|
-
}
|
|
40
|
+
default: false,
|
|
41
|
+
},
|
|
44
42
|
},
|
|
45
43
|
data() {
|
|
46
44
|
return {
|
|
47
45
|
loaded: false,
|
|
48
|
-
isChev: false
|
|
49
|
-
}
|
|
46
|
+
isChev: false,
|
|
47
|
+
};
|
|
50
48
|
},
|
|
51
49
|
computed: {
|
|
52
50
|
computedCaret() {
|
|
53
51
|
if (this.rtl) {
|
|
54
|
-
if (this.caret ===
|
|
55
|
-
return
|
|
56
|
-
} else if (this.caret ===
|
|
57
|
-
return
|
|
52
|
+
if (this.caret === "right") {
|
|
53
|
+
return "left";
|
|
54
|
+
} else if (this.caret === "left") {
|
|
55
|
+
return "right";
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
|
-
return this.caret
|
|
58
|
+
return this.caret;
|
|
61
59
|
},
|
|
62
60
|
caretSrc() {
|
|
63
|
-
if (this.caret ===
|
|
64
|
-
return ExternalLink
|
|
61
|
+
if (this.caret === "external") {
|
|
62
|
+
return ExternalLink;
|
|
65
63
|
} else if (!this.isChev && this.computedCaret) {
|
|
66
|
-
return CaretUp
|
|
64
|
+
return CaretUp;
|
|
67
65
|
} else if (this.isChev && this.computedCaret) {
|
|
68
|
-
return ChevUp
|
|
66
|
+
return ChevUp;
|
|
69
67
|
} else {
|
|
70
|
-
return undefined
|
|
68
|
+
return undefined;
|
|
71
69
|
}
|
|
72
70
|
},
|
|
73
71
|
//Identify if this is a tabbed card WSV2-374
|
|
@@ -75,7 +73,7 @@ export default {
|
|
|
75
73
|
const instance = getCurrentInstance();
|
|
76
74
|
const parentEl = instance?.parent?.proxy?.$el.parentNode;
|
|
77
75
|
|
|
78
|
-
if (parentEl && parentEl.classList.contains(
|
|
76
|
+
if (parentEl && parentEl.classList.contains("tabbed-card")) {
|
|
79
77
|
return true;
|
|
80
78
|
} else {
|
|
81
79
|
return false;
|
|
@@ -83,22 +81,18 @@ export default {
|
|
|
83
81
|
},
|
|
84
82
|
//If isTabbedCard, then supportive text must be displayed for up and down carets. WSV2-374
|
|
85
83
|
supportText() {
|
|
86
|
-
if (
|
|
87
|
-
|
|
88
|
-
this.computedCaret &&
|
|
89
|
-
this.computedCaret === 'up'
|
|
90
|
-
) {
|
|
91
|
-
return 'Hide links'
|
|
84
|
+
if (this.isTabbedCard && this.computedCaret && this.computedCaret === "up") {
|
|
85
|
+
return "Hide links";
|
|
92
86
|
} else if (
|
|
93
87
|
this.isTabbedCard &&
|
|
94
88
|
this.computedCaret &&
|
|
95
|
-
this.computedCaret ===
|
|
89
|
+
this.computedCaret === "down"
|
|
96
90
|
) {
|
|
97
|
-
return
|
|
91
|
+
return "Show links";
|
|
98
92
|
} else {
|
|
99
|
-
return null
|
|
93
|
+
return null;
|
|
100
94
|
}
|
|
101
|
-
}
|
|
95
|
+
},
|
|
102
96
|
},
|
|
103
97
|
mounted() {
|
|
104
98
|
/* The code below has been removed as part of WSV2-735
|
|
@@ -109,13 +103,13 @@ export default {
|
|
|
109
103
|
.$el['_prevClass'].includes('task-finder-column')
|
|
110
104
|
? (this.isChev = false)
|
|
111
105
|
: true */
|
|
112
|
-
|
|
113
|
-
this.loaded = true
|
|
114
|
-
}
|
|
115
|
-
}
|
|
106
|
+
|
|
107
|
+
this.loaded = true;
|
|
108
|
+
},
|
|
109
|
+
};
|
|
116
110
|
</script>
|
|
117
111
|
<style lang="scss" scoped>
|
|
118
|
-
@import
|
|
112
|
+
@import "../../../includes/scss/all";
|
|
119
113
|
.card-grid-item-caret {
|
|
120
114
|
&__container {
|
|
121
115
|
padding-left: 4px;
|
|
@@ -149,7 +143,7 @@ export default {
|
|
|
149
143
|
}
|
|
150
144
|
}
|
|
151
145
|
.tabCaretText {
|
|
152
|
-
font-style:
|
|
146
|
+
font-style: "normal";
|
|
153
147
|
font-weight: 400;
|
|
154
148
|
font-size: 12px;
|
|
155
149
|
padding-right: 10px;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
v-if="imageSrc || glyphSrc || glyphIconComponent"
|
|
4
|
-
class="card-grid-item-icon"
|
|
5
|
-
>
|
|
2
|
+
<div v-if="imageSrc || glyphSrc || glyphIconComponent" class="card-grid-item-icon">
|
|
6
3
|
<div
|
|
7
4
|
v-if="imageSrc"
|
|
8
5
|
:aria-description="imageAlt"
|
|
@@ -10,7 +7,7 @@
|
|
|
10
7
|
:class="{
|
|
11
8
|
[`card-grid-item-icon--img-${
|
|
12
9
|
isMobileView ? 'sm' : isTabletView ? 'md' : 'lg'
|
|
13
|
-
}-${gridColumnSize}`]: true
|
|
10
|
+
}-${gridColumnSize}`]: true,
|
|
14
11
|
}"
|
|
15
12
|
:style="`background-image:url(${imageSrc})`"
|
|
16
13
|
>
|
|
@@ -20,11 +17,11 @@
|
|
|
20
17
|
v-else-if="glyphSrc"
|
|
21
18
|
class="card-grid-item-icon--icon"
|
|
22
19
|
:class="{
|
|
23
|
-
[`card-grid-item-icon--icon-bordered-${iconSize}`]: iconIsBordered
|
|
20
|
+
[`card-grid-item-icon--icon-bordered-${iconSize}`]: iconIsBordered,
|
|
24
21
|
}"
|
|
25
22
|
:glyph="glyphSrc"
|
|
26
23
|
:key="computedIconSize"
|
|
27
|
-
icon-alt="
|
|
24
|
+
icon-alt="card gid item icon"
|
|
28
25
|
:bordered="iconIsBordered"
|
|
29
26
|
:height="computedIconSize"
|
|
30
27
|
:width="computedIconSize"
|
|
@@ -38,72 +35,72 @@
|
|
|
38
35
|
</div>
|
|
39
36
|
</template>
|
|
40
37
|
<script>
|
|
41
|
-
import Icon from
|
|
42
|
-
import arrowRight from
|
|
38
|
+
import Icon from "./../../SubComponents/Icon/index.vue";
|
|
39
|
+
import arrowRight from "./../../../assets/icons/right-arrow.svg?component";
|
|
43
40
|
|
|
44
41
|
export default {
|
|
45
|
-
name:
|
|
42
|
+
name: "CardGridItemIcon",
|
|
46
43
|
components: { Icon, arrowRight },
|
|
47
44
|
props: {
|
|
48
45
|
imageSrc: {
|
|
49
46
|
type: String,
|
|
50
|
-
default: null
|
|
47
|
+
default: null,
|
|
51
48
|
},
|
|
52
49
|
imageAlt: {
|
|
53
50
|
type: String,
|
|
54
|
-
default: null
|
|
51
|
+
default: null,
|
|
55
52
|
},
|
|
56
53
|
glyphSrc: {
|
|
57
54
|
type: [Object, String],
|
|
58
|
-
default: null
|
|
55
|
+
default: null,
|
|
59
56
|
},
|
|
60
57
|
glyphIconComponent: {
|
|
61
58
|
type: String,
|
|
62
|
-
default: null
|
|
59
|
+
default: null,
|
|
63
60
|
},
|
|
64
61
|
alt: {
|
|
65
62
|
type: String,
|
|
66
|
-
default:
|
|
63
|
+
default: "",
|
|
67
64
|
},
|
|
68
65
|
isMobileView: {
|
|
69
|
-
type: Boolean
|
|
66
|
+
type: Boolean,
|
|
70
67
|
},
|
|
71
68
|
isTabletView: {
|
|
72
|
-
type: Boolean
|
|
69
|
+
type: Boolean,
|
|
73
70
|
},
|
|
74
71
|
gridColumnSize: {
|
|
75
72
|
type: Number,
|
|
76
|
-
default: null
|
|
73
|
+
default: null,
|
|
77
74
|
},
|
|
78
75
|
iconSize: {
|
|
79
76
|
type: String,
|
|
80
|
-
default:
|
|
77
|
+
default: "",
|
|
81
78
|
},
|
|
82
79
|
iconIsBordered: {
|
|
83
|
-
type: Boolean
|
|
84
|
-
}
|
|
80
|
+
type: Boolean,
|
|
81
|
+
},
|
|
85
82
|
},
|
|
86
83
|
computed: {
|
|
87
84
|
computedIconSize() {
|
|
88
|
-
return this.iconSize ===
|
|
85
|
+
return this.iconSize === "xsmall"
|
|
89
86
|
? 16
|
|
90
|
-
: this.iconSize ===
|
|
87
|
+
: this.iconSize === "small"
|
|
91
88
|
? 32
|
|
92
|
-
: this.iconSize ===
|
|
89
|
+
: this.iconSize === "medium"
|
|
93
90
|
? 64
|
|
94
91
|
: 80;
|
|
95
|
-
}
|
|
92
|
+
},
|
|
96
93
|
},
|
|
97
94
|
data() {
|
|
98
95
|
return {
|
|
99
96
|
arrowRight,
|
|
100
|
-
glyphComponent: this.glyphIconComponent
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
97
|
+
glyphComponent: this.glyphIconComponent,
|
|
98
|
+
};
|
|
99
|
+
},
|
|
100
|
+
};
|
|
104
101
|
</script>
|
|
105
102
|
<style lang="scss" scoped>
|
|
106
|
-
@import
|
|
103
|
+
@import "../../../includes/scss/all";
|
|
107
104
|
.card-grid-item-icon {
|
|
108
105
|
width: 100%;
|
|
109
106
|
|
|
@@ -115,9 +112,8 @@ export default {
|
|
|
115
112
|
border-radius: 8px;
|
|
116
113
|
width: 100%;
|
|
117
114
|
height: 170px;
|
|
118
|
-
background-size: contain;
|
|
119
115
|
background-position: center center;
|
|
120
|
-
|
|
116
|
+
background: no-repeat;
|
|
121
117
|
&-lg {
|
|
122
118
|
&-3,
|
|
123
119
|
&-2,
|
|
@@ -142,6 +138,7 @@ export default {
|
|
|
142
138
|
height: 233px;
|
|
143
139
|
}
|
|
144
140
|
}
|
|
141
|
+
background-size: contain;
|
|
145
142
|
}
|
|
146
143
|
|
|
147
144
|
&--icon {
|
|
@@ -9,10 +9,14 @@
|
|
|
9
9
|
:class="cardClass"
|
|
10
10
|
:role="buttonRole"
|
|
11
11
|
:aria-checked="
|
|
12
|
-
buttonRole === 'radio' ? (isSelectable && selected ? 'true' : 'false') :
|
|
12
|
+
buttonRole === 'radio' ? (isSelectable && selected ? 'true' : 'false') : undefined
|
|
13
13
|
"
|
|
14
14
|
:aria-expanded="
|
|
15
|
-
|
|
15
|
+
buttonRole === 'button' && isExpandable
|
|
16
|
+
? isSelectable && selected
|
|
17
|
+
? 'true'
|
|
18
|
+
: 'false'
|
|
19
|
+
: undefined
|
|
16
20
|
"
|
|
17
21
|
:data-href="link"
|
|
18
22
|
@click="cardClicked($event)"
|
|
@@ -2,8 +2,9 @@ import CarouselComponent from './index.vue'
|
|
|
2
2
|
import { mockCarouselItems } from '../../../mock/carousel-items'
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
|
-
title: '
|
|
5
|
+
title: 'Containers/Carousel',
|
|
6
6
|
component: CarouselComponent,
|
|
7
|
+
tags: ['autodocs'],
|
|
7
8
|
data() {
|
|
8
9
|
return {
|
|
9
10
|
mockCarouselItems
|
|
@@ -11,7 +12,8 @@ export default {
|
|
|
11
12
|
},
|
|
12
13
|
args: {
|
|
13
14
|
carouselItems: mockCarouselItems,
|
|
14
|
-
storybook: true
|
|
15
|
+
storybook: true,
|
|
16
|
+
isParagraph: true,
|
|
15
17
|
},
|
|
16
18
|
|
|
17
19
|
}
|
|
@@ -21,8 +23,8 @@ const DefaultCarousel = (args) => ({
|
|
|
21
23
|
setup() {
|
|
22
24
|
return { args }
|
|
23
25
|
},
|
|
24
|
-
template: `<div
|
|
25
|
-
<h2>Carousel Component</h2>
|
|
26
|
+
template: `<div>
|
|
27
|
+
<h2 style="padding-left: 50px; padding-bottom: 20px;">Carousel Component</h2>
|
|
26
28
|
<carousel-component v-bind="args"></carousel-component>
|
|
27
29
|
</div>`
|
|
28
30
|
})
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
2
|
+
<div>
|
|
3
3
|
<b-carousel
|
|
4
4
|
id="carousel-1"
|
|
5
|
+
:class="{carouselPara: isParagraph}"
|
|
5
6
|
v-model="slide"
|
|
6
|
-
interval=0
|
|
7
|
+
interval="0"
|
|
7
8
|
controls
|
|
8
9
|
indicators
|
|
9
10
|
keyboard
|
|
@@ -13,160 +14,170 @@
|
|
|
13
14
|
<b-carousel-slide
|
|
14
15
|
v-for="item in filteredCarouselItems"
|
|
15
16
|
:key="item.id"
|
|
16
|
-
:img-src="getImageURL(item.
|
|
17
|
-
|
|
17
|
+
:img-src="getImageURL(item.imageURL)"
|
|
18
|
+
:img-alt="item.imageAlt"
|
|
19
|
+
@click.prevent="handleClick(item.linkURL)"
|
|
18
20
|
>
|
|
19
|
-
<h4>{{ item.
|
|
21
|
+
<h4>{{ item.title }}</h4>
|
|
20
22
|
</b-carousel-slide>
|
|
21
23
|
</b-carousel>
|
|
22
24
|
</div>
|
|
23
25
|
</template>
|
|
24
26
|
|
|
25
27
|
<script>
|
|
26
|
-
import { BCarousel, BCarouselSlide } from
|
|
27
|
-
import { isAbsoluteUrl, navigateToPath } from
|
|
28
|
+
import { BCarousel, BCarouselSlide } from "bootstrap-vue-next"
|
|
29
|
+
import { isAbsoluteUrl, navigateToPath } from "../../../../lib/utility"
|
|
28
30
|
|
|
29
31
|
export default {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
name: "CarouselComponent",
|
|
33
|
+
data() {
|
|
34
|
+
return {
|
|
35
|
+
slide: 0,
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
components: {
|
|
39
|
+
BCarousel,
|
|
40
|
+
BCarouselSlide,
|
|
41
|
+
},
|
|
42
|
+
props: {
|
|
43
|
+
carouselItems: {
|
|
44
|
+
type: Array,
|
|
45
|
+
required: true,
|
|
46
|
+
default: () => [],
|
|
35
47
|
},
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
48
|
+
storybook: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: false,
|
|
39
51
|
},
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
required: true,
|
|
44
|
-
default: () => [],
|
|
45
|
-
},
|
|
46
|
-
storybook: {
|
|
47
|
-
type: Boolean,
|
|
48
|
-
default: false
|
|
49
|
-
}
|
|
52
|
+
isParagraph: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
default: false,
|
|
50
55
|
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
},
|
|
57
|
+
computed: {
|
|
58
|
+
filteredCarouselItems() {
|
|
59
|
+
|
|
60
|
+
var todayDate = new Date();
|
|
61
|
+
|
|
62
|
+
for (var i = 0, length = this.carouselItems.length; i < length; i++) {
|
|
63
|
+
if (this.carouselItems[i].favourite === true) {
|
|
64
|
+
this.carouselItems[i].active = 'Yes';
|
|
65
|
+
} else if (new Date(this.carouselItems[i].dateStart).valueOf() <= todayDate.valueOf()) {
|
|
66
|
+
if (new Date(this.carouselItems[i].dateEnd).valueOf() >= todayDate.valueOf()) {
|
|
58
67
|
this.carouselItems[i].active = 'Yes'
|
|
59
|
-
} else if (new Date(this.carouselItems[i].field_date_start).valueOf() <= todayDate.valueOf()) {
|
|
60
|
-
if (new Date(this.carouselItems[i].field_date_end).valueOf() >= todayDate.valueOf()) {
|
|
61
|
-
this.carouselItems[i].active = 'Yes'
|
|
62
|
-
}
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
|
-
|
|
66
|
-
let filtered = this.carouselItems.filter(e =>
|
|
67
|
-
e.active === 'Yes');
|
|
68
|
-
return filtered
|
|
69
70
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
71
|
+
|
|
72
|
+
let filtered = this.carouselItems.filter(e => e.active === "Yes");
|
|
73
|
+
return filtered;
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
methods: {
|
|
77
|
+
|
|
78
|
+
handleClick(link) {
|
|
79
|
+
if (link) {
|
|
80
|
+
if (isAbsoluteUrl(link)) {
|
|
81
|
+
navigateToPath(link, true);
|
|
82
|
+
} else {
|
|
83
|
+
if (this.storybook) {
|
|
84
|
+
alert('This link will go to: ' + link);
|
|
77
85
|
} else {
|
|
78
|
-
|
|
79
|
-
alert('This link will go to: ' + link)
|
|
80
|
-
} else {
|
|
81
|
-
this.$router.push({ path: link })
|
|
82
|
-
}
|
|
86
|
+
this.$router.push({ path: link });
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
getImageURL(imagePath) {
|
|
88
|
-
let apiPath = this.$config ? this.$config.public.apiURL : process.env.CONTENT_API_URL;
|
|
89
|
-
let fullPath = apiPath.concat(imagePath)
|
|
90
|
-
return fullPath
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
formatDate(date) {
|
|
94
|
-
return [
|
|
95
|
-
date.getFullYear(),
|
|
96
|
-
('0' + date.getDate()).slice(-2),
|
|
97
|
-
('0' + (date.getMonth() + 1)).slice(-2)
|
|
98
|
-
].join('-')
|
|
99
89
|
}
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
getImageURL(imagePath) {
|
|
93
|
+
let apiPath = this.$config ? this.$config.public.apiURL : process.env.CONTENT_API_URL;
|
|
94
|
+
let fullPath = apiPath.concat(imagePath);
|
|
95
|
+
return fullPath;
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
formatDate(date) {
|
|
99
|
+
return [
|
|
100
|
+
date.getFullYear(),
|
|
101
|
+
('0' + date.getDate()).slice(-2),
|
|
102
|
+
('0' + (date.getMonth() + 1)).slice(-2)
|
|
103
|
+
].join('-');
|
|
100
104
|
}
|
|
101
105
|
}
|
|
106
|
+
}
|
|
102
107
|
</script>
|
|
103
108
|
|
|
104
109
|
<style lang="scss" scoped>
|
|
105
|
-
@
|
|
110
|
+
@use '../../../includes/scss/all';
|
|
106
111
|
</style>
|
|
107
112
|
|
|
108
113
|
<style>
|
|
109
|
-
.carousel {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
+
.carousel {
|
|
115
|
+
position: relative;
|
|
116
|
+
padding-bottom: 7rem;
|
|
117
|
+
max-width: 540px;
|
|
118
|
+
}
|
|
114
119
|
|
|
115
|
-
.carousel-inner {
|
|
116
|
-
|
|
117
|
-
}
|
|
120
|
+
.carousel-inner {
|
|
121
|
+
overflow: visible;
|
|
122
|
+
}
|
|
118
123
|
|
|
119
|
-
.carousel-indicators {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
124
|
+
.carousel-indicators {
|
|
125
|
+
padding-bottom: 3rem;
|
|
126
|
+
float: right;
|
|
127
|
+
right: 2% !important;
|
|
128
|
+
width: 20%;
|
|
129
|
+
justify-content: end;
|
|
130
|
+
margin-left: 80%;
|
|
131
|
+
margin-right: 0;
|
|
132
|
+
}
|
|
128
133
|
|
|
129
|
-
.carousel-indicators button {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
134
|
+
.carousel-indicators button {
|
|
135
|
+
width: 10px !important;
|
|
136
|
+
height: 10px !important;
|
|
137
|
+
border-radius: 50% !important;
|
|
138
|
+
background-color: black !important;
|
|
139
|
+
}
|
|
135
140
|
|
|
136
|
-
.carousel-indicators button:focus,
|
|
137
|
-
.carousel-indicators button:active {
|
|
138
|
-
|
|
139
|
-
|
|
141
|
+
.carousel-indicators button:focus,
|
|
142
|
+
.carousel-indicators button:active {
|
|
143
|
+
outline: none !important;
|
|
144
|
+
box-shadow: none;
|
|
145
|
+
}
|
|
140
146
|
|
|
141
|
-
|
|
147
|
+
.carousel-caption {
|
|
148
|
+
color: black;
|
|
149
|
+
top: 100%;
|
|
150
|
+
left: 0;
|
|
151
|
+
right: 20%;
|
|
152
|
+
text-align: left;
|
|
153
|
+
text-decoration: underline;
|
|
154
|
+
}
|
|
142
155
|
|
|
143
|
-
.carousel-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
right: 20%;
|
|
148
|
-
text-align: left;
|
|
149
|
-
text-decoration: underline;
|
|
150
|
-
}
|
|
156
|
+
.carousel-control-next,
|
|
157
|
+
.carousel-control-prev {
|
|
158
|
+
bottom: 7rem;
|
|
159
|
+
}
|
|
151
160
|
|
|
152
|
-
.carousel-control-
|
|
153
|
-
.carousel-control-prev
|
|
154
|
-
|
|
155
|
-
|
|
161
|
+
.carousel-control-prev:focus,
|
|
162
|
+
.carousel-control-prev:active,
|
|
163
|
+
.carousel-control-next:focus,
|
|
164
|
+
.carousel-control-next:active {
|
|
165
|
+
outline: none !important;
|
|
166
|
+
box-shadow: none;
|
|
167
|
+
}
|
|
156
168
|
|
|
157
|
-
.carousel-control-prev
|
|
158
|
-
.carousel-control-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
169
|
+
.carousel-control-prev-icon,
|
|
170
|
+
.carousel-control-next-icon {
|
|
171
|
+
height: 50px !important;
|
|
172
|
+
width: 50px !important;
|
|
173
|
+
outline:none !important;
|
|
174
|
+
}
|
|
164
175
|
|
|
165
|
-
.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
176
|
+
.carouselPara {
|
|
177
|
+
margin-left: auto;
|
|
178
|
+
margin-right: auto;
|
|
179
|
+
width: 75%;
|
|
180
|
+
height: auto;
|
|
181
|
+
}
|
|
171
182
|
|
|
172
183
|
</style>
|