@worksafevictoria/wcl7.5 1.1.0-beta.8 → 1.1.0-beta.80

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 (327) 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 +8 -7
  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 +165 -0
  26. package/src/components/Containers/HomepageHeader/index.vue +26 -12
  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 +33 -29
  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 +212 -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 +8 -4
  57. package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +25 -21
  58. package/src/components/Paragraphs/Accordion/StepperItem/index.vue +19 -23
  59. package/src/components/Paragraphs/Accordion/index.stories.js +1 -0
  60. package/src/components/Paragraphs/Accordion/index.vue +16 -16
  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 +42 -31
  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 +9 -32
  102. package/src/components/Paragraphs/TaskFinder/index.vue +3 -3
  103. package/src/components/Paragraphs/TaskFinder/pdf/index.vue +1 -1
  104. package/src/components/Paragraphs/TaskFinder/task-finder-column.vue +1 -1
  105. package/src/components/Paragraphs/TextMedia/index.stories.js +1 -0
  106. package/src/components/Paragraphs/TextMedia/index.vue +5 -1
  107. package/src/components/Paragraphs/VideoGrid/index.stories.js +1 -0
  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 +56 -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 +61 -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 +45 -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/main.js +2 -10
  323. package/src/mock/app-header-new.js +715 -0
  324. package/src/mock/carousel-items.js +57 -0
  325. package/src/mock/jest.fileMock.js +1 -0
  326. package/vite.config.js +28 -15
  327. package/src/components/SubComponents/FormInstance/index.stories.js +0 -8
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <container id="mainCookieContainer" class="hide">
2
+ <container id="mainCookieContainer">
3
3
  <row class="cookie-container">
4
4
  <column class="cookie-container__col">
5
5
  <h3 id="cookie_header" class="cookie-header hidden-on-xs">
@@ -18,7 +18,7 @@
18
18
  </div>
19
19
  </column>
20
20
  <!-- Cookie buttons displayed when not xs -->
21
- <column class="cookie-container__col hidden-on-xs">
21
+ <column class="cookie-container__col hidden-on-xs">
22
22
  <div class="cookie-buttons mt-md-3">
23
23
  <button
24
24
  id="moreBtn"
@@ -34,9 +34,9 @@
34
34
  id="accept_all"
35
35
  role="button"
36
36
  class="cookieBtn yellow hasIcon"
37
- style="order:1;"
37
+ style="order: 1"
38
38
  aria-label="Accept all cookies"
39
- @click="clickedCookie('accept'), fireGTM()"
39
+ @click="(clickedCookie('accept'), fireGTM())"
40
40
  >
41
41
  Accept all
42
42
  </button>
@@ -44,9 +44,9 @@
44
44
  id="reject_all"
45
45
  role="button"
46
46
  class="cookieBtn black hasIcon"
47
- style="order:2;"
47
+ style="order: 2"
48
48
  aria-label="Reject all cookies"
49
- @click="clickedCookie('reject'), fireGTM(), checkCookie()"
49
+ @click="(clickedCookie('reject'), fireGTM(), checkCookie())"
50
50
  >
51
51
  Reject all
52
52
  </button>
@@ -61,126 +61,155 @@
61
61
  <a
62
62
  id="acceptAllLink"
63
63
  href="#"
64
- @click="clickedCookie('accept'), fireGTM()"
64
+ @click="(clickedCookie('accept'), fireGTM())"
65
65
  >Accept all</a
66
66
  >
67
67
  <a
68
68
  id="rejectAllLink"
69
69
  href="#"
70
- @click="clickedCookie('reject'), fireGTM(), checkCookie()"
70
+ @click="(clickedCookie('reject'), fireGTM(), checkCookie())"
71
71
  >Reject all</a
72
72
  >
73
73
  </div>
74
74
  </row>
75
75
  </row>
76
76
  <!-- Modal -->
77
- <div v-if="showCookieModal" class="modal fade show" tabindex="-1" aria-modal="true" role="dialog" style="display: block;">
78
- <div class="modal-dialog">
79
- <div class="modal-content">
80
- <div class="modal-header">
81
- <div class="modal-heading-text">
82
- {{ cookieContent.modal.heading }}
83
- </div>
84
- <button type="button" class="btn-close" @click="showCookieModal = !showCookieModal" aria-label="close"></button>
85
- </div>
86
- <div class="modal-body">
87
- <fieldset>
88
- <row>
89
- <column>
90
- <h5>{{ cookieContent.modal.functional.heading }}</h5>
91
- </column>
92
- <column>
93
- <label for="modal1CB" class="option">
94
- Necessary<span class="visually-hidden">functional label</span>
95
- <input
96
- id="modal1CB"
97
- type="checkbox"
98
- value="functional"
99
- checked
100
- disabled
101
- />
102
- </label>
103
- </column>
104
- </row>
105
- <row>
106
- <column class="modal-description">
107
- {{cookieContent.modal.functional.description}}
108
- </column>
109
- </row>
110
- <hr />
111
- <row>
112
- <column>
113
- <h5>{{ cookieContent.modal.analytics.heading }}</h5>
114
- </column>
115
- <column>
116
- <label for="modal2CB" class="option">
117
- <span class="visually-hidden">analytics checkbox</span>
118
- <input
119
- id="modal2CB"
120
- type="checkbox"
121
- name="modal2CB"
122
- value="analytics"
123
- />
124
- </label>
125
- </column>
126
- </row>
127
- <row>
128
- <column class="modal-description">
129
- {{cookieContent.modal.analytics.description}}
130
- </column>
131
- </row>
132
- <hr />
133
- <row>
134
- <column>
135
- <h5>{{ cookieContent.modal.marketing.heading }}</h5>
136
- </column>
137
- <column text-align="right">
138
- <label for="modal3CB" class="option">
139
- <span class="visually-hidden">marketing checkbox</span>
140
- <input
141
- id="modal3CB"
142
- type="checkbox"
143
- name="modal3CB"
144
- value="marketing"
145
- />
146
- </label>
147
- </column>
148
- </row>
149
- <row>
150
- <column class="modal-description">
151
- {{cookieContent.modal.marketing.description}}
152
- </column>
153
- </row>
154
- </fieldset>
155
- </div>
156
- <div class="modal-footer">
157
- <button
158
- id="modal_save"
159
- type="button"
160
- role="button"
161
- class="cookieBtn yellow hasIcon"
162
- style="order:1;"
163
- aria-label="Save cookie settings"
164
- @click="clickedCookie('save'), fireGTM(), checkCookie(), showCookieModal = !showCookieModal"
165
- >
166
- Save
167
- </button>
168
- <button
169
- id="modal_accept"
170
- type="button"
171
- role="button"
172
- class="cookieBtn black hasIcon"
173
- style="order:2;"
174
- data-bs-dismiss="cookieModal"
175
- aria-label="Accept all cookies"
176
- @click="clickedCookie('accept'), fireGTM(), showCookieModal = !showCookieModal"
177
- >
178
- Accept all
179
- </button>
180
- </div>
181
- </div>
77
+ <b-modal
78
+ v-model="showCookieModal"
79
+ scrollable
80
+ @hidden="reset"
81
+ footer-border-variant="null"
82
+ no-header
83
+ size="md"
84
+ >
85
+ <template #default="{ close }">
86
+ <form ref="clearForm">
87
+ <container>
88
+ <row
89
+ ><column>
90
+ <div class="modal-heading">
91
+ {{ cookieContent.modal.heading }}
92
+ </div>
93
+ </column></row
94
+ >
95
+ <row>
96
+ <column>
97
+ <h5>{{ cookieContent.modal.functional.heading }}</h5>
98
+ </column>
99
+ <column>
100
+ <fieldset style="float: right">
101
+ <label for="modal1CB" class="option">
102
+ Necessary<span class="sr-only">functional label</span>
103
+ <input
104
+ id="modal1CB"
105
+ type="checkbox"
106
+ value="functional"
107
+ checked
108
+ disabled
109
+ @keyup.enter="(e) => e.target.click()"
110
+ />
111
+ </label>
112
+ </fieldset>
113
+ </column>
114
+ </row>
115
+ <row>
116
+ <column class="modal-description">{{
117
+ cookieContent.modal.functional.description
118
+ }}</column>
119
+ </row>
120
+ <hr />
121
+ <row>
122
+ <column>
123
+ <h5>{{ cookieContent.modal.analytics.heading }}</h5>
124
+ </column>
125
+ <column>
126
+ <fieldset style="float: right">
127
+ <label for="modal2CB" class="option"
128
+ ><span class="sr-only">analytics checkbox</span>
129
+ <input
130
+ id="modal2CB"
131
+ type="checkbox"
132
+ name="modal2CB"
133
+ value="analytics"
134
+ @keyup.enter="(e) => e.target.click()"
135
+ /></label>
136
+ </fieldset>
137
+ </column>
138
+ </row>
139
+ <row>
140
+ <column class="modal-description">{{
141
+ cookieContent.modal.analytics.description
142
+ }}</column>
143
+ </row>
144
+ <hr />
145
+ <row>
146
+ <column>
147
+ <h5>{{ cookieContent.modal.marketing.heading }}</h5>
148
+ </column>
149
+ <column>
150
+ <fieldset style="float: right">
151
+ <label for="modal3CB" class="option"
152
+ ><span class="sr-only">marketing checkbox</span>
153
+ <input
154
+ id="modal3CB"
155
+ type="checkbox"
156
+ name="modal3CB"
157
+ value="marketing"
158
+ @keyup.enter="(e) => e.target.click()"
159
+ /></label>
160
+ </fieldset>
161
+ </column>
162
+ </row>
163
+ <row>
164
+ <column class="modal-description">{{
165
+ cookieContent.modal.marketing.description
166
+ }}</column>
167
+ </row>
168
+ </container>
169
+ </form>
170
+ </template>
171
+
172
+ <template #footer="{ close }">
173
+ <div>
174
+ <button
175
+ id="modal_save"
176
+ type="button"
177
+ role="button"
178
+ class="cookieBtn yellow hasIcon"
179
+ style="order: 1"
180
+ aria-label="Save cookie settings"
181
+ @click="
182
+ () => {
183
+ clickedCookie('save')
184
+ fireGTM()
185
+ checkCookie()
186
+ close()
187
+ }
188
+ "
189
+ >
190
+ Save
191
+ </button>
192
+ <button
193
+ id="modal_accept"
194
+ type="button"
195
+ role="button"
196
+ class="cookieBtn black hasIcon"
197
+ style="order: 2"
198
+ data-bs-dismiss="cookieModal"
199
+ aria-label="Accept all cookies"
200
+ @click="
201
+ () => {
202
+ clickedCookie('accept')
203
+ fireGTM()
204
+ close()
205
+ }
206
+ "
207
+ >
208
+ Accept all
209
+ </button>
182
210
  </div>
183
- </div>
211
+ </template>
212
+ </b-modal>
184
213
  </container>
185
214
  </template>
186
215
 
@@ -189,23 +218,25 @@ import Container from './../../Containers/Container/index.vue'
189
218
  import Row from './../../Containers/Row/index.vue'
190
219
  import Column from './../../Containers/Column/index.vue'
191
220
  import { analyticsCookies, marketingCookies } from './Constants'
221
+ import { BModal } from 'bootstrap-vue-next'
192
222
 
193
223
  export default {
194
224
  name: 'Cookies',
195
225
  components: {
196
226
  Container,
197
227
  Row,
198
- Column
228
+ Column,
229
+ 'b-modal': BModal,
199
230
  },
200
231
  props: {
201
232
  cookieHeader: {
202
233
  type: String,
203
- default: 'Accept and Reject Cookies'
234
+ default: 'Accept and Reject Cookies',
204
235
  },
205
236
  cookieContent: {
206
237
  type: Object,
207
- default: () => {}
208
- }
238
+ default: () => {},
239
+ },
209
240
  },
210
241
  data() {
211
242
  return {
@@ -213,7 +244,7 @@ export default {
213
244
  analyticsCookies,
214
245
  marketingCookies,
215
246
  screenWidth: 0,
216
- showCookieModal: false
247
+ showCookieModal: false,
217
248
  }
218
249
  },
219
250
  computed: {
@@ -222,69 +253,67 @@ export default {
222
253
  },
223
254
  showCookie() {
224
255
  //Check first if cookies have been turned on in the environment variable
225
- if (process.env.SHOW_COOKIE === 'true') {
226
- return 'true'
227
- } else {
228
- return 'false'
229
- }
230
- }
256
+ return (this.$config
257
+ ? this.$config.public.showCookie
258
+ : process.env.SHOW_COOKIE) === false
259
+ ? false
260
+ : true
261
+ },
231
262
  },
232
263
  mounted() {
233
- // required, as unable to check localStorage until window loaded
234
- window.addEventListener('load', this.checkCookie())
235
264
  // detect screen size to display smaller content
236
265
  this.screenWidth = window.innerWidth
237
- this.$nextTick(() => {
238
- window.addEventListener('resize', this.onScreenResize())
239
- })
240
- this.onScreenResize()
266
+ this.updateScreenWidth()
267
+ // required, as unable to check localStorage until window loaded
268
+ this.checkCookie()
269
+ window.addEventListener('resize', this.updateScreenWidth)
241
270
  },
242
271
  unmounted() {
243
- window.removeEventListener('load', this.checkCookie())
272
+ window.removeEventListener('load', this.checkCookie)
273
+ window.removeEventListener('resize', this.updateScreenWidth)
244
274
  },
245
275
  methods: {
246
- onScreenResize() {
247
- window.addEventListener('resize', () => {
248
- this.updateScreenWidth()
249
- })
250
- },
251
276
  updateScreenWidth() {
252
277
  this.screenWidth = window.innerWidth
253
278
  },
254
279
  reset() {
255
- this.$emit('input', null)
280
+ this.$refs.clearForm.reset()
281
+ //this.$emit('input', null)
256
282
  },
283
+
257
284
  //function to set cookies based on response in overlay or modal
258
285
  clickedCookie: (clickResponse) => {
259
286
  const analyticsCookieName = 'analyticsCookies'
260
287
  const marketingCookieName = 'marketingCookies'
261
288
  var cookieElement = document.getElementById('mainCookieContainer')
262
- if (clickResponse === 'accept') {
263
- localStorage.setItem('cookieBannerDisplayed', 'false')
264
- localStorage.setItem(analyticsCookieName, 'granted')
265
- localStorage.setItem(marketingCookieName, 'granted')
266
- cookieElement.classList.add('hide')
267
- cookieElement.classList.remove('show')
268
- } else if (clickResponse === 'save') {
269
- const acb = document.getElementById('modal2CB')
270
- const mcb = document.getElementById('modal3CB')
271
- localStorage.setItem('cookieBannerDisplayed', 'false')
272
- if (acb.checked) {
289
+
290
+ if (cookieElement) {
291
+ localStorage.setItem('cookieBannerDisplayed', 'true') // Mark the banner as displayed
292
+
293
+ if (clickResponse === 'accept') {
294
+ // localStorage.setItem('cookieBannerDisplayed', 'false')
273
295
  localStorage.setItem(analyticsCookieName, 'granted')
274
- } else {
275
- localStorage.setItem(analyticsCookieName, 'denied')
276
- }
277
- if (mcb.checked) {
278
296
  localStorage.setItem(marketingCookieName, 'granted')
297
+ } else if (clickResponse === 'save') {
298
+ // localStorage.setItem('cookieBannerDisplayed', 'false')
299
+ const acb = document.getElementById('modal2CB')
300
+ const mcb = document.getElementById('modal3CB')
301
+
302
+ localStorage.setItem(
303
+ analyticsCookieName,
304
+ acb.checked ? 'granted' : 'denied',
305
+ )
306
+ localStorage.setItem(
307
+ marketingCookieName,
308
+ mcb.checked ? 'granted' : 'denied',
309
+ )
279
310
  } else {
311
+ // clickResponse === 'reject'
312
+ // localStorage.setItem('cookieBannerDisplayed', 'false')
313
+ localStorage.setItem(analyticsCookieName, 'denied')
280
314
  localStorage.setItem(marketingCookieName, 'denied')
281
315
  }
282
- cookieElement.classList.add('hide')
283
- cookieElement.classList.remove('show')
284
- } else {
285
- localStorage.setItem('cookieBannerDisplayed', 'false')
286
- localStorage.setItem(analyticsCookieName, 'denied')
287
- localStorage.setItem(marketingCookieName, 'denied')
316
+
288
317
  cookieElement.classList.add('hide')
289
318
  cookieElement.classList.remove('show')
290
319
  }
@@ -296,25 +325,25 @@ export default {
296
325
  let aConsent = localStorage.getItem('analyticsCookies')
297
326
  let mConsent = localStorage.getItem('marketingCookies')
298
327
  let attrs1 = {
299
- ad_storage: mConsent
328
+ ad_storage: mConsent,
300
329
  }
301
330
  // fire the event - marketing
302
331
  this.$gtm.push({
303
332
  event: 'gtm_consent_update',
304
- ...attrs1
333
+ ...attrs1,
305
334
  })
306
335
  let attrs2 = {
307
- analytics_storage: aConsent
336
+ analytics_storage: aConsent,
308
337
  }
309
338
  // fire the event - analytics
310
339
  this.$gtm.push({
311
340
  event: 'gtm_consent_update',
312
- ...attrs2
341
+ ...attrs2,
313
342
  })
314
343
  }
315
344
  },
316
345
  //function to remove from local storage based on partial match - called from checkCookie
317
- removeLocalStorage: function(cookieName) {
346
+ removeLocalStorage: function (cookieName) {
318
347
  var removeArr = []
319
348
  for (var i = 0; i < localStorage.length; i++) {
320
349
  var x = localStorage.key(i)
@@ -327,15 +356,16 @@ export default {
327
356
  })
328
357
  },
329
358
  // function to remove cookies according to response from overlay or modal
330
- checkCookie: function() {
331
- var cookieElement = document.getElementById('mainCookieContainer')
332
- if (
333
- this.showCookie === 'true' &&
334
- !localStorage.getItem('cookieBannerDisplayed')
335
- ) {
359
+ checkCookie: function () {
360
+ const cookieElement = document.getElementById('mainCookieContainer')
361
+ const bannerDisplayed = localStorage.getItem('cookieBannerDisplayed')
362
+
363
+ if (this.showCookie && bannerDisplayed !== 'true') {
364
+ // Show the banner if it's not been displayed yet
336
365
  cookieElement.classList.remove('hide')
337
366
  cookieElement.classList.add('show')
338
367
  } else {
368
+ // Hide the banner if user has already made a selection
339
369
  // need to remove cookies in rejected categories, but first hide cookie overlay
340
370
  cookieElement.classList.add('hide')
341
371
  cookieElement.classList.remove('show')
@@ -429,11 +459,21 @@ export default {
429
459
  })
430
460
  }
431
461
  }
432
- }
433
- }
462
+ },
463
+ },
434
464
  }
435
465
  </script>
436
466
 
437
467
  <style lang="scss" scoped>
468
+ /* Removed scoped */
438
469
  @import './styles';
470
+ :deep(.modal-heading) {
471
+ font-size: 26px;
472
+ font-weight: 700;
473
+ line-height: 30px;
474
+ letter-spacing: 0px;
475
+ margin-bottom: 16px;
476
+ display: flex;
477
+ justify-content: flex-end !important;
478
+ }
439
479
  </style>
@@ -203,65 +203,65 @@ h3.cookie-header {
203
203
  }
204
204
  }
205
205
 
206
- .modal-content {
207
- border: none !important;
208
- fieldset {
209
- .option {
210
- margin-bottom: 24px;
211
- display: flex;
212
- margin-right: 0px;
213
- padding-left: 24px;
214
- float: right;
206
+ // .modal-content {
207
+ // border: none !important;
208
+ // fieldset {
209
+ // .option {
210
+ // margin-bottom: 24px;
211
+ // display: flex;
212
+ // margin-right: 0px;
213
+ // padding-left: 24px;
214
+ // float: right;
215
215
 
216
- @media screen and (max-width: 600px) {
217
- flex-basis: 100%;
218
- }
216
+ // @media screen and (max-width: 600px) {
217
+ // flex-basis: 100%;
218
+ // }
219
219
 
220
- input[type='checkbox'] {
221
- height: 24px;
222
- border: 1px solid $gray;
223
- width: 24px;
224
- margin-left: 16px;
225
- margin-right: 16px;
226
- border-radius: 4px;
227
- }
220
+ // input[type='checkbox'] {
221
+ // height: 24px;
222
+ // border: 1px solid $gray;
223
+ // width: 24px;
224
+ // margin-left: 16px;
225
+ // margin-right: 16px;
226
+ // border-radius: 4px;
227
+ // }
228
228
 
229
- label {
230
- font-size: 16px;
231
- font-weight: 400;
232
- vertical-align: middle;
233
- position: relative;
234
- margin-left: 24px;
235
- }
236
- }
229
+ // label {
230
+ // font-size: 16px;
231
+ // font-weight: 400;
232
+ // vertical-align: middle;
233
+ // position: relative;
234
+ // margin-left: 24px;
235
+ // }
236
+ // }
237
237
 
238
- .modal-description {
239
- margin-right: 100px;
240
- }
241
- }
242
- }
238
+ // .modal-description {
239
+ // margin-right: 100px;
240
+ // }
241
+ // }
242
+ // }
243
243
 
244
- .modal-content h5 {
245
- font-weight: 700;
246
- font-size: 20px;
247
- line-height: 24px;
248
- font-style: normal;
249
- color: $black;
250
- }
244
+ // .modal-content h5 {
245
+ // font-weight: 700;
246
+ // font-size: 20px;
247
+ // line-height: 24px;
248
+ // font-style: normal;
249
+ // color: $black;
250
+ // }
251
251
 
252
- .modal {
253
- background: rgba(0,0,0,0.5)
254
- }
252
+ // .modal {
253
+ // background: rgba(0,0,0,0.5)
254
+ // }
255
255
 
256
- .modal-backdrop {
257
- display: none;
258
- }
256
+ // .modal-backdrop {
257
+ // display: none;
258
+ // }
259
259
 
260
- .modal-heading-text {
261
- font-size: 26px;
262
- font-weight: 700;
263
- line-height: 32px;
264
- letter-spacing: 0px;
265
- margin-bottom: 0px;
266
- margin-top: 0px;
267
- }
260
+ // .modal-heading-text {
261
+ // font-size: 26px;
262
+ // font-weight: 700;
263
+ // line-height: 32px;
264
+ // letter-spacing: 0px;
265
+ // margin-bottom: 0px;
266
+ // margin-top: 0px;
267
+ // }