@worksafevictoria/wcl7.5 1.10.0 → 1.12.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/package.json +1 -1
- package/src/assets/styles/generated-icons.scss +46 -46
- package/src/components/Common/CardGridItem/card-grid-item-caret.vue +40 -46
- package/src/components/Common/CardGridItem/card-grid-item-icon.vue +1 -1
- package/src/components/Common/CardGridItem/index.vue +153 -115
- 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 +3 -7
- package/src/components/Global/AppFooter/index.vue +29 -19
- 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/includes.scss +4 -2
- package/src/components/Global/AppHeaderNew/index.stories.js +2 -2
- package/src/components/Global/AppHeaderNew/index.vue +126 -386
- package/src/components/Global/AppHeaderNew/mobile.scss +41 -6
- package/src/components/Global/AppHeaderNew/styles.scss +57 -45
- package/src/components/Global/BackToTop/index.vue +16 -16
- package/src/components/Global/ContrastMode/index.stories.js +1 -1
- package/src/components/Global/DirectoryFilters/index.vue +24 -18
- package/src/components/Global/HeroHeader/index.vue +62 -73
- package/src/components/Global/SocialShare/index.vue +114 -129
- package/src/components/Global/Strip/index.vue +43 -39
- package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +22 -24
- 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 +129 -64
- package/src/components/Paragraphs/Directory/HSCP/Records/SingleRecord/index.vue +127 -133
- package/src/components/Paragraphs/Directory/HSCP/Records/index.vue +112 -66
- package/src/components/Paragraphs/Statistics/index.vue +9 -9
- package/src/components/Paragraphs/Tabs/index.vue +4 -4
- package/src/components/Paragraphs/TabulatedData/index.vue +27 -20
- 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 +18 -16
- package/src/components/SubComponents/VideoThumbnail/index.vue +8 -6
- package/src/mock/carousel-items.js +46 -81
|
@@ -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>
|
|
@@ -39,8 +39,9 @@ const headerLinks = [
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
export default {
|
|
42
|
-
title: '
|
|
42
|
+
title: 'Containers/HomepageHeader',
|
|
43
43
|
component: HomepageHeader,
|
|
44
|
+
tags: ['autodocs'],
|
|
44
45
|
argTypes: {
|
|
45
46
|
fetchMenu: {
|
|
46
47
|
control: 'function',
|
|
@@ -59,17 +60,4 @@ export default {
|
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
|
|
62
|
-
const
|
|
63
|
-
components: { HomepageHeader },
|
|
64
|
-
setup() {
|
|
65
|
-
return { args };
|
|
66
|
-
},
|
|
67
|
-
mounted() {
|
|
68
|
-
setTimeout(() => {
|
|
69
|
-
this.$refs.hh.renderMenu()
|
|
70
|
-
})
|
|
71
|
-
},
|
|
72
|
-
template: '<homepage-header v-bind="args" ref="hh" />'
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
export const Default = DefaultHH.bind({})
|
|
63
|
+
export const New = {}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
<!-- When implemented, importing mock values for carousel to be removed. This was only for testing locally, while values not available from drupal. -->
|
|
2
|
-
|
|
3
1
|
<template>
|
|
4
2
|
<div class="homepage-header">
|
|
5
3
|
<container>
|
|
@@ -22,8 +20,9 @@
|
|
|
22
20
|
:md="7"
|
|
23
21
|
>
|
|
24
22
|
<carousel-component
|
|
25
|
-
:
|
|
26
|
-
:storybook="
|
|
23
|
+
:carousel-items="slideList"
|
|
24
|
+
:storybook="isStorybook"
|
|
25
|
+
:is-paragraph="false"
|
|
27
26
|
/>
|
|
28
27
|
</column>
|
|
29
28
|
<column
|
|
@@ -56,7 +55,6 @@ import earthIcon from './../../../assets/icons/earth.svg?url'
|
|
|
56
55
|
import CarouselComponent from './../../Containers/Carousel/index.vue'
|
|
57
56
|
import Row from './../../Containers/Row/index.vue'
|
|
58
57
|
import Column from './../../Containers/Column/index.vue'
|
|
59
|
-
// import { mockCarouselItems } from '../../../mock/carousel-items'
|
|
60
58
|
|
|
61
59
|
export default {
|
|
62
60
|
name: 'HomepageHeader',
|
|
@@ -66,7 +64,6 @@ export default {
|
|
|
66
64
|
CarouselComponent,
|
|
67
65
|
Row,
|
|
68
66
|
Column,
|
|
69
|
-
// mockCarouselItems
|
|
70
67
|
},
|
|
71
68
|
props: {
|
|
72
69
|
contentParser: {
|
|
@@ -76,7 +73,6 @@ export default {
|
|
|
76
73
|
slideList: {
|
|
77
74
|
type: Array,
|
|
78
75
|
required: true,
|
|
79
|
-
// default: mockCarouselItems
|
|
80
76
|
},
|
|
81
77
|
isStorybook: {
|
|
82
78
|
type: Boolean,
|
|
@@ -17,8 +17,6 @@
|
|
|
17
17
|
<input
|
|
18
18
|
id="frYes"
|
|
19
19
|
type="radio"
|
|
20
|
-
:aria-checked="isSet('Yes') ? 'true' : 'false'"
|
|
21
|
-
role="radio"
|
|
22
20
|
name="feedback-radio"
|
|
23
21
|
value="Yes"
|
|
24
22
|
@change="setResponse($event)"
|
|
@@ -27,8 +25,6 @@
|
|
|
27
25
|
<input
|
|
28
26
|
id="frNo"
|
|
29
27
|
type="radio"
|
|
30
|
-
:aria-checked="isSet('No') ? 'true' : 'false'"
|
|
31
|
-
role="radio"
|
|
32
28
|
name="feedback-radio"
|
|
33
29
|
value="No"
|
|
34
30
|
@change="setResponse($event)"
|
|
@@ -36,8 +32,8 @@
|
|
|
36
32
|
<label for="frNo" class="option">No</label>
|
|
37
33
|
</div>
|
|
38
34
|
<div v-if="submitted">
|
|
39
|
-
<img class="feedback-tick" alt="" :src="Tick" />Thank
|
|
40
|
-
feedback
|
|
35
|
+
<img class="feedback-tick" alt="feedback tick" :src="Tick" />Thank
|
|
36
|
+
you for your feedback
|
|
41
37
|
</div>
|
|
42
38
|
</column>
|
|
43
39
|
<column
|
|
@@ -140,7 +136,7 @@
|
|
|
140
136
|
height="12"
|
|
141
137
|
width="17"
|
|
142
138
|
class="app-footer-menu__title__caret"
|
|
143
|
-
alt=""
|
|
139
|
+
alt="expand icon"
|
|
144
140
|
/>
|
|
145
141
|
<img
|
|
146
142
|
v-show="menuItem.isOpen"
|
|
@@ -148,25 +144,33 @@
|
|
|
148
144
|
height="12"
|
|
149
145
|
width="17"
|
|
150
146
|
class="app-footer-menu__title__caret"
|
|
151
|
-
alt=""
|
|
147
|
+
alt="collapse icon"
|
|
152
148
|
/>
|
|
153
149
|
|
|
154
150
|
<a
|
|
155
151
|
v-if="menuItem.absolute === menuItem.relative"
|
|
156
|
-
:role="!menuItem.absolute ? 'button' :
|
|
157
|
-
:href="menuItem.absolute"
|
|
158
|
-
class="
|
|
159
|
-
|
|
152
|
+
:role="!menuItem.absolute ? 'button' : null"
|
|
153
|
+
:href="menuItem.absolute || undefined"
|
|
154
|
+
:class="[
|
|
155
|
+
'app-footer-menu__title--link',
|
|
156
|
+
'dark',
|
|
157
|
+
{ nolink: !menuItem.absolute },
|
|
158
|
+
]"
|
|
159
|
+
:tabindex="!menuItem.absolute ? 0 : -1"
|
|
160
160
|
target="_blank"
|
|
161
161
|
:aria-expanded="
|
|
162
|
-
isMobile
|
|
162
|
+
isMobile && !menuItem.absolute
|
|
163
|
+
? menuItem.isOpen
|
|
164
|
+
? 'true'
|
|
165
|
+
: 'false'
|
|
166
|
+
: undefined
|
|
163
167
|
"
|
|
164
168
|
@click.prevent="handleAbsoluteClick(menuItem)"
|
|
165
169
|
><h2>{{ menuItem.title }}</h2>
|
|
166
170
|
</a>
|
|
167
171
|
<nuxt-link
|
|
168
172
|
v-else
|
|
169
|
-
:to="menuItem.
|
|
173
|
+
:to="menuItem.title"
|
|
170
174
|
class="app-footer-menu__title--link dark"
|
|
171
175
|
>
|
|
172
176
|
<h2>{{ menuItem.title }}</h2>
|
|
@@ -189,14 +193,14 @@
|
|
|
189
193
|
:href="subItem.absolute"
|
|
190
194
|
target="_blank"
|
|
191
195
|
class="app-footer-menu__item--link dark"
|
|
192
|
-
@click
|
|
196
|
+
@click="handleAbsoluteClick(subItem)"
|
|
193
197
|
>{{ subItem.title
|
|
194
198
|
}}<img
|
|
195
199
|
:src="ExternalLink"
|
|
196
200
|
height="12"
|
|
197
201
|
width="12"
|
|
198
202
|
class="app-footer-menu__item--icon"
|
|
199
|
-
alt="
|
|
203
|
+
alt="External link"
|
|
200
204
|
/>
|
|
201
205
|
</a>
|
|
202
206
|
<nuxt-link
|
|
@@ -220,10 +224,15 @@
|
|
|
220
224
|
>
|
|
221
225
|
<a
|
|
222
226
|
:aria-expanded="
|
|
223
|
-
isMobile
|
|
227
|
+
isMobile
|
|
228
|
+
? contactMenuIsOpen
|
|
229
|
+
? 'true'
|
|
230
|
+
: 'false'
|
|
231
|
+
: undefined
|
|
224
232
|
"
|
|
225
233
|
role="button"
|
|
226
234
|
class="app-footer-menu__title--link dark nolink"
|
|
235
|
+
tabindex="0"
|
|
227
236
|
><h2>Contact</h2></a
|
|
228
237
|
>
|
|
229
238
|
<img
|
|
@@ -232,7 +241,7 @@
|
|
|
232
241
|
height="12"
|
|
233
242
|
width="17"
|
|
234
243
|
class="app-footer-menu__title__caret"
|
|
235
|
-
alt=""
|
|
244
|
+
alt="expand icon"
|
|
236
245
|
/>
|
|
237
246
|
<img
|
|
238
247
|
v-show="contactMenuIsOpen"
|
|
@@ -240,7 +249,7 @@
|
|
|
240
249
|
height="12"
|
|
241
250
|
width="17"
|
|
242
251
|
class="app-footer-menu__title__caret"
|
|
243
|
-
alt=""
|
|
252
|
+
alt="collapse icon"
|
|
244
253
|
/>
|
|
245
254
|
<ul
|
|
246
255
|
class="submenu"
|
|
@@ -348,6 +357,7 @@
|
|
|
348
357
|
height="24"
|
|
349
358
|
class="app-footer__main__subscribe--icon"
|
|
350
359
|
:glyph="ExternalLinkRaw"
|
|
360
|
+
icon-alt="External link icon"
|
|
351
361
|
/>
|
|
352
362
|
</button>
|
|
353
363
|
</column>
|
|
@@ -7,7 +7,13 @@
|
|
|
7
7
|
@click="$emit('closed')"
|
|
8
8
|
>
|
|
9
9
|
Close menu
|
|
10
|
-
<img
|
|
10
|
+
<img
|
|
11
|
+
class="app-search__close-icon"
|
|
12
|
+
alt="search close icon"
|
|
13
|
+
width="22"
|
|
14
|
+
height="18"
|
|
15
|
+
:src="Close"
|
|
16
|
+
/>
|
|
11
17
|
</button>
|
|
12
18
|
<form @submit.prevent>
|
|
13
19
|
<label class="app-search__label font-weight-bold" for="app-search--search-input-box"
|
|
@@ -18,7 +18,7 @@ const contentParser = () => {
|
|
|
18
18
|
export default {
|
|
19
19
|
title: 'Global/AppHeader',
|
|
20
20
|
component: AppHeader,
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
data() {
|
|
23
23
|
return {
|
|
24
24
|
appHeaderData
|
|
@@ -71,4 +71,4 @@ const DefaultContent = (args) => ({
|
|
|
71
71
|
`
|
|
72
72
|
})
|
|
73
73
|
|
|
74
|
-
export const
|
|
74
|
+
export const Former = DefaultContent.bind({})
|
|
@@ -7,12 +7,16 @@
|
|
|
7
7
|
@click="$emit('closed')"
|
|
8
8
|
>
|
|
9
9
|
Close menu
|
|
10
|
-
<img
|
|
10
|
+
<img
|
|
11
|
+
class="app-search__close-icon"
|
|
12
|
+
width="22"
|
|
13
|
+
height="18"
|
|
14
|
+
:src="Close"
|
|
15
|
+
alt="search close icon"
|
|
16
|
+
/>
|
|
11
17
|
</button>
|
|
12
18
|
<form @submit.prevent>
|
|
13
|
-
<label
|
|
14
|
-
class="app-search__label font-weight-bold"
|
|
15
|
-
for="app-search--search-input-box"
|
|
19
|
+
<label class="app-search__label font-weight-bold" for="app-search--search-input-box"
|
|
16
20
|
>Search WorkSafe</label
|
|
17
21
|
>
|
|
18
22
|
<search
|
|
@@ -32,40 +36,40 @@
|
|
|
32
36
|
</template>
|
|
33
37
|
|
|
34
38
|
<script>
|
|
35
|
-
import Close from
|
|
36
|
-
import Search from
|
|
39
|
+
import Close from "../../../../assets/icons/close.svg?url";
|
|
40
|
+
import Search from "../../../SubComponents/Search/index.vue";
|
|
37
41
|
|
|
38
42
|
export default {
|
|
39
|
-
name:
|
|
43
|
+
name: "ModalSearch",
|
|
40
44
|
components: { Search },
|
|
41
45
|
props: {
|
|
42
46
|
searchQuery: {
|
|
43
47
|
type: String,
|
|
44
|
-
default:
|
|
48
|
+
default: "",
|
|
45
49
|
},
|
|
46
50
|
contentParser: {
|
|
47
51
|
type: Function,
|
|
48
|
-
required: true
|
|
52
|
+
required: true,
|
|
49
53
|
},
|
|
50
54
|
googleSearchFlag: {
|
|
51
55
|
type: String,
|
|
52
|
-
default:
|
|
53
|
-
}
|
|
56
|
+
default: "googlerest",
|
|
57
|
+
},
|
|
54
58
|
},
|
|
55
59
|
data() {
|
|
56
60
|
return {
|
|
57
61
|
pageLimit: 20,
|
|
58
62
|
pageNumber: 1,
|
|
59
63
|
searchResults: null,
|
|
60
|
-
Close
|
|
61
|
-
}
|
|
64
|
+
Close,
|
|
65
|
+
};
|
|
62
66
|
},
|
|
63
67
|
mounted() {
|
|
64
|
-
this.$refs.searchInputBox.$el.querySelector(
|
|
65
|
-
}
|
|
66
|
-
}
|
|
68
|
+
this.$refs.searchInputBox.$el.querySelector("input").focus();
|
|
69
|
+
},
|
|
70
|
+
};
|
|
67
71
|
</script>
|
|
68
72
|
|
|
69
73
|
<style lang="scss" scoped>
|
|
70
|
-
@import
|
|
74
|
+
@import "./styles";
|
|
71
75
|
</style>
|
|
@@ -16,7 +16,7 @@ $app-menu-gold: #fecc56;
|
|
|
16
16
|
$primary-color: $app-menu-gold;
|
|
17
17
|
$app-menu-white: #ffffff;
|
|
18
18
|
$app-menu-black: #191919;
|
|
19
|
-
$app-menu-grey:
|
|
19
|
+
$app-menu-grey: #f2f2f2;
|
|
20
20
|
$app-menu-green: #356041;
|
|
21
21
|
$app-menu-border-color: rgba(255, 255, 255, 0.3);
|
|
22
22
|
// $app-menu-border-color: $app-menu-black;
|
|
@@ -24,8 +24,10 @@ $app-menu-border-color: rgba(255, 255, 255, 0.3);
|
|
|
24
24
|
$app-header-background-colour: $app-menu-grey !default;
|
|
25
25
|
$app-header-text-colour: $app-menu-black !default;
|
|
26
26
|
$app-header-hover: $app-menu-gold !default;
|
|
27
|
-
$app-header-active: $app-menu-
|
|
27
|
+
$app-header-active: $app-menu-black !default;
|
|
28
28
|
$app-subheader-text-colour: $app-menu-white !default;
|
|
29
|
+
$app-header-active-text-colour: $app-menu-white !default;
|
|
30
|
+
|
|
29
31
|
|
|
30
32
|
@if ($primary-color == #478157) {
|
|
31
33
|
$app-header-background-colour: $app-menu-green !global;
|
|
@@ -16,7 +16,7 @@ const contentParser = () => {
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
export default {
|
|
19
|
-
title: '
|
|
19
|
+
title: 'Global/AppHeader',
|
|
20
20
|
component: AppHeader,
|
|
21
21
|
tags: ['autodocs'],
|
|
22
22
|
data() {
|
|
@@ -71,4 +71,4 @@ const DefaultContent = (args) => ({
|
|
|
71
71
|
`
|
|
72
72
|
})
|
|
73
73
|
|
|
74
|
-
export const
|
|
74
|
+
export const New = DefaultContent.bind({})
|