@worksafevictoria/wcl7.5 1.9.0-beta.14 → 1.9.0-beta.16
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/components/Common/CardGridItem/card-grid-item-caret.vue +1 -1
- package/src/components/Common/CardGridItem/index.vue +147 -115
- package/src/components/Global/AppFooter/index.vue +126 -109
- package/src/components/Global/AppHeaderNew/includes.scss +4 -2
- package/src/components/Global/AppHeaderNew/index.vue +59 -331
- package/src/components/Global/AppHeaderNew/styles.scss +49 -45
- package/src/components/Global/DirectoryFilters/index.vue +24 -18
- package/src/components/Global/Strip/index.vue +34 -34
- package/src/components/Paragraphs/Directory/Asbestos/Records/index.vue +121 -88
- package/src/components/Paragraphs/Directory/HSCP/Records/index.vue +116 -100
- package/src/components/Paragraphs/Statistics/index.vue +9 -9
- package/src/components/Paragraphs/TabulatedData/index.vue +6 -0
- package/src/components/SubComponents/ResourceGroup/cardbody.vue +52 -38
- package/src/index.js +1 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
color: $app-menu-white;
|
|
5
5
|
z-index: 27;
|
|
6
6
|
position: relative;
|
|
7
|
-
padding: 10px;
|
|
7
|
+
padding: 0px 10px;
|
|
8
8
|
width: 100%;
|
|
9
9
|
font-size: 14px;
|
|
10
10
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
overflow-y: scroll;
|
|
15
15
|
background: $app-header-background-colour;
|
|
16
16
|
border-radius: 3px;
|
|
17
|
-
height:
|
|
17
|
+
height: 44px;
|
|
18
18
|
padding: 0px 15px;
|
|
19
19
|
display: table;
|
|
20
20
|
width: 100%;
|
|
@@ -29,12 +29,17 @@
|
|
|
29
29
|
.isActiveParent {
|
|
30
30
|
background-color: $app-header-active;
|
|
31
31
|
border: $app-header-active;
|
|
32
|
+
|
|
32
33
|
|
|
33
34
|
> a > span {
|
|
34
|
-
// border-bottom: 3px solid $app-header-active;
|
|
35
35
|
background-color: $app-header-active;
|
|
36
|
+
color: $app-header-active-text-colour;
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
+
|
|
39
|
+
:focus {
|
|
40
|
+
outline: none !important;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
38
43
|
.isActiveChild {
|
|
39
44
|
> a {
|
|
40
45
|
background: $app-header-active;
|
|
@@ -96,7 +101,7 @@
|
|
|
96
101
|
|
|
97
102
|
li {
|
|
98
103
|
display: inline;
|
|
99
|
-
padding:
|
|
104
|
+
padding: 12px;
|
|
100
105
|
margin-right: 18px;
|
|
101
106
|
|
|
102
107
|
@media screen and (max-width: 1065px) and (min-width: 981px) {
|
|
@@ -197,7 +202,7 @@
|
|
|
197
202
|
display: none;
|
|
198
203
|
position: fixed;
|
|
199
204
|
background: $app-menu-black;
|
|
200
|
-
top:
|
|
205
|
+
top: 128px;
|
|
201
206
|
left: 10px;
|
|
202
207
|
right: 10px;
|
|
203
208
|
bottom: 10px;
|
|
@@ -208,18 +213,6 @@
|
|
|
208
213
|
position: relative;
|
|
209
214
|
}
|
|
210
215
|
|
|
211
|
-
&__innermore {
|
|
212
|
-
overflow-x: auto;
|
|
213
|
-
height: max-content;
|
|
214
|
-
left: 10px;
|
|
215
|
-
right: 10px;
|
|
216
|
-
top: 165px;
|
|
217
|
-
position: fixed;
|
|
218
|
-
padding-top: 15px !important;
|
|
219
|
-
background-color: $app-menu-black !important;
|
|
220
|
-
border-radius: 3px;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
216
|
&__wrap {
|
|
224
217
|
position: relative;
|
|
225
218
|
margin: 0 auto;
|
|
@@ -249,9 +242,9 @@
|
|
|
249
242
|
|
|
250
243
|
& > span {
|
|
251
244
|
margin-right: 10px;
|
|
252
|
-
@media screen and (max-width: 1010px) and (min-width: 981px) {
|
|
253
|
-
|
|
254
|
-
}
|
|
245
|
+
// @media screen and (max-width: 1010px) and (min-width: 981px) {
|
|
246
|
+
// margin-right: 5px;
|
|
247
|
+
// }
|
|
255
248
|
}
|
|
256
249
|
}
|
|
257
250
|
}
|
|
@@ -335,21 +328,6 @@
|
|
|
335
328
|
}
|
|
336
329
|
}
|
|
337
330
|
|
|
338
|
-
//
|
|
339
|
-
// Search Container
|
|
340
|
-
//
|
|
341
|
-
.search-container {
|
|
342
|
-
position: fixed;
|
|
343
|
-
top: 0;
|
|
344
|
-
left: 0;
|
|
345
|
-
right: 0;
|
|
346
|
-
background: $app-menu-white;
|
|
347
|
-
color: $app-header-background-colour;
|
|
348
|
-
bottom: 0;
|
|
349
|
-
overflow-y: scroll;
|
|
350
|
-
z-index: 1;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
331
|
.styled-scrollbar {
|
|
354
332
|
overflow-y: scroll;
|
|
355
333
|
white-space: normal !important;
|
|
@@ -377,12 +355,6 @@
|
|
|
377
355
|
}
|
|
378
356
|
}
|
|
379
357
|
|
|
380
|
-
.more-menu {
|
|
381
|
-
height: 56px;
|
|
382
|
-
vertical-align: middle;
|
|
383
|
-
padding: 0px 10px !important;
|
|
384
|
-
}
|
|
385
|
-
|
|
386
358
|
.skip-link {
|
|
387
359
|
@include visually-hidden;
|
|
388
360
|
color: $app-menu-black;
|
|
@@ -420,10 +392,18 @@
|
|
|
420
392
|
text-align: right;
|
|
421
393
|
font-weight: bold;
|
|
422
394
|
overflow-y:auto;
|
|
395
|
+
|
|
396
|
+
a:focus {
|
|
397
|
+
border: 1px solid #BABABA !important;
|
|
398
|
+
border-radius: 8px;
|
|
399
|
+
outline: none !important;
|
|
400
|
+
}
|
|
423
401
|
}
|
|
402
|
+
|
|
424
403
|
a {
|
|
425
404
|
color: black;
|
|
426
405
|
text-decoration: none;
|
|
406
|
+
padding: 10px;
|
|
427
407
|
|
|
428
408
|
&.router-link-exact-active {
|
|
429
409
|
span {
|
|
@@ -431,6 +411,7 @@
|
|
|
431
411
|
}
|
|
432
412
|
}
|
|
433
413
|
}
|
|
414
|
+
|
|
434
415
|
table {
|
|
435
416
|
display: inline-block;
|
|
436
417
|
}
|
|
@@ -587,7 +568,6 @@
|
|
|
587
568
|
}
|
|
588
569
|
|
|
589
570
|
&--box {
|
|
590
|
-
// position: relative;
|
|
591
571
|
display: none;
|
|
592
572
|
|
|
593
573
|
&.clicked {
|
|
@@ -603,10 +583,17 @@
|
|
|
603
583
|
text-align: left;
|
|
604
584
|
position: fixed;
|
|
605
585
|
z-index: 1000;
|
|
586
|
+
|
|
587
|
+
label {
|
|
588
|
+
margin-bottom: 5px !important;
|
|
589
|
+
}
|
|
590
|
+
.last-radio {
|
|
591
|
+
margin-bottom: 0 !important;
|
|
592
|
+
}
|
|
606
593
|
}
|
|
607
594
|
label {
|
|
608
595
|
display: block;
|
|
609
|
-
padding:
|
|
596
|
+
padding: 10px 0;
|
|
610
597
|
|
|
611
598
|
input[type='radio'] {
|
|
612
599
|
border: 2px solid #bebebe;
|
|
@@ -634,6 +621,23 @@
|
|
|
634
621
|
}
|
|
635
622
|
}
|
|
636
623
|
}
|
|
637
|
-
}
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
.flex-container {
|
|
629
|
+
margin-left: -5px;
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
.flex-item {
|
|
633
|
+
border: 1px solid;
|
|
634
|
+
border-color: #BABABA;
|
|
635
|
+
padding: 10px;
|
|
636
|
+
margin: 7px 5px 5px;
|
|
637
|
+
border-radius: 8px;
|
|
638
|
+
|
|
639
|
+
input[type="radio"] {
|
|
640
|
+
accent-color: black;
|
|
641
|
+
margin-right: 5px;
|
|
638
642
|
}
|
|
639
643
|
}
|
|
@@ -2,19 +2,23 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<row v-if="!loading" class="wcl-directory-filters">
|
|
4
4
|
<column v-if="bundle" md="4" sm="6">
|
|
5
|
-
|
|
5
|
+
<!-- Hidden label for screen readers -->
|
|
6
|
+
<label class="col-form-label visually-hidden" for="search-directory"
|
|
6
7
|
>Search by keyword (Typed keyword automatically filters below
|
|
7
8
|
results)</label
|
|
8
9
|
>
|
|
9
|
-
|
|
10
|
+
<!-- Search Input uses aria-label -->
|
|
11
|
+
<BFormInput
|
|
10
12
|
id="search-directory"
|
|
11
13
|
v-model="searchQuery"
|
|
12
14
|
class="search"
|
|
13
15
|
autocomplete="off"
|
|
14
16
|
placeholder="Keyword"
|
|
15
17
|
debounce="500"
|
|
18
|
+
aria-label="Search by keyword (Typed keyword automatically filters below
|
|
19
|
+
results)"
|
|
16
20
|
:style="`background-image: url(${searchIcon})`"
|
|
17
|
-
></
|
|
21
|
+
></BFormInput>
|
|
18
22
|
</column>
|
|
19
23
|
<column v-if="bundle === 'isp'" md="4" sm="6">
|
|
20
24
|
<form-address-postcode
|
|
@@ -28,7 +32,9 @@
|
|
|
28
32
|
/>
|
|
29
33
|
</column>
|
|
30
34
|
<span class="d-none">{{ filters }}</span>
|
|
31
|
-
<span class="d-none">{{
|
|
35
|
+
<span class="d-none">{{
|
|
36
|
+
filters.taxonomies.map((taxonomy) => taxonomy.name).join(', ')
|
|
37
|
+
}}</span>
|
|
32
38
|
<column
|
|
33
39
|
:md="!bundle ? 12 : bundle === 'isp' ? 4 : 8"
|
|
34
40
|
:sm="!bundle ? 12 : bundle === 'isp' ? 6 : 12"
|
|
@@ -71,38 +77,38 @@ export default {
|
|
|
71
77
|
SingleTaxonomy,
|
|
72
78
|
FormAddressPostcode,
|
|
73
79
|
FilterButton,
|
|
74
|
-
BFormInput
|
|
80
|
+
BFormInput,
|
|
75
81
|
},
|
|
76
82
|
props: {
|
|
77
83
|
filters: {
|
|
78
84
|
type: Object,
|
|
79
|
-
required: true
|
|
85
|
+
required: true,
|
|
80
86
|
},
|
|
81
87
|
bundle: {
|
|
82
88
|
type: String,
|
|
83
|
-
default: ''
|
|
89
|
+
default: '',
|
|
84
90
|
},
|
|
85
91
|
results: {
|
|
86
92
|
type: Number,
|
|
87
|
-
required: true
|
|
93
|
+
required: true,
|
|
88
94
|
},
|
|
89
95
|
isFiltering: {
|
|
90
96
|
type: Boolean,
|
|
91
|
-
required: false
|
|
92
|
-
}
|
|
97
|
+
required: false,
|
|
98
|
+
},
|
|
93
99
|
},
|
|
94
100
|
data() {
|
|
95
101
|
return {
|
|
96
102
|
searchQuery: '',
|
|
97
103
|
loading: true,
|
|
98
104
|
hideReset: true,
|
|
99
|
-
searchIcon
|
|
105
|
+
searchIcon,
|
|
100
106
|
}
|
|
101
107
|
},
|
|
102
108
|
computed: {
|
|
103
109
|
baseURL() {
|
|
104
110
|
return window ? window.location.origin : ''
|
|
105
|
-
}
|
|
111
|
+
},
|
|
106
112
|
},
|
|
107
113
|
watch: {
|
|
108
114
|
searchQuery() {
|
|
@@ -112,7 +118,7 @@ export default {
|
|
|
112
118
|
this.hideReset = false
|
|
113
119
|
}
|
|
114
120
|
this.$emit('onSearch', this.searchQuery)
|
|
115
|
-
}
|
|
121
|
+
},
|
|
116
122
|
},
|
|
117
123
|
mounted() {
|
|
118
124
|
// wait for hydration,
|
|
@@ -125,9 +131,9 @@ export default {
|
|
|
125
131
|
const allFiltersUnselected = Object.values(this.$refs).every(
|
|
126
132
|
(taxonomy) => {
|
|
127
133
|
return Object.values(taxonomy[0].selectedFilters).every(
|
|
128
|
-
(filter) => filter.filter((item) => !item.preselected).length === 0
|
|
134
|
+
(filter) => filter.filter((item) => !item.preselected).length === 0,
|
|
129
135
|
)
|
|
130
|
-
}
|
|
136
|
+
},
|
|
131
137
|
)
|
|
132
138
|
if (allFiltersUnselected && !this.searchQuery) {
|
|
133
139
|
this.hideReset = true
|
|
@@ -147,8 +153,8 @@ export default {
|
|
|
147
153
|
})
|
|
148
154
|
this.searchQuery = ''
|
|
149
155
|
this.$emit('onReset')
|
|
150
|
-
}
|
|
151
|
-
}
|
|
156
|
+
},
|
|
157
|
+
},
|
|
152
158
|
}
|
|
153
159
|
</script>
|
|
154
160
|
<style lang="scss" scoped>
|
|
@@ -165,7 +171,7 @@ export default {
|
|
|
165
171
|
background-position: 96% 12px;
|
|
166
172
|
margin-bottom: 16px;
|
|
167
173
|
transition: none;
|
|
168
|
-
background-image: url('./../../../assets/icons/search.svg')
|
|
174
|
+
background-image: url('./../../../assets/icons/search.svg');
|
|
169
175
|
}
|
|
170
176
|
&__filterButton {
|
|
171
177
|
display: inline-block;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<div
|
|
13
13
|
:role="mini ? 'link' : null"
|
|
14
14
|
:class="type + '-strip__inner-wrap'"
|
|
15
|
-
:tabindex="mini ? 0 :
|
|
15
|
+
:tabindex="mini ? 0 : -1"
|
|
16
16
|
:style="mini ? 'cursor: pointer;' : false"
|
|
17
17
|
@click="mini ? handleClick() : false"
|
|
18
18
|
@keypress.enter="mini ? handleClick() : false"
|
|
@@ -59,16 +59,16 @@
|
|
|
59
59
|
</template>
|
|
60
60
|
|
|
61
61
|
<script>
|
|
62
|
-
import exclamationIcon from
|
|
63
|
-
import arrowIcon from
|
|
64
|
-
import dismissIcon from
|
|
65
|
-
import infoIcon from
|
|
66
|
-
import chevronIcon from
|
|
67
|
-
import RichText from
|
|
68
|
-
import { BAlert } from
|
|
62
|
+
import exclamationIcon from '../../../assets/icons/Strip/Exclamation triangle fill.svg?url'
|
|
63
|
+
import arrowIcon from '../../../assets/icons/Strip/Arrow right.svg?url'
|
|
64
|
+
import dismissIcon from '../../../assets/icons/Strip/Dismiss.svg?url'
|
|
65
|
+
import infoIcon from '../../../assets/icons/Strip/Info circle fill.svg?url'
|
|
66
|
+
import chevronIcon from '../../../assets/icons/caret-right.svg?url'
|
|
67
|
+
import RichText from '../../Paragraphs/RichText/index.vue'
|
|
68
|
+
import { BAlert } from 'bootstrap-vue-next'
|
|
69
69
|
|
|
70
70
|
export default {
|
|
71
|
-
name:
|
|
71
|
+
name: 'Strip',
|
|
72
72
|
components: {
|
|
73
73
|
RichText,
|
|
74
74
|
BAlert,
|
|
@@ -80,15 +80,15 @@ export default {
|
|
|
80
80
|
},
|
|
81
81
|
stripHeading: {
|
|
82
82
|
type: String,
|
|
83
|
-
default:
|
|
83
|
+
default: '',
|
|
84
84
|
},
|
|
85
85
|
stripContent: {
|
|
86
86
|
type: String,
|
|
87
|
-
default:
|
|
87
|
+
default: '',
|
|
88
88
|
},
|
|
89
89
|
url: {
|
|
90
90
|
type: String,
|
|
91
|
-
default:
|
|
91
|
+
default: '#',
|
|
92
92
|
},
|
|
93
93
|
type: {
|
|
94
94
|
type: String,
|
|
@@ -103,7 +103,7 @@ export default {
|
|
|
103
103
|
default: false,
|
|
104
104
|
},
|
|
105
105
|
},
|
|
106
|
-
emits: [
|
|
106
|
+
emits: ['update:modelValue', 'dismissed'],
|
|
107
107
|
data() {
|
|
108
108
|
return {
|
|
109
109
|
dismissibleAlert: this.modelValue,
|
|
@@ -112,34 +112,34 @@ export default {
|
|
|
112
112
|
dismissIcon,
|
|
113
113
|
infoIcon,
|
|
114
114
|
chevronIcon,
|
|
115
|
-
}
|
|
115
|
+
}
|
|
116
116
|
},
|
|
117
117
|
watch: {
|
|
118
118
|
modelValue(val) {
|
|
119
|
-
this.dismissibleAlert = val
|
|
119
|
+
this.dismissibleAlert = val
|
|
120
120
|
},
|
|
121
121
|
dismissibleAlert(val) {
|
|
122
122
|
if (val !== this.modelValue) {
|
|
123
|
-
this.$emit(
|
|
123
|
+
this.$emit('update:modelValue', val)
|
|
124
124
|
}
|
|
125
125
|
},
|
|
126
126
|
},
|
|
127
127
|
computed: {
|
|
128
128
|
layout() {
|
|
129
|
-
return this.mini ?
|
|
129
|
+
return this.mini ? 'mini' : 'full'
|
|
130
130
|
},
|
|
131
131
|
themeColor() {
|
|
132
|
-
return this.type ===
|
|
132
|
+
return this.type === 'alert' ? 'red' : 'blue'
|
|
133
133
|
},
|
|
134
134
|
stripTitle() {
|
|
135
|
-
if (this.mini && this.type ===
|
|
136
|
-
return
|
|
137
|
-
} else if (this.mini && this.type ===
|
|
138
|
-
return
|
|
135
|
+
if (this.mini && this.type === 'alert') {
|
|
136
|
+
return 'Safety alert'
|
|
137
|
+
} else if (this.mini && this.type === 'notice') {
|
|
138
|
+
return 'Information'
|
|
139
139
|
} else if (this.stripHeading) {
|
|
140
|
-
return this.stripHeading
|
|
140
|
+
return this.stripHeading
|
|
141
141
|
} else {
|
|
142
|
-
return
|
|
142
|
+
return ''
|
|
143
143
|
}
|
|
144
144
|
},
|
|
145
145
|
},
|
|
@@ -151,18 +151,18 @@ export default {
|
|
|
151
151
|
link: this.mini ? this.url : false,
|
|
152
152
|
clickedOnPage: this.$route.path,
|
|
153
153
|
globalStrip: false,
|
|
154
|
-
}
|
|
154
|
+
}
|
|
155
155
|
if (this.$gtm) {
|
|
156
156
|
this.$gtm.push({
|
|
157
157
|
event: `custom.interaction.${this.type}.click`,
|
|
158
158
|
...attrs,
|
|
159
|
-
})
|
|
159
|
+
})
|
|
160
160
|
}
|
|
161
|
-
this.$router.push(this.url)
|
|
161
|
+
this.$router.push(this.url)
|
|
162
162
|
},
|
|
163
163
|
handleDismissed() {
|
|
164
|
-
this.$emit(
|
|
165
|
-
this.$emit(
|
|
164
|
+
this.$emit('update:modelValue', false)
|
|
165
|
+
this.$emit('dismissed')
|
|
166
166
|
|
|
167
167
|
if (this.$gtm) {
|
|
168
168
|
const attrs = {
|
|
@@ -170,19 +170,19 @@ export default {
|
|
|
170
170
|
label: this.stripHeading,
|
|
171
171
|
clickedOnPage: this.$route.path,
|
|
172
172
|
globalStrip: false,
|
|
173
|
-
}
|
|
173
|
+
}
|
|
174
174
|
this.$gtm.push({
|
|
175
175
|
event: `custom.interaction.${this.type}.close`,
|
|
176
176
|
...attrs,
|
|
177
|
-
})
|
|
177
|
+
})
|
|
178
178
|
}
|
|
179
179
|
},
|
|
180
180
|
},
|
|
181
|
-
}
|
|
181
|
+
}
|
|
182
182
|
</script>
|
|
183
183
|
|
|
184
184
|
<style lang="scss" scoped>
|
|
185
|
-
@import
|
|
185
|
+
@import '../../../includes/scss/all';
|
|
186
186
|
.red {
|
|
187
187
|
.alert-strip {
|
|
188
188
|
&__inner {
|
|
@@ -316,7 +316,7 @@ export default {
|
|
|
316
316
|
max-width: 794px;
|
|
317
317
|
}
|
|
318
318
|
|
|
319
|
-
@include mq(
|
|
319
|
+
@include mq('sm') {
|
|
320
320
|
flex-direction: column;
|
|
321
321
|
margin-right: 16px;
|
|
322
322
|
|