@swisspost/internet-header 1.5.0-beta.2 → 1.5.0

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 (446) hide show
  1. package/LICENSE +202 -202
  2. package/dist/cjs/{if.component-313f59b8.js → if.component-51d000af.js} +6 -6
  3. package/dist/cjs/if.component-51d000af.js.map +1 -0
  4. package/dist/cjs/{klp-widget.controller-84642428.js → klp-widget.controller-d8941c4e.js} +4811 -4811
  5. package/dist/cjs/{klp-widget.controller-84642428.js.map → klp-widget.controller-d8941c4e.js.map} +1 -1
  6. package/dist/cjs/{language.service-a80ae01d.js → language.service-7dbf739d.js} +141 -141
  7. package/dist/cjs/language.service-7dbf739d.js.map +1 -0
  8. package/dist/cjs/post-klp-login-widget.cjs.entry.js +33 -33
  9. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  10. package/dist/cjs/post-language-switch.cjs.entry.js +88 -88
  11. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  12. package/dist/cjs/post-logo.cjs.entry.js +51 -51
  13. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  14. package/dist/cjs/post-main-navigation.cjs.entry.js +226 -226
  15. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  16. package/dist/cjs/post-meta-navigation.cjs.entry.js +15 -15
  17. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  18. package/dist/cjs/post-search.cjs.entry.js +556 -534
  19. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  20. package/dist/cjs/post-skiplinks.cjs.entry.js +41 -41
  21. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  22. package/dist/cjs/{store-47e14589.js → store-d0d514fc.js} +20 -13
  23. package/dist/cjs/store-d0d514fc.js.map +1 -0
  24. package/dist/cjs/{svg-icon.component-10fbda11.js → svg-icon.component-be93f876.js} +2 -2
  25. package/dist/cjs/svg-icon.component-be93f876.js.map +1 -0
  26. package/dist/cjs/{svg-sprite.component-c3b454b3.js → svg-sprite.component-1bd7a058.js} +40 -40
  27. package/dist/cjs/svg-sprite.component-1bd7a058.js.map +1 -0
  28. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +370 -392
  29. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  30. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +125 -125
  31. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  32. package/dist/cjs/swisspost-internet-header.cjs.entry.js +608 -608
  33. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  34. package/dist/cjs/{ui.service-db4a8252.js → ui.service-e1ebb6d4.js} +28 -28
  35. package/dist/cjs/ui.service-e1ebb6d4.js.map +1 -0
  36. package/dist/cjs/{utils-b6014257.js → utils-60853c5d.js} +15 -15
  37. package/dist/cjs/utils-60853c5d.js.map +1 -0
  38. package/dist/collection/assets/config/test-configuration.json +4067 -4067
  39. package/dist/collection/assets/i18n/translations.js +38 -38
  40. package/dist/collection/assets/i18n/translations.js.map +1 -1
  41. package/dist/collection/assets/js/sockjs-client.js +5134 -5134
  42. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +11 -11
  43. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +1 -1
  44. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +42 -42
  45. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +1 -1
  46. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +8 -8
  47. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -1
  48. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +6 -6
  49. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +1 -1
  50. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +12 -12
  51. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +1 -1
  52. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +253 -253
  53. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  54. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +12 -12
  55. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +1 -1
  56. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +24 -24
  57. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +1 -1
  58. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +6 -6
  59. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +1 -1
  60. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +6 -6
  61. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +1 -1
  62. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +5 -5
  63. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +1 -1
  64. package/dist/collection/components/post-internet-footer/post-internet-footer.js +86 -86
  65. package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -1
  66. package/dist/collection/components/post-internet-header/post-internet-header.js +676 -676
  67. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  68. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +14 -14
  69. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +1 -1
  70. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +67 -67
  71. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
  72. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +9 -9
  73. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
  74. package/dist/collection/components/post-language-switch/post-language-switch.js +186 -186
  75. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  76. package/dist/collection/components/post-logo/logo-sprite.component.js +4 -4
  77. package/dist/collection/components/post-logo/logo-sprite.component.js.map +1 -1
  78. package/dist/collection/components/post-logo/post-logo.js +60 -60
  79. package/dist/collection/components/post-logo/post-logo.js.map +1 -1
  80. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +13 -13
  81. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -1
  82. package/dist/collection/components/post-main-navigation/post-main-navigation.js +347 -347
  83. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  84. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +67 -67
  85. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
  86. package/dist/collection/components/post-search/post-search.js +362 -362
  87. package/dist/collection/components/post-search/post-search.js.map +1 -1
  88. package/dist/collection/components/post-skiplinks/post-skiplinks.js +51 -51
  89. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  90. package/dist/collection/data/store.js +11 -11
  91. package/dist/collection/data/store.js.map +1 -1
  92. package/dist/collection/index.js +2 -2
  93. package/dist/collection/index.js.map +1 -1
  94. package/dist/collection/models/breadcrumbs.model.js +2 -2
  95. package/dist/collection/models/breadcrumbs.model.js.map +1 -1
  96. package/dist/collection/models/coveo.model.js +2 -2
  97. package/dist/collection/models/coveo.model.js.map +1 -1
  98. package/dist/collection/models/footer.model.js +2 -2
  99. package/dist/collection/models/footer.model.js.map +1 -1
  100. package/dist/collection/models/general.model.js +2 -2
  101. package/dist/collection/models/general.model.js.map +1 -1
  102. package/dist/collection/models/geocode.model.js +10 -10
  103. package/dist/collection/models/geocode.model.js.map +1 -1
  104. package/dist/collection/models/header.model.js +2 -2
  105. package/dist/collection/models/header.model.js.map +1 -1
  106. package/dist/collection/models/implementor.model.js +2 -2
  107. package/dist/collection/models/implementor.model.js.map +1 -1
  108. package/dist/collection/models/language.model.js +2 -2
  109. package/dist/collection/models/language.model.js.map +1 -1
  110. package/dist/collection/models/track-and-trace.model.js +2 -2
  111. package/dist/collection/models/track-and-trace.model.js.map +1 -1
  112. package/dist/collection/services/config.service.js +170 -170
  113. package/dist/collection/services/config.service.js.map +1 -1
  114. package/dist/collection/services/language.service.js +107 -107
  115. package/dist/collection/services/language.service.js.map +1 -1
  116. package/dist/collection/services/route.service.js +163 -163
  117. package/dist/collection/services/route.service.js.map +1 -1
  118. package/dist/collection/services/search/coveo.service.js +34 -34
  119. package/dist/collection/services/search/coveo.service.js.map +1 -1
  120. package/dist/collection/services/search/coveo.settings.js +19 -19
  121. package/dist/collection/services/search/coveo.settings.js.map +1 -1
  122. package/dist/collection/services/search/parcel.service.js +54 -54
  123. package/dist/collection/services/search/parcel.service.js.map +1 -1
  124. package/dist/collection/services/search/places.service.js +95 -95
  125. package/dist/collection/services/search/places.service.js.map +1 -1
  126. package/dist/collection/services/search/places.settings.js +16 -16
  127. package/dist/collection/services/search/places.settings.js.map +1 -1
  128. package/dist/collection/services/search/search-utilities.js +26 -26
  129. package/dist/collection/services/search/search-utilities.js.map +1 -1
  130. package/dist/collection/services/search/search.service.js +42 -42
  131. package/dist/collection/services/search/search.service.js.map +1 -1
  132. package/dist/collection/services/ui.service.js +30 -30
  133. package/dist/collection/services/ui.service.js.map +1 -1
  134. package/dist/collection/tests/setup-tests.js +14 -14
  135. package/dist/collection/tests/setup-tests.js.map +1 -1
  136. package/dist/collection/utils/highlighted.component.js +11 -11
  137. package/dist/collection/utils/highlighted.component.js.map +1 -1
  138. package/dist/collection/utils/if.component.js +7 -7
  139. package/dist/collection/utils/if.component.js.map +1 -1
  140. package/dist/collection/utils/svg-icon.component.js +3 -3
  141. package/dist/collection/utils/svg-icon.component.js.map +1 -1
  142. package/dist/collection/utils/svg-sprite.component.js +3 -3
  143. package/dist/collection/utils/svg-sprite.component.js.map +1 -1
  144. package/dist/collection/utils/utils.js +16 -16
  145. package/dist/collection/utils/utils.js.map +1 -1
  146. package/dist/components/klp-widget.controller.js +4810 -4810
  147. package/dist/components/klp-widget.controller.js.map +1 -1
  148. package/dist/components/language.service.js +139 -139
  149. package/dist/components/language.service.js.map +1 -1
  150. package/dist/components/post-klp-login-widget2.js +48 -48
  151. package/dist/components/post-klp-login-widget2.js.map +1 -1
  152. package/dist/components/post-language-switch2.js +102 -102
  153. package/dist/components/post-language-switch2.js.map +1 -1
  154. package/dist/components/post-logo2.js +67 -67
  155. package/dist/components/post-logo2.js.map +1 -1
  156. package/dist/components/post-main-navigation2.js +243 -243
  157. package/dist/components/post-main-navigation2.js.map +1 -1
  158. package/dist/components/post-meta-navigation2.js +32 -32
  159. package/dist/components/post-meta-navigation2.js.map +1 -1
  160. package/dist/components/post-search2.js +577 -555
  161. package/dist/components/post-search2.js.map +1 -1
  162. package/dist/components/post-skiplinks2.js +52 -52
  163. package/dist/components/post-skiplinks2.js.map +1 -1
  164. package/dist/components/store.js +19 -12
  165. package/dist/components/store.js.map +1 -1
  166. package/dist/components/svg-icon.component.js +1 -1
  167. package/dist/components/svg-icon.component.js.map +1 -1
  168. package/dist/components/svg-sprite.component.js +39 -39
  169. package/dist/components/svg-sprite.component.js.map +1 -1
  170. package/dist/components/swisspost-internet-breadcrumbs.js +387 -409
  171. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  172. package/dist/components/swisspost-internet-footer.js +140 -140
  173. package/dist/components/swisspost-internet-footer.js.map +1 -1
  174. package/dist/components/swisspost-internet-header.js +672 -672
  175. package/dist/components/swisspost-internet-header.js.map +1 -1
  176. package/dist/components/ui.service.js +27 -27
  177. package/dist/components/ui.service.js.map +1 -1
  178. package/dist/components/utils.js +14 -14
  179. package/dist/components/utils.js.map +1 -1
  180. package/dist/esm/{if.component-542fb8c3.js → if.component-0fe54385.js} +6 -6
  181. package/dist/esm/if.component-0fe54385.js.map +1 -0
  182. package/dist/esm/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +4811 -4811
  183. package/dist/esm/{klp-widget.controller-903e0422.js.map → klp-widget.controller-55366e6a.js.map} +1 -1
  184. package/dist/esm/{language.service-e49858e0.js → language.service-023d2711.js} +141 -141
  185. package/dist/esm/language.service-023d2711.js.map +1 -0
  186. package/dist/esm/post-klp-login-widget.entry.js +33 -33
  187. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  188. package/dist/esm/post-language-switch.entry.js +88 -88
  189. package/dist/esm/post-language-switch.entry.js.map +1 -1
  190. package/dist/esm/post-logo.entry.js +51 -51
  191. package/dist/esm/post-logo.entry.js.map +1 -1
  192. package/dist/esm/post-main-navigation.entry.js +226 -226
  193. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  194. package/dist/esm/post-meta-navigation.entry.js +15 -15
  195. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  196. package/dist/esm/post-search.entry.js +556 -534
  197. package/dist/esm/post-search.entry.js.map +1 -1
  198. package/dist/esm/post-skiplinks.entry.js +41 -41
  199. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  200. package/dist/esm/{store-d495dc07.js → store-837c3490.js} +20 -13
  201. package/dist/esm/store-837c3490.js.map +1 -0
  202. package/dist/esm/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +2 -2
  203. package/dist/esm/svg-icon.component-e09b4bf9.js.map +1 -0
  204. package/dist/esm/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +40 -40
  205. package/dist/esm/svg-sprite.component-cf60303f.js.map +1 -0
  206. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +370 -392
  207. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  208. package/dist/esm/swisspost-internet-footer.entry.js +125 -125
  209. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  210. package/dist/esm/swisspost-internet-header.entry.js +608 -608
  211. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  212. package/dist/esm/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +28 -28
  213. package/dist/esm/ui.service-2fbc9c45.js.map +1 -0
  214. package/dist/esm/{utils-5bf107ff.js → utils-ee79122f.js} +15 -15
  215. package/dist/esm/utils-ee79122f.js.map +1 -0
  216. package/dist/esm-es5/{if.component-542fb8c3.js → if.component-0fe54385.js} +1 -1
  217. package/dist/esm-es5/if.component-0fe54385.js.map +1 -0
  218. package/dist/esm-es5/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +1 -1
  219. package/dist/{swisspost-internet-header/p-83f6cd1e.js.map → esm-es5/klp-widget.controller-55366e6a.js.map} +1 -1
  220. package/dist/esm-es5/{language.service-e49858e0.js → language.service-023d2711.js} +2 -2
  221. package/dist/esm-es5/language.service-023d2711.js.map +1 -0
  222. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  223. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  224. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  225. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  226. package/dist/esm-es5/post-logo.entry.js +1 -1
  227. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  228. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  229. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  230. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  231. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  232. package/dist/esm-es5/post-search.entry.js +1 -1
  233. package/dist/esm-es5/post-search.entry.js.map +1 -1
  234. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  235. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  236. package/dist/esm-es5/store-837c3490.js +2 -0
  237. package/dist/esm-es5/store-837c3490.js.map +1 -0
  238. package/dist/esm-es5/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +1 -1
  239. package/dist/esm-es5/svg-icon.component-e09b4bf9.js.map +1 -0
  240. package/dist/esm-es5/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +1 -1
  241. package/dist/esm-es5/svg-sprite.component-cf60303f.js.map +1 -0
  242. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
  243. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  244. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  245. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  246. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  247. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  248. package/dist/esm-es5/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +1 -1
  249. package/dist/esm-es5/ui.service-2fbc9c45.js.map +1 -0
  250. package/dist/esm-es5/{utils-5bf107ff.js → utils-ee79122f.js} +1 -1
  251. package/dist/esm-es5/utils-ee79122f.js.map +1 -0
  252. package/dist/swisspost-internet-header/assets/config/test-configuration.json +4067 -4067
  253. package/dist/swisspost-internet-header/p-06649b46.js +2 -0
  254. package/dist/swisspost-internet-header/p-06649b46.js.map +1 -0
  255. package/dist/swisspost-internet-header/{p-ec80c8fc.js → p-0942595f.js} +2 -2
  256. package/dist/swisspost-internet-header/p-0942595f.js.map +1 -0
  257. package/dist/swisspost-internet-header/{p-c29ec122.system.js → p-0c5624c0.system.js} +1 -1
  258. package/dist/swisspost-internet-header/p-0c5624c0.system.js.map +1 -0
  259. package/dist/swisspost-internet-header/{p-2eb04045.entry.js → p-0cba8ab4.entry.js} +2 -2
  260. package/dist/swisspost-internet-header/p-0cba8ab4.entry.js.map +1 -0
  261. package/dist/swisspost-internet-header/p-17a47667.system.js +1 -1
  262. package/dist/swisspost-internet-header/{p-ddcb8258.entry.js → p-26879023.entry.js} +2 -2
  263. package/dist/swisspost-internet-header/p-26879023.entry.js.map +1 -0
  264. package/dist/swisspost-internet-header/{p-cb3de015.system.entry.js → p-28e6362f.system.entry.js} +2 -2
  265. package/dist/swisspost-internet-header/p-28e6362f.system.entry.js.map +1 -0
  266. package/dist/swisspost-internet-header/{p-00fd320e.entry.js → p-322526ef.entry.js} +2 -2
  267. package/dist/swisspost-internet-header/p-322526ef.entry.js.map +1 -0
  268. package/dist/swisspost-internet-header/{p-f4ff1e9e.system.js → p-3753a678.system.js} +2 -2
  269. package/dist/swisspost-internet-header/p-3753a678.system.js.map +1 -0
  270. package/dist/swisspost-internet-header/{p-a9c4b2d0.system.entry.js → p-38d645ba.system.entry.js} +2 -2
  271. package/dist/swisspost-internet-header/p-38d645ba.system.entry.js.map +1 -0
  272. package/dist/swisspost-internet-header/{p-872a76a4.system.js → p-42695801.system.js} +1 -1
  273. package/dist/swisspost-internet-header/p-42695801.system.js.map +1 -0
  274. package/dist/swisspost-internet-header/{p-bdabd6ac.js → p-45db66a6.js} +1 -1
  275. package/dist/swisspost-internet-header/p-45db66a6.js.map +1 -0
  276. package/dist/swisspost-internet-header/p-493337e1.system.entry.js +2 -0
  277. package/dist/swisspost-internet-header/p-493337e1.system.entry.js.map +1 -0
  278. package/dist/swisspost-internet-header/{p-78f653be.system.entry.js → p-5d2fac3b.system.entry.js} +2 -2
  279. package/dist/swisspost-internet-header/p-5d2fac3b.system.entry.js.map +1 -0
  280. package/dist/swisspost-internet-header/p-62c5cf26.entry.js +2 -0
  281. package/dist/swisspost-internet-header/p-62c5cf26.entry.js.map +1 -0
  282. package/dist/swisspost-internet-header/{p-9d0a7039.entry.js → p-64cb215a.entry.js} +2 -2
  283. package/dist/swisspost-internet-header/p-64cb215a.entry.js.map +1 -0
  284. package/dist/swisspost-internet-header/{p-a51ad207.system.entry.js → p-66144e99.system.entry.js} +2 -2
  285. package/dist/swisspost-internet-header/p-66144e99.system.entry.js.map +1 -0
  286. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js +7 -0
  287. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js.map +1 -0
  288. package/dist/swisspost-internet-header/{p-12baacf0.entry.js → p-77d5e07f.entry.js} +2 -2
  289. package/dist/swisspost-internet-header/p-77d5e07f.entry.js.map +1 -0
  290. package/dist/swisspost-internet-header/p-7ea26ee9.entry.js +2 -0
  291. package/dist/swisspost-internet-header/p-7ea26ee9.entry.js.map +1 -0
  292. package/dist/swisspost-internet-header/p-7fcba2e7.system.js +2 -0
  293. package/dist/swisspost-internet-header/p-7fcba2e7.system.js.map +1 -0
  294. package/dist/swisspost-internet-header/{p-549b62ba.system.js → p-88aac12c.system.js} +1 -1
  295. package/dist/swisspost-internet-header/p-88aac12c.system.js.map +1 -0
  296. package/dist/swisspost-internet-header/{p-0e2ec555.js → p-8bf099a8.js} +1 -1
  297. package/dist/swisspost-internet-header/p-8bf099a8.js.map +1 -0
  298. package/dist/swisspost-internet-header/{p-8717445f.entry.js → p-95b81c4d.entry.js} +2 -2
  299. package/dist/swisspost-internet-header/p-95b81c4d.entry.js.map +1 -0
  300. package/dist/swisspost-internet-header/{p-3eb881c3.js → p-a2f9d462.js} +1 -1
  301. package/dist/swisspost-internet-header/p-a2f9d462.js.map +1 -0
  302. package/dist/swisspost-internet-header/{p-eeff8b03.js → p-ab1dd269.js} +1 -1
  303. package/dist/swisspost-internet-header/p-ab1dd269.js.map +1 -0
  304. package/dist/swisspost-internet-header/p-b228fe49.system.entry.js +2 -0
  305. package/dist/swisspost-internet-header/p-b228fe49.system.entry.js.map +1 -0
  306. package/dist/swisspost-internet-header/{p-a4160d23.entry.js → p-ccb522ba.entry.js} +2 -2
  307. package/dist/swisspost-internet-header/p-ccb522ba.entry.js.map +1 -0
  308. package/dist/swisspost-internet-header/p-cfa787d7.entry.js +6 -0
  309. package/dist/swisspost-internet-header/p-cfa787d7.entry.js.map +1 -0
  310. package/dist/swisspost-internet-header/{p-c946c5b8.system.entry.js → p-d6539597.system.entry.js} +2 -2
  311. package/dist/swisspost-internet-header/p-d6539597.system.entry.js.map +1 -0
  312. package/dist/swisspost-internet-header/{p-b406315a.system.entry.js → p-e2990968.system.entry.js} +2 -2
  313. package/dist/swisspost-internet-header/p-e2990968.system.entry.js.map +1 -0
  314. package/dist/swisspost-internet-header/{p-83f6cd1e.js → p-ed24b372.js} +1 -1
  315. package/dist/swisspost-internet-header/p-ed24b372.js.map +1 -0
  316. package/dist/swisspost-internet-header/{p-9509f6c7.system.js → p-edb2802d.system.js} +1 -1
  317. package/dist/swisspost-internet-header/p-edb2802d.system.js.map +1 -0
  318. package/dist/swisspost-internet-header/{p-ee915bbe.system.js → p-ee119d2e.system.js} +1 -1
  319. package/dist/swisspost-internet-header/p-ee119d2e.system.js.map +1 -0
  320. package/dist/swisspost-internet-header/{p-883f9547.system.entry.js → p-f38f38f4.system.entry.js} +2 -2
  321. package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js.map +1 -0
  322. package/dist/swisspost-internet-header/{p-3ba40afe.js → p-f7c0cf7b.js} +1 -1
  323. package/dist/swisspost-internet-header/p-f7c0cf7b.js.map +1 -0
  324. package/dist/swisspost-internet-header/{p-4654b2af.system.js → p-ffc59851.system.js} +1 -1
  325. package/dist/swisspost-internet-header/p-ffc59851.system.js.map +1 -0
  326. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  327. package/dist/types/assets/i18n/translations.d.ts +37 -37
  328. package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +9 -9
  329. package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +12 -12
  330. package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +7 -7
  331. package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +6 -6
  332. package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +16 -16
  333. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +45 -45
  334. package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +5 -5
  335. package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +6 -6
  336. package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +4 -4
  337. package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +5 -5
  338. package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +5 -5
  339. package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +10 -10
  340. package/dist/types/components/post-internet-header/post-internet-header.d.ts +124 -124
  341. package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +3 -3
  342. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +10 -10
  343. package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +6 -6
  344. package/dist/types/components/post-language-switch/post-language-switch.d.ts +27 -27
  345. package/dist/types/components/post-logo/logo-sprite.component.d.ts +4 -4
  346. package/dist/types/components/post-logo/post-logo.d.ts +11 -11
  347. package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +8 -8
  348. package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +48 -48
  349. package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +5 -5
  350. package/dist/types/components/post-search/post-search.d.ts +61 -61
  351. package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +9 -9
  352. package/dist/types/data/store.d.ts +16 -16
  353. package/dist/types/index.d.ts +1 -1
  354. package/dist/types/models/breadcrumbs.model.d.ts +36 -36
  355. package/dist/types/models/coveo.model.d.ts +22 -22
  356. package/dist/types/models/footer.model.d.ts +48 -48
  357. package/dist/types/models/general.model.d.ts +46 -46
  358. package/dist/types/models/geocode.model.d.ts +52 -52
  359. package/dist/types/models/header.model.d.ts +163 -163
  360. package/dist/types/models/implementor.model.d.ts +22 -22
  361. package/dist/types/models/language.model.d.ts +6 -6
  362. package/dist/types/models/track-and-trace.model.d.ts +25 -25
  363. package/dist/types/services/config.service.d.ts +56 -56
  364. package/dist/types/services/language.service.d.ts +65 -65
  365. package/dist/types/services/route.service.d.ts +39 -39
  366. package/dist/types/services/search/coveo.service.d.ts +9 -9
  367. package/dist/types/services/search/coveo.settings.d.ts +2 -2
  368. package/dist/types/services/search/parcel.service.d.ts +28 -28
  369. package/dist/types/services/search/places.service.d.ts +24 -24
  370. package/dist/types/services/search/places.settings.d.ts +3 -3
  371. package/dist/types/services/search/search-utilities.d.ts +15 -15
  372. package/dist/types/services/search/search.service.d.ts +24 -24
  373. package/dist/types/services/ui.service.d.ts +23 -23
  374. package/dist/types/utils/highlighted.component.d.ts +4 -4
  375. package/dist/types/utils/if.component.d.ts +4 -4
  376. package/dist/types/utils/svg-icon.component.d.ts +4 -4
  377. package/dist/types/utils/svg-sprite.component.d.ts +1 -1
  378. package/dist/types/utils/utils.d.ts +8 -8
  379. package/package.json +7 -7
  380. package/readme.md +57 -15
  381. package/dist/cjs/if.component-313f59b8.js.map +0 -1
  382. package/dist/cjs/language.service-a80ae01d.js.map +0 -1
  383. package/dist/cjs/store-47e14589.js.map +0 -1
  384. package/dist/cjs/svg-icon.component-10fbda11.js.map +0 -1
  385. package/dist/cjs/svg-sprite.component-c3b454b3.js.map +0 -1
  386. package/dist/cjs/ui.service-db4a8252.js.map +0 -1
  387. package/dist/cjs/utils-b6014257.js.map +0 -1
  388. package/dist/esm/if.component-542fb8c3.js.map +0 -1
  389. package/dist/esm/language.service-e49858e0.js.map +0 -1
  390. package/dist/esm/store-d495dc07.js.map +0 -1
  391. package/dist/esm/svg-icon.component-1b1b27a2.js.map +0 -1
  392. package/dist/esm/svg-sprite.component-ec0ac38c.js.map +0 -1
  393. package/dist/esm/ui.service-1d9b0f51.js.map +0 -1
  394. package/dist/esm/utils-5bf107ff.js.map +0 -1
  395. package/dist/esm-es5/if.component-542fb8c3.js.map +0 -1
  396. package/dist/esm-es5/klp-widget.controller-903e0422.js.map +0 -1
  397. package/dist/esm-es5/language.service-e49858e0.js.map +0 -1
  398. package/dist/esm-es5/store-d495dc07.js +0 -2
  399. package/dist/esm-es5/store-d495dc07.js.map +0 -1
  400. package/dist/esm-es5/svg-icon.component-1b1b27a2.js.map +0 -1
  401. package/dist/esm-es5/svg-sprite.component-ec0ac38c.js.map +0 -1
  402. package/dist/esm-es5/ui.service-1d9b0f51.js.map +0 -1
  403. package/dist/esm-es5/utils-5bf107ff.js.map +0 -1
  404. package/dist/swisspost-internet-header/p-00fd320e.entry.js.map +0 -1
  405. package/dist/swisspost-internet-header/p-0e2ec555.js.map +0 -1
  406. package/dist/swisspost-internet-header/p-12baacf0.entry.js.map +0 -1
  407. package/dist/swisspost-internet-header/p-2eb04045.entry.js.map +0 -1
  408. package/dist/swisspost-internet-header/p-3ba40afe.js.map +0 -1
  409. package/dist/swisspost-internet-header/p-3eb881c3.js.map +0 -1
  410. package/dist/swisspost-internet-header/p-458c9862.system.entry.js +0 -2
  411. package/dist/swisspost-internet-header/p-458c9862.system.entry.js.map +0 -1
  412. package/dist/swisspost-internet-header/p-4654b2af.system.js.map +0 -1
  413. package/dist/swisspost-internet-header/p-549b62ba.system.js.map +0 -1
  414. package/dist/swisspost-internet-header/p-5e43c5e0.js +0 -2
  415. package/dist/swisspost-internet-header/p-5e43c5e0.js.map +0 -1
  416. package/dist/swisspost-internet-header/p-74932c29.entry.js +0 -6
  417. package/dist/swisspost-internet-header/p-74932c29.entry.js.map +0 -1
  418. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js +0 -2
  419. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js.map +0 -1
  420. package/dist/swisspost-internet-header/p-78f653be.system.entry.js.map +0 -1
  421. package/dist/swisspost-internet-header/p-7f16a46b.entry.js +0 -2
  422. package/dist/swisspost-internet-header/p-7f16a46b.entry.js.map +0 -1
  423. package/dist/swisspost-internet-header/p-8717445f.entry.js.map +0 -1
  424. package/dist/swisspost-internet-header/p-872a76a4.system.js.map +0 -1
  425. package/dist/swisspost-internet-header/p-883f9547.system.entry.js.map +0 -1
  426. package/dist/swisspost-internet-header/p-9509f6c7.system.js.map +0 -1
  427. package/dist/swisspost-internet-header/p-9d0a7039.entry.js.map +0 -1
  428. package/dist/swisspost-internet-header/p-a4160d23.entry.js.map +0 -1
  429. package/dist/swisspost-internet-header/p-a51ad207.system.entry.js.map +0 -1
  430. package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js.map +0 -1
  431. package/dist/swisspost-internet-header/p-b406315a.system.entry.js.map +0 -1
  432. package/dist/swisspost-internet-header/p-bdabd6ac.js.map +0 -1
  433. package/dist/swisspost-internet-header/p-c29ec122.system.js.map +0 -1
  434. package/dist/swisspost-internet-header/p-c69923cd.system.js +0 -2
  435. package/dist/swisspost-internet-header/p-c69923cd.system.js.map +0 -1
  436. package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js.map +0 -1
  437. package/dist/swisspost-internet-header/p-cb3de015.system.entry.js.map +0 -1
  438. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js +0 -7
  439. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js.map +0 -1
  440. package/dist/swisspost-internet-header/p-ddcb8258.entry.js.map +0 -1
  441. package/dist/swisspost-internet-header/p-ec80c8fc.js.map +0 -1
  442. package/dist/swisspost-internet-header/p-ee915bbe.system.js.map +0 -1
  443. package/dist/swisspost-internet-header/p-eeff8b03.js.map +0 -1
  444. package/dist/swisspost-internet-header/p-f4ff1e9e.system.js.map +0 -1
  445. package/dist/swisspost-internet-header/p-fa0c66c7.entry.js +0 -2
  446. package/dist/swisspost-internet-header/p-fa0c66c7.entry.js.map +0 -1
@@ -1,362 +1,362 @@
1
- import { Host, h } from '@stencil/core';
2
- import { throttle } from 'throttle-debounce';
3
- import { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';
4
- import { state } from '../../data/store';
5
- import { getSearchRedirectUrl, equalizeArrays } from '../../services/search/search.service';
6
- import { getCoveoSuggestions } from '../../services/search/coveo.service';
7
- import { getPlacesUrl, highlightPlacesString, queryPlaces, } from '../../services/search/places.service';
8
- import { userPrefersReducedMotion, elementHasTransition } from '../../services/ui.service';
9
- import { HighlightedText } from '../../utils/highlighted.component';
10
- import { SvgSprite } from '../../utils/svg-sprite.component';
11
- import { SvgIcon } from '../../utils/svg-icon.component';
12
- import { getParcelSuggestion } from '../../services/search/parcel.service';
13
- import { If } from '../../utils/if.component';
14
- export class PostSearch {
15
- constructor() {
16
- this.searchDropdownOpen = false;
17
- this.coveoSuggestions = [];
18
- this.placeSuggestions = [];
19
- this.parcelSuggestion = null;
20
- }
21
- connectedCallback() {
22
- this.throttledResize = throttle(300, () => this.handleResize());
23
- window.addEventListener('resize', this.throttledResize, { passive: true });
24
- }
25
- disconnectedCallback() {
26
- window.removeEventListener('resize', this.throttledResize);
27
- clearAllBodyScrollLocks();
28
- }
29
- componentWillUpdate() {
30
- // Check if search flyout got set to close
31
- if (this.searchFlyout && !this.searchDropdownOpen) {
32
- this.searchFlyout.classList.remove('open');
33
- // Check if element has transition applied and whether user prefers to see animations or not
34
- if (elementHasTransition(this.searchFlyout, 'transform') && !userPrefersReducedMotion()) {
35
- // Wait for CSS transition 'transform' to end before continuing
36
- return new Promise(resolve => {
37
- if (this.searchFlyout === undefined) {
38
- return resolve(true);
39
- }
40
- this.searchFlyout.addEventListener('transitionend', event => {
41
- if (event.propertyName === 'transform') {
42
- resolve(true);
43
- }
44
- });
45
- });
46
- }
47
- }
48
- }
49
- componentDidUpdate() {
50
- // Search flyout got set to open
51
- if (this.searchFlyout && this.searchDropdownOpen) {
52
- // Force browser to redraw/refresh DOM before adding 'open' class
53
- this.searchFlyout.getBoundingClientRect();
54
- this.searchFlyout.classList.add('open');
55
- }
56
- // Focus on the searchBox whenever the dropdown is opened
57
- if (this.searchDropdownOpen && this.searchBox) {
58
- this.searchBox.focus({ preventScroll: true });
59
- }
60
- }
61
- /**
62
- * Toggle the dropdown and optionally force an open/closed state
63
- * @param force Boolean to force open/closed state
64
- * @returns Boolean indicating open state of the component
65
- */
66
- async toggleDropdown(force) {
67
- this.searchDropdownOpen =
68
- force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;
69
- this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });
70
- if (!this.searchDropdownOpen) {
71
- // Reset suggestions when dropdown closes
72
- this.coveoSuggestions = [];
73
- this.placeSuggestions = [];
74
- if (this.searchBox)
75
- this.searchBox.value = '';
76
- this.setFocus();
77
- }
78
- else {
79
- // Get basic suggestions when dropdown opens
80
- try {
81
- this.coveoSuggestions = await getCoveoSuggestions('');
82
- }
83
- catch (_a) { }
84
- }
85
- this.setBodyScroll();
86
- return this.searchDropdownOpen;
87
- }
88
- /**
89
- * Sets the focus on the search button
90
- */
91
- async setFocus() {
92
- const shadowRoot = this.host.shadowRoot;
93
- if (shadowRoot === null) {
94
- return;
95
- }
96
- const toggleButton = shadowRoot.querySelector('.search-button');
97
- if (toggleButton) {
98
- toggleButton.focus();
99
- }
100
- }
101
- handleResize() {
102
- // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls
103
- if (this.searchDropdownOpen) {
104
- this.setBodyScroll();
105
- }
106
- }
107
- /**
108
- * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)
109
- */
110
- setBodyScroll() {
111
- if (this.searchDropdownOpen && window.innerWidth < 1024) {
112
- disableBodyScroll(this.searchFlyout);
113
- }
114
- else {
115
- enableBodyScroll(this.searchFlyout);
116
- }
117
- }
118
- /**
119
- * Fetch suggestions from all available sources
120
- */
121
- async handleSearchInput() {
122
- var _a;
123
- if (this.searchBox === undefined || ((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search) === undefined) {
124
- return;
125
- }
126
- const query = this.searchBox.value.trim();
127
- const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([
128
- queryPlaces(query),
129
- getCoveoSuggestions(query),
130
- getParcelSuggestion(query, state.localizedConfig.header.search),
131
- ]);
132
- // Parcel suggestion is more important than any other
133
- if (trackAndTraceInfo) {
134
- this.parcelSuggestion = trackAndTraceInfo;
135
- this.placeSuggestions = [];
136
- this.coveoSuggestions = [];
137
- }
138
- else {
139
- [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(coveoSuggestions, placeSuggestions, 8);
140
- }
141
- this.deselectSuggestion();
142
- }
143
- /**
144
- * Start search on enter
145
- * @param event
146
- */
147
- handleKeyDown(event) {
148
- var _a, _b, _c, _d;
149
- if (this.searchFlyout === undefined) {
150
- return;
151
- }
152
- let selectedSuggestion = this.searchFlyout.querySelector('.suggestions > li > a.selected');
153
- switch (event.key.toLowerCase()) {
154
- case 'enter':
155
- if (selectedSuggestion) {
156
- const selectedHref = selectedSuggestion.getAttribute('href');
157
- if (selectedHref !== null) {
158
- window.location.href = selectedHref;
159
- }
160
- }
161
- else {
162
- this.startSearch();
163
- }
164
- break;
165
- case 'arrowdown':
166
- case 'arrowup':
167
- const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');
168
- this.deselectSuggestion();
169
- if (event.key.toLowerCase() === 'arrowdown') {
170
- if ((_b = (_a = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.parentElement) === null || _a === void 0 ? void 0 : _a.nextElementSibling) === null || _b === void 0 ? void 0 : _b.firstElementChild) {
171
- // Select next suggestion if there's any, otherwise none will be selected
172
- selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add('selected');
173
- }
174
- else {
175
- // If there are any suggestions, select first suggestion in list
176
- if (suggestions.length > 0) {
177
- suggestions[0].classList.add('selected');
178
- }
179
- }
180
- }
181
- else if (event.key.toLowerCase() === 'arrowup') {
182
- if ((_d = (_c = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.parentElement) === null || _c === void 0 ? void 0 : _c.previousElementSibling) === null || _d === void 0 ? void 0 : _d.firstElementChild) {
183
- // Select previous suggestion if there's any, otherwise none will be selected
184
- selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add('selected');
185
- }
186
- else {
187
- // If there are any suggestions, select last suggestion in list
188
- if (suggestions.length > 0) {
189
- suggestions[suggestions.length - 1].classList.add('selected');
190
- }
191
- }
192
- }
193
- // Get the newly selected suggestion
194
- selectedSuggestion = this.searchFlyout.querySelector('.suggestions > li > a.selected');
195
- const suggestedText = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.dataset.suggestionText;
196
- // Update search box value with selected suggestion text
197
- if (suggestedText !== undefined && this.searchBox) {
198
- this.searchBox.value = suggestedText;
199
- }
200
- break;
201
- }
202
- }
203
- /**
204
- * Set selected suggestion on mouse enter
205
- * @param event
206
- */
207
- handleMouseEnterSuggestion(event) {
208
- this.deselectSuggestion();
209
- // Set hovered suggestion element as selected
210
- event.target.classList.add('selected');
211
- }
212
- /**
213
- * Set selected suggestion on mouse enter
214
- * @param event
215
- */
216
- handleMouseLeaveSuggestions() {
217
- this.deselectSuggestion();
218
- }
219
- /**
220
- * Deselect any previously selected suggestion
221
- */
222
- deselectSuggestion() {
223
- if (this.searchFlyout === undefined)
224
- return;
225
- const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');
226
- if (selectedSuggestion) {
227
- selectedSuggestion.classList.remove('selected');
228
- }
229
- }
230
- /**
231
- * Redirect to the post search page
232
- */
233
- async startSearch() {
234
- var _a;
235
- if (this.searchBox && ((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search)) {
236
- const redirectUrl = await getSearchRedirectUrl(this.searchBox.value.trim(), state.localizedConfig.header.search);
237
- if (!redirectUrl)
238
- return;
239
- window.location.href = redirectUrl;
240
- }
241
- }
242
- render() {
243
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
244
- if (((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header) === undefined) {
245
- return;
246
- }
247
- const { translations, search } = state.localizedConfig.header;
248
- const showPortalRecommendations = ((_b = this.searchBox) === null || _b === void 0 ? void 0 : _b.value) === '' && ((_c = search.searchRecommendations) === null || _c === void 0 ? void 0 : _c.links.length) > 0;
249
- return (h(Host, null, h(SvgSprite, null), h("div", { class: "search" }, h("button", { id: "post-internet-header-search-button", class: "search-button", type: "button", "aria-expanded": `${this.searchDropdownOpen}`, onClick: e => this.toggleDropdown(e) }, h("span", { class: "visually-hidden" }, this.searchDropdownOpen
250
- ? translations.searchToggleExpanded
251
- : translations.searchToggle), h(SvgIcon, { name: this.searchDropdownOpen ? 'pi-close' : 'pi-search' })), h(If, { condition: this.searchDropdownOpen }, h("div", { class: "flyout", ref: e => (this.searchFlyout = e) }, h("div", { class: "container box" }, h("div", { class: "row" }, h("div", { class: "col-xs-12 col-md-10 col-lg-8" }, h("div", { class: "form-group form-floating" }, h("input", { type: "text", id: "searchBox", class: "form-control form-control-lg", placeholder: translations.flyoutSearchBoxFloatingLabel, autocomplete: "off", ref: el => (this.searchBox = el), onInput: () => this.handleSearchInput(), onKeyDown: e => this.handleKeyDown(e) }), h("label", { htmlFor: "searchBox" }, translations.flyoutSearchBoxFloatingLabel), h("button", { onClick: () => this.startSearch(), class: "nav-link start-search-button" }, h("span", { class: "visually-hidden" }, translations.searchSubmit), h(SvgIcon, { name: "pi-search" }))), showPortalRecommendations && (h("h2", { class: "bold" }, search.searchRecommendations.title)), h("ul", { class: "suggestions no-list", onMouseLeave: () => this.handleMouseLeaveSuggestions() }, showPortalRecommendations &&
252
- search.searchRecommendations.links.map(recommendation => (h("li", { key: recommendation.href }, h("a", { class: "nav-link search-recommendation", href: new URL(recommendation.href, 'https://post.ch').href, "data-suggestion-text": recommendation.label, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, h("span", { class: "search-recommendation__icon", innerHTML: recommendation.inlineSvg }), h("span", null, recommendation.label))))), this.parcelSuggestion && this.parcelSuggestion.ok && (h("li", null, h("a", { class: "nav-link parcel-suggestion", href: this.parcelSuggestion.url, "data-suggestion-text": (_d = this.searchBox) === null || _d === void 0 ? void 0 : _d.value, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, h(SvgIcon, { name: "pi-letter-parcel" }), h("span", { class: "bold" }, (_f = (_e = this.parcelSuggestion) === null || _e === void 0 ? void 0 : _e.sending) === null || _f === void 0 ? void 0 :
253
- _f.id, ":\u00A0"), h("span", null, (_h = (_g = this.parcelSuggestion) === null || _g === void 0 ? void 0 : _g.sending) === null || _h === void 0 ? void 0 :
254
- _h.product, ",", ' ', (_k = (_j = this.parcelSuggestion) === null || _j === void 0 ? void 0 : _j.sending) === null || _k === void 0 ? void 0 :
255
- _k.recipient.zipcode, ' ', (_m = (_l = this.parcelSuggestion) === null || _l === void 0 ? void 0 : _l.sending) === null || _m === void 0 ? void 0 :
256
- _m.recipient.city, ",", ' ', (_p = (_o = this.parcelSuggestion) === null || _o === void 0 ? void 0 : _o.sending) === null || _p === void 0 ? void 0 :
257
- _p.state)))), !showPortalRecommendations &&
258
- this.coveoSuggestions &&
259
- this.coveoSuggestions.map(suggestion => (h("li", { key: suggestion.objectId }, h("a", { class: "nav-link", href: suggestion.redirectUrl, "data-suggestion-text": suggestion.expression, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, h(SvgIcon, { name: "pi-search" }), h(HighlightedText, { text: suggestion.highlighted }))))), !showPortalRecommendations &&
260
- this.placeSuggestions &&
261
- this.placeSuggestions.map(suggestion => {
262
- var _a, _b;
263
- return (h("li", { key: suggestion.id }, h("a", { class: "nav-link", href: getPlacesUrl(suggestion), "data-suggestion-text": suggestion.name, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, h(SvgIcon, { name: "pi-place" }), h(HighlightedText, { text: highlightPlacesString((_b = (_a = this.searchBox) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.trim(), suggestion.name) }))));
264
- }))))))))));
265
- }
266
- static get is() { return "post-search"; }
267
- static get encapsulation() { return "shadow"; }
268
- static get originalStyleUrls() {
269
- return {
270
- "$": ["post-search.scss"]
271
- };
272
- }
273
- static get styleUrls() {
274
- return {
275
- "$": ["post-search.css"]
276
- };
277
- }
278
- static get states() {
279
- return {
280
- "searchDropdownOpen": {},
281
- "coveoSuggestions": {},
282
- "placeSuggestions": {},
283
- "parcelSuggestion": {}
284
- };
285
- }
286
- static get events() {
287
- return [{
288
- "method": "dropdownToggled",
289
- "name": "dropdownToggled",
290
- "bubbles": true,
291
- "cancelable": true,
292
- "composed": true,
293
- "docs": {
294
- "tags": [],
295
- "text": ""
296
- },
297
- "complexType": {
298
- "original": "DropdownEvent",
299
- "resolved": "{ open: boolean; element: DropdownElement; }",
300
- "references": {
301
- "DropdownEvent": {
302
- "location": "import",
303
- "path": "../../models/header.model"
304
- }
305
- }
306
- }
307
- }];
308
- }
309
- static get methods() {
310
- return {
311
- "toggleDropdown": {
312
- "complexType": {
313
- "signature": "(force?: unknown) => Promise<boolean>",
314
- "parameters": [{
315
- "tags": [{
316
- "name": "param",
317
- "text": "force Boolean to force open/closed state"
318
- }],
319
- "text": "Boolean to force open/closed state"
320
- }],
321
- "references": {
322
- "Promise": {
323
- "location": "global"
324
- }
325
- },
326
- "return": "Promise<boolean>"
327
- },
328
- "docs": {
329
- "text": "Toggle the dropdown and optionally force an open/closed state",
330
- "tags": [{
331
- "name": "param",
332
- "text": "force Boolean to force open/closed state"
333
- }, {
334
- "name": "returns",
335
- "text": "Boolean indicating open state of the component"
336
- }]
337
- }
338
- },
339
- "setFocus": {
340
- "complexType": {
341
- "signature": "() => Promise<void>",
342
- "parameters": [],
343
- "references": {
344
- "Promise": {
345
- "location": "global"
346
- },
347
- "HTMLElement": {
348
- "location": "global"
349
- }
350
- },
351
- "return": "Promise<void>"
352
- },
353
- "docs": {
354
- "text": "Sets the focus on the search button",
355
- "tags": []
356
- }
357
- }
358
- };
359
- }
360
- static get elementRef() { return "host"; }
361
- }
362
- //# sourceMappingURL=post-search.js.map
1
+ import { Host, h } from '@stencil/core';
2
+ import { throttle } from 'throttle-debounce';
3
+ import { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';
4
+ import { state } from '../../data/store';
5
+ import { getSearchRedirectUrl, equalizeArrays } from '../../services/search/search.service';
6
+ import { getCoveoSuggestions } from '../../services/search/coveo.service';
7
+ import { getPlacesUrl, highlightPlacesString, queryPlaces, } from '../../services/search/places.service';
8
+ import { userPrefersReducedMotion, elementHasTransition } from '../../services/ui.service';
9
+ import { HighlightedText } from '../../utils/highlighted.component';
10
+ import { SvgSprite } from '../../utils/svg-sprite.component';
11
+ import { SvgIcon } from '../../utils/svg-icon.component';
12
+ import { getParcelSuggestion } from '../../services/search/parcel.service';
13
+ import { If } from '../../utils/if.component';
14
+ export class PostSearch {
15
+ constructor() {
16
+ this.searchDropdownOpen = false;
17
+ this.coveoSuggestions = [];
18
+ this.placeSuggestions = [];
19
+ this.parcelSuggestion = null;
20
+ }
21
+ connectedCallback() {
22
+ this.throttledResize = throttle(300, () => this.handleResize());
23
+ window.addEventListener('resize', this.throttledResize, { passive: true });
24
+ }
25
+ disconnectedCallback() {
26
+ window.removeEventListener('resize', this.throttledResize);
27
+ clearAllBodyScrollLocks();
28
+ }
29
+ componentWillUpdate() {
30
+ // Check if search flyout got set to close
31
+ if (this.searchFlyout && !this.searchDropdownOpen) {
32
+ this.searchFlyout.classList.remove('open');
33
+ // Check if element has transition applied and whether user prefers to see animations or not
34
+ if (elementHasTransition(this.searchFlyout, 'transform') && !userPrefersReducedMotion()) {
35
+ // Wait for CSS transition 'transform' to end before continuing
36
+ return new Promise(resolve => {
37
+ if (this.searchFlyout === undefined) {
38
+ return resolve(true);
39
+ }
40
+ this.searchFlyout.addEventListener('transitionend', event => {
41
+ if (event.propertyName === 'transform') {
42
+ resolve(true);
43
+ }
44
+ });
45
+ });
46
+ }
47
+ }
48
+ }
49
+ componentDidUpdate() {
50
+ // Search flyout got set to open
51
+ if (this.searchFlyout && this.searchDropdownOpen) {
52
+ // Force browser to redraw/refresh DOM before adding 'open' class
53
+ this.searchFlyout.getBoundingClientRect();
54
+ this.searchFlyout.classList.add('open');
55
+ }
56
+ // Focus on the searchBox whenever the dropdown is opened
57
+ if (this.searchDropdownOpen && this.searchBox) {
58
+ this.searchBox.focus({ preventScroll: true });
59
+ }
60
+ }
61
+ /**
62
+ * Toggle the dropdown and optionally force an open/closed state
63
+ * @param force Boolean to force open/closed state
64
+ * @returns Boolean indicating open state of the component
65
+ */
66
+ async toggleDropdown(force) {
67
+ this.searchDropdownOpen =
68
+ force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;
69
+ this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });
70
+ if (!this.searchDropdownOpen) {
71
+ // Reset suggestions when dropdown closes
72
+ this.coveoSuggestions = [];
73
+ this.placeSuggestions = [];
74
+ if (this.searchBox)
75
+ this.searchBox.value = '';
76
+ this.setFocus();
77
+ }
78
+ else {
79
+ // Get basic suggestions when dropdown opens
80
+ try {
81
+ this.coveoSuggestions = await getCoveoSuggestions('');
82
+ }
83
+ catch (_a) { }
84
+ }
85
+ this.setBodyScroll();
86
+ return this.searchDropdownOpen;
87
+ }
88
+ /**
89
+ * Sets the focus on the search button
90
+ */
91
+ async setFocus() {
92
+ const shadowRoot = this.host.shadowRoot;
93
+ if (shadowRoot === null) {
94
+ return;
95
+ }
96
+ const toggleButton = shadowRoot.querySelector('.search-button');
97
+ if (toggleButton) {
98
+ toggleButton.focus();
99
+ }
100
+ }
101
+ handleResize() {
102
+ // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls
103
+ if (this.searchDropdownOpen) {
104
+ this.setBodyScroll();
105
+ }
106
+ }
107
+ /**
108
+ * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)
109
+ */
110
+ setBodyScroll() {
111
+ if (this.searchDropdownOpen && window.innerWidth < 1024) {
112
+ disableBodyScroll(this.searchFlyout);
113
+ }
114
+ else {
115
+ enableBodyScroll(this.searchFlyout);
116
+ }
117
+ }
118
+ /**
119
+ * Fetch suggestions from all available sources
120
+ */
121
+ async handleSearchInput() {
122
+ var _a;
123
+ if (this.searchBox === undefined || ((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search) === undefined) {
124
+ return;
125
+ }
126
+ const query = this.searchBox.value.trim();
127
+ const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([
128
+ queryPlaces(query),
129
+ getCoveoSuggestions(query),
130
+ getParcelSuggestion(query, state.localizedConfig.header.search),
131
+ ]);
132
+ // Parcel suggestion is more important than any other
133
+ if (trackAndTraceInfo) {
134
+ this.parcelSuggestion = trackAndTraceInfo;
135
+ this.placeSuggestions = [];
136
+ this.coveoSuggestions = [];
137
+ }
138
+ else {
139
+ [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(coveoSuggestions, placeSuggestions, 8);
140
+ }
141
+ this.deselectSuggestion();
142
+ }
143
+ /**
144
+ * Start search on enter
145
+ * @param event
146
+ */
147
+ handleKeyDown(event) {
148
+ var _a, _b, _c, _d;
149
+ if (this.searchFlyout === undefined) {
150
+ return;
151
+ }
152
+ let selectedSuggestion = this.searchFlyout.querySelector('.suggestions > li > a.selected');
153
+ switch (event.key.toLowerCase()) {
154
+ case 'enter':
155
+ if (selectedSuggestion) {
156
+ const selectedHref = selectedSuggestion.getAttribute('href');
157
+ if (selectedHref !== null) {
158
+ window.location.href = selectedHref;
159
+ }
160
+ }
161
+ else {
162
+ this.startSearch();
163
+ }
164
+ break;
165
+ case 'arrowdown':
166
+ case 'arrowup':
167
+ const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');
168
+ this.deselectSuggestion();
169
+ if (event.key.toLowerCase() === 'arrowdown') {
170
+ if ((_b = (_a = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.parentElement) === null || _a === void 0 ? void 0 : _a.nextElementSibling) === null || _b === void 0 ? void 0 : _b.firstElementChild) {
171
+ // Select next suggestion if there's any, otherwise none will be selected
172
+ selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add('selected');
173
+ }
174
+ else {
175
+ // If there are any suggestions, select first suggestion in list
176
+ if (suggestions.length > 0) {
177
+ suggestions[0].classList.add('selected');
178
+ }
179
+ }
180
+ }
181
+ else if (event.key.toLowerCase() === 'arrowup') {
182
+ if ((_d = (_c = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.parentElement) === null || _c === void 0 ? void 0 : _c.previousElementSibling) === null || _d === void 0 ? void 0 : _d.firstElementChild) {
183
+ // Select previous suggestion if there's any, otherwise none will be selected
184
+ selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add('selected');
185
+ }
186
+ else {
187
+ // If there are any suggestions, select last suggestion in list
188
+ if (suggestions.length > 0) {
189
+ suggestions[suggestions.length - 1].classList.add('selected');
190
+ }
191
+ }
192
+ }
193
+ // Get the newly selected suggestion
194
+ selectedSuggestion = this.searchFlyout.querySelector('.suggestions > li > a.selected');
195
+ const suggestedText = selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.dataset.suggestionText;
196
+ // Update search box value with selected suggestion text
197
+ if (suggestedText !== undefined && this.searchBox) {
198
+ this.searchBox.value = suggestedText;
199
+ }
200
+ break;
201
+ }
202
+ }
203
+ /**
204
+ * Set selected suggestion on mouse enter
205
+ * @param event
206
+ */
207
+ handleMouseEnterSuggestion(event) {
208
+ this.deselectSuggestion();
209
+ // Set hovered suggestion element as selected
210
+ event.target.classList.add('selected');
211
+ }
212
+ /**
213
+ * Set selected suggestion on mouse enter
214
+ * @param event
215
+ */
216
+ handleMouseLeaveSuggestions() {
217
+ this.deselectSuggestion();
218
+ }
219
+ /**
220
+ * Deselect any previously selected suggestion
221
+ */
222
+ deselectSuggestion() {
223
+ if (this.searchFlyout === undefined)
224
+ return;
225
+ const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');
226
+ if (selectedSuggestion) {
227
+ selectedSuggestion.classList.remove('selected');
228
+ }
229
+ }
230
+ /**
231
+ * Redirect to the post search page
232
+ */
233
+ async startSearch() {
234
+ var _a;
235
+ if (this.searchBox && ((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search)) {
236
+ const redirectUrl = await getSearchRedirectUrl(this.searchBox.value.trim(), state.localizedConfig.header.search);
237
+ if (!redirectUrl)
238
+ return;
239
+ window.location.href = redirectUrl;
240
+ }
241
+ }
242
+ render() {
243
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
244
+ if (((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header) === undefined) {
245
+ return;
246
+ }
247
+ const { translations, search } = state.localizedConfig.header;
248
+ const showPortalRecommendations = ((_b = this.searchBox) === null || _b === void 0 ? void 0 : _b.value) === '' && ((_c = search.searchRecommendations) === null || _c === void 0 ? void 0 : _c.links.length) > 0;
249
+ return (h(Host, null, h(SvgSprite, null), h("div", { class: "search" }, h("button", { id: "post-internet-header-search-button", class: "search-button", type: "button", "aria-expanded": `${this.searchDropdownOpen}`, onClick: e => this.toggleDropdown(e) }, h("span", { class: "visually-hidden" }, this.searchDropdownOpen
250
+ ? translations.searchToggleExpanded
251
+ : translations.searchToggle), h(SvgIcon, { name: this.searchDropdownOpen ? 'pi-close' : 'pi-search' })), h(If, { condition: this.searchDropdownOpen }, h("div", { class: "flyout", ref: e => (this.searchFlyout = e) }, h("div", { class: "container box" }, h("div", { class: "row" }, h("div", { class: "col-xs-12 col-md-10 col-lg-8" }, h("div", { class: "form-group form-floating" }, h("input", { type: "text", id: "searchBox", class: "form-control form-control-lg", placeholder: translations.flyoutSearchBoxFloatingLabel, autocomplete: "off", ref: el => (this.searchBox = el), onInput: () => this.handleSearchInput(), onKeyDown: e => this.handleKeyDown(e) }), h("label", { htmlFor: "searchBox" }, translations.flyoutSearchBoxFloatingLabel), h("button", { onClick: () => this.startSearch(), class: "nav-link start-search-button" }, h("span", { class: "visually-hidden" }, translations.searchSubmit), h(SvgIcon, { name: "pi-search" }))), showPortalRecommendations && (h("h2", { class: "bold" }, search.searchRecommendations.title)), h("ul", { class: "suggestions no-list", onMouseLeave: () => this.handleMouseLeaveSuggestions() }, showPortalRecommendations &&
252
+ search.searchRecommendations.links.map(recommendation => (h("li", { key: recommendation.href }, h("a", { class: "nav-link search-recommendation", href: new URL(recommendation.href, 'https://post.ch').href, "data-suggestion-text": recommendation.label, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, h("span", { class: "search-recommendation__icon", innerHTML: recommendation.inlineSvg }), h("span", null, recommendation.label))))), this.parcelSuggestion && this.parcelSuggestion.ok && (h("li", null, h("a", { class: "nav-link parcel-suggestion", href: this.parcelSuggestion.url, "data-suggestion-text": (_d = this.searchBox) === null || _d === void 0 ? void 0 : _d.value, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, h(SvgIcon, { name: "pi-letter-parcel" }), h("span", { class: "bold" }, (_f = (_e = this.parcelSuggestion) === null || _e === void 0 ? void 0 : _e.sending) === null || _f === void 0 ? void 0 :
253
+ _f.id, ":\u00A0"), h("span", null, (_h = (_g = this.parcelSuggestion) === null || _g === void 0 ? void 0 : _g.sending) === null || _h === void 0 ? void 0 :
254
+ _h.product, ",", ' ', (_k = (_j = this.parcelSuggestion) === null || _j === void 0 ? void 0 : _j.sending) === null || _k === void 0 ? void 0 :
255
+ _k.recipient.zipcode, ' ', (_m = (_l = this.parcelSuggestion) === null || _l === void 0 ? void 0 : _l.sending) === null || _m === void 0 ? void 0 :
256
+ _m.recipient.city, ",", ' ', (_p = (_o = this.parcelSuggestion) === null || _o === void 0 ? void 0 : _o.sending) === null || _p === void 0 ? void 0 :
257
+ _p.state)))), !showPortalRecommendations &&
258
+ this.coveoSuggestions &&
259
+ this.coveoSuggestions.map(suggestion => (h("li", { key: suggestion.objectId }, h("a", { class: "nav-link", href: suggestion.redirectUrl, "data-suggestion-text": suggestion.expression, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, h(SvgIcon, { name: "pi-search" }), h(HighlightedText, { text: suggestion.highlighted }))))), !showPortalRecommendations &&
260
+ this.placeSuggestions &&
261
+ this.placeSuggestions.map(suggestion => {
262
+ var _a, _b;
263
+ return (h("li", { key: suggestion.id }, h("a", { class: "nav-link", href: getPlacesUrl(suggestion), "data-suggestion-text": suggestion.name, onMouseEnter: e => this.handleMouseEnterSuggestion(e) }, h(SvgIcon, { name: "pi-place" }), h(HighlightedText, { text: highlightPlacesString((_b = (_a = this.searchBox) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.trim(), suggestion.name) }))));
264
+ }))))))))));
265
+ }
266
+ static get is() { return "post-search"; }
267
+ static get encapsulation() { return "shadow"; }
268
+ static get originalStyleUrls() {
269
+ return {
270
+ "$": ["post-search.scss"]
271
+ };
272
+ }
273
+ static get styleUrls() {
274
+ return {
275
+ "$": ["post-search.css"]
276
+ };
277
+ }
278
+ static get states() {
279
+ return {
280
+ "searchDropdownOpen": {},
281
+ "coveoSuggestions": {},
282
+ "placeSuggestions": {},
283
+ "parcelSuggestion": {}
284
+ };
285
+ }
286
+ static get events() {
287
+ return [{
288
+ "method": "dropdownToggled",
289
+ "name": "dropdownToggled",
290
+ "bubbles": true,
291
+ "cancelable": true,
292
+ "composed": true,
293
+ "docs": {
294
+ "tags": [],
295
+ "text": ""
296
+ },
297
+ "complexType": {
298
+ "original": "DropdownEvent",
299
+ "resolved": "{ open: boolean; element: DropdownElement; }",
300
+ "references": {
301
+ "DropdownEvent": {
302
+ "location": "import",
303
+ "path": "../../models/header.model"
304
+ }
305
+ }
306
+ }
307
+ }];
308
+ }
309
+ static get methods() {
310
+ return {
311
+ "toggleDropdown": {
312
+ "complexType": {
313
+ "signature": "(force?: unknown) => Promise<boolean>",
314
+ "parameters": [{
315
+ "tags": [{
316
+ "name": "param",
317
+ "text": "force Boolean to force open/closed state"
318
+ }],
319
+ "text": "Boolean to force open/closed state"
320
+ }],
321
+ "references": {
322
+ "Promise": {
323
+ "location": "global"
324
+ }
325
+ },
326
+ "return": "Promise<boolean>"
327
+ },
328
+ "docs": {
329
+ "text": "Toggle the dropdown and optionally force an open/closed state",
330
+ "tags": [{
331
+ "name": "param",
332
+ "text": "force Boolean to force open/closed state"
333
+ }, {
334
+ "name": "returns",
335
+ "text": "Boolean indicating open state of the component"
336
+ }]
337
+ }
338
+ },
339
+ "setFocus": {
340
+ "complexType": {
341
+ "signature": "() => Promise<void>",
342
+ "parameters": [],
343
+ "references": {
344
+ "Promise": {
345
+ "location": "global"
346
+ },
347
+ "HTMLElement": {
348
+ "location": "global"
349
+ }
350
+ },
351
+ "return": "Promise<void>"
352
+ },
353
+ "docs": {
354
+ "text": "Sets the focus on the search button",
355
+ "tags": []
356
+ }
357
+ }
358
+ };
359
+ }
360
+ static get elementRef() { return "host"; }
361
+ }
362
+ //# sourceMappingURL=post-search.js.map