@swisspost/internet-header 1.5.0-beta.1 → 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 (450) 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-675b23db.js → klp-widget.controller-d8941c4e.js} +15755 -15755
  5. package/dist/cjs/klp-widget.controller-d8941c4e.js.map +1 -0
  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/klp-login-widget.js +1716 -1716
  42. package/dist/collection/assets/js/sockjs-client.js +5134 -5134
  43. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +11 -11
  44. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +1 -1
  45. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +42 -42
  46. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +1 -1
  47. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +8 -8
  48. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -1
  49. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +6 -6
  50. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +1 -1
  51. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +12 -12
  52. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +1 -1
  53. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +253 -253
  54. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  55. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +12 -12
  56. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +1 -1
  57. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +24 -24
  58. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +1 -1
  59. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +6 -6
  60. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +1 -1
  61. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +6 -6
  62. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +1 -1
  63. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +5 -5
  64. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +1 -1
  65. package/dist/collection/components/post-internet-footer/post-internet-footer.js +86 -86
  66. package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -1
  67. package/dist/collection/components/post-internet-header/post-internet-header.js +676 -676
  68. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  69. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +14 -14
  70. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +1 -1
  71. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +67 -67
  72. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
  73. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +9 -9
  74. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
  75. package/dist/collection/components/post-language-switch/post-language-switch.js +186 -186
  76. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  77. package/dist/collection/components/post-logo/logo-sprite.component.js +4 -4
  78. package/dist/collection/components/post-logo/logo-sprite.component.js.map +1 -1
  79. package/dist/collection/components/post-logo/post-logo.js +60 -60
  80. package/dist/collection/components/post-logo/post-logo.js.map +1 -1
  81. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +13 -13
  82. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -1
  83. package/dist/collection/components/post-main-navigation/post-main-navigation.js +347 -347
  84. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  85. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +67 -67
  86. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
  87. package/dist/collection/components/post-search/post-search.js +362 -362
  88. package/dist/collection/components/post-search/post-search.js.map +1 -1
  89. package/dist/collection/components/post-skiplinks/post-skiplinks.js +51 -51
  90. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  91. package/dist/collection/data/store.js +11 -11
  92. package/dist/collection/data/store.js.map +1 -1
  93. package/dist/collection/index.js +2 -2
  94. package/dist/collection/index.js.map +1 -1
  95. package/dist/collection/models/breadcrumbs.model.js +2 -2
  96. package/dist/collection/models/breadcrumbs.model.js.map +1 -1
  97. package/dist/collection/models/coveo.model.js +2 -2
  98. package/dist/collection/models/coveo.model.js.map +1 -1
  99. package/dist/collection/models/footer.model.js +2 -2
  100. package/dist/collection/models/footer.model.js.map +1 -1
  101. package/dist/collection/models/general.model.js +2 -2
  102. package/dist/collection/models/general.model.js.map +1 -1
  103. package/dist/collection/models/geocode.model.js +10 -10
  104. package/dist/collection/models/geocode.model.js.map +1 -1
  105. package/dist/collection/models/header.model.js +2 -2
  106. package/dist/collection/models/header.model.js.map +1 -1
  107. package/dist/collection/models/implementor.model.js +2 -2
  108. package/dist/collection/models/implementor.model.js.map +1 -1
  109. package/dist/collection/models/language.model.js +2 -2
  110. package/dist/collection/models/language.model.js.map +1 -1
  111. package/dist/collection/models/track-and-trace.model.js +2 -2
  112. package/dist/collection/models/track-and-trace.model.js.map +1 -1
  113. package/dist/collection/services/config.service.js +170 -170
  114. package/dist/collection/services/config.service.js.map +1 -1
  115. package/dist/collection/services/language.service.js +107 -107
  116. package/dist/collection/services/language.service.js.map +1 -1
  117. package/dist/collection/services/route.service.js +163 -163
  118. package/dist/collection/services/route.service.js.map +1 -1
  119. package/dist/collection/services/search/coveo.service.js +34 -34
  120. package/dist/collection/services/search/coveo.service.js.map +1 -1
  121. package/dist/collection/services/search/coveo.settings.js +19 -19
  122. package/dist/collection/services/search/coveo.settings.js.map +1 -1
  123. package/dist/collection/services/search/parcel.service.js +54 -54
  124. package/dist/collection/services/search/parcel.service.js.map +1 -1
  125. package/dist/collection/services/search/places.service.js +95 -95
  126. package/dist/collection/services/search/places.service.js.map +1 -1
  127. package/dist/collection/services/search/places.settings.js +16 -16
  128. package/dist/collection/services/search/places.settings.js.map +1 -1
  129. package/dist/collection/services/search/search-utilities.js +26 -26
  130. package/dist/collection/services/search/search-utilities.js.map +1 -1
  131. package/dist/collection/services/search/search.service.js +42 -42
  132. package/dist/collection/services/search/search.service.js.map +1 -1
  133. package/dist/collection/services/ui.service.js +30 -30
  134. package/dist/collection/services/ui.service.js.map +1 -1
  135. package/dist/collection/tests/setup-tests.js +14 -14
  136. package/dist/collection/tests/setup-tests.js.map +1 -1
  137. package/dist/collection/utils/highlighted.component.js +11 -11
  138. package/dist/collection/utils/highlighted.component.js.map +1 -1
  139. package/dist/collection/utils/if.component.js +7 -7
  140. package/dist/collection/utils/if.component.js.map +1 -1
  141. package/dist/collection/utils/svg-icon.component.js +3 -3
  142. package/dist/collection/utils/svg-icon.component.js.map +1 -1
  143. package/dist/collection/utils/svg-sprite.component.js +3 -3
  144. package/dist/collection/utils/svg-sprite.component.js.map +1 -1
  145. package/dist/collection/utils/utils.js +16 -16
  146. package/dist/collection/utils/utils.js.map +1 -1
  147. package/dist/components/klp-widget.controller.js +15754 -15754
  148. package/dist/components/klp-widget.controller.js.map +1 -1
  149. package/dist/components/language.service.js +139 -139
  150. package/dist/components/language.service.js.map +1 -1
  151. package/dist/components/post-klp-login-widget2.js +48 -48
  152. package/dist/components/post-klp-login-widget2.js.map +1 -1
  153. package/dist/components/post-language-switch2.js +102 -102
  154. package/dist/components/post-language-switch2.js.map +1 -1
  155. package/dist/components/post-logo2.js +67 -67
  156. package/dist/components/post-logo2.js.map +1 -1
  157. package/dist/components/post-main-navigation2.js +243 -243
  158. package/dist/components/post-main-navigation2.js.map +1 -1
  159. package/dist/components/post-meta-navigation2.js +32 -32
  160. package/dist/components/post-meta-navigation2.js.map +1 -1
  161. package/dist/components/post-search2.js +577 -555
  162. package/dist/components/post-search2.js.map +1 -1
  163. package/dist/components/post-skiplinks2.js +52 -52
  164. package/dist/components/post-skiplinks2.js.map +1 -1
  165. package/dist/components/store.js +19 -12
  166. package/dist/components/store.js.map +1 -1
  167. package/dist/components/svg-icon.component.js +1 -1
  168. package/dist/components/svg-icon.component.js.map +1 -1
  169. package/dist/components/svg-sprite.component.js +39 -39
  170. package/dist/components/svg-sprite.component.js.map +1 -1
  171. package/dist/components/swisspost-internet-breadcrumbs.js +387 -409
  172. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  173. package/dist/components/swisspost-internet-footer.js +140 -140
  174. package/dist/components/swisspost-internet-footer.js.map +1 -1
  175. package/dist/components/swisspost-internet-header.js +672 -672
  176. package/dist/components/swisspost-internet-header.js.map +1 -1
  177. package/dist/components/ui.service.js +27 -27
  178. package/dist/components/ui.service.js.map +1 -1
  179. package/dist/components/utils.js +14 -14
  180. package/dist/components/utils.js.map +1 -1
  181. package/dist/esm/{if.component-542fb8c3.js → if.component-0fe54385.js} +6 -6
  182. package/dist/esm/if.component-0fe54385.js.map +1 -0
  183. package/dist/esm/{klp-widget.controller-be1eeb16.js → klp-widget.controller-55366e6a.js} +15755 -15755
  184. package/dist/esm/klp-widget.controller-55366e6a.js.map +1 -0
  185. package/dist/esm/{language.service-e49858e0.js → language.service-023d2711.js} +141 -141
  186. package/dist/esm/language.service-023d2711.js.map +1 -0
  187. package/dist/esm/post-klp-login-widget.entry.js +33 -33
  188. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  189. package/dist/esm/post-language-switch.entry.js +88 -88
  190. package/dist/esm/post-language-switch.entry.js.map +1 -1
  191. package/dist/esm/post-logo.entry.js +51 -51
  192. package/dist/esm/post-logo.entry.js.map +1 -1
  193. package/dist/esm/post-main-navigation.entry.js +226 -226
  194. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  195. package/dist/esm/post-meta-navigation.entry.js +15 -15
  196. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  197. package/dist/esm/post-search.entry.js +556 -534
  198. package/dist/esm/post-search.entry.js.map +1 -1
  199. package/dist/esm/post-skiplinks.entry.js +41 -41
  200. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  201. package/dist/esm/{store-d495dc07.js → store-837c3490.js} +20 -13
  202. package/dist/esm/store-837c3490.js.map +1 -0
  203. package/dist/esm/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +2 -2
  204. package/dist/esm/svg-icon.component-e09b4bf9.js.map +1 -0
  205. package/dist/esm/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +40 -40
  206. package/dist/esm/svg-sprite.component-cf60303f.js.map +1 -0
  207. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +370 -392
  208. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  209. package/dist/esm/swisspost-internet-footer.entry.js +125 -125
  210. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  211. package/dist/esm/swisspost-internet-header.entry.js +608 -608
  212. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  213. package/dist/esm/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +28 -28
  214. package/dist/esm/ui.service-2fbc9c45.js.map +1 -0
  215. package/dist/esm/{utils-5bf107ff.js → utils-ee79122f.js} +15 -15
  216. package/dist/esm/utils-ee79122f.js.map +1 -0
  217. package/dist/esm-es5/{if.component-542fb8c3.js → if.component-0fe54385.js} +1 -1
  218. package/dist/esm-es5/if.component-0fe54385.js.map +1 -0
  219. package/dist/esm-es5/{klp-widget.controller-be1eeb16.js → klp-widget.controller-55366e6a.js} +2 -2
  220. package/dist/esm-es5/klp-widget.controller-55366e6a.js.map +1 -0
  221. package/dist/esm-es5/{language.service-e49858e0.js → language.service-023d2711.js} +2 -2
  222. package/dist/esm-es5/language.service-023d2711.js.map +1 -0
  223. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  224. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  225. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  226. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  227. package/dist/esm-es5/post-logo.entry.js +1 -1
  228. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  229. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  230. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  231. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  232. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  233. package/dist/esm-es5/post-search.entry.js +1 -1
  234. package/dist/esm-es5/post-search.entry.js.map +1 -1
  235. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  236. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  237. package/dist/esm-es5/store-837c3490.js +2 -0
  238. package/dist/esm-es5/store-837c3490.js.map +1 -0
  239. package/dist/esm-es5/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +1 -1
  240. package/dist/esm-es5/svg-icon.component-e09b4bf9.js.map +1 -0
  241. package/dist/esm-es5/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +1 -1
  242. package/dist/esm-es5/svg-sprite.component-cf60303f.js.map +1 -0
  243. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
  244. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  245. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  246. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  247. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  248. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  249. package/dist/esm-es5/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +1 -1
  250. package/dist/esm-es5/ui.service-2fbc9c45.js.map +1 -0
  251. package/dist/esm-es5/{utils-5bf107ff.js → utils-ee79122f.js} +1 -1
  252. package/dist/esm-es5/utils-ee79122f.js.map +1 -0
  253. package/dist/swisspost-internet-header/assets/config/test-configuration.json +4067 -4067
  254. package/dist/swisspost-internet-header/p-06649b46.js +2 -0
  255. package/dist/swisspost-internet-header/p-06649b46.js.map +1 -0
  256. package/dist/swisspost-internet-header/{p-ec80c8fc.js → p-0942595f.js} +2 -2
  257. package/dist/swisspost-internet-header/p-0942595f.js.map +1 -0
  258. package/dist/swisspost-internet-header/{p-c29ec122.system.js → p-0c5624c0.system.js} +1 -1
  259. package/dist/swisspost-internet-header/p-0c5624c0.system.js.map +1 -0
  260. package/dist/swisspost-internet-header/{p-2eb04045.entry.js → p-0cba8ab4.entry.js} +2 -2
  261. package/dist/swisspost-internet-header/p-0cba8ab4.entry.js.map +1 -0
  262. package/dist/swisspost-internet-header/p-17a47667.system.js +1 -1
  263. package/dist/swisspost-internet-header/{p-ddcb8258.entry.js → p-26879023.entry.js} +2 -2
  264. package/dist/swisspost-internet-header/p-26879023.entry.js.map +1 -0
  265. package/dist/swisspost-internet-header/{p-cb3de015.system.entry.js → p-28e6362f.system.entry.js} +2 -2
  266. package/dist/swisspost-internet-header/p-28e6362f.system.entry.js.map +1 -0
  267. package/dist/swisspost-internet-header/{p-00fd320e.entry.js → p-322526ef.entry.js} +2 -2
  268. package/dist/swisspost-internet-header/p-322526ef.entry.js.map +1 -0
  269. package/dist/swisspost-internet-header/{p-f4ff1e9e.system.js → p-3753a678.system.js} +2 -2
  270. package/dist/swisspost-internet-header/p-3753a678.system.js.map +1 -0
  271. package/dist/swisspost-internet-header/{p-a9c4b2d0.system.entry.js → p-38d645ba.system.entry.js} +2 -2
  272. package/dist/swisspost-internet-header/p-38d645ba.system.entry.js.map +1 -0
  273. package/dist/swisspost-internet-header/{p-4c9ec2d8.system.js → p-42695801.system.js} +2 -2
  274. package/dist/swisspost-internet-header/p-42695801.system.js.map +1 -0
  275. package/dist/swisspost-internet-header/{p-bdabd6ac.js → p-45db66a6.js} +1 -1
  276. package/dist/swisspost-internet-header/p-45db66a6.js.map +1 -0
  277. package/dist/swisspost-internet-header/p-493337e1.system.entry.js +2 -0
  278. package/dist/swisspost-internet-header/p-493337e1.system.entry.js.map +1 -0
  279. package/dist/swisspost-internet-header/{p-78f653be.system.entry.js → p-5d2fac3b.system.entry.js} +2 -2
  280. package/dist/swisspost-internet-header/p-5d2fac3b.system.entry.js.map +1 -0
  281. package/dist/swisspost-internet-header/p-62c5cf26.entry.js +2 -0
  282. package/dist/swisspost-internet-header/p-62c5cf26.entry.js.map +1 -0
  283. package/dist/swisspost-internet-header/{p-9d0a7039.entry.js → p-64cb215a.entry.js} +2 -2
  284. package/dist/swisspost-internet-header/p-64cb215a.entry.js.map +1 -0
  285. package/dist/swisspost-internet-header/{p-a51ad207.system.entry.js → p-66144e99.system.entry.js} +2 -2
  286. package/dist/swisspost-internet-header/p-66144e99.system.entry.js.map +1 -0
  287. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js +7 -0
  288. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js.map +1 -0
  289. package/dist/swisspost-internet-header/{p-43cbbf42.entry.js → p-77d5e07f.entry.js} +2 -2
  290. package/dist/swisspost-internet-header/p-77d5e07f.entry.js.map +1 -0
  291. package/dist/swisspost-internet-header/p-7ea26ee9.entry.js +2 -0
  292. package/dist/swisspost-internet-header/p-7ea26ee9.entry.js.map +1 -0
  293. package/dist/swisspost-internet-header/p-7fcba2e7.system.js +2 -0
  294. package/dist/swisspost-internet-header/p-7fcba2e7.system.js.map +1 -0
  295. package/dist/swisspost-internet-header/{p-549b62ba.system.js → p-88aac12c.system.js} +1 -1
  296. package/dist/swisspost-internet-header/p-88aac12c.system.js.map +1 -0
  297. package/dist/swisspost-internet-header/{p-0e2ec555.js → p-8bf099a8.js} +1 -1
  298. package/dist/swisspost-internet-header/p-8bf099a8.js.map +1 -0
  299. package/dist/swisspost-internet-header/{p-8717445f.entry.js → p-95b81c4d.entry.js} +2 -2
  300. package/dist/swisspost-internet-header/p-95b81c4d.entry.js.map +1 -0
  301. package/dist/swisspost-internet-header/{p-3eb881c3.js → p-a2f9d462.js} +1 -1
  302. package/dist/swisspost-internet-header/p-a2f9d462.js.map +1 -0
  303. package/dist/swisspost-internet-header/{p-eeff8b03.js → p-ab1dd269.js} +1 -1
  304. package/dist/swisspost-internet-header/p-ab1dd269.js.map +1 -0
  305. package/dist/swisspost-internet-header/p-b228fe49.system.entry.js +2 -0
  306. package/dist/swisspost-internet-header/p-b228fe49.system.entry.js.map +1 -0
  307. package/dist/swisspost-internet-header/{p-a4160d23.entry.js → p-ccb522ba.entry.js} +2 -2
  308. package/dist/swisspost-internet-header/p-ccb522ba.entry.js.map +1 -0
  309. package/dist/swisspost-internet-header/p-cfa787d7.entry.js +6 -0
  310. package/dist/swisspost-internet-header/p-cfa787d7.entry.js.map +1 -0
  311. package/dist/swisspost-internet-header/{p-c946c5b8.system.entry.js → p-d6539597.system.entry.js} +2 -2
  312. package/dist/swisspost-internet-header/p-d6539597.system.entry.js.map +1 -0
  313. package/dist/swisspost-internet-header/{p-cb06a633.system.entry.js → p-e2990968.system.entry.js} +2 -2
  314. package/dist/swisspost-internet-header/p-e2990968.system.entry.js.map +1 -0
  315. package/dist/swisspost-internet-header/{p-7e653a26.js → p-ed24b372.js} +2 -2
  316. package/dist/swisspost-internet-header/p-ed24b372.js.map +1 -0
  317. package/dist/swisspost-internet-header/{p-9509f6c7.system.js → p-edb2802d.system.js} +1 -1
  318. package/dist/swisspost-internet-header/p-edb2802d.system.js.map +1 -0
  319. package/dist/swisspost-internet-header/{p-ee915bbe.system.js → p-ee119d2e.system.js} +1 -1
  320. package/dist/swisspost-internet-header/p-ee119d2e.system.js.map +1 -0
  321. package/dist/swisspost-internet-header/{p-883f9547.system.entry.js → p-f38f38f4.system.entry.js} +2 -2
  322. package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js.map +1 -0
  323. package/dist/swisspost-internet-header/{p-3ba40afe.js → p-f7c0cf7b.js} +1 -1
  324. package/dist/swisspost-internet-header/p-f7c0cf7b.js.map +1 -0
  325. package/dist/swisspost-internet-header/{p-4654b2af.system.js → p-ffc59851.system.js} +1 -1
  326. package/dist/swisspost-internet-header/p-ffc59851.system.js.map +1 -0
  327. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  328. package/dist/types/assets/i18n/translations.d.ts +37 -37
  329. package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +9 -9
  330. package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +12 -12
  331. package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +7 -7
  332. package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +6 -6
  333. package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +16 -16
  334. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +45 -45
  335. package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +5 -5
  336. package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +6 -6
  337. package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +4 -4
  338. package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +5 -5
  339. package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +5 -5
  340. package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +10 -10
  341. package/dist/types/components/post-internet-header/post-internet-header.d.ts +124 -124
  342. package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +3 -3
  343. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +10 -10
  344. package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +6 -6
  345. package/dist/types/components/post-language-switch/post-language-switch.d.ts +27 -27
  346. package/dist/types/components/post-logo/logo-sprite.component.d.ts +4 -4
  347. package/dist/types/components/post-logo/post-logo.d.ts +11 -11
  348. package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +8 -8
  349. package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +48 -48
  350. package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +5 -5
  351. package/dist/types/components/post-search/post-search.d.ts +61 -61
  352. package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +9 -9
  353. package/dist/types/data/store.d.ts +16 -16
  354. package/dist/types/index.d.ts +1 -1
  355. package/dist/types/models/breadcrumbs.model.d.ts +36 -36
  356. package/dist/types/models/coveo.model.d.ts +22 -22
  357. package/dist/types/models/footer.model.d.ts +48 -48
  358. package/dist/types/models/general.model.d.ts +46 -46
  359. package/dist/types/models/geocode.model.d.ts +52 -52
  360. package/dist/types/models/header.model.d.ts +163 -163
  361. package/dist/types/models/implementor.model.d.ts +22 -22
  362. package/dist/types/models/language.model.d.ts +6 -6
  363. package/dist/types/models/track-and-trace.model.d.ts +25 -25
  364. package/dist/types/services/config.service.d.ts +56 -56
  365. package/dist/types/services/language.service.d.ts +65 -65
  366. package/dist/types/services/route.service.d.ts +39 -39
  367. package/dist/types/services/search/coveo.service.d.ts +9 -9
  368. package/dist/types/services/search/coveo.settings.d.ts +2 -2
  369. package/dist/types/services/search/parcel.service.d.ts +28 -28
  370. package/dist/types/services/search/places.service.d.ts +24 -24
  371. package/dist/types/services/search/places.settings.d.ts +3 -3
  372. package/dist/types/services/search/search-utilities.d.ts +15 -15
  373. package/dist/types/services/search/search.service.d.ts +24 -24
  374. package/dist/types/services/ui.service.d.ts +23 -23
  375. package/dist/types/utils/highlighted.component.d.ts +4 -4
  376. package/dist/types/utils/if.component.d.ts +4 -4
  377. package/dist/types/utils/svg-icon.component.d.ts +4 -4
  378. package/dist/types/utils/svg-sprite.component.d.ts +1 -1
  379. package/dist/types/utils/utils.d.ts +8 -8
  380. package/package.json +7 -7
  381. package/readme.md +57 -15
  382. package/dist/cjs/if.component-313f59b8.js.map +0 -1
  383. package/dist/cjs/klp-widget.controller-675b23db.js.map +0 -1
  384. package/dist/cjs/language.service-a80ae01d.js.map +0 -1
  385. package/dist/cjs/store-47e14589.js.map +0 -1
  386. package/dist/cjs/svg-icon.component-10fbda11.js.map +0 -1
  387. package/dist/cjs/svg-sprite.component-c3b454b3.js.map +0 -1
  388. package/dist/cjs/ui.service-db4a8252.js.map +0 -1
  389. package/dist/cjs/utils-b6014257.js.map +0 -1
  390. package/dist/esm/if.component-542fb8c3.js.map +0 -1
  391. package/dist/esm/klp-widget.controller-be1eeb16.js.map +0 -1
  392. package/dist/esm/language.service-e49858e0.js.map +0 -1
  393. package/dist/esm/store-d495dc07.js.map +0 -1
  394. package/dist/esm/svg-icon.component-1b1b27a2.js.map +0 -1
  395. package/dist/esm/svg-sprite.component-ec0ac38c.js.map +0 -1
  396. package/dist/esm/ui.service-1d9b0f51.js.map +0 -1
  397. package/dist/esm/utils-5bf107ff.js.map +0 -1
  398. package/dist/esm-es5/if.component-542fb8c3.js.map +0 -1
  399. package/dist/esm-es5/klp-widget.controller-be1eeb16.js.map +0 -1
  400. package/dist/esm-es5/language.service-e49858e0.js.map +0 -1
  401. package/dist/esm-es5/store-d495dc07.js +0 -2
  402. package/dist/esm-es5/store-d495dc07.js.map +0 -1
  403. package/dist/esm-es5/svg-icon.component-1b1b27a2.js.map +0 -1
  404. package/dist/esm-es5/svg-sprite.component-ec0ac38c.js.map +0 -1
  405. package/dist/esm-es5/ui.service-1d9b0f51.js.map +0 -1
  406. package/dist/esm-es5/utils-5bf107ff.js.map +0 -1
  407. package/dist/swisspost-internet-header/p-00fd320e.entry.js.map +0 -1
  408. package/dist/swisspost-internet-header/p-0e2ec555.js.map +0 -1
  409. package/dist/swisspost-internet-header/p-1394ee67.entry.js +0 -2
  410. package/dist/swisspost-internet-header/p-1394ee67.entry.js.map +0 -1
  411. package/dist/swisspost-internet-header/p-26c2842e.system.entry.js +0 -2
  412. package/dist/swisspost-internet-header/p-26c2842e.system.entry.js.map +0 -1
  413. package/dist/swisspost-internet-header/p-2eb04045.entry.js.map +0 -1
  414. package/dist/swisspost-internet-header/p-3ba40afe.js.map +0 -1
  415. package/dist/swisspost-internet-header/p-3eb881c3.js.map +0 -1
  416. package/dist/swisspost-internet-header/p-43cbbf42.entry.js.map +0 -1
  417. package/dist/swisspost-internet-header/p-4654b2af.system.js.map +0 -1
  418. package/dist/swisspost-internet-header/p-4c9ec2d8.system.js.map +0 -1
  419. package/dist/swisspost-internet-header/p-549b62ba.system.js.map +0 -1
  420. package/dist/swisspost-internet-header/p-5e43c5e0.js +0 -2
  421. package/dist/swisspost-internet-header/p-5e43c5e0.js.map +0 -1
  422. package/dist/swisspost-internet-header/p-74932c29.entry.js +0 -6
  423. package/dist/swisspost-internet-header/p-74932c29.entry.js.map +0 -1
  424. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js +0 -2
  425. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js.map +0 -1
  426. package/dist/swisspost-internet-header/p-78f653be.system.entry.js.map +0 -1
  427. package/dist/swisspost-internet-header/p-7e653a26.js.map +0 -1
  428. package/dist/swisspost-internet-header/p-7f16a46b.entry.js +0 -2
  429. package/dist/swisspost-internet-header/p-7f16a46b.entry.js.map +0 -1
  430. package/dist/swisspost-internet-header/p-8717445f.entry.js.map +0 -1
  431. package/dist/swisspost-internet-header/p-883f9547.system.entry.js.map +0 -1
  432. package/dist/swisspost-internet-header/p-9509f6c7.system.js.map +0 -1
  433. package/dist/swisspost-internet-header/p-9d0a7039.entry.js.map +0 -1
  434. package/dist/swisspost-internet-header/p-a4160d23.entry.js.map +0 -1
  435. package/dist/swisspost-internet-header/p-a51ad207.system.entry.js.map +0 -1
  436. package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js.map +0 -1
  437. package/dist/swisspost-internet-header/p-bdabd6ac.js.map +0 -1
  438. package/dist/swisspost-internet-header/p-c29ec122.system.js.map +0 -1
  439. package/dist/swisspost-internet-header/p-c69923cd.system.js +0 -2
  440. package/dist/swisspost-internet-header/p-c69923cd.system.js.map +0 -1
  441. package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js.map +0 -1
  442. package/dist/swisspost-internet-header/p-cb06a633.system.entry.js.map +0 -1
  443. package/dist/swisspost-internet-header/p-cb3de015.system.entry.js.map +0 -1
  444. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js +0 -7
  445. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js.map +0 -1
  446. package/dist/swisspost-internet-header/p-ddcb8258.entry.js.map +0 -1
  447. package/dist/swisspost-internet-header/p-ec80c8fc.js.map +0 -1
  448. package/dist/swisspost-internet-header/p-ee915bbe.system.js.map +0 -1
  449. package/dist/swisspost-internet-header/p-eeff8b03.js.map +0 -1
  450. package/dist/swisspost-internet-header/p-f4ff1e9e.system.js.map +0 -1
@@ -1,54 +1,54 @@
1
- import { state } from '../../data/store';
2
- // https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883
3
- // Track and trace URL
4
- export const getTrackAndTraceApiUrl = (id) => {
5
- const lang = state.currentLanguage;
6
- return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;
7
- };
8
- // Get the redire
9
- export const getTrackAndTraceRedirectUrl = (query, { packageTrackingRedirectUrl }) => {
10
- return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));
11
- };
12
- /**
13
- * Check whether a query is a tracking id
14
- *
15
- * @param query User query
16
- * @returns Boolean
17
- */
18
- export const isParcel = async (query, searchConfig) => {
19
- const parcelInfo = await getParcelInfo(query, searchConfig);
20
- return parcelInfo.ok;
21
- };
22
- /**
23
- * Try to get parcel info from a query that is possibly a tracking id.
24
- * This is mainly used to check if a search should redirect to track&trace instead of the regular search.
25
- *
26
- * @param query User query that is possibly a tracking number
27
- * @returns Track and trace info
28
- */
29
- export const getParcelInfo = async (query, { redirectPattern }) => {
30
- const trackingNrPattern = new RegExp(redirectPattern);
31
- if (trackingNrPattern.test(query)) {
32
- try {
33
- const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));
34
- const trackAndTraceResult = await trackAndTraceReqest.json();
35
- return Object.assign(Object.assign({}, trackAndTraceResult), { ok: trackAndTraceResult.ok === 'true' });
36
- }
37
- catch (error) {
38
- console.warn(`Could not check track and trace API due to error: ${error.message}`);
39
- }
40
- }
41
- return { ok: false, timestamp: new Date().toDateString() };
42
- };
43
- /**
44
- * Get parcel info if query is a parcel or null
45
- *
46
- * @param query Parcel id
47
- * @returns Parcel info and a redirect url or null if not a parcel
48
- */
49
- export const getParcelSuggestion = async (query, searchConfig) => {
50
- const parcelInfo = await getParcelInfo(query, searchConfig);
51
- return parcelInfo.ok
52
- ? Object.assign(Object.assign({}, parcelInfo), { url: getTrackAndTraceRedirectUrl(query, searchConfig) }) : null;
53
- };
54
- //# sourceMappingURL=parcel.service.js.map
1
+ import { state } from '../../data/store';
2
+ // https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883
3
+ // Track and trace URL
4
+ export const getTrackAndTraceApiUrl = (id) => {
5
+ const lang = state.currentLanguage;
6
+ return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;
7
+ };
8
+ // Get the redire
9
+ export const getTrackAndTraceRedirectUrl = (query, { packageTrackingRedirectUrl }) => {
10
+ return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));
11
+ };
12
+ /**
13
+ * Check whether a query is a tracking id
14
+ *
15
+ * @param query User query
16
+ * @returns Boolean
17
+ */
18
+ export const isParcel = async (query, searchConfig) => {
19
+ const parcelInfo = await getParcelInfo(query, searchConfig);
20
+ return parcelInfo.ok;
21
+ };
22
+ /**
23
+ * Try to get parcel info from a query that is possibly a tracking id.
24
+ * This is mainly used to check if a search should redirect to track&trace instead of the regular search.
25
+ *
26
+ * @param query User query that is possibly a tracking number
27
+ * @returns Track and trace info
28
+ */
29
+ export const getParcelInfo = async (query, { redirectPattern }) => {
30
+ const trackingNrPattern = new RegExp(redirectPattern);
31
+ if (trackingNrPattern.test(query)) {
32
+ try {
33
+ const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));
34
+ const trackAndTraceResult = await trackAndTraceReqest.json();
35
+ return Object.assign(Object.assign({}, trackAndTraceResult), { ok: trackAndTraceResult.ok === 'true' });
36
+ }
37
+ catch (error) {
38
+ console.warn(`Could not check track and trace API due to error: ${error.message}`);
39
+ }
40
+ }
41
+ return { ok: false, timestamp: new Date().toDateString() };
42
+ };
43
+ /**
44
+ * Get parcel info if query is a parcel or null
45
+ *
46
+ * @param query Parcel id
47
+ * @returns Parcel info and a redirect url or null if not a parcel
48
+ */
49
+ export const getParcelSuggestion = async (query, searchConfig) => {
50
+ const parcelInfo = await getParcelInfo(query, searchConfig);
51
+ return parcelInfo.ok
52
+ ? Object.assign(Object.assign({}, parcelInfo), { url: getTrackAndTraceRedirectUrl(query, searchConfig) }) : null;
53
+ };
54
+ //# sourceMappingURL=parcel.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parcel.service.js","sourceRoot":"","sources":["../../../../src/services/search/parcel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,iEAAiE;AAEjE,sBAAsB;AACtB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,EAAE;EACnD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC;EACnC,OAAO,uBAAuB,IAAI,yBAAyB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAa,EACb,EAAE,0BAA0B,EAAiB,EAC7C,EAAE;EACF,OAAO,0BAA0B,CAAC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAE,YAA2B,EAAoB,EAAE;EAC7F,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC5D,OAAO,UAAU,CAAC,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,KAAa,EACb,EAAE,eAAe,EAAiB,EACN,EAAE;EAC9B,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;EAEtD,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACjC,IAAI;MACF,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;MACvE,MAAM,mBAAmB,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;MAC7D,uCAAY,mBAAmB,KAAE,EAAE,EAAE,mBAAmB,CAAC,EAAE,KAAK,MAAM,IAAG;KAC1E;IAAC,OAAO,KAAK,EAAE;MACd,OAAO,CAAC,IAAI,CAAC,qDAAqD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACpF;GACF;EAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;AAC7D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,KAAa,EACb,YAA2B,EAC4B,EAAE;EACzD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC5D,OAAO,UAAU,CAAC,EAAE;IAClB,CAAC,iCAAM,UAAU,KAAE,GAAG,EAAE,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC,IACxE,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC","sourcesContent":["import { state } from '../../data/store';\r\nimport { ISearchConfig } from '../../models/header.model';\r\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\r\n\r\n// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883\r\n\r\n// Track and trace URL\r\nexport const getTrackAndTraceApiUrl = (id: string) => {\r\n const lang = state.currentLanguage;\r\n return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;\r\n};\r\n\r\n// Get the redire\r\nexport const getTrackAndTraceRedirectUrl = (\r\n query: string,\r\n { packageTrackingRedirectUrl }: ISearchConfig,\r\n) => {\r\n return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));\r\n};\r\n\r\n/**\r\n * Check whether a query is a tracking id\r\n *\r\n * @param query User query\r\n * @returns Boolean\r\n */\r\nexport const isParcel = async (query: string, searchConfig: ISearchConfig): Promise<boolean> => {\r\n const parcelInfo = await getParcelInfo(query, searchConfig);\r\n return parcelInfo.ok;\r\n};\r\n\r\n/**\r\n * Try to get parcel info from a query that is possibly a tracking id.\r\n * This is mainly used to check if a search should redirect to track&trace instead of the regular search.\r\n *\r\n * @param query User query that is possibly a tracking number\r\n * @returns Track and trace info\r\n */\r\nexport const getParcelInfo = async (\r\n query: string,\r\n { redirectPattern }: ISearchConfig,\r\n): Promise<TrackAndTraceInfo> => {\r\n const trackingNrPattern = new RegExp(redirectPattern);\r\n\r\n if (trackingNrPattern.test(query)) {\r\n try {\r\n const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));\r\n const trackAndTraceResult = await trackAndTraceReqest.json();\r\n return { ...trackAndTraceResult, ok: trackAndTraceResult.ok === 'true' };\r\n } catch (error) {\r\n console.warn(`Could not check track and trace API due to error: ${error.message}`);\r\n }\r\n }\r\n\r\n return { ok: false, timestamp: new Date().toDateString() };\r\n};\r\n\r\n/**\r\n * Get parcel info if query is a parcel or null\r\n *\r\n * @param query Parcel id\r\n * @returns Parcel info and a redirect url or null if not a parcel\r\n */\r\nexport const getParcelSuggestion = async (\r\n query: string,\r\n searchConfig: ISearchConfig,\r\n): Promise<(TrackAndTraceInfo & { url: string }) | null> => {\r\n const parcelInfo = await getParcelInfo(query, searchConfig);\r\n return parcelInfo.ok\r\n ? { ...parcelInfo, url: getTrackAndTraceRedirectUrl(query, searchConfig) }\r\n : null;\r\n};\r\n"]}
1
+ {"version":3,"file":"parcel.service.js","sourceRoot":"","sources":["../../../../src/services/search/parcel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,iEAAiE;AAEjE,sBAAsB;AACtB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,EAAE;EACnD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC;EACnC,OAAO,uBAAuB,IAAI,yBAAyB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAa,EACb,EAAE,0BAA0B,EAAiB,EAC7C,EAAE;EACF,OAAO,0BAA0B,CAAC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAE,YAA2B,EAAoB,EAAE;EAC7F,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC5D,OAAO,UAAU,CAAC,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,KAAa,EACb,EAAE,eAAe,EAAiB,EACN,EAAE;EAC9B,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;EAEtD,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACjC,IAAI;MACF,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;MACvE,MAAM,mBAAmB,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;MAC7D,uCAAY,mBAAmB,KAAE,EAAE,EAAE,mBAAmB,CAAC,EAAE,KAAK,MAAM,IAAG;KAC1E;IAAC,OAAO,KAAK,EAAE;MACd,OAAO,CAAC,IAAI,CAAC,qDAAqD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACpF;GACF;EAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;AAC7D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,KAAa,EACb,YAA2B,EAC4B,EAAE;EACzD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC5D,OAAO,UAAU,CAAC,EAAE;IAClB,CAAC,iCAAM,UAAU,KAAE,GAAG,EAAE,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC,IACxE,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC","sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\n\n// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883\n\n// Track and trace URL\nexport const getTrackAndTraceApiUrl = (id: string) => {\n const lang = state.currentLanguage;\n return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;\n};\n\n// Get the redire\nexport const getTrackAndTraceRedirectUrl = (\n query: string,\n { packageTrackingRedirectUrl }: ISearchConfig,\n) => {\n return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));\n};\n\n/**\n * Check whether a query is a tracking id\n *\n * @param query User query\n * @returns Boolean\n */\nexport const isParcel = async (query: string, searchConfig: ISearchConfig): Promise<boolean> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok;\n};\n\n/**\n * Try to get parcel info from a query that is possibly a tracking id.\n * This is mainly used to check if a search should redirect to track&trace instead of the regular search.\n *\n * @param query User query that is possibly a tracking number\n * @returns Track and trace info\n */\nexport const getParcelInfo = async (\n query: string,\n { redirectPattern }: ISearchConfig,\n): Promise<TrackAndTraceInfo> => {\n const trackingNrPattern = new RegExp(redirectPattern);\n\n if (trackingNrPattern.test(query)) {\n try {\n const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));\n const trackAndTraceResult = await trackAndTraceReqest.json();\n return { ...trackAndTraceResult, ok: trackAndTraceResult.ok === 'true' };\n } catch (error) {\n console.warn(`Could not check track and trace API due to error: ${error.message}`);\n }\n }\n\n return { ok: false, timestamp: new Date().toDateString() };\n};\n\n/**\n * Get parcel info if query is a parcel or null\n *\n * @param query Parcel id\n * @returns Parcel info and a redirect url or null if not a parcel\n */\nexport const getParcelSuggestion = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<(TrackAndTraceInfo & { url: string }) | null> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok\n ? { ...parcelInfo, url: getTrackAndTraceRedirectUrl(query, searchConfig) }\n : null;\n};\n"]}
@@ -1,95 +1,95 @@
1
- import { state } from '../../data/store';
2
- import { gisAPIUrl, pois, placesUrl } from './places.settings';
3
- import { hardNormalize, createSlug } from './search-utilities';
4
- // Never load types twice
5
- let typesCache = null;
6
- /**
7
- * Convert Post POI ids to stao cache ids
8
- * @returns
9
- */
10
- const convertTypes = async () => {
11
- if (typesCache === null) {
12
- try {
13
- const typesResponse = await fetch(`${gisAPIUrl}/Types?lang=${state.currentLanguage}`);
14
- const typesJSON = (await typesResponse.json());
15
- typesCache = encodeURIComponent(pois
16
- .map(poi => {
17
- const foundType = typesJSON.types.find(type => type.id === poi);
18
- return foundType === null || foundType === void 0 ? void 0 : foundType.tag;
19
- })
20
- .filter(poi => poi !== undefined)
21
- .join(','));
22
- }
23
- catch (error) {
24
- console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');
25
- throw error;
26
- }
27
- }
28
- return typesCache;
29
- };
30
- /**
31
- * Query the Gis API for locations and localities (pois)
32
- *
33
- * @param query User input string
34
- * @returns
35
- */
36
- export const queryPlaces = async (query) => {
37
- if (query.length === 0) {
38
- return [];
39
- }
40
- const limit = 8;
41
- const excludeTypes = ['address', 'locality', 'region'];
42
- const types = await convertTypes();
43
- const geocoderUrl = `${gisAPIUrl}/Geocode?query=${encodeURIComponent(query)}&lang=${state.currentLanguage}&pois=${types}&limit=100`;
44
- try {
45
- const geocodeResponse = await fetch(geocoderUrl);
46
- const geocodeJSON = (await geocodeResponse.json());
47
- if (!geocodeJSON.ok) {
48
- throw new Error(geocodeJSON.info);
49
- }
50
- return geocodeJSON.locations
51
- .filter(location => !excludeTypes.includes(location.type))
52
- .slice(0, limit);
53
- }
54
- catch (error) {
55
- console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');
56
- throw error;
57
- }
58
- };
59
- /**
60
- * Try to highlight place suggestions
61
- * Limitation: accented chars are not handled by this basic function
62
- *
63
- * @param query Search term
64
- * @param place Name of the suggested place
65
- * @returns
66
- */
67
- export const highlightPlacesString = (query, place) => {
68
- if (query === undefined)
69
- return place;
70
- // Strip accents from the string
71
- const reference = hardNormalize(place);
72
- const q = hardNormalize(query);
73
- const indexOfQuery = reference.indexOf(q);
74
- if (indexOfQuery < 0) {
75
- return place;
76
- }
77
- return `${place.substring(0, indexOfQuery)}{${place.substring(indexOfQuery, indexOfQuery + query.length)}}${place.substring(indexOfQuery + query.length, place.length)}`;
78
- };
79
- /**
80
- * Get the deeplink to any location found via geocoder
81
- *
82
- * @param location A location from the Gis API Geocode endpoint
83
- * @returns
84
- */
85
- export const getPlacesUrl = (location) => {
86
- let url;
87
- if (location.id !== '') {
88
- url = `${placesUrl}/${state.currentLanguage}/${location.id}/${createSlug(location.name)}`;
89
- }
90
- else {
91
- url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;
92
- }
93
- return url;
94
- };
95
- //# sourceMappingURL=places.service.js.map
1
+ import { state } from '../../data/store';
2
+ import { gisAPIUrl, pois, placesUrl } from './places.settings';
3
+ import { hardNormalize, createSlug } from './search-utilities';
4
+ // Never load types twice
5
+ let typesCache = null;
6
+ /**
7
+ * Convert Post POI ids to stao cache ids
8
+ * @returns
9
+ */
10
+ const convertTypes = async () => {
11
+ if (typesCache === null) {
12
+ try {
13
+ const typesResponse = await fetch(`${gisAPIUrl}/Types?lang=${state.currentLanguage}`);
14
+ const typesJSON = (await typesResponse.json());
15
+ typesCache = encodeURIComponent(pois
16
+ .map(poi => {
17
+ const foundType = typesJSON.types.find(type => type.id === poi);
18
+ return foundType === null || foundType === void 0 ? void 0 : foundType.tag;
19
+ })
20
+ .filter(poi => poi !== undefined)
21
+ .join(','));
22
+ }
23
+ catch (error) {
24
+ console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');
25
+ throw error;
26
+ }
27
+ }
28
+ return typesCache;
29
+ };
30
+ /**
31
+ * Query the Gis API for locations and localities (pois)
32
+ *
33
+ * @param query User input string
34
+ * @returns
35
+ */
36
+ export const queryPlaces = async (query) => {
37
+ if (query.length === 0) {
38
+ return [];
39
+ }
40
+ const limit = 8;
41
+ const excludeTypes = ['address', 'locality', 'region'];
42
+ const types = await convertTypes();
43
+ const geocoderUrl = `${gisAPIUrl}/Geocode?query=${encodeURIComponent(query)}&lang=${state.currentLanguage}&pois=${types}&limit=100`;
44
+ try {
45
+ const geocodeResponse = await fetch(geocoderUrl);
46
+ const geocodeJSON = (await geocodeResponse.json());
47
+ if (!geocodeJSON.ok) {
48
+ throw new Error(geocodeJSON.info);
49
+ }
50
+ return geocodeJSON.locations
51
+ .filter(location => !excludeTypes.includes(location.type))
52
+ .slice(0, limit);
53
+ }
54
+ catch (error) {
55
+ console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');
56
+ throw error;
57
+ }
58
+ };
59
+ /**
60
+ * Try to highlight place suggestions
61
+ * Limitation: accented chars are not handled by this basic function
62
+ *
63
+ * @param query Search term
64
+ * @param place Name of the suggested place
65
+ * @returns
66
+ */
67
+ export const highlightPlacesString = (query, place) => {
68
+ if (query === undefined)
69
+ return place;
70
+ // Strip accents from the string
71
+ const reference = hardNormalize(place);
72
+ const q = hardNormalize(query);
73
+ const indexOfQuery = reference.indexOf(q);
74
+ if (indexOfQuery < 0) {
75
+ return place;
76
+ }
77
+ return `${place.substring(0, indexOfQuery)}{${place.substring(indexOfQuery, indexOfQuery + query.length)}}${place.substring(indexOfQuery + query.length, place.length)}`;
78
+ };
79
+ /**
80
+ * Get the deeplink to any location found via geocoder
81
+ *
82
+ * @param location A location from the Gis API Geocode endpoint
83
+ * @returns
84
+ */
85
+ export const getPlacesUrl = (location) => {
86
+ let url;
87
+ if (location.id !== '') {
88
+ url = `${placesUrl}/${state.currentLanguage}/${location.id}/${createSlug(location.name)}`;
89
+ }
90
+ else {
91
+ url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;
92
+ }
93
+ return url;
94
+ };
95
+ //# sourceMappingURL=places.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"places.service.js","sourceRoot":"","sources":["../../../../src/services/search/places.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { state } from '../../data/store';\r\nimport { GeocodeLocation, GeocodeResponse, ServiceTypesResponse } from '../../models/geocode.model';\r\nimport { gisAPIUrl, pois, placesUrl } from './places.settings';\r\nimport { hardNormalize, createSlug } from './search-utilities';\r\n\r\n// Never load types twice\r\nlet typesCache: string | null = null;\r\n\r\n/**\r\n * Convert Post POI ids to stao cache ids\r\n * @returns\r\n */\r\nconst convertTypes = async () => {\r\n if (typesCache === null) {\r\n try {\r\n const typesResponse = await fetch(`${gisAPIUrl}/Types?lang=${state.currentLanguage}`);\r\n const typesJSON = (await typesResponse.json()) as ServiceTypesResponse;\r\n typesCache = encodeURIComponent(\r\n pois\r\n .map(poi => {\r\n const foundType = typesJSON.types.find(type => type.id === poi);\r\n return foundType?.tag;\r\n })\r\n .filter(poi => poi !== undefined)\r\n .join(','),\r\n );\r\n } catch (error) {\r\n console.error(\r\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\r\n );\r\n throw error;\r\n }\r\n }\r\n\r\n return typesCache;\r\n};\r\n\r\n/**\r\n * Query the Gis API for locations and localities (pois)\r\n *\r\n * @param query User input string\r\n * @returns\r\n */\r\nexport const queryPlaces = async (query: string): Promise<GeocodeLocation[]> => {\r\n if (query.length === 0) {\r\n return [];\r\n }\r\n\r\n const limit = 8;\r\n const excludeTypes = ['address', 'locality', 'region'];\r\n const types = await convertTypes();\r\n const geocoderUrl = `${gisAPIUrl}/Geocode?query=${encodeURIComponent(query)}&lang=${\r\n state.currentLanguage\r\n }&pois=${types}&limit=100`;\r\n\r\n try {\r\n const geocodeResponse = await fetch(geocoderUrl);\r\n const geocodeJSON = (await geocodeResponse.json()) as GeocodeResponse;\r\n if (!geocodeJSON.ok) {\r\n throw new Error(geocodeJSON.info);\r\n }\r\n return geocodeJSON.locations\r\n .filter(location => !excludeTypes.includes(location.type))\r\n .slice(0, limit);\r\n } catch (error) {\r\n console.error(\r\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\r\n );\r\n throw error;\r\n }\r\n};\r\n\r\n/**\r\n * Try to highlight place suggestions\r\n * Limitation: accented chars are not handled by this basic function\r\n *\r\n * @param query Search term\r\n * @param place Name of the suggested place\r\n * @returns\r\n */\r\nexport const highlightPlacesString = (query: string | undefined, place: string) => {\r\n if (query === undefined) return place;\r\n\r\n // Strip accents from the string\r\n const reference = hardNormalize(place);\r\n const q = hardNormalize(query);\r\n const indexOfQuery = reference.indexOf(q);\r\n\r\n if (indexOfQuery < 0) {\r\n return place;\r\n }\r\n\r\n return `${place.substring(0, indexOfQuery)}{${place.substring(\r\n indexOfQuery,\r\n indexOfQuery + query.length,\r\n )}}${place.substring(indexOfQuery + query.length, place.length)}`;\r\n};\r\n\r\n/**\r\n * Get the deeplink to any location found via geocoder\r\n *\r\n * @param location A location from the Gis API Geocode endpoint\r\n * @returns\r\n */\r\nexport const getPlacesUrl = (location: GeocodeLocation): string => {\r\n let url: string;\r\n\r\n if (location.id !== '') {\r\n url = `${placesUrl}/${state.currentLanguage}/${location.id}/${createSlug(location.name)}`;\r\n } else {\r\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\r\n }\r\n\r\n return url;\r\n};\r\n"]}
1
+ {"version":3,"file":"places.service.js","sourceRoot":"","sources":["../../../../src/services/search/places.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { state } from '../../data/store';\nimport { GeocodeLocation, GeocodeResponse, ServiceTypesResponse } from '../../models/geocode.model';\nimport { gisAPIUrl, pois, placesUrl } from './places.settings';\nimport { hardNormalize, createSlug } from './search-utilities';\n\n// Never load types twice\nlet typesCache: string | null = null;\n\n/**\n * Convert Post POI ids to stao cache ids\n * @returns\n */\nconst convertTypes = async () => {\n if (typesCache === null) {\n try {\n const typesResponse = await fetch(`${gisAPIUrl}/Types?lang=${state.currentLanguage}`);\n const typesJSON = (await typesResponse.json()) as ServiceTypesResponse;\n typesCache = encodeURIComponent(\n pois\n .map(poi => {\n const foundType = typesJSON.types.find(type => type.id === poi);\n return foundType?.tag;\n })\n .filter(poi => poi !== undefined)\n .join(','),\n );\n } catch (error) {\n console.error(\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\n );\n throw error;\n }\n }\n\n return typesCache;\n};\n\n/**\n * Query the Gis API for locations and localities (pois)\n *\n * @param query User input string\n * @returns\n */\nexport const queryPlaces = async (query: string): Promise<GeocodeLocation[]> => {\n if (query.length === 0) {\n return [];\n }\n\n const limit = 8;\n const excludeTypes = ['address', 'locality', 'region'];\n const types = await convertTypes();\n const geocoderUrl = `${gisAPIUrl}/Geocode?query=${encodeURIComponent(query)}&lang=${\n state.currentLanguage\n }&pois=${types}&limit=100`;\n\n try {\n const geocodeResponse = await fetch(geocoderUrl);\n const geocodeJSON = (await geocodeResponse.json()) as GeocodeResponse;\n if (!geocodeJSON.ok) {\n throw new Error(geocodeJSON.info);\n }\n return geocodeJSON.locations\n .filter(location => !excludeTypes.includes(location.type))\n .slice(0, limit);\n } catch (error) {\n console.error(\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\n );\n throw error;\n }\n};\n\n/**\n * Try to highlight place suggestions\n * Limitation: accented chars are not handled by this basic function\n *\n * @param query Search term\n * @param place Name of the suggested place\n * @returns\n */\nexport const highlightPlacesString = (query: string | undefined, place: string) => {\n if (query === undefined) return place;\n\n // Strip accents from the string\n const reference = hardNormalize(place);\n const q = hardNormalize(query);\n const indexOfQuery = reference.indexOf(q);\n\n if (indexOfQuery < 0) {\n return place;\n }\n\n return `${place.substring(0, indexOfQuery)}{${place.substring(\n indexOfQuery,\n indexOfQuery + query.length,\n )}}${place.substring(indexOfQuery + query.length, place.length)}`;\n};\n\n/**\n * Get the deeplink to any location found via geocoder\n *\n * @param location A location from the Gis API Geocode endpoint\n * @returns\n */\nexport const getPlacesUrl = (location: GeocodeLocation): string => {\n let url: string;\n\n if (location.id !== '') {\n url = `${placesUrl}/${state.currentLanguage}/${location.id}/${createSlug(location.name)}`;\n } else {\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\n }\n\n return url;\n};\n"]}
@@ -1,16 +1,16 @@
1
- // Implement some TOPOS logic into the header search
2
- export const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';
3
- export const placesUrl = 'https://places.post.ch';
4
- export const pois = [
5
- '001PST',
6
- '001MP24',
7
- '001AG-PICK',
8
- '001PFFIL',
9
- '001PFST',
10
- '001BZ',
11
- '001LZB',
12
- '001PZ',
13
- '001LZP',
14
- '001AL',
15
- ];
16
- //# sourceMappingURL=places.settings.js.map
1
+ // Implement some TOPOS logic into the header search
2
+ export const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';
3
+ export const placesUrl = 'https://places.post.ch';
4
+ export const pois = [
5
+ '001PST',
6
+ '001MP24',
7
+ '001AG-PICK',
8
+ '001PFFIL',
9
+ '001PFST',
10
+ '001BZ',
11
+ '001LZB',
12
+ '001PZ',
13
+ '001LZP',
14
+ '001AL',
15
+ ];
16
+ //# sourceMappingURL=places.settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"places.settings.js","sourceRoot":"","sources":["../../../../src/services/search/places.settings.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,SAAS,GAAG,uDAAuD,CAAC;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAClD,MAAM,CAAC,MAAM,IAAI,GAAG;EAClB,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,UAAU;EACV,SAAS;EACT,OAAO;EACP,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACR,CAAC","sourcesContent":["// Implement some TOPOS logic into the header search\r\nexport const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';\r\nexport const placesUrl = 'https://places.post.ch';\r\nexport const pois = [\r\n '001PST',\r\n '001MP24',\r\n '001AG-PICK',\r\n '001PFFIL',\r\n '001PFST',\r\n '001BZ',\r\n '001LZB',\r\n '001PZ',\r\n '001LZP',\r\n '001AL',\r\n];\r\n"]}
1
+ {"version":3,"file":"places.settings.js","sourceRoot":"","sources":["../../../../src/services/search/places.settings.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,SAAS,GAAG,uDAAuD,CAAC;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAClD,MAAM,CAAC,MAAM,IAAI,GAAG;EAClB,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,UAAU;EACV,SAAS;EACT,OAAO;EACP,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACR,CAAC","sourcesContent":["// Implement some TOPOS logic into the header search\nexport const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';\nexport const placesUrl = 'https://places.post.ch';\nexport const pois = [\n '001PST',\n '001MP24',\n '001AG-PICK',\n '001PFFIL',\n '001PFST',\n '001BZ',\n '001LZB',\n '001PZ',\n '001LZP',\n '001AL',\n];\n"]}
@@ -1,26 +1,26 @@
1
- import slugify from '@sindresorhus/slugify';
2
- /**
3
- * Transform to lowercase, extract accents to separate unicode chars,
4
- * replace all accent unicode chars so only standard latin chars remain
5
- * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463
6
- *
7
- * @param str Input string
8
- * @returns
9
- */
10
- export const hardNormalize = (str) => str
11
- .toLowerCase()
12
- .normalize('NFD')
13
- .replace(/[\u0300-\u036f]/g, '');
14
- /**
15
- * Convert a poi name to a URL compatible slug, logic copied from TOPOS
16
- * @param fragment A poi name
17
- * @returns
18
- */
19
- export const createSlug = (fragment) => slugify(fragment
20
- .replace(/ \/ /g, '-')
21
- .replace(/ /g, '-')
22
- .replace(/\//g, '')
23
- .replace(/\./g, '')
24
- .replace(/\,/g, '')
25
- .replace(/\'/g, ''));
26
- //# sourceMappingURL=search-utilities.js.map
1
+ import slugify from '@sindresorhus/slugify';
2
+ /**
3
+ * Transform to lowercase, extract accents to separate unicode chars,
4
+ * replace all accent unicode chars so only standard latin chars remain
5
+ * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463
6
+ *
7
+ * @param str Input string
8
+ * @returns
9
+ */
10
+ export const hardNormalize = (str) => str
11
+ .toLowerCase()
12
+ .normalize('NFD')
13
+ .replace(/[\u0300-\u036f]/g, '');
14
+ /**
15
+ * Convert a poi name to a URL compatible slug, logic copied from TOPOS
16
+ * @param fragment A poi name
17
+ * @returns
18
+ */
19
+ export const createSlug = (fragment) => slugify(fragment
20
+ .replace(/ \/ /g, '-')
21
+ .replace(/ /g, '-')
22
+ .replace(/\//g, '')
23
+ .replace(/\./g, '')
24
+ .replace(/\,/g, '')
25
+ .replace(/\'/g, ''));
26
+ //# sourceMappingURL=search-utilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-utilities.js","sourceRoot":"","sources":["../../../../src/services/search/search-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAU,EAAE,CACnD,GAAG;GACA,WAAW,EAAE;GACb,SAAS,CAAC,KAAK,CAAC;GAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAU,EAAE,CACrD,OAAO,CACL,QAAQ;GACL,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;GACrB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,CAAC","sourcesContent":["import slugify from '@sindresorhus/slugify';\r\n\r\n/**\r\n * Transform to lowercase, extract accents to separate unicode chars,\r\n * replace all accent unicode chars so only standard latin chars remain\r\n * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463\r\n *\r\n * @param str Input string\r\n * @returns\r\n */\r\nexport const hardNormalize = (str: string): string =>\r\n str\r\n .toLowerCase()\r\n .normalize('NFD')\r\n .replace(/[\\u0300-\\u036f]/g, '');\r\n\r\n/**\r\n * Convert a poi name to a URL compatible slug, logic copied from TOPOS\r\n * @param fragment A poi name\r\n * @returns\r\n */\r\nexport const createSlug = (fragment: string): string =>\r\n slugify(\r\n fragment\r\n .replace(/ \\/ /g, '-')\r\n .replace(/ /g, '-')\r\n .replace(/\\//g, '')\r\n .replace(/\\./g, '')\r\n .replace(/\\,/g, '')\r\n .replace(/\\'/g, ''),\r\n );\r\n"]}
1
+ {"version":3,"file":"search-utilities.js","sourceRoot":"","sources":["../../../../src/services/search/search-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAU,EAAE,CACnD,GAAG;GACA,WAAW,EAAE;GACb,SAAS,CAAC,KAAK,CAAC;GAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAU,EAAE,CACrD,OAAO,CACL,QAAQ;GACL,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;GACrB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;GAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,CAAC","sourcesContent":["import slugify from '@sindresorhus/slugify';\n\n/**\n * Transform to lowercase, extract accents to separate unicode chars,\n * replace all accent unicode chars so only standard latin chars remain\n * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463\n *\n * @param str Input string\n * @returns\n */\nexport const hardNormalize = (str: string): string =>\n str\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n\n/**\n * Convert a poi name to a URL compatible slug, logic copied from TOPOS\n * @param fragment A poi name\n * @returns\n */\nexport const createSlug = (fragment: string): string =>\n slugify(\n fragment\n .replace(/ \\/ /g, '-')\n .replace(/ /g, '-')\n .replace(/\\//g, '')\n .replace(/\\./g, '')\n .replace(/\\,/g, '')\n .replace(/\\'/g, ''),\n );\n"]}
@@ -1,42 +1,42 @@
1
- import { state } from '../../data/store';
2
- import { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';
3
- /**
4
- * Construct a search page url from a query
5
- *
6
- * @param query Search term
7
- * @returns
8
- */
9
- export const getSearchRedirectUrl = async (query, searchConfig) => {
10
- const isTrackTraceId = await isParcel(query, searchConfig);
11
- return isTrackTraceId
12
- ? getTrackAndTraceRedirectUrl(query, searchConfig)
13
- : getSearchPageUrl(query);
14
- };
15
- /**
16
- * Stitch toghether the search page URL
17
- *
18
- * @param query Search term
19
- * @returns Search page URL
20
- */
21
- export const getSearchPageUrl = (query) => {
22
- var _a;
23
- if (((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search) === undefined) {
24
- return;
25
- }
26
- const { searchPageUrl } = state.localizedConfig.header.search;
27
- const searchParam = `#q=${encodeURIComponent(query)}`;
28
- return `${searchPageUrl}${searchParam}&t=AllTab`;
29
- };
30
- /**
31
- * Equalize the length of two arrays while filling up empty slots up to max. length
32
- *
33
- * @param arrayA First array
34
- * @param arrayB Second array
35
- * @param maxLength Max. length of result array
36
- * @returns Array with two resulting arrays
37
- */
38
- export const equalizeArrays = (arrayA, arrayB, maxLength = 8) => {
39
- const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));
40
- return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];
41
- };
42
- //# sourceMappingURL=search.service.js.map
1
+ import { state } from '../../data/store';
2
+ import { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';
3
+ /**
4
+ * Construct a search page url from a query
5
+ *
6
+ * @param query Search term
7
+ * @returns
8
+ */
9
+ export const getSearchRedirectUrl = async (query, searchConfig) => {
10
+ const isTrackTraceId = await isParcel(query, searchConfig);
11
+ return isTrackTraceId
12
+ ? getTrackAndTraceRedirectUrl(query, searchConfig)
13
+ : getSearchPageUrl(query);
14
+ };
15
+ /**
16
+ * Stitch toghether the search page URL
17
+ *
18
+ * @param query Search term
19
+ * @returns Search page URL
20
+ */
21
+ export const getSearchPageUrl = (query) => {
22
+ var _a;
23
+ if (((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.search) === undefined) {
24
+ return;
25
+ }
26
+ const { searchPageUrl } = state.localizedConfig.header.search;
27
+ const searchParam = `#q=${encodeURIComponent(query)}`;
28
+ return `${searchPageUrl}${searchParam}&t=AllTab`;
29
+ };
30
+ /**
31
+ * Equalize the length of two arrays while filling up empty slots up to max. length
32
+ *
33
+ * @param arrayA First array
34
+ * @param arrayB Second array
35
+ * @param maxLength Max. length of result array
36
+ * @returns Array with two resulting arrays
37
+ */
38
+ export const equalizeArrays = (arrayA, arrayB, maxLength = 8) => {
39
+ const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));
40
+ return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];
41
+ };
42
+ //# sourceMappingURL=search.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.service.js","sourceRoot":"","sources":["../../../../src/services/search/search.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,KAAa,EACb,YAA2B,EACE,EAAE;EAC/B,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC3D,OAAO,cAAc;IACnB,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC;IAClD,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAsB,EAAE;;EACpE,IAAI,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAC,MAAM,MAAK,SAAS,EAAE;IACtD,OAAO;GACR;EACD,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;EAC9D,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;EACtD,OAAO,GAAG,aAAa,GAAG,WAAW,WAAW,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,MAAW,EAAE,MAAW,EAAE,SAAS,GAAG,CAAC,EAAc,EAAE;EAC1F,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;EACxF,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC","sourcesContent":["import { state } from '../../data/store';\r\nimport { ISearchConfig } from '../../models/header.model';\r\nimport { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';\r\n\r\n/**\r\n * Construct a search page url from a query\r\n *\r\n * @param query Search term\r\n * @returns\r\n */\r\nexport const getSearchRedirectUrl = async (\r\n query: string,\r\n searchConfig: ISearchConfig,\r\n): Promise<string | undefined> => {\r\n const isTrackTraceId = await isParcel(query, searchConfig);\r\n return isTrackTraceId\r\n ? getTrackAndTraceRedirectUrl(query, searchConfig)\r\n : getSearchPageUrl(query);\r\n};\r\n\r\n/**\r\n * Stitch toghether the search page URL\r\n *\r\n * @param query Search term\r\n * @returns Search page URL\r\n */\r\nexport const getSearchPageUrl = (query: string): string | undefined => {\r\n if (state.localizedConfig?.header.search === undefined) {\r\n return;\r\n }\r\n const { searchPageUrl } = state.localizedConfig.header.search;\r\n const searchParam = `#q=${encodeURIComponent(query)}`;\r\n return `${searchPageUrl}${searchParam}&t=AllTab`;\r\n};\r\n\r\n/**\r\n * Equalize the length of two arrays while filling up empty slots up to max. length\r\n *\r\n * @param arrayA First array\r\n * @param arrayB Second array\r\n * @param maxLength Max. length of result array\r\n * @returns Array with two resulting arrays\r\n */\r\nexport const equalizeArrays = <A, B>(arrayA: A[], arrayB: B[], maxLength = 8): [A[], B[]] => {\r\n const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));\r\n return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];\r\n};\r\n"]}
1
+ {"version":3,"file":"search.service.js","sourceRoot":"","sources":["../../../../src/services/search/search.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,KAAa,EACb,YAA2B,EACE,EAAE;EAC/B,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;EAC3D,OAAO,cAAc;IACnB,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC;IAClD,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAsB,EAAE;;EACpE,IAAI,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAC,MAAM,MAAK,SAAS,EAAE;IACtD,OAAO;GACR;EACD,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;EAC9D,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;EACtD,OAAO,GAAG,aAAa,GAAG,WAAW,WAAW,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,MAAW,EAAE,MAAW,EAAE,SAAS,GAAG,CAAC,EAAc,EAAE;EAC1F,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;EACxF,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC","sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';\n\n/**\n * Construct a search page url from a query\n *\n * @param query Search term\n * @returns\n */\nexport const getSearchRedirectUrl = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<string | undefined> => {\n const isTrackTraceId = await isParcel(query, searchConfig);\n return isTrackTraceId\n ? getTrackAndTraceRedirectUrl(query, searchConfig)\n : getSearchPageUrl(query);\n};\n\n/**\n * Stitch toghether the search page URL\n *\n * @param query Search term\n * @returns Search page URL\n */\nexport const getSearchPageUrl = (query: string): string | undefined => {\n if (state.localizedConfig?.header.search === undefined) {\n return;\n }\n const { searchPageUrl } = state.localizedConfig.header.search;\n const searchParam = `#q=${encodeURIComponent(query)}`;\n return `${searchPageUrl}${searchParam}&t=AllTab`;\n};\n\n/**\n * Equalize the length of two arrays while filling up empty slots up to max. length\n *\n * @param arrayA First array\n * @param arrayB Second array\n * @param maxLength Max. length of result array\n * @returns Array with two resulting arrays\n */\nexport const equalizeArrays = <A, B>(arrayA: A[], arrayB: B[], maxLength = 8): [A[], B[]] => {\n const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));\n return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];\n};\n"]}
@@ -1,30 +1,30 @@
1
- /**
2
- * Check if an element with `text-overflow: ellipsis;` is fully displayed or concatenated
3
- * https://stackoverflow.com/questions/7738117/html-text-overflow-ellipsis-detection
4
- *
5
- * @param element Element to check. This is the element with the `text-overflow: ellipsis;` style
6
- * @returns
7
- */
8
- export const isConcatenated = (element) => element.offsetWidth < element.scrollWidth;
9
- /**
10
- * Check if user preferes reduced motion
11
- * Windows 10: `Windows Settings` > `Ease of Access` > `Display` > `Simplify and Personalize Windows` > `Show animations in Windows`
12
- *
13
- * @returns
14
- */
15
- export const userPrefersReducedMotion = () => {
16
- return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
17
- };
18
- /**
19
- * Check if an element has a transition applied
20
- *
21
- * @param element Element to check. This is the element with the `transition` style
22
- * @param transition Specific transition to check for (e.g. `translate`)
23
- * @returns
24
- */
25
- export const elementHasTransition = (element, transition) => {
26
- const style = window.getComputedStyle(element);
27
- // If not specified otherwise, the default value of transition is 'all 0s ease 0s',
28
- return style.transition !== 'all 0s ease 0s' && style.transition.includes(transition);
29
- };
30
- //# sourceMappingURL=ui.service.js.map
1
+ /**
2
+ * Check if an element with `text-overflow: ellipsis;` is fully displayed or concatenated
3
+ * https://stackoverflow.com/questions/7738117/html-text-overflow-ellipsis-detection
4
+ *
5
+ * @param element Element to check. This is the element with the `text-overflow: ellipsis;` style
6
+ * @returns
7
+ */
8
+ export const isConcatenated = (element) => element.offsetWidth < element.scrollWidth;
9
+ /**
10
+ * Check if user preferes reduced motion
11
+ * Windows 10: `Windows Settings` > `Ease of Access` > `Display` > `Simplify and Personalize Windows` > `Show animations in Windows`
12
+ *
13
+ * @returns
14
+ */
15
+ export const userPrefersReducedMotion = () => {
16
+ return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
17
+ };
18
+ /**
19
+ * Check if an element has a transition applied
20
+ *
21
+ * @param element Element to check. This is the element with the `transition` style
22
+ * @param transition Specific transition to check for (e.g. `translate`)
23
+ * @returns
24
+ */
25
+ export const elementHasTransition = (element, transition) => {
26
+ const style = window.getComputedStyle(element);
27
+ // If not specified otherwise, the default value of transition is 'all 0s ease 0s',
28
+ return style.transition !== 'all 0s ease 0s' && style.transition.includes(transition);
29
+ };
30
+ //# sourceMappingURL=ui.service.js.map