@worksafevictoria/wcl7.5 1.8.0 → 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/lib/utility.js +0 -2
- package/package.json +1 -1
- package/src/components/Common/CardGrid/index.vue +0 -3
- 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 -5
- 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.stories.js +1 -1
- package/src/components/Paragraphs/Directory/Asbestos/Records/SingleRecord/index.vue +105 -108
- package/src/components/Paragraphs/Directory/Asbestos/Records/index.vue +152 -117
- package/src/components/Paragraphs/Directory/HSCP/Records/SingleRecord/index.vue +127 -133
- package/src/components/Paragraphs/Directory/HSCP/Records/index.vue +157 -124
- package/src/components/Paragraphs/ScrollSpy/index.stories.js +23 -25
- package/src/components/Paragraphs/ScrollSpy/index.vue +33 -40
- 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/ResourceGroup/index.vue +2 -1
- package/src/components/SubComponents/Search/SearchListing/index.vue +0 -2
- package/src/components/SubComponents/Search/index.vue +4 -2
- package/src/components/SubComponents/VideoThumbnail/index.vue +29 -28
- package/src/index.js +1 -1
- package/src/mock/asbestos-removalists.js +1 -1
- package/src/mock/carousel-items.js +46 -81
- package/src/mock/course-provider.js +2 -2
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/lib/utility.js
CHANGED
|
@@ -35,8 +35,6 @@ function isGovSite(url) {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
function navigateToPath(path, newTab, nuxtRouter) {
|
|
38
|
-
debugger
|
|
39
|
-
|
|
40
38
|
const url = String(path).startsWith('www.') ? `http://${path}` : path
|
|
41
39
|
const isAbsolute = isAbsoluteUrl(url)
|
|
42
40
|
const router = nuxtRouter ? nuxtRouter : this.$router
|
package/package.json
CHANGED
|
@@ -227,7 +227,6 @@ export default {
|
|
|
227
227
|
},
|
|
228
228
|
methods: {
|
|
229
229
|
cardTitleSelected(selectedCard, ev) {
|
|
230
|
-
debugger;
|
|
231
230
|
this.clearCards();
|
|
232
231
|
selectedCard.selected = !!!selectedCard.selected;
|
|
233
232
|
const selectedCardModelIndex = this.getChildIndex(selectedCard);
|
|
@@ -239,8 +238,6 @@ export default {
|
|
|
239
238
|
});
|
|
240
239
|
},
|
|
241
240
|
cardSelected(selectedCard, ev) {
|
|
242
|
-
debugger;
|
|
243
|
-
console.log("cardSelected selectedCard :- ", selectedCard);
|
|
244
241
|
this.clearCards();
|
|
245
242
|
selectedCard.selected = !!!selectedCard.selected;
|
|
246
243
|
const selectedCardModelIndex = this.getChildIndex(selectedCard);
|
|
@@ -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)"
|
|
@@ -401,8 +405,6 @@ export default {
|
|
|
401
405
|
},
|
|
402
406
|
methods: {
|
|
403
407
|
cardClicked(ev) {
|
|
404
|
-
debugger;
|
|
405
|
-
|
|
406
408
|
if (this.isSelectable) {
|
|
407
409
|
this.parentGrid.cardSelected(this, ev);
|
|
408
410
|
}
|
|
@@ -412,7 +414,6 @@ export default {
|
|
|
412
414
|
}
|
|
413
415
|
},
|
|
414
416
|
cardTitleClicked(ev) {
|
|
415
|
-
debugger;
|
|
416
417
|
if (this.isCardTitleSelectable) {
|
|
417
418
|
this.parentGrid.cardTitleSelected(this, ev);
|
|
418
419
|
}
|
|
@@ -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
|
})
|