@worksafevictoria/wcl7.5 1.1.0-beta.7 → 1.1.0-beta.70

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 (311) hide show
  1. package/.env +1 -3
  2. package/.storybook/preview.js +2 -2
  3. package/README.md +4 -4
  4. package/ci/build/build_validation.yml +2 -2
  5. package/ci/release/beta.yml +4 -3
  6. package/ci/release/master.yml +4 -3
  7. package/jest.config.js +10 -8
  8. package/lib/utility.js +1 -1
  9. package/package.json +13 -12
  10. package/src/assets/icons/AppFooter/x-ws-footer.svg +10 -0
  11. package/src/assets/icons/AppFooter/x-ww-footer.svg +28 -0
  12. package/src/assets/icons/SocialShare/x-icon-white.svg +28 -0
  13. package/src/assets/icons/WSV-reversed.svg +20 -0
  14. package/src/assets/icons/contrast.svg +4 -0
  15. package/src/assets/icons/lang.svg +13 -0
  16. package/src/assets/icons/login.svg +4 -0
  17. package/src/components/Common/CardGrid/cardgrid.stories.js +4 -57
  18. package/src/components/Common/CardGrid/index.vue +23 -3
  19. package/src/components/Common/CardGridItem/card-grid-item-icon.vue +1 -1
  20. package/src/components/Common/CardGridItem/index.vue +21 -5
  21. package/src/components/Containers/Carousel/index.stories.js +30 -0
  22. package/src/components/Containers/Carousel/index.vue +165 -0
  23. package/src/components/Containers/HomepageHeader/index.vue +26 -12
  24. package/src/components/Containers/HomepageHeaderNew/index.stories.js +75 -0
  25. package/src/components/Containers/HomepageHeaderNew/index.vue +198 -0
  26. package/src/components/Containers/SectionGroup/index.vue +4 -4
  27. package/src/components/Containers/Subheader/index.vue +25 -19
  28. package/src/components/Global/AlertStrip/index.stories.js +1 -0
  29. package/src/components/Global/AppFooter/FooterSocialShare/index.vue +1 -1
  30. package/src/components/Global/AppFooter/index.stories.js +1 -0
  31. package/src/components/Global/AppFooter/index.vue +30 -28
  32. package/src/components/Global/AppHeader/index.vue +49 -52
  33. package/src/components/Global/AppHeaderNew/ModalSearch/index.vue +71 -0
  34. package/src/components/Global/AppHeaderNew/ModalSearch/styles.scss +43 -0
  35. package/src/components/Global/AppHeaderNew/includes.scss +71 -0
  36. package/src/components/Global/AppHeaderNew/index.stories.js +74 -0
  37. package/src/components/Global/AppHeaderNew/index.vue +1176 -0
  38. package/src/components/Global/AppHeaderNew/mobile.scss +269 -0
  39. package/src/components/Global/AppHeaderNew/styles.scss +647 -0
  40. package/src/components/Global/ContrastMode/index.stories.js +1 -0
  41. package/src/components/Global/ContrastMode/index.vue +1 -1
  42. package/src/components/Global/Cookies/index.vue +141 -141
  43. package/src/components/Global/DirectoryFilters/SingleTaxonomy/index.vue +2 -1
  44. package/src/components/Global/GlobalNotice/index.stories.js +7 -1
  45. package/src/components/Global/GlobalNotice/index.vue +23 -2
  46. package/src/components/Global/HeroHeader/index.stories.js +3 -4
  47. package/src/components/Global/HeroHeader/index.vue +28 -29
  48. package/src/components/Global/ProgressBar/index.stories.js +6 -16
  49. package/src/components/Global/SocialShare/index.vue +3 -2
  50. package/src/components/Global/Strip/index.stories.js +1 -17
  51. package/src/components/Global/Strip/index.vue +8 -4
  52. package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +21 -17
  53. package/src/components/Paragraphs/Accordion/index.stories.js +1 -0
  54. package/src/components/Paragraphs/Breakout/index.stories.js +1 -0
  55. package/src/components/Paragraphs/BrowseContent/index.stories.js +1 -0
  56. package/src/components/Paragraphs/BrowseContent/index.vue +42 -31
  57. package/src/components/Paragraphs/Calculator/Constants.js +2 -2
  58. package/src/components/Paragraphs/Calculator/index.stories.js +1 -0
  59. package/src/components/Paragraphs/Directory/Records/CJ/index.vue +3 -3
  60. package/src/components/Paragraphs/Directory/Records/ISP/index.vue +5 -5
  61. package/src/components/Paragraphs/Directory/Records/PRS/index.vue +2 -2
  62. package/src/components/Paragraphs/Directory/Records/PRS/recordContent.vue +3 -3
  63. package/src/components/Paragraphs/Directory/Records/PRS/recordDetails.vue +3 -3
  64. package/src/components/Paragraphs/Directory/Records/index.vue +3 -3
  65. package/src/components/Paragraphs/Directory/index.vue +42 -31
  66. package/src/components/Paragraphs/ListGroup/Link/list-link.stories.js +35 -39
  67. package/src/components/Paragraphs/ListGroup/index.vue +55 -46
  68. package/src/components/Paragraphs/ListGroup/list-group.stories.js +35 -31
  69. package/src/components/Paragraphs/ListGroup/navigation-card.stories.js +34 -30
  70. package/src/components/Paragraphs/MarketingBanner/index.stories.js +4 -18
  71. package/src/components/Paragraphs/ProofPoints/index.stories.js +19 -20
  72. package/src/components/Paragraphs/RelatedInformation/index.stories.js +11 -21
  73. package/src/components/Paragraphs/RelatedInformation/index.vue +12 -6
  74. package/src/components/Paragraphs/RelatedInformation/styles.scss +1 -3
  75. package/src/components/Paragraphs/RichText/index.stories.js +2 -1
  76. package/src/components/Paragraphs/ScrollSpy/index.stories.js +20 -26
  77. package/src/components/Paragraphs/ScrollSpy/index.vue +27 -12
  78. package/src/components/Paragraphs/SelectableCards/Control/index.stories.js +1 -0
  79. package/src/components/Paragraphs/SelectableCards/index.vue +15 -12
  80. package/src/components/Paragraphs/Statistics/index.stories.js +1 -0
  81. package/src/components/Paragraphs/Statistics/index.vue +1 -0
  82. package/src/components/Paragraphs/TabbedCards/index.stories.js +8 -27
  83. package/src/components/Paragraphs/TabbedCards/index.vue +58 -92
  84. package/src/components/Paragraphs/Tabs/index.stories.js +1 -0
  85. package/src/components/Paragraphs/TabulatedData/index.stories.js +6 -5
  86. package/src/components/Paragraphs/TabulatedData/index.vue +63 -35
  87. package/src/components/Paragraphs/TaskFinder/index.stories.js +9 -32
  88. package/src/components/Paragraphs/TaskFinder/index.vue +3 -3
  89. package/src/components/Paragraphs/TaskFinder/pdf/index.vue +1 -1
  90. package/src/components/Paragraphs/TaskFinder/task-finder-column.vue +1 -1
  91. package/src/components/Paragraphs/TextMedia/index.stories.js +1 -0
  92. package/src/components/Paragraphs/TextMedia/index.vue +5 -1
  93. package/src/components/Paragraphs/VideoGrid/index.stories.js +1 -0
  94. package/src/components/Paragraphs/VideoPlayer/index.stories.js +1 -13
  95. package/src/components/Paragraphs/Webform/index.stories.js +94 -57
  96. package/src/components/Paragraphs/Webform/index.vue +11 -8
  97. package/src/components/SubComponents/Breadcrumb/index.stories.js +3 -11
  98. package/src/components/SubComponents/CardGroup/index.stories.js +1 -30
  99. package/src/components/SubComponents/CardGroup/index.vue +33 -27
  100. package/src/components/SubComponents/CtaButton/index.stories.js +1 -24
  101. package/src/components/SubComponents/CtaButton/index.vue +27 -25
  102. package/src/components/SubComponents/FormAddressPostcode/index.stories.js +3 -28
  103. package/src/components/SubComponents/FormInstance/components/alert/index.vue +129 -0
  104. package/src/components/SubComponents/FormInstance/components/custom/base-formio.js +77 -0
  105. package/src/components/SubComponents/FormInstance/components/custom/code-formio.js +35 -0
  106. package/src/components/SubComponents/FormInstance/components/custom/custom-formio-registry.js +30 -0
  107. package/src/components/SubComponents/FormInstance/components/custom/range-formio.js +121 -0
  108. package/src/components/SubComponents/FormInstance/components/custom/rating-formio.js +121 -0
  109. package/src/components/SubComponents/FormInstance/components/custom/scale-formio.js +99 -0
  110. package/src/components/SubComponents/FormInstance/components/custom/tableselect-formio.js +200 -0
  111. package/src/components/SubComponents/FormInstance/components/handler/index.vue +208 -0
  112. package/src/components/SubComponents/FormInstance/components/renderer/index.vue +282 -0
  113. package/src/components/SubComponents/FormInstance/index.test.js +65 -0
  114. package/src/components/SubComponents/FormInstance/index.vue +55 -6
  115. package/src/components/SubComponents/FormInstance/models/base-form-element.js +338 -0
  116. package/src/components/SubComponents/FormInstance/models/form-callback-queue.js +45 -0
  117. package/src/components/SubComponents/FormInstance/models/form-utils.js +50 -0
  118. package/src/components/SubComponents/FormInstance/models/overrides/address.js +141 -0
  119. package/src/components/SubComponents/FormInstance/models/overrides/autocomplete.js +41 -0
  120. package/src/components/SubComponents/FormInstance/models/overrides/checkbox.js +14 -0
  121. package/src/components/SubComponents/FormInstance/models/overrides/checkboxes.js +49 -0
  122. package/src/components/SubComponents/FormInstance/models/overrides/code.js +27 -0
  123. package/src/components/SubComponents/FormInstance/models/overrides/composite.js +57 -0
  124. package/src/components/SubComponents/FormInstance/models/overrides/container.js +65 -0
  125. package/src/components/SubComponents/FormInstance/models/overrides/currency.js +17 -0
  126. package/src/components/SubComponents/FormInstance/models/overrides/customcomposite.js +41 -0
  127. package/src/components/SubComponents/FormInstance/models/overrides/date.js +126 -0
  128. package/src/components/SubComponents/FormInstance/models/overrides/datelist.js +73 -0
  129. package/src/components/SubComponents/FormInstance/models/overrides/detail.js +38 -0
  130. package/src/components/SubComponents/FormInstance/models/overrides/email-confirm.js +12 -0
  131. package/src/components/SubComponents/FormInstance/models/overrides/email.js +7 -0
  132. package/src/components/SubComponents/FormInstance/models/overrides/file.js +56 -0
  133. package/src/components/SubComponents/FormInstance/models/overrides/flexbox.js +33 -0
  134. package/src/components/SubComponents/FormInstance/models/overrides/hidden.js +24 -0
  135. package/src/components/SubComponents/FormInstance/models/overrides/likert.js +40 -0
  136. package/src/components/SubComponents/FormInstance/models/overrides/markup.js +47 -0
  137. package/src/components/SubComponents/FormInstance/models/overrides/message.js +53 -0
  138. package/src/components/SubComponents/FormInstance/models/overrides/moretext.js +64 -0
  139. package/src/components/SubComponents/FormInstance/models/overrides/multiple.js +51 -0
  140. package/src/components/SubComponents/FormInstance/models/overrides/number.js +22 -0
  141. package/src/components/SubComponents/FormInstance/models/overrides/options-other.js +34 -0
  142. package/src/components/SubComponents/FormInstance/models/overrides/page.js +7 -0
  143. package/src/components/SubComponents/FormInstance/models/overrides/phonenumber.js +13 -0
  144. package/src/components/SubComponents/FormInstance/models/overrides/radio.js +31 -0
  145. package/src/components/SubComponents/FormInstance/models/overrides/range.js +19 -0
  146. package/src/components/SubComponents/FormInstance/models/overrides/rating.js +47 -0
  147. package/src/components/SubComponents/FormInstance/models/overrides/scale.js +33 -0
  148. package/src/components/SubComponents/FormInstance/models/overrides/section.js +39 -0
  149. package/src/components/SubComponents/FormInstance/models/overrides/select.js +28 -0
  150. package/src/components/SubComponents/FormInstance/models/overrides/signature.js +7 -0
  151. package/src/components/SubComponents/FormInstance/models/overrides/submit.js +23 -0
  152. package/src/components/SubComponents/FormInstance/models/overrides/table.js +48 -0
  153. package/src/components/SubComponents/FormInstance/models/overrides/tablerow.js +20 -0
  154. package/src/components/SubComponents/FormInstance/models/overrides/tableselect.js +66 -0
  155. package/src/components/SubComponents/FormInstance/models/overrides/testing.js +47 -0
  156. package/src/components/SubComponents/FormInstance/models/overrides/text.js +7 -0
  157. package/src/components/SubComponents/FormInstance/models/overrides/textarea.js +26 -0
  158. package/src/components/SubComponents/FormInstance/models/overrides/textformat.js +13 -0
  159. package/src/components/SubComponents/FormInstance/models/overrides/time.js +13 -0
  160. package/src/components/SubComponents/FormInstance/models/overrides/twig.js +118 -0
  161. package/src/components/SubComponents/FormInstance/models/overrides/unknown.js +24 -0
  162. package/src/components/SubComponents/FormInstance/models/overrides/url.js +13 -0
  163. package/src/components/SubComponents/FormInstance/services/convert-form-element.js +49 -0
  164. package/src/components/SubComponents/FormInstance/services/form-api.js +47 -0
  165. package/src/components/SubComponents/FormInstance/services/form-render-parser.js +156 -0
  166. package/src/components/SubComponents/FormInstance/services/form-submit-parser.js +61 -0
  167. package/src/components/SubComponents/FormInstance/services/logic-linker.js +73 -0
  168. package/src/components/SubComponents/FormInstance/services/logic-parser.js +173 -0
  169. package/src/components/SubComponents/FormInstance/services/registry-factory.js +284 -0
  170. package/src/components/SubComponents/FormInstance/stories/Documentation.mdx +234 -0
  171. package/src/components/SubComponents/FormInstance/stories/advanced.stories.js +109 -0
  172. package/src/components/SubComponents/FormInstance/stories/basic.stories.js +73 -0
  173. package/src/components/SubComponents/FormInstance/stories/build.stories.js +27 -0
  174. package/src/components/SubComponents/FormInstance/stories/composite.stories.js +90 -0
  175. package/src/components/SubComponents/FormInstance/stories/condition.stories.js +83 -0
  176. package/src/components/SubComponents/FormInstance/stories/custom.stories.js +69 -0
  177. package/src/components/SubComponents/FormInstance/stories/date.stories.js +76 -0
  178. package/src/components/SubComponents/FormInstance/stories/fileupload.stories.js +57 -0
  179. package/src/components/SubComponents/FormInstance/stories/form-alert.stories.js +93 -0
  180. package/src/components/SubComponents/FormInstance/stories/index.stories.js +63 -0
  181. package/src/components/SubComponents/FormInstance/stories/layout.stories.js +85 -0
  182. package/src/components/SubComponents/FormInstance/stories/markup.stories.js +91 -0
  183. package/src/components/SubComponents/FormInstance/stories/mocks/address.json +298 -0
  184. package/src/components/SubComponents/FormInstance/stories/mocks/advancedhtml.json +23 -0
  185. package/src/components/SubComponents/FormInstance/stories/mocks/autocomplete.json +34 -0
  186. package/src/components/SubComponents/FormInstance/stories/mocks/basichtml.json +15 -0
  187. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxes.json +102 -0
  188. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxesother.json +197 -0
  189. package/src/components/SubComponents/FormInstance/stories/mocks/container.json +134 -0
  190. package/src/components/SubComponents/FormInstance/stories/mocks/customcomposite.json +469 -0
  191. package/src/components/SubComponents/FormInstance/stories/mocks/date.json +19 -0
  192. package/src/components/SubComponents/FormInstance/stories/mocks/datelist.json +752 -0
  193. package/src/components/SubComponents/FormInstance/stories/mocks/datetime.json +89 -0
  194. package/src/components/SubComponents/FormInstance/stories/mocks/details.json +63 -0
  195. package/src/components/SubComponents/FormInstance/stories/mocks/email.json +18 -0
  196. package/src/components/SubComponents/FormInstance/stories/mocks/emailconfirm.json +110 -0
  197. package/src/components/SubComponents/FormInstance/stories/mocks/fieldset.json +62 -0
  198. package/src/components/SubComponents/FormInstance/stories/mocks/fileupload.json +25 -0
  199. package/src/components/SubComponents/FormInstance/stories/mocks/flexbox.json +58 -0
  200. package/src/components/SubComponents/FormInstance/stories/mocks/hidden.json +35 -0
  201. package/src/components/SubComponents/FormInstance/stories/mocks/horizontalrule.json +14 -0
  202. package/src/components/SubComponents/FormInstance/stories/mocks/jahd.json +1359 -0
  203. package/src/components/SubComponents/FormInstance/stories/mocks/label.json +14 -0
  204. package/src/components/SubComponents/FormInstance/stories/mocks/likert.json +375 -0
  205. package/src/components/SubComponents/FormInstance/stories/mocks/message.json +86 -0
  206. package/src/components/SubComponents/FormInstance/stories/mocks/more.json +19 -0
  207. package/src/components/SubComponents/FormInstance/stories/mocks/multiple.json +142 -0
  208. package/src/components/SubComponents/FormInstance/stories/mocks/number.json +35 -0
  209. package/src/components/SubComponents/FormInstance/stories/mocks/quad.json +249 -0
  210. package/src/components/SubComponents/FormInstance/stories/mocks/radios.json +70 -0
  211. package/src/components/SubComponents/FormInstance/stories/mocks/radiosother.json +176 -0
  212. package/src/components/SubComponents/FormInstance/stories/mocks/range.json +58 -0
  213. package/src/components/SubComponents/FormInstance/stories/mocks/rating.json +42 -0
  214. package/src/components/SubComponents/FormInstance/stories/mocks/rule-disabled-value.json +66 -0
  215. package/src/components/SubComponents/FormInstance/stories/mocks/rule-enabled-value.json +43 -0
  216. package/src/components/SubComponents/FormInstance/stories/mocks/rule-hidden-value.json +68 -0
  217. package/src/components/SubComponents/FormInstance/stories/mocks/rule-required-value.json +69 -0
  218. package/src/components/SubComponents/FormInstance/stories/mocks/rule-visible-value.json +157 -0
  219. package/src/components/SubComponents/FormInstance/stories/mocks/sameas.json +66 -0
  220. package/src/components/SubComponents/FormInstance/stories/mocks/scale.json +200 -0
  221. package/src/components/SubComponents/FormInstance/stories/mocks/section.json +63 -0
  222. package/src/components/SubComponents/FormInstance/stories/mocks/select.json +41 -0
  223. package/src/components/SubComponents/FormInstance/stories/mocks/selectother.json +115 -0
  224. package/src/components/SubComponents/FormInstance/stories/mocks/signature.json +25 -0
  225. package/src/components/SubComponents/FormInstance/stories/mocks/styles.json +81 -0
  226. package/src/components/SubComponents/FormInstance/stories/mocks/table-select.json +472 -0
  227. package/src/components/SubComponents/FormInstance/stories/mocks/table.json +154 -0
  228. package/src/components/SubComponents/FormInstance/stories/mocks/telephone.json +18 -0
  229. package/src/components/SubComponents/FormInstance/stories/mocks/textarea.json +22 -0
  230. package/src/components/SubComponents/FormInstance/stories/mocks/textfield.json +66 -0
  231. package/src/components/SubComponents/FormInstance/stories/mocks/time.json +20 -0
  232. package/src/components/SubComponents/FormInstance/stories/mocks/token.json +260 -0
  233. package/src/components/SubComponents/FormInstance/stories/mocks/twig.json +154 -0
  234. package/src/components/SubComponents/FormInstance/stories/mocks/url.json +18 -0
  235. package/src/components/SubComponents/FormInstance/stories/mocks/value.json +17 -0
  236. package/src/components/SubComponents/FormInstance/stories/mocks/wizard.json +353 -0
  237. package/src/components/SubComponents/FormInstance/stories/options.stories.js +98 -0
  238. package/src/components/SubComponents/FormInstance/stories/style.stories.js +55 -0
  239. package/src/components/SubComponents/FormInstance/stories/wizard.stories.js +55 -0
  240. package/src/components/SubComponents/FormInstance/style.scss +185 -0
  241. package/src/components/SubComponents/FormInstance/tests/address.test.js +255 -0
  242. package/src/components/SubComponents/FormInstance/tests/advancedhtml.test.js +31 -0
  243. package/src/components/SubComponents/FormInstance/tests/autocomplete.test.js +38 -0
  244. package/src/components/SubComponents/FormInstance/tests/basichtml.test.js +31 -0
  245. package/src/components/SubComponents/FormInstance/tests/checkbox.test.js +29 -0
  246. package/src/components/SubComponents/FormInstance/tests/checkboxes.test.js +44 -0
  247. package/src/components/SubComponents/FormInstance/tests/checkboxesother.test.js +91 -0
  248. package/src/components/SubComponents/FormInstance/tests/container.test.js +66 -0
  249. package/src/components/SubComponents/FormInstance/tests/customcomposite.test.js +86 -0
  250. package/src/components/SubComponents/FormInstance/tests/date.test.js +63 -0
  251. package/src/components/SubComponents/FormInstance/tests/datelist.test.js +136 -0
  252. package/src/components/SubComponents/FormInstance/tests/datetime.test.js +54 -0
  253. package/src/components/SubComponents/FormInstance/tests/details.test.js +58 -0
  254. package/src/components/SubComponents/FormInstance/tests/email.test.js +28 -0
  255. package/src/components/SubComponents/FormInstance/tests/emailconfirm.test.js +79 -0
  256. package/src/components/SubComponents/FormInstance/tests/fieldset.test.js +63 -0
  257. package/src/components/SubComponents/FormInstance/tests/flexbox.test.js +71 -0
  258. package/src/components/SubComponents/FormInstance/tests/form-test-utils.js +120 -0
  259. package/src/components/SubComponents/FormInstance/tests/form.test.js +26 -0
  260. package/src/components/SubComponents/FormInstance/tests/hidden.test.js +52 -0
  261. package/src/components/SubComponents/FormInstance/tests/horizontalrule.test.js +31 -0
  262. package/src/components/SubComponents/FormInstance/tests/label.test.js +31 -0
  263. package/src/components/SubComponents/FormInstance/tests/likert.test.js +38 -0
  264. package/src/components/SubComponents/FormInstance/tests/message.test.js +89 -0
  265. package/src/components/SubComponents/FormInstance/tests/more.test.js +32 -0
  266. package/src/components/SubComponents/FormInstance/tests/multiple.test.js +71 -0
  267. package/src/components/SubComponents/FormInstance/tests/number.test.js +51 -0
  268. package/src/components/SubComponents/FormInstance/tests/radios.test.js +34 -0
  269. package/src/components/SubComponents/FormInstance/tests/radiosother.test.js +79 -0
  270. package/src/components/SubComponents/FormInstance/tests/range.test.js +32 -0
  271. package/src/components/SubComponents/FormInstance/tests/rating.test.js +38 -0
  272. package/src/components/SubComponents/FormInstance/tests/rule-disabled.test.js +128 -0
  273. package/src/components/SubComponents/FormInstance/tests/rule-enabled-value.test.js +78 -0
  274. package/src/components/SubComponents/FormInstance/tests/rule-hidden.test.js +131 -0
  275. package/src/components/SubComponents/FormInstance/tests/rule-required-value.test.js +144 -0
  276. package/src/components/SubComponents/FormInstance/tests/rule-visible.test.js +619 -0
  277. package/src/components/SubComponents/FormInstance/tests/sameas.test.js +94 -0
  278. package/src/components/SubComponents/FormInstance/tests/scale.test.js +43 -0
  279. package/src/components/SubComponents/FormInstance/tests/section.test.js +63 -0
  280. package/src/components/SubComponents/FormInstance/tests/select.test.js +45 -0
  281. package/src/components/SubComponents/FormInstance/tests/selectother.test.js +82 -0
  282. package/src/components/SubComponents/FormInstance/tests/signature.test.js +32 -0
  283. package/src/components/SubComponents/FormInstance/tests/styles.test.js +73 -0
  284. package/src/components/SubComponents/FormInstance/tests/table-select.test.js +93 -0
  285. package/src/components/SubComponents/FormInstance/tests/table.test.js +97 -0
  286. package/src/components/SubComponents/FormInstance/tests/telephone.test.js +29 -0
  287. package/src/components/SubComponents/FormInstance/tests/textarea.test.js +29 -0
  288. package/src/components/SubComponents/FormInstance/tests/textfield.test.js +48 -0
  289. package/src/components/SubComponents/FormInstance/tests/time.test.js +29 -0
  290. package/src/components/SubComponents/FormInstance/tests/token.test.js +33 -0
  291. package/src/components/SubComponents/FormInstance/tests/twig.test.js +74 -0
  292. package/src/components/SubComponents/FormInstance/tests/url.test.js +45 -0
  293. package/src/components/SubComponents/FormInstance/tests/value.test.js +31 -0
  294. package/src/components/SubComponents/FormInstance/tests/wizard.test.js +145 -0
  295. package/src/components/SubComponents/Icon/index.stories.js +1 -6
  296. package/src/components/SubComponents/MediaPlayer/index.stories.js +1 -6
  297. package/src/components/SubComponents/Pagination/index.stories.js +3 -8
  298. package/src/components/SubComponents/ResourceGroup/List/index.stories.js +3 -2
  299. package/src/components/SubComponents/ResourceGroup/index.vue +206 -173
  300. package/src/components/SubComponents/Search/index.vue +4 -4
  301. package/src/components/SubComponents/SingleImage/index.stories.js +2 -16
  302. package/src/components/SubComponents/VideoThumbnail/index.stories.js +1 -0
  303. package/src/components/SubComponents/VideoThumbnail/index.vue +4 -7
  304. package/src/includes/scss/mixins/src/grid.scss +4 -2
  305. package/src/includes/scss/mixins/src/units.scss +25 -4
  306. package/src/main.js +2 -10
  307. package/src/mock/app-header-new.js +715 -0
  308. package/src/mock/carousel-items.js +57 -0
  309. package/src/mock/jest.fileMock.js +1 -0
  310. package/vite.config.js +28 -15
  311. package/src/components/SubComponents/FormInstance/index.stories.js +0 -8
@@ -49,10 +49,10 @@
49
49
  </template>
50
50
  <script>
51
51
  import { DIR_CONFIG } from './constants'
52
- import DirectoryFilters from '../../Global/DirectoryFilters'
53
- import Records from './Records/'
54
- import Pagination from '../../SubComponents/Pagination'
55
- import Loading from '../../SubComponents/Loading'
52
+ import DirectoryFilters from '../../Global/DirectoryFilters/index.vue'
53
+ import Records from './Records/index.vue'
54
+ import Pagination from '../../SubComponents/Pagination/index.vue'
55
+ import Loading from '../../SubComponents/Loading/index.vue'
56
56
  import SectionGroup from '../../Containers/SectionGroup/index.vue'
57
57
 
58
58
  export default {
@@ -62,30 +62,40 @@ export default {
62
62
  Records,
63
63
  Pagination,
64
64
  Loading,
65
- SectionGroup
65
+ SectionGroup,
66
66
  },
67
67
  props: {
68
68
  options: {
69
69
  type: Object,
70
- default: () => {}
70
+ default: () => {},
71
71
  },
72
72
  fetchFilters: {
73
73
  type: Function,
74
- required: true
74
+ required: true,
75
75
  },
76
76
  fetchRecords: {
77
77
  type: Function,
78
- required: true
79
- }
78
+ required: true,
79
+ },
80
80
  },
81
- async fetch() {
81
+ // Temp use of mounted to replace fetch
82
+ async mounted() {
82
83
  await this.loadFilters(
83
- this.DIR_CONFIG[this.options.field_directory_type].taxonomies
84
+ this.DIR_CONFIG[this.options.field_directory_type].taxonomies,
84
85
  )
85
86
  this.loadSortOptions(
86
- this.DIR_CONFIG[this.options.field_directory_type].sorting
87
+ this.DIR_CONFIG[this.options.field_directory_type].sorting,
87
88
  )
88
89
  },
90
+ // TODO useAsyncData <script setup>
91
+ // async fetch() {
92
+ // await this.loadFilters(
93
+ // this.DIR_CONFIG[this.options.field_directory_type].taxonomies
94
+ // )
95
+ // this.loadSortOptions(
96
+ // this.DIR_CONFIG[this.options.field_directory_type].sorting
97
+ // )
98
+ // },
89
99
  fetchOnServer: true,
90
100
  fetchKey: 'ws-directory',
91
101
  data() {
@@ -93,25 +103,25 @@ export default {
93
103
  DIR_CONFIG,
94
104
  filters: {
95
105
  taxonomies: [],
96
- sorting: []
106
+ sorting: [],
97
107
  },
98
108
  selectedFilters: {},
99
109
  qs: {
100
110
  record_type: this.options.field_directory_type,
101
111
  rows: this.options.field_directory_rows,
102
112
  start: 0,
103
- ...this.defaultSortOrderOption(this.options.field_directory_type)
113
+ ...this.defaultSortOrderOption(this.options.field_directory_type),
104
114
  },
105
115
  records: [],
106
116
  total: 0,
107
- loading: true
117
+ loading: true,
108
118
  }
109
119
  },
110
120
  computed: {
111
121
  apiUrl() {
112
122
  return Object.keys(this.qs)
113
123
  .map(
114
- (k) => `${encodeURIComponent(k)}=${encodeURIComponent(this.qs[k])}`
124
+ (k) => `${encodeURIComponent(k)}=${encodeURIComponent(this.qs[k])}`,
115
125
  )
116
126
  .join('&')
117
127
  },
@@ -137,7 +147,7 @@ export default {
137
147
  return this.qs.lat && this.qs.lon
138
148
  ? { lat: this.qs.lat, lng: this.qs.lon }
139
149
  : false
140
- }
150
+ },
141
151
  },
142
152
  watch: {
143
153
  apiUrl: {
@@ -145,7 +155,7 @@ export default {
145
155
  deep: false,
146
156
  handler() {
147
157
  this.getData()
148
- }
158
+ },
149
159
  },
150
160
  selectedFilters: {
151
161
  immediate: false,
@@ -171,7 +181,7 @@ export default {
171
181
  this.qs.order = this.selectedFilters.sorting.order.value
172
182
  } else {
173
183
  const sortOrderDefaults = this.defaultSortOrderOption(
174
- this.qs.record_type
184
+ this.qs.record_type,
175
185
  )
176
186
  this.qs.sort = sortOrderDefaults.sort
177
187
  this.qs.order = sortOrderDefaults.order
@@ -204,8 +214,8 @@ export default {
204
214
  this.$delete(this.qs, 'lat')
205
215
  this.$delete(this.qs, 'lon')
206
216
  }
207
- }
208
- }
217
+ },
218
+ },
209
219
  },
210
220
  methods: {
211
221
  async getData() {
@@ -223,25 +233,25 @@ export default {
223
233
  const taxonomies = await this.fetchFilters(
224
234
  taxonomy.id,
225
235
  taxonomy.record_id,
226
- taxonomy.name
236
+ taxonomy.name,
227
237
  )
228
238
  this.filters.taxonomies.push(taxonomies)
229
239
  return Promise.resolve(taxonomies)
230
- })
240
+ }),
231
241
  )
232
242
  },
233
243
  loadSortOptions(sortingList) {
234
244
  let opts = {
235
245
  name: 'order',
236
246
  title: 'Sort by',
237
- terms: []
247
+ terms: [],
238
248
  }
239
249
  sortingList.forEach((sortOption) => {
240
250
  opts.terms.push({
241
251
  title: sortOption.label,
242
252
  value: sortOption.order,
243
253
  field: sortOption.field,
244
- parent: sortOption.type
254
+ parent: sortOption.type,
245
255
  })
246
256
  })
247
257
  this.filters.sorting.push(opts)
@@ -252,7 +262,7 @@ export default {
252
262
  } else {
253
263
  return {
254
264
  sort: 'record_title',
255
- order: 'asc'
265
+ order: 'asc',
256
266
  }
257
267
  }
258
268
  },
@@ -301,14 +311,14 @@ export default {
301
311
 
302
312
  window.scrollTo({
303
313
  top,
304
- behavior: 'smooth'
314
+ behavior: 'smooth',
305
315
  })
306
316
  }
307
317
  },
308
318
  resetSortLabels() {
309
319
  this.filters.sorting = []
310
320
  this.loadSortOptions(
311
- this.DIR_CONFIG[this.options.field_directory_type].sorting
321
+ this.DIR_CONFIG[this.options.field_directory_type].sorting,
312
322
  )
313
323
  },
314
324
  resetSearchFilters() {
@@ -317,15 +327,16 @@ export default {
317
327
  record_type: this.options.field_directory_type,
318
328
  rows: this.options.field_directory_rows,
319
329
  start: 0,
320
- ...this.defaultSortOrderOption(this.options.field_directory_type)
330
+ ...this.defaultSortOrderOption(this.options.field_directory_type),
321
331
  }
322
- }
323
- }
332
+ },
333
+ },
324
334
  }
325
335
  </script>
326
336
 
327
337
  <style lang="scss" scoped>
328
338
  @import '../../../includes/scss/all';
339
+
329
340
  .paragraph--directory {
330
341
  &__loading-container {
331
342
  min-height: 250px;
@@ -4,68 +4,64 @@ import { storyData, storyDataAr } from './../Constants'
4
4
  export default {
5
5
  title: 'Paragraphs/ListGroup',
6
6
  component: ListGroup,
7
+ tags: ['autodocs'],
7
8
  argTypes: {
8
- darkBackground: {
9
- control: 'boolean',
10
- defaultValue: false
11
- },
12
- items: {
13
- control: 'object',
14
- defaultValue: storyData.links
15
- },
16
- rtlItems: {
17
- control: 'object',
18
- defaultValue: storyDataAr.links
19
- },
20
- rtl: {
21
- control: 'boolean',
22
- defaultValue: false
23
- },
24
- titleTag: {
25
- control: 'text',
26
- defaultValue: 'h3'
27
- },
28
- showListItemNavigationArrow: {
29
- control: 'boolean',
30
- defaultValue: true
9
+ list: {
10
+ table: {
11
+ disable: true
12
+ }
31
13
  },
32
- showLargeSpacing: {
33
- control: 'boolean',
34
- defaultValue: false
14
+ title: {
15
+ table: {
16
+ disable: true
17
+ }
35
18
  },
36
- list: {
19
+ role: {
37
20
  table: {
38
21
  disable: true
39
22
  }
40
23
  },
41
- showListLink: {
42
- control: 'boolean',
43
- defaultValue: true
24
+ subHeading: {
25
+ table: {
26
+ disable: true
27
+ }
44
28
  },
45
- title: {
29
+ footerHeading: {
46
30
  table: {
47
31
  disable: true
48
32
  }
49
33
  }
34
+ },
35
+ args: {
36
+ darkBackground: false,
37
+ items: storyData.links,
38
+ rtlItems: storyDataAr.links,
39
+ rtl: false,
40
+ titleTag: 'h3',
41
+ showListItemNavigationArrow: true,
42
+ showLargeSpacing: false,
43
+ showListLink: true
50
44
  }
51
45
  }
52
46
 
53
- const Template = (args, { argTypes }) => ({
47
+ const Template = (args) => ({
54
48
  components: { ListGroup },
49
+ setup() {
50
+ return { args };
51
+ },
55
52
  data() {
56
53
  return {
57
54
  storyData,
58
55
  storyDataAr
59
56
  }
60
57
  },
61
- props: Object.keys(argTypes),
62
58
  template: `<list-group
63
- v-bind="$props"
64
- :list="rtl ? rtlItems : items"
65
- :title="(rtl ? storyDataAr.title : storyData.title)"
66
- :sub-heading="(rtl ? storyDataAr.subHeading : storyData.subHeading)"
67
- :footer-heading="(rtl ? storyDataAr.footer : storyDataAr.footer)"
68
- :show-list-link="showListLink" />`
59
+ v-bind="args"
60
+ :list="args.rtl ? args.rtlItems : args.items"
61
+ :title="(args.rtl ? storyDataAr.title : storyData.title)"
62
+ :sub-heading="(args.rtl ? storyDataAr.subHeading : storyData.subHeading)"
63
+ :footer-heading="(args.rtl ? storyDataAr.footer : storyDataAr.footer)"
64
+ :show-list-link="args.showListLink" />`
69
65
  })
70
66
 
71
67
  export const Link = Template.bind({})
@@ -48,7 +48,7 @@
48
48
  :taxonomies="{
49
49
  industry: card.industry,
50
50
  topic: card.topic,
51
- language: card.language
51
+ language: card.language,
52
52
  }"
53
53
  />
54
54
  </template>
@@ -69,7 +69,7 @@ import RichText from './../../Paragraphs/RichText/index.vue'
69
69
  import {
70
70
  isAbsoluteUrl,
71
71
  navigateToPath,
72
- isGovSite
72
+ isGovSite,
73
73
  } from './../../../../lib/utility'
74
74
 
75
75
  export default {
@@ -80,48 +80,48 @@ export default {
80
80
  type: Array,
81
81
  default() {
82
82
  return []
83
- }
83
+ },
84
84
  },
85
85
  role: {
86
86
  type: String,
87
- default: 'button'
87
+ default: 'button',
88
88
  },
89
89
  darkBackground: {
90
90
  type: Boolean,
91
- default: false
91
+ default: false,
92
92
  },
93
93
  title: {
94
94
  type: String,
95
- default: ''
95
+ default: '',
96
96
  },
97
97
  titleTag: {
98
98
  type: String,
99
- default: 'h3'
99
+ default: 'h3',
100
100
  },
101
101
  subHeading: {
102
102
  type: String,
103
- default: null
103
+ default: null,
104
104
  },
105
105
  footerHeading: {
106
106
  type: String,
107
- default: null
107
+ default: null,
108
108
  },
109
109
  rtl: {
110
110
  type: Boolean,
111
- default: false
111
+ default: false,
112
112
  },
113
113
  showListItemNavigationArrow: {
114
114
  type: Boolean,
115
- default: false
115
+ default: false,
116
116
  },
117
117
  showLargeSpacing: {
118
118
  type: Boolean,
119
- default: false
119
+ default: false,
120
120
  },
121
121
  showListLink: {
122
122
  type: Boolean,
123
- default: false
124
- }
123
+ default: false,
124
+ },
125
125
  },
126
126
  methods: {
127
127
  getCaret(card) {
@@ -138,37 +138,43 @@ export default {
138
138
  // Some custom logic for gov caretaker logic
139
139
  if (process.env.CARETAKER && process.env.CARETAKER === 'true') {
140
140
  if (!isGovSite(card?.selectedCard?.link)) {
141
- this.$store.commit('page/SET_CARETAKER_REF', 'list-group')
142
- this.$root.$emit('caretaker-open', card?.selectedCard?.link)
141
+ // this.$store.commit('page/SET_CARETAKER_REF', 'list-group')
142
+ // this.$root.$emit('caretaker-open', card?.selectedCard?.link)
143
+ if (this.$pageStore) {
144
+ this.$pageStore.caretaker.referrer = 'list-group'
145
+ }
146
+ if (this.$bus) {
147
+ this.$bus.$emit('caretaker-open', card?.selectedCard?.link)
148
+ }
143
149
  } else {
144
150
  navigateToPath.call(
145
151
  this,
146
152
  card?.selectedCard?.link,
147
- card?.ev?.ctrlKey === true || card?.ev?.metaKey === true
153
+ card?.ev?.ctrlKey === true || card?.ev?.metaKey === true,
148
154
  )
149
155
  }
150
156
  } else {
151
157
  navigateToPath.call(
152
158
  this,
153
159
  card?.selectedCard?.link,
154
- card?.ev?.ctrlKey === true || card?.ev?.metaKey === true
160
+ card?.ev?.ctrlKey === true || card?.ev?.metaKey === true,
155
161
  )
156
162
  }
157
163
  },
158
164
  focussed(ev) {
159
165
  const path = ev.path || (ev.composedPath && ev.composedPath())
160
166
  const theTabbedCards = path.find(
161
- (el) => el['_prevClass'] === 'tabbed-cards'
167
+ (el) => el['_prevClass'] === 'tabbed-cards',
162
168
  )
163
169
  if (ev.shiftKey && theTabbedCards) {
164
170
  ev.preventDefault()
165
- let selectedTabbedCards = theTabbedCards.getElementsByClassName(
166
- 'isSelected'
167
- )
171
+ let selectedTabbedCards =
172
+ theTabbedCards.getElementsByClassName('isSelected')
168
173
  let selectedCard = selectedTabbedCards[0].getElementsByTagName('button')
169
- let thePrevLGItem = ev.target?.parentElement?.parentElement?.previousSibling?.getElementsByTagName(
170
- 'button'
171
- )
174
+ let thePrevLGItem =
175
+ ev.target?.parentElement?.parentElement?.previousSibling?.getElementsByTagName(
176
+ 'button',
177
+ )
172
178
  if (thePrevLGItem) {
173
179
  thePrevLGItem[0].focus()
174
180
  } else {
@@ -176,22 +182,25 @@ export default {
176
182
  }
177
183
  } else if (!ev.shiftKey && theTabbedCards) {
178
184
  ev.preventDefault()
179
- let selectedTabbedCards = theTabbedCards.getElementsByClassName(
180
- 'isSelected'
181
- )
182
- let nextTabbedCard = selectedTabbedCards[0]?.parentElement?.nextSibling?.getElementsByTagName(
183
- 'button'
184
- )
185
- let theNextLGItem = ev.target?.parentElement?.parentElement?.nextSibling?.getElementsByTagName(
186
- 'button'
187
- )
185
+ let selectedTabbedCards =
186
+ theTabbedCards.getElementsByClassName('isSelected')
187
+ let nextTabbedCard =
188
+ selectedTabbedCards[0]?.parentElement?.nextSibling?.getElementsByTagName(
189
+ 'button',
190
+ )
191
+ let theNextLGItem =
192
+ ev.target?.parentElement?.parentElement?.nextSibling?.getElementsByTagName(
193
+ 'button',
194
+ )
188
195
  if (theNextLGItem) {
189
196
  theNextLGItem[0].focus()
190
197
  } else if (nextTabbedCard) {
191
198
  nextTabbedCard[0].focus()
192
199
  } else {
193
200
  let nextFocus = this.focusNextElement()
194
- this.$root.$emit('last-focus-out')
201
+ if (this.$bus) {
202
+ this.$bus.$emit('last-focus-out')
203
+ }
195
204
  nextFocus.focus()
196
205
  }
197
206
  } else {
@@ -208,7 +217,7 @@ export default {
208
217
  'button:not([disabled]):not([tabindex="-1"])',
209
218
  'input:not([disabled]):not([tabindex="-1"])',
210
219
  'select:not([disabled]):not([tabindex="-1"])',
211
- '[tabindex]:not([disabled]):not([tabindex="-1"])'
220
+ '[tabindex]:not([disabled]):not([tabindex="-1"])',
212
221
  /* add custom queries here */
213
222
  ].join(','),
214
223
  queryResult = Array.prototype.filter.call(
@@ -220,7 +229,7 @@ export default {
220
229
  elem.offsetHeight > 0 ||
221
230
  elem === activeElem
222
231
  )
223
- }
232
+ },
224
233
  ),
225
234
  indexedList = queryResult
226
235
  .slice()
@@ -234,20 +243,20 @@ export default {
234
243
  ? a.tabIndex < b.tabIndex
235
244
  ? -1
236
245
  : b.tabIndex < a.tabIndex
237
- ? 1
238
- : 0
246
+ ? 1
247
+ : 0
239
248
  : a.tabIndex != 0
240
- ? -1
241
- : b.tabIndex != 0
242
- ? 1
243
- : 0
249
+ ? -1
250
+ : b.tabIndex != 0
251
+ ? 1
252
+ : 0
244
253
  }),
245
254
  focusable = [].concat(
246
255
  indexedList,
247
256
  queryResult.filter((elem) => {
248
257
  /* filter out all indexes above 0 */
249
258
  return elem.tabIndex == 0 || elem.tabIndex == -1 ? true : false
250
- })
259
+ }),
251
260
  )
252
261
 
253
262
  /* if reverse is true return the previous focusable element
@@ -256,8 +265,8 @@ export default {
256
265
  ? focusable[focusable.indexOf(activeElem) - 1] ||
257
266
  focusable[focusable.length - 1]
258
267
  : focusable[focusable.indexOf(activeElem) + 1] || focusable[0]
259
- }
260
- }
268
+ },
269
+ },
261
270
  }
262
271
  </script>
263
272
  <style lang="scss" scoped>
@@ -4,61 +4,65 @@ import { storyData, storyDataAr } from './Constants'
4
4
  export default {
5
5
  title: 'Paragraphs/ListGroup',
6
6
  component: ListGroup,
7
+ tags: ['autodocs'],
7
8
  argTypes: {
8
- darkBackground: {
9
- control: 'boolean',
10
- defaultValue: false
11
- },
12
- items: {
13
- control: 'object',
14
- defaultValue: storyData.links
15
- },
16
- rtlItems: {
17
- control: 'object',
18
- defaultValue: storyDataAr.links
19
- },
20
- rtl: {
21
- control: 'boolean',
22
- defaultValue: false
9
+ list: {
10
+ table: {
11
+ disable: true
12
+ }
23
13
  },
24
- titleTag: {
25
- control: 'text',
26
- defaultValue: 'h3'
14
+ title: {
15
+ table: {
16
+ disable: true
17
+ }
27
18
  },
28
- showListItemNavigationArrow: {
29
- control: 'boolean',
30
- defaultValue: true
19
+ role: {
20
+ table: {
21
+ disable: true
22
+ }
31
23
  },
32
- showLargeSpacing: {
33
- control: 'boolean',
34
- defaultValue: false
24
+ subHeading: {
25
+ table: {
26
+ disable: true
27
+ }
35
28
  },
36
- list: {
29
+ footerHeading: {
37
30
  table: {
38
31
  disable: true
39
32
  }
40
33
  },
41
- title: {
34
+ showListLink: {
42
35
  table: {
43
36
  disable: true
44
37
  }
45
38
  }
39
+ },
40
+ args: {
41
+ darkBackground: false,
42
+ items: storyData.links,
43
+ rtlItems: storyDataAr.links,
44
+ rtl: false,
45
+ titleTag: 'h3',
46
+ showListItemNavigationArrow: true,
47
+ showLargeSpacing: false
46
48
  }
47
49
  }
48
50
 
49
- const Template = (args, { argTypes }) => ({
51
+ const Template = (args) => ({
50
52
  components: { ListGroup },
53
+ setup() {
54
+ return { args }
55
+ },
51
56
  data() {
52
57
  return {
53
58
  storyData,
54
59
  storyDataAr
55
60
  }
56
61
  },
57
- props: Object.keys(argTypes),
58
62
  template: `<list-group
59
- v-bind="$props"
60
- :list="rtl ? rtlItems : items"
61
- :title="(rtl ? storyDataAr.title : storyData.title)" />`
63
+ v-bind="args"
64
+ :list="args.rtl ? args.rtlItems : args.items"
65
+ :title="(args.rtl ? storyDataAr.title : storyData.title)" />`
62
66
  })
63
67
 
64
68
  export const Default = Template.bind({})