@worksafevictoria/wcl7.5 1.1.0-beta.73 → 1.1.0-beta.74
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 +18 -11
- package/package.json +4 -3
- package/src/components/Global/Cookies/index.stories.js +16 -10
- package/src/components/Global/Cookies/index.vue +278 -240
- package/src/components/Global/DirectoryFilters/SingleTaxonomy/index.vue +93 -122
- package/src/components/Global/GlobalNotice/index.vue +70 -96
- package/src/components/Paragraphs/Chart/Constants.js +485 -485
- package/src/components/Paragraphs/TabbedCards/index.vue +7 -7
- package/src/components/SubComponents/VideoThumbnail/index.vue +31 -114
- package/src/includes/scss/vars/src/colors.module.scss +28 -1
|
@@ -9,77 +9,78 @@
|
|
|
9
9
|
<span>{{ data.name }}</span>
|
|
10
10
|
<span v-if="numberOfItems > 0">({{ numberOfItems }})</span>
|
|
11
11
|
</filter-button>
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<strong v-else><span v-show="!loading">No results found</span></strong>
|
|
45
|
-
</div>
|
|
12
|
+
<b-modal v-model="showMyModal" size="xl" centered no-header scrollable>
|
|
13
|
+
<template #default>
|
|
14
|
+
<fieldset>
|
|
15
|
+
<legend>Filter by {{ data.name }}</legend>
|
|
16
|
+
<div v-for="term in data.terms" :key="term.tid" class="option">
|
|
17
|
+
<input
|
|
18
|
+
:id="`term_${term.tid}`"
|
|
19
|
+
v-model="selectedFilters[`${data.record_id}`]"
|
|
20
|
+
type="checkbox"
|
|
21
|
+
:name="term.name"
|
|
22
|
+
:value="term"
|
|
23
|
+
:disabled="term.preselected"
|
|
24
|
+
@keyup.enter="(e) => e.target.click()"
|
|
25
|
+
/>
|
|
26
|
+
<label :for="`term_${term.tid}`">{{ term.name }}</label>
|
|
27
|
+
</div>
|
|
28
|
+
</fieldset>
|
|
29
|
+
</template>
|
|
30
|
+
<template #footer="{ close }">
|
|
31
|
+
<div>
|
|
32
|
+
<cta-button
|
|
33
|
+
v-if="!loading && results !== 0"
|
|
34
|
+
:type="'dark'"
|
|
35
|
+
:rtl="false"
|
|
36
|
+
:focus-outline="'light'"
|
|
37
|
+
:workwell="false"
|
|
38
|
+
@clicked="close"
|
|
39
|
+
>Show <span>{{ results }}</span> {{ resultString }}
|
|
40
|
+
</cta-button>
|
|
41
|
+
<strong v-else
|
|
42
|
+
><span v-show="!loading">No results found</span></strong
|
|
43
|
+
>
|
|
46
44
|
</div>
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
</template>
|
|
46
|
+
</b-modal>
|
|
49
47
|
</div>
|
|
50
48
|
</template>
|
|
51
49
|
<script>
|
|
52
50
|
import CtaButton from '../../../SubComponents/CtaButton/index.vue'
|
|
53
51
|
import FilterButton from '../../../Common/FilterButton/index.vue'
|
|
52
|
+
import { BModal, BButton } from 'bootstrap-vue-next'
|
|
54
53
|
|
|
55
54
|
export default {
|
|
56
55
|
components: {
|
|
57
56
|
CtaButton,
|
|
58
|
-
FilterButton
|
|
57
|
+
FilterButton,
|
|
58
|
+
'b-modal': BModal,
|
|
59
|
+
'b-button': BButton,
|
|
59
60
|
},
|
|
60
61
|
props: {
|
|
61
62
|
data: {
|
|
62
63
|
type: Object,
|
|
63
|
-
required: true
|
|
64
|
+
required: true,
|
|
64
65
|
},
|
|
65
66
|
results: {
|
|
66
67
|
type: Number,
|
|
67
|
-
required: true
|
|
68
|
+
required: true,
|
|
68
69
|
},
|
|
69
70
|
loading: {
|
|
70
71
|
type: Boolean,
|
|
71
|
-
required: false
|
|
72
|
-
}
|
|
72
|
+
required: false,
|
|
73
|
+
},
|
|
73
74
|
},
|
|
74
75
|
data() {
|
|
75
76
|
return {
|
|
76
77
|
selectedFilters: {
|
|
77
78
|
[this.data.record_id]: this.data.terms.filter(
|
|
78
|
-
(term) => term.preselected
|
|
79
|
-
)
|
|
79
|
+
(term) => term.preselected,
|
|
80
|
+
),
|
|
80
81
|
},
|
|
81
82
|
hasReset: false,
|
|
82
|
-
showMyModal: false
|
|
83
|
+
showMyModal: false,
|
|
83
84
|
}
|
|
84
85
|
},
|
|
85
86
|
computed: {
|
|
@@ -90,7 +91,7 @@ export default {
|
|
|
90
91
|
let s = 's'
|
|
91
92
|
this.results === 1 ? (s = '') : false
|
|
92
93
|
return 'Result' + s + ' '
|
|
93
|
-
}
|
|
94
|
+
},
|
|
94
95
|
},
|
|
95
96
|
watch: {
|
|
96
97
|
selectedFilters: {
|
|
@@ -98,8 +99,8 @@ export default {
|
|
|
98
99
|
deep: true,
|
|
99
100
|
handler() {
|
|
100
101
|
this.emitSelectedValues()
|
|
101
|
-
}
|
|
102
|
-
}
|
|
102
|
+
},
|
|
103
|
+
},
|
|
103
104
|
},
|
|
104
105
|
methods: {
|
|
105
106
|
emitSelectedValues() {
|
|
@@ -113,91 +114,61 @@ export default {
|
|
|
113
114
|
this.selectedFilters[this.data.record_id] = this.selectedFilters[
|
|
114
115
|
this.data.record_id
|
|
115
116
|
].filter((item) => item.preselected)
|
|
116
|
-
}
|
|
117
|
-
}
|
|
117
|
+
},
|
|
118
|
+
},
|
|
118
119
|
}
|
|
119
120
|
</script>
|
|
120
121
|
<style lang="scss">
|
|
121
|
-
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
.wcl-directory-filters__single-tax {
|
|
129
|
-
// !!keep empty!! //
|
|
130
|
-
&__caret {
|
|
131
|
-
padding-left: 8px;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.modal {
|
|
135
|
-
background: rgba(0,0,0,0.5);
|
|
136
|
-
}
|
|
137
|
-
.modal-backdrop {
|
|
138
|
-
display: none;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
&__modal {
|
|
142
|
-
.modal-content {
|
|
143
|
-
border-radius: 8px;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.modal-xl {
|
|
147
|
-
max-width: 920px;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.modal-header {
|
|
151
|
-
position: absolute;
|
|
152
|
-
width: 100%;
|
|
153
|
-
left: 0;
|
|
154
|
-
right: 0;
|
|
155
|
-
padding: 32px;
|
|
156
|
-
border: none;
|
|
157
|
-
.close {
|
|
158
|
-
z-index: 1;
|
|
122
|
+
// Putting all modal styling in one place
|
|
123
|
+
// Not working from modal.scss
|
|
124
|
+
.modal-dialog {
|
|
125
|
+
.modal-content {
|
|
126
|
+
.modal-body {
|
|
127
|
+
.section-group__block {
|
|
128
|
+
max-width: 100%;
|
|
159
129
|
}
|
|
160
130
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
131
|
+
border-radius: 8px;
|
|
132
|
+
}
|
|
133
|
+
.modal-body {
|
|
134
|
+
padding: 32px;
|
|
135
|
+
fieldset {
|
|
136
|
+
display: flex;
|
|
137
|
+
flex-direction: row;
|
|
138
|
+
flex-wrap: wrap;
|
|
139
|
+
legend {
|
|
140
|
+
font-size: 28px;
|
|
141
|
+
font-weight: 700;
|
|
142
|
+
line-height: 32px;
|
|
143
|
+
letter-spacing: 0px;
|
|
144
|
+
margin-bottom: 32px;
|
|
145
|
+
}
|
|
146
|
+
.option {
|
|
147
|
+
margin-bottom: 32px;
|
|
148
|
+
flex-basis: 50%;
|
|
165
149
|
display: flex;
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
legend {
|
|
169
|
-
font-size: 28px;
|
|
170
|
-
font-weight: 700;
|
|
171
|
-
line-height: 32px;
|
|
172
|
-
letter-spacing: 0px;
|
|
173
|
-
margin-bottom: 32px;
|
|
150
|
+
@media screen and (max-width: 600px) {
|
|
151
|
+
flex-basis: 100%;
|
|
174
152
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
label {
|
|
189
|
-
margin: 0px;
|
|
190
|
-
width: 80%;
|
|
191
|
-
position: relative;
|
|
192
|
-
left: 16px;
|
|
193
|
-
cursor: pointer;
|
|
194
|
-
}
|
|
153
|
+
input[type='checkbox'] {
|
|
154
|
+
height: 24px;
|
|
155
|
+
border: 1px solid #bababa;
|
|
156
|
+
width: 24px;
|
|
157
|
+
cursor: pointer;
|
|
158
|
+
}
|
|
159
|
+
label {
|
|
160
|
+
margin: 0px;
|
|
161
|
+
width: 80%;
|
|
162
|
+
position: relative;
|
|
163
|
+
left: 16px;
|
|
164
|
+
cursor: pointer;
|
|
195
165
|
}
|
|
196
166
|
}
|
|
197
167
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
168
|
+
}
|
|
169
|
+
.modal-footer,
|
|
170
|
+
.modal-header {
|
|
171
|
+
border: none;
|
|
201
172
|
}
|
|
202
173
|
}
|
|
203
174
|
</style>
|
|
@@ -1,68 +1,69 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
v-
|
|
4
|
-
id="global-notice-modal"
|
|
5
|
-
ref="globalNoticeModal"
|
|
6
|
-
class="modal show"
|
|
2
|
+
<b-modal
|
|
3
|
+
v-model="displayGlobal"
|
|
7
4
|
aria-labelledby="global-notice-modal"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
no-close-on-backdrop
|
|
6
|
+
centered
|
|
7
|
+
no-footer
|
|
8
|
+
size="md"
|
|
9
|
+
@close="setCookie"
|
|
10
|
+
>
|
|
11
|
+
<template #default="{ close }">
|
|
12
|
+
<div>
|
|
13
|
+
<div class="modal-title">
|
|
14
|
+
Understand changes to the 2023-24 WorkCover premium
|
|
17
15
|
</div>
|
|
18
|
-
<div
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
<div>
|
|
17
|
+
Information for employers on changes to premium rates, how premium is
|
|
18
|
+
calculated and key dates.
|
|
19
|
+
</div>
|
|
20
|
+
<div class="notice-buttons">
|
|
22
21
|
<div>
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
<button
|
|
23
|
+
id="open_page"
|
|
24
|
+
type="button"
|
|
25
|
+
role="button"
|
|
26
|
+
class="notice-buttons isWiderYellow hasIcon justify-content-start"
|
|
27
|
+
style="order: 1"
|
|
28
|
+
aria-label="Open information about premium changes"
|
|
29
|
+
@click="
|
|
30
|
+
() => {
|
|
31
|
+
goToPage('/2023-24-workcover-premium-changes')
|
|
32
|
+
close()
|
|
33
|
+
}
|
|
34
|
+
"
|
|
35
|
+
>
|
|
36
|
+
2023-24 premium FAQs
|
|
37
|
+
</button>
|
|
25
38
|
</div>
|
|
26
|
-
<div
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
</div>
|
|
40
|
-
<div>
|
|
41
|
-
<button
|
|
42
|
-
id="modal_close"
|
|
43
|
-
type="button"
|
|
44
|
-
role="button"
|
|
45
|
-
class="modal-buttons isWiderGray hasIcon justify-content-start "
|
|
46
|
-
style="order: 2"
|
|
47
|
-
data-bs-dismiss="global-notice-modal"
|
|
48
|
-
aria-label="Close modal and go to WorkSafe website"
|
|
49
|
-
@click="setCookie(), displayGlobal = !displayGlobal"
|
|
50
|
-
>
|
|
51
|
-
Continue to WorkSafe
|
|
52
|
-
</button>
|
|
53
|
-
</div>
|
|
39
|
+
<div>
|
|
40
|
+
<button
|
|
41
|
+
id="modal_close"
|
|
42
|
+
type="button"
|
|
43
|
+
role="button"
|
|
44
|
+
class="notice-buttons isWiderGray hasIcon justify-content-start"
|
|
45
|
+
style="order: 2"
|
|
46
|
+
data-bs-dismiss="global-notice-modal"
|
|
47
|
+
aria-label="Close modal and go to WorkSafe website"
|
|
48
|
+
@click="close"
|
|
49
|
+
>
|
|
50
|
+
Continue to WorkSafe
|
|
51
|
+
</button>
|
|
54
52
|
</div>
|
|
55
53
|
</div>
|
|
56
|
-
<div style="display: none;" class="modal-footer"></div>
|
|
57
54
|
</div>
|
|
58
|
-
</
|
|
59
|
-
</
|
|
55
|
+
</template>
|
|
56
|
+
</b-modal>
|
|
60
57
|
</template>
|
|
61
58
|
|
|
62
59
|
<script>
|
|
60
|
+
import { BModal } from 'bootstrap-vue-next'
|
|
63
61
|
|
|
64
62
|
export default {
|
|
65
63
|
name: 'GlobalNotice',
|
|
64
|
+
components: {
|
|
65
|
+
'b-modal': BModal,
|
|
66
|
+
},
|
|
66
67
|
data() {
|
|
67
68
|
return {
|
|
68
69
|
currentURL: '',
|
|
@@ -73,7 +74,7 @@ export default {
|
|
|
73
74
|
showGlobalNotice() {
|
|
74
75
|
//Check first if SHOW_GLOBAL_NOTICE have been turned on in the environment variable
|
|
75
76
|
return process.env.SHOW_GLOBAL_NOTICE === false ? false : true
|
|
76
|
-
}
|
|
77
|
+
},
|
|
77
78
|
},
|
|
78
79
|
mounted() {
|
|
79
80
|
window.addEventListener('load', this.checkPage())
|
|
@@ -83,8 +84,12 @@ export default {
|
|
|
83
84
|
localStorage.setItem('globalModalHidden', 'true')
|
|
84
85
|
},
|
|
85
86
|
goToPage(link) {
|
|
86
|
-
|
|
87
|
-
alert(
|
|
87
|
+
if (process.env.IS_STORYBOOK === 'TRUE') {
|
|
88
|
+
alert(
|
|
89
|
+
'Will go to: ' +
|
|
90
|
+
link +
|
|
91
|
+
' and close notice - clear local storage and refresh to redisplay',
|
|
92
|
+
)
|
|
88
93
|
} else {
|
|
89
94
|
window.open(link, '_self')
|
|
90
95
|
}
|
|
@@ -95,63 +100,32 @@ export default {
|
|
|
95
100
|
this.setCookie()
|
|
96
101
|
this.displayGlobal = false
|
|
97
102
|
} else if (typeof window !== 'undefined') {
|
|
98
|
-
|
|
99
103
|
this.displayGlobal =
|
|
100
104
|
this.showGlobalNotice === true &&
|
|
101
105
|
!localStorage.getItem('globalModalHidden')
|
|
102
106
|
} else {
|
|
103
107
|
this.displayGlobal = process.env.SHOW_GLOBAL_NOTICE === true
|
|
104
108
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
109
|
+
},
|
|
110
|
+
},
|
|
108
111
|
}
|
|
109
112
|
</script>
|
|
110
|
-
<style lang="scss">
|
|
111
|
-
|
|
112
|
-
@import '../../../includes/scss/all';
|
|
113
|
-
|
|
114
|
-
// modal and modal backdrop styles required in order to display the overlay behind the modal
|
|
115
|
-
#global-notice-modal {
|
|
116
|
-
.modal-dialog-centered {
|
|
117
|
-
border-radius: 6px !important;
|
|
118
|
-
// box-shadow: 0 0 16px 8px rgba(0, 0, 0, 0.24) !important;
|
|
119
|
-
left: 50%;
|
|
120
|
-
margin-left: -200px;
|
|
121
|
-
margin-top: -370px;
|
|
122
|
-
top: 50%;
|
|
123
|
-
width: 400px !important;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.modal {
|
|
128
|
-
background: rgba(0,0,0,0.5)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
.modal-backdrop {
|
|
132
|
-
display: none;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
.modal-header {
|
|
136
|
-
border: none;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
.modal-heading {
|
|
113
|
+
<style lang="scss" scoped>
|
|
114
|
+
:deep(.modal-title) {
|
|
140
115
|
font-size: 26px;
|
|
141
116
|
font-weight: 700;
|
|
142
117
|
line-height: 30px;
|
|
143
118
|
letter-spacing: 0px;
|
|
144
119
|
margin-bottom: 16px;
|
|
120
|
+
display: flex;
|
|
121
|
+
justify-content: flex-end !important;
|
|
145
122
|
}
|
|
123
|
+
</style>
|
|
124
|
+
<style lang="scss">
|
|
125
|
+
@import '../../../assets/styles/generated-icons.scss';
|
|
126
|
+
@import '../../../includes/scss/all';
|
|
146
127
|
|
|
147
|
-
.
|
|
148
|
-
font-weight: 400;
|
|
149
|
-
font-size: 16px;
|
|
150
|
-
line-height: 24px;
|
|
151
|
-
padding: 16px;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
.modal-buttons {
|
|
128
|
+
.notice-buttons {
|
|
155
129
|
position: relative;
|
|
156
130
|
text-decoration: none;
|
|
157
131
|
font-style: normal;
|