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

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 +172 -0
  26. package/src/components/Containers/HomepageHeader/index.vue +39 -38
  27. package/src/components/Containers/HomepageHeaderNew/index.stories.js +76 -0
  28. package/src/components/Containers/HomepageHeaderNew/index.vue +242 -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 +642 -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
@@ -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: {
@@ -221,70 +252,65 @@ export default {
221
252
  return this.item === null
222
253
  },
223
254
  showCookie() {
224
- //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
- }
255
+ // Default to false, but set to true when SHOW_COOKIE is explicitly "true"
256
+ return this.$config?.public?.showCookie === "true" || process.env.SHOW_COOKIE === "true";
230
257
  }
258
+
231
259
  },
232
260
  mounted() {
233
- // required, as unable to check localStorage until window loaded
234
- window.addEventListener('load', this.checkCookie())
235
261
  // detect screen size to display smaller content
236
262
  this.screenWidth = window.innerWidth
237
- this.$nextTick(() => {
238
- window.addEventListener('resize', this.onScreenResize())
239
- })
240
- this.onScreenResize()
263
+ this.updateScreenWidth()
264
+ // required, as unable to check localStorage until window loaded
265
+ this.checkCookie()
266
+ window.addEventListener('resize', this.updateScreenWidth)
241
267
  },
242
268
  unmounted() {
243
- window.removeEventListener('load', this.checkCookie())
269
+ window.removeEventListener('load', this.checkCookie)
270
+ window.removeEventListener('resize', this.updateScreenWidth)
244
271
  },
245
272
  methods: {
246
- onScreenResize() {
247
- window.addEventListener('resize', () => {
248
- this.updateScreenWidth()
249
- })
250
- },
251
273
  updateScreenWidth() {
252
274
  this.screenWidth = window.innerWidth
253
275
  },
254
276
  reset() {
255
- this.$emit('input', null)
277
+ this.$refs.clearForm.reset()
278
+ //this.$emit('input', null)
256
279
  },
280
+
257
281
  //function to set cookies based on response in overlay or modal
258
282
  clickedCookie: (clickResponse) => {
259
283
  const analyticsCookieName = 'analyticsCookies'
260
284
  const marketingCookieName = 'marketingCookies'
261
285
  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) {
286
+
287
+ if (cookieElement) {
288
+ localStorage.setItem('cookieBannerDisplayed', 'true') // Mark the banner as displayed
289
+
290
+ if (clickResponse === 'accept') {
291
+ // localStorage.setItem('cookieBannerDisplayed', 'false')
273
292
  localStorage.setItem(analyticsCookieName, 'granted')
274
- } else {
275
- localStorage.setItem(analyticsCookieName, 'denied')
276
- }
277
- if (mcb.checked) {
278
293
  localStorage.setItem(marketingCookieName, 'granted')
294
+ } else if (clickResponse === 'save') {
295
+ // localStorage.setItem('cookieBannerDisplayed', 'false')
296
+ const acb = document.getElementById('modal2CB')
297
+ const mcb = document.getElementById('modal3CB')
298
+
299
+ localStorage.setItem(
300
+ analyticsCookieName,
301
+ acb.checked ? 'granted' : 'denied',
302
+ )
303
+ localStorage.setItem(
304
+ marketingCookieName,
305
+ mcb.checked ? 'granted' : 'denied',
306
+ )
279
307
  } else {
308
+ // clickResponse === 'reject'
309
+ // localStorage.setItem('cookieBannerDisplayed', 'false')
310
+ localStorage.setItem(analyticsCookieName, 'denied')
280
311
  localStorage.setItem(marketingCookieName, 'denied')
281
312
  }
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')
313
+
288
314
  cookieElement.classList.add('hide')
289
315
  cookieElement.classList.remove('show')
290
316
  }
@@ -296,25 +322,25 @@ export default {
296
322
  let aConsent = localStorage.getItem('analyticsCookies')
297
323
  let mConsent = localStorage.getItem('marketingCookies')
298
324
  let attrs1 = {
299
- ad_storage: mConsent
325
+ ad_storage: mConsent,
300
326
  }
301
327
  // fire the event - marketing
302
328
  this.$gtm.push({
303
329
  event: 'gtm_consent_update',
304
- ...attrs1
330
+ ...attrs1,
305
331
  })
306
332
  let attrs2 = {
307
- analytics_storage: aConsent
333
+ analytics_storage: aConsent,
308
334
  }
309
335
  // fire the event - analytics
310
336
  this.$gtm.push({
311
337
  event: 'gtm_consent_update',
312
- ...attrs2
338
+ ...attrs2,
313
339
  })
314
340
  }
315
341
  },
316
342
  //function to remove from local storage based on partial match - called from checkCookie
317
- removeLocalStorage: function(cookieName) {
343
+ removeLocalStorage: function (cookieName) {
318
344
  var removeArr = []
319
345
  for (var i = 0; i < localStorage.length; i++) {
320
346
  var x = localStorage.key(i)
@@ -327,15 +353,16 @@ export default {
327
353
  })
328
354
  },
329
355
  // 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
- ) {
356
+ checkCookie: function () {
357
+ const cookieElement = document.getElementById('mainCookieContainer')
358
+ const bannerDisplayed = localStorage.getItem('cookieBannerDisplayed')
359
+
360
+ if (this.showCookie && bannerDisplayed !== 'true') {
361
+ // Show the banner if it's not been displayed yet
336
362
  cookieElement.classList.remove('hide')
337
363
  cookieElement.classList.add('show')
338
364
  } else {
365
+ // Hide the banner if user has already made a selection
339
366
  // need to remove cookies in rejected categories, but first hide cookie overlay
340
367
  cookieElement.classList.add('hide')
341
368
  cookieElement.classList.remove('show')
@@ -429,11 +456,21 @@ export default {
429
456
  })
430
457
  }
431
458
  }
432
- }
433
- }
459
+ },
460
+ },
434
461
  }
435
462
  </script>
436
463
 
437
464
  <style lang="scss" scoped>
465
+ /* Removed scoped */
438
466
  @import './styles';
467
+ :deep(.modal-heading) {
468
+ font-size: 26px;
469
+ font-weight: 700;
470
+ line-height: 30px;
471
+ letter-spacing: 0px;
472
+ margin-bottom: 16px;
473
+ display: flex;
474
+ justify-content: flex-end !important;
475
+ }
439
476
  </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
+ // }