@worksafevictoria/wcl7.5 1.10.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.
Files changed (44) hide show
  1. package/package.json +1 -1
  2. package/src/assets/styles/generated-icons.scss +46 -46
  3. package/src/components/Common/CardGridItem/card-grid-item-caret.vue +40 -46
  4. package/src/components/Common/CardGridItem/card-grid-item-icon.vue +1 -1
  5. package/src/components/Common/CardGridItem/index.vue +153 -115
  6. package/src/components/Containers/Carousel/index.stories.js +6 -4
  7. package/src/components/Containers/Carousel/index.vue +131 -120
  8. package/src/components/Containers/HomepageHeader/index.stories.js +1 -1
  9. package/src/components/Containers/HomepageHeaderNew/index.stories.js +3 -15
  10. package/src/components/Containers/HomepageHeaderNew/index.vue +3 -7
  11. package/src/components/Global/AppFooter/index.vue +29 -19
  12. package/src/components/Global/AppHeader/ModalSearch/index.vue +7 -1
  13. package/src/components/Global/AppHeader/index.stories.js +2 -2
  14. package/src/components/Global/AppHeaderNew/ModalSearch/index.vue +21 -17
  15. package/src/components/Global/AppHeaderNew/includes.scss +4 -2
  16. package/src/components/Global/AppHeaderNew/index.stories.js +2 -2
  17. package/src/components/Global/AppHeaderNew/index.vue +126 -386
  18. package/src/components/Global/AppHeaderNew/mobile.scss +41 -6
  19. package/src/components/Global/AppHeaderNew/styles.scss +57 -45
  20. package/src/components/Global/BackToTop/index.vue +16 -16
  21. package/src/components/Global/ContrastMode/index.stories.js +1 -1
  22. package/src/components/Global/DirectoryFilters/index.vue +24 -18
  23. package/src/components/Global/HeroHeader/index.vue +62 -73
  24. package/src/components/Global/SocialShare/index.vue +114 -129
  25. package/src/components/Global/Strip/index.vue +43 -39
  26. package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +22 -24
  27. package/src/components/Paragraphs/Accordion/StepperItem/index.vue +15 -15
  28. package/src/components/Paragraphs/Calculator/CardContainer/index.vue +74 -75
  29. package/src/components/Paragraphs/Calculator/RiskLevel/index.vue +31 -39
  30. package/src/components/Paragraphs/Directory/Asbestos/Records/SingleRecord/index.vue +104 -107
  31. package/src/components/Paragraphs/Directory/Asbestos/Records/index.vue +129 -64
  32. package/src/components/Paragraphs/Directory/HSCP/Records/SingleRecord/index.vue +127 -133
  33. package/src/components/Paragraphs/Directory/HSCP/Records/index.vue +112 -66
  34. package/src/components/Paragraphs/Statistics/index.vue +9 -9
  35. package/src/components/Paragraphs/Tabs/index.vue +4 -4
  36. package/src/components/Paragraphs/TabulatedData/index.vue +27 -20
  37. package/src/components/SubComponents/CtaButton/index.vue +47 -44
  38. package/src/components/SubComponents/Icon/README.md +2 -2
  39. package/src/components/SubComponents/Icon/example.js +1 -0
  40. package/src/components/SubComponents/Icon/index.stories.js +1 -1
  41. package/src/components/SubComponents/Icon/index.vue +47 -47
  42. package/src/components/SubComponents/ResourceGroup/cardbody.vue +18 -16
  43. package/src/components/SubComponents/VideoThumbnail/index.vue +8 -6
  44. package/src/mock/carousel-items.js +46 -81
@@ -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
  }
@@ -3,19 +3,19 @@
3
3
  <button class="btbButton" @click="backToTop">
4
4
  <span>Back to top</span>
5
5
  <span class="btbButton--iconContainer">
6
- <icon :glyph="ChevUp" :width="24" :height="16" />
6
+ <icon :glyph="ChevUp" :width="24" :height="16" icon-alt="Back to top icon" />
7
7
  </span>
8
8
  </button>
9
9
  </div>
10
10
  </template>
11
11
 
12
12
  <script>
13
- import Icon from '../../SubComponents/Icon/index.vue'
14
- import ChevUp from '../../../assets/icons/chev-up.svg?raw'
15
- import { debounce } from 'lodash-es'
13
+ import Icon from "../../SubComponents/Icon/index.vue";
14
+ import ChevUp from "../../../assets/icons/chev-up.svg?raw";
15
+ import { debounce } from "lodash-es";
16
16
 
17
17
  export default {
18
- name: 'BackToTop',
18
+ name: "BackToTop",
19
19
  components: {
20
20
  Icon,
21
21
  },
@@ -29,39 +29,39 @@ export default {
29
29
  return {
30
30
  ChevUp,
31
31
  showBackToTop: false,
32
- }
32
+ };
33
33
  },
34
34
  computed: {
35
35
  showButton() {
36
36
  if (this.storybook) {
37
- return true
37
+ return true;
38
38
  } else {
39
- return this.showBackToTop
39
+ return this.showBackToTop;
40
40
  }
41
41
  },
42
42
  },
43
43
  mounted() {
44
- this.handleDebouncedScroll = debounce(this.showHideBtbBtn, 100)
45
- window.addEventListener('scroll', this.showHideBtbBtn)
44
+ this.handleDebouncedScroll = debounce(this.showHideBtbBtn, 100);
45
+ window.addEventListener("scroll", this.showHideBtbBtn);
46
46
  },
47
47
  beforeDestroy() {
48
- window.removeEventListener('scroll', this.showHideBtbBtn)
48
+ window.removeEventListener("scroll", this.showHideBtbBtn);
49
49
  },
50
50
  methods: {
51
51
  backToTop() {
52
52
  if (!this.storybook) {
53
- window.scrollTo(0, 0)
53
+ window.scrollTo(0, 0);
54
54
  } else {
55
- console.log('Is storybook, so not going back to top')
55
+ console.log("Is storybook, so not going back to top");
56
56
  }
57
57
  },
58
58
  showHideBtbBtn() {
59
- this.showBackToTop = window.scrollY > window.innerHeight / 2
59
+ this.showBackToTop = window.scrollY > window.innerHeight / 2;
60
60
  },
61
61
  },
62
- }
62
+ };
63
63
  </script>
64
64
 
65
65
  <style lang="scss" scoped>
66
- @import './styles.scss';
66
+ @import "./styles.scss";
67
67
  </style>
@@ -20,7 +20,7 @@ export default {
20
20
  <br>
21
21
  <h2>Image</h2>
22
22
  <p>This is an image</p>
23
- <img src='https://picsum.photos/900/600/?image=26' width="400" height="200"/>
23
+ <img src='https://picsum.photos/900/600/?image=26' alt="photo image" width="400" height="200"/>
24
24
  <br>
25
25
  <br>
26
26
  <h2>Background Image</h2>
@@ -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;