@worksafevictoria/wcl7.5 1.1.0-beta.6 → 1.1.0-beta.61

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 (302) hide show
  1. package/.env +1 -3
  2. package/.storybook/preview.js +2 -2
  3. package/README.md +4 -4
  4. package/ci/build/build_validation.yml +2 -2
  5. package/ci/release/beta.yml +4 -3
  6. package/ci/release/master.yml +4 -3
  7. package/jest.config.js +10 -8
  8. package/lib/utility.js +1 -1
  9. package/package.json +13 -12
  10. package/src/assets/icons/WSV-reversed.svg +20 -0
  11. package/src/assets/icons/contrast.svg +4 -0
  12. package/src/assets/icons/lang.svg +13 -0
  13. package/src/assets/icons/login.svg +4 -0
  14. package/src/components/Common/CardGrid/cardgrid.stories.js +4 -57
  15. package/src/components/Common/CardGrid/index.vue +17 -2
  16. package/src/components/Common/CardGridItem/card-grid-item-icon.vue +1 -1
  17. package/src/components/Common/CardGridItem/index.vue +21 -5
  18. package/src/components/Containers/Carousel/index.stories.js +30 -0
  19. package/src/components/Containers/Carousel/index.vue +165 -0
  20. package/src/components/Containers/HomepageHeader/index.vue +26 -12
  21. package/src/components/Containers/HomepageHeaderNew/index.stories.js +75 -0
  22. package/src/components/Containers/HomepageHeaderNew/index.vue +198 -0
  23. package/src/components/Containers/Subheader/index.vue +25 -19
  24. package/src/components/Global/AlertStrip/index.stories.js +1 -0
  25. package/src/components/Global/AppFooter/index.stories.js +1 -0
  26. package/src/components/Global/AppFooter/index.vue +30 -28
  27. package/src/components/Global/AppHeader/index.vue +49 -52
  28. package/src/components/Global/AppHeaderNew/ModalSearch/index.vue +71 -0
  29. package/src/components/Global/AppHeaderNew/ModalSearch/styles.scss +43 -0
  30. package/src/components/Global/AppHeaderNew/includes.scss +71 -0
  31. package/src/components/Global/AppHeaderNew/index.stories.js +74 -0
  32. package/src/components/Global/AppHeaderNew/index.vue +1176 -0
  33. package/src/components/Global/AppHeaderNew/mobile.scss +269 -0
  34. package/src/components/Global/AppHeaderNew/styles.scss +647 -0
  35. package/src/components/Global/ContrastMode/index.stories.js +1 -0
  36. package/src/components/Global/ContrastMode/index.vue +1 -1
  37. package/src/components/Global/Cookies/index.vue +141 -141
  38. package/src/components/Global/DirectoryFilters/SingleTaxonomy/index.vue +2 -1
  39. package/src/components/Global/GlobalNotice/index.stories.js +7 -1
  40. package/src/components/Global/GlobalNotice/index.vue +23 -2
  41. package/src/components/Global/HeroHeader/index.stories.js +3 -4
  42. package/src/components/Global/HeroHeader/index.vue +28 -29
  43. package/src/components/Global/ProgressBar/index.stories.js +6 -16
  44. package/src/components/Global/SocialShare/index.vue +2 -1
  45. package/src/components/Global/Strip/index.stories.js +1 -17
  46. package/src/components/Global/Strip/index.vue +8 -4
  47. package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +21 -17
  48. package/src/components/Paragraphs/Accordion/index.stories.js +1 -0
  49. package/src/components/Paragraphs/Breakout/index.stories.js +1 -0
  50. package/src/components/Paragraphs/BrowseContent/index.stories.js +1 -0
  51. package/src/components/Paragraphs/BrowseContent/index.vue +41 -31
  52. package/src/components/Paragraphs/Calculator/Constants.js +2 -2
  53. package/src/components/Paragraphs/Calculator/index.stories.js +1 -0
  54. package/src/components/Paragraphs/Directory/Records/CJ/index.vue +3 -3
  55. package/src/components/Paragraphs/Directory/Records/ISP/index.vue +5 -5
  56. package/src/components/Paragraphs/Directory/Records/PRS/index.vue +2 -2
  57. package/src/components/Paragraphs/Directory/Records/PRS/recordContent.vue +3 -3
  58. package/src/components/Paragraphs/Directory/Records/PRS/recordDetails.vue +3 -3
  59. package/src/components/Paragraphs/Directory/Records/index.vue +3 -3
  60. package/src/components/Paragraphs/Directory/index.vue +42 -31
  61. package/src/components/Paragraphs/ListGroup/Link/list-link.stories.js +35 -39
  62. package/src/components/Paragraphs/ListGroup/index.vue +55 -46
  63. package/src/components/Paragraphs/ListGroup/list-group.stories.js +35 -31
  64. package/src/components/Paragraphs/ListGroup/navigation-card.stories.js +34 -30
  65. package/src/components/Paragraphs/MarketingBanner/index.stories.js +4 -18
  66. package/src/components/Paragraphs/ProofPoints/index.stories.js +19 -20
  67. package/src/components/Paragraphs/RelatedInformation/index.stories.js +11 -21
  68. package/src/components/Paragraphs/RelatedInformation/index.vue +12 -6
  69. package/src/components/Paragraphs/RelatedInformation/styles.scss +1 -3
  70. package/src/components/Paragraphs/RichText/index.stories.js +2 -1
  71. package/src/components/Paragraphs/ScrollSpy/index.stories.js +20 -26
  72. package/src/components/Paragraphs/ScrollSpy/index.vue +8 -2
  73. package/src/components/Paragraphs/SelectableCards/Control/index.stories.js +1 -0
  74. package/src/components/Paragraphs/Statistics/index.stories.js +1 -0
  75. package/src/components/Paragraphs/Statistics/index.vue +1 -0
  76. package/src/components/Paragraphs/TabbedCards/index.stories.js +8 -27
  77. package/src/components/Paragraphs/TabbedCards/index.vue +58 -92
  78. package/src/components/Paragraphs/Tabs/index.stories.js +1 -0
  79. package/src/components/Paragraphs/TabulatedData/index.stories.js +6 -5
  80. package/src/components/Paragraphs/TabulatedData/index.vue +63 -35
  81. package/src/components/Paragraphs/TaskFinder/index.stories.js +9 -32
  82. package/src/components/Paragraphs/TaskFinder/index.vue +3 -3
  83. package/src/components/Paragraphs/TaskFinder/pdf/index.vue +1 -1
  84. package/src/components/Paragraphs/TaskFinder/task-finder-column.vue +1 -1
  85. package/src/components/Paragraphs/TextMedia/index.stories.js +1 -0
  86. package/src/components/Paragraphs/VideoGrid/index.stories.js +17 -32
  87. package/src/components/Paragraphs/VideoPlayer/index.stories.js +1 -13
  88. package/src/components/Paragraphs/Webform/index.stories.js +56 -32
  89. package/src/components/Paragraphs/Webform/index.vue +11 -8
  90. package/src/components/SubComponents/Breadcrumb/index.stories.js +3 -11
  91. package/src/components/SubComponents/CardGroup/index.stories.js +1 -30
  92. package/src/components/SubComponents/CardGroup/index.vue +33 -27
  93. package/src/components/SubComponents/CtaButton/index.stories.js +1 -24
  94. package/src/components/SubComponents/CtaButton/index.vue +27 -25
  95. package/src/components/SubComponents/FormAddressPostcode/index.stories.js +3 -28
  96. package/src/components/SubComponents/FormInstance/components/alert/index.vue +129 -0
  97. package/src/components/SubComponents/FormInstance/components/custom/base-formio.js +77 -0
  98. package/src/components/SubComponents/FormInstance/components/custom/code-formio.js +35 -0
  99. package/src/components/SubComponents/FormInstance/components/custom/custom-formio-registry.js +30 -0
  100. package/src/components/SubComponents/FormInstance/components/custom/range-formio.js +121 -0
  101. package/src/components/SubComponents/FormInstance/components/custom/rating-formio.js +121 -0
  102. package/src/components/SubComponents/FormInstance/components/custom/scale-formio.js +99 -0
  103. package/src/components/SubComponents/FormInstance/components/custom/tableselect-formio.js +200 -0
  104. package/src/components/SubComponents/FormInstance/components/handler/index.vue +208 -0
  105. package/src/components/SubComponents/FormInstance/components/renderer/index.vue +282 -0
  106. package/src/components/SubComponents/FormInstance/index.test.js +65 -0
  107. package/src/components/SubComponents/FormInstance/index.vue +55 -6
  108. package/src/components/SubComponents/FormInstance/models/base-form-element.js +338 -0
  109. package/src/components/SubComponents/FormInstance/models/form-callback-queue.js +45 -0
  110. package/src/components/SubComponents/FormInstance/models/form-utils.js +50 -0
  111. package/src/components/SubComponents/FormInstance/models/overrides/address.js +141 -0
  112. package/src/components/SubComponents/FormInstance/models/overrides/autocomplete.js +41 -0
  113. package/src/components/SubComponents/FormInstance/models/overrides/checkbox.js +14 -0
  114. package/src/components/SubComponents/FormInstance/models/overrides/checkboxes.js +49 -0
  115. package/src/components/SubComponents/FormInstance/models/overrides/code.js +27 -0
  116. package/src/components/SubComponents/FormInstance/models/overrides/composite.js +57 -0
  117. package/src/components/SubComponents/FormInstance/models/overrides/container.js +65 -0
  118. package/src/components/SubComponents/FormInstance/models/overrides/currency.js +17 -0
  119. package/src/components/SubComponents/FormInstance/models/overrides/customcomposite.js +41 -0
  120. package/src/components/SubComponents/FormInstance/models/overrides/date.js +126 -0
  121. package/src/components/SubComponents/FormInstance/models/overrides/datelist.js +73 -0
  122. package/src/components/SubComponents/FormInstance/models/overrides/detail.js +38 -0
  123. package/src/components/SubComponents/FormInstance/models/overrides/email-confirm.js +12 -0
  124. package/src/components/SubComponents/FormInstance/models/overrides/email.js +7 -0
  125. package/src/components/SubComponents/FormInstance/models/overrides/file.js +56 -0
  126. package/src/components/SubComponents/FormInstance/models/overrides/flexbox.js +33 -0
  127. package/src/components/SubComponents/FormInstance/models/overrides/hidden.js +24 -0
  128. package/src/components/SubComponents/FormInstance/models/overrides/likert.js +40 -0
  129. package/src/components/SubComponents/FormInstance/models/overrides/markup.js +47 -0
  130. package/src/components/SubComponents/FormInstance/models/overrides/message.js +53 -0
  131. package/src/components/SubComponents/FormInstance/models/overrides/moretext.js +64 -0
  132. package/src/components/SubComponents/FormInstance/models/overrides/multiple.js +51 -0
  133. package/src/components/SubComponents/FormInstance/models/overrides/number.js +22 -0
  134. package/src/components/SubComponents/FormInstance/models/overrides/options-other.js +34 -0
  135. package/src/components/SubComponents/FormInstance/models/overrides/page.js +7 -0
  136. package/src/components/SubComponents/FormInstance/models/overrides/phonenumber.js +13 -0
  137. package/src/components/SubComponents/FormInstance/models/overrides/radio.js +31 -0
  138. package/src/components/SubComponents/FormInstance/models/overrides/range.js +19 -0
  139. package/src/components/SubComponents/FormInstance/models/overrides/rating.js +47 -0
  140. package/src/components/SubComponents/FormInstance/models/overrides/scale.js +33 -0
  141. package/src/components/SubComponents/FormInstance/models/overrides/section.js +39 -0
  142. package/src/components/SubComponents/FormInstance/models/overrides/select.js +28 -0
  143. package/src/components/SubComponents/FormInstance/models/overrides/signature.js +7 -0
  144. package/src/components/SubComponents/FormInstance/models/overrides/submit.js +23 -0
  145. package/src/components/SubComponents/FormInstance/models/overrides/table.js +48 -0
  146. package/src/components/SubComponents/FormInstance/models/overrides/tablerow.js +20 -0
  147. package/src/components/SubComponents/FormInstance/models/overrides/tableselect.js +66 -0
  148. package/src/components/SubComponents/FormInstance/models/overrides/testing.js +47 -0
  149. package/src/components/SubComponents/FormInstance/models/overrides/text.js +7 -0
  150. package/src/components/SubComponents/FormInstance/models/overrides/textarea.js +26 -0
  151. package/src/components/SubComponents/FormInstance/models/overrides/textformat.js +13 -0
  152. package/src/components/SubComponents/FormInstance/models/overrides/time.js +13 -0
  153. package/src/components/SubComponents/FormInstance/models/overrides/twig.js +118 -0
  154. package/src/components/SubComponents/FormInstance/models/overrides/unknown.js +24 -0
  155. package/src/components/SubComponents/FormInstance/models/overrides/url.js +13 -0
  156. package/src/components/SubComponents/FormInstance/services/convert-form-element.js +49 -0
  157. package/src/components/SubComponents/FormInstance/services/form-api.js +47 -0
  158. package/src/components/SubComponents/FormInstance/services/form-render-parser.js +156 -0
  159. package/src/components/SubComponents/FormInstance/services/form-submit-parser.js +61 -0
  160. package/src/components/SubComponents/FormInstance/services/logic-linker.js +73 -0
  161. package/src/components/SubComponents/FormInstance/services/logic-parser.js +173 -0
  162. package/src/components/SubComponents/FormInstance/services/registry-factory.js +284 -0
  163. package/src/components/SubComponents/FormInstance/stories/Documentation.mdx +234 -0
  164. package/src/components/SubComponents/FormInstance/stories/advanced.stories.js +109 -0
  165. package/src/components/SubComponents/FormInstance/stories/basic.stories.js +73 -0
  166. package/src/components/SubComponents/FormInstance/stories/build.stories.js +27 -0
  167. package/src/components/SubComponents/FormInstance/stories/composite.stories.js +90 -0
  168. package/src/components/SubComponents/FormInstance/stories/condition.stories.js +83 -0
  169. package/src/components/SubComponents/FormInstance/stories/custom.stories.js +69 -0
  170. package/src/components/SubComponents/FormInstance/stories/date.stories.js +76 -0
  171. package/src/components/SubComponents/FormInstance/stories/form-alert.stories.js +93 -0
  172. package/src/components/SubComponents/FormInstance/stories/index.stories.js +63 -0
  173. package/src/components/SubComponents/FormInstance/stories/layout.stories.js +85 -0
  174. package/src/components/SubComponents/FormInstance/stories/markup.stories.js +91 -0
  175. package/src/components/SubComponents/FormInstance/stories/mocks/address.json +298 -0
  176. package/src/components/SubComponents/FormInstance/stories/mocks/advancedhtml.json +23 -0
  177. package/src/components/SubComponents/FormInstance/stories/mocks/autocomplete.json +34 -0
  178. package/src/components/SubComponents/FormInstance/stories/mocks/basichtml.json +15 -0
  179. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxes.json +102 -0
  180. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxesother.json +197 -0
  181. package/src/components/SubComponents/FormInstance/stories/mocks/container.json +134 -0
  182. package/src/components/SubComponents/FormInstance/stories/mocks/customcomposite.json +469 -0
  183. package/src/components/SubComponents/FormInstance/stories/mocks/date.json +19 -0
  184. package/src/components/SubComponents/FormInstance/stories/mocks/datelist.json +752 -0
  185. package/src/components/SubComponents/FormInstance/stories/mocks/datetime.json +89 -0
  186. package/src/components/SubComponents/FormInstance/stories/mocks/details.json +63 -0
  187. package/src/components/SubComponents/FormInstance/stories/mocks/email.json +18 -0
  188. package/src/components/SubComponents/FormInstance/stories/mocks/emailconfirm.json +110 -0
  189. package/src/components/SubComponents/FormInstance/stories/mocks/fieldset.json +62 -0
  190. package/src/components/SubComponents/FormInstance/stories/mocks/flexbox.json +58 -0
  191. package/src/components/SubComponents/FormInstance/stories/mocks/hidden.json +35 -0
  192. package/src/components/SubComponents/FormInstance/stories/mocks/horizontalrule.json +14 -0
  193. package/src/components/SubComponents/FormInstance/stories/mocks/jahd.json +1359 -0
  194. package/src/components/SubComponents/FormInstance/stories/mocks/label.json +14 -0
  195. package/src/components/SubComponents/FormInstance/stories/mocks/likert.json +375 -0
  196. package/src/components/SubComponents/FormInstance/stories/mocks/message.json +86 -0
  197. package/src/components/SubComponents/FormInstance/stories/mocks/more.json +19 -0
  198. package/src/components/SubComponents/FormInstance/stories/mocks/multiple.json +142 -0
  199. package/src/components/SubComponents/FormInstance/stories/mocks/number.json +35 -0
  200. package/src/components/SubComponents/FormInstance/stories/mocks/quad.json +249 -0
  201. package/src/components/SubComponents/FormInstance/stories/mocks/radios.json +70 -0
  202. package/src/components/SubComponents/FormInstance/stories/mocks/radiosother.json +176 -0
  203. package/src/components/SubComponents/FormInstance/stories/mocks/range.json +58 -0
  204. package/src/components/SubComponents/FormInstance/stories/mocks/rating.json +42 -0
  205. package/src/components/SubComponents/FormInstance/stories/mocks/rule-disabled-value.json +66 -0
  206. package/src/components/SubComponents/FormInstance/stories/mocks/rule-enabled-value.json +43 -0
  207. package/src/components/SubComponents/FormInstance/stories/mocks/rule-hidden-value.json +68 -0
  208. package/src/components/SubComponents/FormInstance/stories/mocks/rule-required-value.json +69 -0
  209. package/src/components/SubComponents/FormInstance/stories/mocks/rule-visible-value.json +157 -0
  210. package/src/components/SubComponents/FormInstance/stories/mocks/sameas.json +66 -0
  211. package/src/components/SubComponents/FormInstance/stories/mocks/scale.json +200 -0
  212. package/src/components/SubComponents/FormInstance/stories/mocks/section.json +63 -0
  213. package/src/components/SubComponents/FormInstance/stories/mocks/select.json +41 -0
  214. package/src/components/SubComponents/FormInstance/stories/mocks/selectother.json +115 -0
  215. package/src/components/SubComponents/FormInstance/stories/mocks/signature.json +25 -0
  216. package/src/components/SubComponents/FormInstance/stories/mocks/styles.json +81 -0
  217. package/src/components/SubComponents/FormInstance/stories/mocks/table-select.json +472 -0
  218. package/src/components/SubComponents/FormInstance/stories/mocks/table.json +154 -0
  219. package/src/components/SubComponents/FormInstance/stories/mocks/telephone.json +18 -0
  220. package/src/components/SubComponents/FormInstance/stories/mocks/textarea.json +22 -0
  221. package/src/components/SubComponents/FormInstance/stories/mocks/textfield.json +66 -0
  222. package/src/components/SubComponents/FormInstance/stories/mocks/time.json +20 -0
  223. package/src/components/SubComponents/FormInstance/stories/mocks/token.json +260 -0
  224. package/src/components/SubComponents/FormInstance/stories/mocks/twig.json +154 -0
  225. package/src/components/SubComponents/FormInstance/stories/mocks/url.json +18 -0
  226. package/src/components/SubComponents/FormInstance/stories/mocks/value.json +17 -0
  227. package/src/components/SubComponents/FormInstance/stories/mocks/wizard.json +353 -0
  228. package/src/components/SubComponents/FormInstance/stories/options.stories.js +98 -0
  229. package/src/components/SubComponents/FormInstance/stories/style.stories.js +55 -0
  230. package/src/components/SubComponents/FormInstance/stories/wizard.stories.js +55 -0
  231. package/src/components/SubComponents/FormInstance/style.scss +185 -0
  232. package/src/components/SubComponents/FormInstance/tests/address.test.js +255 -0
  233. package/src/components/SubComponents/FormInstance/tests/advancedhtml.test.js +31 -0
  234. package/src/components/SubComponents/FormInstance/tests/autocomplete.test.js +38 -0
  235. package/src/components/SubComponents/FormInstance/tests/basichtml.test.js +31 -0
  236. package/src/components/SubComponents/FormInstance/tests/checkbox.test.js +29 -0
  237. package/src/components/SubComponents/FormInstance/tests/checkboxes.test.js +44 -0
  238. package/src/components/SubComponents/FormInstance/tests/checkboxesother.test.js +91 -0
  239. package/src/components/SubComponents/FormInstance/tests/container.test.js +66 -0
  240. package/src/components/SubComponents/FormInstance/tests/customcomposite.test.js +86 -0
  241. package/src/components/SubComponents/FormInstance/tests/date.test.js +63 -0
  242. package/src/components/SubComponents/FormInstance/tests/datelist.test.js +136 -0
  243. package/src/components/SubComponents/FormInstance/tests/datetime.test.js +54 -0
  244. package/src/components/SubComponents/FormInstance/tests/details.test.js +58 -0
  245. package/src/components/SubComponents/FormInstance/tests/email.test.js +28 -0
  246. package/src/components/SubComponents/FormInstance/tests/emailconfirm.test.js +79 -0
  247. package/src/components/SubComponents/FormInstance/tests/fieldset.test.js +63 -0
  248. package/src/components/SubComponents/FormInstance/tests/flexbox.test.js +71 -0
  249. package/src/components/SubComponents/FormInstance/tests/form-test-utils.js +120 -0
  250. package/src/components/SubComponents/FormInstance/tests/form.test.js +26 -0
  251. package/src/components/SubComponents/FormInstance/tests/hidden.test.js +52 -0
  252. package/src/components/SubComponents/FormInstance/tests/horizontalrule.test.js +31 -0
  253. package/src/components/SubComponents/FormInstance/tests/label.test.js +31 -0
  254. package/src/components/SubComponents/FormInstance/tests/likert.test.js +38 -0
  255. package/src/components/SubComponents/FormInstance/tests/message.test.js +89 -0
  256. package/src/components/SubComponents/FormInstance/tests/more.test.js +32 -0
  257. package/src/components/SubComponents/FormInstance/tests/multiple.test.js +71 -0
  258. package/src/components/SubComponents/FormInstance/tests/number.test.js +51 -0
  259. package/src/components/SubComponents/FormInstance/tests/radios.test.js +34 -0
  260. package/src/components/SubComponents/FormInstance/tests/radiosother.test.js +79 -0
  261. package/src/components/SubComponents/FormInstance/tests/range.test.js +32 -0
  262. package/src/components/SubComponents/FormInstance/tests/rating.test.js +38 -0
  263. package/src/components/SubComponents/FormInstance/tests/rule-disabled.test.js +128 -0
  264. package/src/components/SubComponents/FormInstance/tests/rule-enabled-value.test.js +78 -0
  265. package/src/components/SubComponents/FormInstance/tests/rule-hidden.test.js +131 -0
  266. package/src/components/SubComponents/FormInstance/tests/rule-required-value.test.js +144 -0
  267. package/src/components/SubComponents/FormInstance/tests/rule-visible.test.js +619 -0
  268. package/src/components/SubComponents/FormInstance/tests/sameas.test.js +94 -0
  269. package/src/components/SubComponents/FormInstance/tests/scale.test.js +43 -0
  270. package/src/components/SubComponents/FormInstance/tests/section.test.js +63 -0
  271. package/src/components/SubComponents/FormInstance/tests/select.test.js +45 -0
  272. package/src/components/SubComponents/FormInstance/tests/selectother.test.js +82 -0
  273. package/src/components/SubComponents/FormInstance/tests/signature.test.js +32 -0
  274. package/src/components/SubComponents/FormInstance/tests/styles.test.js +73 -0
  275. package/src/components/SubComponents/FormInstance/tests/table-select.test.js +93 -0
  276. package/src/components/SubComponents/FormInstance/tests/table.test.js +97 -0
  277. package/src/components/SubComponents/FormInstance/tests/telephone.test.js +29 -0
  278. package/src/components/SubComponents/FormInstance/tests/textarea.test.js +29 -0
  279. package/src/components/SubComponents/FormInstance/tests/textfield.test.js +48 -0
  280. package/src/components/SubComponents/FormInstance/tests/time.test.js +29 -0
  281. package/src/components/SubComponents/FormInstance/tests/token.test.js +33 -0
  282. package/src/components/SubComponents/FormInstance/tests/twig.test.js +74 -0
  283. package/src/components/SubComponents/FormInstance/tests/url.test.js +45 -0
  284. package/src/components/SubComponents/FormInstance/tests/value.test.js +31 -0
  285. package/src/components/SubComponents/FormInstance/tests/wizard.test.js +145 -0
  286. package/src/components/SubComponents/Icon/index.stories.js +1 -6
  287. package/src/components/SubComponents/MediaPlayer/index.stories.js +1 -6
  288. package/src/components/SubComponents/Pagination/index.stories.js +3 -8
  289. package/src/components/SubComponents/ResourceGroup/List/index.stories.js +3 -2
  290. package/src/components/SubComponents/ResourceGroup/index.vue +206 -173
  291. package/src/components/SubComponents/Search/index.vue +4 -4
  292. package/src/components/SubComponents/SingleImage/index.stories.js +2 -16
  293. package/src/components/SubComponents/VideoThumbnail/index.stories.js +1 -0
  294. package/src/components/SubComponents/VideoThumbnail/index.vue +4 -7
  295. package/src/includes/scss/mixins/src/grid.scss +4 -2
  296. package/src/includes/scss/mixins/src/units.scss +25 -4
  297. package/src/main.js +2 -10
  298. package/src/mock/app-header-new.js +715 -0
  299. package/src/mock/carousel-items.js +57 -0
  300. package/src/mock/jest.fileMock.js +1 -0
  301. package/vite.config.js +28 -15
  302. package/src/components/SubComponents/FormInstance/index.stories.js +0 -8
@@ -11,7 +11,7 @@
11
11
  <column>
12
12
  <div class="mobilescreen">Reviewed on {{ updateDate }}</div>
13
13
  <div v-if="!submitted">
14
- <div style="margin-right:10px; display:inline">
14
+ <div style="margin-right: 10px; display: inline">
15
15
  <strong>Was this page helpful?</strong>
16
16
  </div>
17
17
  <input
@@ -86,7 +86,7 @@
86
86
  Cancel
87
87
  </button>
88
88
  <cta-button
89
- style="float:right;"
89
+ style="float: right"
90
90
  :url="''"
91
91
  :rtl="rtl"
92
92
  @clicked="submitFeedback()"
@@ -181,7 +181,7 @@
181
181
  :key="subIndex"
182
182
  class="app-footer-menu__item"
183
183
  :class="{
184
- 'app-footer-menu__item--hide': !menuItem.isOpen
184
+ 'app-footer-menu__item--hide': !menuItem.isOpen,
185
185
  }"
186
186
  >
187
187
  <a
@@ -249,7 +249,7 @@
249
249
  <li
250
250
  class="app-footer-menu__item app-footer-menu__address app-footer-menu__item--link"
251
251
  :class="{
252
- 'app-footer-menu__item--hide': !contactMenuIsOpen
252
+ 'app-footer-menu__item--hide': !contactMenuIsOpen,
253
253
  }"
254
254
  >
255
255
  <p>
@@ -261,7 +261,7 @@
261
261
  <li
262
262
  class="app-footer-menu__item app-footer-menu__item--link"
263
263
  :class="{
264
- 'app-footer-menu__item--hide': !contactMenuIsOpen
264
+ 'app-footer-menu__item--hide': !contactMenuIsOpen,
265
265
  }"
266
266
  >
267
267
  <a class="dark" href="tel:+611800136089">1800 136 089</a>
@@ -269,7 +269,7 @@
269
269
  <li
270
270
  class="app-footer-menu__item app-footer-menu__item--link"
271
271
  :class="{
272
- 'app-footer-menu__item--hide': !contactMenuIsOpen
272
+ 'app-footer-menu__item--hide': !contactMenuIsOpen,
273
273
  }"
274
274
  >
275
275
  <nuxt-link class="dark" to="/contact-worksafe"
@@ -337,7 +337,7 @@
337
337
  <button
338
338
  class="app-footer__main__subscribe-col__btn"
339
339
  :class="{
340
- 'app-footer__main__subscribe-btn--workwell': isWorkwell
340
+ 'app-footer__main__subscribe-btn--workwell': isWorkwell,
341
341
  }"
342
342
  @click="subscribe"
343
343
  >
@@ -385,25 +385,25 @@ export default {
385
385
  Container,
386
386
  Row,
387
387
  Icon,
388
- CtaButton
388
+ CtaButton,
389
389
  },
390
390
  props: {
391
391
  footerMenu: {
392
392
  type: Array,
393
- required: true
393
+ required: true,
394
394
  },
395
395
  changedDate: {
396
396
  type: String,
397
- required: true
397
+ required: true,
398
398
  },
399
399
  isWorkwell: {
400
400
  type: Boolean,
401
- default: false
401
+ default: false,
402
402
  },
403
403
  storybook: {
404
404
  type: Boolean,
405
- default: false
406
- }
405
+ default: false,
406
+ },
407
407
  },
408
408
  data() {
409
409
  return {
@@ -430,8 +430,8 @@ export default {
430
430
  webform_id: 'page_feedback_form',
431
431
  page_url: '',
432
432
  was_the_information_on_this_page_helpful_: '',
433
- message: ''
434
- }
433
+ message: '',
434
+ },
435
435
  }
436
436
  },
437
437
  computed: {
@@ -444,7 +444,7 @@ export default {
444
444
  },
445
445
  processID() {
446
446
  return `${Date.now()}-${Math.floor(Math.random() * 10000)}`
447
- }
447
+ },
448
448
  },
449
449
  watch: {
450
450
  $route() {
@@ -452,10 +452,10 @@ export default {
452
452
  this.submitted = false
453
453
  },
454
454
  showForm: {
455
- handler: function() {
455
+ handler: function () {
456
456
  this.initialiseFeedback()
457
- }
458
- }
457
+ },
458
+ },
459
459
  },
460
460
  mounted() {
461
461
  this.$nextTick(() => {
@@ -510,7 +510,8 @@ export default {
510
510
  const attrs = {
511
511
  event: 'custom.interaction.helpful',
512
512
  label: this.response.was_the_information_on_this_page_helpful_,
513
- title: this.$store?.state?.page?.content?.title
513
+ //title: this.$store?.state?.page?.content?.title,
514
+ title: this.$pageStore?.content?.title,
514
515
  }
515
516
  if (this.$gtm) {
516
517
  this.$gtm.push({ event: 'custom.interaction.helpful', ...attrs })
@@ -518,20 +519,21 @@ export default {
518
519
  },
519
520
  fireGtagFeedback() {
520
521
  const attrs = {
521
- title: this.$store?.state?.page?.content?.title,
522
+ //title: this.$store?.state?.page?.content?.title,
523
+ title: this.$pageStore?.content?.title,
522
524
  label: this.response.was_the_information_on_this_page_helpful_,
523
- processID: this.processID
525
+ processID: this.processID,
524
526
  }
525
527
  if (this.$gtm) {
526
528
  this.$gtm.push({
527
529
  event: 'custom.interaction.helpful.feedback',
528
- ...attrs
530
+ ...attrs,
529
531
  })
530
532
  }
531
533
  },
532
534
  backToTop() {
533
- if (!this.storybook) {
534
- this.$nuxt.$emit('scrollToTop')
535
+ if (this.$bus) {
536
+ this.$bus.$emit('scrollToTop')
535
537
  }
536
538
  },
537
539
  isAbsoluteUrl(uri) {
@@ -617,13 +619,13 @@ export default {
617
619
  this.$gtm.push({
618
620
  event: 'custom.interaction.outboundlink',
619
621
  category: item.title,
620
- label: item.absolute
622
+ label: item.absolute,
621
623
  })
622
624
  }
623
625
  window.open(item.absolute)
624
626
  }
625
- }
626
- }
627
+ },
628
+ },
627
629
  }
628
630
  </script>
629
631
 
@@ -7,7 +7,7 @@
7
7
  <div
8
8
  v-if="
9
9
  (!isSecondLevelOpen && screen === 'desktop') ||
10
- (!isMobileMenuOpen && screen === 'mobile')
10
+ (!isMobileMenuOpen && screen === 'mobile')
11
11
  "
12
12
  class="app-header__app-branding"
13
13
  >
@@ -29,7 +29,7 @@
29
29
  <button
30
30
  v-if="
31
31
  (isSecondLevelOpen && screen === 'desktop') ||
32
- (isMobileMenuOpen && screen === 'mobile')
32
+ (isMobileMenuOpen && screen === 'mobile')
33
33
  "
34
34
  ref="closeMenuButton"
35
35
  class="dark"
@@ -56,7 +56,7 @@
56
56
  <nav
57
57
  v-if="isMobileMenuOpen || screen === 'desktop'"
58
58
  :class="{
59
- 'styled-scrollbar': screen === 'mobile' && !isSecondLevelOpen
59
+ 'styled-scrollbar': screen === 'mobile' && !isSecondLevelOpen,
60
60
  }"
61
61
  >
62
62
  <ul class="app-header__nav-menu">
@@ -75,7 +75,7 @@
75
75
  @click.prevent="
76
76
  firstLevelClick(
77
77
  firstLevelLink,
78
- `firstLevelMenuItem-${parentIndex}`
78
+ `firstLevelMenuItem-${parentIndex}`,
79
79
  )
80
80
  "
81
81
  @mouseover="mouseHover('firstLevelMenuItem', parentIndex)"
@@ -114,7 +114,8 @@
114
114
  <div
115
115
  class="sub-nav-container__wrap"
116
116
  :class="{
117
- 'styled-scrollbar': screen === 'mobile' && isSecondLevelOpen
117
+ 'styled-scrollbar':
118
+ screen === 'mobile' && isSecondLevelOpen,
118
119
  }"
119
120
  >
120
121
  <div
@@ -136,12 +137,11 @@
136
137
  <div class="selected-items">
137
138
  <ul v-if="firstLevelLink.below" class="sub-nav-group">
138
139
  <li
139
- v-for="(secondLevelLink,
140
- secondIndex) in firstLevelLink.below"
140
+ v-for="(
141
+ secondLevelLink, secondIndex
142
+ ) in firstLevelLink.below"
141
143
  :key="secondLevelLink.key"
142
- :ref="
143
- `secondLevelMenuItem-${parentIndex}-${secondIndex}`
144
- "
144
+ :ref="`secondLevelMenuItem-${parentIndex}-${secondIndex}`"
145
145
  class="sub-nav-parent-item"
146
146
  >
147
147
  <a
@@ -154,41 +154,41 @@
154
154
  searchFocus(
155
155
  secondIndex,
156
156
  firstLevelLink.below.length,
157
- $event
157
+ $event,
158
158
  )
159
159
  "
160
160
  @click.prevent="
161
161
  secondLevelClick(
162
162
  secondLevelLink,
163
- `secondLevelMenuItem-${parentIndex}-${secondIndex}`
163
+ `secondLevelMenuItem-${parentIndex}-${secondIndex}`,
164
164
  )
165
165
  "
166
166
  @mouseover="
167
167
  mouseHover(
168
168
  'secondLevelMenuItem',
169
169
  parentIndex,
170
- secondIndex
170
+ secondIndex,
171
171
  )
172
172
  "
173
173
  @mouseleave="
174
174
  mouseLeave(
175
175
  'secondLevelMenuItem',
176
176
  parentIndex,
177
- secondIndex
177
+ secondIndex,
178
178
  )
179
179
  "
180
180
  @focusin="
181
181
  mouseHover(
182
182
  'secondLevelMenuItem',
183
183
  parentIndex,
184
- secondIndex
184
+ secondIndex,
185
185
  )
186
186
  "
187
187
  @focusout="
188
188
  mouseLeave(
189
189
  'secondLevelMenuItem',
190
190
  parentIndex,
191
- secondIndex
191
+ secondIndex,
192
192
  )
193
193
  "
194
194
  >
@@ -213,35 +213,35 @@
213
213
  searchFocus(
214
214
  secondIndex,
215
215
  firstLevelLink.below.length,
216
- $event
216
+ $event,
217
217
  )
218
218
  "
219
219
  @mouseover.native="
220
220
  mouseHover(
221
221
  'secondLevelMenuItem',
222
222
  parentIndex,
223
- secondIndex
223
+ secondIndex,
224
224
  )
225
225
  "
226
226
  @mouseleave.native="
227
227
  mouseLeave(
228
228
  'secondLevelMenuItem',
229
229
  parentIndex,
230
- secondIndex
230
+ secondIndex,
231
231
  )
232
232
  "
233
233
  @focusin.native="
234
234
  mouseHover(
235
235
  'secondLevelMenuItem',
236
236
  parentIndex,
237
- secondIndex
237
+ secondIndex,
238
238
  )
239
239
  "
240
240
  @focusout.native="
241
241
  mouseLeave(
242
242
  'secondLevelMenuItem',
243
243
  parentIndex,
244
- secondIndex
244
+ secondIndex,
245
245
  )
246
246
  "
247
247
  @click.native="fireAnalytics(secondLevelLink)"
@@ -253,9 +253,7 @@
253
253
  <div class="selected-title">
254
254
  <nuxt-link
255
255
  v-if="secondLevelLink.relative"
256
- :ref="
257
- `secondLevelSelectedTitle-${parentIndex}-${secondIndex}`
258
- "
256
+ :ref="`secondLevelSelectedTitle-${parentIndex}-${secondIndex}`"
259
257
  :to="secondLevelLink.relative"
260
258
  class="dark"
261
259
  @click.native="fireAnalytics(secondLevelLink)"
@@ -271,12 +269,11 @@
271
269
  class="sub-nav-group"
272
270
  >
273
271
  <li
274
- v-for="(thirdLevelLink,
275
- thirdIndex) in secondLevelLink.below"
272
+ v-for="(
273
+ thirdLevelLink, thirdIndex
274
+ ) in secondLevelLink.below"
276
275
  :key="thirdLevelLink.key"
277
- :ref="
278
- `thirdLevelMenuItem-${parentIndex}-${secondIndex}-${thirdIndex}`
279
- "
276
+ :ref="`thirdLevelMenuItem-${parentIndex}-${secondIndex}-${thirdIndex}`"
280
277
  >
281
278
  <nuxt-link
282
279
  v-if="thirdLevelLink.relative"
@@ -286,7 +283,7 @@
286
283
  searchFocus(
287
284
  thirdIndex,
288
285
  secondLevelLink.below.length,
289
- $event
286
+ $event,
290
287
  )
291
288
  "
292
289
  @mouseover.native="
@@ -294,7 +291,7 @@
294
291
  'thirdLevelMenuItem',
295
292
  parentIndex,
296
293
  secondIndex,
297
- thirdIndex
294
+ thirdIndex,
298
295
  )
299
296
  "
300
297
  @mouseleave.native="
@@ -302,7 +299,7 @@
302
299
  'thirdLevelMenuItem',
303
300
  parentIndex,
304
301
  secondIndex,
305
- thirdIndex
302
+ thirdIndex,
306
303
  )
307
304
  "
308
305
  @focusin.native="
@@ -310,7 +307,7 @@
310
307
  'thirdLevelMenuItem',
311
308
  parentIndex,
312
309
  secondIndex,
313
- thirdIndex
310
+ thirdIndex,
314
311
  )
315
312
  "
316
313
  @focusout.native="
@@ -318,7 +315,7 @@
318
315
  'thirdLevelMenuItem',
319
316
  parentIndex,
320
317
  secondIndex,
321
- thirdIndex
318
+ thirdIndex,
322
319
  )
323
320
  "
324
321
  @click.native="
@@ -433,25 +430,25 @@ export default {
433
430
  CaretDown,
434
431
  CaretLeft,
435
432
  MenuIcon,
436
- SearchIcon
433
+ SearchIcon,
437
434
  },
438
435
  props: {
439
436
  headerMenu: {
440
437
  type: Array,
441
- required: true
438
+ required: true,
442
439
  },
443
440
  contentParser: {
444
441
  type: Function,
445
- required: true
442
+ required: true,
446
443
  },
447
444
  isWorkWell: {
448
445
  type: Boolean,
449
- default: false
446
+ default: false,
450
447
  },
451
448
  authenticated: {
452
449
  type: Boolean,
453
- default: false
454
- }
450
+ default: false,
451
+ },
455
452
  },
456
453
  data() {
457
454
  return {
@@ -472,7 +469,7 @@ export default {
472
469
  CaretLeft,
473
470
  MenuIcon,
474
471
  windowWidth: 0,
475
- searchQuery: null
472
+ searchQuery: null,
476
473
  }
477
474
  },
478
475
  computed: {
@@ -486,7 +483,7 @@ export default {
486
483
  },
487
484
  isChrome() {
488
485
  return !!window.chrome
489
- }
486
+ },
490
487
  },
491
488
  watch: {
492
489
  $route() {
@@ -503,7 +500,7 @@ export default {
503
500
  this.isMobileMenuOpen = true
504
501
  }
505
502
  }
506
- }
503
+ },
507
504
  },
508
505
  destroyed() {
509
506
  window.removeEventListener('resize', this.screenWidth)
@@ -513,8 +510,8 @@ export default {
513
510
  window.addEventListener('resize', this.screenWidth)
514
511
  this.screenWidth()
515
512
  }
516
- if (this.$nuxt) {
517
- this.$nuxt.$on('site-search', (query) => {
513
+ if (this.$bus) {
514
+ this.$bus.$on('site-search', (query) => {
518
515
  this.searchQuery = query
519
516
  if (query) {
520
517
  this.showSearch()
@@ -658,7 +655,7 @@ export default {
658
655
  refID,
659
656
  parentIndex,
660
657
  secondIndex,
661
- thirdIndex
658
+ thirdIndex,
662
659
  )
663
660
  if (theLI) {
664
661
  let A = theLI.getElementsByTagName('A')[0]
@@ -670,7 +667,7 @@ export default {
670
667
  refID,
671
668
  parentIndex,
672
669
  secondIndex,
673
- thirdIndex
670
+ thirdIndex,
674
671
  )
675
672
  if (theLI) {
676
673
  let A = theLI.getElementsByTagName('A')[0]
@@ -860,16 +857,16 @@ export default {
860
857
  event: 'custom.interaction.megamenu.click',
861
858
  group: 'Mega Menu',
862
859
  label: content.title,
863
- url: content.relative
860
+ url: content.relative,
864
861
  }
865
862
  // this.$store.dispatch('tracking/event', payload)
866
863
  },
867
864
  skipToContent() {
868
- if (this.$nuxt) {
869
- this.$nuxt.$emit('scrollToTop')
865
+ if (this.$bus) {
866
+ this.$bus.$emit('scrollToTop')
870
867
  }
871
- }
872
- }
868
+ },
869
+ },
873
870
  }
874
871
  </script>
875
872
 
@@ -0,0 +1,71 @@
1
+ <template>
2
+ <div class="app-search" @keyup.esc="$emit('closed')">
3
+ <!-- Do not change the position of elements as they are used for keyboard nav -->
4
+ <button
5
+ ref="closeSearchButton"
6
+ class="close app-search__close-btn"
7
+ @click="$emit('closed')"
8
+ >
9
+ Close menu
10
+ <img class="app-search__close-icon" width="22" height="18" :src="Close" />
11
+ </button>
12
+ <form @submit.prevent>
13
+ <label
14
+ class="app-search__label font-weight-bold"
15
+ for="app-search--search-input-box"
16
+ >Search WorkSafe</label
17
+ >
18
+ <search
19
+ ref="searchInputBox"
20
+ :google-search-flag="googleSearchFlag"
21
+ :initial-search-query="searchQuery"
22
+ :page-limit="pageLimit"
23
+ :page-number="pageNumber"
24
+ :content-parser="contentParser"
25
+ :is-typeahead="false"
26
+ @loading="(e) => (searchResults = null)"
27
+ @results="(e) => (searchResults = e)"
28
+ @selected="$emit('closed')"
29
+ />
30
+ </form>
31
+ </div>
32
+ </template>
33
+
34
+ <script>
35
+ import Close from '../../../../assets/icons/close.svg?url'
36
+ import Search from '../../../SubComponents/Search/index.vue'
37
+
38
+ export default {
39
+ name: 'ModalSearch',
40
+ components: { Search },
41
+ props: {
42
+ searchQuery: {
43
+ type: String,
44
+ default: ''
45
+ },
46
+ contentParser: {
47
+ type: Function,
48
+ required: true
49
+ },
50
+ googleSearchFlag: {
51
+ type: String,
52
+ default: 'googlerest'
53
+ }
54
+ },
55
+ data() {
56
+ return {
57
+ pageLimit: 20,
58
+ pageNumber: 1,
59
+ searchResults: null,
60
+ Close
61
+ }
62
+ },
63
+ mounted() {
64
+ this.$refs.searchInputBox.$el.querySelector('input').focus()
65
+ }
66
+ }
67
+ </script>
68
+
69
+ <style lang="scss" scoped>
70
+ @import './styles';
71
+ </style>
@@ -0,0 +1,43 @@
1
+ @import '../includes';
2
+ @import '../../../../includes/scss/vars/src/colors.scss';
3
+
4
+ .app-search {
5
+ position: relative;
6
+
7
+ @include fp('padding-left', 16, 60, $start: 320, $end: 980);
8
+ @include fp('padding-right', 16, 60, $start: 320, $end: 980);
9
+
10
+ & > &__close-btn {
11
+ position: absolute;
12
+ font-size: 16px;
13
+ color: $app-menu-black;
14
+ background: transparent;
15
+ border: none;
16
+ padding: 0;
17
+ font-family: inherit;
18
+ top: -32px;
19
+ @include fp('right', 16, 60, $start: 320, $end: 980);
20
+
21
+ &:hover {
22
+ cursor: pointer;
23
+ }
24
+
25
+ span {
26
+ font-size: 24px;
27
+ padding-left: 16px;
28
+ }
29
+
30
+ .app-search__close-icon {
31
+ margin-left: 16px;
32
+ }
33
+ }
34
+
35
+ &__label {
36
+ font-size: 18px;
37
+ line-height: 1.56;
38
+ display: block;
39
+ margin-bottom: 8px;
40
+ margin-top: 56px;
41
+ color: $app-menu-black;
42
+ }
43
+ }
@@ -0,0 +1,71 @@
1
+ //
2
+ // Not importing variables and mixins because needs to be
3
+ // as portable as it can for v2 migrate
4
+ //
5
+ // TODO for v2:
6
+ //
7
+ // [] hook up with includes
8
+ //
9
+
10
+ //
11
+ // Fluid Properties
12
+ // Usage : h1 { @include fp(font-size, 50, 100); //50px at 320, 100px at 1920;}
13
+ //
14
+ $app-menu-yellow: #fdcd59;
15
+ $app-menu-gold: #fecc56;
16
+ $primary-color: $app-menu-gold;
17
+ $app-menu-white: #ffffff;
18
+ $app-menu-black: #191919;
19
+ $app-menu-grey: lightgrey;
20
+ $app-menu-green: #356041;
21
+ $app-menu-border-color: rgba(255, 255, 255, 0.3);
22
+ // $app-menu-border-color: $app-menu-black;
23
+
24
+ $app-header-background-colour: $app-menu-grey !default;
25
+ $app-header-text-colour: $app-menu-black !default;
26
+ $app-header-hover: $app-menu-gold !default;
27
+ $app-header-active: $app-menu-yellow !default;
28
+ $app-subheader-text-colour: $app-menu-white !default;
29
+
30
+ @if ($primary-color == #478157) {
31
+ $app-header-background-colour: $app-menu-green !global;
32
+ $app-header-outline-colour: $app-menu-white !global;
33
+ $app-header-hover: $app-menu-white !global;
34
+ $app-header-active: $app-menu-white !global;
35
+ }
36
+
37
+ @mixin fp(
38
+ $property,
39
+ $min,
40
+ $max,
41
+ $start: 320,
42
+ $end: 1920,
43
+ $clip: true,
44
+ $clipAtStart: true,
45
+ $clipAtEnd: true
46
+ ) {
47
+ $multiplier: calc($max - $min / $end - $start) * 100;
48
+ $adder: calc($min * $end - $max * $start / $end - $start);
49
+ $formula: calc(#{$multiplier + 0vw} + #{$adder + 0px});
50
+ @if $clip and $clipAtStart {
51
+ @media (max-width: #{$start + 0px}) {
52
+ #{$property}: $min + 0px;
53
+ }
54
+ }
55
+ @if $clip and $clipAtEnd {
56
+ @media (min-width: #{$end + 0px}) {
57
+ #{$property}: $max + 0px;
58
+ }
59
+ }
60
+ #{$property}: $formula;
61
+ }
62
+
63
+ @mixin visually-hidden {
64
+ position: absolute;
65
+ left: -10000px;
66
+ top: auto;
67
+ width: 1px;
68
+ height: 1px;
69
+ overflow: hidden;
70
+ clip: rect(1px, 1px, 1px, 1px);
71
+ }