@worksafevictoria/wcl7.5 1.1.0-beta.11 → 1.1.0-beta.111

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 (348) 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 +17 -14
  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 +69 -49
  21. package/src/components/Common/CardGridItem/card-grid-item-caret.vue +7 -4
  22. package/src/components/Common/CardGridItem/card-grid-item-icon.vue +15 -19
  23. package/src/components/Common/CardGridItem/index.vue +171 -178
  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.stories.js +60 -36
  27. package/src/components/Containers/HomepageHeader/index.vue +16 -26
  28. package/src/components/Containers/HomepageHeaderNew/index.stories.js +75 -0
  29. package/src/components/Containers/HomepageHeaderNew/index.vue +227 -0
  30. package/src/components/Containers/SectionGroup/index.vue +1 -1
  31. package/src/components/Containers/Subheader/index.vue +30 -20
  32. package/src/components/Global/AlertStrip/index.stories.js +1 -0
  33. package/src/components/Global/AppFooter/FooterSocialShare/index.vue +1 -1
  34. package/src/components/Global/AppFooter/index.stories.js +1 -0
  35. package/src/components/Global/AppFooter/index.vue +42 -33
  36. package/src/components/Global/AppFooter/styles.scss +3 -0
  37. package/src/components/Global/AppHeader/index.vue +49 -52
  38. package/src/components/Global/AppHeaderNew/ModalSearch/index.vue +71 -0
  39. package/src/components/Global/AppHeaderNew/ModalSearch/styles.scss +43 -0
  40. package/src/components/Global/AppHeaderNew/includes.scss +71 -0
  41. package/src/components/Global/AppHeaderNew/index.stories.js +74 -0
  42. package/src/components/Global/AppHeaderNew/index.vue +1176 -0
  43. package/src/components/Global/AppHeaderNew/mobile.scss +269 -0
  44. package/src/components/Global/AppHeaderNew/styles.scss +642 -0
  45. package/src/components/Global/BackToTop/index.vue +8 -8
  46. package/src/components/Global/ContrastMode/index.stories.js +1 -0
  47. package/src/components/Global/ContrastMode/index.vue +1 -1
  48. package/src/components/Global/Cookies/index.stories.js +16 -10
  49. package/src/components/Global/Cookies/index.vue +209 -172
  50. package/src/components/Global/Cookies/styles.scss +54 -54
  51. package/src/components/Global/DirectoryFilters/SingleTaxonomy/index.vue +50 -132
  52. package/src/components/Global/DirectoryFilters/index.vue +3 -0
  53. package/src/components/Global/GlobalNotice/index.stories.js +7 -1
  54. package/src/components/Global/GlobalNotice/index.vue +84 -84
  55. package/src/components/Global/HeroHeader/index.stories.js +3 -4
  56. package/src/components/Global/HeroHeader/index.vue +28 -29
  57. package/src/components/Global/ProgressBar/index.stories.js +6 -16
  58. package/src/components/Global/SocialShare/index.vue +3 -2
  59. package/src/components/Global/Strip/index.stories.js +1 -17
  60. package/src/components/Global/Strip/index.vue +9 -5
  61. package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +29 -21
  62. package/src/components/Paragraphs/Accordion/StepperItem/index.vue +23 -23
  63. package/src/components/Paragraphs/Accordion/index.stories.js +22 -18
  64. package/src/components/Paragraphs/Accordion/index.vue +52 -48
  65. package/src/components/Paragraphs/Breakout/index.stories.js +1 -0
  66. package/src/components/Paragraphs/BrowseContent/index.stories.js +1 -0
  67. package/src/components/Paragraphs/BrowseContent/index.vue +42 -32
  68. package/src/components/Paragraphs/BrowseContent/setup.vue +284 -0
  69. package/src/components/Paragraphs/Calculator/Constants.js +2 -2
  70. package/src/components/Paragraphs/Calculator/index.stories.js +1 -0
  71. package/src/components/Paragraphs/Chart/Constants.js +952 -952
  72. package/src/components/Paragraphs/Chart/index.vue +232 -241
  73. package/src/components/Paragraphs/Directory/HSCP/Records/SingleRecord/index.stories.js +34 -0
  74. package/src/components/Paragraphs/Directory/HSCP/Records/SingleRecord/index.vue +321 -0
  75. package/src/components/Paragraphs/Directory/HSCP/Records/index.stories.js +19 -0
  76. package/src/components/Paragraphs/Directory/HSCP/Records/index.vue +345 -0
  77. package/src/components/Paragraphs/Directory/HSCP/Records/pagination.vue +179 -0
  78. package/src/components/Paragraphs/Directory/Records/CJ/index.vue +4 -4
  79. package/src/components/Paragraphs/Directory/Records/ISP/index.vue +6 -6
  80. package/src/components/Paragraphs/Directory/Records/PRS/index.stories.js +34 -0
  81. package/src/components/Paragraphs/Directory/Records/PRS/index.vue +7 -3
  82. package/src/components/Paragraphs/Directory/Records/PRS/recordContent.vue +3 -3
  83. package/src/components/Paragraphs/Directory/Records/PRS/recordDetails.vue +3 -3
  84. package/src/components/Paragraphs/Directory/Records/index.storieshide.js +47 -0
  85. package/src/components/Paragraphs/Directory/Records/index.vue +55 -36
  86. package/src/components/Paragraphs/Directory/constants.js +23 -5
  87. package/src/components/Paragraphs/Directory/index.vue +56 -45
  88. package/src/components/Paragraphs/Directory/{Records/styles.scss → styles.scss} +5 -3
  89. package/src/components/Paragraphs/ListGroup/Link/list-link.stories.js +1 -0
  90. package/src/components/Paragraphs/ListGroup/index.vue +60 -47
  91. package/src/components/Paragraphs/ListGroup/list-group.stories.js +1 -0
  92. package/src/components/Paragraphs/ListGroup/navigation-card.stories.js +1 -0
  93. package/src/components/Paragraphs/Map/Constants.js +4790 -0
  94. package/src/components/Paragraphs/Map/index.mdx +29 -0
  95. package/src/components/Paragraphs/Map/index.stories.js +15 -0
  96. package/src/components/Paragraphs/Map/index.vue +313 -0
  97. package/src/components/Paragraphs/Map/lga-map.json +33462 -0
  98. package/src/components/Paragraphs/Map/postcode_location.json +3543 -0
  99. package/src/components/Paragraphs/MarketingBanner/index.stories.js +4 -18
  100. package/src/components/Paragraphs/ProofPoints/index.stories.js +19 -20
  101. package/src/components/Paragraphs/RelatedInformation/index.stories.js +8 -0
  102. package/src/components/Paragraphs/RichText/index.stories.js +2 -1
  103. package/src/components/Paragraphs/ScrollSpy/index.stories.js +3 -1
  104. package/src/components/Paragraphs/ScrollSpy/index.vue +26 -12
  105. package/src/components/Paragraphs/SelectableCards/Control/index.stories.js +1 -0
  106. package/src/components/Paragraphs/SelectableCards/index.vue +15 -12
  107. package/src/components/Paragraphs/Statistics/index.stories.js +1 -0
  108. package/src/components/Paragraphs/Statistics/index.vue +1 -0
  109. package/src/components/Paragraphs/TabbedCards/index.stories.js +8 -27
  110. package/src/components/Paragraphs/TabbedCards/index.vue +68 -103
  111. package/src/components/Paragraphs/Tabs/index.stories.js +1 -0
  112. package/src/components/Paragraphs/Tabs/index.vue +19 -17
  113. package/src/components/Paragraphs/TabulatedData/index.stories.js +6 -5
  114. package/src/components/Paragraphs/TabulatedData/index.vue +63 -35
  115. package/src/components/Paragraphs/TaskFinder/index.stories.js +2 -2
  116. package/src/components/Paragraphs/TaskFinder/index.vue +3 -3
  117. package/src/components/Paragraphs/TaskFinder/task-finder-column.vue +1 -1
  118. package/src/components/Paragraphs/TextMedia/MediaTypes/Video/index.vue +9 -9
  119. package/src/components/Paragraphs/TextMedia/index.stories.js +1 -0
  120. package/src/components/Paragraphs/TextMedia/index.vue +20 -16
  121. package/src/components/Paragraphs/VideoGrid/index.stories.js +44 -19
  122. package/src/components/Paragraphs/VideoGrid/index.vue +13 -13
  123. package/src/components/Paragraphs/VideoPlayer/index.stories.js +1 -13
  124. package/src/components/Paragraphs/Webform/index.stories.js +94 -57
  125. package/src/components/Paragraphs/Webform/index.vue +11 -8
  126. package/src/components/SubComponents/Breadcrumb/index.stories.js +3 -11
  127. package/src/components/SubComponents/Breadcrumb/index.vue +4 -0
  128. package/src/components/SubComponents/CardGroup/index.stories.js +1 -30
  129. package/src/components/SubComponents/CardGroup/index.vue +38 -28
  130. package/src/components/SubComponents/CtaButton/index.stories.js +1 -24
  131. package/src/components/SubComponents/CtaButton/index.vue +27 -25
  132. package/src/components/SubComponents/FormAddressPostcode/index.stories.js +3 -28
  133. package/src/components/SubComponents/FormAddressPostcode/index.vue +35 -37
  134. package/src/components/SubComponents/FormInstance/components/alert/index.vue +129 -0
  135. package/src/components/SubComponents/FormInstance/components/custom/base-formio.js +77 -0
  136. package/src/components/SubComponents/FormInstance/components/custom/code-formio.js +35 -0
  137. package/src/components/SubComponents/FormInstance/components/custom/custom-formio-registry.js +30 -0
  138. package/src/components/SubComponents/FormInstance/components/custom/range-formio.js +121 -0
  139. package/src/components/SubComponents/FormInstance/components/custom/rating-formio.js +121 -0
  140. package/src/components/SubComponents/FormInstance/components/custom/scale-formio.js +99 -0
  141. package/src/components/SubComponents/FormInstance/components/custom/tableselect-formio.js +200 -0
  142. package/src/components/SubComponents/FormInstance/components/handler/index.vue +204 -0
  143. package/src/components/SubComponents/FormInstance/components/renderer/index.vue +333 -0
  144. package/src/components/SubComponents/FormInstance/index.test.js +65 -0
  145. package/src/components/SubComponents/FormInstance/index.vue +55 -6
  146. package/src/components/SubComponents/FormInstance/models/base-form-element.js +338 -0
  147. package/src/components/SubComponents/FormInstance/models/form-callback-queue.js +45 -0
  148. package/src/components/SubComponents/FormInstance/models/form-utils.js +50 -0
  149. package/src/components/SubComponents/FormInstance/models/overrides/address.js +141 -0
  150. package/src/components/SubComponents/FormInstance/models/overrides/autocomplete.js +41 -0
  151. package/src/components/SubComponents/FormInstance/models/overrides/checkbox.js +14 -0
  152. package/src/components/SubComponents/FormInstance/models/overrides/checkboxes.js +49 -0
  153. package/src/components/SubComponents/FormInstance/models/overrides/code.js +27 -0
  154. package/src/components/SubComponents/FormInstance/models/overrides/composite.js +57 -0
  155. package/src/components/SubComponents/FormInstance/models/overrides/container.js +65 -0
  156. package/src/components/SubComponents/FormInstance/models/overrides/currency.js +17 -0
  157. package/src/components/SubComponents/FormInstance/models/overrides/customcomposite.js +41 -0
  158. package/src/components/SubComponents/FormInstance/models/overrides/date.js +126 -0
  159. package/src/components/SubComponents/FormInstance/models/overrides/datelist.js +73 -0
  160. package/src/components/SubComponents/FormInstance/models/overrides/detail.js +38 -0
  161. package/src/components/SubComponents/FormInstance/models/overrides/email-confirm.js +12 -0
  162. package/src/components/SubComponents/FormInstance/models/overrides/email.js +7 -0
  163. package/src/components/SubComponents/FormInstance/models/overrides/file.js +54 -0
  164. package/src/components/SubComponents/FormInstance/models/overrides/flexbox.js +33 -0
  165. package/src/components/SubComponents/FormInstance/models/overrides/hidden.js +24 -0
  166. package/src/components/SubComponents/FormInstance/models/overrides/likert.js +40 -0
  167. package/src/components/SubComponents/FormInstance/models/overrides/markup.js +47 -0
  168. package/src/components/SubComponents/FormInstance/models/overrides/message.js +53 -0
  169. package/src/components/SubComponents/FormInstance/models/overrides/moretext.js +64 -0
  170. package/src/components/SubComponents/FormInstance/models/overrides/multiple.js +51 -0
  171. package/src/components/SubComponents/FormInstance/models/overrides/number.js +22 -0
  172. package/src/components/SubComponents/FormInstance/models/overrides/options-other.js +34 -0
  173. package/src/components/SubComponents/FormInstance/models/overrides/page.js +7 -0
  174. package/src/components/SubComponents/FormInstance/models/overrides/phonenumber.js +13 -0
  175. package/src/components/SubComponents/FormInstance/models/overrides/radio.js +31 -0
  176. package/src/components/SubComponents/FormInstance/models/overrides/range.js +19 -0
  177. package/src/components/SubComponents/FormInstance/models/overrides/rating.js +47 -0
  178. package/src/components/SubComponents/FormInstance/models/overrides/scale.js +33 -0
  179. package/src/components/SubComponents/FormInstance/models/overrides/section.js +39 -0
  180. package/src/components/SubComponents/FormInstance/models/overrides/select.js +28 -0
  181. package/src/components/SubComponents/FormInstance/models/overrides/signature.js +7 -0
  182. package/src/components/SubComponents/FormInstance/models/overrides/submit.js +23 -0
  183. package/src/components/SubComponents/FormInstance/models/overrides/table.js +48 -0
  184. package/src/components/SubComponents/FormInstance/models/overrides/tablerow.js +20 -0
  185. package/src/components/SubComponents/FormInstance/models/overrides/tableselect.js +66 -0
  186. package/src/components/SubComponents/FormInstance/models/overrides/testing.js +47 -0
  187. package/src/components/SubComponents/FormInstance/models/overrides/text.js +7 -0
  188. package/src/components/SubComponents/FormInstance/models/overrides/textarea.js +26 -0
  189. package/src/components/SubComponents/FormInstance/models/overrides/textformat.js +13 -0
  190. package/src/components/SubComponents/FormInstance/models/overrides/time.js +13 -0
  191. package/src/components/SubComponents/FormInstance/models/overrides/twig.js +118 -0
  192. package/src/components/SubComponents/FormInstance/models/overrides/unknown.js +24 -0
  193. package/src/components/SubComponents/FormInstance/models/overrides/url.js +13 -0
  194. package/src/components/SubComponents/FormInstance/services/convert-form-element.js +49 -0
  195. package/src/components/SubComponents/FormInstance/services/form-api.js +47 -0
  196. package/src/components/SubComponents/FormInstance/services/form-render-parser.js +156 -0
  197. package/src/components/SubComponents/FormInstance/services/form-submit-parser.js +68 -0
  198. package/src/components/SubComponents/FormInstance/services/logic-linker.js +73 -0
  199. package/src/components/SubComponents/FormInstance/services/logic-parser.js +173 -0
  200. package/src/components/SubComponents/FormInstance/services/registry-factory.js +284 -0
  201. package/src/components/SubComponents/FormInstance/stories/Documentation.mdx +234 -0
  202. package/src/components/SubComponents/FormInstance/stories/advanced.stories.js +109 -0
  203. package/src/components/SubComponents/FormInstance/stories/basic.stories.js +73 -0
  204. package/src/components/SubComponents/FormInstance/stories/build.stories.js +27 -0
  205. package/src/components/SubComponents/FormInstance/stories/composite.stories.js +90 -0
  206. package/src/components/SubComponents/FormInstance/stories/condition.stories.js +83 -0
  207. package/src/components/SubComponents/FormInstance/stories/custom.stories.js +69 -0
  208. package/src/components/SubComponents/FormInstance/stories/date.stories.js +76 -0
  209. package/src/components/SubComponents/FormInstance/stories/fileupload.stories.js +57 -0
  210. package/src/components/SubComponents/FormInstance/stories/form-alert.stories.js +93 -0
  211. package/src/components/SubComponents/FormInstance/stories/index.stories.js +63 -0
  212. package/src/components/SubComponents/FormInstance/stories/layout.stories.js +85 -0
  213. package/src/components/SubComponents/FormInstance/stories/markup.stories.js +91 -0
  214. package/src/components/SubComponents/FormInstance/stories/mocks/address.json +298 -0
  215. package/src/components/SubComponents/FormInstance/stories/mocks/advancedhtml.json +23 -0
  216. package/src/components/SubComponents/FormInstance/stories/mocks/autocomplete.json +34 -0
  217. package/src/components/SubComponents/FormInstance/stories/mocks/basichtml.json +15 -0
  218. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxes.json +102 -0
  219. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxesother.json +197 -0
  220. package/src/components/SubComponents/FormInstance/stories/mocks/container.json +134 -0
  221. package/src/components/SubComponents/FormInstance/stories/mocks/customcomposite.json +469 -0
  222. package/src/components/SubComponents/FormInstance/stories/mocks/date.json +19 -0
  223. package/src/components/SubComponents/FormInstance/stories/mocks/datelist.json +752 -0
  224. package/src/components/SubComponents/FormInstance/stories/mocks/datetime.json +89 -0
  225. package/src/components/SubComponents/FormInstance/stories/mocks/details.json +63 -0
  226. package/src/components/SubComponents/FormInstance/stories/mocks/email.json +18 -0
  227. package/src/components/SubComponents/FormInstance/stories/mocks/emailconfirm.json +110 -0
  228. package/src/components/SubComponents/FormInstance/stories/mocks/fieldset.json +62 -0
  229. package/src/components/SubComponents/FormInstance/stories/mocks/fileupload.json +25 -0
  230. package/src/components/SubComponents/FormInstance/stories/mocks/flexbox.json +58 -0
  231. package/src/components/SubComponents/FormInstance/stories/mocks/hidden.json +35 -0
  232. package/src/components/SubComponents/FormInstance/stories/mocks/horizontalrule.json +14 -0
  233. package/src/components/SubComponents/FormInstance/stories/mocks/jahd.json +1359 -0
  234. package/src/components/SubComponents/FormInstance/stories/mocks/label.json +14 -0
  235. package/src/components/SubComponents/FormInstance/stories/mocks/likert.json +375 -0
  236. package/src/components/SubComponents/FormInstance/stories/mocks/message.json +86 -0
  237. package/src/components/SubComponents/FormInstance/stories/mocks/more.json +19 -0
  238. package/src/components/SubComponents/FormInstance/stories/mocks/multiple.json +142 -0
  239. package/src/components/SubComponents/FormInstance/stories/mocks/number.json +35 -0
  240. package/src/components/SubComponents/FormInstance/stories/mocks/quad.json +249 -0
  241. package/src/components/SubComponents/FormInstance/stories/mocks/radios.json +70 -0
  242. package/src/components/SubComponents/FormInstance/stories/mocks/radiosother.json +176 -0
  243. package/src/components/SubComponents/FormInstance/stories/mocks/range.json +58 -0
  244. package/src/components/SubComponents/FormInstance/stories/mocks/rating.json +42 -0
  245. package/src/components/SubComponents/FormInstance/stories/mocks/rule-disabled-value.json +66 -0
  246. package/src/components/SubComponents/FormInstance/stories/mocks/rule-enabled-value.json +43 -0
  247. package/src/components/SubComponents/FormInstance/stories/mocks/rule-hidden-value.json +68 -0
  248. package/src/components/SubComponents/FormInstance/stories/mocks/rule-required-value.json +69 -0
  249. package/src/components/SubComponents/FormInstance/stories/mocks/rule-visible-value.json +157 -0
  250. package/src/components/SubComponents/FormInstance/stories/mocks/sameas.json +66 -0
  251. package/src/components/SubComponents/FormInstance/stories/mocks/scale.json +200 -0
  252. package/src/components/SubComponents/FormInstance/stories/mocks/section.json +63 -0
  253. package/src/components/SubComponents/FormInstance/stories/mocks/select.json +41 -0
  254. package/src/components/SubComponents/FormInstance/stories/mocks/selectother.json +115 -0
  255. package/src/components/SubComponents/FormInstance/stories/mocks/signature.json +25 -0
  256. package/src/components/SubComponents/FormInstance/stories/mocks/styles.json +81 -0
  257. package/src/components/SubComponents/FormInstance/stories/mocks/table-select.json +472 -0
  258. package/src/components/SubComponents/FormInstance/stories/mocks/table.json +154 -0
  259. package/src/components/SubComponents/FormInstance/stories/mocks/telephone.json +18 -0
  260. package/src/components/SubComponents/FormInstance/stories/mocks/textarea.json +22 -0
  261. package/src/components/SubComponents/FormInstance/stories/mocks/textfield.json +66 -0
  262. package/src/components/SubComponents/FormInstance/stories/mocks/time.json +20 -0
  263. package/src/components/SubComponents/FormInstance/stories/mocks/token.json +260 -0
  264. package/src/components/SubComponents/FormInstance/stories/mocks/twig.json +154 -0
  265. package/src/components/SubComponents/FormInstance/stories/mocks/url.json +18 -0
  266. package/src/components/SubComponents/FormInstance/stories/mocks/value.json +17 -0
  267. package/src/components/SubComponents/FormInstance/stories/mocks/wizard.json +353 -0
  268. package/src/components/SubComponents/FormInstance/stories/options.stories.js +98 -0
  269. package/src/components/SubComponents/FormInstance/stories/style.stories.js +55 -0
  270. package/src/components/SubComponents/FormInstance/stories/wizard.stories.js +55 -0
  271. package/src/components/SubComponents/FormInstance/style.scss +185 -0
  272. package/src/components/SubComponents/FormInstance/tests/address.test.js +255 -0
  273. package/src/components/SubComponents/FormInstance/tests/advancedhtml.test.js +31 -0
  274. package/src/components/SubComponents/FormInstance/tests/autocomplete.test.js +38 -0
  275. package/src/components/SubComponents/FormInstance/tests/basichtml.test.js +31 -0
  276. package/src/components/SubComponents/FormInstance/tests/checkbox.test.js +29 -0
  277. package/src/components/SubComponents/FormInstance/tests/checkboxes.test.js +44 -0
  278. package/src/components/SubComponents/FormInstance/tests/checkboxesother.test.js +91 -0
  279. package/src/components/SubComponents/FormInstance/tests/container.test.js +66 -0
  280. package/src/components/SubComponents/FormInstance/tests/customcomposite.test.js +86 -0
  281. package/src/components/SubComponents/FormInstance/tests/date.test.js +63 -0
  282. package/src/components/SubComponents/FormInstance/tests/datelist.test.js +136 -0
  283. package/src/components/SubComponents/FormInstance/tests/datetime.test.js +54 -0
  284. package/src/components/SubComponents/FormInstance/tests/details.test.js +58 -0
  285. package/src/components/SubComponents/FormInstance/tests/email.test.js +28 -0
  286. package/src/components/SubComponents/FormInstance/tests/emailconfirm.test.js +79 -0
  287. package/src/components/SubComponents/FormInstance/tests/fieldset.test.js +63 -0
  288. package/src/components/SubComponents/FormInstance/tests/flexbox.test.js +71 -0
  289. package/src/components/SubComponents/FormInstance/tests/form-test-utils.js +120 -0
  290. package/src/components/SubComponents/FormInstance/tests/form.test.js +26 -0
  291. package/src/components/SubComponents/FormInstance/tests/hidden.test.js +52 -0
  292. package/src/components/SubComponents/FormInstance/tests/horizontalrule.test.js +31 -0
  293. package/src/components/SubComponents/FormInstance/tests/label.test.js +31 -0
  294. package/src/components/SubComponents/FormInstance/tests/likert.test.js +38 -0
  295. package/src/components/SubComponents/FormInstance/tests/message.test.js +89 -0
  296. package/src/components/SubComponents/FormInstance/tests/more.test.js +32 -0
  297. package/src/components/SubComponents/FormInstance/tests/multiple.test.js +71 -0
  298. package/src/components/SubComponents/FormInstance/tests/number.test.js +51 -0
  299. package/src/components/SubComponents/FormInstance/tests/radios.test.js +34 -0
  300. package/src/components/SubComponents/FormInstance/tests/radiosother.test.js +79 -0
  301. package/src/components/SubComponents/FormInstance/tests/range.test.js +32 -0
  302. package/src/components/SubComponents/FormInstance/tests/rating.test.js +38 -0
  303. package/src/components/SubComponents/FormInstance/tests/rule-disabled.test.js +128 -0
  304. package/src/components/SubComponents/FormInstance/tests/rule-enabled-value.test.js +78 -0
  305. package/src/components/SubComponents/FormInstance/tests/rule-hidden.test.js +131 -0
  306. package/src/components/SubComponents/FormInstance/tests/rule-required-value.test.js +144 -0
  307. package/src/components/SubComponents/FormInstance/tests/rule-visible.test.js +619 -0
  308. package/src/components/SubComponents/FormInstance/tests/sameas.test.js +94 -0
  309. package/src/components/SubComponents/FormInstance/tests/scale.test.js +43 -0
  310. package/src/components/SubComponents/FormInstance/tests/section.test.js +63 -0
  311. package/src/components/SubComponents/FormInstance/tests/select.test.js +45 -0
  312. package/src/components/SubComponents/FormInstance/tests/selectother.test.js +82 -0
  313. package/src/components/SubComponents/FormInstance/tests/signature.test.js +32 -0
  314. package/src/components/SubComponents/FormInstance/tests/styles.test.js +73 -0
  315. package/src/components/SubComponents/FormInstance/tests/table-select.test.js +93 -0
  316. package/src/components/SubComponents/FormInstance/tests/table.test.js +97 -0
  317. package/src/components/SubComponents/FormInstance/tests/telephone.test.js +29 -0
  318. package/src/components/SubComponents/FormInstance/tests/textarea.test.js +29 -0
  319. package/src/components/SubComponents/FormInstance/tests/textfield.test.js +48 -0
  320. package/src/components/SubComponents/FormInstance/tests/time.test.js +29 -0
  321. package/src/components/SubComponents/FormInstance/tests/token.test.js +33 -0
  322. package/src/components/SubComponents/FormInstance/tests/twig.test.js +74 -0
  323. package/src/components/SubComponents/FormInstance/tests/url.test.js +48 -0
  324. package/src/components/SubComponents/FormInstance/tests/value.test.js +31 -0
  325. package/src/components/SubComponents/FormInstance/tests/wizard.test.js +145 -0
  326. package/src/components/SubComponents/Icon/index.stories.js +1 -6
  327. package/src/components/SubComponents/MediaPlayer/index.stories.js +1 -6
  328. package/src/components/SubComponents/Pagination/index.stories.js +3 -8
  329. package/src/components/SubComponents/Pagination/index.vue +19 -18
  330. package/src/components/SubComponents/ResourceGroup/List/index.stories.js +3 -2
  331. package/src/components/SubComponents/ResourceGroup/index.vue +292 -281
  332. package/src/components/SubComponents/ResourceGroup/styles.scss +2 -0
  333. package/src/components/SubComponents/Search/SearchListing/index.vue +20 -20
  334. package/src/components/SubComponents/Search/index.vue +47 -40
  335. package/src/components/SubComponents/SingleImage/index.stories.js +2 -16
  336. package/src/components/SubComponents/VideoThumbnail/index.stories.js +1 -0
  337. package/src/components/SubComponents/VideoThumbnail/index.vue +48 -136
  338. package/src/includes/scss/mixins/src/grid.scss +4 -2
  339. package/src/includes/scss/mixins/src/units.scss +25 -4
  340. package/src/includes/scss/vars/src/colors.module.scss +28 -1
  341. package/src/index.js +25 -3
  342. package/src/main.js +2 -10
  343. package/src/mock/app-header-new.js +715 -0
  344. package/src/mock/carousel-items.js +82 -0
  345. package/src/mock/course-provider.js +273 -0
  346. package/src/mock/jest.fileMock.js +1 -0
  347. package/vite.config.js +28 -15
  348. package/src/components/SubComponents/FormInstance/index.stories.js +0 -8
@@ -1,140 +1,132 @@
1
1
  <template>
2
- <card-grid
3
- :title="title"
4
- :title-tag="titleTag"
5
- :cards="displayedCards"
6
- :rtl="rtl"
7
- :force-lg-columns-per-row="columns"
8
- :force-md-columns-per-row="columns"
9
- :force-sm-columns-per-row="columns"
10
- :is-selectable="false"
11
- :row-spacing="'large'"
12
- :class="[`card_group--${background}`, `card_group--${cardResourseType}`]"
13
- :background-variant="background"
14
- @selected="selectedCard"
15
- >
16
- <template
17
- v-if="enableBundleFilter && bundle.length > 1"
18
- v-slot:gridHeaderRight
2
+ <div>
3
+ <card-grid
4
+ :title="title"
5
+ :title-tag="titleTag"
6
+ :cards="displayedCards"
7
+ :rtl="rtl"
8
+ :force-lg-columns-per-row="columns"
9
+ :force-md-columns-per-row="columns"
10
+ :force-sm-columns-per-row="columns"
11
+ :is-selectable="false"
12
+ :row-spacing="'large'"
13
+ :class="[`card_group--${background}`, `card_group--${cardResourseType}`]"
14
+ :background-variant="background"
15
+ @selected="selectedCard"
19
16
  >
20
- <switcher
21
- v-if="enableBundleFilter"
22
- :options="bundle"
23
- class="card_group__switcher"
24
- :get-option-alias="getBundleAlias"
25
- @switched="onSwitcher"
26
- @reset="onSwitcher"
27
- />
28
- </template>
17
+ <template v-if="enableBundleFilter && bundle.length > 1" v-slot:gridHeaderRight>
18
+ <switcher
19
+ v-if="enableBundleFilter"
20
+ :options="bundle"
21
+ class="card_group__switcher"
22
+ :get-option-alias="getBundleAlias"
23
+ @switched="onSwitcher"
24
+ @reset="onSwitcher"
25
+ />
26
+ </template>
29
27
 
30
- <template v-if="filters.taxonomies.length > 0" v-slot:gridPreContent>
31
- <directory-filters
32
- class="card_group__filter"
33
- :filters="filters"
34
- :results="allCards.total"
35
- :is-filtering="loader"
36
- @onFilter="onFilter"
37
- @onReset="reset"
38
- />
39
- </template>
28
+ <template v-if="filters.taxonomies.length > 0" v-slot:gridPreContent>
29
+ <directory-filters
30
+ class="card_group__filter"
31
+ :filters="filters"
32
+ :results="allCards.total"
33
+ :is-filtering="loader"
34
+ @onFilter="onFilter"
35
+ @onReset="reset"
36
+ />
37
+ </template>
40
38
 
41
- <template v-slot:cardItem="{ card }">
42
- <card-grid-item
43
- v-if="card"
44
- :show-divider="false"
45
- :header-size="'large'"
46
- class="card_group__card"
47
- :class="{
48
- [`card_group__card--${card.colour}`]: card.pillText,
49
- [`card_group__card--none`]: !card.pillText,
50
- [`card_group__card--${cardResourseType}`]: 'card_group__card--resourse-group'
51
- }"
52
- :card-header-title="card.title"
53
- :caret="getCaret(card)"
54
- :description="card.description"
55
- :card-padding="'none'"
56
- :caret-position="'bottom'"
57
- :rtl="card.rtl"
58
- :border-type="background === 'white' ? 'thick' : 'none'"
59
- :pill-text="card.pillText"
60
- :link="card.link ? card.link : false"
61
- :taxonomies="{
62
- industry: card.industry,
63
- topic: card.topic,
64
- language: card.language
65
- }"
66
- >
67
- <template v-slot:cardTop>
68
- <card-top :card="card" :resource-type="cardResourseType" />
69
- </template>
39
+ <template v-slot:cardItem="{ card }">
40
+ <card-grid-item
41
+ v-if="card"
42
+ :show-divider="false"
43
+ :header-size="'large'"
44
+ class="card_group__card"
45
+ :class="{
46
+ [`card_group__card--${card.colour}`]: card.pillText,
47
+ [`card_group__card--none`]: !card.pillText,
48
+ [`card_group__card--${cardResourseType}`]: 'card_group__card--resourse-group',
49
+ }"
50
+ :card-header-title="card.title"
51
+ :caret="getCaret(card)"
52
+ :description="card.description"
53
+ :card-padding="'none'"
54
+ :caret-position="'bottom'"
55
+ :rtl="card.rtl"
56
+ :border-type="background === 'white' ? 'thick' : 'none'"
57
+ :pill-text="card.pillText"
58
+ :link="card.link ? card.link : false"
59
+ :taxonomies="{
60
+ industry: card.industry,
61
+ topic: card.topic,
62
+ language: card.language,
63
+ }"
64
+ >
65
+ <template v-slot:cardTop>
66
+ <card-top :card="card" :resource-type="cardResourseType" />
67
+ </template>
70
68
 
71
- <template v-slot:cardDescription>
72
- <card-body :card="card" :resource-type="cardResourseType" />
73
- </template>
69
+ <template v-slot:cardDescription>
70
+ <card-body :card="card" :resource-type="cardResourseType" />
71
+ </template>
74
72
 
75
- <!-- footer - download button -->
76
- <template
77
- v-if="cardResourseType === 'resource-group'"
78
- v-slot:cardFooter
79
- >
80
- <card-footer :card="card" :resource-type="cardResourseType" />
81
- </template>
82
- </card-grid-item>
83
- </template>
73
+ <!-- footer - download button -->
74
+ <template v-if="cardResourseType === 'resource-group'" v-slot:cardFooter>
75
+ <card-footer :card="card" :resource-type="cardResourseType" />
76
+ </template>
77
+ </card-grid-item>
78
+ </template>
84
79
 
85
- <template
86
- v-if="
87
- loader ||
80
+ <template
81
+ v-if="
82
+ loader ||
88
83
  (displayedCards.length === 0 && !loader) ||
89
84
  $slots.cardGroupFooter ||
90
85
  (!loader && showLoadMore && hasMorePages)
91
- "
92
- v-slot:cardGridFooter
93
- >
94
- <column v-if="loader" sm="12">
95
- <strong>Loading... </strong>
96
- <b-spinner class="float-right"></b-spinner>
97
- </column>
98
- <column v-if="displayedCards.length === 0 && !loading" sm="12">
99
- <strong>{{ emptyCardsText }}</strong>
100
- </column>
101
- <column v-if="$slots.cardGroupFooter" sm="12">
102
- <slot name="cardGroupFooter"></slot>
103
- </column>
104
- <column v-if="!loader && showLoadMore" sm="12" class="text-center">
105
- <cta-button
106
- type="dark"
107
- :focus-outline="'light'"
108
- :text-only="true"
109
- :is-centred="true"
110
- :class="'card_group__loadmore mb-0'"
111
- @clicked="handleLoadMore"
112
- >Load more</cta-button
113
- >
114
- </column>
115
- </template>
116
- </card-grid>
86
+ "
87
+ v-slot:cardGridFooter
88
+ >
89
+ <column v-if="loader" sm="12">
90
+ <strong>Loading... </strong>
91
+ <b-spinner class="float-right"></b-spinner>
92
+ </column>
93
+ <column v-if="displayedCards.length === 0 && !loading" sm="12">
94
+ <strong>{{ emptyCardsText }}</strong>
95
+ </column>
96
+ <column v-if="$slots.cardGroupFooter" sm="12">
97
+ <slot name="cardGroupFooter"></slot>
98
+ </column>
99
+ <column v-if="!loader && showLoadMore" sm="12" class="text-center">
100
+ <cta-button
101
+ type="dark"
102
+ :focus-outline="'light'"
103
+ :text-only="true"
104
+ :is-centred="true"
105
+ :class="'card_group__loadmore mb-0'"
106
+ @clicked="handleLoadMore"
107
+ >Load more</cta-button
108
+ >
109
+ </column>
110
+ </template>
111
+ </card-grid>
112
+ </div>
117
113
  </template>
118
114
 
119
115
  <script>
120
- import Column from './../../Containers/Column/index.vue'
121
- import CardGrid from './../../Common/CardGrid/index.vue'
122
- import CardGridItem from './../../Common/CardGridItem/index.vue'
123
- import CardTop from './cardtop.vue'
124
- import CardBody from './cardbody.vue'
125
- import CardFooter from './cardfooter.vue'
126
- import CtaButton from './../CtaButton/index.vue'
127
- import DirectoryFilters from './../../Global/DirectoryFilters/index.vue'
128
- import Switcher from './switcher.vue'
129
- import {
130
- isAbsoluteUrl,
131
- navigateToPath,
132
- isGovSite
133
- } from './../../../../lib/utility'
134
- import { BSpinner } from 'bootstrap-vue-next'
116
+ import Column from "./../../Containers/Column/index.vue";
117
+ import CardGrid from "./../../Common/CardGrid/index.vue";
118
+ import CardGridItem from "./../../Common/CardGridItem/index.vue";
119
+ import CardTop from "./cardtop.vue";
120
+ import CardBody from "./cardbody.vue";
121
+ import CardFooter from "./cardfooter.vue";
122
+ import CtaButton from "./../CtaButton/index.vue";
123
+ import DirectoryFilters from "./../../Global/DirectoryFilters/index.vue";
124
+ import Switcher from "./switcher.vue";
125
+ import { isAbsoluteUrl, navigateToPath, isGovSite } from "./../../../../lib/utility";
126
+ import { BSpinner } from "bootstrap-vue-next";
135
127
 
136
128
  export default {
137
- name: 'ResourceGroup',
129
+ name: "ResourceGroup",
138
130
  components: {
139
131
  Column,
140
132
  CardGrid,
@@ -145,80 +137,92 @@ export default {
145
137
  CtaButton,
146
138
  DirectoryFilters,
147
139
  Switcher,
148
- BSpinner
140
+ BSpinner,
149
141
  },
150
142
  props: {
151
143
  background: {
152
144
  type: String,
153
- default: 'white'
145
+ default: "white",
154
146
  },
155
147
  title: {
156
148
  type: String,
157
- default: ''
149
+ default: "",
158
150
  },
159
151
  titleTag: {
160
152
  type: String,
161
- default: 'h2'
153
+ default: "h2",
162
154
  },
163
155
  rtl: {
164
156
  type: Boolean,
165
- default: false
157
+ default: false,
166
158
  },
167
159
  bundle: {
168
160
  type: Array,
169
- default: () => ['']
161
+ default: () => [""],
170
162
  },
171
163
  columns: {
172
164
  type: Number,
173
- default: 3
165
+ default: 3,
174
166
  },
175
167
  initialDisplyLimit: {
176
168
  type: Number,
177
- default: 0
169
+ default: 0,
178
170
  },
179
171
  fetchContent: {
180
172
  type: Function,
181
- required: true
173
+ required: true,
182
174
  },
183
175
  fetchFilters: {
184
176
  type: Function,
185
177
  required: false,
186
- default: null
178
+ default: null,
187
179
  },
188
180
  enableBundleFilter: {
189
- type: Boolean
181
+ type: Boolean,
190
182
  },
191
183
  getBundleAlias: {
192
184
  type: Function,
193
185
  required: false,
194
- default: null
186
+ default: null,
195
187
  },
196
188
  type: {
197
189
  type: String,
198
- required: true
190
+ required: true,
199
191
  },
200
192
  resourceType: {
201
193
  type: String,
202
- default: 'resource-group'
194
+ default: "resource-group",
203
195
  },
204
196
  showLoadMore: {
205
197
  type: Boolean,
206
- default: false
198
+ default: false,
207
199
  },
208
200
  emptyCardsText: {
209
201
  type: String,
210
- default: 'No results returned'
202
+ default: "No results returned",
211
203
  },
212
204
  loading: {
213
205
  type: Boolean,
214
- default: false
215
- }
206
+ default: false,
207
+ },
216
208
  },
217
- async fetch() {
209
+ // Temp use of mounted to replace fetch
210
+ async mounted() {
218
211
  if (this.displayedCards.length === 0) {
219
- await this.loadFiltersAndContent()
212
+ console.log(
213
+ "🚀 ~ mounted ~ this.displayedCards.length:",
214
+ this.displayedCards.length
215
+ );
216
+ await this.loadFiltersAndContent();
220
217
  }
221
218
  },
219
+ // TODO useAsyncData <script setup>
220
+ // async fetch() {
221
+ // if (this.displayedCards.length === 0) {
222
+ // await this.loadFiltersAndContent()
223
+ // }
224
+ // },
225
+
222
226
  data() {
223
227
  return {
224
228
  loader: this.loading,
@@ -231,283 +235,282 @@ export default {
231
235
  filters: {
232
236
  taxonomies: [],
233
237
  selected: {},
234
- availableBundles: []
235
- }
236
- }
238
+ availableBundles: [],
239
+ },
240
+ };
237
241
  },
238
242
  computed: {
239
243
  allCardsRTL() {
240
244
  if (this.displayedCards.length === 0) {
241
- return this.rtl
245
+ return this.rtl;
242
246
  }
243
- return this.displayedCards.every((card) => this.rtl || card.rtl)
244
- }
247
+ return this.displayedCards.every((card) => this.rtl || card.rtl);
248
+ },
245
249
  },
246
250
  fetchOnServer: true,
247
- fetchKey: 'wcl-card-group',
251
+ fetchKey: "wcl-card-group",
248
252
  methods: {
249
253
  async loadFiltersAndContent() {
250
254
  await Promise.all([
251
255
  this.fetchFilters ? this.loadFilters() : Promise.resolve(),
252
- this.loadMoreCards(true)
253
- ])
256
+ this.loadMoreCards(true),
257
+ ]);
258
+ console.log("🚀 ~ loadFiltersAndContent ~ this.fetchFilters:", this.fetchFilters);
254
259
  },
255
260
  init() {
256
261
  this.allCards = {
257
262
  total: 0,
258
- cards: []
259
- }
260
- this.displayLimit = 0
261
- this.hasMorePages = false
262
- this.displayedCards = []
263
- this.bundleCache = {}
263
+ cards: [],
264
+ };
265
+ this.displayLimit = 0;
266
+ this.hasMorePages = false;
267
+ this.displayedCards = [];
268
+ this.bundleCache = {};
264
269
  },
265
270
  async fetchCards(currentDisplayedCards, allCards, addMoreBy, bundles) {
266
271
  const shouldMakeNewFetchCall =
267
- currentDisplayedCards.length + addMoreBy > allCards.cards.length
272
+ currentDisplayedCards.length + addMoreBy > allCards.cards.length;
268
273
 
269
274
  if (shouldMakeNewFetchCall) {
270
275
  const cardBundles = await Promise.all(
271
- bundles.map((bundle, index) =>
272
- this.getBundle(bundle, addMoreBy, index)
273
- )
274
- )
276
+ bundles.map((bundle, index) => this.getBundle(bundle, addMoreBy, index))
277
+ );
275
278
 
276
- allCards = this.getShuffledCards(cardBundles)
279
+ allCards = this.getShuffledCards(cardBundles);
277
280
 
278
281
  if (
279
- this.type === 'paragraph--cards_group_latest' ||
280
- this.type === 'paragraph--browse_content' ||
281
- this.type === 'paragraph--resource_group' ||
282
- this.type === 'paragraph--resource_list'
282
+ this.type === "paragraph--cards_group_latest" ||
283
+ this.type === "paragraph--browse_content" ||
284
+ this.type === "paragraph--resource_group" ||
285
+ this.type === "paragraph--resource_list"
283
286
  ) {
284
- allCards.cards = this.sortByDate(allCards.cards)
287
+ allCards.cards = this.sortByDate(allCards.cards);
285
288
  }
286
289
  }
287
- return allCards
290
+ return allCards;
288
291
  },
289
292
  async loadMoreCards(init) {
290
293
  const attrs = {
291
- group: this.$store?.state?.page?.content?.title
292
- }
294
+ group: this.$pageStore?.content?.title,
295
+ //group: this.$store?.state?.page?.content?.title,
296
+ };
293
297
  if (this.$gtm && !init) {
294
- this.$gtm.push({ event: 'custom.interaction.showmore.click', ...attrs })
298
+ this.$gtm.push({ event: "custom.interaction.showmore.click", ...attrs });
295
299
  }
296
300
  if (init) {
297
- this.init()
301
+ this.init();
298
302
  }
299
- this.loader = true
300
- const addMoreBy = this.initialDisplyLimit
301
- this.displayLimit += addMoreBy
303
+ this.loader = true;
304
+ const addMoreBy = this.initialDisplyLimit;
305
+ this.displayLimit += addMoreBy;
302
306
  const bundles =
303
307
  this.filters.availableBundles.length > 0
304
308
  ? this.filters.availableBundles
305
- : this.bundle
309
+ : this.bundle;
306
310
  this.allCards = await this.fetchCards(
307
311
  this.displayedCards,
308
312
  this.allCards,
309
313
  addMoreBy,
310
314
  bundles
311
- )
315
+ );
312
316
 
313
- this.hasMorePages = this.allCards.total > this.allCards.cards.length
314
- this.displayedCards = this.allCards.cards.slice(0, this.displayLimit)
317
+ this.hasMorePages = this.allCards.total > this.allCards.cards.length;
318
+ this.displayedCards = this.allCards.cards.slice(0, this.displayLimit);
315
319
 
316
- this.loader = false
320
+ this.loader = false;
317
321
  },
318
322
  getBundle(bundle, addMoreBy, index) {
319
- let start
320
- const rows = addMoreBy
323
+ let start;
324
+ const rows = addMoreBy;
321
325
  const cache = (this.bundleCache[bundle] = this.bundleCache[bundle] || {
322
326
  response: {
323
327
  results: [],
324
- numFound: 0
328
+ numFound: 0,
325
329
  },
326
330
  qs: {
327
- start
328
- }
329
- })
331
+ start,
332
+ },
333
+ });
330
334
 
331
335
  if (cache.qs.start === undefined) {
332
- start = 0
336
+ start = 0;
333
337
  } else if (cache.response.numFound > cache.response.results.length) {
334
- start = cache.response.results.length
338
+ start = cache.response.results.length;
335
339
  } else {
336
- return Promise.resolve(cache.response)
340
+ return Promise.resolve(cache.response);
337
341
  }
338
342
 
339
343
  const qs = {
340
344
  bundle,
341
345
  rows,
342
- start
343
- }
344
- return this.fetchContent(qs, this.filters.selected, index).then(
345
- (response) => {
346
- cache.qs.start = qs.start
347
- cache.response.numFound = response.numFound
348
- cache.response.results.push(...response.results)
349
- return cache.response
350
- }
351
- )
346
+ start,
347
+ };
348
+ return this.fetchContent(qs, this.filters.selected, index).then((response) => {
349
+ cache.qs.start = qs.start;
350
+ cache.response.numFound = response.numFound;
351
+ cache.response.results.push(...response.results);
352
+ return cache.response;
353
+ });
352
354
  },
353
355
  getShuffledCards(cardBundles) {
354
- const shuffled = []
356
+ const shuffled = [];
355
357
  const bundleWithMostCards = cardBundles.reduce(
356
358
  (a, b) => (a.results.length > b.results.length ? a : b),
357
359
  { results: [] }
358
- ).results.length
360
+ ).results.length;
359
361
 
360
362
  for (let i = 0; i < bundleWithMostCards; i++) {
361
363
  cardBundles.forEach((bundle) => {
362
364
  if (bundle.results[i]) {
363
- shuffled.push(bundle.results[i])
365
+ shuffled.push(bundle.results[i]);
364
366
  }
365
- })
367
+ });
366
368
  }
367
369
 
368
370
  const total = cardBundles.reduce((acc, bundle) => {
369
- return acc + bundle.numFound
370
- }, 0)
371
+ return acc + bundle.numFound;
372
+ }, 0);
371
373
 
372
- return { cards: shuffled, total }
374
+ return { cards: shuffled, total };
373
375
  },
374
376
  loadFilters() {
375
377
  return this.fetchFilters().then((taxonomies) => {
376
- this.filters.taxonomies = taxonomies
377
- return Promise.resolve(taxonomies)
378
- })
378
+ console.log("🚀 ~ returnthis.fetchFilters ~ taxonomies:", taxonomies);
379
+ this.filters.taxonomies = taxonomies;
380
+ return Promise.resolve(taxonomies);
381
+ });
379
382
  },
380
383
  onFilter(filters) {
381
- this.bundleCache = {}
384
+ this.bundleCache = {};
382
385
  Object.keys(filters).forEach((filter) => {
383
- this.filters.selected[filter] = filters[filter].map((obj) => obj.tid)
384
- })
385
- this.loadMoreCards(true)
386
+ this.filters.selected[filter] = filters[filter].map((obj) => obj.tid);
387
+ });
388
+ this.loadMoreCards(true);
386
389
  },
387
390
  onSwitcher(switchToBundle) {
388
- this.filters.selected = {}
389
- this.filters.availableBundles.length = 0
391
+ this.filters.selected = {};
392
+ this.filters.availableBundles.length = 0;
390
393
  if (switchToBundle) {
391
- this.filters.availableBundles.push(switchToBundle)
394
+ this.filters.availableBundles.push(switchToBundle);
392
395
  }
393
- this.loadMoreCards(true)
396
+ this.loadMoreCards(true);
394
397
  },
395
398
  async reset() {
396
- this.bundleCache = {}
397
- this.filters.selected = {}
398
- this.filters.availableBundles.length = 0
399
- await this.loadMoreCards(true)
399
+ this.bundleCache = {};
400
+ this.filters.selected = {};
401
+ this.filters.availableBundles.length = 0;
402
+ await this.loadMoreCards(true);
400
403
  },
401
404
  sortByDate(cards) {
402
405
  const sorted = cards.sort((a, b) => {
403
- return new Date(b.dateSort) - new Date(a.dateSort)
404
- })
405
- return sorted
406
+ return new Date(b.dateSort) - new Date(a.dateSort);
407
+ });
408
+ return sorted;
406
409
  },
407
410
  handleLoadMore() {
408
- this.loadMoreCards(false)
411
+ this.loadMoreCards(false);
409
412
  },
410
413
 
411
414
  getCaret(card) {
412
415
  if (card.link && isAbsoluteUrl(card.link)) {
413
- return 'external'
416
+ return "external";
414
417
  } else {
415
- return undefined
418
+ return undefined;
416
419
  }
417
420
  },
418
421
  selectedCard(card) {
419
422
  // Some custom logic for gov caretaker logic
420
- if (process.env.CARETAKER && process.env.CARETAKER === 'true') {
423
+ if (
424
+ (this.$config ? this.$config.public.caretaker : process.env.CARETAKER) === "true"
425
+ ) {
421
426
  if (!isGovSite(card?.selectedCard?.link)) {
422
- this.$store.commit('page/SET_CARETAKER_REF', 'list-group')
423
- this.$root.$emit('caretaker-open', card?.selectedCard?.link)
427
+ // this.$store.commit('page/SET_CARETAKER_REF', 'list-group')
428
+ // this.$root.$emit('caretaker-open', card?.selectedCard?.link)
429
+ if (this.$pageStore) {
430
+ this.$pageStore.caretaker.referrer = "list-group";
431
+ }
432
+ if (this.$bus) {
433
+ this.$bus.$emit("caretaker-open", card?.selectedCard?.link);
434
+ }
424
435
  } else {
425
436
  navigateToPath.call(
426
437
  this,
427
438
  card?.selectedCard?.link,
428
439
  card?.ev?.ctrlKey === true || card?.ev?.metaKey === true
429
- )
440
+ );
430
441
  }
431
442
  } else {
432
443
  navigateToPath.call(
433
444
  this,
434
445
  card?.selectedCard?.link,
435
446
  card?.ev?.ctrlKey === true || card?.ev?.metaKey === true
436
- )
447
+ );
437
448
  }
438
449
  },
439
450
  focussed(ev) {
440
- const path = ev.path || (ev.composedPath && ev.composedPath())
441
- const theTabbedCards = path.find(
442
- (el) => el['_prevClass'] === 'tabbed-cards'
443
- )
451
+ const path = ev.path || (ev.composedPath && ev.composedPath());
452
+ const theTabbedCards = path.find((el) => el["_prevClass"] === "tabbed-cards");
444
453
  if (ev.shiftKey && theTabbedCards) {
445
- ev.preventDefault()
446
- let selectedTabbedCards = theTabbedCards.getElementsByClassName(
447
- 'isSelected'
448
- )
449
- let selectedCard = selectedTabbedCards[0].getElementsByTagName('button')
454
+ ev.preventDefault();
455
+ let selectedTabbedCards = theTabbedCards.getElementsByClassName("isSelected");
456
+ let selectedCard = selectedTabbedCards[0].getElementsByTagName("button");
450
457
  let thePrevLGItem = ev.target?.parentElement?.parentElement?.previousSibling?.getElementsByTagName(
451
- 'button'
452
- )
458
+ "button"
459
+ );
453
460
  if (thePrevLGItem) {
454
- thePrevLGItem[0].focus()
461
+ thePrevLGItem[0].focus();
455
462
  } else {
456
- selectedCard[0].focus()
463
+ selectedCard[0].focus();
457
464
  }
458
465
  } else if (!ev.shiftKey && theTabbedCards) {
459
- ev.preventDefault()
460
- let selectedTabbedCards = theTabbedCards.getElementsByClassName(
461
- 'isSelected'
462
- )
466
+ ev.preventDefault();
467
+ let selectedTabbedCards = theTabbedCards.getElementsByClassName("isSelected");
463
468
  let nextTabbedCard = selectedTabbedCards[0]?.parentElement?.nextSibling?.getElementsByTagName(
464
- 'button'
465
- )
469
+ "button"
470
+ );
466
471
  let theNextLGItem = ev.target?.parentElement?.parentElement?.nextSibling?.getElementsByTagName(
467
- 'button'
468
- )
472
+ "button"
473
+ );
469
474
  if (theNextLGItem) {
470
- theNextLGItem[0].focus()
475
+ theNextLGItem[0].focus();
471
476
  } else if (nextTabbedCard) {
472
- nextTabbedCard[0].focus()
477
+ nextTabbedCard[0].focus();
473
478
  } else {
474
- let nextFocus = this.focusNextElement()
475
- this.$root.$emit('last-focus-out')
476
- nextFocus.focus()
479
+ let nextFocus = this.focusNextElement();
480
+ if (this.$bus) {
481
+ this.$bus.$emit("last-focus-out");
482
+ }
483
+ nextFocus.focus();
477
484
  }
478
485
  } else {
479
- return true
486
+ return true;
480
487
  }
481
488
  },
482
489
  focusNextElement(reverse, activeElem) {
483
490
  /*check if an element is defined or use activeElement*/
484
491
  activeElem =
485
- activeElem instanceof HTMLElement ? activeElem : document.activeElement
492
+ activeElem instanceof HTMLElement ? activeElem : document.activeElement;
486
493
 
487
494
  let queryString = [
488
495
  'a:not([disabled]):not([tabindex="-1"])',
489
496
  'button:not([disabled]):not([tabindex="-1"])',
490
497
  'input:not([disabled]):not([tabindex="-1"])',
491
498
  'select:not([disabled]):not([tabindex="-1"])',
492
- '[tabindex]:not([disabled]):not([tabindex="-1"])'
499
+ '[tabindex]:not([disabled]):not([tabindex="-1"])',
493
500
  /* add custom queries here */
494
- ].join(','),
501
+ ].join(","),
495
502
  queryResult = Array.prototype.filter.call(
496
503
  document.querySelectorAll(queryString),
497
504
  (elem) => {
498
505
  /*check for visibility while always include the current activeElement*/
499
- return (
500
- elem.offsetWidth > 0 ||
501
- elem.offsetHeight > 0 ||
502
- elem === activeElem
503
- )
506
+ return elem.offsetWidth > 0 || elem.offsetHeight > 0 || elem === activeElem;
504
507
  }
505
508
  ),
506
509
  indexedList = queryResult
507
510
  .slice()
508
511
  .filter((elem) => {
509
512
  /* filter out all indexes not greater than 0 */
510
- return elem.tabIndex == 0 || elem.tabIndex == -1 ? false : true
513
+ return elem.tabIndex == 0 || elem.tabIndex == -1 ? false : true;
511
514
  })
512
515
  .sort((a, b) => {
513
516
  /* sort the array by index from smallest to largest */
@@ -521,28 +524,27 @@ export default {
521
524
  ? -1
522
525
  : b.tabIndex != 0
523
526
  ? 1
524
- : 0
527
+ : 0;
525
528
  }),
526
529
  focusable = [].concat(
527
530
  indexedList,
528
531
  queryResult.filter((elem) => {
529
532
  /* filter out all indexes above 0 */
530
- return elem.tabIndex == 0 || elem.tabIndex == -1 ? true : false
533
+ return elem.tabIndex == 0 || elem.tabIndex == -1 ? true : false;
531
534
  })
532
- )
535
+ );
533
536
 
534
537
  /* if reverse is true return the previous focusable element
535
538
  if reverse is false return the next focusable element */
536
539
  return reverse
537
- ? focusable[focusable.indexOf(activeElem) - 1] ||
538
- focusable[focusable.length - 1]
539
- : focusable[focusable.indexOf(activeElem) + 1] || focusable[0]
540
- }
541
- }
542
- }
540
+ ? focusable[focusable.indexOf(activeElem) - 1] || focusable[focusable.length - 1]
541
+ : focusable[focusable.indexOf(activeElem) + 1] || focusable[0];
542
+ },
543
+ },
544
+ };
543
545
  </script>
544
546
  <style lang="scss" scoped>
545
- @import '../../../includes/scss/all';
547
+ @import "../../../includes/scss/all";
546
548
  $cardTextPadding: 16px;
547
549
  $borderRadius: 8px;
548
550
 
@@ -551,6 +553,7 @@ $borderRadius: 8px;
551
553
  &--resource-list {
552
554
  :deep(.section-group__content) {
553
555
  display: flex;
556
+
554
557
  > .row {
555
558
  flex: 0 0 70%;
556
559
  }
@@ -558,14 +561,22 @@ $borderRadius: 8px;
558
561
  }
559
562
  }
560
563
  }
564
+
561
565
  .card_group {
562
566
  &--resource-list {
563
567
  :deep(.card-body) {
564
- padding-left: $cardTextPadding !important;
565
- padding-right: $cardTextPadding !important;
568
+ padding-left: 13px !important;
569
+ padding-right: 13px !important;
570
+ }
571
+ @media screen and (min-width: 768px) {
572
+ :deep(.card-body) {
573
+ padding-left: $cardTextPadding !important;
574
+ padding-right: $cardTextPadding !important;
575
+ }
566
576
  }
567
577
  }
568
578
  }
579
+
569
580
  .card_group__card--resource-group {
570
581
  :deep(.card-body) {
571
582
  padding-left: $cardTextPadding !important;