@worksafevictoria/wcl7.5 1.11.0 → 1.12.0

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.
@@ -22,10 +22,9 @@
22
22
  float: none;
23
23
 
24
24
  li {
25
- display: inline-block;
26
- height: 62px;
27
- width: 100%;
28
- margin: 0;
25
+ height: 62px;
26
+ width: 100%;
27
+ margin: 0;
29
28
 
30
29
  a {
31
30
  padding: 20px 5px;
@@ -47,7 +46,7 @@
47
46
 
48
47
  &:hover,
49
48
  &:focus {
50
- background: $app-header-active;
49
+ background: $app-header-hover;
51
50
  color: $app-menu-black;
52
51
  border-bottom: none;
53
52
  svg {
@@ -59,6 +58,7 @@
59
58
  }
60
59
  }
61
60
  .nav-item {
61
+
62
62
  .sub-nav-container,
63
63
  .sub-nav {
64
64
  display: none;
@@ -264,6 +264,41 @@
264
264
  }
265
265
 
266
266
  .mobile-close {
267
- top: 0px !important;
267
+ top: 10px !important;
268
+ }
269
+
270
+ .LogoImgMobile {
271
+ height: 40px;
272
+ width: auto;
273
+ }
274
+
275
+ .logo__nav-mobile {
276
+ display:inline-block;
277
+ margin-left: 10px;
278
+ margin-right: 0px;
279
+ width: 100%;
280
+ overflow-y:auto;
281
+ }
282
+
283
+ .td_mobile {
284
+ padding: 0px 5px !important;
285
+ height: 35px;
286
+ width: 35px;
287
+ }
288
+
289
+ .td_mobile-last {
290
+ padding: 0px 0px 0px 5px !important;
291
+ }
292
+
293
+ .mobile-link {
294
+ height: 35px;
295
+ width: 35px;
296
+ background-color: #f2f2f2;
297
+ border: 1px solid #f2f2f2;
298
+ border-radius: 5px;
268
299
  }
269
300
 
301
+ .app-header__wrap_mobile {
302
+ background: none;
303
+ height: 0px;
304
+ }
@@ -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: 70px;
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: 0;
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: 165px;
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
- margin-right: 5px;
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;
@@ -411,6 +383,7 @@
411
383
  display: flex;
412
384
  align-items: center;
413
385
  margin-right: 0%;
386
+ background-color: white;
414
387
 
415
388
  &__nav {
416
389
  display:inline-block;
@@ -420,10 +393,18 @@
420
393
  text-align: right;
421
394
  font-weight: bold;
422
395
  overflow-y:auto;
396
+
397
+ a:focus {
398
+ border: 1px solid #BABABA !important;
399
+ border-radius: 8px;
400
+ outline: none !important;
401
+ }
423
402
  }
403
+
424
404
  a {
425
405
  color: black;
426
406
  text-decoration: none;
407
+ padding: 10px;
427
408
 
428
409
  &.router-link-exact-active {
429
410
  span {
@@ -431,6 +412,7 @@
431
412
  }
432
413
  }
433
414
  }
415
+
434
416
  table {
435
417
  display: inline-block;
436
418
  }
@@ -438,6 +420,12 @@
438
420
  padding: 10px;
439
421
  }
440
422
  }
423
+
424
+ .LogoImg {
425
+ height: 55px;
426
+ width: auto;
427
+ }
428
+
441
429
  .semi-circle {
442
430
  display:block;
443
431
  width: 20px;
@@ -587,7 +575,6 @@
587
575
  }
588
576
 
589
577
  &--box {
590
- // position: relative;
591
578
  display: none;
592
579
 
593
580
  &.clicked {
@@ -603,10 +590,18 @@
603
590
  text-align: left;
604
591
  position: fixed;
605
592
  z-index: 1000;
593
+
594
+ label {
595
+ margin-bottom: 5px !important;
596
+ color:black
597
+ }
598
+ .last-radio {
599
+ margin-bottom: 0 !important;
600
+ }
606
601
  }
607
602
  label {
608
603
  display: block;
609
- padding: 6px 0;
604
+ padding: 10px 0;
610
605
 
611
606
  input[type='radio'] {
612
607
  border: 2px solid #bebebe;
@@ -634,6 +629,23 @@
634
629
  }
635
630
  }
636
631
  }
637
- }
632
+ }
633
+ }
634
+ }
635
+
636
+ .flex-container {
637
+ margin-left: -5px;
638
+ }
639
+
640
+ .flex-item {
641
+ border: 1px solid;
642
+ border-color: #BABABA;
643
+ padding: 10px;
644
+ margin: 7px 5px 5px;
645
+ border-radius: 8px;
646
+
647
+ input[type="radio"] {
648
+ accent-color: black;
649
+ margin-right: 5px;
638
650
  }
639
651
  }
@@ -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
- <label class="visually-hidden" for="search-directory"
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
- <b-form-input
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
- ></b-form-input>
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">{{ filters.taxonomies.map(taxonomy => taxonomy.name).join(', ') }}</span>
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 : false"
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 "../../../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";
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: "Strip",
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: ["update:modelValue", "dismissed"],
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("update:modelValue", val);
123
+ this.$emit('update:modelValue', val)
124
124
  }
125
125
  },
126
126
  },
127
127
  computed: {
128
128
  layout() {
129
- return this.mini ? "mini" : "full";
129
+ return this.mini ? 'mini' : 'full'
130
130
  },
131
131
  themeColor() {
132
- return this.type === "alert" ? "red" : "blue";
132
+ return this.type === 'alert' ? 'red' : 'blue'
133
133
  },
134
134
  stripTitle() {
135
- if (this.mini && this.type === "alert") {
136
- return "Safety alert";
137
- } else if (this.mini && this.type === "notice") {
138
- return "Information";
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("update:modelValue", false);
165
- this.$emit("dismissed");
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 "../../../includes/scss/all";
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("sm") {
319
+ @include mq('sm') {
320
320
  flex-direction: column;
321
321
  margin-right: 16px;
322
322