@worksafevictoria/wcl7.5 1.17.0-beta.3 → 1.17.0-beta.4
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/icons/chevron-right-icon.svg +14 -0
- package/src/assets/icons/notepad.svg +93 -0
- package/src/assets/icons/question.svg +7 -0
- package/src/components/Common/CardGrid/index.vue +83 -74
- package/src/components/Common/CardGridItem/index.vue +31 -4
- package/src/components/Containers/SectionGroup/index.stories.js +28 -27
- package/src/components/Containers/SectionGroup/index.vue +6 -0
- package/src/components/Global/HeroHeader/index.vue +74 -57
- package/src/components/Paragraphs/Calculator/CardContainer/index.vue +68 -60
- package/src/components/Paragraphs/Calculator/index.vue +24 -22
- package/src/components/Paragraphs/RTWPlanner/CardContainer/index.vue +133 -0
- package/src/components/Paragraphs/RTWPlanner/Constants.js +410 -0
- package/src/components/Paragraphs/RTWPlanner/Footer/index.vue +32 -0
- package/src/components/Paragraphs/RTWPlanner/{NavBar → Header}/index.vue +20 -9
- package/src/components/Paragraphs/RTWPlanner/HomePage/index.vue +72 -0
- package/src/components/Paragraphs/RTWPlanner/Injuries/index.vue +174 -0
- package/src/components/Paragraphs/RTWPlanner/index.stories.js +68 -15
- package/src/components/Paragraphs/RTWPlanner/index.vue +99 -31
- package/src/components/Paragraphs/SelectableCards/Control/index.stories.js +31 -11
- package/src/components/Paragraphs/SelectableCards/cardbody.vue +9 -10
- package/src/components/Paragraphs/SelectableCards/cardtop.vue +23 -16
- package/src/components/Paragraphs/SelectableCards/index.stories.js +29 -8
- package/src/components/Paragraphs/SelectableCards/index.vue +124 -50
- package/src/components/SubComponents/Breadcrumb/index.vue +40 -7
- package/src/includes/scss/vars/src/colors.module.scss +3 -0
- package/src/includes/scss/vars/src/colors.scss +3 -0
- package/src/mock/control-selectable-cards.js +68 -25
- package/src/components/Paragraphs/RTWPlanner/Home/index.vue +0 -83
|
@@ -7,55 +7,99 @@
|
|
|
7
7
|
:sub-heading="subHeading"
|
|
8
8
|
:columns-per-row="columns || 4"
|
|
9
9
|
class="selectable-cards"
|
|
10
|
-
:is-selectable="
|
|
10
|
+
:is-selectable="isSelectable"
|
|
11
11
|
:card-id-prefix="'selectable-cc-card'"
|
|
12
12
|
@selected="selectedCardChangeFocus"
|
|
13
|
+
@selected-button-role="selectedButtonRole"
|
|
13
14
|
>
|
|
14
|
-
<template v-slot:cardItem="
|
|
15
|
-
<!-----CONTROL SELECTED CARD START-------->
|
|
15
|
+
<template v-slot:cardItem="slotProps">
|
|
16
16
|
<card-grid-item
|
|
17
17
|
v-if="cardType === 'control-selectcards'"
|
|
18
18
|
class="control_selectcard"
|
|
19
|
-
:button-role="
|
|
20
|
-
:glyph-src="
|
|
19
|
+
:button-role="buttonRole"
|
|
20
|
+
:glyph-src="normalize(slotProps).icon"
|
|
21
21
|
:icon-size="'medium'"
|
|
22
22
|
:show-divider="false"
|
|
23
23
|
:header-size="'medium'"
|
|
24
|
-
:card-header-title="
|
|
25
|
-
:card-padding="
|
|
24
|
+
:card-header-title="normalize(slotProps).name"
|
|
25
|
+
:card-padding="cardPadding"
|
|
26
26
|
:border-type="'dark'"
|
|
27
27
|
:border-on-select-background="'blue'"
|
|
28
28
|
:icon-is-bordered="iconIsBordered"
|
|
29
29
|
:card-text-align="cardTextAlign"
|
|
30
|
+
:is-selectable="isSelectable"
|
|
30
31
|
>
|
|
31
|
-
<template
|
|
32
|
-
<card-top
|
|
32
|
+
<template #cardTop>
|
|
33
|
+
<card-top
|
|
34
|
+
v-if="buttonRole !== 'none'"
|
|
35
|
+
:card="normalize(slotProps)"
|
|
36
|
+
:button-role="buttonRole"
|
|
37
|
+
:is-selectable="true"
|
|
38
|
+
@button-role-clicked="selectedButtonRole"
|
|
39
|
+
/>
|
|
33
40
|
</template>
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
|
|
42
|
+
<template #cardDescription>
|
|
43
|
+
<card-body :card="normalize(slotProps)" />
|
|
36
44
|
</template>
|
|
37
45
|
</card-grid-item>
|
|
38
|
-
|
|
46
|
+
|
|
39
47
|
<card-grid-item
|
|
40
48
|
v-else
|
|
41
49
|
class="selectcard"
|
|
42
|
-
:glyph-src="
|
|
50
|
+
:glyph-src="normalize(slotProps).icon"
|
|
43
51
|
:show-divider="false"
|
|
44
52
|
:header-size="'large'"
|
|
45
|
-
:card-header-title="
|
|
53
|
+
:card-header-title="normalize(slotProps).name"
|
|
46
54
|
:card-padding="'small'"
|
|
47
55
|
:invert-on-select-background="'black'"
|
|
48
56
|
:border-type="'shadow'"
|
|
49
|
-
:description="
|
|
57
|
+
:description="normalize(slotProps).description"
|
|
50
58
|
/>
|
|
51
59
|
</template>
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
|
|
61
|
+
<template #cardGridFooter>
|
|
62
|
+
<slot name="cardGridFooter" />
|
|
54
63
|
</template>
|
|
55
64
|
</card-grid>
|
|
65
|
+
|
|
66
|
+
<!-- Reusable modal lives here now -->
|
|
67
|
+
<BModal
|
|
68
|
+
v-if="showModalOnButtonRole"
|
|
69
|
+
v-model="showModal"
|
|
70
|
+
:size="modalSize"
|
|
71
|
+
:no-footer="noModalFooter"
|
|
72
|
+
:scrollable="true"
|
|
73
|
+
:class="modalClass"
|
|
74
|
+
@show="$emit('modal-open', modalCard)"
|
|
75
|
+
@hide="$emit('modal-close')"
|
|
76
|
+
>
|
|
77
|
+
<div v-if="modalCard" class="selectable-cards__modal">
|
|
78
|
+
<!-- Parent can fully control; -->
|
|
79
|
+
<slot name="modalTitle" :card="modalCard">
|
|
80
|
+
<h2 class="card-title">{{ modalCard.name }}</h2>
|
|
81
|
+
</slot>
|
|
82
|
+
|
|
83
|
+
<slot name="modalBody" :card="modalCard">
|
|
84
|
+
<div class="card-body">
|
|
85
|
+
<p v-if="modalCard.value" class="card-value">{{ modalCard.value }}</p>
|
|
86
|
+
<div
|
|
87
|
+
v-if="modalCard.description"
|
|
88
|
+
class="card-description"
|
|
89
|
+
v-html="modalCard.description"
|
|
90
|
+
/>
|
|
91
|
+
</div>
|
|
92
|
+
</slot>
|
|
93
|
+
|
|
94
|
+
<slot name="modalFooter" :card="modalCard">
|
|
95
|
+
<div />
|
|
96
|
+
</slot>
|
|
97
|
+
</div>
|
|
98
|
+
</BModal>
|
|
56
99
|
</template>
|
|
57
100
|
|
|
58
101
|
<script>
|
|
102
|
+
import { BModal } from 'bootstrap-vue-next'
|
|
59
103
|
import CardGrid from './../../Common/CardGrid/index.vue'
|
|
60
104
|
import CardGridItem from './../../Common/CardGridItem/index.vue'
|
|
61
105
|
import CardBody from './cardbody.vue'
|
|
@@ -63,56 +107,86 @@ import CardTop from './cardtop.vue'
|
|
|
63
107
|
|
|
64
108
|
export default {
|
|
65
109
|
name: 'SelectableCards',
|
|
66
|
-
components: {
|
|
67
|
-
CardGrid,
|
|
68
|
-
CardGridItem,
|
|
69
|
-
CardBody,
|
|
70
|
-
CardTop,
|
|
71
|
-
},
|
|
110
|
+
components: { CardGrid, CardGridItem, CardBody, CardTop, BModal },
|
|
72
111
|
emits: {
|
|
73
112
|
selected: false,
|
|
113
|
+
'selected-button-role': false,
|
|
114
|
+
'modal-open': false,
|
|
115
|
+
'modal-close': false,
|
|
74
116
|
},
|
|
75
117
|
props: {
|
|
76
|
-
cards: {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
},
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
default: 'h2',
|
|
88
|
-
},
|
|
89
|
-
subHeading: {
|
|
118
|
+
cards: { type: Array, required: true, default: () => [] },
|
|
119
|
+
title: { type: String, default: null },
|
|
120
|
+
headingTag: { type: String, default: 'h2' },
|
|
121
|
+
subHeading: { type: String, default: null },
|
|
122
|
+
iconIsBordered: { type: Boolean, default: true },
|
|
123
|
+
isSelectable: { type: Boolean, default: true },
|
|
124
|
+
columns: { type: Number, default: 4 },
|
|
125
|
+
cardType: { type: String, default: null },
|
|
126
|
+
cardTextAlign: { type: String, default: null },
|
|
127
|
+
buttonRole: { type: String, default: 'radio' },
|
|
128
|
+
cardPadding: {
|
|
90
129
|
type: String,
|
|
91
|
-
default:
|
|
130
|
+
default: 'small',
|
|
131
|
+
validator: (value) =>
|
|
132
|
+
['none', 'xsmall', 'small', 'medium', 'large'].indexOf(value) >= 0,
|
|
92
133
|
},
|
|
93
|
-
|
|
134
|
+
|
|
135
|
+
/* New modal controls for reusability */
|
|
136
|
+
showModalOnButtonRole: {
|
|
94
137
|
type: Boolean,
|
|
95
138
|
default: true,
|
|
96
139
|
},
|
|
97
|
-
|
|
98
|
-
type: Number,
|
|
99
|
-
default: 4,
|
|
100
|
-
},
|
|
101
|
-
cardType: {
|
|
140
|
+
modalSize: {
|
|
102
141
|
type: String,
|
|
103
|
-
default:
|
|
142
|
+
default: 'xl',
|
|
104
143
|
},
|
|
105
|
-
|
|
144
|
+
modalClass: {
|
|
106
145
|
type: String,
|
|
107
|
-
default:
|
|
146
|
+
default: 'wcl-card-modal__modal',
|
|
108
147
|
},
|
|
148
|
+
noModalFooter: {
|
|
149
|
+
type: Boolean,
|
|
150
|
+
default: true,
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
data() {
|
|
154
|
+
return {
|
|
155
|
+
showModal: false,
|
|
156
|
+
modalCard: null,
|
|
157
|
+
}
|
|
109
158
|
},
|
|
110
159
|
methods: {
|
|
111
|
-
|
|
112
|
-
|
|
160
|
+
// Accept various slot shapes and return the raw card
|
|
161
|
+
normalize(slotProps) {
|
|
162
|
+
const c =
|
|
163
|
+
slotProps?.card?.selectedCard ??
|
|
164
|
+
slotProps?.card ??
|
|
165
|
+
slotProps?.item ??
|
|
166
|
+
slotProps?.selectedCard ??
|
|
167
|
+
slotProps
|
|
168
|
+
return c || {}
|
|
113
169
|
},
|
|
170
|
+
|
|
171
|
+
selectedCardChangeFocus(payload) {
|
|
172
|
+
// If CardGrid emits { selectedCard }, keep behavior consistent
|
|
173
|
+
const card = payload?.selectedCard ?? payload
|
|
174
|
+
this.$emit('selected', card)
|
|
175
|
+
},
|
|
176
|
+
|
|
177
|
+
selectedButtonRole(card) {
|
|
178
|
+
// Receive raw card from <card-top> and bubble it up as raw object
|
|
179
|
+
this.$emit('selected-button-role', card)
|
|
180
|
+
|
|
181
|
+
// open the reusable modal here
|
|
182
|
+
if (this.showModalOnButtonRole) {
|
|
183
|
+
this.modalCard = card
|
|
184
|
+
this.showModal = true
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
|
|
114
188
|
clearCard() {
|
|
115
|
-
this.$refs.cardgrid
|
|
189
|
+
this.$refs.cardgrid?.clearCards?.()
|
|
116
190
|
},
|
|
117
191
|
},
|
|
118
192
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
class="wcl-breadcrumb"
|
|
4
|
-
:class="{
|
|
4
|
+
:class="{ 'wcl-breadcrumb--rtl': rtl, 'wcl-breadcrumb--ltr': !rtl }"
|
|
5
5
|
>
|
|
6
6
|
<ol class="breadcrumb">
|
|
7
7
|
<li
|
|
@@ -9,27 +9,60 @@
|
|
|
9
9
|
:key="index"
|
|
10
10
|
class="breadcrumb-item"
|
|
11
11
|
>
|
|
12
|
-
|
|
13
|
-
<
|
|
12
|
+
<!-- Plain anchor -->
|
|
13
|
+
<a
|
|
14
|
+
v-if="item.href"
|
|
15
|
+
:href="item.href"
|
|
16
|
+
target="_self"
|
|
17
|
+
@click="onClick(item, index, $event)"
|
|
18
|
+
>{{ item.text }}</a
|
|
19
|
+
>
|
|
20
|
+
|
|
21
|
+
<!-- NuxtLink (Nuxt 3 / Vue 3) -->
|
|
22
|
+
<nuxt-link
|
|
23
|
+
v-else-if="item.to"
|
|
24
|
+
:to="item.to"
|
|
25
|
+
@click="onClick(item, index, $event)"
|
|
26
|
+
>{{ item.text }}</nuxt-link
|
|
27
|
+
>
|
|
28
|
+
|
|
29
|
+
<!-- Fallback (no link) -->
|
|
30
|
+
<span v-else @click="onClick(item, index, $event)">{{
|
|
31
|
+
item.text
|
|
32
|
+
}}</span>
|
|
14
33
|
</li>
|
|
15
34
|
</ol>
|
|
16
35
|
</div>
|
|
17
36
|
</template>
|
|
37
|
+
|
|
18
38
|
<script>
|
|
19
39
|
export default {
|
|
20
40
|
name: 'Breadcrumb',
|
|
21
41
|
props: {
|
|
22
42
|
breadcrumbItems: {
|
|
23
43
|
type: Array,
|
|
24
|
-
required: true
|
|
44
|
+
required: true,
|
|
25
45
|
},
|
|
26
46
|
rtl: {
|
|
27
47
|
type: Boolean,
|
|
28
|
-
required: false
|
|
29
|
-
}
|
|
30
|
-
|
|
48
|
+
required: false,
|
|
49
|
+
},
|
|
50
|
+
// If true, prevent default navigation and let the parent handle it.
|
|
51
|
+
interceptClicks: {
|
|
52
|
+
type: Boolean,
|
|
53
|
+
default: false,
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
emits: ['item-click'],
|
|
57
|
+
methods: {
|
|
58
|
+
onClick(item, index, event) {
|
|
59
|
+
this.$emit('item-click', { item, index, event })
|
|
60
|
+
if (this.interceptClicks) event.preventDefault()
|
|
61
|
+
},
|
|
62
|
+
},
|
|
31
63
|
}
|
|
32
64
|
</script>
|
|
65
|
+
|
|
33
66
|
<style lang="scss" scoped>
|
|
34
67
|
@import '../../../includes/scss/vars/src/colors.scss';
|
|
35
68
|
|
|
@@ -20,6 +20,8 @@ $yellow: #ffd229;
|
|
|
20
20
|
$lightyellow: #fff6d4;
|
|
21
21
|
$outline: #da47ff;
|
|
22
22
|
$outline-dark: #ffffff;
|
|
23
|
+
$lavendergray: #e5e8f2;
|
|
24
|
+
|
|
23
25
|
// Functional colours
|
|
24
26
|
$wsv-fun-dark-green: #576D2F;
|
|
25
27
|
$wsv-fun-dark-blue: #104f77;
|
|
@@ -58,6 +60,7 @@ $theme-colors: (
|
|
|
58
60
|
'lightyellow': $lightyellow,
|
|
59
61
|
'outline': $outline,
|
|
60
62
|
'outline-dark': $outline-dark,
|
|
63
|
+
'lavendergray': $lavendergray,
|
|
61
64
|
// Functional colours
|
|
62
65
|
'wsv-fun-dark-green':$wsv-fun-dark-green,
|
|
63
66
|
'wsv-fun-dark-blue':$wsv-fun-dark-blue,
|
|
@@ -20,6 +20,8 @@ $yellow: #ffd229;
|
|
|
20
20
|
$lightyellow: #fff6d4;
|
|
21
21
|
$outline: #da47ff;
|
|
22
22
|
$outline-dark: #ffffff;
|
|
23
|
+
$lavendergray: #e5e8f2;
|
|
24
|
+
|
|
23
25
|
// Functional colours
|
|
24
26
|
$wsv-fun-dark-green: #576D2F;
|
|
25
27
|
$wsv-fun-dark-blue: #104f77;
|
|
@@ -59,6 +61,7 @@ $theme-colors: (
|
|
|
59
61
|
'lightyellow': $lightyellow,
|
|
60
62
|
'outline': $outline,
|
|
61
63
|
'outline-dark': $outline-dark,
|
|
64
|
+
'lavendergray': $lavendergray,
|
|
62
65
|
// Functional colours
|
|
63
66
|
'wsv-fun-dark-green':$wsv-fun-dark-green,
|
|
64
67
|
'wsv-fun-dark-blue':$wsv-fun-dark-blue,
|
|
@@ -1,58 +1,101 @@
|
|
|
1
1
|
export const mockSelectableCards = [
|
|
2
2
|
{
|
|
3
3
|
name: 'Bolt',
|
|
4
|
-
icon:
|
|
5
|
-
'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
4
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
6
5
|
value: '0.2500',
|
|
7
|
-
units: 'kg'
|
|
6
|
+
units: 'kg',
|
|
8
7
|
},
|
|
9
8
|
{
|
|
10
9
|
name: 'Screwdriver',
|
|
11
|
-
icon:
|
|
12
|
-
'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
|
|
10
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
|
|
13
11
|
value: '0.2600',
|
|
14
|
-
units: 'kg'
|
|
12
|
+
units: 'kg',
|
|
15
13
|
},
|
|
16
14
|
{
|
|
17
15
|
name: 'Hammer',
|
|
18
|
-
icon:
|
|
19
|
-
'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
16
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
20
17
|
value: '0.5',
|
|
21
|
-
units: 'kg'
|
|
18
|
+
units: 'kg',
|
|
22
19
|
},
|
|
23
20
|
{
|
|
24
21
|
name: 'Electric drill',
|
|
25
|
-
icon:
|
|
26
|
-
'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
|
|
22
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
|
|
27
23
|
value: '2',
|
|
28
|
-
units: 'kg'
|
|
24
|
+
units: 'kg',
|
|
29
25
|
},
|
|
30
26
|
{
|
|
31
27
|
name: 'Sledge Hammer',
|
|
32
|
-
icon:
|
|
33
|
-
'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
28
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
34
29
|
value: '5',
|
|
35
|
-
units: 'kg'
|
|
30
|
+
units: 'kg',
|
|
36
31
|
},
|
|
37
32
|
{
|
|
38
33
|
name: 'Scaffolding platform',
|
|
39
|
-
icon:
|
|
40
|
-
'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
|
|
34
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
|
|
41
35
|
value: '50',
|
|
42
|
-
units: 'kg'
|
|
36
|
+
units: 'kg',
|
|
43
37
|
},
|
|
44
38
|
{
|
|
45
39
|
name: 'Anvil',
|
|
46
|
-
icon:
|
|
47
|
-
'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
40
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
48
41
|
value: '75',
|
|
49
|
-
units: 'kg'
|
|
42
|
+
units: 'kg',
|
|
50
43
|
},
|
|
51
44
|
{
|
|
52
45
|
name: 'Window pane',
|
|
53
|
-
icon:
|
|
54
|
-
'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
46
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
55
47
|
value: '250',
|
|
56
|
-
units: 'kg'
|
|
57
|
-
}
|
|
48
|
+
units: 'kg',
|
|
49
|
+
},
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
export const mockModalSelectableCards = [
|
|
53
|
+
{
|
|
54
|
+
name: 'Acquired brain injury',
|
|
55
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
56
|
+
value: 'The return to work planner is not suitable for this injury type',
|
|
57
|
+
description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
|
|
58
|
+
<p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
|
|
59
|
+
<p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'Hearing loss',
|
|
63
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
64
|
+
value: 'The return to work planner is not suitable for this injury type',
|
|
65
|
+
description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
|
|
66
|
+
<p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
|
|
67
|
+
<p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'Respiratory condition',
|
|
71
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
72
|
+
value: 'The return to work planner is not suitable for this injury type',
|
|
73
|
+
description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
|
|
74
|
+
<p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
|
|
75
|
+
<p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: 'Severe injury',
|
|
79
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
80
|
+
value: 'The return to work planner is not suitable for this injury type',
|
|
81
|
+
description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
|
|
82
|
+
<p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
|
|
83
|
+
<p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: 'Serious injury',
|
|
87
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
88
|
+
value: 'The return to work planner is not suitable for this injury type',
|
|
89
|
+
description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
|
|
90
|
+
<p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
|
|
91
|
+
<p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: 'Mental injury',
|
|
95
|
+
icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
|
|
96
|
+
value: 'The return to work planner is not suitable for this injury type',
|
|
97
|
+
description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
|
|
98
|
+
<p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
|
|
99
|
+
<p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
|
|
100
|
+
},
|
|
58
101
|
]
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<TextMedia
|
|
4
|
-
:media-type="'image'"
|
|
5
|
-
:title-text="textMedia.title"
|
|
6
|
-
:title-tag="textMedia.titleTag"
|
|
7
|
-
:content="textMedia.content"
|
|
8
|
-
:image="textMedia.image"
|
|
9
|
-
:rtl="textMedia.rtl"
|
|
10
|
-
/>
|
|
11
|
-
|
|
12
|
-
<Container fluid class="my-4">
|
|
13
|
-
<h2>Select your injury</h2>
|
|
14
|
-
|
|
15
|
-
<TextMedia
|
|
16
|
-
:media-type="'icon'"
|
|
17
|
-
:title-text="'Physical injuries'"
|
|
18
|
-
:content="`<p>
|
|
19
|
-
Physical injuries include anything that occurs to an employees body.
|
|
20
|
-
This tool supports employers to manage the return to work process
|
|
21
|
-
for non-complex physical injuries only.
|
|
22
|
-
</p><p><a href="#" class="cta-button">Continue to planner</a></p>`"
|
|
23
|
-
:glyph="PhysicalInjury"
|
|
24
|
-
:icon-alt="'PhysicalInjury icon'"
|
|
25
|
-
:glyph-height="60"
|
|
26
|
-
:glyph-width="60"
|
|
27
|
-
/>
|
|
28
|
-
|
|
29
|
-
<TextMedia
|
|
30
|
-
:media-type="'icon'"
|
|
31
|
-
:title-text="'Mental injuries'"
|
|
32
|
-
:content="`<p>
|
|
33
|
-
Mental injuries are complex and require tailored information for
|
|
34
|
-
employers to support injured workers with their return to work. This
|
|
35
|
-
tool does not currently give guidance for mental injuries.
|
|
36
|
-
</p><p><a href="#" class="cta-button white">Continue to planner</a></p>`"
|
|
37
|
-
:glyph="MentalInjury"
|
|
38
|
-
:icon-alt="'MentalInjury icon'"
|
|
39
|
-
:glyph-height="60"
|
|
40
|
-
:glyph-width="60"
|
|
41
|
-
/>
|
|
42
|
-
|
|
43
|
-
<TextMedia
|
|
44
|
-
:media-type="'icon'"
|
|
45
|
-
:title-text="'Other'"
|
|
46
|
-
:content="`<p>
|
|
47
|
-
If you are unsure about the injury type of your employee, gaining
|
|
48
|
-
additional support, reach out to your agent to get more information.
|
|
49
|
-
</p><p><a href="#" class="cta-button white">More information</a></p>`"
|
|
50
|
-
:glyph="OtherInjury"
|
|
51
|
-
:icon-alt="'Other icon'"
|
|
52
|
-
:glyph-height="60"
|
|
53
|
-
:glyph-width="60"
|
|
54
|
-
/>
|
|
55
|
-
</Container>
|
|
56
|
-
</div>
|
|
57
|
-
</template>
|
|
58
|
-
|
|
59
|
-
<script setup>
|
|
60
|
-
import { defineProps } from 'vue'
|
|
61
|
-
|
|
62
|
-
import Container from './../../../Containers/Container/index.vue'
|
|
63
|
-
import TextMedia from './../../TextMedia/index.vue'
|
|
64
|
-
import PhysicalInjury from './../../../../assets/icons/Physical-injury.svg?url'
|
|
65
|
-
import MentalInjury from './../../../../assets/icons/Mental-injury.svg?url'
|
|
66
|
-
import OtherInjury from './../../../../assets/icons/other.svg?url'
|
|
67
|
-
const emit = defineEmits(['newPlan'])
|
|
68
|
-
|
|
69
|
-
const props = defineProps({
|
|
70
|
-
textMedia: {
|
|
71
|
-
type: Object,
|
|
72
|
-
required: true,
|
|
73
|
-
},
|
|
74
|
-
})
|
|
75
|
-
</script>
|
|
76
|
-
|
|
77
|
-
<style scoped>
|
|
78
|
-
.lightgrey-bg {
|
|
79
|
-
border-radius: 12px;
|
|
80
|
-
border: 4px solid #727272;
|
|
81
|
-
background: #f5f5f5;
|
|
82
|
-
}
|
|
83
|
-
</style>
|