@worksafevictoria/wcl7.5 1.17.0-beta.1 → 1.17.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/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/Carousel/index.vue +6 -0
- package/src/components/Containers/SectionGroup/index.stories.js +28 -27
- package/src/components/Containers/SectionGroup/index.vue +6 -0
- package/src/components/Global/AppHeaderNew/index.vue +9 -1
- package/src/components/Global/AppHeaderNew/mobile.scss +5 -2
- package/src/components/Global/AppHeaderNew/styles.scss +6 -5
- 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 +433 -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 +220 -0
- package/src/components/Paragraphs/RTWPlanner/index.stories.js +79 -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/Paragraphs/TextMedia/index.vue +4 -0
- package/src/components/Paragraphs/VideoPlayer/index.vue +1 -1
- package/src/components/SubComponents/Breadcrumb/index.vue +40 -7
- package/src/components/SubComponents/FormInstance/services/logic-parser.js +44 -12
- package/src/components/SubComponents/ResourceGroup/index.vue +1 -1
- 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
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
convertStringWithDotNotationToObject,
|
|
3
3
|
generateUniqueId,
|
|
4
|
-
isEmpty
|
|
4
|
+
isEmpty,
|
|
5
5
|
} from '../models/form-utils'
|
|
6
6
|
|
|
7
7
|
export function parseElementStates(webformElement) {
|
|
@@ -75,17 +75,38 @@ function ruleToString(rule) {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
function ruleItemToString(ruleItem, itemKey) {
|
|
78
|
-
|
|
79
|
-
const
|
|
78
|
+
// Regex 1: Matches standard selectors (name="foo"). Captures 'foo'.
|
|
79
|
+
const standardMatch = itemKey.match(/name="([^"]+)"/)
|
|
80
|
+
// Regex 2: Matches array selectors (name="foo[bar]"). Captures 'foo' and 'bar'.
|
|
81
|
+
const arrayMatch = itemKey.match(/name="([^"]+)\[([^\]]+)\]"/)
|
|
82
|
+
|
|
83
|
+
let formComponentID = null // The Formio component key (e.g., 'checkboxes')
|
|
84
|
+
let checkboxOptionKey = null // The specific option key (e.g., 'foo bar')
|
|
85
|
+
|
|
86
|
+
if (arrayMatch && arrayMatch[1] && arrayMatch[2]) {
|
|
87
|
+
// Array Notation found (e.g., name="checkboxes[foo bar]")
|
|
88
|
+
formComponentID = arrayMatch[1]
|
|
89
|
+
checkboxOptionKey = arrayMatch[2]
|
|
90
|
+
} else if (standardMatch && standardMatch[1]) {
|
|
91
|
+
// Standard Notation found (e.g., name="foobar")
|
|
92
|
+
formComponentID = standardMatch[1]
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// ... (rest of the function)
|
|
96
|
+
|
|
97
|
+
// Now pass BOTH keys to getTrigger for array-based lookups
|
|
80
98
|
const conditions = Object.keys(ruleItem)
|
|
81
99
|
.map((elementProp) =>
|
|
82
|
-
|
|
100
|
+
formComponentID
|
|
101
|
+
? getTrigger(formComponentID, ruleItem, elementProp, checkboxOptionKey)
|
|
102
|
+
: null,
|
|
83
103
|
)
|
|
84
104
|
.filter((trigger) => !!trigger)
|
|
85
105
|
.reduce((triggers, trigger) => {
|
|
86
106
|
triggers.push(trigger)
|
|
87
107
|
return triggers
|
|
88
108
|
}, [])
|
|
109
|
+
|
|
89
110
|
return conditions.join('')
|
|
90
111
|
}
|
|
91
112
|
|
|
@@ -95,7 +116,7 @@ function createNewLogic(actionName, actionValue) {
|
|
|
95
116
|
convertStringWithDotNotationToObject(
|
|
96
117
|
defaultProps,
|
|
97
118
|
actionName,
|
|
98
|
-
!!!actionValue
|
|
119
|
+
!!!actionValue,
|
|
99
120
|
)
|
|
100
121
|
} else {
|
|
101
122
|
defaultProps[actionName] = !!!actionValue
|
|
@@ -104,7 +125,7 @@ function createNewLogic(actionName, actionValue) {
|
|
|
104
125
|
name: generateUniqueId(),
|
|
105
126
|
trigger: {
|
|
106
127
|
type: 'javascript',
|
|
107
|
-
javascript: ''
|
|
128
|
+
javascript: '',
|
|
108
129
|
},
|
|
109
130
|
defaultProps,
|
|
110
131
|
actions: [
|
|
@@ -114,20 +135,31 @@ function createNewLogic(actionName, actionValue) {
|
|
|
114
135
|
property: {
|
|
115
136
|
label: generateUniqueId(),
|
|
116
137
|
value: actionName,
|
|
117
|
-
type: 'boolean'
|
|
138
|
+
type: 'boolean',
|
|
118
139
|
},
|
|
119
|
-
state: actionValue
|
|
120
|
-
}
|
|
121
|
-
]
|
|
140
|
+
state: actionValue,
|
|
141
|
+
},
|
|
142
|
+
],
|
|
122
143
|
}
|
|
123
144
|
}
|
|
124
145
|
|
|
125
|
-
function getTrigger(
|
|
146
|
+
function getTrigger(formComponentID, ruleItem, prop, checkboxOptionKey = null) {
|
|
126
147
|
if (ruleItem.hasOwnProperty(prop)) {
|
|
127
148
|
const value = ruleItem[prop] ?? ''
|
|
149
|
+
|
|
150
|
+
let variable = `data.{${formComponentID}}`
|
|
151
|
+
console.log('🚀 ~ getTrigger ~ variable:', variable)
|
|
128
152
|
let valueDelimeter = typeof value === 'string' ? "'" : ''
|
|
129
153
|
let expression = `${valueDelimeter}${value}${valueDelimeter}`
|
|
130
|
-
|
|
154
|
+
|
|
155
|
+
if (checkboxOptionKey && prop === 'checked' && value === true) {
|
|
156
|
+
return `(${variable}['${checkboxOptionKey}']===true)`
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (checkboxOptionKey && prop === 'unchecked' && value === true) {
|
|
160
|
+
return `(!(${variable}['${checkboxOptionKey}']===true))`
|
|
161
|
+
}
|
|
162
|
+
|
|
131
163
|
if (typeof value !== 'object' && prop === 'value') {
|
|
132
164
|
return `${variable} === ${expression}`
|
|
133
165
|
} else if (typeof value === 'object' && prop === 'value') {
|
|
@@ -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
|
]
|