@swisspost/internet-header 1.5.0-beta.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 (508) hide show
  1. package/LICENSE +202 -0
  2. package/dist/cjs/_commonjsHelpers-537d719a.js +22 -0
  3. package/dist/cjs/_commonjsHelpers-537d719a.js.map +1 -0
  4. package/dist/cjs/bodyScrollLock.esm-59f17217.js +285 -0
  5. package/dist/cjs/bodyScrollLock.esm-59f17217.js.map +1 -0
  6. package/dist/cjs/if.component-313f59b8.js +12 -0
  7. package/dist/cjs/if.component-313f59b8.js.map +1 -0
  8. package/dist/cjs/index-5751975e.js +1735 -0
  9. package/dist/cjs/index-5751975e.js.map +1 -0
  10. package/dist/cjs/index-e7245d60.js +144 -0
  11. package/dist/cjs/index-e7245d60.js.map +1 -0
  12. package/dist/cjs/index.cjs.js +4 -0
  13. package/dist/cjs/index.cjs.js.map +1 -0
  14. package/dist/cjs/klp-widget.controller-675b23db.js +15862 -0
  15. package/dist/cjs/klp-widget.controller-675b23db.js.map +1 -0
  16. package/dist/cjs/language.service-a80ae01d.js +152 -0
  17. package/dist/cjs/language.service-a80ae01d.js.map +1 -0
  18. package/dist/cjs/loader.cjs.js +24 -0
  19. package/dist/cjs/loader.cjs.js.map +1 -0
  20. package/dist/cjs/post-klp-login-widget.cjs.entry.js +46 -0
  21. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -0
  22. package/dist/cjs/post-language-switch.cjs.entry.js +103 -0
  23. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -0
  24. package/dist/cjs/post-logo.cjs.entry.js +67 -0
  25. package/dist/cjs/post-logo.cjs.entry.js.map +1 -0
  26. package/dist/cjs/post-main-navigation.cjs.entry.js +243 -0
  27. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -0
  28. package/dist/cjs/post-meta-navigation.cjs.entry.js +28 -0
  29. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -0
  30. package/dist/cjs/post-search.cjs.entry.js +2739 -0
  31. package/dist/cjs/post-search.cjs.entry.js.map +1 -0
  32. package/dist/cjs/post-skiplinks.cjs.entry.js +54 -0
  33. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -0
  34. package/dist/cjs/store-47e14589.js +202 -0
  35. package/dist/cjs/store-47e14589.js.map +1 -0
  36. package/dist/cjs/svg-icon.component-10fbda11.js +10 -0
  37. package/dist/cjs/svg-icon.component-10fbda11.js.map +1 -0
  38. package/dist/cjs/svg-sprite.component-c3b454b3.js +48 -0
  39. package/dist/cjs/svg-sprite.component-c3b454b3.js.map +1 -0
  40. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +3488 -0
  41. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -0
  42. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +148 -0
  43. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -0
  44. package/dist/cjs/swisspost-internet-header.cjs.entry.js +704 -0
  45. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -0
  46. package/dist/cjs/swisspost-internet-header.cjs.js +28 -0
  47. package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -0
  48. package/dist/cjs/ui.service-db4a8252.js +35 -0
  49. package/dist/cjs/ui.service-db4a8252.js.map +1 -0
  50. package/dist/cjs/utils-b6014257.js +22 -0
  51. package/dist/cjs/utils-b6014257.js.map +1 -0
  52. package/dist/collection/assets/config/test-configuration.json +4067 -0
  53. package/dist/collection/assets/i18n/translations.js +38 -0
  54. package/dist/collection/assets/i18n/translations.js.map +1 -0
  55. package/dist/collection/assets/js/klp-login-widget.js +1716 -0
  56. package/dist/collection/assets/js/sockjs-client.js +5134 -0
  57. package/dist/collection/collection-manifest.json +27 -0
  58. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +11 -0
  59. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +1 -0
  60. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +42 -0
  61. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +1 -0
  62. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +8 -0
  63. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -0
  64. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +6 -0
  65. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +1 -0
  66. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +12 -0
  67. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +1 -0
  68. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +2724 -0
  69. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +253 -0
  70. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -0
  71. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +12 -0
  72. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +1 -0
  73. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +24 -0
  74. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +1 -0
  75. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +6 -0
  76. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +1 -0
  77. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +6 -0
  78. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +1 -0
  79. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +5 -0
  80. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +1 -0
  81. package/dist/collection/components/post-internet-footer/post-internet-footer.css +2501 -0
  82. package/dist/collection/components/post-internet-footer/post-internet-footer.js +86 -0
  83. package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -0
  84. package/dist/collection/components/post-internet-header/post-internet-header.css +340 -0
  85. package/dist/collection/components/post-internet-header/post-internet-header.js +676 -0
  86. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -0
  87. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +14 -0
  88. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +1 -0
  89. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +1341 -0
  90. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +67 -0
  91. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -0
  92. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +9 -0
  93. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -0
  94. package/dist/collection/components/post-language-switch/post-language-switch.css +321 -0
  95. package/dist/collection/components/post-language-switch/post-language-switch.js +186 -0
  96. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -0
  97. package/dist/collection/components/post-logo/logo-sprite.component.js +4 -0
  98. package/dist/collection/components/post-logo/logo-sprite.component.js.map +1 -0
  99. package/dist/collection/components/post-logo/post-logo.css +239 -0
  100. package/dist/collection/components/post-logo/post-logo.js +60 -0
  101. package/dist/collection/components/post-logo/post-logo.js.map +1 -0
  102. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +13 -0
  103. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -0
  104. package/dist/collection/components/post-main-navigation/post-main-navigation.css +592 -0
  105. package/dist/collection/components/post-main-navigation/post-main-navigation.js +347 -0
  106. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -0
  107. package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +290 -0
  108. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +67 -0
  109. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -0
  110. package/dist/collection/components/post-search/post-search.css +3028 -0
  111. package/dist/collection/components/post-search/post-search.js +362 -0
  112. package/dist/collection/components/post-search/post-search.js.map +1 -0
  113. package/dist/collection/components/post-skiplinks/post-skiplinks.css +20 -0
  114. package/dist/collection/components/post-skiplinks/post-skiplinks.js +51 -0
  115. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -0
  116. package/dist/collection/data/store.js +11 -0
  117. package/dist/collection/data/store.js.map +1 -0
  118. package/dist/collection/index.js +2 -0
  119. package/dist/collection/index.js.map +1 -0
  120. package/dist/collection/models/breadcrumbs.model.js +2 -0
  121. package/dist/collection/models/breadcrumbs.model.js.map +1 -0
  122. package/dist/collection/models/coveo.model.js +2 -0
  123. package/dist/collection/models/coveo.model.js.map +1 -0
  124. package/dist/collection/models/footer.model.js +2 -0
  125. package/dist/collection/models/footer.model.js.map +1 -0
  126. package/dist/collection/models/general.model.js +2 -0
  127. package/dist/collection/models/general.model.js.map +1 -0
  128. package/dist/collection/models/geocode.model.js +10 -0
  129. package/dist/collection/models/geocode.model.js.map +1 -0
  130. package/dist/collection/models/header.model.js +2 -0
  131. package/dist/collection/models/header.model.js.map +1 -0
  132. package/dist/collection/models/implementor.model.js +2 -0
  133. package/dist/collection/models/implementor.model.js.map +1 -0
  134. package/dist/collection/models/language.model.js +2 -0
  135. package/dist/collection/models/language.model.js.map +1 -0
  136. package/dist/collection/models/track-and-trace.model.js +2 -0
  137. package/dist/collection/models/track-and-trace.model.js.map +1 -0
  138. package/dist/collection/services/config.service.js +170 -0
  139. package/dist/collection/services/config.service.js.map +1 -0
  140. package/dist/collection/services/language.service.js +107 -0
  141. package/dist/collection/services/language.service.js.map +1 -0
  142. package/dist/collection/services/route.service.js +163 -0
  143. package/dist/collection/services/route.service.js.map +1 -0
  144. package/dist/collection/services/search/coveo.service.js +34 -0
  145. package/dist/collection/services/search/coveo.service.js.map +1 -0
  146. package/dist/collection/services/search/coveo.settings.js +19 -0
  147. package/dist/collection/services/search/coveo.settings.js.map +1 -0
  148. package/dist/collection/services/search/parcel.service.js +54 -0
  149. package/dist/collection/services/search/parcel.service.js.map +1 -0
  150. package/dist/collection/services/search/places.service.js +95 -0
  151. package/dist/collection/services/search/places.service.js.map +1 -0
  152. package/dist/collection/services/search/places.settings.js +16 -0
  153. package/dist/collection/services/search/places.settings.js.map +1 -0
  154. package/dist/collection/services/search/search-utilities.js +26 -0
  155. package/dist/collection/services/search/search-utilities.js.map +1 -0
  156. package/dist/collection/services/search/search.service.js +42 -0
  157. package/dist/collection/services/search/search.service.js.map +1 -0
  158. package/dist/collection/services/ui.service.js +30 -0
  159. package/dist/collection/services/ui.service.js.map +1 -0
  160. package/dist/collection/tests/setup-tests.js +14 -0
  161. package/dist/collection/tests/setup-tests.js.map +1 -0
  162. package/dist/collection/utils/highlighted.component.js +11 -0
  163. package/dist/collection/utils/highlighted.component.js.map +1 -0
  164. package/dist/collection/utils/if.component.js +7 -0
  165. package/dist/collection/utils/if.component.js.map +1 -0
  166. package/dist/collection/utils/svg-icon.component.js +3 -0
  167. package/dist/collection/utils/svg-icon.component.js.map +1 -0
  168. package/dist/collection/utils/svg-sprite.component.js +3 -0
  169. package/dist/collection/utils/svg-sprite.component.js.map +1 -0
  170. package/dist/collection/utils/utils.js +16 -0
  171. package/dist/collection/utils/utils.js.map +1 -0
  172. package/dist/components/_commonjsHelpers.js +19 -0
  173. package/dist/components/_commonjsHelpers.js.map +1 -0
  174. package/dist/components/bodyScrollLock.esm.js +281 -0
  175. package/dist/components/bodyScrollLock.esm.js.map +1 -0
  176. package/dist/components/index.d.ts +39 -0
  177. package/dist/components/index.js +36 -0
  178. package/dist/components/index.js.map +1 -0
  179. package/dist/components/index2.js +141 -0
  180. package/dist/components/index2.js.map +1 -0
  181. package/dist/components/klp-widget.controller.js +15860 -0
  182. package/dist/components/klp-widget.controller.js.map +1 -0
  183. package/dist/components/language.service.js +148 -0
  184. package/dist/components/language.service.js.map +1 -0
  185. package/dist/components/post-klp-login-widget.d.ts +11 -0
  186. package/dist/components/post-klp-login-widget.js +8 -0
  187. package/dist/components/post-klp-login-widget.js.map +1 -0
  188. package/dist/components/post-klp-login-widget2.js +59 -0
  189. package/dist/components/post-klp-login-widget2.js.map +1 -0
  190. package/dist/components/post-language-switch.d.ts +11 -0
  191. package/dist/components/post-language-switch.js +8 -0
  192. package/dist/components/post-language-switch.js.map +1 -0
  193. package/dist/components/post-language-switch2.js +118 -0
  194. package/dist/components/post-language-switch2.js.map +1 -0
  195. package/dist/components/post-logo.d.ts +11 -0
  196. package/dist/components/post-logo.js +8 -0
  197. package/dist/components/post-logo.js.map +1 -0
  198. package/dist/components/post-logo2.js +80 -0
  199. package/dist/components/post-logo2.js.map +1 -0
  200. package/dist/components/post-main-navigation.d.ts +11 -0
  201. package/dist/components/post-main-navigation.js +8 -0
  202. package/dist/components/post-main-navigation.js.map +1 -0
  203. package/dist/components/post-main-navigation2.js +260 -0
  204. package/dist/components/post-main-navigation2.js.map +1 -0
  205. package/dist/components/post-meta-navigation.d.ts +11 -0
  206. package/dist/components/post-meta-navigation.js +8 -0
  207. package/dist/components/post-meta-navigation.js.map +1 -0
  208. package/dist/components/post-meta-navigation2.js +42 -0
  209. package/dist/components/post-meta-navigation2.js.map +1 -0
  210. package/dist/components/post-search.d.ts +11 -0
  211. package/dist/components/post-search.js +8 -0
  212. package/dist/components/post-search.js.map +1 -0
  213. package/dist/components/post-search2.js +2763 -0
  214. package/dist/components/post-search2.js.map +1 -0
  215. package/dist/components/post-skiplinks.d.ts +11 -0
  216. package/dist/components/post-skiplinks.js +8 -0
  217. package/dist/components/post-skiplinks.js.map +1 -0
  218. package/dist/components/post-skiplinks2.js +64 -0
  219. package/dist/components/post-skiplinks2.js.map +1 -0
  220. package/dist/components/store.js +199 -0
  221. package/dist/components/store.js.map +1 -0
  222. package/dist/components/svg-icon.component.js +8 -0
  223. package/dist/components/svg-icon.component.js.map +1 -0
  224. package/dist/components/svg-sprite.component.js +46 -0
  225. package/dist/components/svg-sprite.component.js.map +1 -0
  226. package/dist/components/swisspost-internet-breadcrumbs.d.ts +11 -0
  227. package/dist/components/swisspost-internet-breadcrumbs.js +3509 -0
  228. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -0
  229. package/dist/components/swisspost-internet-footer.d.ts +11 -0
  230. package/dist/components/swisspost-internet-footer.js +164 -0
  231. package/dist/components/swisspost-internet-footer.js.map +1 -0
  232. package/dist/components/swisspost-internet-header.d.ts +11 -0
  233. package/dist/components/swisspost-internet-header.js +779 -0
  234. package/dist/components/swisspost-internet-header.js.map +1 -0
  235. package/dist/components/ui.service.js +32 -0
  236. package/dist/components/ui.service.js.map +1 -0
  237. package/dist/components/utils.js +19 -0
  238. package/dist/components/utils.js.map +1 -0
  239. package/dist/esm/_commonjsHelpers-9943807e.js +19 -0
  240. package/dist/esm/_commonjsHelpers-9943807e.js.map +1 -0
  241. package/dist/esm/bodyScrollLock.esm-afcc00e3.js +281 -0
  242. package/dist/esm/bodyScrollLock.esm-afcc00e3.js.map +1 -0
  243. package/dist/esm/if.component-542fb8c3.js +10 -0
  244. package/dist/esm/if.component-542fb8c3.js.map +1 -0
  245. package/dist/esm/index-066666f4.js +1704 -0
  246. package/dist/esm/index-066666f4.js.map +1 -0
  247. package/dist/esm/index-a75df186.js +141 -0
  248. package/dist/esm/index-a75df186.js.map +1 -0
  249. package/dist/esm/index.js +3 -0
  250. package/dist/esm/index.js.map +1 -0
  251. package/dist/esm/klp-widget.controller-be1eeb16.js +15860 -0
  252. package/dist/esm/klp-widget.controller-be1eeb16.js.map +1 -0
  253. package/dist/esm/language.service-e49858e0.js +148 -0
  254. package/dist/esm/language.service-e49858e0.js.map +1 -0
  255. package/dist/esm/loader.js +20 -0
  256. package/dist/esm/loader.js.map +1 -0
  257. package/dist/esm/polyfills/core-js.js +11 -0
  258. package/dist/esm/polyfills/css-shim.js +1 -0
  259. package/dist/esm/polyfills/dom.js +79 -0
  260. package/dist/esm/polyfills/es5-html-element.js +1 -0
  261. package/dist/esm/polyfills/index.js +34 -0
  262. package/dist/esm/polyfills/system.js +6 -0
  263. package/dist/esm/post-klp-login-widget.entry.js +42 -0
  264. package/dist/esm/post-klp-login-widget.entry.js.map +1 -0
  265. package/dist/esm/post-language-switch.entry.js +99 -0
  266. package/dist/esm/post-language-switch.entry.js.map +1 -0
  267. package/dist/esm/post-logo.entry.js +63 -0
  268. package/dist/esm/post-logo.entry.js.map +1 -0
  269. package/dist/esm/post-main-navigation.entry.js +239 -0
  270. package/dist/esm/post-main-navigation.entry.js.map +1 -0
  271. package/dist/esm/post-meta-navigation.entry.js +24 -0
  272. package/dist/esm/post-meta-navigation.entry.js.map +1 -0
  273. package/dist/esm/post-search.entry.js +2735 -0
  274. package/dist/esm/post-search.entry.js.map +1 -0
  275. package/dist/esm/post-skiplinks.entry.js +50 -0
  276. package/dist/esm/post-skiplinks.entry.js.map +1 -0
  277. package/dist/esm/store-d495dc07.js +199 -0
  278. package/dist/esm/store-d495dc07.js.map +1 -0
  279. package/dist/esm/svg-icon.component-1b1b27a2.js +8 -0
  280. package/dist/esm/svg-icon.component-1b1b27a2.js.map +1 -0
  281. package/dist/esm/svg-sprite.component-ec0ac38c.js +46 -0
  282. package/dist/esm/svg-sprite.component-ec0ac38c.js.map +1 -0
  283. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +3484 -0
  284. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -0
  285. package/dist/esm/swisspost-internet-footer.entry.js +144 -0
  286. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -0
  287. package/dist/esm/swisspost-internet-header.entry.js +700 -0
  288. package/dist/esm/swisspost-internet-header.entry.js.map +1 -0
  289. package/dist/esm/swisspost-internet-header.js +23 -0
  290. package/dist/esm/swisspost-internet-header.js.map +1 -0
  291. package/dist/esm/ui.service-1d9b0f51.js +32 -0
  292. package/dist/esm/ui.service-1d9b0f51.js.map +1 -0
  293. package/dist/esm/utils-5bf107ff.js +19 -0
  294. package/dist/esm/utils-5bf107ff.js.map +1 -0
  295. package/dist/esm-es5/_commonjsHelpers-9943807e.js +2 -0
  296. package/dist/esm-es5/_commonjsHelpers-9943807e.js.map +1 -0
  297. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js +2 -0
  298. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js.map +1 -0
  299. package/dist/esm-es5/if.component-542fb8c3.js +2 -0
  300. package/dist/esm-es5/if.component-542fb8c3.js.map +1 -0
  301. package/dist/esm-es5/index-066666f4.js +3 -0
  302. package/dist/esm-es5/index-066666f4.js.map +1 -0
  303. package/dist/esm-es5/index-a75df186.js +2 -0
  304. package/dist/esm-es5/index-a75df186.js.map +1 -0
  305. package/dist/esm-es5/index.js +2 -0
  306. package/dist/esm-es5/index.js.map +1 -0
  307. package/dist/esm-es5/klp-widget.controller-be1eeb16.js +27 -0
  308. package/dist/esm-es5/klp-widget.controller-be1eeb16.js.map +1 -0
  309. package/dist/esm-es5/language.service-e49858e0.js +2 -0
  310. package/dist/esm-es5/language.service-e49858e0.js.map +1 -0
  311. package/dist/esm-es5/loader.js +2 -0
  312. package/dist/esm-es5/loader.js.map +1 -0
  313. package/dist/esm-es5/post-klp-login-widget.entry.js +2 -0
  314. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -0
  315. package/dist/esm-es5/post-language-switch.entry.js +2 -0
  316. package/dist/esm-es5/post-language-switch.entry.js.map +1 -0
  317. package/dist/esm-es5/post-logo.entry.js +2 -0
  318. package/dist/esm-es5/post-logo.entry.js.map +1 -0
  319. package/dist/esm-es5/post-main-navigation.entry.js +2 -0
  320. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -0
  321. package/dist/esm-es5/post-meta-navigation.entry.js +2 -0
  322. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -0
  323. package/dist/esm-es5/post-search.entry.js +2 -0
  324. package/dist/esm-es5/post-search.entry.js.map +1 -0
  325. package/dist/esm-es5/post-skiplinks.entry.js +2 -0
  326. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -0
  327. package/dist/esm-es5/store-d495dc07.js +2 -0
  328. package/dist/esm-es5/store-d495dc07.js.map +1 -0
  329. package/dist/esm-es5/svg-icon.component-1b1b27a2.js +2 -0
  330. package/dist/esm-es5/svg-icon.component-1b1b27a2.js.map +1 -0
  331. package/dist/esm-es5/svg-sprite.component-ec0ac38c.js +2 -0
  332. package/dist/esm-es5/svg-sprite.component-ec0ac38c.js.map +1 -0
  333. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +6 -0
  334. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -0
  335. package/dist/esm-es5/swisspost-internet-footer.entry.js +2 -0
  336. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -0
  337. package/dist/esm-es5/swisspost-internet-header.entry.js +2 -0
  338. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -0
  339. package/dist/esm-es5/swisspost-internet-header.js +2 -0
  340. package/dist/esm-es5/swisspost-internet-header.js.map +1 -0
  341. package/dist/esm-es5/ui.service-1d9b0f51.js +2 -0
  342. package/dist/esm-es5/ui.service-1d9b0f51.js.map +1 -0
  343. package/dist/esm-es5/utils-5bf107ff.js +2 -0
  344. package/dist/esm-es5/utils-5bf107ff.js.map +1 -0
  345. package/dist/index.cjs.js +1 -0
  346. package/dist/index.js +1 -0
  347. package/dist/swisspost-internet-header/assets/config/test-configuration.json +4067 -0
  348. package/dist/swisspost-internet-header/index.esm.js +2 -0
  349. package/dist/swisspost-internet-header/index.esm.js.map +1 -0
  350. package/dist/swisspost-internet-header/p-00fd320e.entry.js +2 -0
  351. package/dist/swisspost-internet-header/p-00fd320e.entry.js.map +1 -0
  352. package/dist/swisspost-internet-header/p-0e2ec555.js +2 -0
  353. package/dist/swisspost-internet-header/p-0e2ec555.js.map +1 -0
  354. package/dist/swisspost-internet-header/p-112455b1.js +2 -0
  355. package/dist/swisspost-internet-header/p-112455b1.js.map +1 -0
  356. package/dist/swisspost-internet-header/p-17a47667.system.js +2 -0
  357. package/dist/swisspost-internet-header/p-17a47667.system.js.map +1 -0
  358. package/dist/swisspost-internet-header/p-1b8f9bc8.system.js +3 -0
  359. package/dist/swisspost-internet-header/p-1b8f9bc8.system.js.map +1 -0
  360. package/dist/swisspost-internet-header/p-2eb04045.entry.js +2 -0
  361. package/dist/swisspost-internet-header/p-2eb04045.entry.js.map +1 -0
  362. package/dist/swisspost-internet-header/p-3ba40afe.js +2 -0
  363. package/dist/swisspost-internet-header/p-3ba40afe.js.map +1 -0
  364. package/dist/swisspost-internet-header/p-3eb881c3.js +2 -0
  365. package/dist/swisspost-internet-header/p-3eb881c3.js.map +1 -0
  366. package/dist/swisspost-internet-header/p-43cbbf42.entry.js +2 -0
  367. package/dist/swisspost-internet-header/p-43cbbf42.entry.js.map +1 -0
  368. package/dist/swisspost-internet-header/p-4654b2af.system.js +2 -0
  369. package/dist/swisspost-internet-header/p-4654b2af.system.js.map +1 -0
  370. package/dist/swisspost-internet-header/p-4c9ec2d8.system.js +27 -0
  371. package/dist/swisspost-internet-header/p-4c9ec2d8.system.js.map +1 -0
  372. package/dist/swisspost-internet-header/p-5032057e.js +3 -0
  373. package/dist/swisspost-internet-header/p-5032057e.js.map +1 -0
  374. package/dist/swisspost-internet-header/p-50ea2036.system.js +2 -0
  375. package/dist/swisspost-internet-header/p-50ea2036.system.js.map +1 -0
  376. package/dist/swisspost-internet-header/p-549b62ba.system.js +2 -0
  377. package/dist/swisspost-internet-header/p-549b62ba.system.js.map +1 -0
  378. package/dist/swisspost-internet-header/p-5e43c5e0.js +2 -0
  379. package/dist/swisspost-internet-header/p-5e43c5e0.js.map +1 -0
  380. package/dist/swisspost-internet-header/p-69c64c29.js +2 -0
  381. package/dist/swisspost-internet-header/p-69c64c29.js.map +1 -0
  382. package/dist/swisspost-internet-header/p-6a09e0b4.system.entry.js +2 -0
  383. package/dist/swisspost-internet-header/p-6a09e0b4.system.entry.js.map +1 -0
  384. package/dist/swisspost-internet-header/p-74932c29.entry.js +6 -0
  385. package/dist/swisspost-internet-header/p-74932c29.entry.js.map +1 -0
  386. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js +2 -0
  387. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js.map +1 -0
  388. package/dist/swisspost-internet-header/p-78f653be.system.entry.js +2 -0
  389. package/dist/swisspost-internet-header/p-78f653be.system.entry.js.map +1 -0
  390. package/dist/swisspost-internet-header/p-7e653a26.js +27 -0
  391. package/dist/swisspost-internet-header/p-7e653a26.js.map +1 -0
  392. package/dist/swisspost-internet-header/p-7f16a46b.entry.js +2 -0
  393. package/dist/swisspost-internet-header/p-7f16a46b.entry.js.map +1 -0
  394. package/dist/swisspost-internet-header/p-8717445f.entry.js +2 -0
  395. package/dist/swisspost-internet-header/p-8717445f.entry.js.map +1 -0
  396. package/dist/swisspost-internet-header/p-883f9547.system.entry.js +2 -0
  397. package/dist/swisspost-internet-header/p-883f9547.system.entry.js.map +1 -0
  398. package/dist/swisspost-internet-header/p-9509f6c7.system.js +2 -0
  399. package/dist/swisspost-internet-header/p-9509f6c7.system.js.map +1 -0
  400. package/dist/swisspost-internet-header/p-9d0a7039.entry.js +2 -0
  401. package/dist/swisspost-internet-header/p-9d0a7039.entry.js.map +1 -0
  402. package/dist/swisspost-internet-header/p-a119b38d.js +2 -0
  403. package/dist/swisspost-internet-header/p-a119b38d.js.map +1 -0
  404. package/dist/swisspost-internet-header/p-a4160d23.entry.js +2 -0
  405. package/dist/swisspost-internet-header/p-a4160d23.entry.js.map +1 -0
  406. package/dist/swisspost-internet-header/p-a51ad207.system.entry.js +2 -0
  407. package/dist/swisspost-internet-header/p-a51ad207.system.entry.js.map +1 -0
  408. package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js +2 -0
  409. package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js.map +1 -0
  410. package/dist/swisspost-internet-header/p-b3014611.system.js +2 -0
  411. package/dist/swisspost-internet-header/p-b3014611.system.js.map +1 -0
  412. package/dist/swisspost-internet-header/p-bdabd6ac.js +2 -0
  413. package/dist/swisspost-internet-header/p-bdabd6ac.js.map +1 -0
  414. package/dist/swisspost-internet-header/p-bdfd2460.entry.js +2 -0
  415. package/dist/swisspost-internet-header/p-bdfd2460.entry.js.map +1 -0
  416. package/dist/swisspost-internet-header/p-c29ec122.system.js +2 -0
  417. package/dist/swisspost-internet-header/p-c29ec122.system.js.map +1 -0
  418. package/dist/swisspost-internet-header/p-c69923cd.system.js +2 -0
  419. package/dist/swisspost-internet-header/p-c69923cd.system.js.map +1 -0
  420. package/dist/swisspost-internet-header/p-c8296f63.system.js +2 -0
  421. package/dist/swisspost-internet-header/p-c8296f63.system.js.map +1 -0
  422. package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js +2 -0
  423. package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js.map +1 -0
  424. package/dist/swisspost-internet-header/p-cb06a633.system.entry.js +2 -0
  425. package/dist/swisspost-internet-header/p-cb06a633.system.entry.js.map +1 -0
  426. package/dist/swisspost-internet-header/p-cb3de015.system.entry.js +2 -0
  427. package/dist/swisspost-internet-header/p-cb3de015.system.entry.js.map +1 -0
  428. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js +7 -0
  429. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js.map +1 -0
  430. package/dist/swisspost-internet-header/p-ddcb8258.entry.js +2 -0
  431. package/dist/swisspost-internet-header/p-ddcb8258.entry.js.map +1 -0
  432. package/dist/swisspost-internet-header/p-ec80c8fc.js +2 -0
  433. package/dist/swisspost-internet-header/p-ec80c8fc.js.map +1 -0
  434. package/dist/swisspost-internet-header/p-ee915bbe.system.js +2 -0
  435. package/dist/swisspost-internet-header/p-ee915bbe.system.js.map +1 -0
  436. package/dist/swisspost-internet-header/p-eeff8b03.js +2 -0
  437. package/dist/swisspost-internet-header/p-eeff8b03.js.map +1 -0
  438. package/dist/swisspost-internet-header/p-f4ff1e9e.system.js +2 -0
  439. package/dist/swisspost-internet-header/p-f4ff1e9e.system.js.map +1 -0
  440. package/dist/swisspost-internet-header/p-f887c8bb.system.js +2 -0
  441. package/dist/swisspost-internet-header/p-f887c8bb.system.js.map +1 -0
  442. package/dist/swisspost-internet-header/swisspost-internet-header.css +29 -0
  443. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +2 -0
  444. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -0
  445. package/dist/swisspost-internet-header/swisspost-internet-header.js +131 -0
  446. package/dist/types/assets/i18n/translations.d.ts +37 -0
  447. package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +9 -0
  448. package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +12 -0
  449. package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +7 -0
  450. package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +6 -0
  451. package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +16 -0
  452. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +45 -0
  453. package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +5 -0
  454. package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +6 -0
  455. package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +4 -0
  456. package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +5 -0
  457. package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +5 -0
  458. package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +10 -0
  459. package/dist/types/components/post-internet-header/post-internet-header.d.ts +124 -0
  460. package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +3 -0
  461. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +10 -0
  462. package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +6 -0
  463. package/dist/types/components/post-language-switch/post-language-switch.d.ts +27 -0
  464. package/dist/types/components/post-logo/logo-sprite.component.d.ts +4 -0
  465. package/dist/types/components/post-logo/post-logo.d.ts +11 -0
  466. package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +8 -0
  467. package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +48 -0
  468. package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +5 -0
  469. package/dist/types/components/post-search/post-search.d.ts +61 -0
  470. package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +9 -0
  471. package/dist/types/components.d.ts +365 -0
  472. package/dist/types/data/store.d.ts +16 -0
  473. package/dist/types/index.d.ts +1 -0
  474. package/dist/types/models/breadcrumbs.model.d.ts +36 -0
  475. package/dist/types/models/coveo.model.d.ts +22 -0
  476. package/dist/types/models/footer.model.d.ts +48 -0
  477. package/dist/types/models/general.model.d.ts +46 -0
  478. package/dist/types/models/geocode.model.d.ts +52 -0
  479. package/dist/types/models/header.model.d.ts +163 -0
  480. package/dist/types/models/implementor.model.d.ts +22 -0
  481. package/dist/types/models/language.model.d.ts +6 -0
  482. package/dist/types/models/track-and-trace.model.d.ts +25 -0
  483. package/dist/types/services/config.service.d.ts +56 -0
  484. package/dist/types/services/language.service.d.ts +65 -0
  485. package/dist/types/services/route.service.d.ts +39 -0
  486. package/dist/types/services/search/coveo.service.d.ts +9 -0
  487. package/dist/types/services/search/coveo.settings.d.ts +2 -0
  488. package/dist/types/services/search/parcel.service.d.ts +28 -0
  489. package/dist/types/services/search/places.service.d.ts +24 -0
  490. package/dist/types/services/search/places.settings.d.ts +3 -0
  491. package/dist/types/services/search/search-utilities.d.ts +15 -0
  492. package/dist/types/services/search/search.service.d.ts +24 -0
  493. package/dist/types/services/ui.service.d.ts +23 -0
  494. package/dist/types/stencil-public-runtime.d.ts +1637 -0
  495. package/dist/types/tests/setup-tests.d.ts +0 -0
  496. package/dist/types/utils/highlighted.component.d.ts +4 -0
  497. package/dist/types/utils/if.component.d.ts +4 -0
  498. package/dist/types/utils/svg-icon.component.d.ts +4 -0
  499. package/dist/types/utils/svg-sprite.component.d.ts +1 -0
  500. package/dist/types/utils/utils.d.ts +8 -0
  501. package/loader/cdn.js +3 -0
  502. package/loader/index.cjs.js +3 -0
  503. package/loader/index.d.ts +21 -0
  504. package/loader/index.es2017.js +3 -0
  505. package/loader/index.js +4 -0
  506. package/loader/package.json +11 -0
  507. package/package.json +71 -0
  508. package/readme.md +15 -0
@@ -0,0 +1,253 @@
1
+ import { Host, h } from '@stencil/core';
2
+ import { debounce } from 'throttle-debounce';
3
+ import { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';
4
+ import { SvgIcon } from '../../utils/svg-icon.component';
5
+ import { state } from '../../data/store';
6
+ import { OverlayComponent } from './components/overlay.component';
7
+ import { iframeResizer } from 'iframe-resizer';
8
+ import { SvgSprite } from '../../utils/svg-sprite.component';
9
+ import { BreadcrumbList } from './components/breadcrumb-list.component';
10
+ import { prefersReducedMotion } from '../../utils/utils';
11
+ export class PostInternetBreadcrumbs {
12
+ constructor() {
13
+ this.customItems = undefined;
14
+ this.customBreadcrumbItems = undefined;
15
+ this.overlayVisible = undefined;
16
+ this.isConcatenated = undefined;
17
+ this.dropdownOpen = false;
18
+ this.refsReady = false;
19
+ }
20
+ connectedCallback() {
21
+ this.debouncedResize = debounce(200, this.handleResize.bind(this));
22
+ window.addEventListener('resize', this.debouncedResize, { passive: true });
23
+ }
24
+ disconnectedCallback() {
25
+ window.removeEventListener('resize', this.debouncedResize);
26
+ window.removeEventListener('click', this.handleWindowClick);
27
+ clearAllBodyScrollLocks();
28
+ }
29
+ async componentWillLoad() {
30
+ // Wait for the config to arrive, then render the header
31
+ try {
32
+ this.customBreadcrumbItems =
33
+ typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;
34
+ }
35
+ catch (error) {
36
+ console.error(error);
37
+ }
38
+ }
39
+ componentDidLoad() {
40
+ // Initially check if breadcrumb items are concatenated
41
+ window.requestAnimationFrame(() => {
42
+ this.handleResize();
43
+ });
44
+ }
45
+ handleCustomConfigChage(newValue) {
46
+ try {
47
+ this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;
48
+ }
49
+ catch (error) {
50
+ console.error(error);
51
+ }
52
+ }
53
+ handleResize() {
54
+ // Catch and exclude vertical resize events, e.g. scrolling in iPhone
55
+ if (window.innerWidth === this.lastWindowWidth) {
56
+ return;
57
+ }
58
+ this.lastWindowWidth = window.innerWidth;
59
+ this.checkConcatenation();
60
+ }
61
+ checkConcatenation() {
62
+ if (this.controlNavRef && this.visibleNavRef) {
63
+ this.refsReady = true;
64
+ // Delay the check
65
+ window.requestAnimationFrame(() => {
66
+ if (this.controlNavRef && this.visibleNavRef) {
67
+ this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;
68
+ }
69
+ });
70
+ }
71
+ }
72
+ toggleOverlay(overlay, force) {
73
+ var _a;
74
+ const newVisibility = force !== null && force !== void 0 ? force : !this.overlayVisible;
75
+ if (newVisibility) {
76
+ // Will trigger overlayRef() once the HTLM is rendered
77
+ this.overlayVisible = newVisibility;
78
+ this.currentOverlay = overlay;
79
+ this.setBodyScroll(overlay);
80
+ }
81
+ else {
82
+ const activeToggler = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.breadcrumb-buttons [aria-expanded="true"]');
83
+ if (this.openAnimation && this.loadedAnimation) {
84
+ this.openAnimation.reverse();
85
+ this.loadedAnimation.reverse();
86
+ // Delay hiding overlay until after the animation finishes
87
+ Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {
88
+ if (activeToggler) {
89
+ activeToggler.focus();
90
+ }
91
+ this.overlayVisible = newVisibility;
92
+ this.setBodyScroll(overlay);
93
+ });
94
+ }
95
+ }
96
+ }
97
+ /**
98
+ * Disable or re-enable body scrolling, depending on whether overlay is visible or not
99
+ */
100
+ setBodyScroll(overlay) {
101
+ if (this.overlayVisible) {
102
+ disableBodyScroll(overlay, { reserveScrollBarGap: true });
103
+ }
104
+ else {
105
+ enableBodyScroll(overlay);
106
+ }
107
+ }
108
+ toggleDropdown(force) {
109
+ this.dropdownOpen = force !== null && force !== void 0 ? force : !this.dropdownOpen;
110
+ if (this.dropdownOpen) {
111
+ requestAnimationFrame(() => {
112
+ document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });
113
+ });
114
+ }
115
+ }
116
+ handleWindowClick() {
117
+ this.toggleDropdown(false);
118
+ }
119
+ registerIFrameResizer(iFrame) {
120
+ if (!iFrame) {
121
+ return;
122
+ }
123
+ iFrame.addEventListener('load', () => {
124
+ var _a, _b, _c;
125
+ iframeResizer({
126
+ heightCalculationMethod: 'taggedElement',
127
+ scrolling: true,
128
+ checkOrigin: false,
129
+ }, iFrame);
130
+ const duration = prefersReducedMotion ? 0 : 300;
131
+ this.loadedAnimation = (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.animate([{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }], { duration, fill: 'forwards' });
132
+ (_b = iFrame.parentElement) === null || _b === void 0 ? void 0 : _b.classList.add('loaded');
133
+ (_c = this.loadedAnimation) === null || _c === void 0 ? void 0 : _c.finished.then(() => {
134
+ var _a;
135
+ (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.focus();
136
+ });
137
+ });
138
+ }
139
+ /**
140
+ * Reference function for the overlay element got called. It is either null (overlay closed)
141
+ * or contains the overlay element as parameter.
142
+ * @param e Overlay element or null
143
+ * @returns void
144
+ */
145
+ overlayRef(e) {
146
+ if (!e) {
147
+ return;
148
+ }
149
+ const duration = prefersReducedMotion ? 0 : 500;
150
+ this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {
151
+ duration,
152
+ fill: 'forwards',
153
+ });
154
+ }
155
+ handleKeyDown(event) {
156
+ if (event.key.toLowerCase() === 'escape') {
157
+ this.toggleOverlay(this.currentOverlay, false);
158
+ }
159
+ }
160
+ handleToggleDropdown() {
161
+ this.toggleDropdown();
162
+ }
163
+ handleToggleOverlay() {
164
+ this.toggleOverlay(this.currentOverlay, false);
165
+ }
166
+ handleControlNavRef(element) {
167
+ this.controlNavRef = element;
168
+ this.checkConcatenation();
169
+ }
170
+ handleVisibleNavRef(element) {
171
+ this.visibleNavRef = element;
172
+ this.checkConcatenation();
173
+ }
174
+ render() {
175
+ // There is something wrong entirely
176
+ if (!state) {
177
+ console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);
178
+ return null;
179
+ }
180
+ // Config is not loaded yet
181
+ if (!state.localizedConfig) {
182
+ return null;
183
+ }
184
+ // Config has loaded but there is no breadcrumbs config
185
+ if (!state.localizedConfig.breadcrumb) {
186
+ console.warn(`Internet Header: Current project "${state.projectId}" does not include a breadcrumb config. The breadcrumbs will not be rendered. Remove `, document.querySelector('swisspost-internet-breadcrumbs'), `from your markup or configure the breadcrumbs in your portal config to stop seeing this warning.`);
187
+ return null;
188
+ }
189
+ const breadcrumbConfig = state.localizedConfig.breadcrumb;
190
+ const items = this.customBreadcrumbItems !== undefined
191
+ ? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]
192
+ : breadcrumbConfig.items;
193
+ return (h(Host, null, h(SvgSprite, null), h("div", { class: "breadcrumbs" }, h("div", { class: "hidden-control-breadcrumbs", "aria-hidden": "true", tabindex: "-1" }, h("nav", { class: "breadcrumbs-nav", ref: e => e !== undefined && this.handleControlNavRef(e) }, h(BreadcrumbList, { items: items, focusable: false, clickHandler: () => { } }))), h("h2", { class: "visually-hidden" }, breadcrumbConfig.a11yLabel), h("nav", { ref: e => e !== undefined && this.handleVisibleNavRef(e), class: {
194
+ 'breadcrumbs-nav': true,
195
+ 'visually-hidden': !this.refsReady,
196
+ } }, h(BreadcrumbList, { items: items, dropdownOpen: this.dropdownOpen, isConcatenated: this.isConcatenated, clickHandler: () => this.handleToggleDropdown() })), h("div", { class: "breadcrumb-buttons" }, breadcrumbConfig.buttons.map(button => (h("button", { class: "btn btn-secondary btn-icon", key: button.text, "aria-expanded": `${!!this.overlayVisible && this.currentOverlay === button.overlay}`, onClick: () => this.toggleOverlay(button.overlay, true) }, h(SvgIcon, { name: button.svgIcon.name }), h("span", { class: "visually-hidden" }, button.text))))), this.overlayVisible && (h(OverlayComponent, { overlayRef: e => e !== undefined && this.overlayRef(e), iFrameRef: e => e !== undefined && this.registerIFrameResizer(e), overlay: this.currentOverlay, onClick: () => this.handleToggleOverlay(), onKeyDown: (e) => this.handleKeyDown(e), closeButtonText: state.localizedConfig.header.translations.closeButtonText }))), h("slot", null)));
197
+ }
198
+ static get is() { return "swisspost-internet-breadcrumbs"; }
199
+ static get encapsulation() { return "shadow"; }
200
+ static get originalStyleUrls() {
201
+ return {
202
+ "$": ["post-internet-breadcrumbs.scss"]
203
+ };
204
+ }
205
+ static get styleUrls() {
206
+ return {
207
+ "$": ["post-internet-breadcrumbs.css"]
208
+ };
209
+ }
210
+ static get properties() {
211
+ return {
212
+ "customItems": {
213
+ "type": "string",
214
+ "mutable": false,
215
+ "complexType": {
216
+ "original": "string | IBreadcrumbItem[]",
217
+ "resolved": "IBreadcrumbItem[] | string | undefined",
218
+ "references": {
219
+ "IBreadcrumbItem": {
220
+ "location": "import",
221
+ "path": "../../models/breadcrumbs.model"
222
+ }
223
+ }
224
+ },
225
+ "required": false,
226
+ "optional": true,
227
+ "docs": {
228
+ "tags": [],
229
+ "text": ""
230
+ },
231
+ "attribute": "custom-items",
232
+ "reflect": false
233
+ }
234
+ };
235
+ }
236
+ static get states() {
237
+ return {
238
+ "customBreadcrumbItems": {},
239
+ "overlayVisible": {},
240
+ "isConcatenated": {},
241
+ "dropdownOpen": {},
242
+ "refsReady": {}
243
+ };
244
+ }
245
+ static get elementRef() { return "host"; }
246
+ static get watchers() {
247
+ return [{
248
+ "propName": "customItems",
249
+ "methodName": "handleCustomConfigChage"
250
+ }];
251
+ }
252
+ }
253
+ //# sourceMappingURL=post-internet-breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-internet-breadcrumbs.js","sourceRoot":"","sources":["../../../../src/components/post-internet-breadcrumbs/post-internet-breadcrumbs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Element, Watch } from '@stencil/core';\r\nimport { debounce } from 'throttle-debounce';\r\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\r\nimport { SvgIcon } from '../../utils/svg-icon.component';\r\nimport { state } from '../../data/store';\r\nimport { OverlayComponent } from './components/overlay.component';\r\nimport { iframeResizer } from 'iframe-resizer';\r\nimport { IBreadcrumbOverlay, IBreadcrumbItem } from '../../models/breadcrumbs.model';\r\nimport { SvgSprite } from '../../utils/svg-sprite.component';\r\nimport { BreadcrumbList } from './components/breadcrumb-list.component';\r\nimport { prefersReducedMotion } from '../../utils/utils';\r\n\r\n@Component({\r\n tag: 'swisspost-internet-breadcrumbs',\r\n styleUrl: 'post-internet-breadcrumbs.scss',\r\n shadow: true,\r\n})\r\nexport class PostInternetBreadcrumbs {\r\n @Prop() customItems?: string | IBreadcrumbItem[];\r\n @State() customBreadcrumbItems?: IBreadcrumbItem[];\r\n @State() overlayVisible: boolean;\r\n @State() isConcatenated: boolean; // Don't set an initial value, this has to be calculated first, otherwise reactivity problems ensue\r\n @State() dropdownOpen: boolean = false;\r\n @State() refsReady: boolean = false;\r\n @Element() host: Element;\r\n\r\n private controlNavRef?: HTMLElement;\r\n private visibleNavRef?: HTMLElement;\r\n private currentOverlay: IBreadcrumbOverlay;\r\n private debouncedResize: debounce<() => void>;\r\n private lastWindowWidth: number;\r\n private openAnimation: Animation;\r\n private loadedAnimation: Animation | undefined;\r\n\r\n connectedCallback() {\r\n this.debouncedResize = debounce(200, this.handleResize.bind(this));\r\n window.addEventListener('resize', this.debouncedResize, { passive: true });\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('resize', this.debouncedResize);\r\n window.removeEventListener('click', this.handleWindowClick);\r\n clearAllBodyScrollLocks();\r\n }\r\n\r\n async componentWillLoad() {\r\n // Wait for the config to arrive, then render the header\r\n try {\r\n this.customBreadcrumbItems =\r\n typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n // Initially check if breadcrumb items are concatenated\r\n window.requestAnimationFrame(() => {\r\n this.handleResize();\r\n });\r\n }\r\n\r\n @Watch('customItems')\r\n handleCustomConfigChage(newValue: string | IBreadcrumbItem[]) {\r\n try {\r\n this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n handleResize() {\r\n // Catch and exclude vertical resize events, e.g. scrolling in iPhone\r\n if (window.innerWidth === this.lastWindowWidth) {\r\n return;\r\n }\r\n this.lastWindowWidth = window.innerWidth;\r\n this.checkConcatenation();\r\n }\r\n\r\n checkConcatenation() {\r\n if (this.controlNavRef && this.visibleNavRef) {\r\n this.refsReady = true;\r\n\r\n // Delay the check\r\n window.requestAnimationFrame(() => {\r\n if (this.controlNavRef && this.visibleNavRef) {\r\n this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;\r\n }\r\n });\r\n }\r\n }\r\n\r\n toggleOverlay(overlay: IBreadcrumbOverlay, force?: boolean) {\r\n const newVisibility = force ?? !this.overlayVisible;\r\n\r\n if (newVisibility) {\r\n // Will trigger overlayRef() once the HTLM is rendered\r\n this.overlayVisible = newVisibility;\r\n this.currentOverlay = overlay;\r\n this.setBodyScroll(overlay);\r\n } else {\r\n const activeToggler = this.host.shadowRoot?.querySelector<HTMLElement>(\r\n '.breadcrumb-buttons [aria-expanded=\"true\"]',\r\n );\r\n\r\n if (this.openAnimation && this.loadedAnimation) {\r\n this.openAnimation.reverse();\r\n this.loadedAnimation.reverse();\r\n\r\n // Delay hiding overlay until after the animation finishes\r\n Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {\r\n if (activeToggler) {\r\n activeToggler.focus();\r\n }\r\n this.overlayVisible = newVisibility;\r\n this.setBodyScroll(overlay);\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Disable or re-enable body scrolling, depending on whether overlay is visible or not\r\n */\r\n setBodyScroll(overlay: IBreadcrumbOverlay) {\r\n if (this.overlayVisible) {\r\n disableBodyScroll(overlay, { reserveScrollBarGap: true });\r\n } else {\r\n enableBodyScroll(overlay);\r\n }\r\n }\r\n\r\n toggleDropdown(force?: boolean) {\r\n this.dropdownOpen = force ?? !this.dropdownOpen;\r\n\r\n if (this.dropdownOpen) {\r\n requestAnimationFrame(() => {\r\n document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });\r\n });\r\n }\r\n }\r\n\r\n handleWindowClick() {\r\n this.toggleDropdown(false);\r\n }\r\n\r\n registerIFrameResizer(iFrame: HTMLIFrameElement) {\r\n if (!iFrame) {\r\n return;\r\n }\r\n\r\n iFrame.addEventListener('load', () => {\r\n iframeResizer(\r\n {\r\n heightCalculationMethod: 'taggedElement',\r\n scrolling: true,\r\n checkOrigin: false,\r\n },\r\n iFrame,\r\n );\r\n const duration = prefersReducedMotion ? 0 : 300;\r\n this.loadedAnimation = iFrame.parentElement?.animate(\r\n [{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }],\r\n { duration, fill: 'forwards' },\r\n );\r\n iFrame.parentElement?.classList.add('loaded');\r\n this.loadedAnimation?.finished.then(() => {\r\n iFrame.parentElement?.focus();\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Reference function for the overlay element got called. It is either null (overlay closed)\r\n * or contains the overlay element as parameter.\r\n * @param e Overlay element or null\r\n * @returns void\r\n */\r\n overlayRef(e: HTMLElement | undefined) {\r\n if (!e) {\r\n return;\r\n }\r\n\r\n const duration = prefersReducedMotion ? 0 : 500;\r\n this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {\r\n duration,\r\n fill: 'forwards',\r\n });\r\n }\r\n\r\n private handleKeyDown(event: KeyboardEvent) {\r\n if (event.key.toLowerCase() === 'escape') {\r\n this.toggleOverlay(this.currentOverlay, false);\r\n }\r\n }\r\n\r\n private handleToggleDropdown() {\r\n this.toggleDropdown();\r\n }\r\n\r\n private handleToggleOverlay() {\r\n this.toggleOverlay(this.currentOverlay, false);\r\n }\r\n\r\n private handleControlNavRef(element: HTMLElement) {\r\n this.controlNavRef = element;\r\n this.checkConcatenation();\r\n }\r\n\r\n private handleVisibleNavRef(element: HTMLElement) {\r\n this.visibleNavRef = element;\r\n this.checkConcatenation();\r\n }\r\n\r\n render() {\r\n // There is something wrong entirely\r\n if (!state) {\r\n console.warn(\r\n `Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`,\r\n );\r\n return null;\r\n }\r\n\r\n // Config is not loaded yet\r\n if (!state.localizedConfig) {\r\n return null;\r\n }\r\n\r\n // Config has loaded but there is no breadcrumbs config\r\n if (!state.localizedConfig.breadcrumb) {\r\n console.warn(\r\n `Internet Header: Current project \"${state.projectId}\" does not include a breadcrumb config. The breadcrumbs will not be rendered. Remove `,\r\n document.querySelector('swisspost-internet-breadcrumbs'),\r\n `from your markup or configure the breadcrumbs in your portal config to stop seeing this warning.`,\r\n );\r\n return null;\r\n }\r\n\r\n const breadcrumbConfig = state.localizedConfig.breadcrumb;\r\n const items =\r\n this.customBreadcrumbItems !== undefined\r\n ? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]\r\n : breadcrumbConfig.items;\r\n\r\n return (\r\n <Host>\r\n <SvgSprite />\r\n <div class=\"breadcrumbs\">\r\n <div class=\"hidden-control-breadcrumbs\" aria-hidden=\"true\" tabindex=\"-1\">\r\n <nav class=\"breadcrumbs-nav\" ref={e => e !== undefined && this.handleControlNavRef(e)}>\r\n <BreadcrumbList\r\n items={items}\r\n focusable={false}\r\n clickHandler={() => {}}\r\n ></BreadcrumbList>\r\n </nav>\r\n </div>\r\n <h2 class=\"visually-hidden\">{breadcrumbConfig.a11yLabel}</h2>\r\n <nav\r\n ref={e => e !== undefined && this.handleVisibleNavRef(e)}\r\n class={{\r\n 'breadcrumbs-nav': true,\r\n 'visually-hidden': !this.refsReady,\r\n }}\r\n >\r\n <BreadcrumbList\r\n items={items}\r\n dropdownOpen={this.dropdownOpen}\r\n isConcatenated={this.isConcatenated}\r\n clickHandler={() => this.handleToggleDropdown()}\r\n ></BreadcrumbList>\r\n </nav>\r\n <div class=\"breadcrumb-buttons\">\r\n {breadcrumbConfig.buttons.map(button => (\r\n <button\r\n class=\"btn btn-secondary btn-icon\"\r\n key={button.text}\r\n aria-expanded={`${!!this.overlayVisible && this.currentOverlay === button.overlay}`}\r\n onClick={() => this.toggleOverlay(button.overlay, true)}\r\n >\r\n <SvgIcon name={button.svgIcon.name}></SvgIcon>\r\n <span class=\"visually-hidden\">{button.text}</span>\r\n </button>\r\n ))}\r\n </div>\r\n {this.overlayVisible && (\r\n <OverlayComponent\r\n overlayRef={e => e !== undefined && this.overlayRef(e)}\r\n iFrameRef={e => e !== undefined && this.registerIFrameResizer(e)}\r\n overlay={this.currentOverlay}\r\n onClick={() => this.handleToggleOverlay()}\r\n onKeyDown={(e: KeyboardEvent) => this.handleKeyDown(e)}\r\n closeButtonText={state.localizedConfig.header.translations.closeButtonText}\r\n ></OverlayComponent>\r\n )}\r\n </div>\r\n <slot></slot>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -0,0 +1,12 @@
1
+ import { h } from '@stencil/core';
2
+ import { PostFooterBlockSocials } from './post-footer-block-socials.component';
3
+ export const PostFooterBlockAddress = (props) => {
4
+ return (h("div", { class: "block-address" }, h("h3", null, props.block.title), props.block.content &&
5
+ props.block.content
6
+ .filter(content => content.address)
7
+ .map(content => (h("address", { class: "vcard", key: content.address }, h("span", { class: "adr", innerHTML: content.address })))), props.block.content &&
8
+ props.block.content
9
+ .filter(content => content.links && content.links.length)
10
+ .map(content => h(PostFooterBlockSocials, { key: content.name, content: content }))));
11
+ };
12
+ //# sourceMappingURL=post-footer-block-address.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-footer-block-address.component.js","sourceRoot":"","sources":["../../../../../src/components/post-internet-footer/components/post-footer-block-address.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAA0C,EAAE,EAAE;EACnF,OAAO,CACL,WAAK,KAAK,EAAC,eAAe;IACxB,cAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAM;IAC3B,KAAK,CAAC,KAAK,CAAC,OAAO;MAClB,KAAK,CAAC,KAAK,CAAC,OAAO;SAChB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;SAClC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CACd,eAAS,KAAK,EAAC,OAAO,EAAC,GAAG,EAAE,OAAO,CAAC,OAAO;QACzC,YAAM,KAAK,EAAC,KAAK,EAAC,SAAS,EAAE,OAAO,CAAC,OAAO,GAAS,CAC7C,CACX,CAAC;IACL,KAAK,CAAC,KAAK,CAAC,OAAO;MAClB,KAAK,CAAC,KAAK,CAAC,OAAO;SAChB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;SACxD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAC,sBAAsB,IAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAChF,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { h } from '@stencil/core';\r\nimport { BlockEntity } from '../../../models/footer.model';\r\nimport { PostFooterBlockSocials } from './post-footer-block-socials.component';\r\n\r\nexport const PostFooterBlockAddress = (props: { block: BlockEntity; key: string }) => {\r\n return (\r\n <div class=\"block-address\">\r\n <h3>{props.block.title}</h3>\r\n {props.block.content &&\r\n props.block.content\r\n .filter(content => content.address)\r\n .map(content => (\r\n <address class=\"vcard\" key={content.address}>\r\n <span class=\"adr\" innerHTML={content.address}></span>\r\n </address>\r\n ))}\r\n {props.block.content &&\r\n props.block.content\r\n .filter(content => content.links && content.links.length)\r\n .map(content => <PostFooterBlockSocials key={content.name} content={content} />)}\r\n </div>\r\n );\r\n};\r\n"]}
@@ -0,0 +1,24 @@
1
+ import { h } from '@stencil/core';
2
+ const getContentHours = (hours) => hours.replace(/<[^>]*>?/gm, '');
3
+ const callUnblu = () => {
4
+ if (typeof window['unbluLSLoad'] === 'function') {
5
+ window['unbluLSLoad']();
6
+ }
7
+ else {
8
+ console.error('swisspost-internet-footer: The function "unbluLSLoad" could not be called because it is not available in the global scope. Did you include the unblu live chat script on your page?');
9
+ }
10
+ };
11
+ const LiveSupport = (props) => (h("button", { class: "hours btn btn-link", id: "liveSupport", type: "button", onClick: callUnblu, innerHTML: getContentHours(props.hours) }));
12
+ export const PostFooterBlockContact = (props) => {
13
+ return (h("div", { class: "block-contact" }, h("h3", null, props.block.title), props.block.content &&
14
+ props.block.content.map((content, index) => {
15
+ const isLiveSupport = index === props.block.content.length - 1 && content.text === 'Live Support';
16
+ if (isLiveSupport && !props.liveSupportEnabled) {
17
+ return null;
18
+ }
19
+ return (h("div", { class: "content-row", key: content.name }, content.number ? h("p", { class: "number" }, content.number) : null, content.text ? h("p", { class: "text" }, content.text) : null, content.hours && isLiveSupport && h(LiveSupport, { hours: content.hours }), content.hours && !isLiveSupport && (
20
+ // Some values arrive in the form of <p>8&emdash;12</p> and without replace and innerHTML, tags get rendered as text (project="klp" language="en" environment="int02")
21
+ h("p", { class: "hours", innerHTML: getContentHours(content.hours) })), content.describe ? h("p", { class: "describe" }, content.describe) : null));
22
+ })));
23
+ };
24
+ //# sourceMappingURL=post-footer-block-contact.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-footer-block-contact.component.js","sourceRoot":"","sources":["../../../../../src/components/post-internet-footer/components/post-footer-block-contact.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAE3E,MAAM,SAAS,GAAG,GAAG,EAAE;EACrB,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,UAAU,EAAE;IAC/C,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;GACzB;OAAM;IACL,OAAO,CAAC,KAAK,CACX,qLAAqL,CACtL,CAAC;GACH;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAChD,cACE,KAAK,EAAC,oBAAoB,EAC1B,EAAE,EAAC,aAAa,EAChB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAC/B,CACX,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAItC,EAAE,EAAE;EACH,OAAO,CACL,WAAK,KAAK,EAAC,eAAe;IACxB,cAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAM;IAC3B,KAAK,CAAC,KAAK,CAAC,OAAO;MAClB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACzC,MAAM,aAAa,GACjB,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,OAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC;QAC/E,IAAI,aAAa,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;UAC9C,OAAO,IAAI,CAAC;SACb;QACD,OAAO,CACL,WAAK,KAAK,EAAC,aAAa,EAAC,GAAG,EAAE,OAAO,CAAC,IAAI;UACvC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAG,KAAK,EAAC,QAAQ,IAAE,OAAO,CAAC,MAAM,CAAK,CAAC,CAAC,CAAC,IAAI;UAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAG,KAAK,EAAC,MAAM,IAAE,OAAO,CAAC,IAAI,CAAK,CAAC,CAAC,CAAC,IAAI;UACxD,OAAO,CAAC,KAAK,IAAI,aAAa,IAAI,EAAC,WAAW,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAI;UACvE,OAAO,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI;UAClC,sKAAsK;UACtK,SAAG,KAAK,EAAC,OAAO,EAAC,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAM,CACjE;UACA,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAG,KAAK,EAAC,UAAU,IAAE,OAAO,CAAC,QAAQ,CAAK,CAAC,CAAC,CAAC,IAAI,CACjE,CACP,CAAC;MACJ,CAAC,CAAC,CACA,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { h } from '@stencil/core';\r\nimport { BlockEntity } from '../../../models/footer.model';\r\n\r\nconst getContentHours = (hours: string) => hours.replace(/<[^>]*>?/gm, '');\r\n\r\nconst callUnblu = () => {\r\n if (typeof window['unbluLSLoad'] === 'function') {\r\n window['unbluLSLoad']();\r\n } else {\r\n console.error(\r\n 'swisspost-internet-footer: The function \"unbluLSLoad\" could not be called because it is not available in the global scope. Did you include the unblu live chat script on your page?',\r\n );\r\n }\r\n};\r\n\r\nconst LiveSupport = (props: { hours: string }) => (\r\n <button\r\n class=\"hours btn btn-link\"\r\n id=\"liveSupport\"\r\n type=\"button\"\r\n onClick={callUnblu}\r\n innerHTML={getContentHours(props.hours)}\r\n ></button>\r\n);\r\n\r\nexport const PostFooterBlockContact = (props: {\r\n block: BlockEntity;\r\n liveSupportEnabled: boolean;\r\n key: string;\r\n}) => {\r\n return (\r\n <div class=\"block-contact\">\r\n <h3>{props.block.title}</h3>\r\n {props.block.content &&\r\n props.block.content.map((content, index) => {\r\n const isLiveSupport =\r\n index === props.block.content!.length - 1 && content.text === 'Live Support';\r\n if (isLiveSupport && !props.liveSupportEnabled) {\r\n return null;\r\n }\r\n return (\r\n <div class=\"content-row\" key={content.name}>\r\n {content.number ? <p class=\"number\">{content.number}</p> : null}\r\n {content.text ? <p class=\"text\">{content.text}</p> : null}\r\n {content.hours && isLiveSupport && <LiveSupport hours={content.hours} />}\r\n {content.hours && !isLiveSupport && (\r\n // Some values arrive in the form of <p>8&emdash;12</p> and without replace and innerHTML, tags get rendered as text (project=\"klp\" language=\"en\" environment=\"int02\")\r\n <p class=\"hours\" innerHTML={getContentHours(content.hours)}></p>\r\n )}\r\n {content.describe ? <p class=\"describe\">{content.describe}</p> : null}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n"]}
@@ -0,0 +1,6 @@
1
+ import { h } from '@stencil/core';
2
+ export const PostFooterBlockCustom = (props) => {
3
+ return (h("div", { class: "pre-footer" }, h("div", { class: "block-custom container" }, h("h3", null, props.block.title), h("ul", { class: "no-list box link-list" }, props.block.links &&
4
+ props.block.links.map(link => (h("li", { key: link.url }, h("a", { class: "flyout-link", href: link.url, target: link.target }, link.text))))))));
5
+ };
6
+ //# sourceMappingURL=post-footer-block-custom.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-footer-block-custom.component.js","sourceRoot":"","sources":["../../../../../src/components/post-internet-footer/components/post-footer-block-custom.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAmC,EAAE,EAAE;EAC3E,OAAO,CACL,WAAK,KAAK,EAAC,YAAY;IACrB,WAAK,KAAK,EAAC,wBAAwB;MACjC,cAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAM;MAC5B,UAAI,KAAK,EAAC,uBAAuB,IAC9B,KAAK,CAAC,KAAK,CAAC,KAAK;QAChB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC5B,UAAI,GAAG,EAAE,IAAI,CAAC,GAAG;UACf,SAAG,KAAK,EAAC,aAAa,EAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IACvD,IAAI,CAAC,IAAI,CACR,CACD,CACN,CAAC,CACD,CACD,CACF,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { h } from '@stencil/core';\r\nimport { CustomBlockEntity } from '../../../models/footer.model';\r\n\r\nexport const PostFooterBlockCustom = (props: { block: CustomBlockEntity }) => {\r\n return (\r\n <div class=\"pre-footer\">\r\n <div class=\"block-custom container\">\r\n <h3>{props.block.title}</h3>\r\n <ul class=\"no-list box link-list\">\r\n {props.block.links &&\r\n props.block.links.map(link => (\r\n <li key={link.url}>\r\n <a class=\"flyout-link\" href={link.url} target={link.target}>\r\n {link.text}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n );\r\n};\r\n"]}
@@ -0,0 +1,6 @@
1
+ import { h } from '@stencil/core';
2
+ export const PostFooterBlockList = (props) => {
3
+ return (h("div", { class: "block-list" }, h("h3", null, props.block.title), h("ul", { class: "no-list box link-list" }, props.block.links &&
4
+ props.block.links.map(link => (h("li", { key: link.url }, h("a", { class: "flyout-link", href: link.url, target: link.target }, link.text)))))));
5
+ };
6
+ //# sourceMappingURL=post-footer-block-list.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-footer-block-list.component.js","sourceRoot":"","sources":["../../../../../src/components/post-internet-footer/components/post-footer-block-list.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAgD,EAAE,EAAE;EACtF,OAAO,CACL,WAAK,KAAK,EAAC,YAAY;IACrB,cAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAM;IAC5B,UAAI,KAAK,EAAC,uBAAuB,IAC9B,KAAK,CAAC,KAAK,CAAC,KAAK;MAChB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC5B,UAAI,GAAG,EAAE,IAAI,CAAC,GAAG;QACf,SAAG,KAAK,EAAC,aAAa,EAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IACvD,IAAI,CAAC,IAAI,CACR,CACD,CACN,CAAC,CACD,CACD,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { h } from '@stencil/core';\r\nimport { CustomBlockEntity } from '../../../models/footer.model';\r\n\r\nexport const PostFooterBlockList = (props: { block: CustomBlockEntity; key: string }) => {\r\n return (\r\n <div class=\"block-list\">\r\n <h3>{props.block.title}</h3>\r\n <ul class=\"no-list box link-list\">\r\n {props.block.links &&\r\n props.block.links.map(link => (\r\n <li key={link.url}>\r\n <a class=\"flyout-link\" href={link.url} target={link.target}>\r\n {link.text}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n );\r\n};\r\n"]}
@@ -0,0 +1,5 @@
1
+ import { h } from '@stencil/core';
2
+ export const PostFooterBlockSocials = (props) => {
3
+ return (h("div", { class: "block-socials" }, h("h3", null, props.content.title), h("ul", { class: "no-list socials" }, props.content.links.map(link => (h("li", { key: link.url }, h("a", { href: link.url, target: link.target }, h("span", { class: "visually-hidden" }, link.name), h("svg", { "aria-hidden": "true" }, h("use", { href: `#${link.icon}` })))))))));
4
+ };
5
+ //# sourceMappingURL=post-footer-block-socials.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-footer-block-socials.component.js","sourceRoot":"","sources":["../../../../../src/components/post-internet-footer/components/post-footer-block-socials.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAA8C,EAAE,EAAE;EACvF,OAAO,CACL,WAAK,KAAK,EAAC,eAAe;IACxB,cAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAM;IAC9B,UAAI,KAAK,EAAC,iBAAiB,IACxB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC/B,UAAI,GAAG,EAAE,IAAI,CAAC,GAAG;MACf,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;QACpC,YAAM,KAAK,EAAC,iBAAiB,IAAE,IAAI,CAAC,IAAI,CAAQ;QAChD,0BAAiB,MAAM;UACrB,WAAK,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAI,CAC1B,CACJ,CACD,CACN,CAAC,CACC,CACD,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { h } from '@stencil/core';\r\nimport { ContentEntity } from '../../../models/footer.model';\r\n\r\nexport const PostFooterBlockSocials = (props: { content: ContentEntity; key: string }) => {\r\n return (\r\n <div class=\"block-socials\">\r\n <h3>{props.content.title}</h3>\r\n <ul class=\"no-list socials\">\r\n {props.content.links.map(link => (\r\n <li key={link.url}>\r\n <a href={link.url} target={link.target}>\r\n <span class=\"visually-hidden\">{link.name}</span>\r\n <svg aria-hidden=\"true\">\r\n <use href={`#${link.icon}`} />\r\n </svg>\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n );\r\n};\r\n"]}