@worksafevictoria/wcl7.5 1.1.0-beta.1 → 1.1.0-beta.100

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 (346) hide show
  1. package/.env +1 -3
  2. package/.storybook/main.js +4 -2
  3. package/.storybook/preview.js +23 -11
  4. package/README.md +4 -4
  5. package/bin/deploy.sh +1 -1
  6. package/ci/build/build_validation.yml +3 -1
  7. package/ci/release/beta.yml +4 -3
  8. package/ci/release/master.yml +4 -3
  9. package/jest.config.js +10 -8
  10. package/lib/utility.js +10 -8
  11. package/package.json +17 -13
  12. package/src/assets/icons/AppFooter/x-ws-footer.svg +10 -0
  13. package/src/assets/icons/AppFooter/x-ww-footer.svg +28 -0
  14. package/src/assets/icons/SocialShare/x-icon-white.svg +28 -0
  15. package/src/assets/icons/WSV-reversed.svg +20 -0
  16. package/src/assets/icons/contrast.svg +4 -0
  17. package/src/assets/icons/lang.svg +13 -0
  18. package/src/assets/icons/login.svg +4 -0
  19. package/src/assets/styles/modal.scss +51 -0
  20. package/src/components/Common/CardGrid/cardgrid.stories.js +4 -57
  21. package/src/components/Common/CardGrid/index.vue +69 -49
  22. package/src/components/Common/CardGridItem/card-grid-item-caret.vue +7 -4
  23. package/src/components/Common/CardGridItem/card-grid-item-icon.vue +1 -1
  24. package/src/components/Common/CardGridItem/index.vue +95 -65
  25. package/src/components/Containers/Carousel/index.stories.js +30 -0
  26. package/src/components/Containers/Carousel/index.vue +172 -0
  27. package/src/components/Containers/HomepageHeader/index.stories.js +60 -36
  28. package/src/components/Containers/HomepageHeader/index.vue +16 -26
  29. package/src/components/Containers/HomepageHeaderNew/index.stories.js +75 -0
  30. package/src/components/Containers/HomepageHeaderNew/index.vue +227 -0
  31. package/src/components/Containers/SectionGroup/index.vue +1 -1
  32. package/src/components/Containers/Subheader/index.vue +30 -20
  33. package/src/components/Global/AlertStrip/index.stories.js +1 -0
  34. package/src/components/Global/AppFooter/FooterSocialShare/index.vue +1 -1
  35. package/src/components/Global/AppFooter/index.stories.js +1 -0
  36. package/src/components/Global/AppFooter/index.vue +42 -33
  37. package/src/components/Global/AppHeader/ModalSearch/index.vue +6 -1
  38. package/src/components/Global/AppHeader/index.stories.js +16 -24
  39. package/src/components/Global/AppHeader/index.vue +58 -60
  40. package/src/components/Global/AppHeaderNew/ModalSearch/index.vue +71 -0
  41. package/src/components/Global/AppHeaderNew/ModalSearch/styles.scss +43 -0
  42. package/src/components/Global/AppHeaderNew/includes.scss +71 -0
  43. package/src/components/Global/AppHeaderNew/index.stories.js +74 -0
  44. package/src/components/Global/AppHeaderNew/index.vue +1176 -0
  45. package/src/components/Global/AppHeaderNew/mobile.scss +269 -0
  46. package/src/components/Global/AppHeaderNew/styles.scss +642 -0
  47. package/src/components/Global/BackToTop/index.vue +8 -8
  48. package/src/components/Global/ContrastMode/index.stories.js +1 -0
  49. package/src/components/Global/ContrastMode/index.vue +1 -1
  50. package/src/components/Global/Cookies/index.stories.js +16 -10
  51. package/src/components/Global/Cookies/index.vue +209 -172
  52. package/src/components/Global/Cookies/styles.scss +54 -54
  53. package/src/components/Global/DirectoryFilters/SingleTaxonomy/index.vue +50 -132
  54. package/src/components/Global/GlobalNotice/index.stories.js +7 -1
  55. package/src/components/Global/GlobalNotice/index.vue +84 -84
  56. package/src/components/Global/HeroHeader/index.stories.js +3 -4
  57. package/src/components/Global/HeroHeader/index.vue +28 -29
  58. package/src/components/Global/ProgressBar/index.stories.js +6 -16
  59. package/src/components/Global/SocialShare/index.vue +3 -2
  60. package/src/components/Global/Strip/index.stories.js +1 -17
  61. package/src/components/Global/Strip/index.vue +9 -5
  62. package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +29 -21
  63. package/src/components/Paragraphs/Accordion/StepperItem/index.vue +23 -23
  64. package/src/components/Paragraphs/Accordion/index.stories.js +22 -18
  65. package/src/components/Paragraphs/Accordion/index.vue +52 -48
  66. package/src/components/Paragraphs/Breakout/index.stories.js +1 -0
  67. package/src/components/Paragraphs/BrowseContent/index.stories.js +1 -0
  68. package/src/components/Paragraphs/BrowseContent/index.vue +42 -32
  69. package/src/components/Paragraphs/BrowseContent/setup.vue +284 -0
  70. package/src/components/Paragraphs/Calculator/Constants.js +2 -2
  71. package/src/components/Paragraphs/Calculator/index.stories.js +1 -0
  72. package/src/components/Paragraphs/Chart/Constants.js +4790 -0
  73. package/src/components/Paragraphs/Chart/index.mdx +61 -0
  74. package/src/components/Paragraphs/Chart/index.stories.js +31 -0
  75. package/src/components/Paragraphs/Chart/index.vue +322 -0
  76. package/src/components/Paragraphs/Directory/Records/CJ/index.vue +3 -3
  77. package/src/components/Paragraphs/Directory/Records/HSCP/index.stories.js +33 -0
  78. package/src/components/Paragraphs/Directory/Records/HSCP/index.vue +334 -0
  79. package/src/components/Paragraphs/Directory/Records/ISP/index.vue +5 -5
  80. package/src/components/Paragraphs/Directory/Records/PRS/index.vue +2 -2
  81. package/src/components/Paragraphs/Directory/Records/PRS/recordContent.vue +3 -3
  82. package/src/components/Paragraphs/Directory/Records/PRS/recordDetails.vue +3 -3
  83. package/src/components/Paragraphs/Directory/Records/index.vue +66 -30
  84. package/src/components/Paragraphs/Directory/Records/styles.scss +1 -0
  85. package/src/components/Paragraphs/Directory/constants.js +23 -5
  86. package/src/components/Paragraphs/Directory/index.vue +56 -45
  87. package/src/components/Paragraphs/ListGroup/Link/list-link.stories.js +35 -39
  88. package/src/components/Paragraphs/ListGroup/index.vue +60 -47
  89. package/src/components/Paragraphs/ListGroup/list-group.stories.js +35 -31
  90. package/src/components/Paragraphs/ListGroup/navigation-card.stories.js +34 -30
  91. package/src/components/Paragraphs/MarketingBanner/index.stories.js +4 -18
  92. package/src/components/Paragraphs/ProofPoints/index.stories.js +19 -20
  93. package/src/components/Paragraphs/RelatedInformation/index.stories.js +11 -21
  94. package/src/components/Paragraphs/RelatedInformation/index.vue +12 -6
  95. package/src/components/Paragraphs/RelatedInformation/styles.scss +1 -3
  96. package/src/components/Paragraphs/RichText/index.stories.js +2 -1
  97. package/src/components/Paragraphs/ScrollSpy/index.stories.js +20 -26
  98. package/src/components/Paragraphs/ScrollSpy/index.vue +27 -12
  99. package/src/components/Paragraphs/SelectableCards/Control/index.stories.js +1 -0
  100. package/src/components/Paragraphs/SelectableCards/index.vue +15 -12
  101. package/src/components/Paragraphs/Statistics/index.stories.js +1 -0
  102. package/src/components/Paragraphs/Statistics/index.vue +1 -0
  103. package/src/components/Paragraphs/TabbedCards/index.stories.js +8 -27
  104. package/src/components/Paragraphs/TabbedCards/index.vue +68 -103
  105. package/src/components/Paragraphs/Tabs/index.stories.js +1 -0
  106. package/src/components/Paragraphs/Tabs/index.vue +19 -17
  107. package/src/components/Paragraphs/TabulatedData/index.stories.js +6 -5
  108. package/src/components/Paragraphs/TabulatedData/index.vue +63 -35
  109. package/src/components/Paragraphs/TaskFinder/index.stories.js +9 -32
  110. package/src/components/Paragraphs/TaskFinder/index.vue +3 -3
  111. package/src/components/Paragraphs/TaskFinder/pdf/index.vue +1 -1
  112. package/src/components/Paragraphs/TaskFinder/task-finder-column.vue +1 -1
  113. package/src/components/Paragraphs/TextMedia/MediaTypes/Video/index.vue +9 -9
  114. package/src/components/Paragraphs/TextMedia/index.stories.js +13 -61
  115. package/src/components/Paragraphs/TextMedia/index.vue +20 -16
  116. package/src/components/Paragraphs/VideoGrid/index.stories.js +53 -44
  117. package/src/components/Paragraphs/VideoGrid/index.vue +13 -13
  118. package/src/components/Paragraphs/VideoPlayer/index.stories.js +1 -13
  119. package/src/components/Paragraphs/Webform/index.stories.js +94 -57
  120. package/src/components/Paragraphs/Webform/index.vue +11 -8
  121. package/src/components/SubComponents/Breadcrumb/index.stories.js +3 -11
  122. package/src/components/SubComponents/CardGroup/index.stories.js +1 -30
  123. package/src/components/SubComponents/CardGroup/index.vue +38 -28
  124. package/src/components/SubComponents/CtaButton/index.stories.js +1 -24
  125. package/src/components/SubComponents/CtaButton/index.vue +27 -25
  126. package/src/components/SubComponents/FormAddressPostcode/index.stories.js +3 -28
  127. package/src/components/SubComponents/FormAddressPostcode/index.vue +35 -37
  128. package/src/components/SubComponents/FormInstance/components/alert/index.vue +129 -0
  129. package/src/components/SubComponents/FormInstance/components/custom/base-formio.js +77 -0
  130. package/src/components/SubComponents/FormInstance/components/custom/code-formio.js +35 -0
  131. package/src/components/SubComponents/FormInstance/components/custom/custom-formio-registry.js +30 -0
  132. package/src/components/SubComponents/FormInstance/components/custom/range-formio.js +121 -0
  133. package/src/components/SubComponents/FormInstance/components/custom/rating-formio.js +121 -0
  134. package/src/components/SubComponents/FormInstance/components/custom/scale-formio.js +99 -0
  135. package/src/components/SubComponents/FormInstance/components/custom/tableselect-formio.js +200 -0
  136. package/src/components/SubComponents/FormInstance/components/handler/index.vue +204 -0
  137. package/src/components/SubComponents/FormInstance/components/renderer/index.vue +317 -0
  138. package/src/components/SubComponents/FormInstance/index.test.js +65 -0
  139. package/src/components/SubComponents/FormInstance/index.vue +56 -5
  140. package/src/components/SubComponents/FormInstance/models/base-form-element.js +338 -0
  141. package/src/components/SubComponents/FormInstance/models/form-callback-queue.js +45 -0
  142. package/src/components/SubComponents/FormInstance/models/form-utils.js +50 -0
  143. package/src/components/SubComponents/FormInstance/models/overrides/address.js +141 -0
  144. package/src/components/SubComponents/FormInstance/models/overrides/autocomplete.js +41 -0
  145. package/src/components/SubComponents/FormInstance/models/overrides/checkbox.js +14 -0
  146. package/src/components/SubComponents/FormInstance/models/overrides/checkboxes.js +49 -0
  147. package/src/components/SubComponents/FormInstance/models/overrides/code.js +27 -0
  148. package/src/components/SubComponents/FormInstance/models/overrides/composite.js +57 -0
  149. package/src/components/SubComponents/FormInstance/models/overrides/container.js +65 -0
  150. package/src/components/SubComponents/FormInstance/models/overrides/currency.js +17 -0
  151. package/src/components/SubComponents/FormInstance/models/overrides/customcomposite.js +41 -0
  152. package/src/components/SubComponents/FormInstance/models/overrides/date.js +126 -0
  153. package/src/components/SubComponents/FormInstance/models/overrides/datelist.js +73 -0
  154. package/src/components/SubComponents/FormInstance/models/overrides/detail.js +38 -0
  155. package/src/components/SubComponents/FormInstance/models/overrides/email-confirm.js +12 -0
  156. package/src/components/SubComponents/FormInstance/models/overrides/email.js +7 -0
  157. package/src/components/SubComponents/FormInstance/models/overrides/file.js +49 -0
  158. package/src/components/SubComponents/FormInstance/models/overrides/flexbox.js +33 -0
  159. package/src/components/SubComponents/FormInstance/models/overrides/hidden.js +24 -0
  160. package/src/components/SubComponents/FormInstance/models/overrides/likert.js +40 -0
  161. package/src/components/SubComponents/FormInstance/models/overrides/markup.js +47 -0
  162. package/src/components/SubComponents/FormInstance/models/overrides/message.js +53 -0
  163. package/src/components/SubComponents/FormInstance/models/overrides/moretext.js +64 -0
  164. package/src/components/SubComponents/FormInstance/models/overrides/multiple.js +51 -0
  165. package/src/components/SubComponents/FormInstance/models/overrides/number.js +22 -0
  166. package/src/components/SubComponents/FormInstance/models/overrides/options-other.js +34 -0
  167. package/src/components/SubComponents/FormInstance/models/overrides/page.js +7 -0
  168. package/src/components/SubComponents/FormInstance/models/overrides/phonenumber.js +13 -0
  169. package/src/components/SubComponents/FormInstance/models/overrides/radio.js +31 -0
  170. package/src/components/SubComponents/FormInstance/models/overrides/range.js +19 -0
  171. package/src/components/SubComponents/FormInstance/models/overrides/rating.js +47 -0
  172. package/src/components/SubComponents/FormInstance/models/overrides/scale.js +33 -0
  173. package/src/components/SubComponents/FormInstance/models/overrides/section.js +39 -0
  174. package/src/components/SubComponents/FormInstance/models/overrides/select.js +28 -0
  175. package/src/components/SubComponents/FormInstance/models/overrides/signature.js +7 -0
  176. package/src/components/SubComponents/FormInstance/models/overrides/submit.js +23 -0
  177. package/src/components/SubComponents/FormInstance/models/overrides/table.js +48 -0
  178. package/src/components/SubComponents/FormInstance/models/overrides/tablerow.js +20 -0
  179. package/src/components/SubComponents/FormInstance/models/overrides/tableselect.js +66 -0
  180. package/src/components/SubComponents/FormInstance/models/overrides/testing.js +47 -0
  181. package/src/components/SubComponents/FormInstance/models/overrides/text.js +7 -0
  182. package/src/components/SubComponents/FormInstance/models/overrides/textarea.js +26 -0
  183. package/src/components/SubComponents/FormInstance/models/overrides/textformat.js +13 -0
  184. package/src/components/SubComponents/FormInstance/models/overrides/time.js +13 -0
  185. package/src/components/SubComponents/FormInstance/models/overrides/twig.js +118 -0
  186. package/src/components/SubComponents/FormInstance/models/overrides/unknown.js +24 -0
  187. package/src/components/SubComponents/FormInstance/models/overrides/url.js +13 -0
  188. package/src/components/SubComponents/FormInstance/services/convert-form-element.js +49 -0
  189. package/src/components/SubComponents/FormInstance/services/form-api.js +47 -0
  190. package/src/components/SubComponents/FormInstance/services/form-render-parser.js +156 -0
  191. package/src/components/SubComponents/FormInstance/services/form-submit-parser.js +68 -0
  192. package/src/components/SubComponents/FormInstance/services/logic-linker.js +73 -0
  193. package/src/components/SubComponents/FormInstance/services/logic-parser.js +173 -0
  194. package/src/components/SubComponents/FormInstance/services/registry-factory.js +284 -0
  195. package/src/components/SubComponents/FormInstance/stories/Documentation.mdx +234 -0
  196. package/src/components/SubComponents/FormInstance/stories/advanced.stories.js +109 -0
  197. package/src/components/SubComponents/FormInstance/stories/basic.stories.js +73 -0
  198. package/src/components/SubComponents/FormInstance/stories/build.stories.js +27 -0
  199. package/src/components/SubComponents/FormInstance/stories/composite.stories.js +90 -0
  200. package/src/components/SubComponents/FormInstance/stories/condition.stories.js +83 -0
  201. package/src/components/SubComponents/FormInstance/stories/custom.stories.js +69 -0
  202. package/src/components/SubComponents/FormInstance/stories/date.stories.js +76 -0
  203. package/src/components/SubComponents/FormInstance/stories/fileupload.stories.js +57 -0
  204. package/src/components/SubComponents/FormInstance/stories/form-alert.stories.js +93 -0
  205. package/src/components/SubComponents/FormInstance/stories/index.stories.js +63 -0
  206. package/src/components/SubComponents/FormInstance/stories/layout.stories.js +85 -0
  207. package/src/components/SubComponents/FormInstance/stories/markup.stories.js +91 -0
  208. package/src/components/SubComponents/FormInstance/stories/mocks/address.json +298 -0
  209. package/src/components/SubComponents/FormInstance/stories/mocks/advancedhtml.json +23 -0
  210. package/src/components/SubComponents/FormInstance/stories/mocks/autocomplete.json +34 -0
  211. package/src/components/SubComponents/FormInstance/stories/mocks/basichtml.json +15 -0
  212. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxes.json +102 -0
  213. package/src/components/SubComponents/FormInstance/stories/mocks/checkboxesother.json +197 -0
  214. package/src/components/SubComponents/FormInstance/stories/mocks/container.json +134 -0
  215. package/src/components/SubComponents/FormInstance/stories/mocks/customcomposite.json +469 -0
  216. package/src/components/SubComponents/FormInstance/stories/mocks/date.json +19 -0
  217. package/src/components/SubComponents/FormInstance/stories/mocks/datelist.json +752 -0
  218. package/src/components/SubComponents/FormInstance/stories/mocks/datetime.json +89 -0
  219. package/src/components/SubComponents/FormInstance/stories/mocks/details.json +63 -0
  220. package/src/components/SubComponents/FormInstance/stories/mocks/email.json +18 -0
  221. package/src/components/SubComponents/FormInstance/stories/mocks/emailconfirm.json +110 -0
  222. package/src/components/SubComponents/FormInstance/stories/mocks/fieldset.json +62 -0
  223. package/src/components/SubComponents/FormInstance/stories/mocks/fileupload.json +25 -0
  224. package/src/components/SubComponents/FormInstance/stories/mocks/flexbox.json +58 -0
  225. package/src/components/SubComponents/FormInstance/stories/mocks/hidden.json +35 -0
  226. package/src/components/SubComponents/FormInstance/stories/mocks/horizontalrule.json +14 -0
  227. package/src/components/SubComponents/FormInstance/stories/mocks/jahd.json +1359 -0
  228. package/src/components/SubComponents/FormInstance/stories/mocks/label.json +14 -0
  229. package/src/components/SubComponents/FormInstance/stories/mocks/likert.json +375 -0
  230. package/src/components/SubComponents/FormInstance/stories/mocks/message.json +86 -0
  231. package/src/components/SubComponents/FormInstance/stories/mocks/more.json +19 -0
  232. package/src/components/SubComponents/FormInstance/stories/mocks/multiple.json +142 -0
  233. package/src/components/SubComponents/FormInstance/stories/mocks/number.json +35 -0
  234. package/src/components/SubComponents/FormInstance/stories/mocks/quad.json +249 -0
  235. package/src/components/SubComponents/FormInstance/stories/mocks/radios.json +70 -0
  236. package/src/components/SubComponents/FormInstance/stories/mocks/radiosother.json +176 -0
  237. package/src/components/SubComponents/FormInstance/stories/mocks/range.json +58 -0
  238. package/src/components/SubComponents/FormInstance/stories/mocks/rating.json +42 -0
  239. package/src/components/SubComponents/FormInstance/stories/mocks/rule-disabled-value.json +66 -0
  240. package/src/components/SubComponents/FormInstance/stories/mocks/rule-enabled-value.json +43 -0
  241. package/src/components/SubComponents/FormInstance/stories/mocks/rule-hidden-value.json +68 -0
  242. package/src/components/SubComponents/FormInstance/stories/mocks/rule-required-value.json +69 -0
  243. package/src/components/SubComponents/FormInstance/stories/mocks/rule-visible-value.json +157 -0
  244. package/src/components/SubComponents/FormInstance/stories/mocks/sameas.json +66 -0
  245. package/src/components/SubComponents/FormInstance/stories/mocks/scale.json +200 -0
  246. package/src/components/SubComponents/FormInstance/stories/mocks/section.json +63 -0
  247. package/src/components/SubComponents/FormInstance/stories/mocks/select.json +41 -0
  248. package/src/components/SubComponents/FormInstance/stories/mocks/selectother.json +115 -0
  249. package/src/components/SubComponents/FormInstance/stories/mocks/signature.json +25 -0
  250. package/src/components/SubComponents/FormInstance/stories/mocks/styles.json +81 -0
  251. package/src/components/SubComponents/FormInstance/stories/mocks/table-select.json +472 -0
  252. package/src/components/SubComponents/FormInstance/stories/mocks/table.json +154 -0
  253. package/src/components/SubComponents/FormInstance/stories/mocks/telephone.json +18 -0
  254. package/src/components/SubComponents/FormInstance/stories/mocks/textarea.json +22 -0
  255. package/src/components/SubComponents/FormInstance/stories/mocks/textfield.json +66 -0
  256. package/src/components/SubComponents/FormInstance/stories/mocks/time.json +20 -0
  257. package/src/components/SubComponents/FormInstance/stories/mocks/token.json +260 -0
  258. package/src/components/SubComponents/FormInstance/stories/mocks/twig.json +154 -0
  259. package/src/components/SubComponents/FormInstance/stories/mocks/url.json +18 -0
  260. package/src/components/SubComponents/FormInstance/stories/mocks/value.json +17 -0
  261. package/src/components/SubComponents/FormInstance/stories/mocks/wizard.json +353 -0
  262. package/src/components/SubComponents/FormInstance/stories/options.stories.js +98 -0
  263. package/src/components/SubComponents/FormInstance/stories/style.stories.js +55 -0
  264. package/src/components/SubComponents/FormInstance/stories/wizard.stories.js +55 -0
  265. package/src/components/SubComponents/FormInstance/style.scss +185 -0
  266. package/src/components/SubComponents/FormInstance/tests/address.test.js +255 -0
  267. package/src/components/SubComponents/FormInstance/tests/advancedhtml.test.js +31 -0
  268. package/src/components/SubComponents/FormInstance/tests/autocomplete.test.js +38 -0
  269. package/src/components/SubComponents/FormInstance/tests/basichtml.test.js +31 -0
  270. package/src/components/SubComponents/FormInstance/tests/checkbox.test.js +29 -0
  271. package/src/components/SubComponents/FormInstance/tests/checkboxes.test.js +44 -0
  272. package/src/components/SubComponents/FormInstance/tests/checkboxesother.test.js +91 -0
  273. package/src/components/SubComponents/FormInstance/tests/container.test.js +66 -0
  274. package/src/components/SubComponents/FormInstance/tests/customcomposite.test.js +86 -0
  275. package/src/components/SubComponents/FormInstance/tests/date.test.js +63 -0
  276. package/src/components/SubComponents/FormInstance/tests/datelist.test.js +136 -0
  277. package/src/components/SubComponents/FormInstance/tests/datetime.test.js +54 -0
  278. package/src/components/SubComponents/FormInstance/tests/details.test.js +58 -0
  279. package/src/components/SubComponents/FormInstance/tests/email.test.js +28 -0
  280. package/src/components/SubComponents/FormInstance/tests/emailconfirm.test.js +79 -0
  281. package/src/components/SubComponents/FormInstance/tests/fieldset.test.js +63 -0
  282. package/src/components/SubComponents/FormInstance/tests/flexbox.test.js +71 -0
  283. package/src/components/SubComponents/FormInstance/tests/form-test-utils.js +120 -0
  284. package/src/components/SubComponents/FormInstance/tests/form.test.js +26 -0
  285. package/src/components/SubComponents/FormInstance/tests/hidden.test.js +52 -0
  286. package/src/components/SubComponents/FormInstance/tests/horizontalrule.test.js +31 -0
  287. package/src/components/SubComponents/FormInstance/tests/label.test.js +31 -0
  288. package/src/components/SubComponents/FormInstance/tests/likert.test.js +38 -0
  289. package/src/components/SubComponents/FormInstance/tests/message.test.js +89 -0
  290. package/src/components/SubComponents/FormInstance/tests/more.test.js +32 -0
  291. package/src/components/SubComponents/FormInstance/tests/multiple.test.js +71 -0
  292. package/src/components/SubComponents/FormInstance/tests/number.test.js +51 -0
  293. package/src/components/SubComponents/FormInstance/tests/radios.test.js +34 -0
  294. package/src/components/SubComponents/FormInstance/tests/radiosother.test.js +79 -0
  295. package/src/components/SubComponents/FormInstance/tests/range.test.js +32 -0
  296. package/src/components/SubComponents/FormInstance/tests/rating.test.js +38 -0
  297. package/src/components/SubComponents/FormInstance/tests/rule-disabled.test.js +128 -0
  298. package/src/components/SubComponents/FormInstance/tests/rule-enabled-value.test.js +78 -0
  299. package/src/components/SubComponents/FormInstance/tests/rule-hidden.test.js +131 -0
  300. package/src/components/SubComponents/FormInstance/tests/rule-required-value.test.js +144 -0
  301. package/src/components/SubComponents/FormInstance/tests/rule-visible.test.js +619 -0
  302. package/src/components/SubComponents/FormInstance/tests/sameas.test.js +94 -0
  303. package/src/components/SubComponents/FormInstance/tests/scale.test.js +43 -0
  304. package/src/components/SubComponents/FormInstance/tests/section.test.js +63 -0
  305. package/src/components/SubComponents/FormInstance/tests/select.test.js +45 -0
  306. package/src/components/SubComponents/FormInstance/tests/selectother.test.js +82 -0
  307. package/src/components/SubComponents/FormInstance/tests/signature.test.js +32 -0
  308. package/src/components/SubComponents/FormInstance/tests/styles.test.js +73 -0
  309. package/src/components/SubComponents/FormInstance/tests/table-select.test.js +93 -0
  310. package/src/components/SubComponents/FormInstance/tests/table.test.js +97 -0
  311. package/src/components/SubComponents/FormInstance/tests/telephone.test.js +29 -0
  312. package/src/components/SubComponents/FormInstance/tests/textarea.test.js +29 -0
  313. package/src/components/SubComponents/FormInstance/tests/textfield.test.js +48 -0
  314. package/src/components/SubComponents/FormInstance/tests/time.test.js +29 -0
  315. package/src/components/SubComponents/FormInstance/tests/token.test.js +33 -0
  316. package/src/components/SubComponents/FormInstance/tests/twig.test.js +74 -0
  317. package/src/components/SubComponents/FormInstance/tests/url.test.js +48 -0
  318. package/src/components/SubComponents/FormInstance/tests/value.test.js +31 -0
  319. package/src/components/SubComponents/FormInstance/tests/wizard.test.js +145 -0
  320. package/src/components/SubComponents/Icon/index.stories.js +1 -6
  321. package/src/components/SubComponents/MediaPlayer/index.stories.js +1 -6
  322. package/src/components/SubComponents/Pagination/index.stories.js +3 -8
  323. package/src/components/SubComponents/Pagination/index.vue +19 -18
  324. package/src/components/SubComponents/ResourceGroup/List/index.stories.js +3 -2
  325. package/src/components/SubComponents/ResourceGroup/index.vue +211 -174
  326. package/src/components/SubComponents/Search/GoogleREST/index.stories.js +50 -0
  327. package/src/components/SubComponents/Search/GoogleSearch/index.stories.js +23 -0
  328. package/src/components/SubComponents/Search/SearchListing/index.vue +85 -25
  329. package/src/components/SubComponents/Search/index.stories.js +19 -16
  330. package/src/components/SubComponents/Search/index.vue +578 -72
  331. package/src/components/SubComponents/SingleImage/index.stories.js +2 -16
  332. package/src/components/SubComponents/VideoThumbnail/index.stories.js +1 -0
  333. package/src/components/SubComponents/VideoThumbnail/index.vue +48 -136
  334. package/src/includes/scss/mixins/src/grid.scss +4 -2
  335. package/src/includes/scss/mixins/src/units.scss +25 -4
  336. package/src/includes/scss/vars/src/colors.module.scss +28 -1
  337. package/src/includes/scss/vars/src/colors.scss +29 -1
  338. package/src/index.js +62 -42
  339. package/src/main.js +2 -10
  340. package/src/mock/app-header-new.js +715 -0
  341. package/src/mock/carousel-items.js +82 -0
  342. package/src/mock/jest.fileMock.js +1 -0
  343. package/vite.config.js +28 -15
  344. package/src/components/SubComponents/FormInstance/index.stories.js +0 -8
  345. package/src/components/SubComponents/GoogleSearch/index.stories.js +0 -8
  346. package/src/components/SubComponents/GoogleSearch/index.vue +0 -405
@@ -1,70 +1,90 @@
1
1
  <template>
2
- <div class="wcl-search">
3
- <b-input-group>
4
- <label class="visually-hidden" for="site-search"
5
- >Search by keyword (Typed keyword automatically filters below
6
- results)</label
7
- >
8
- <b-form-input
9
- id="site-search"
10
- v-model="searchQuery"
11
- aria-label="searchbar"
12
- debounce="600"
13
- autocomplete="off"
14
- trim
15
- @update="onChange"
16
- ></b-form-input>
17
- <b-input-group-append>
18
- <b-button size="sm" @click="onSearch"
19
- ><span class="not-extra-small-screen">Search</span>
20
- <img alt="search icon" :src="searchIcon"
21
- /></b-button>
22
- </b-input-group-append>
23
- </b-input-group>
24
- <search-listing
25
- v-if="searchResults || isLoading"
26
- :class="{
27
- [`wcl-search__typeahead`]: isTypeahead,
28
- [`wcl-search__modal`]: isTypeahead
29
- }"
30
- :is-loading="isLoading"
31
- :is-typeahead="isTypeahead"
32
- :num-found="searchResults && searchResults.numFound"
33
- :query="searchResults && searchResults.query"
34
- :results="searchResults ? searchResults.results : []"
35
- :offset="searchResults && searchResults.offset"
36
- :page-limit="pageLimit"
37
- :content-parser="contentParser"
38
- @selected="$emit('selected')"
39
- @pageChanged="pageChanged"
40
- />
2
+ <div :class="searchClass">
3
+ <template v-if="searchType === 'google'">
4
+ <div class="wcl-google">
5
+ <div class="gcse-search"></div>
6
+ </div>
7
+ </template>
8
+ <template v-else>
9
+ <b-input-group>
10
+ <label class="visually-hidden" for="site-search"
11
+ >Search by keyword (Typed keyword automatically filters below
12
+ results)</label
13
+ >
14
+ <b-form-input
15
+ id="site-search"
16
+ v-model="searchQuery"
17
+ name="search"
18
+ aria-label="searchbar"
19
+ debounce="600"
20
+ autocomplete="off"
21
+ trim
22
+ @update="searchType !== 'googlerest' ? onChange : () => {}"
23
+ @keyup.enter="onChange"
24
+ ></b-form-input>
25
+ <template #append>
26
+ <b-button size="sm" class="search-button" @click="onSearch"
27
+ ><span class="not-extra-small-screen">Search</span>
28
+ <img alt="search icon" :src="searchIcon"
29
+ /></b-button>
30
+ </template>
31
+ </b-input-group>
32
+ <search-listing
33
+ v-if="loadSearchList && (searchResults || isLoading)"
34
+ :class="{
35
+ [`wcl-search__typeahead`]: isTypeahead,
36
+ [`wcl-search__modal`]: isTypeahead,
37
+ }"
38
+ :is-loading="isLoading"
39
+ :is-typeahead="isTypeahead"
40
+ :num-found="searchResults && searchResults.numFound"
41
+ :suggestion="searchResults && searchResults.suggestion"
42
+ :query="searchResults && searchResults.query"
43
+ :results="searchResults ? searchResults.results : []"
44
+ :offset="searchResults && searchResults.offset"
45
+ :page-limit="pageLimit"
46
+ :content-parser="contentParser"
47
+ :is-card-title-selectable="searchType === 'googlerest' ? true : false"
48
+ @selected="$emit('selected')"
49
+ @pageChanged="pageChanged"
50
+ />
51
+ </template>
41
52
  </div>
42
53
  </template>
43
54
 
44
55
  <script>
56
+ import axios from 'axios'
45
57
  import searchIcon from '../../../assets/icons/search.svg?url'
46
58
  import SearchListing from './SearchListing/index.vue'
47
- import { BButton, BInputGroup, BFormInput, BInputGroupAppend } from 'bootstrap-vue-next'
59
+ import { BButton, BInputGroup, BFormInput } from 'bootstrap-vue-next'
48
60
 
49
61
  export default {
50
- components: { SearchListing, BButton, BInputGroup, BFormInput, BInputGroupAppend },
62
+ components: { SearchListing, BButton, BInputGroup, BFormInput },
51
63
  props: {
52
64
  pageLimit: {
53
65
  type: Number,
54
- required: true
66
+ required: true,
55
67
  },
56
68
  contentParser: {
57
69
  type: Function,
58
- required: true
70
+ required: true,
59
71
  },
60
72
  isTypeahead: {
61
73
  type: Boolean,
62
- required: true
74
+ required: true,
63
75
  },
64
76
  initialSearchQuery: {
65
77
  type: String,
66
- default: ''
67
- }
78
+ default: '',
79
+ },
80
+ googleSearchFlag: {
81
+ type: String,
82
+ default: 'solar',
83
+ },
84
+ visibleSearchList: {
85
+ type: Boolean,
86
+ default: true,
87
+ },
68
88
  },
69
89
  data() {
70
90
  return {
@@ -72,28 +92,177 @@ export default {
72
92
  searchQuery: '',
73
93
  searchResults: null,
74
94
  isLoading: false,
75
- field_language: '8671'
95
+ field_language: '8671',
96
+ searchType: this.googleSearchFlag,
97
+ googleSearchScript: false,
98
+ loadSearchList: this.visibleSearchList,
76
99
  }
77
100
  },
101
+ computed: {
102
+ searchClass() {
103
+ return {
104
+ 'wcl-search': true,
105
+ 'wcl-search__google': this.searchType !== 'solar',
106
+ }
107
+ },
108
+ },
78
109
  mounted() {
79
- if (this.initialSearchQuery) {
80
- this.searchQuery = this.initialSearchQuery
81
- this.onSearch()
82
- }
83
- if (this.isTypeahead && window) {
84
- window.document.addEventListener('click', this.closeSearchResults)
110
+ if (this.searchType === 'google') {
111
+ this.setupGoogleStyle()
112
+ } else {
113
+ if (this.initialSearchQuery) {
114
+ this.searchQuery = this.initialSearchQuery
115
+ this.onSearch()
116
+ }
117
+ if (this.isTypeahead && window) {
118
+ window.document.addEventListener('click', this.closeSearchResults)
119
+ }
85
120
  }
86
121
  },
87
122
  beforeDestroy() {
88
- if (this.isTypeahead && window) {
123
+ if (this.isTypeahead && window && document) {
89
124
  window.document.removeEventListener('click', this.closeSearchResults)
90
125
  }
91
126
  },
92
127
  methods: {
93
- onSearch() {
94
- this.resetSearchResults()
95
- this.$emit('query', this.searchQuery)
96
- this.performSearch(1, this.searchQuery, this.pageLimit)
128
+ async fetchSearchResults(apiKey, searchEngineId, query, start) {
129
+ try {
130
+ const response = await (this?.$axios || axios).get(
131
+ `https://www.googleapis.com/customsearch/v1`,
132
+ {
133
+ params: {
134
+ key: apiKey,
135
+ cx: searchEngineId,
136
+ q: query,
137
+ start: start,
138
+ },
139
+ },
140
+ )
141
+ return response
142
+ } catch (error) {
143
+ console.error('Error fetching search results:', error)
144
+ return []
145
+ }
146
+ },
147
+ async onGoogleSearch(pageNr = 1, searchQuery) {
148
+ this.$emit('loading', true)
149
+ this.isLoading = true
150
+
151
+ const apiKey = 'AIzaSyD76GAmQQ6DuxKWf-aLXPZ9pwdz4nOvs2c'
152
+ const searchEngineId = '53b1506aa03c64160'
153
+
154
+ const start = (pageNr - 1) * this.pageLimit
155
+ let response = await this.fetchSearchResults(
156
+ apiKey,
157
+ searchEngineId,
158
+ searchQuery,
159
+ start,
160
+ )
161
+ let items = []
162
+ let suggest = response?.data?.spelling?.correctedQuery || ''
163
+ if (response?.data?.spelling?.correctedQuery) {
164
+ response = await this.fetchSearchResults(
165
+ apiKey,
166
+ searchEngineId,
167
+ response?.data?.spelling?.correctedQuery,
168
+ start,
169
+ )
170
+ items = response?.data?.items
171
+ } else if (response?.data?.items) {
172
+ items = response?.data?.items
173
+ }
174
+ if (items.length > 0) {
175
+ const totalResults = response?.data?.searchInformation?.totalResults
176
+ // Loop through each item in the items array
177
+ const modifiedResults = items.map((item) => {
178
+ // Update the title using the handleSearchResultLinkTitle function
179
+ const modifiedTitle = this.handleSearchResultLinkTitle(item.title)
180
+
181
+ // Return the modified item with the updated title
182
+ return {
183
+ ...item,
184
+ title: modifiedTitle,
185
+ }
186
+ })
187
+
188
+ this.searchResults = {
189
+ offset: Number(pageNr === 1 ? pageNr - 1 : pageNr),
190
+ numFound: Number(totalResults),
191
+ query: this.searchQuery,
192
+ results: modifiedResults,
193
+ suggestion: suggest,
194
+ }
195
+ } else {
196
+ this.searchResults = {
197
+ offset: 0,
198
+ numFound: 0,
199
+ query: this.searchQuery ?? '',
200
+ results: [],
201
+ suggestion: suggest,
202
+ }
203
+ }
204
+ this.$emit('loading', false)
205
+ this.isLoading = false
206
+ this.$emit('results', this.searchResults)
207
+
208
+ // wait for the page title to be updated and then fire the search event
209
+ setTimeout(() => {
210
+ const attrs = {
211
+ pageTitle: document.title,
212
+ pageURL: this.$route?.fullPath,
213
+ location:
214
+ this.$route?.path === '/'
215
+ ? 'Homepage'
216
+ : this.$route?.path === '/search'
217
+ ? 'Search Page'
218
+ : this.$route?.path,
219
+ label: this.searchQuery,
220
+ results: this.searchResults.numFound,
221
+ }
222
+ if (this.$gtm) {
223
+ this.$gtm.push({ event: 'custom.search.site.submit', ...attrs })
224
+ }
225
+ }, 300)
226
+ },
227
+ pageChanged(newPageNumber) {
228
+ if (this.searchType === 'solar') {
229
+ // Reset search results before fetching new results
230
+ this.resetSearchResults()
231
+ this.performSearch(newPageNumber, this.searchQuery, this.pageLimit)
232
+ } else {
233
+ // Fetch new search results with the updated page number
234
+ this.onGoogleSearch(newPageNumber, this.searchQuery)
235
+ }
236
+ },
237
+ onSearch(e) {
238
+ const { path } = this.$route || {}
239
+
240
+ // Home page
241
+ if (
242
+ (e?.type === 'click' || e?.key === 'Enter') &&
243
+ this.searchQuery &&
244
+ this.searchQuery.length > 2 &&
245
+ path === '/'
246
+ ) {
247
+ // Search page
248
+ const searchQuery = encodeURIComponent(this.searchQuery)
249
+ const origin = window.location.origin
250
+ const hash = window.location.hash
251
+ const pathname = 'search'
252
+ const URL = `${origin}/${pathname}${hash}?q=${searchQuery}`
253
+
254
+ // Uncomment below commented code when goes live
255
+ window.location.assign(URL)
256
+ } else {
257
+ this.resetSearchResults()
258
+ this.$emit('query', this.searchQuery)
259
+
260
+ if (this.searchType === 'solar') {
261
+ this.performSearch(1, this.searchQuery, this.pageLimit)
262
+ } else {
263
+ this.onGoogleSearch(1, this.searchQuery)
264
+ }
265
+ }
97
266
  },
98
267
  resetSearchResults() {
99
268
  this.searchResults = null
@@ -109,15 +278,11 @@ export default {
109
278
  this.$emit('query', null)
110
279
  }
111
280
  },
112
- onChange() {
281
+ onChange(e) {
113
282
  if (this.searchQuery && this.searchQuery.length > 2) {
114
- this.onSearch()
283
+ this.onSearch(e)
115
284
  }
116
285
  },
117
- pageChanged(newPageNumber) {
118
- this.resetSearchResults()
119
- this.performSearch(newPageNumber, this.searchQuery, this.pageLimit)
120
- },
121
286
  performSearch(pageNr = 1, searchQuery, pageLimit) {
122
287
  if (searchQuery) {
123
288
  this.$emit('loading', true)
@@ -126,21 +291,23 @@ export default {
126
291
  query: searchQuery,
127
292
  start: pageNr > 1 ? (pageNr - 1) * pageLimit : 0,
128
293
  rows: pageLimit,
129
- field_language: this.field_language
294
+ field_language: this.field_language,
130
295
  }).then((res) => {
131
296
  if (res.numFound) {
132
297
  this.searchResults = {
133
298
  offset: Number(res.offset),
134
299
  numFound: Number(res.numFound),
135
300
  query: searchQuery,
136
- results: res.results
301
+ results: res.results,
302
+ suggestion: null,
137
303
  }
138
304
  } else {
139
305
  this.searchResults = {
140
306
  offset: 0,
141
307
  numFound: 0,
142
308
  query: this.searchQuery ?? '',
143
- results: []
309
+ results: [],
310
+ suggestion: null,
144
311
  }
145
312
  }
146
313
  this.$emit('loading', false)
@@ -155,10 +322,10 @@ export default {
155
322
  this.$route?.path === '/'
156
323
  ? 'Homepage'
157
324
  : this.$route?.path === '/search'
158
- ? 'Search Page'
159
- : this.$route?.path,
325
+ ? 'Search Page'
326
+ : this.$route?.path,
160
327
  label: this.searchQuery,
161
- results: this.searchResults.numFound
328
+ results: this.searchResults.numFound,
162
329
  }
163
330
  if (this.$gtm) {
164
331
  this.$gtm.push({ event: 'custom.search.site.submit', ...attrs })
@@ -166,8 +333,63 @@ export default {
166
333
  }, 300)
167
334
  })
168
335
  }
169
- }
170
- }
336
+ },
337
+
338
+ // Method to customize google search style
339
+ setupGoogleStyle() {
340
+ if (this.googleSearchScript === false) {
341
+ const script = document.createElement('script')
342
+ script.async = true
343
+ script.src = this.$config
344
+ ? this.$config.public.googleSearch
345
+ : process.env.GOOGLE__URL
346
+ document.head.appendChild(script)
347
+ this.googleSearchScript = true
348
+
349
+ // Create a new style element
350
+ const style = document.createElement('style')
351
+ style.id = 'searchStyle' // Assign an ID to the style element
352
+ // The CSS we are going to inject
353
+ const cssVar = 'table.gssb_c {display: none !important;}'
354
+ // Inject the style element into the head
355
+ document.head.appendChild(style)
356
+ // Set the text content of the style element to the CSS text
357
+ style.textContent = cssVar
358
+ }
359
+ },
360
+
361
+ // function to handle search result link titles
362
+ handleSearchResultLinkTitle(title) {
363
+ // Split the title by the '|' character
364
+ const titleParts = title.split('|')
365
+
366
+ // Remove any leading or trailing whitespace from each part
367
+ const cleanedTitleParts = titleParts.map((part) => part.trim())
368
+
369
+ // Join the cleaned title parts back together without the text after the '|' character
370
+ const modifiedTitle = cleanedTitleParts[0] // Take only the first part before '|'
371
+
372
+ return modifiedTitle
373
+ },
374
+
375
+ handleKeyUp(event) {
376
+ if (event.key === 'Enter' || event.type === 'click') {
377
+ let keyword = event.key
378
+ ? event.target.value
379
+ : document.querySelector('input[name="search"]').value
380
+
381
+ // Check if the URL does not contain "/search"
382
+ if (keyword && !window.location.href.includes('/search')) {
383
+ let origin = window.location.origin
384
+ let hash = window.location.hash
385
+ let pathname = 'search'
386
+ let URL = origin + '/' + pathname + hash
387
+ }
388
+
389
+ this.setupPaginationEvent()
390
+ }
391
+ },
392
+ },
171
393
  }
172
394
  </script>
173
395
  <style lang="scss" scoped>
@@ -234,5 +456,289 @@ export default {
234
456
  display: none;
235
457
  }
236
458
  }
459
+ // Google Search styling
460
+ &.wcl-search__google {
461
+ :deep(form.gsc-search-box) {
462
+ position: relative;
463
+ display: -ms-flexbox;
464
+ display: flex;
465
+ -ms-flex-wrap: wrap;
466
+ flex-wrap: wrap;
467
+ -ms-flex-align: stretch;
468
+ align-items: stretch;
469
+ width: 100%;
470
+ }
471
+
472
+ :deep(.gsib_a) {
473
+ padding: 0 !important;
474
+ height: 56px;
475
+ }
476
+
477
+ :deep(.gsib_b) {
478
+ position: absolute;
479
+ right: 5px;
480
+ top: 15px;
481
+ }
482
+
483
+ :deep(.gcsc-more-maybe-branding-root) {
484
+ display: none;
485
+ }
486
+
487
+ :deep(table.gsc-input) {
488
+ position: relative;
489
+ }
490
+
491
+ :deep(td.gsc-input) {
492
+ border: none;
493
+ padding: 0;
494
+ width: 100%;
495
+ }
496
+
497
+ :deep(.gsc-input-box) {
498
+ border: none;
499
+ }
500
+
501
+ :deep(input.gsc-input) {
502
+ border-radius: 8px 0px 0px 8px;
503
+ border: 1px solid $gray !important;
504
+ border-right: 0 !important;
505
+ background: none !important;
506
+ color: #495057;
507
+ height: 56px !important;
508
+ position: relative;
509
+ -ms-flex: 1 1 auto;
510
+ flex: 1 1 auto;
511
+ padding: 0.375rem 0.75rem !important;
512
+
513
+ @media screen and (max-width: 320px) {
514
+ width: 220px;
515
+ }
516
+
517
+ &:focus {
518
+ box-shadow: none;
519
+ }
520
+ }
521
+
522
+ :deep(.gsc-search-button) {
523
+ display: -ms-flexbox;
524
+ display: flex;
525
+ margin-left: 0px;
526
+ height: 56px;
527
+ margin-top: 0px;
528
+ }
529
+
530
+ :deep(button.gsc-search-button) {
531
+ background: $orange;
532
+ border: none;
533
+ border-radius: 0px 8px 8px 0px;
534
+ color: $black;
535
+ display: flex;
536
+ align-items: center;
537
+ height: 56px !important;
538
+ font-size: 16px;
539
+ font-weight: 700;
540
+ padding-right: 32px;
541
+ padding-left: 32px;
542
+
543
+ &:before {
544
+ content: 'Search';
545
+ }
546
+
547
+ @media screen and (max-width: 767px) {
548
+ margin-top: 6px;
549
+ }
550
+
551
+ @media screen and (max-width: 320px) {
552
+ padding-right: 16px;
553
+ padding-left: 16px;
554
+ }
555
+
556
+ svg {
557
+ fill: black;
558
+ height: 18px;
559
+ width: 18px;
560
+ margin-left: 10px;
561
+ }
562
+
563
+ :focus {
564
+ box-shadow: 0px;
565
+ }
566
+ }
567
+
568
+ :deep(.gsst_a .gscb_a) {
569
+ color: #191919;
570
+ }
571
+
572
+ :deep(.gsc-result-info) {
573
+ color: #191919;
574
+ font-size: 16px;
575
+ font-weight: 400;
576
+ }
577
+
578
+ :deep(.gsc-above-wrapper-area) {
579
+ padding: 20px 0;
580
+ border-bottom: none;
581
+ }
582
+
583
+ /* search list start */
584
+ :deep(.gsc-url-top) {
585
+ display: none;
586
+ }
587
+
588
+ :deep(.gsc-table-result) {
589
+ line-height: 1.6;
590
+ padding: 0 5px;
591
+ font-size: 16px;
592
+ font-weight: 400;
593
+ width: 80%;
594
+
595
+ b {
596
+ color: #191919;
597
+ font-size: 16px;
598
+ font-weight: normal;
599
+ }
600
+ }
601
+
602
+ :deep(.gsc-resultsRoot.gsc-tabData) {
603
+ width: 100%;
604
+ margin-left: auto;
605
+ margin-right: auto;
606
+ padding-left: 15px;
607
+ padding-right: 15px;
608
+
609
+ &:hover {
610
+ border: none;
611
+ }
612
+ }
613
+
614
+ :deep(.gs-bidi-start-align.gs-snippet) {
615
+ color: #191919 !important;
616
+ line-height: 24px;
617
+ }
618
+
619
+ :deep(.gsc-thumbnail-inside) {
620
+ position: relative;
621
+ padding: 0;
622
+
623
+ &::after {
624
+ content: ' ';
625
+ position: absolute;
626
+ height: 16px;
627
+ width: 11px;
628
+ top: 5px;
629
+ right: 16px;
630
+ background-repeat: no-repeat;
631
+ background-image: url(./../../../assets/icons/chev-right.svg);
632
+ background-size: 100%;
633
+ }
634
+
635
+ div.gs-title {
636
+ width: 90%;
637
+ margin-bottom: 12px;
638
+ overflow: visible;
639
+ }
640
+
641
+ a.gs-title {
642
+ color: #191919 !important;
643
+ font-weight: 700;
644
+ line-height: 24px;
645
+ font-size: 20px;
646
+ border: 3px solid transparent;
647
+ padding-left: 5px;
648
+ padding-right: 5px;
649
+ text-decoration: underline;
650
+
651
+ &:hover {
652
+ border: 3px solid #da47ff;
653
+ color: #006bff !important;
654
+
655
+ b {
656
+ color: #006bff !important;
657
+ }
658
+ }
659
+
660
+ b {
661
+ color: #191919 !important;
662
+ font-size: 20px;
663
+ }
664
+ }
665
+ }
666
+
667
+ :deep(.gsc-orderby-label) {
668
+ font-size: 16px;
669
+ font-weight: 700;
670
+ color: #191919;
671
+ }
672
+
673
+ :deep(.gsc-selected-option-container) {
674
+ background-color: white;
675
+ border-radius: 10px;
676
+ margin-top: 0px;
677
+ padding-top: 6px;
678
+ margin-right: 0;
679
+ margin-left: 4px;
680
+ padding-left: 20px;
681
+ padding-bottom: 6px;
682
+ height: 40px;
683
+
684
+ .gsc-selected-option {
685
+ font-size: 16px;
686
+ font-weight: 400;
687
+ line-height: 24px;
688
+ margin-right: 20px;
689
+ }
690
+ }
691
+
692
+ :deep(.gsc-control-cse .gsc-option-selector) {
693
+ margin-top: 0;
694
+ margin-right: 10px;
695
+ }
696
+
697
+ :deep(.gsc-expansionArea > .gsc-webResult.gsc-result) {
698
+ border: 0;
699
+ flex: 0 0 100%;
700
+ max-width: 100%;
701
+ padding: 0;
702
+
703
+ &:first-child {
704
+ border-top: 1px solid #bababa;
705
+ }
706
+
707
+ > div {
708
+ border-bottom: 1px solid #bababa;
709
+ padding: 32px 0;
710
+ }
711
+ }
712
+
713
+ :deep(.gsc-results .gsc-cursor-box .gsc-cursor-current-page) {
714
+ background-color: lightgrey;
715
+ }
716
+
717
+ :deep(.gsc-results .gsc-cursor-box .gsc-cursor-page) {
718
+ border: 1px solid grey;
719
+ color: #333333;
720
+ padding: 10px 12px;
721
+ border-radius: 5px;
722
+ font-size: 16px;
723
+ font-weight: 400;
724
+ }
725
+
726
+ :deep(.gsc-results .gsc-cursor-box) {
727
+ margin-top: 50px;
728
+ }
729
+
730
+ /* search list end */
731
+ @include mq('xs') {
732
+ .not-extra-small-screen {
733
+ display: none;
734
+ }
735
+ }
736
+ }
737
+ }
738
+
739
+ @media screen and (max-width: 767px) {
740
+ :deep(.gssb_c) {
741
+ width: 85% !important;
742
+ }
237
743
  }
238
744
  </style>