@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
@@ -15,10 +15,10 @@
15
15
  ? isSelectable && selected
16
16
  ? 'true'
17
17
  : 'false'
18
- : null
18
+ : false
19
19
  "
20
20
  :aria-expanded="
21
- isExpandable ? (isSelectable && selected ? 'true' : 'false') : null
21
+ isExpandable ? (isSelectable && selected ? 'true' : 'false') : false
22
22
  "
23
23
  :data-href="link"
24
24
  @click="cardClicked($event)"
@@ -33,8 +33,8 @@
33
33
  [`card-grid-item__control-radio`]:
34
34
  isSelectable && buttonRole === 'radio',
35
35
  [`card-grid-item__selected-radio`]:
36
- selected && buttonRole === 'radio'
37
- }
36
+ selected && buttonRole === 'radio',
37
+ },
38
38
  ]"
39
39
  >
40
40
  <slot name="cardTop"></slot>
@@ -52,7 +52,7 @@
52
52
  :icon-is-bordered="iconIsBordered"
53
53
  :class="{
54
54
  [`text-left`]: iconPosition === 'top-left',
55
- rtl: rtl
55
+ rtl: rtl,
56
56
  }"
57
57
  >
58
58
  </card-grid-item-icon>
@@ -63,18 +63,20 @@
63
63
  {
64
64
  rtl: rtl,
65
65
  [`card-grid-item__caretContainer__control-radio`]:
66
- isSelectable && buttonRole === 'radio'
67
- }
66
+ isSelectable && buttonRole === 'radio',
67
+ },
68
68
  ]"
69
69
  >
70
70
  <b-card-title
71
71
  v-if="cardHeaderTitle !== null && cardHeaderTitle !== undefined"
72
- :title-tag="headerTag"
72
+ :tag="headerTag"
73
73
  class="card-grid-item__header"
74
74
  :class="{
75
75
  [`card-grid-item__header--${headerSize}`]: true,
76
- [`card-grid-item__header--align-${headerTextAlign}`]: true
76
+ [`card-grid-item__header--align-${headerTextAlign}`]: true,
77
+ 'card-grid-item__header--cursor': isCardTitleSelectable,
77
78
  }"
79
+ @click="cardTitleClicked($event)"
78
80
  >
79
81
  <span>{{ cardHeaderTitle }}</span> &nbsp;
80
82
  <card-grid-item-caret
@@ -120,7 +122,7 @@
120
122
  class="d-inline card-grid-item-icon--top-right"
121
123
  :class="{
122
124
  [`text-right`]: iconPosition === 'top-right',
123
- rtl: rtl
125
+ rtl: rtl,
124
126
  }"
125
127
  :rtl="rtl"
126
128
  >
@@ -132,7 +134,7 @@
132
134
  text-tag="div"
133
135
  class="card-grid-item__body"
134
136
  :class="{
135
- rtl: rtl
137
+ rtl: rtl,
136
138
  }"
137
139
  >
138
140
  <div
@@ -140,7 +142,7 @@
140
142
  :class="{
141
143
  [descriptionClass]: !!descriptionClass,
142
144
  [`card-grid-item__description--withIcon`]:
143
- iconPosition === 'before-description'
145
+ iconPosition === 'before-description',
144
146
  }"
145
147
  >
146
148
  <card-grid-item-icon
@@ -179,7 +181,7 @@
179
181
  v-if="caretPosition === 'bottom'"
180
182
  class="card-grid-item__caretContainer card-grid-item__caretContainer--bottom"
181
183
  :class="{
182
- rtl: !rtl
184
+ rtl: !rtl,
183
185
  }"
184
186
  >
185
187
  <card-grid-item-caret :caret="caret" :rtl="rtl" />
@@ -194,52 +196,60 @@
194
196
  import CardGridItemIcon from './card-grid-item-icon.vue'
195
197
  import CardGridItemCaret from './card-grid-item-caret.vue'
196
198
  import RichText from '../../Paragraphs/RichText/index.vue'
197
- import parseISO from 'date-fns/parseISO'
199
+ import { parseISO } from 'date-fns'
198
200
  import { isAbsoluteUrl, isGovSite } from '../../../../lib/utility'
199
201
  import { BCard, BCardBody, BCardTitle, BCardText } from 'bootstrap-vue-next'
200
202
 
201
203
  export default {
202
204
  name: 'CardGridItem',
203
- components: { CardGridItemIcon, CardGridItemCaret, RichText, BCard, BCardBody, BCardTitle, BCardText },
205
+ components: {
206
+ CardGridItemIcon,
207
+ CardGridItemCaret,
208
+ RichText,
209
+ BCard,
210
+ BCardBody,
211
+ BCardTitle,
212
+ BCardText,
213
+ },
204
214
  props: {
205
215
  backgroundVariant: {
206
216
  type: String,
207
217
  default: 'white',
208
218
  validator: (value) =>
209
- ['white', 'transparent', 'light'].indexOf(value) >= 0
219
+ ['white', 'transparent', 'light'].indexOf(value) >= 0,
210
220
  },
211
221
  imageSrc: {
212
222
  type: String,
213
- default: null
223
+ default: null,
214
224
  },
215
225
  imageAlt: {
216
226
  type: String,
217
- default: null
227
+ default: null,
218
228
  },
219
229
  description: {
220
230
  type: String,
221
- default: null
231
+ default: null,
222
232
  },
223
233
  stripDescriptionHtml: {
224
- type: Boolean
234
+ type: Boolean,
225
235
  },
226
236
  descriptionClass: {
227
237
  type: String,
228
- default: ''
238
+ default: '',
229
239
  },
230
240
  glyphSrc: {
231
241
  type: [Object, String],
232
- default: null
242
+ default: null,
233
243
  },
234
244
  glyphIconComponent: {
235
245
  type: String,
236
- default: null
246
+ default: null,
237
247
  },
238
248
  iconSize: {
239
249
  type: String,
240
250
  default: 'small',
241
251
  validator: (value) =>
242
- ['xsmall', 'small', 'medium', 'large'].indexOf(value) >= 0
252
+ ['xsmall', 'small', 'medium', 'large'].indexOf(value) >= 0,
243
253
  },
244
254
  iconPosition: {
245
255
  type: String,
@@ -250,108 +260,113 @@ export default {
250
260
  'top-left',
251
261
  'top-right',
252
262
  'after-title',
253
- 'before-description'
254
- ].indexOf(value) >= 0
263
+ 'before-description',
264
+ ].indexOf(value) >= 0,
255
265
  },
256
266
  iconIsBordered: {
257
267
  type: Boolean,
258
- default: true
268
+ default: true,
259
269
  },
260
270
  showDivider: {
261
- type: Boolean
271
+ type: Boolean,
262
272
  },
263
273
  cardHeaderTitle: {
264
274
  type: String,
265
- default: null
275
+ default: null,
266
276
  },
267
277
  invertOnSelectBackground: {
268
278
  type: String,
269
279
  default: 'none',
270
- validator: (value) => ['none', 'yellow', 'black'].indexOf(value) >= 0
280
+ validator: (value) => ['none', 'yellow', 'black'].indexOf(value) >= 0,
271
281
  },
272
282
  borderOnSelectBackground: {
273
283
  type: String,
274
284
  default: 'none',
275
285
  validator: (value) =>
276
- ['none', 'yellow', 'black', 'blue'].indexOf(value) >= 0
286
+ ['none', 'yellow', 'black', 'blue'].indexOf(value) >= 0,
277
287
  },
278
288
  rtl: {
279
289
  type: Boolean,
280
- default: false
290
+ default: false,
281
291
  },
282
292
  headerSize: {
283
293
  type: String,
284
294
  default: 'custom',
285
295
  validator: (value) =>
286
296
  ['medium', 'large', 'extra-large', 'extra-2x-large', 'custom'].indexOf(
287
- value
288
- ) >= 0
297
+ value,
298
+ ) >= 0,
289
299
  },
290
300
  headerTextAlign: {
291
301
  type: String,
292
302
  default: 'left',
293
- validator: (value) => ['left', 'center', 'right'].indexOf(value) >= 0
303
+ validator: (value) => ['left', 'center', 'right'].indexOf(value) >= 0,
294
304
  },
295
305
  headerTag: {
296
306
  type: String,
297
307
  required: false,
298
- default: 'h3'
308
+ default: 'h3',
299
309
  },
300
310
  caret: {
301
311
  type: String,
302
312
  default: undefined,
303
313
  validator: (value) =>
304
- ['down', 'up', 'right', 'left', 'external'].indexOf(value) >= 0
314
+ ['down', 'up', 'right', 'left', 'external'].indexOf(value) >= 0,
305
315
  },
306
316
  caretPosition: {
307
317
  type: String,
308
318
  default: 'top',
309
- validator: (value) => ['top', 'bottom', 'after-title'].indexOf(value) >= 0
319
+ validator: (value) =>
320
+ ['top', 'bottom', 'after-title'].indexOf(value) >= 0,
310
321
  },
311
322
  cardPadding: {
312
323
  type: String,
313
324
  default: 'none',
314
325
  validator: (value) =>
315
- ['none', 'xsmall', 'small', 'medium', 'large'].indexOf(value) >= 0
326
+ ['none', 'xsmall', 'small', 'medium', 'large'].indexOf(value) >= 0,
316
327
  },
317
328
  borderType: {
318
329
  type: String,
319
330
  default: 'none',
320
331
  validator: (value) =>
321
- ['none', 'thin', 'shadow', 'thick', 'dark'].indexOf(value) >= 0
332
+ ['none', 'thin', 'shadow', 'thick', 'dark'].indexOf(value) >= 0,
322
333
  },
323
334
  cardTextAlign: {
324
335
  type: String,
325
- default: 'left'
336
+ default: 'left',
326
337
  },
327
338
  disableSelect: {
328
339
  type: Boolean,
329
- default: false
340
+ default: false,
330
341
  },
331
342
  pillText: {
332
343
  type: String,
333
- default: ''
344
+ default: '',
334
345
  },
335
346
  buttonRole: {
336
347
  type: String,
337
- default: 'link'
348
+ default: 'link',
338
349
  },
339
350
  isSelected: {
340
351
  type: Boolean,
341
- default: false
352
+ default: false,
342
353
  },
343
354
  isExpandable: {
344
355
  type: Boolean,
345
- default: false
356
+ default: false,
346
357
  },
347
358
  link: {
348
359
  type: [String, Boolean],
349
- default: false
360
+ default: false,
350
361
  },
351
362
  taxonomies: {
352
363
  type: Object,
353
- default: () => {}
354
- }
364
+ default: () => {},
365
+ },
366
+ isCardTitleSelectable: {
367
+ type: Boolean,
368
+ default: false,
369
+ },
355
370
  },
356
371
  data: () => ({
357
372
  isSelectable: false,
@@ -361,7 +376,7 @@ export default {
361
376
  isMobileView: false,
362
377
  isTabletView: false,
363
378
  selected: false,
364
- isAbsoluteUrl
379
+ isAbsoluteUrl,
365
380
  }),
366
381
  computed: {
367
382
  cardClass() {
@@ -388,12 +403,12 @@ export default {
388
403
  [`card-grid-item__card--border-${this.borderType}`]: true,
389
404
  [`card-grid-item__card--bg-${this.backgroundVariant}`]: true,
390
405
  [`card-grid-item__card--select-${this.buttonRole}`]: true,
391
- [`card-grid-item__card--align-${this.cardTextAlign}`]: true
406
+ [`card-grid-item__card--align-${this.cardTextAlign}`]: true,
392
407
  }
393
408
  },
394
409
  urlHostname() {
395
410
  return window.location.protocol + '//' + window.location.host
396
- }
411
+ },
397
412
  },
398
413
  mounted() {
399
414
  this.selected = this.isSelected
@@ -416,10 +431,16 @@ export default {
416
431
  if (this.isSelectable) {
417
432
  this.parentGrid.cardSelected(this, ev)
418
433
  }
434
+
419
435
  if (this.$gtm) {
420
436
  this.fireGTM()
421
437
  }
422
438
  },
439
+ cardTitleClicked(ev) {
440
+ if (this.isCardTitleSelectable) {
441
+ this.parentGrid.cardTitleSelected(this, ev)
442
+ }
443
+ },
423
444
  getParentGridItem() {
424
445
  let counter = 0
425
446
  const maxParentDepth = 10
@@ -456,8 +477,8 @@ export default {
456
477
  if (theEl && theEl.length > 0) {
457
478
  var content = {
458
479
  content: this.$diffInDays(
459
- parseISO(theEl[0]?.componentOptions?.propsData?.card?.created)
460
- )
480
+ parseISO(theEl[0]?.componentOptions?.propsData?.card?.created),
481
+ ),
461
482
  }
462
483
  }
463
484
  if (this.$gtm) {
@@ -472,43 +493,46 @@ export default {
472
493
  label: this.cardHeaderTitle,
473
494
  data: linkURL,
474
495
  ...content,
475
- ...this.taxonomies
496
+ ...this.taxonomies,
476
497
  }
477
498
  // fire the default event
478
499
  this.$gtm.push({
479
500
  event: 'custom.interaction.tile.click',
480
501
  group: this?.parentGrid?.title,
481
- ...attrs
502
+ ...attrs,
482
503
  })
483
504
  if (this.pillText === 'News') {
484
505
  this.$gtm.push({
485
506
  event: 'custom.interaction.news.click',
486
507
  group: 'News',
487
- ...attrs
508
+ ...attrs,
488
509
  })
489
510
  }
490
511
  if (this.pillText === 'Event') {
491
512
  this.$gtm.push({
492
513
  event: 'custom.interaction.event.click',
493
514
  group: 'Event',
494
- ...attrs
515
+ ...attrs,
495
516
  })
496
517
  }
497
518
  if (this.pillText === 'Safety alert') {
498
519
  this.$gtm.push({
499
520
  event: 'custom.interaction.safety.click',
500
521
  group: 'Safety alert',
501
- ...attrs
522
+ ...attrs,
502
523
  })
503
524
  }
504
525
  if (
505
526
  (this.link,
506
- this.isAbsoluteUrl(this.link) && process.env.CARETAKER === 'false')
527
+ this.isAbsoluteUrl(this.link) &&
528
+ (this.$config
529
+ ? this.$config.public.caretaker
530
+ : process.env.CARETAKER) === 'false')
507
531
  ) {
508
532
  this.$gtm.push({
509
533
  event: 'custom.interaction.outboundlink',
510
534
  category: this.cardHeaderTitle,
511
- label: this.link
535
+ label: this.link,
512
536
  })
513
537
  }
514
538
  }
@@ -517,16 +541,18 @@ export default {
517
541
  this.link &&
518
542
  this.isAbsoluteUrl(this.link) &&
519
543
  isGovSite(this.link) &&
520
- process.env.CARETAKER === 'true'
544
+ (this.$config
545
+ ? this.$config.public.caretaker
546
+ : process.env.CARETAKER) === 'true'
521
547
  ) {
522
548
  this.$gtm.push({
523
549
  event: 'custom.interaction.outboundlink',
524
550
  category: this.cardHeaderTitle,
525
- label: this.link
551
+ label: this.link,
526
552
  })
527
553
  }
528
- }
529
- }
554
+ },
555
+ },
530
556
  }
531
557
  </script>
532
558
 
@@ -839,6 +865,10 @@ export default {
839
865
  &--align-right {
840
866
  direction: rtl;
841
867
  }
868
+
869
+ &--cursor {
870
+ cursor: pointer;
871
+ }
842
872
  }
843
873
  }
844
874
 
@@ -0,0 +1,30 @@
1
+ import CarouselComponent from './index.vue'
2
+ import { mockCarouselItems } from '../../../mock/carousel-items'
3
+
4
+ export default {
5
+ title: 'Website-Redesign/Carousel',
6
+ component: CarouselComponent,
7
+ data() {
8
+ return {
9
+ mockCarouselItems
10
+ }
11
+ },
12
+ args: {
13
+ carouselItems: mockCarouselItems,
14
+ storybook: true
15
+ },
16
+
17
+ }
18
+
19
+ const DefaultCarousel = (args) => ({
20
+ components: { CarouselComponent },
21
+ setup() {
22
+ return { args }
23
+ },
24
+ template: `<div style="width: 50%; height: auto;">
25
+ <h2>Carousel Component</h2>
26
+ <carousel-component v-bind="args"></carousel-component>
27
+ </div>`
28
+ })
29
+
30
+ export const Default = DefaultCarousel.bind({})
@@ -0,0 +1,165 @@
1
+ <template>
2
+ <div>
3
+ <b-carousel
4
+ id="carousel-1"
5
+ v-model="slide"
6
+ interval=0
7
+ controls
8
+ indicators
9
+ keyboard
10
+ background="#ababab"
11
+ >
12
+ <b-carousel-slide
13
+ v-for="item in filteredCarouselItems"
14
+ :key="item.id"
15
+
16
+ :img-src="item.image"
17
+ @click.prevent="handleClick(item.link)"
18
+ >
19
+ <h4>{{ item.content}}</h4>
20
+ </b-carousel-slide>
21
+ </b-carousel>
22
+ </div>
23
+ </template>
24
+
25
+ <script>
26
+ import { BCarousel, BCarouselSlide } from 'bootstrap-vue-next'
27
+ import { isAbsoluteUrl, navigateToPath } from '../../../../lib/utility'
28
+
29
+ export default {
30
+ name: 'CarouselComponent',
31
+ data() {
32
+ return {
33
+ slide: 0,
34
+ }
35
+ },
36
+ components: {
37
+ BCarousel,
38
+ BCarouselSlide
39
+ },
40
+ props: {
41
+ carouselItems: {
42
+ type: Array,
43
+ required: true,
44
+ default: () => [],
45
+ },
46
+ storybook: {
47
+ type: Boolean,
48
+ default: false
49
+ }
50
+ },
51
+ computed: {
52
+ filteredCarouselItems() {
53
+
54
+ var todayDate = new Date()
55
+
56
+ for (var i = 0, length = this.carouselItems.length; i < length; i++) {
57
+ if (this.carouselItems[i].favorite === 'Yes') {
58
+ this.carouselItems[i].active = 'Yes'
59
+ } else if (new Date(this.carouselItems[i].dateStart).valueOf() <= todayDate.valueOf()) {
60
+ if (new Date(this.carouselItems[i].dateEnd).valueOf() >= todayDate.valueOf()) {
61
+ this.carouselItems[i].active = 'Yes'
62
+ }
63
+ }
64
+ }
65
+
66
+ let filtered = this.carouselItems.filter(e =>
67
+ e.active === 'Yes');
68
+ return filtered
69
+ }
70
+ },
71
+ methods: {
72
+
73
+ handleClick(link) {
74
+ if (link) {
75
+ if (isAbsoluteUrl(link)) {
76
+ navigateToPath(link, true)
77
+ } else {
78
+ if (this.storybook) {
79
+ alert('This link will go to: ' + link)
80
+ } else {
81
+ this.$router.push({ path: link })
82
+ }
83
+ }
84
+ }
85
+ },
86
+
87
+ formatDate(date) {
88
+ return [
89
+ date.getFullYear(),
90
+ ('0' + date.getDate()).slice(-2),
91
+ ('0' + (date.getMonth() + 1)).slice(-2)
92
+ ].join('-')
93
+ }
94
+ }
95
+ }
96
+ </script>
97
+
98
+ <style lang="scss" scoped>
99
+ @import '../../../includes/scss/all';
100
+ </style>
101
+
102
+ <style>
103
+ .carousel {
104
+ position: relative;
105
+ padding-bottom: 7rem;
106
+ }
107
+
108
+ .carousel-inner {
109
+ overflow: visible;
110
+ }
111
+
112
+ .carousel-indicators {
113
+ padding-bottom: 3rem;
114
+ float: right;
115
+ right: 2% !important;
116
+ width: 20%;
117
+ justify-content: end;
118
+ margin-left: 80%;
119
+ margin-right: 0;
120
+ }
121
+
122
+ .carousel-indicators button {
123
+ width: 10px !important;
124
+ height: 10px !important;
125
+ border-radius: 50% !important;
126
+ background-color: black !important;
127
+ }
128
+
129
+ .carousel-indicators button:focus,
130
+ .carousel-indicators button:active {
131
+ outline: none !important;
132
+ box-shadow: none;
133
+
134
+ }
135
+
136
+ .carousel-caption {
137
+ color: black;
138
+ top: 100%;
139
+ left: 0;
140
+ right: 20%;
141
+ text-align: left;
142
+ text-decoration: underline;
143
+ }
144
+
145
+ .carousel-control-next,
146
+ .carousel-control-prev {
147
+ bottom: 7rem;
148
+ }
149
+
150
+ .carousel-control-prev:focus,
151
+ .carousel-control-prev:active,
152
+ .carousel-control-next:focus,
153
+ .carousel-control-next:active {
154
+ outline: none !important;
155
+ box-shadow: none;
156
+ }
157
+
158
+ .carousel-control-prev-icon,
159
+ .carousel-control-next-icon {
160
+ height: 50px !important;
161
+ width: 50px !important;
162
+ outline:none !important;
163
+ }
164
+
165
+ </style>