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

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 (347) 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 +95 -71
  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 +211 -174
  332. package/src/components/SubComponents/Search/SearchListing/index.vue +20 -20
  333. package/src/components/SubComponents/Search/index.vue +47 -40
  334. package/src/components/SubComponents/SingleImage/index.stories.js +2 -16
  335. package/src/components/SubComponents/VideoThumbnail/index.stories.js +1 -0
  336. package/src/components/SubComponents/VideoThumbnail/index.vue +48 -136
  337. package/src/includes/scss/mixins/src/grid.scss +4 -2
  338. package/src/includes/scss/mixins/src/units.scss +25 -4
  339. package/src/includes/scss/vars/src/colors.module.scss +28 -1
  340. package/src/index.js +25 -3
  341. package/src/main.js +2 -10
  342. package/src/mock/app-header-new.js +715 -0
  343. package/src/mock/carousel-items.js +82 -0
  344. package/src/mock/course-provider.js +273 -0
  345. package/src/mock/jest.fileMock.js +1 -0
  346. package/vite.config.js +28 -15
  347. package/src/components/SubComponents/FormInstance/index.stories.js +0 -8
@@ -0,0 +1,29 @@
1
+ import { Canvas, Meta } from '@storybook/blocks';
2
+
3
+ import * as GeoStories from './index.stories';
4
+
5
+ <Meta of={GeoStories} />
6
+
7
+ # Map
8
+
9
+ Map support links
10
+
11
+ - [vue3-google-map](https://vue3-google-map.com/ 'Documentation') (package documentation)
12
+ - [Google-maps](https://developers.google.com/maps/documentation/javascript 'Google maps') (customisation documentation)
13
+
14
+ <Canvas of={GeoStories.Default} />
15
+
16
+ ## Map filters
17
+
18
+ Filtering options. These are passed to 'directory-filters' component.
19
+
20
+ ```tsx
21
+ ;[
22
+ { record_id: 'DEATH_DATE', name: 'Year', date: true }, // Primary
23
+ { record_id: 'GENDER', name: 'Gender' }, // Secondary
24
+ { record_id: 'AGE_RANGE', name: 'Age range' },
25
+ { record_id: 'CATEGORY', name: 'Category' },
26
+ { record_id: 'INDUSTRY', name: 'Industry' },
27
+ { record_id: 'SIZE_', name: 'Size of Organisation' },
28
+ ]
29
+ ```
@@ -0,0 +1,15 @@
1
+ import GeoChart from './index.vue'
2
+ import { filterFields, statsData } from './Constants'
3
+ export default {
4
+ title: 'Paragraphs/Map',
5
+ component: GeoChart,
6
+ }
7
+ export const Default = {
8
+ args: {
9
+ filterFields: filterFields,
10
+ statsData: statsData,
11
+ },
12
+ parameters: {
13
+ deepControls: { enabled: true },
14
+ },
15
+ }
@@ -0,0 +1,313 @@
1
+ <template>
2
+ <container>
3
+ <row>
4
+ <column class="pb-5">
5
+ <single-taxonomy
6
+ v-for="(t, i) in computedPropFilters"
7
+ :key="i"
8
+ :ref="`${t.record_id}`"
9
+ :data="t"
10
+ :results="filteredList.length"
11
+ :loading="isFiltering"
12
+ class="wcl-directory-filters__filterButton"
13
+ @onFilter="onFilter"
14
+ />
15
+ <filter-button
16
+ v-if="!hideReset"
17
+ :is-reset="true"
18
+ class="wcl-directory-filters__filterButton"
19
+ @clicked="reset"
20
+ />
21
+ </column>
22
+ </row>
23
+ <row>
24
+ <column>
25
+ <GoogleMap
26
+ api-key="AIzaSyD76GAmQQ6DuxKWf-aLXPZ9pwdz4nOvs2c"
27
+ map-id="18650d0e6b0daeb1"
28
+ :style="`width: 100%; height: ${mapHeight}`"
29
+ :center="center"
30
+ :zoom="zoom"
31
+ :zoom-control="true"
32
+ :mapTypeControl="false"
33
+ :streetViewControl="false"
34
+ :fullscreenControl="true"
35
+ >
36
+ <Polygon
37
+ v-for="(location, i) in lgaBoundaries"
38
+ :options="location"
39
+ :key="i + polygonKey"
40
+ />
41
+ <CustomControl position="BOTTOM_CENTER">
42
+ <h4 v-if="unknownLGA">
43
+ <BBadge variant="light"> Unknown LGA {{ unknownLGA }} </BBadge>
44
+ </h4>
45
+ </CustomControl>
46
+ <AdvancedMarker
47
+ v-for="(location, i) in centerLGA"
48
+ :options="{
49
+ position: location.center,
50
+ title: `${location.lga} (${location.deaths} ${location.deaths > 1 ? 'fatalities' : 'fatality'})`,
51
+ }"
52
+ :key="i"
53
+ :pin-options="{
54
+ background: '#fdcd59',
55
+ glyph: `${location.deaths}`,
56
+ glyphColor: 'black',
57
+ borderColor: '#000000',
58
+ scale: 1,
59
+ }"
60
+ />
61
+ </GoogleMap>
62
+ </column>
63
+ </row>
64
+ </container>
65
+ </template>
66
+
67
+ <script>
68
+ import lga from './lga-map.json'
69
+ import {
70
+ GoogleMap,
71
+ Marker,
72
+ MarkerCluster,
73
+ Circle,
74
+ CustomControl,
75
+ InfoWindow,
76
+ Polygon,
77
+ AdvancedMarker,
78
+ } from 'vue3-google-map'
79
+ import Container from '../../Containers/Container/index.vue'
80
+ import Column from '../../Containers/Column/index.vue'
81
+ import Row from '../../Containers/Row/index.vue'
82
+ import FilterButton from '../../Common/FilterButton/index.vue' // Reset
83
+ import SingleTaxonomy from '../../Global/DirectoryFilters/SingleTaxonomy/index.vue'
84
+ import { BFormGroup, BFormSelect, BButton, BBadge } from 'bootstrap-vue-next'
85
+
86
+ export default {
87
+ name: 'GeoChart',
88
+ components: {
89
+ Row,
90
+ Column,
91
+ Container,
92
+ FilterButton,
93
+ SingleTaxonomy,
94
+ BFormGroup,
95
+ BFormSelect,
96
+ GoogleMap,
97
+ Marker,
98
+ MarkerCluster,
99
+ Circle,
100
+ CustomControl,
101
+ InfoWindow,
102
+ BButton,
103
+ Polygon,
104
+ AdvancedMarker,
105
+ BBadge,
106
+ },
107
+ props: {
108
+ statsData: { type: Array, default: () => [] },
109
+ filterFields: { type: Array, default: () => [] },
110
+ chart: { type: Object, default: () => {} },
111
+ },
112
+ data() {
113
+ return {
114
+ lga,
115
+ zoom: 7,
116
+ mapHeight: '700px',
117
+ center: { lat: -36.5, lng: 145.3 },
118
+ hideReset: true,
119
+ isFiltering: false,
120
+ filters: {
121
+ taxonomies: [],
122
+ selected: {},
123
+ availableBundles: [],
124
+ },
125
+ unknownLGA: 0,
126
+ polygonKey: 1,
127
+ }
128
+ },
129
+ mounted() {
130
+ this.resize()
131
+ window.onresize = () => {
132
+ this.resize()
133
+ }
134
+ },
135
+ computed: {
136
+ graphOptions: function () {
137
+ return this.filterFields.slice(1).map((field) => {
138
+ if (!this.graphSelected) {
139
+ this.graphSelected = field.record_id
140
+ }
141
+ return { value: field.record_id, text: field.name }
142
+ })
143
+ },
144
+ computedPropFilters: function () {
145
+ let fields = this.filterFields.map((field) => {
146
+ let terms = null
147
+ if (field.date) {
148
+ terms = this.statsData
149
+ .map((item) => item[field.record_id].split('/')[2]) // Date field get year
150
+ .filter((value, index, self) => self.indexOf(value) === index)
151
+ .map((value) => {
152
+ return { tid: value, name: value, preselected: false }
153
+ })
154
+ .sort((a, b) => a.name.localeCompare(b.name))
155
+ } else {
156
+ terms = this.statsData
157
+ .map((item) => item[field.record_id])
158
+ .filter((value, index, self) => self.indexOf(value) === index)
159
+ .map((value) => {
160
+ return { tid: value, name: value, preselected: false }
161
+ })
162
+ .sort((a, b) => a.name.localeCompare(b.name))
163
+ }
164
+ return {
165
+ name: field.name,
166
+ record_id: field.record_id,
167
+ terms,
168
+ }
169
+ })
170
+ return fields
171
+ },
172
+ filteredList: function () {
173
+ let filterKeys = Object.keys(this.filters.selected).map((key) => key)
174
+ let list = this.statsData.filter((element) => {
175
+ let include = true
176
+ for (var i = 0, n = filterKeys.length; i < n; ++i) {
177
+ if (this.filters.selected[filterKeys[i]].length > 0) {
178
+ let filterType = this.filterFields.find(
179
+ (item) => item.record_id === filterKeys[i],
180
+ )
181
+ if (filterType.date) {
182
+ // Filter by year
183
+ if (
184
+ this.filters.selected[filterKeys[i]].indexOf(
185
+ element[filterKeys[i]].split('/')[2],
186
+ ) === -1
187
+ ) {
188
+ include = false
189
+ }
190
+ } else {
191
+ if (
192
+ this.filters.selected[filterKeys[i]].indexOf(
193
+ element[filterKeys[i]],
194
+ ) === -1
195
+ ) {
196
+ include = false
197
+ }
198
+ }
199
+ }
200
+ }
201
+ if (include) {
202
+ return element
203
+ }
204
+ })
205
+ return list
206
+ },
207
+ centerLGA: function () {
208
+ if (this.filteredList.length > 1) {
209
+ let location = {}
210
+ this.unknownLGA = 0
211
+ this.filteredList.forEach((item) => {
212
+ if (location[item.LGA]) {
213
+ location[item.LGA].deaths++
214
+ } else {
215
+ let pc = this.lga.find(
216
+ (obj) =>
217
+ obj.name ==
218
+ item.LGA.replace('-', ' ')
219
+ .toUpperCase()
220
+ .substring(0, obj.name.length),
221
+ )
222
+ if (pc) {
223
+ location[item.LGA] = {
224
+ center: { lat: pc.labelpoint[0], lng: pc.labelpoint[1] },
225
+ deaths: 1,
226
+ lga: pc.name,
227
+ }
228
+ } else {
229
+ this.unknownLGA++
230
+ }
231
+ }
232
+ })
233
+ return location
234
+ }
235
+ },
236
+ lgaBoundaries: function () {
237
+ let lgaData = lga.map((item) => {
238
+ return {
239
+ strokeColor: '#000000',
240
+ strokeOpacity: 0.8,
241
+ strokeWeight: 1,
242
+ fillColor: '#bababa',
243
+ fillOpacity: 0.5,
244
+ paths: item.boundaries.map((item) => {
245
+ return { lng: item[0], lat: item[1] }
246
+ }),
247
+ }
248
+ })
249
+ return lgaData
250
+ },
251
+ },
252
+ methods: {
253
+ resize() {
254
+ if (window.innerWidth > 980) {
255
+ this.zoom = 7
256
+ this.mapHeight = '700px'
257
+ } else if (window.innerWidth <= 980) {
258
+ this.zoom = 6
259
+ this.mapHeight = '500px'
260
+ }
261
+ },
262
+ onFilter(filters) {
263
+ this.hideReset = false
264
+ const allFiltersUnselected = Object.values(this.$refs).every(
265
+ (taxonomy) => {
266
+ return Object.values(taxonomy[0].selectedFilters).every(
267
+ (filter) => filter.filter((item) => !item.preselected).length === 0,
268
+ )
269
+ },
270
+ )
271
+ if (allFiltersUnselected) {
272
+ this.hideReset = true
273
+ }
274
+ Object.keys(filters).forEach((filter) => {
275
+ this.filters.selected[filter] = filters[filter].map((obj) => obj.tid)
276
+ })
277
+ },
278
+ reset() {
279
+ this.hideReset = true
280
+ Object.keys(this.$refs).forEach((key) => {
281
+ this.$refs[key][0].reset()
282
+ })
283
+ this.filters.selected = {}
284
+ },
285
+ noData() {
286
+ return [
287
+ [
288
+ { label: 'Results', type: 'string' },
289
+ { label: 'Results', type: 'number' },
290
+ { role: 'style', type: 'string' },
291
+ { role: 'annotation', type: 'string' },
292
+ ],
293
+ ['', 0, null, 'No results found'],
294
+ ]
295
+ },
296
+ },
297
+ }
298
+ </script>
299
+
300
+ <style lang="scss" scoped>
301
+ @import '../../../includes/scss/all';
302
+
303
+ .wcl-directory-filters {
304
+ &__filterButton {
305
+ display: inline-block;
306
+ padding-right: 16px;
307
+ line-height: 3;
308
+ &:last-child {
309
+ padding-right: 0px;
310
+ }
311
+ }
312
+ }
313
+ </style>