@worksafevictoria/wcl7.5 1.1.0-beta.9 → 1.1.0-beta.90

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 (328) hide show
  1. package/.env +1 -3
  2. package/.storybook/preview.js +20 -13
  3. package/README.md +4 -4
  4. package/bin/deploy.sh +1 -1
  5. package/ci/build/build_validation.yml +2 -2
  6. package/ci/release/beta.yml +4 -3
  7. package/ci/release/master.yml +4 -3
  8. package/jest.config.js +10 -8
  9. package/lib/utility.js +10 -8
  10. package/package.json +15 -13
  11. package/src/assets/icons/AppFooter/x-ws-footer.svg +10 -0
  12. package/src/assets/icons/AppFooter/x-ww-footer.svg +28 -0
  13. package/src/assets/icons/SocialShare/x-icon-white.svg +28 -0
  14. package/src/assets/icons/WSV-reversed.svg +20 -0
  15. package/src/assets/icons/contrast.svg +4 -0
  16. package/src/assets/icons/lang.svg +13 -0
  17. package/src/assets/icons/login.svg +4 -0
  18. package/src/assets/styles/modal.scss +51 -0
  19. package/src/components/Common/CardGrid/cardgrid.stories.js +4 -57
  20. package/src/components/Common/CardGrid/index.vue +64 -48
  21. package/src/components/Common/CardGridItem/card-grid-item-caret.vue +7 -4
  22. package/src/components/Common/CardGridItem/card-grid-item-icon.vue +1 -1
  23. package/src/components/Common/CardGridItem/index.vue +95 -65
  24. package/src/components/Containers/Carousel/index.stories.js +30 -0
  25. package/src/components/Containers/Carousel/index.vue +171 -0
  26. package/src/components/Containers/HomepageHeader/index.vue +39 -38
  27. package/src/components/Containers/HomepageHeaderNew/index.stories.js +75 -0
  28. package/src/components/Containers/HomepageHeaderNew/index.vue +198 -0
  29. package/src/components/Containers/SectionGroup/index.vue +1 -1
  30. package/src/components/Containers/Subheader/index.vue +30 -20
  31. package/src/components/Global/AlertStrip/index.stories.js +1 -0
  32. package/src/components/Global/AppFooter/FooterSocialShare/index.vue +1 -1
  33. package/src/components/Global/AppFooter/index.stories.js +1 -0
  34. package/src/components/Global/AppFooter/index.vue +42 -33
  35. package/src/components/Global/AppHeader/index.vue +49 -52
  36. package/src/components/Global/AppHeaderNew/ModalSearch/index.vue +71 -0
  37. package/src/components/Global/AppHeaderNew/ModalSearch/styles.scss +43 -0
  38. package/src/components/Global/AppHeaderNew/includes.scss +71 -0
  39. package/src/components/Global/AppHeaderNew/index.stories.js +74 -0
  40. package/src/components/Global/AppHeaderNew/index.vue +1176 -0
  41. package/src/components/Global/AppHeaderNew/mobile.scss +269 -0
  42. package/src/components/Global/AppHeaderNew/styles.scss +647 -0
  43. package/src/components/Global/ContrastMode/index.stories.js +1 -0
  44. package/src/components/Global/ContrastMode/index.vue +1 -1
  45. package/src/components/Global/Cookies/index.stories.js +16 -10
  46. package/src/components/Global/Cookies/index.vue +209 -172
  47. package/src/components/Global/Cookies/styles.scss +54 -54
  48. package/src/components/Global/DirectoryFilters/SingleTaxonomy/index.vue +50 -132
  49. package/src/components/Global/GlobalNotice/index.stories.js +7 -1
  50. package/src/components/Global/GlobalNotice/index.vue +84 -84
  51. package/src/components/Global/HeroHeader/index.stories.js +3 -4
  52. package/src/components/Global/HeroHeader/index.vue +28 -29
  53. package/src/components/Global/ProgressBar/index.stories.js +6 -16
  54. package/src/components/Global/SocialShare/index.vue +3 -2
  55. package/src/components/Global/Strip/index.stories.js +1 -17
  56. package/src/components/Global/Strip/index.vue +9 -5
  57. package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +29 -21
  58. package/src/components/Paragraphs/Accordion/StepperItem/index.vue +23 -23
  59. package/src/components/Paragraphs/Accordion/index.stories.js +22 -18
  60. package/src/components/Paragraphs/Accordion/index.vue +52 -48
  61. package/src/components/Paragraphs/Breakout/index.stories.js +1 -0
  62. package/src/components/Paragraphs/BrowseContent/index.stories.js +1 -0
  63. package/src/components/Paragraphs/BrowseContent/index.vue +207 -221
  64. package/src/components/Paragraphs/Calculator/Constants.js +2 -2
  65. package/src/components/Paragraphs/Calculator/index.stories.js +1 -0
  66. package/src/components/Paragraphs/Chart/Constants.js +485 -485
  67. package/src/components/Paragraphs/Chart/index.vue +232 -241
  68. package/src/components/Paragraphs/Directory/Records/CJ/index.vue +3 -3
  69. package/src/components/Paragraphs/Directory/Records/HSCP/index.stories.js +32 -0
  70. package/src/components/Paragraphs/Directory/Records/HSCP/index.vue +213 -0
  71. package/src/components/Paragraphs/Directory/Records/ISP/index.vue +5 -5
  72. package/src/components/Paragraphs/Directory/Records/PRS/index.vue +2 -2
  73. package/src/components/Paragraphs/Directory/Records/PRS/recordContent.vue +3 -3
  74. package/src/components/Paragraphs/Directory/Records/PRS/recordDetails.vue +3 -3
  75. package/src/components/Paragraphs/Directory/Records/index.vue +66 -30
  76. package/src/components/Paragraphs/Directory/Records/styles.scss +1 -0
  77. package/src/components/Paragraphs/Directory/constants.js +23 -5
  78. package/src/components/Paragraphs/Directory/index.vue +56 -45
  79. package/src/components/Paragraphs/ListGroup/Link/list-link.stories.js +35 -39
  80. package/src/components/Paragraphs/ListGroup/index.vue +60 -47
  81. package/src/components/Paragraphs/ListGroup/list-group.stories.js +35 -31
  82. package/src/components/Paragraphs/ListGroup/navigation-card.stories.js +34 -30
  83. package/src/components/Paragraphs/MarketingBanner/index.stories.js +4 -18
  84. package/src/components/Paragraphs/ProofPoints/index.stories.js +19 -20
  85. package/src/components/Paragraphs/RelatedInformation/index.stories.js +11 -21
  86. package/src/components/Paragraphs/RelatedInformation/index.vue +12 -6
  87. package/src/components/Paragraphs/RelatedInformation/styles.scss +1 -3
  88. package/src/components/Paragraphs/RichText/index.stories.js +2 -1
  89. package/src/components/Paragraphs/ScrollSpy/index.stories.js +3 -1
  90. package/src/components/Paragraphs/ScrollSpy/index.vue +26 -12
  91. package/src/components/Paragraphs/SelectableCards/Control/index.stories.js +1 -0
  92. package/src/components/Paragraphs/SelectableCards/index.vue +15 -12
  93. package/src/components/Paragraphs/Statistics/index.stories.js +1 -0
  94. package/src/components/Paragraphs/Statistics/index.vue +1 -0
  95. package/src/components/Paragraphs/TabbedCards/index.stories.js +8 -27
  96. package/src/components/Paragraphs/TabbedCards/index.vue +69 -103
  97. package/src/components/Paragraphs/Tabs/index.stories.js +1 -0
  98. package/src/components/Paragraphs/Tabs/index.vue +19 -17
  99. package/src/components/Paragraphs/TabulatedData/index.stories.js +6 -5
  100. package/src/components/Paragraphs/TabulatedData/index.vue +63 -35
  101. package/src/components/Paragraphs/TaskFinder/index.stories.js +2 -2
  102. package/src/components/Paragraphs/TaskFinder/index.vue +3 -3
  103. package/src/components/Paragraphs/TaskFinder/task-finder-column.vue +1 -1
  104. package/src/components/Paragraphs/TextMedia/index.stories.js +1 -0
  105. package/src/components/Paragraphs/TextMedia/index.vue +5 -1
  106. package/src/components/Paragraphs/VideoGrid/index.stories.js +1 -0
  107. package/src/components/Paragraphs/VideoGrid/index.vue +12 -12
  108. package/src/components/Paragraphs/VideoPlayer/index.stories.js +1 -13
  109. package/src/components/Paragraphs/Webform/index.stories.js +94 -57
  110. package/src/components/Paragraphs/Webform/index.vue +11 -8
  111. package/src/components/SubComponents/Breadcrumb/index.stories.js +3 -11
  112. package/src/components/SubComponents/CardGroup/index.stories.js +1 -30
  113. package/src/components/SubComponents/CardGroup/index.vue +38 -28
  114. package/src/components/SubComponents/CtaButton/index.stories.js +1 -24
  115. package/src/components/SubComponents/CtaButton/index.vue +27 -25
  116. package/src/components/SubComponents/FormAddressPostcode/index.stories.js +3 -28
  117. package/src/components/SubComponents/FormAddressPostcode/index.vue +33 -36
  118. package/src/components/SubComponents/FormInstance/components/alert/index.vue +129 -0
  119. package/src/components/SubComponents/FormInstance/components/custom/base-formio.js +77 -0
  120. package/src/components/SubComponents/FormInstance/components/custom/code-formio.js +35 -0
  121. package/src/components/SubComponents/FormInstance/components/custom/custom-formio-registry.js +30 -0
  122. package/src/components/SubComponents/FormInstance/components/custom/range-formio.js +121 -0
  123. package/src/components/SubComponents/FormInstance/components/custom/rating-formio.js +121 -0
  124. package/src/components/SubComponents/FormInstance/components/custom/scale-formio.js +99 -0
  125. package/src/components/SubComponents/FormInstance/components/custom/tableselect-formio.js +200 -0
  126. package/src/components/SubComponents/FormInstance/components/handler/index.vue +204 -0
  127. package/src/components/SubComponents/FormInstance/components/renderer/index.vue +282 -0
  128. package/src/components/SubComponents/FormInstance/index.test.js +65 -0
  129. package/src/components/SubComponents/FormInstance/index.vue +55 -6
  130. package/src/components/SubComponents/FormInstance/models/base-form-element.js +338 -0
  131. package/src/components/SubComponents/FormInstance/models/form-callback-queue.js +45 -0
  132. package/src/components/SubComponents/FormInstance/models/form-utils.js +50 -0
  133. package/src/components/SubComponents/FormInstance/models/overrides/address.js +141 -0
  134. package/src/components/SubComponents/FormInstance/models/overrides/autocomplete.js +41 -0
  135. package/src/components/SubComponents/FormInstance/models/overrides/checkbox.js +14 -0
  136. package/src/components/SubComponents/FormInstance/models/overrides/checkboxes.js +49 -0
  137. package/src/components/SubComponents/FormInstance/models/overrides/code.js +27 -0
  138. package/src/components/SubComponents/FormInstance/models/overrides/composite.js +57 -0
  139. package/src/components/SubComponents/FormInstance/models/overrides/container.js +65 -0
  140. package/src/components/SubComponents/FormInstance/models/overrides/currency.js +17 -0
  141. package/src/components/SubComponents/FormInstance/models/overrides/customcomposite.js +41 -0
  142. package/src/components/SubComponents/FormInstance/models/overrides/date.js +126 -0
  143. package/src/components/SubComponents/FormInstance/models/overrides/datelist.js +73 -0
  144. package/src/components/SubComponents/FormInstance/models/overrides/detail.js +38 -0
  145. package/src/components/SubComponents/FormInstance/models/overrides/email-confirm.js +12 -0
  146. package/src/components/SubComponents/FormInstance/models/overrides/email.js +7 -0
  147. package/src/components/SubComponents/FormInstance/models/overrides/file.js +52 -0
  148. package/src/components/SubComponents/FormInstance/models/overrides/flexbox.js +33 -0
  149. package/src/components/SubComponents/FormInstance/models/overrides/hidden.js +24 -0
  150. package/src/components/SubComponents/FormInstance/models/overrides/likert.js +40 -0
  151. package/src/components/SubComponents/FormInstance/models/overrides/markup.js +47 -0
  152. package/src/components/SubComponents/FormInstance/models/overrides/message.js +53 -0
  153. package/src/components/SubComponents/FormInstance/models/overrides/moretext.js +64 -0
  154. package/src/components/SubComponents/FormInstance/models/overrides/multiple.js +51 -0
  155. package/src/components/SubComponents/FormInstance/models/overrides/number.js +22 -0
  156. package/src/components/SubComponents/FormInstance/models/overrides/options-other.js +34 -0
  157. package/src/components/SubComponents/FormInstance/models/overrides/page.js +7 -0
  158. package/src/components/SubComponents/FormInstance/models/overrides/phonenumber.js +13 -0
  159. package/src/components/SubComponents/FormInstance/models/overrides/radio.js +31 -0
  160. package/src/components/SubComponents/FormInstance/models/overrides/range.js +19 -0
  161. package/src/components/SubComponents/FormInstance/models/overrides/rating.js +47 -0
  162. package/src/components/SubComponents/FormInstance/models/overrides/scale.js +33 -0
  163. package/src/components/SubComponents/FormInstance/models/overrides/section.js +39 -0
  164. package/src/components/SubComponents/FormInstance/models/overrides/select.js +28 -0
  165. package/src/components/SubComponents/FormInstance/models/overrides/signature.js +7 -0
  166. package/src/components/SubComponents/FormInstance/models/overrides/submit.js +23 -0
  167. package/src/components/SubComponents/FormInstance/models/overrides/table.js +48 -0
  168. package/src/components/SubComponents/FormInstance/models/overrides/tablerow.js +20 -0
  169. package/src/components/SubComponents/FormInstance/models/overrides/tableselect.js +66 -0
  170. package/src/components/SubComponents/FormInstance/models/overrides/testing.js +47 -0
  171. package/src/components/SubComponents/FormInstance/models/overrides/text.js +7 -0
  172. package/src/components/SubComponents/FormInstance/models/overrides/textarea.js +26 -0
  173. package/src/components/SubComponents/FormInstance/models/overrides/textformat.js +13 -0
  174. package/src/components/SubComponents/FormInstance/models/overrides/time.js +13 -0
  175. package/src/components/SubComponents/FormInstance/models/overrides/twig.js +118 -0
  176. package/src/components/SubComponents/FormInstance/models/overrides/unknown.js +24 -0
  177. package/src/components/SubComponents/FormInstance/models/overrides/url.js +13 -0
  178. package/src/components/SubComponents/FormInstance/services/convert-form-element.js +49 -0
  179. package/src/components/SubComponents/FormInstance/services/form-api.js +47 -0
  180. package/src/components/SubComponents/FormInstance/services/form-render-parser.js +156 -0
  181. package/src/components/SubComponents/FormInstance/services/form-submit-parser.js +68 -0
  182. package/src/components/SubComponents/FormInstance/services/logic-linker.js +73 -0
  183. package/src/components/SubComponents/FormInstance/services/logic-parser.js +173 -0
  184. package/src/components/SubComponents/FormInstance/services/registry-factory.js +284 -0
  185. package/src/components/SubComponents/FormInstance/stories/Documentation.mdx +234 -0
  186. package/src/components/SubComponents/FormInstance/stories/advanced.stories.js +109 -0
  187. package/src/components/SubComponents/FormInstance/stories/basic.stories.js +73 -0
  188. package/src/components/SubComponents/FormInstance/stories/build.stories.js +27 -0
  189. package/src/components/SubComponents/FormInstance/stories/composite.stories.js +90 -0
  190. package/src/components/SubComponents/FormInstance/stories/condition.stories.js +83 -0
  191. package/src/components/SubComponents/FormInstance/stories/custom.stories.js +69 -0
  192. package/src/components/SubComponents/FormInstance/stories/date.stories.js +76 -0
  193. package/src/components/SubComponents/FormInstance/stories/fileupload.stories.js +57 -0
  194. package/src/components/SubComponents/FormInstance/stories/form-alert.stories.js +93 -0
  195. package/src/components/SubComponents/FormInstance/stories/index.stories.js +63 -0
  196. package/src/components/SubComponents/FormInstance/stories/layout.stories.js +85 -0
  197. package/src/components/SubComponents/FormInstance/stories/markup.stories.js +91 -0
  198. package/src/components/SubComponents/FormInstance/stories/mocks/address.json +298 -0
  199. package/src/components/SubComponents/FormInstance/stories/mocks/advancedhtml.json +23 -0
  200. package/src/components/SubComponents/FormInstance/stories/mocks/autocomplete.json +34 -0
  201. package/src/components/SubComponents/FormInstance/stories/mocks/basichtml.json +15 -0
  202. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxes.json +102 -0
  203. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxesother.json +197 -0
  204. package/src/components/SubComponents/FormInstance/stories/mocks/container.json +134 -0
  205. package/src/components/SubComponents/FormInstance/stories/mocks/customcomposite.json +469 -0
  206. package/src/components/SubComponents/FormInstance/stories/mocks/date.json +19 -0
  207. package/src/components/SubComponents/FormInstance/stories/mocks/datelist.json +752 -0
  208. package/src/components/SubComponents/FormInstance/stories/mocks/datetime.json +89 -0
  209. package/src/components/SubComponents/FormInstance/stories/mocks/details.json +63 -0
  210. package/src/components/SubComponents/FormInstance/stories/mocks/email.json +18 -0
  211. package/src/components/SubComponents/FormInstance/stories/mocks/emailconfirm.json +110 -0
  212. package/src/components/SubComponents/FormInstance/stories/mocks/fieldset.json +62 -0
  213. package/src/components/SubComponents/FormInstance/stories/mocks/fileupload.json +25 -0
  214. package/src/components/SubComponents/FormInstance/stories/mocks/flexbox.json +58 -0
  215. package/src/components/SubComponents/FormInstance/stories/mocks/hidden.json +35 -0
  216. package/src/components/SubComponents/FormInstance/stories/mocks/horizontalrule.json +14 -0
  217. package/src/components/SubComponents/FormInstance/stories/mocks/jahd.json +1359 -0
  218. package/src/components/SubComponents/FormInstance/stories/mocks/label.json +14 -0
  219. package/src/components/SubComponents/FormInstance/stories/mocks/likert.json +375 -0
  220. package/src/components/SubComponents/FormInstance/stories/mocks/message.json +86 -0
  221. package/src/components/SubComponents/FormInstance/stories/mocks/more.json +19 -0
  222. package/src/components/SubComponents/FormInstance/stories/mocks/multiple.json +142 -0
  223. package/src/components/SubComponents/FormInstance/stories/mocks/number.json +35 -0
  224. package/src/components/SubComponents/FormInstance/stories/mocks/quad.json +249 -0
  225. package/src/components/SubComponents/FormInstance/stories/mocks/radios.json +70 -0
  226. package/src/components/SubComponents/FormInstance/stories/mocks/radiosother.json +176 -0
  227. package/src/components/SubComponents/FormInstance/stories/mocks/range.json +58 -0
  228. package/src/components/SubComponents/FormInstance/stories/mocks/rating.json +42 -0
  229. package/src/components/SubComponents/FormInstance/stories/mocks/rule-disabled-value.json +66 -0
  230. package/src/components/SubComponents/FormInstance/stories/mocks/rule-enabled-value.json +43 -0
  231. package/src/components/SubComponents/FormInstance/stories/mocks/rule-hidden-value.json +68 -0
  232. package/src/components/SubComponents/FormInstance/stories/mocks/rule-required-value.json +69 -0
  233. package/src/components/SubComponents/FormInstance/stories/mocks/rule-visible-value.json +157 -0
  234. package/src/components/SubComponents/FormInstance/stories/mocks/sameas.json +66 -0
  235. package/src/components/SubComponents/FormInstance/stories/mocks/scale.json +200 -0
  236. package/src/components/SubComponents/FormInstance/stories/mocks/section.json +63 -0
  237. package/src/components/SubComponents/FormInstance/stories/mocks/select.json +41 -0
  238. package/src/components/SubComponents/FormInstance/stories/mocks/selectother.json +115 -0
  239. package/src/components/SubComponents/FormInstance/stories/mocks/signature.json +25 -0
  240. package/src/components/SubComponents/FormInstance/stories/mocks/styles.json +81 -0
  241. package/src/components/SubComponents/FormInstance/stories/mocks/table-select.json +472 -0
  242. package/src/components/SubComponents/FormInstance/stories/mocks/table.json +154 -0
  243. package/src/components/SubComponents/FormInstance/stories/mocks/telephone.json +18 -0
  244. package/src/components/SubComponents/FormInstance/stories/mocks/textarea.json +22 -0
  245. package/src/components/SubComponents/FormInstance/stories/mocks/textfield.json +66 -0
  246. package/src/components/SubComponents/FormInstance/stories/mocks/time.json +20 -0
  247. package/src/components/SubComponents/FormInstance/stories/mocks/token.json +260 -0
  248. package/src/components/SubComponents/FormInstance/stories/mocks/twig.json +154 -0
  249. package/src/components/SubComponents/FormInstance/stories/mocks/url.json +18 -0
  250. package/src/components/SubComponents/FormInstance/stories/mocks/value.json +17 -0
  251. package/src/components/SubComponents/FormInstance/stories/mocks/wizard.json +353 -0
  252. package/src/components/SubComponents/FormInstance/stories/options.stories.js +98 -0
  253. package/src/components/SubComponents/FormInstance/stories/style.stories.js +55 -0
  254. package/src/components/SubComponents/FormInstance/stories/wizard.stories.js +55 -0
  255. package/src/components/SubComponents/FormInstance/style.scss +185 -0
  256. package/src/components/SubComponents/FormInstance/tests/address.test.js +255 -0
  257. package/src/components/SubComponents/FormInstance/tests/advancedhtml.test.js +31 -0
  258. package/src/components/SubComponents/FormInstance/tests/autocomplete.test.js +38 -0
  259. package/src/components/SubComponents/FormInstance/tests/basichtml.test.js +31 -0
  260. package/src/components/SubComponents/FormInstance/tests/checkbox.test.js +29 -0
  261. package/src/components/SubComponents/FormInstance/tests/checkboxes.test.js +44 -0
  262. package/src/components/SubComponents/FormInstance/tests/checkboxesother.test.js +91 -0
  263. package/src/components/SubComponents/FormInstance/tests/container.test.js +66 -0
  264. package/src/components/SubComponents/FormInstance/tests/customcomposite.test.js +86 -0
  265. package/src/components/SubComponents/FormInstance/tests/date.test.js +63 -0
  266. package/src/components/SubComponents/FormInstance/tests/datelist.test.js +136 -0
  267. package/src/components/SubComponents/FormInstance/tests/datetime.test.js +54 -0
  268. package/src/components/SubComponents/FormInstance/tests/details.test.js +58 -0
  269. package/src/components/SubComponents/FormInstance/tests/email.test.js +28 -0
  270. package/src/components/SubComponents/FormInstance/tests/emailconfirm.test.js +79 -0
  271. package/src/components/SubComponents/FormInstance/tests/fieldset.test.js +63 -0
  272. package/src/components/SubComponents/FormInstance/tests/flexbox.test.js +71 -0
  273. package/src/components/SubComponents/FormInstance/tests/form-test-utils.js +120 -0
  274. package/src/components/SubComponents/FormInstance/tests/form.test.js +26 -0
  275. package/src/components/SubComponents/FormInstance/tests/hidden.test.js +52 -0
  276. package/src/components/SubComponents/FormInstance/tests/horizontalrule.test.js +31 -0
  277. package/src/components/SubComponents/FormInstance/tests/label.test.js +31 -0
  278. package/src/components/SubComponents/FormInstance/tests/likert.test.js +38 -0
  279. package/src/components/SubComponents/FormInstance/tests/message.test.js +89 -0
  280. package/src/components/SubComponents/FormInstance/tests/more.test.js +32 -0
  281. package/src/components/SubComponents/FormInstance/tests/multiple.test.js +71 -0
  282. package/src/components/SubComponents/FormInstance/tests/number.test.js +51 -0
  283. package/src/components/SubComponents/FormInstance/tests/radios.test.js +34 -0
  284. package/src/components/SubComponents/FormInstance/tests/radiosother.test.js +79 -0
  285. package/src/components/SubComponents/FormInstance/tests/range.test.js +32 -0
  286. package/src/components/SubComponents/FormInstance/tests/rating.test.js +38 -0
  287. package/src/components/SubComponents/FormInstance/tests/rule-disabled.test.js +128 -0
  288. package/src/components/SubComponents/FormInstance/tests/rule-enabled-value.test.js +78 -0
  289. package/src/components/SubComponents/FormInstance/tests/rule-hidden.test.js +131 -0
  290. package/src/components/SubComponents/FormInstance/tests/rule-required-value.test.js +144 -0
  291. package/src/components/SubComponents/FormInstance/tests/rule-visible.test.js +619 -0
  292. package/src/components/SubComponents/FormInstance/tests/sameas.test.js +94 -0
  293. package/src/components/SubComponents/FormInstance/tests/scale.test.js +43 -0
  294. package/src/components/SubComponents/FormInstance/tests/section.test.js +63 -0
  295. package/src/components/SubComponents/FormInstance/tests/select.test.js +45 -0
  296. package/src/components/SubComponents/FormInstance/tests/selectother.test.js +82 -0
  297. package/src/components/SubComponents/FormInstance/tests/signature.test.js +32 -0
  298. package/src/components/SubComponents/FormInstance/tests/styles.test.js +73 -0
  299. package/src/components/SubComponents/FormInstance/tests/table-select.test.js +93 -0
  300. package/src/components/SubComponents/FormInstance/tests/table.test.js +97 -0
  301. package/src/components/SubComponents/FormInstance/tests/telephone.test.js +29 -0
  302. package/src/components/SubComponents/FormInstance/tests/textarea.test.js +29 -0
  303. package/src/components/SubComponents/FormInstance/tests/textfield.test.js +48 -0
  304. package/src/components/SubComponents/FormInstance/tests/time.test.js +29 -0
  305. package/src/components/SubComponents/FormInstance/tests/token.test.js +33 -0
  306. package/src/components/SubComponents/FormInstance/tests/twig.test.js +74 -0
  307. package/src/components/SubComponents/FormInstance/tests/url.test.js +48 -0
  308. package/src/components/SubComponents/FormInstance/tests/value.test.js +31 -0
  309. package/src/components/SubComponents/FormInstance/tests/wizard.test.js +145 -0
  310. package/src/components/SubComponents/Icon/index.stories.js +1 -6
  311. package/src/components/SubComponents/MediaPlayer/index.stories.js +1 -6
  312. package/src/components/SubComponents/Pagination/index.stories.js +3 -8
  313. package/src/components/SubComponents/ResourceGroup/List/index.stories.js +3 -2
  314. package/src/components/SubComponents/ResourceGroup/index.vue +211 -174
  315. package/src/components/SubComponents/Search/index.vue +39 -37
  316. package/src/components/SubComponents/SingleImage/index.stories.js +2 -16
  317. package/src/components/SubComponents/VideoThumbnail/index.stories.js +1 -0
  318. package/src/components/SubComponents/VideoThumbnail/index.vue +31 -117
  319. package/src/includes/scss/mixins/src/grid.scss +4 -2
  320. package/src/includes/scss/mixins/src/units.scss +25 -4
  321. package/src/includes/scss/vars/src/colors.module.scss +28 -1
  322. package/src/index.js +17 -5
  323. package/src/main.js +2 -10
  324. package/src/mock/app-header-new.js +715 -0
  325. package/src/mock/carousel-items.js +82 -0
  326. package/src/mock/jest.fileMock.js +1 -0
  327. package/vite.config.js +28 -15
  328. package/src/components/SubComponents/FormInstance/index.stories.js +0 -8
@@ -9,77 +9,78 @@
9
9
  <span>{{ data.name }}</span>
10
10
  <span v-if="numberOfItems > 0">({{ numberOfItems }})</span>
11
11
  </filter-button>
12
- <div v-if="showMyModal" class="modal fade show wcl-directory-filters__single-tax__modal"
13
- tabindex="-1" aria-labelledby="exampleModalLabel" aria-modal="true" role="dialog"
14
- style="display: block;">
15
- <div class="modal-dialog modal-xl modal-dialog-scrollable modal-dialog-centered">
16
- <div class="modal-content">
17
- <div class="modal-body">
18
- <fieldset>
19
- <legend>Filter by {{ data.name }}</legend>
20
- <div v-for="term in data.terms" :key="term.tid" class="option">
21
- <input
22
- :id="`term_${term.tid}`"
23
- v-model="selectedFilters[`${data.record_id}`]"
24
- type="checkbox"
25
- :name="term.name"
26
- :value="term"
27
- :disabled="term.preselected"
28
- @keyup.enter="(e) => e.target.click()"
29
- />
30
- <label :for="`term_${term.tid}`">{{ term.name }}</label>
31
- </div>
32
- </fieldset>
33
- </div>
34
- <div class="modal-footer">
35
- <cta-button
36
- v-if="!loading && results !== 0"
37
- :type="'dark'"
38
- :rtl="false"
39
- :focus-outline="'light'"
40
- :workwell="false"
41
- @clicked="showMyModal = !showMyModal"
42
- >Show <span>{{ results }}</span> {{ resultString }}
43
- </cta-button>
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
- </div>
48
- </div>
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,90 +114,7 @@ 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
- <style lang="scss">
121
- //
122
- // Global non scoped scss!
123
- // Modal inner overrides only
124
- //
125
- // Component styles add in scoped
126
- // block below
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;
159
- }
160
- }
161
- .modal-body {
162
- padding: 32px;
163
- fieldset {
164
- display: flex;
165
- flex-direction: row;
166
- flex-wrap: wrap;
167
- legend {
168
- font-size: 28px;
169
- font-weight: 700;
170
- line-height: 32px;
171
- letter-spacing: 0px;
172
- margin-bottom: 32px;
173
- }
174
- .option {
175
- margin-bottom: 32px;
176
- flex-basis: 50%;
177
- display: flex;
178
- @media screen and (max-width: 600px) {
179
- flex-basis: 100%;
180
- }
181
- input[type='checkbox'] {
182
- height: 24px;
183
- border: 1px solid #bababa;
184
- width: 24px;
185
- cursor: pointer;
186
- }
187
- label {
188
- margin: 0px;
189
- width: 80%;
190
- position: relative;
191
- left: 16px;
192
- cursor: pointer;
193
- }
194
- }
195
- }
196
- }
197
- .modal-footer {
198
- border: none;
199
- }
200
- }
201
- }
202
- </style>
@@ -5,4 +5,10 @@ export default {
5
5
  component: GlobalNotice
6
6
  }
7
7
 
8
- export const Default = {}
8
+ export const Default = {
9
+ loaders: [
10
+ () => {
11
+ window.localStorage.removeItem('globalModalHidden')
12
+ }
13
+ ]
14
+ }
@@ -1,74 +1,85 @@
1
1
  <template>
2
- <div
3
- v-if="displayGlobal"
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
- role="dialog"
9
- tabindex="-1"
10
- aria-modal="true"
11
- style="display: block;">
12
-
13
- <div class="modal-dialog modal-dialog-centered">
14
- <div class="modal-content">
15
- <div class="modal-header">
16
- <button type="button" class="btn-close" @click="setCookie(), displayGlobal = !displayGlobal" aria-label="close"></button>
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 class="modal-body">
19
- <div class="modal-heading">
20
- Understand changes to the 2023-24 WorkCover premium
21
- </div>
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
- Information for employers on changes to premium rates, how premium is
24
- calculated and key dates.
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 class="modal-buttons">
27
- <div>
28
- <button
29
- id="open_page"
30
- type="button"
31
- role="button"
32
- class="modal-buttons isWiderYellow hasIcon justify-content-start "
33
- style="order: 1"
34
- aria-label="Open information about premium changes"
35
- @click="setCookie(), goToPage('/2023-24-workcover-premium-changes'), displayGlobal = !displayGlobal"
36
- >
37
- 2023-24 premium FAQs
38
- </button>
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
- </div>
59
- </div>
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: '',
69
70
  displayGlobal: false,
70
71
  }
71
72
  },
73
+ computed: {
74
+ showGlobalNotice() {
75
+ //Check first if SHOW_GLOBAL_NOTICE have been turned on in the environment variable
76
+ return (this.$config
77
+ ? this.$config.public.globalNotice
78
+ : process.env.SHOW_GLOBAL_NOTICE) === false
79
+ ? false
80
+ : true
81
+ },
82
+ },
72
83
  mounted() {
73
84
  window.addEventListener('load', this.checkPage())
74
85
  },
@@ -77,8 +88,12 @@ export default {
77
88
  localStorage.setItem('globalModalHidden', 'true')
78
89
  },
79
90
  goToPage(link) {
80
- if (process.env.IS_STORYBOOK === 'TRUE') {
81
- alert('Will go to: ' + link + ' and close notice - clear local storage and refresh to redisplay')
91
+ if (process.env.IS_STORYBOOK === 'TRUE') {
92
+ alert(
93
+ 'Will go to: ' +
94
+ link +
95
+ ' and close notice - clear local storage and refresh to redisplay',
96
+ )
82
97
  } else {
83
98
  window.open(link, '_self')
84
99
  }
@@ -90,49 +105,34 @@ export default {
90
105
  this.displayGlobal = false
91
106
  } else if (typeof window !== 'undefined') {
92
107
  this.displayGlobal =
93
- process.env.SHOW_GLOBAL_NOTICE === 'true' &&
108
+ this.showGlobalNotice === true &&
94
109
  !localStorage.getItem('globalModalHidden')
95
110
  } else {
96
- this.displayGlobal = process.env.SHOW_GLOBAL_NOTICE === 'true'
111
+ this.displayGlobal =
112
+ (this.$config
113
+ ? this.$config.public.globalNotice
114
+ : process.env.SHOW_GLOBAL_NOTICE) === true
97
115
  }
98
- }
99
- }
116
+ },
117
+ },
100
118
  }
101
119
  </script>
102
- <style lang="scss">
103
- @import '../../../assets/styles/generated-icons.scss';
104
- @import '../../../includes/scss/all';
105
-
106
- // modal and modal backdrop styles required in order to display the overlay behind the modal
107
-
108
- .modal {
109
- background: rgba(0,0,0,0.5)
110
- }
111
-
112
- .modal-backdrop {
113
- display: none;
114
- }
115
-
116
- .modal-header {
117
- border: none;
118
- }
119
-
120
- .modal-heading {
120
+ <style lang="scss" scoped>
121
+ :deep(.modal-title) {
121
122
  font-size: 26px;
122
123
  font-weight: 700;
123
124
  line-height: 30px;
124
125
  letter-spacing: 0px;
125
126
  margin-bottom: 16px;
127
+ display: flex;
128
+ justify-content: flex-end !important;
126
129
  }
130
+ </style>
131
+ <style lang="scss">
132
+ @import '../../../assets/styles/generated-icons.scss';
133
+ @import '../../../includes/scss/all';
127
134
 
128
- .modal-content {
129
- font-weight: 400;
130
- font-size: 16px;
131
- line-height: 24px;
132
- padding: 16px;
133
- }
134
-
135
- .modal-buttons {
135
+ .notice-buttons {
136
136
  position: relative;
137
137
  text-decoration: none;
138
138
  font-style: normal;
@@ -42,10 +42,9 @@ export default {
42
42
  title: 'HeroHeader default example',
43
43
  description: '<p class="intro">The page subtitle goes in here... The page subtitle goes in here... The page subtitle goes in here...</p><p><a href="#" class="cta-button">class cta-button</a></p>',
44
44
  image: {
45
- url:
46
- 'https://content.api.worksafe.vic.gov.au/sites/default/files/2020-04/Topic-Coronavirus-COVID-19.jpg',
47
- alt: 'Some alt text'
48
- },
45
+ url: process.env.CONTENT_API_URL + '/sites/default/files/2020-04/Topic-Coronavirus-COVID-19.jpg',
46
+ alt: 'Some alt text'
47
+ },
49
48
  cta: cta_content,
50
49
  bgColor: false,
51
50
  breadcrumbItems: breadcrumb_content,
@@ -48,7 +48,8 @@
48
48
  class="wcl-hero-header__content-wrapper__content-col"
49
49
  :md="7"
50
50
  :class="{
51
- [`wcl-hero-header__content-wrapper__content-col--split`]: $slots.side
51
+ [`wcl-hero-header__content-wrapper__content-col--split`]:
52
+ $slots.side,
52
53
  }"
53
54
  >
54
55
  <breadcrumb
@@ -98,9 +99,7 @@
98
99
  >
99
100
  </column>
100
101
  </row>
101
- <template v-if="showSocial && type !== 'hero'">
102
- <social-share :rtl="rtl" />
103
- </template>
102
+ <social-share v-show="showSocial && type !== 'hero'" :rtl="rtl" />
104
103
  </container>
105
104
  </div>
106
105
  <!-- Type Default -->
@@ -152,7 +151,7 @@
152
151
  </column>
153
152
  <!-- No Col needed for type Hero -->
154
153
  </row>
155
- <social-share v-if="showSocial && type === 'hero'" :rtl="rtl" />
154
+ <social-share v-show="showSocial && type === 'hero'" :rtl="rtl" />
156
155
  </container>
157
156
  </template>
158
157
  <script>
@@ -178,63 +177,63 @@ export default {
178
177
  CtaButton,
179
178
  HeroHeaderChevron,
180
179
  RichText,
181
- Icon
180
+ Icon,
182
181
  },
183
182
  props: {
184
183
  type: {
185
184
  type: String,
186
- default: 'default'
185
+ default: 'default',
187
186
  },
188
187
  title: {
189
188
  type: String,
190
- default: ''
189
+ default: '',
191
190
  },
192
191
  description: {
193
192
  type: String,
194
- default: ''
193
+ default: '',
195
194
  },
196
195
  image: {
197
196
  type: Object,
198
- default: () => {}
197
+ default: () => {},
199
198
  },
200
199
  cta: {
201
200
  type: Object,
202
- default: () => {}
201
+ default: () => {},
203
202
  },
204
203
  bgColor: {
205
204
  type: Boolean,
206
- default: false
205
+ default: false,
207
206
  },
208
207
  breadcrumbItems: {
209
208
  type: Array,
210
- default: () => []
209
+ default: () => [],
211
210
  },
212
211
  rtl: {
213
212
  type: Boolean,
214
- default: false
213
+ default: false,
215
214
  },
216
215
  workwell: {
217
216
  type: Boolean,
218
- default: false
217
+ default: false,
219
218
  },
220
219
  showBreadcrumb: {
221
220
  type: Boolean,
222
- default: true
221
+ default: true,
223
222
  },
224
223
  showMask: {
225
224
  type: Boolean,
226
- default: true
225
+ default: true,
227
226
  },
228
227
  showSocial: {
229
228
  type: Boolean,
230
- default: true
231
- }
229
+ default: true,
230
+ },
232
231
  },
233
232
  data() {
234
233
  return {
235
234
  socialShareToggle: false,
236
235
  HeroHeaderChevron,
237
- CaretDown
236
+ CaretDown,
238
237
  }
239
238
  },
240
239
  computed: {
@@ -271,7 +270,7 @@ export default {
271
270
  // }
272
271
  // }
273
272
  return this.title
274
- }
273
+ },
275
274
  // Will reintroduce if business requirement
276
275
  // strippedDescription() {
277
276
  // let strippedString = this.description.replace(/(<([^>]+)>)/gi, '')
@@ -282,8 +281,8 @@ export default {
282
281
  // }
283
282
  },
284
283
  mounted() {
285
- if (this.$nuxt?.$on) {
286
- this.$nuxt.$on('scrollToTop', () => {
284
+ if (this.$bus) {
285
+ this.$bus.$on('scrollToTop', () => {
287
286
  setTimeout(() => {
288
287
  const title = this.$refs.title
289
288
  if (title) {
@@ -295,8 +294,8 @@ export default {
295
294
  }
296
295
  },
297
296
  beforeDestroy() {
298
- if (this.$nuxt?.$off) {
299
- this.$nuxt.$off('scrollToTop')
297
+ if (this.$bus) {
298
+ this.$bus.$off('scrollToTop')
300
299
  }
301
300
  },
302
301
  methods: {
@@ -316,20 +315,20 @@ export default {
316
315
  ev.target.scrollIntoView({
317
316
  behavior: 'smooth',
318
317
  alignToTop: true,
319
- block: 'start'
318
+ block: 'start',
320
319
  })
321
320
  }
322
321
  },
323
322
  fireGTM() {
324
323
  let attrs = {
325
324
  label: this.cta.uri,
326
- document_title: this.cta.filename
325
+ document_title: this.cta.filename,
327
326
  }
328
327
  if (this.$gtm) {
329
328
  this.$gtm.push({ event: 'custom.interaction.download', ...attrs })
330
329
  }
331
- }
332
- }
330
+ },
331
+ },
333
332
  }
334
333
  </script>
335
334
  <style lang="scss" scoped>
@@ -21,31 +21,21 @@ const mockData = [
21
21
  export default {
22
22
  title: 'Global/ProgressBar',
23
23
  component: ProgressBar,
24
- argTypes: {
25
- steeperStyle: {
26
- control: 'boolean'
27
- },
28
- items: {
29
- control: 'array'
30
- },
31
- rtl: {
32
- control: 'boolean'
33
- }
24
+ tags: ['autodocs'],
25
+ args: {
26
+ items: mockData,
27
+ rtl: false
34
28
  }
35
29
  }
36
30
 
37
31
  export const Steeper = {
38
32
  args: {
39
- steeperStyle: true,
40
- items: mockData,
41
- rtl: false
33
+ steeperStyle: true
42
34
  }
43
35
  }
44
36
 
45
37
  export const Default = {
46
38
  args: {
47
- steeperStyle: false,
48
- items: mockData,
49
- rtl: false
39
+ steeperStyle: false
50
40
  }
51
41
  }