@worksafevictoria/wcl7.5 1.1.0-beta.8 → 1.1.0-beta.80

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