@swisspost/internet-header 1.10.0 → 1.12.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 (512) hide show
  1. package/dist/cjs/{if.component-51d000af.js → if.component-2cd3c1ff.js} +1 -1
  2. package/dist/cjs/if.component-2cd3c1ff.js.map +1 -0
  3. package/dist/cjs/{index-87874f19.js → index-4bd0adf1.js} +197 -43
  4. package/dist/cjs/index-4bd0adf1.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +36 -0
  6. package/dist/cjs/index.cjs.js.map +1 -1
  7. package/dist/cjs/{klp-widget.controller-7908f551.js → klp-widget.controller-59fd5d5e.js} +1 -1
  8. package/dist/cjs/{klp-widget.controller-7908f551.js.map → klp-widget.controller-59fd5d5e.js.map} +1 -1
  9. package/dist/cjs/{language.service-672abba5.js → language.service-dbe2a435.js} +11 -6
  10. package/dist/cjs/language.service-dbe2a435.js.map +1 -0
  11. package/dist/cjs/loader.cjs.js +3 -12
  12. package/dist/cjs/loader.cjs.js.map +1 -1
  13. package/dist/cjs/post-internet-breadcrumbs-09754c05.js +3616 -0
  14. package/dist/cjs/post-internet-breadcrumbs-09754c05.js.map +1 -0
  15. package/dist/cjs/post-internet-footer-b51276d8.js +161 -0
  16. package/dist/cjs/post-internet-footer-b51276d8.js.map +1 -0
  17. package/dist/cjs/post-internet-header-5962d752.js +828 -0
  18. package/dist/cjs/post-internet-header-5962d752.js.map +1 -0
  19. package/dist/cjs/post-klp-login-widget-d03de512.js +63 -0
  20. package/dist/cjs/post-klp-login-widget-d03de512.js.map +1 -0
  21. package/dist/cjs/post-klp-login-widget.cjs.entry.js +6 -40
  22. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  23. package/dist/cjs/post-language-switch-9cd31034.js +106 -0
  24. package/dist/cjs/post-language-switch-9cd31034.js.map +1 -0
  25. package/dist/cjs/post-language-switch.cjs.entry.js +8 -99
  26. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  27. package/dist/cjs/post-logo-5867ad55.js +25 -0
  28. package/dist/cjs/post-logo-5867ad55.js.map +1 -0
  29. package/dist/cjs/post-logo.cjs.entry.js +4 -18
  30. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  31. package/dist/cjs/post-main-navigation-ab81aac6.js +240 -0
  32. package/dist/cjs/post-main-navigation-ab81aac6.js.map +1 -0
  33. package/dist/cjs/post-main-navigation.cjs.entry.js +9 -233
  34. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  35. package/dist/cjs/post-meta-navigation-0b73779f.js +26 -0
  36. package/dist/cjs/post-meta-navigation-0b73779f.js.map +1 -0
  37. package/dist/cjs/post-meta-navigation.cjs.entry.js +4 -19
  38. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  39. package/dist/cjs/post-search-2232c291.js +597 -0
  40. package/dist/cjs/post-search-2232c291.js.map +1 -0
  41. package/dist/cjs/post-search.cjs.entry.js +11 -570
  42. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  43. package/dist/cjs/post-skiplinks-3db1d214.js +52 -0
  44. package/dist/cjs/post-skiplinks-3db1d214.js.map +1 -0
  45. package/dist/cjs/post-skiplinks.cjs.entry.js +6 -45
  46. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  47. package/dist/cjs/{store-b99affc1.js → store-77668e50.js} +2 -2
  48. package/dist/cjs/store-77668e50.js.map +1 -0
  49. package/dist/cjs/{svg-icon.component-8e05af84.js → svg-icon.component-5965f301.js} +2 -2
  50. package/dist/cjs/svg-icon.component-5965f301.js.map +1 -0
  51. package/dist/cjs/{svg-sprite.component-f1866070.js → svg-sprite.component-4b5677ef.js} +2 -2
  52. package/dist/cjs/svg-sprite.component-4b5677ef.js.map +1 -0
  53. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +11 -3608
  54. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  55. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +6 -154
  56. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  57. package/dist/cjs/swisspost-internet-header.cjs.entry.js +10 -823
  58. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  59. package/dist/cjs/swisspost-internet-header.cjs.js +3 -6
  60. package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
  61. package/dist/cjs/{ui.service-e1ebb6d4.js → ui.service-488151be.js} +1 -1
  62. package/dist/cjs/ui.service-488151be.js.map +1 -0
  63. package/dist/cjs/{utils-60853c5d.js → utils-717975e0.js} +1 -1
  64. package/dist/cjs/utils-717975e0.js.map +1 -0
  65. package/dist/collection/assets/i18n/translations.js +5 -0
  66. package/dist/collection/assets/i18n/translations.js.map +1 -1
  67. package/dist/collection/collection-manifest.json +12 -12
  68. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +4 -4
  69. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +2 -2
  70. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +4 -4
  71. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +2 -2
  72. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +3 -3
  73. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +2 -2488
  74. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +38 -16
  75. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  76. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +2 -2
  77. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +1 -1
  78. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +1 -1
  79. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +1 -1
  80. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +1 -1
  81. package/dist/collection/components/post-internet-footer/post-internet-footer.css +1 -2308
  82. package/dist/collection/components/post-internet-footer/post-internet-footer.js +8 -8
  83. package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +3 -3
  84. package/dist/collection/components/post-internet-header/post-internet-header.css +1 -403
  85. package/dist/collection/components/post-internet-header/post-internet-header.js +42 -18
  86. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  87. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +1 -1
  88. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +2 -1451
  89. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +48 -7
  90. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
  91. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +3 -3
  92. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -370
  93. package/dist/collection/components/post-language-switch/post-language-switch.js +11 -9
  94. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  95. package/dist/collection/components/post-logo/post-logo.css +1 -265
  96. package/dist/collection/components/post-logo/post-logo.js +2 -2
  97. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +2 -2
  98. package/dist/collection/components/post-main-navigation/post-main-navigation.css +1 -641
  99. package/dist/collection/components/post-main-navigation/post-main-navigation.js +18 -13
  100. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  101. package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +1 -345
  102. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +2 -2
  103. package/dist/collection/components/post-search/post-search.css +19 -2482
  104. package/dist/collection/components/post-search/post-search.js +42 -18
  105. package/dist/collection/components/post-search/post-search.js.map +1 -1
  106. package/dist/collection/components/post-skiplinks/post-skiplinks.css +1 -21
  107. package/dist/collection/components/post-skiplinks/post-skiplinks.js +4 -4
  108. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  109. package/dist/collection/data/store.js +1 -1
  110. package/dist/collection/index.js +11 -1
  111. package/dist/collection/index.js.map +1 -1
  112. package/dist/collection/services/config.service.js +10 -10
  113. package/dist/collection/services/config.service.js.map +1 -1
  114. package/dist/collection/services/language.service.js +6 -6
  115. package/dist/collection/services/language.service.js.map +1 -1
  116. package/dist/collection/services/route.service.js +4 -4
  117. package/dist/collection/services/route.service.js.map +1 -1
  118. package/dist/collection/services/search/coveo.service.js +3 -3
  119. package/dist/collection/services/search/parcel.service.js +1 -1
  120. package/dist/collection/services/search/places.service.js +3 -3
  121. package/dist/collection/services/search/search.service.js +2 -2
  122. package/dist/collection/utils/highlighted.component.js +1 -1
  123. package/dist/collection/utils/svg-icon.component.js +1 -1
  124. package/dist/collection/utils/svg-sprite.component.js +1 -1
  125. package/dist/components/index.d.ts +6 -0
  126. package/dist/components/index.js +11 -1
  127. package/dist/components/index.js.map +1 -1
  128. package/dist/components/klp-widget.controller.js.map +1 -1
  129. package/dist/components/language.service.js +9 -4
  130. package/dist/components/language.service.js.map +1 -1
  131. package/dist/components/post-klp-login-widget2.js +19 -2
  132. package/dist/components/post-klp-login-widget2.js.map +1 -1
  133. package/dist/components/post-language-switch2.js +1 -1
  134. package/dist/components/post-language-switch2.js.map +1 -1
  135. package/dist/components/post-logo2.js +1 -1
  136. package/dist/components/post-logo2.js.map +1 -1
  137. package/dist/components/post-main-navigation2.js +1 -1
  138. package/dist/components/post-main-navigation2.js.map +1 -1
  139. package/dist/components/post-meta-navigation2.js +1 -1
  140. package/dist/components/post-meta-navigation2.js.map +1 -1
  141. package/dist/components/post-search2.js +22 -2
  142. package/dist/components/post-search2.js.map +1 -1
  143. package/dist/components/post-skiplinks2.js +1 -1
  144. package/dist/components/post-skiplinks2.js.map +1 -1
  145. package/dist/components/store.js.map +1 -1
  146. package/dist/components/svg-icon.component.js.map +1 -1
  147. package/dist/components/svg-sprite.component.js.map +1 -1
  148. package/dist/components/swisspost-internet-breadcrumbs.js +9 -5
  149. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  150. package/dist/components/swisspost-internet-footer.js +2 -2
  151. package/dist/components/swisspost-internet-footer.js.map +1 -1
  152. package/dist/components/swisspost-internet-header.js +39 -30
  153. package/dist/components/swisspost-internet-header.js.map +1 -1
  154. package/dist/components/ui.service.js.map +1 -1
  155. package/dist/components/utils.js.map +1 -1
  156. package/dist/docs.d.ts +334 -235
  157. package/dist/docs.json +478 -15
  158. package/dist/esm/{if.component-0fe54385.js → if.component-3a779aca.js} +1 -1
  159. package/dist/esm/if.component-3a779aca.js.map +1 -0
  160. package/dist/esm/{index-82f4f02c.js → index-2b83f5e9.js} +197 -43
  161. package/dist/esm/index-2b83f5e9.js.map +1 -0
  162. package/dist/esm/index.js +21 -1
  163. package/dist/esm/index.js.map +1 -1
  164. package/dist/esm/{klp-widget.controller-30d47ff4.js → klp-widget.controller-2a0a5183.js} +1 -1
  165. package/dist/esm/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
  166. package/dist/esm/{language.service-4289815d.js → language.service-501b09a8.js} +11 -6
  167. package/dist/esm/language.service-501b09a8.js.map +1 -0
  168. package/dist/esm/loader.js +4 -13
  169. package/dist/esm/loader.js.map +1 -1
  170. package/dist/esm/post-internet-breadcrumbs-474f625e.js +3614 -0
  171. package/dist/esm/post-internet-breadcrumbs-474f625e.js.map +1 -0
  172. package/dist/esm/post-internet-footer-273b0d8d.js +159 -0
  173. package/dist/esm/post-internet-footer-273b0d8d.js.map +1 -0
  174. package/dist/esm/post-internet-header-a825bfd6.js +826 -0
  175. package/dist/esm/post-internet-header-a825bfd6.js.map +1 -0
  176. package/dist/esm/post-klp-login-widget-b1306336.js +61 -0
  177. package/dist/esm/post-klp-login-widget-b1306336.js.map +1 -0
  178. package/dist/esm/post-klp-login-widget.entry.js +5 -43
  179. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  180. package/dist/esm/post-language-switch-fd570b9d.js +104 -0
  181. package/dist/esm/post-language-switch-fd570b9d.js.map +1 -0
  182. package/dist/esm/post-language-switch.entry.js +7 -102
  183. package/dist/esm/post-language-switch.entry.js.map +1 -1
  184. package/dist/esm/post-logo-cde3c44d.js +23 -0
  185. package/dist/esm/post-logo-cde3c44d.js.map +1 -0
  186. package/dist/esm/post-logo.entry.js +3 -21
  187. package/dist/esm/post-logo.entry.js.map +1 -1
  188. package/dist/esm/post-main-navigation-12eaef9f.js +238 -0
  189. package/dist/esm/post-main-navigation-12eaef9f.js.map +1 -0
  190. package/dist/esm/post-main-navigation.entry.js +8 -236
  191. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  192. package/dist/esm/post-meta-navigation-09e9bdc8.js +24 -0
  193. package/dist/esm/post-meta-navigation-09e9bdc8.js.map +1 -0
  194. package/dist/esm/post-meta-navigation.entry.js +3 -22
  195. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  196. package/dist/esm/post-search-5c3a10ac.js +595 -0
  197. package/dist/esm/post-search-5c3a10ac.js.map +1 -0
  198. package/dist/esm/post-search.entry.js +10 -573
  199. package/dist/esm/post-search.entry.js.map +1 -1
  200. package/dist/esm/post-skiplinks-b3c32a77.js +50 -0
  201. package/dist/esm/post-skiplinks-b3c32a77.js.map +1 -0
  202. package/dist/esm/post-skiplinks.entry.js +5 -48
  203. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  204. package/dist/esm/{store-44830922.js → store-80b19c12.js} +2 -2
  205. package/dist/esm/store-80b19c12.js.map +1 -0
  206. package/dist/esm/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
  207. package/dist/esm/svg-icon.component-7295f7cc.js.map +1 -0
  208. package/dist/esm/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
  209. package/dist/esm/svg-sprite.component-29439a18.js.map +1 -0
  210. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +10 -3611
  211. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  212. package/dist/esm/swisspost-internet-footer.entry.js +5 -157
  213. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  214. package/dist/esm/swisspost-internet-header.entry.js +9 -826
  215. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  216. package/dist/esm/swisspost-internet-header.js +4 -7
  217. package/dist/esm/swisspost-internet-header.js.map +1 -1
  218. package/dist/esm/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +1 -1
  219. package/dist/esm/ui.service-a71cf490.js.map +1 -0
  220. package/dist/esm/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
  221. package/dist/esm/utils-3a8ff48f.js.map +1 -0
  222. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js +1 -1
  223. package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js.map +1 -1
  224. package/dist/esm-es5/if.component-3a779aca.js +2 -0
  225. package/dist/esm-es5/index-2b83f5e9.js +2 -0
  226. package/dist/esm-es5/index-2b83f5e9.js.map +1 -0
  227. package/dist/esm-es5/index-d2256e06.js +1 -1
  228. package/dist/esm-es5/index.js +1 -1
  229. package/dist/esm-es5/klp-widget.controller-2a0a5183.js +13 -0
  230. package/dist/esm-es5/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
  231. package/dist/esm-es5/language.service-501b09a8.js +2 -0
  232. package/dist/esm-es5/language.service-501b09a8.js.map +1 -0
  233. package/dist/esm-es5/loader.js +1 -1
  234. package/dist/esm-es5/loader.js.map +1 -1
  235. package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js +7 -0
  236. package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js.map +1 -0
  237. package/dist/esm-es5/post-internet-footer-273b0d8d.js +2 -0
  238. package/dist/esm-es5/post-internet-footer-273b0d8d.js.map +1 -0
  239. package/dist/esm-es5/post-internet-header-a825bfd6.js +2 -0
  240. package/dist/esm-es5/post-internet-header-a825bfd6.js.map +1 -0
  241. package/dist/esm-es5/post-klp-login-widget-b1306336.js +2 -0
  242. package/dist/esm-es5/post-klp-login-widget-b1306336.js.map +1 -0
  243. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  244. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  245. package/dist/esm-es5/post-language-switch-fd570b9d.js +2 -0
  246. package/dist/esm-es5/post-language-switch-fd570b9d.js.map +1 -0
  247. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  248. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  249. package/dist/esm-es5/post-logo-cde3c44d.js +2 -0
  250. package/dist/esm-es5/post-logo-cde3c44d.js.map +1 -0
  251. package/dist/esm-es5/post-logo.entry.js +1 -1
  252. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  253. package/dist/esm-es5/post-main-navigation-12eaef9f.js +2 -0
  254. package/dist/esm-es5/post-main-navigation-12eaef9f.js.map +1 -0
  255. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  256. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  257. package/dist/esm-es5/post-meta-navigation-09e9bdc8.js +2 -0
  258. package/dist/esm-es5/post-meta-navigation-09e9bdc8.js.map +1 -0
  259. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  260. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  261. package/dist/esm-es5/post-search-5c3a10ac.js +2 -0
  262. package/dist/esm-es5/post-search-5c3a10ac.js.map +1 -0
  263. package/dist/esm-es5/post-search.entry.js +1 -1
  264. package/dist/esm-es5/post-search.entry.js.map +1 -1
  265. package/dist/esm-es5/post-skiplinks-b3c32a77.js +2 -0
  266. package/dist/esm-es5/post-skiplinks-b3c32a77.js.map +1 -0
  267. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  268. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  269. package/dist/esm-es5/store-80b19c12.js +2 -0
  270. package/dist/esm-es5/store-80b19c12.js.map +1 -0
  271. package/dist/esm-es5/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
  272. package/dist/esm-es5/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
  273. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +1 -6
  274. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  275. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  276. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  277. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  278. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  279. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  280. package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
  281. package/dist/esm-es5/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +2 -2
  282. package/dist/esm-es5/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
  283. package/dist/swisspost-internet-header/index.esm.js +1 -1
  284. package/dist/swisspost-internet-header/p-0096509c.js +2 -0
  285. package/dist/swisspost-internet-header/p-0096509c.js.map +1 -0
  286. package/dist/swisspost-internet-header/p-05eea2be.js +2 -0
  287. package/dist/swisspost-internet-header/p-05eea2be.js.map +1 -0
  288. package/dist/swisspost-internet-header/p-0d61ca4e.system.entry.js +2 -0
  289. package/dist/swisspost-internet-header/{p-0c5624c0.system.js → p-0e776d6e.system.js} +2 -2
  290. package/dist/swisspost-internet-header/p-18e9ce89.system.js +2 -0
  291. package/dist/swisspost-internet-header/p-18e9ce89.system.js.map +1 -0
  292. package/dist/swisspost-internet-header/p-1a9fcba5.entry.js +2 -0
  293. package/dist/swisspost-internet-header/p-1a9fcba5.entry.js.map +1 -0
  294. package/dist/swisspost-internet-header/p-237a408c.entry.js +2 -0
  295. package/dist/swisspost-internet-header/p-237a408c.entry.js.map +1 -0
  296. package/dist/swisspost-internet-header/p-2470951e.js +2 -0
  297. package/dist/swisspost-internet-header/p-2470951e.js.map +1 -0
  298. package/dist/swisspost-internet-header/p-2eb179a7.entry.js +2 -0
  299. package/dist/swisspost-internet-header/p-2eb179a7.entry.js.map +1 -0
  300. package/dist/swisspost-internet-header/p-2fb1a3ce.system.js +2 -0
  301. package/dist/swisspost-internet-header/{p-cf9fb780.system.entry.js.map → p-2fb1a3ce.system.js.map} +1 -1
  302. package/dist/swisspost-internet-header/{p-8bf099a8.js → p-3339310e.js} +1 -1
  303. package/dist/swisspost-internet-header/p-3339310e.js.map +1 -0
  304. package/dist/swisspost-internet-header/p-3672587a.entry.js +2 -0
  305. package/dist/swisspost-internet-header/p-3672587a.entry.js.map +1 -0
  306. package/dist/swisspost-internet-header/p-39785e3d.system.entry.js +2 -0
  307. package/dist/swisspost-internet-header/p-39785e3d.system.entry.js.map +1 -0
  308. package/dist/swisspost-internet-header/p-4248f499.system.entry.js +2 -0
  309. package/dist/swisspost-internet-header/p-4248f499.system.entry.js.map +1 -0
  310. package/dist/swisspost-internet-header/p-56764f7d.system.js +2 -0
  311. package/dist/swisspost-internet-header/{p-a691c791.system.entry.js.map → p-56764f7d.system.js.map} +1 -1
  312. package/dist/swisspost-internet-header/{p-66d1bf9a.js → p-5a897619.js} +2 -2
  313. package/dist/swisspost-internet-header/p-5a897619.js.map +1 -0
  314. package/dist/swisspost-internet-header/p-5adcdd91.system.js +2 -0
  315. package/dist/swisspost-internet-header/p-5adcdd91.system.js.map +1 -0
  316. package/dist/swisspost-internet-header/{p-b762fba9.js → p-60ea6000.js} +2 -2
  317. package/dist/swisspost-internet-header/p-60ea6000.js.map +1 -0
  318. package/dist/swisspost-internet-header/p-6145b5f1.system.js +2 -0
  319. package/dist/swisspost-internet-header/p-6145b5f1.system.js.map +1 -0
  320. package/dist/swisspost-internet-header/p-61528220.js +2 -0
  321. package/dist/swisspost-internet-header/p-61528220.js.map +1 -0
  322. package/dist/swisspost-internet-header/{p-459c3983.js → p-624d732c.js} +2 -2
  323. package/dist/swisspost-internet-header/p-624d732c.js.map +1 -0
  324. package/dist/swisspost-internet-header/p-65ce36ba.entry.js +2 -0
  325. package/dist/swisspost-internet-header/p-65ce36ba.entry.js.map +1 -0
  326. package/dist/swisspost-internet-header/p-70df9137.js +2 -0
  327. package/dist/swisspost-internet-header/p-70df9137.js.map +1 -0
  328. package/dist/swisspost-internet-header/{p-fb82b748.system.js → p-74fea9b8.system.js} +2 -2
  329. package/dist/swisspost-internet-header/p-771114f0.system.js +2 -0
  330. package/dist/swisspost-internet-header/p-771114f0.system.js.map +1 -0
  331. package/dist/swisspost-internet-header/p-78e8a405.js +2 -0
  332. package/dist/swisspost-internet-header/p-78e8a405.js.map +1 -0
  333. package/dist/swisspost-internet-header/p-7a94a2d7.system.js +2 -0
  334. package/dist/swisspost-internet-header/{p-34da85e6.system.entry.js.map → p-7a94a2d7.system.js.map} +1 -1
  335. package/dist/swisspost-internet-header/p-7e78b029.system.entry.js +2 -0
  336. package/dist/swisspost-internet-header/p-7e78b029.system.entry.js.map +1 -0
  337. package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js +2 -0
  338. package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js.map +1 -0
  339. package/dist/swisspost-internet-header/p-96618f42.system.js +2 -0
  340. package/dist/swisspost-internet-header/{p-3c8504b4.system.entry.js.map → p-96618f42.system.js.map} +1 -1
  341. package/dist/swisspost-internet-header/p-986a52bc.system.js +2 -0
  342. package/dist/swisspost-internet-header/p-9af33755.system.js +2 -0
  343. package/dist/swisspost-internet-header/p-9af33755.system.js.map +1 -0
  344. package/dist/swisspost-internet-header/p-9b4d5e90.system.js +1 -1
  345. package/dist/swisspost-internet-header/p-9c385f74.system.js +3 -0
  346. package/dist/swisspost-internet-header/p-9c385f74.system.js.map +1 -0
  347. package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js +2 -0
  348. package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js.map +1 -0
  349. package/dist/swisspost-internet-header/p-a119b38d.js.map +1 -1
  350. package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js +2 -0
  351. package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js.map +1 -0
  352. package/dist/swisspost-internet-header/p-a58fc500.system.entry.js +2 -0
  353. package/dist/swisspost-internet-header/p-a58fc500.system.entry.js.map +1 -0
  354. package/dist/swisspost-internet-header/p-a7de7323.system.js +2 -0
  355. package/dist/swisspost-internet-header/p-aab6679b.js +2 -0
  356. package/dist/swisspost-internet-header/p-aab6679b.js.map +1 -0
  357. package/dist/swisspost-internet-header/{p-bf99c127.system.js → p-ad9a417b.system.js} +2 -2
  358. package/dist/swisspost-internet-header/p-ad9a417b.system.js.map +1 -0
  359. package/dist/swisspost-internet-header/p-aeaa2c26.entry.js +2 -0
  360. package/dist/swisspost-internet-header/p-aeaa2c26.entry.js.map +1 -0
  361. package/dist/swisspost-internet-header/p-b3014611.system.js +1 -1
  362. package/dist/swisspost-internet-header/p-b3014611.system.js.map +1 -1
  363. package/dist/swisspost-internet-header/{p-45db66a6.js → p-bbfd407b.js} +1 -1
  364. package/dist/swisspost-internet-header/p-bbfd407b.js.map +1 -0
  365. package/dist/swisspost-internet-header/p-bcd01683.system.js +13 -0
  366. package/dist/swisspost-internet-header/{p-b4c0cb5a.system.js.map → p-bcd01683.system.js.map} +1 -1
  367. package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js +2 -0
  368. package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js.map +1 -0
  369. package/dist/swisspost-internet-header/p-c7945779.system.js +7 -0
  370. package/dist/swisspost-internet-header/p-c7945779.system.js.map +1 -0
  371. package/dist/swisspost-internet-header/p-c8d9cc8c.js +2 -0
  372. package/dist/swisspost-internet-header/p-c8d9cc8c.js.map +1 -0
  373. package/dist/swisspost-internet-header/p-c99a43b0.entry.js +2 -0
  374. package/dist/swisspost-internet-header/p-c99a43b0.entry.js.map +1 -0
  375. package/dist/swisspost-internet-header/{p-a2f9d462.js → p-cf06f703.js} +1 -1
  376. package/dist/swisspost-internet-header/p-cf06f703.js.map +1 -0
  377. package/dist/swisspost-internet-header/p-d9f67b45.entry.js +2 -0
  378. package/dist/swisspost-internet-header/p-d9f67b45.entry.js.map +1 -0
  379. package/dist/swisspost-internet-header/p-dc8296bd.js +2 -0
  380. package/dist/swisspost-internet-header/p-dc8296bd.js.map +1 -0
  381. package/dist/swisspost-internet-header/p-de27fab4.entry.js +2 -0
  382. package/dist/swisspost-internet-header/p-de27fab4.entry.js.map +1 -0
  383. package/dist/swisspost-internet-header/p-dee824b8.js +2 -0
  384. package/dist/swisspost-internet-header/p-dee824b8.js.map +1 -0
  385. package/dist/swisspost-internet-header/p-e187ba33.js +7 -0
  386. package/dist/swisspost-internet-header/p-e187ba33.js.map +1 -0
  387. package/dist/swisspost-internet-header/p-e2e1c5d4.js +3 -0
  388. package/dist/swisspost-internet-header/p-e2e1c5d4.js.map +1 -0
  389. package/dist/swisspost-internet-header/p-ee5e0cc6.system.js +2 -0
  390. package/dist/swisspost-internet-header/{p-fed8d74d.system.entry.js.map → p-ee5e0cc6.system.js.map} +1 -1
  391. package/dist/swisspost-internet-header/p-f25c234f.entry.js +2 -0
  392. package/dist/swisspost-internet-header/p-f25c234f.entry.js.map +1 -0
  393. package/dist/swisspost-internet-header/{p-edb2802d.system.js → p-f2a43ce2.system.js} +1 -1
  394. package/dist/swisspost-internet-header/p-f2f69ff4.system.js +2 -0
  395. package/dist/swisspost-internet-header/p-f2f69ff4.system.js.map +1 -0
  396. package/dist/swisspost-internet-header/p-f5876cc8.js +2 -0
  397. package/dist/swisspost-internet-header/p-f5876cc8.js.map +1 -0
  398. package/dist/swisspost-internet-header/p-f887c8bb.system.js +1 -1
  399. package/dist/swisspost-internet-header/p-fc2417e7.system.js +2 -0
  400. package/dist/swisspost-internet-header/p-fc2417e7.system.js.map +1 -0
  401. package/dist/swisspost-internet-header/p-fef30370.system.entry.js +2 -0
  402. package/dist/swisspost-internet-header/p-fef30370.system.entry.js.map +1 -0
  403. package/dist/swisspost-internet-header/swisspost-internet-header.css +2 -2
  404. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  405. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
  406. package/dist/swisspost-internet-header/swisspost-internet-header.js +2 -6
  407. package/dist/types/assets/i18n/translations.d.ts +5 -0
  408. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +5 -1
  409. package/dist/types/components/post-internet-header/post-internet-header.d.ts +4 -0
  410. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +5 -1
  411. package/dist/types/components/post-search/post-search.d.ts +6 -0
  412. package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +1 -1
  413. package/dist/types/components.d.ts +70 -0
  414. package/dist/types/index.d.ts +10 -0
  415. package/dist/types/services/language.service.d.ts +5 -0
  416. package/dist/types/stencil-public-runtime.d.ts +38 -5
  417. package/loader/index.d.ts +1 -1
  418. package/package.json +12 -14
  419. package/dist/cjs/if.component-51d000af.js.map +0 -1
  420. package/dist/cjs/index-87874f19.js.map +0 -1
  421. package/dist/cjs/language.service-672abba5.js.map +0 -1
  422. package/dist/cjs/store-b99affc1.js.map +0 -1
  423. package/dist/cjs/svg-icon.component-8e05af84.js.map +0 -1
  424. package/dist/cjs/svg-sprite.component-f1866070.js.map +0 -1
  425. package/dist/cjs/ui.service-e1ebb6d4.js.map +0 -1
  426. package/dist/cjs/utils-60853c5d.js.map +0 -1
  427. package/dist/esm/if.component-0fe54385.js.map +0 -1
  428. package/dist/esm/index-82f4f02c.js.map +0 -1
  429. package/dist/esm/language.service-4289815d.js.map +0 -1
  430. package/dist/esm/polyfills/css-shim.js +0 -1
  431. package/dist/esm/store-44830922.js.map +0 -1
  432. package/dist/esm/svg-icon.component-f2fda279.js.map +0 -1
  433. package/dist/esm/svg-sprite.component-c140294e.js.map +0 -1
  434. package/dist/esm/ui.service-2fbc9c45.js.map +0 -1
  435. package/dist/esm/utils-ee79122f.js.map +0 -1
  436. package/dist/esm-es5/if.component-0fe54385.js +0 -2
  437. package/dist/esm-es5/index-82f4f02c.js +0 -2
  438. package/dist/esm-es5/index-82f4f02c.js.map +0 -1
  439. package/dist/esm-es5/klp-widget.controller-30d47ff4.js +0 -13
  440. package/dist/esm-es5/language.service-4289815d.js +0 -2
  441. package/dist/esm-es5/language.service-4289815d.js.map +0 -1
  442. package/dist/esm-es5/store-44830922.js +0 -2
  443. package/dist/esm-es5/store-44830922.js.map +0 -1
  444. package/dist/swisspost-internet-header/p-02df8ca4.entry.js +0 -2
  445. package/dist/swisspost-internet-header/p-02df8ca4.entry.js.map +0 -1
  446. package/dist/swisspost-internet-header/p-0de024c6.system.entry.js +0 -2
  447. package/dist/swisspost-internet-header/p-0de024c6.system.entry.js.map +0 -1
  448. package/dist/swisspost-internet-header/p-11d05acc.js +0 -2
  449. package/dist/swisspost-internet-header/p-11d05acc.js.map +0 -1
  450. package/dist/swisspost-internet-header/p-1d455921.system.js +0 -3
  451. package/dist/swisspost-internet-header/p-1d455921.system.js.map +0 -1
  452. package/dist/swisspost-internet-header/p-1ec4e0ee.system.js +0 -2
  453. package/dist/swisspost-internet-header/p-1ec4e0ee.system.js.map +0 -1
  454. package/dist/swisspost-internet-header/p-2ab12ef9.entry.js +0 -2
  455. package/dist/swisspost-internet-header/p-2ab12ef9.entry.js.map +0 -1
  456. package/dist/swisspost-internet-header/p-33f6c69f.entry.js +0 -2
  457. package/dist/swisspost-internet-header/p-33f6c69f.entry.js.map +0 -1
  458. package/dist/swisspost-internet-header/p-34da85e6.system.entry.js +0 -2
  459. package/dist/swisspost-internet-header/p-3c8504b4.system.entry.js +0 -2
  460. package/dist/swisspost-internet-header/p-3cfe4534.entry.js +0 -2
  461. package/dist/swisspost-internet-header/p-3cfe4534.entry.js.map +0 -1
  462. package/dist/swisspost-internet-header/p-43320028.system.entry.js +0 -2
  463. package/dist/swisspost-internet-header/p-43320028.system.entry.js.map +0 -1
  464. package/dist/swisspost-internet-header/p-459c3983.js.map +0 -1
  465. package/dist/swisspost-internet-header/p-45db66a6.js.map +0 -1
  466. package/dist/swisspost-internet-header/p-50ea2036.system.js +0 -2
  467. package/dist/swisspost-internet-header/p-51c15273.entry.js +0 -2
  468. package/dist/swisspost-internet-header/p-51c15273.entry.js.map +0 -1
  469. package/dist/swisspost-internet-header/p-55bfdf22.system.js +0 -2
  470. package/dist/swisspost-internet-header/p-55fbc914.entry.js +0 -2
  471. package/dist/swisspost-internet-header/p-55fbc914.entry.js.map +0 -1
  472. package/dist/swisspost-internet-header/p-5d893017.system.js +0 -2
  473. package/dist/swisspost-internet-header/p-5d893017.system.js.map +0 -1
  474. package/dist/swisspost-internet-header/p-66d1bf9a.js.map +0 -1
  475. package/dist/swisspost-internet-header/p-6bb07a80.entry.js +0 -2
  476. package/dist/swisspost-internet-header/p-6bb07a80.entry.js.map +0 -1
  477. package/dist/swisspost-internet-header/p-6dc0fc47.system.entry.js +0 -2
  478. package/dist/swisspost-internet-header/p-6dc0fc47.system.entry.js.map +0 -1
  479. package/dist/swisspost-internet-header/p-75dde9a2.entry.js +0 -7
  480. package/dist/swisspost-internet-header/p-75dde9a2.entry.js.map +0 -1
  481. package/dist/swisspost-internet-header/p-781ea7c2.system.entry.js +0 -2
  482. package/dist/swisspost-internet-header/p-781ea7c2.system.entry.js.map +0 -1
  483. package/dist/swisspost-internet-header/p-88aac12c.system.js +0 -2
  484. package/dist/swisspost-internet-header/p-8bf099a8.js.map +0 -1
  485. package/dist/swisspost-internet-header/p-8e0a4d18.js +0 -3
  486. package/dist/swisspost-internet-header/p-8e0a4d18.js.map +0 -1
  487. package/dist/swisspost-internet-header/p-a2f9d462.js.map +0 -1
  488. package/dist/swisspost-internet-header/p-a5f5bb55.js +0 -2
  489. package/dist/swisspost-internet-header/p-a5f5bb55.js.map +0 -1
  490. package/dist/swisspost-internet-header/p-a691c791.system.entry.js +0 -2
  491. package/dist/swisspost-internet-header/p-b4c0cb5a.system.js +0 -13
  492. package/dist/swisspost-internet-header/p-b5758d6a.system.entry.js +0 -7
  493. package/dist/swisspost-internet-header/p-b5758d6a.system.entry.js.map +0 -1
  494. package/dist/swisspost-internet-header/p-b762fba9.js.map +0 -1
  495. package/dist/swisspost-internet-header/p-bf99c127.system.js.map +0 -1
  496. package/dist/swisspost-internet-header/p-cbba35a8.entry.js +0 -2
  497. package/dist/swisspost-internet-header/p-cbba35a8.entry.js.map +0 -1
  498. package/dist/swisspost-internet-header/p-cf9fb780.system.entry.js +0 -2
  499. package/dist/swisspost-internet-header/p-db8023e1.entry.js +0 -2
  500. package/dist/swisspost-internet-header/p-db8023e1.entry.js.map +0 -1
  501. package/dist/swisspost-internet-header/p-fed8d74d.system.entry.js +0 -2
  502. /package/dist/esm-es5/{if.component-0fe54385.js.map → if.component-3a779aca.js.map} +0 -0
  503. /package/dist/esm-es5/{svg-icon.component-f2fda279.js.map → svg-icon.component-7295f7cc.js.map} +0 -0
  504. /package/dist/esm-es5/{svg-sprite.component-c140294e.js.map → svg-sprite.component-29439a18.js.map} +0 -0
  505. /package/dist/esm-es5/{ui.service-2fbc9c45.js.map → ui.service-a71cf490.js.map} +0 -0
  506. /package/dist/esm-es5/{utils-ee79122f.js.map → utils-3a8ff48f.js.map} +0 -0
  507. /package/dist/swisspost-internet-header/{p-50ea2036.system.js.map → p-0d61ca4e.system.entry.js.map} +0 -0
  508. /package/dist/swisspost-internet-header/{p-0c5624c0.system.js.map → p-0e776d6e.system.js.map} +0 -0
  509. /package/dist/swisspost-internet-header/{p-fb82b748.system.js.map → p-74fea9b8.system.js.map} +0 -0
  510. /package/dist/swisspost-internet-header/{p-88aac12c.system.js.map → p-986a52bc.system.js.map} +0 -0
  511. /package/dist/swisspost-internet-header/{p-55bfdf22.system.js.map → p-a7de7323.system.js.map} +0 -0
  512. /package/dist/swisspost-internet-header/{p-edb2802d.system.js.map → p-f2a43ce2.system.js.map} +0 -0
@@ -1,16 +1,17 @@
1
- import { Host, h } from '@stencil/core';
2
- import { debounce } from 'throttle-debounce';
3
- import { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } 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';
1
+ import { h, Host } from "@stencil/core";
2
+ import { debounce } from "throttle-debounce";
3
+ import { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } 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
11
  export class PostInternetBreadcrumbs {
12
12
  constructor() {
13
13
  this.customItems = undefined;
14
+ this.hideButtons = false;
14
15
  this.customBreadcrumbItems = undefined;
15
16
  this.overlayVisible = undefined;
16
17
  this.isConcatenated = undefined;
@@ -189,7 +190,7 @@ export class PostInternetBreadcrumbs {
189
190
  }
190
191
  render() {
191
192
  // There is something wrong entirely
192
- // eslint-disable-next-line @stencil/strict-boolean-conditions
193
+ // eslint-disable-next-line @stencil-community/strict-boolean-conditions
193
194
  if (!state) {
194
195
  console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);
195
196
  return null;
@@ -199,7 +200,7 @@ export class PostInternetBreadcrumbs {
199
200
  return null;
200
201
  }
201
202
  // Config has loaded but there is no breadcrumbs config
202
- // eslint-disable-next-line @stencil/strict-boolean-conditions
203
+ // eslint-disable-next-line @stencil-community/strict-boolean-conditions
203
204
  if (!state.localizedConfig.breadcrumb) {
204
205
  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.`);
205
206
  return null;
@@ -211,7 +212,7 @@ export class PostInternetBreadcrumbs {
211
212
  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("nav", { "aria-label": breadcrumbConfig.a11yLabel, ref: e => e !== undefined && this.handleVisibleNavRef(e), class: {
212
213
  'breadcrumbs-nav': true,
213
214
  'visually-hidden': !this.refsReady,
214
- } }, 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)));
215
+ } }, h(BreadcrumbList, { items: items, dropdownOpen: this.dropdownOpen, isConcatenated: this.isConcatenated, clickHandler: () => this.handleToggleDropdown() })), !this.hideButtons && (h("div", { class: "breadcrumb-buttons" }, breadcrumbConfig.buttons.map(button => (h("button", { class: "btn btn-secondary btn-icon", key: button.text, "aria-expanded": `${Boolean(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)));
215
216
  }
216
217
  static get is() { return "swisspost-internet-breadcrumbs"; }
217
218
  static get encapsulation() { return "shadow"; }
@@ -236,7 +237,8 @@ export class PostInternetBreadcrumbs {
236
237
  "references": {
237
238
  "IBreadcrumbItem": {
238
239
  "location": "import",
239
- "path": "../../models/breadcrumbs.model"
240
+ "path": "../../models/breadcrumbs.model",
241
+ "id": "src/models/breadcrumbs.model.ts::IBreadcrumbItem"
240
242
  }
241
243
  }
242
244
  },
@@ -248,6 +250,24 @@ export class PostInternetBreadcrumbs {
248
250
  },
249
251
  "attribute": "custom-items",
250
252
  "reflect": false
253
+ },
254
+ "hideButtons": {
255
+ "type": "boolean",
256
+ "mutable": false,
257
+ "complexType": {
258
+ "original": "boolean",
259
+ "resolved": "boolean",
260
+ "references": {}
261
+ },
262
+ "required": false,
263
+ "optional": false,
264
+ "docs": {
265
+ "tags": [],
266
+ "text": "Hide all buttons."
267
+ },
268
+ "attribute": "hide-buttons",
269
+ "reflect": false,
270
+ "defaultValue": "false"
251
271
  }
252
272
  };
253
273
  }
@@ -274,11 +294,13 @@ export class PostInternetBreadcrumbs {
274
294
  }],
275
295
  "references": {
276
296
  "Promise": {
277
- "location": "global"
297
+ "location": "global",
298
+ "id": "global::Promise"
278
299
  },
279
300
  "IBreadcrumbOverlay": {
280
301
  "location": "import",
281
- "path": "../../models/breadcrumbs.model"
302
+ "path": "../../models/breadcrumbs.model",
303
+ "id": "src/models/breadcrumbs.model.ts::IBreadcrumbOverlay"
282
304
  }
283
305
  },
284
306
  "return": "Promise<void>"
@@ -1 +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, Method } from '@stencil/core';\nimport { debounce } from 'throttle-debounce';\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { state } from '../../data/store';\nimport { OverlayComponent } from './components/overlay.component';\nimport { iframeResizer } from 'iframe-resizer';\nimport { IBreadcrumbItem, IBreadcrumbOverlay } from '../../models/breadcrumbs.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { BreadcrumbList } from './components/breadcrumb-list.component';\nimport { prefersReducedMotion } from '../../utils/utils';\n\n@Component({\n tag: 'swisspost-internet-breadcrumbs',\n styleUrl: 'post-internet-breadcrumbs.scss',\n shadow: true,\n})\nexport class PostInternetBreadcrumbs {\n @Prop() customItems?: string | IBreadcrumbItem[];\n @State() customBreadcrumbItems?: IBreadcrumbItem[];\n @State() overlayVisible: boolean;\n @State() isConcatenated: boolean; // Don't set an initial value, this has to be calculated first, otherwise reactivity problems ensue\n @State() dropdownOpen: boolean = false;\n @State() refsReady: boolean = false;\n @Element() host: Element;\n\n\n /**\n * Toggle an overlay associated with a button.\n * @param {IBreadcrumbOverlay['id']} overlayId\n */\n @Method()\n async toggleOverlayById(overlayId: IBreadcrumbOverlay['id']): Promise<void> {\n const buttons = state.localizedConfig?.breadcrumb.buttons;\n const overlay = buttons?.find(button => button.overlay.id === overlayId)?.overlay;\n\n if(!overlay){\n console.warn(\n `Internet Header: Failed to toggle overlay with id #${overlayId} as it was not found in the breadcrumb buttons config.`,\n );\n return;\n }\n\n this.toggleOverlay(overlay)\n }\n\n private controlNavRef?: HTMLElement;\n private visibleNavRef?: HTMLElement;\n private currentOverlay: IBreadcrumbOverlay;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number;\n private openAnimation: Animation;\n private loadedAnimation: Animation | undefined;\n\n connectedCallback() {\n this.debouncedResize = debounce(200, this.handleResize.bind(this));\n window.addEventListener('resize', this.debouncedResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.debouncedResize);\n window.removeEventListener('click', this.handleWindowClick);\n clearAllBodyScrollLocks();\n }\n\n async componentWillLoad() {\n // Wait for the config to arrive, then render the header\n try {\n this.customBreadcrumbItems =\n typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;\n } catch (error) {\n console.error(error);\n }\n }\n\n componentDidLoad() {\n // Initially check if breadcrumb items are concatenated\n window.requestAnimationFrame(() => {\n this.handleResize();\n });\n }\n\n @Watch('customItems')\n handleCustomConfigChange(newValue: string | IBreadcrumbItem[]) {\n try {\n this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n } catch (error) {\n console.error(error);\n }\n }\n\n handleResize() {\n // Catch and exclude vertical resize events, e.g. scrolling in iPhone\n if (window.innerWidth === this.lastWindowWidth) {\n return;\n }\n this.lastWindowWidth = window.innerWidth;\n this.checkConcatenation();\n }\n\n checkConcatenation() {\n if (this.controlNavRef && this.visibleNavRef) {\n this.refsReady = true;\n\n // Delay the check\n window.requestAnimationFrame(() => {\n if (this.controlNavRef && this.visibleNavRef) {\n this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;\n }\n });\n }\n }\n\n toggleOverlay(overlay: IBreadcrumbOverlay, force?: boolean) {\n const newVisibility = force ?? !this.overlayVisible;\n\n if (newVisibility) {\n // Will trigger overlayRef() once the HTML is rendered\n this.overlayVisible = newVisibility;\n this.currentOverlay = overlay;\n this.setBodyScroll(overlay);\n } else {\n const activeToggler = this.host.shadowRoot?.querySelector<HTMLElement>(\n '.breadcrumb-buttons [aria-expanded=\"true\"]',\n );\n\n if (this.openAnimation && this.loadedAnimation) {\n this.openAnimation.reverse();\n this.loadedAnimation.reverse();\n\n // Delay hiding overlay until after the animation finishes\n Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {\n if (activeToggler) {\n activeToggler.focus();\n }\n this.overlayVisible = newVisibility;\n this.setBodyScroll(overlay);\n });\n }\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether overlay is visible or not\n */\n setBodyScroll(overlay: IBreadcrumbOverlay) {\n if (this.overlayVisible) {\n // @ts-ignore\n disableBodyScroll(overlay, { reserveScrollBarGap: true });\n } else {\n // @ts-ignore\n enableBodyScroll(overlay);\n }\n }\n\n toggleDropdown(force?: boolean) {\n this.dropdownOpen = force ?? !this.dropdownOpen;\n\n if (this.dropdownOpen) {\n requestAnimationFrame(() => {\n document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });\n });\n }\n }\n\n handleWindowClick() {\n this.toggleDropdown(false);\n }\n\n registerIFrameResizer(iFrame: HTMLIFrameElement | undefined) {\n if (!iFrame) {\n return;\n }\n\n iFrame.addEventListener('load', () => {\n iframeResizer(\n {\n heightCalculationMethod: 'taggedElement',\n scrolling: true,\n checkOrigin: false,\n },\n iFrame,\n );\n const duration = prefersReducedMotion ? 0 : 300;\n this.loadedAnimation = iFrame.parentElement?.animate(\n [{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }],\n { duration, fill: 'forwards' },\n );\n iFrame.parentElement?.classList.add('loaded');\n this.loadedAnimation?.finished.then(() => {\n iFrame.parentElement?.focus();\n });\n });\n }\n\n /**\n * Reference function for the overlay element got called. It is either null (overlay closed)\n * or contains the overlay element as parameter.\n * @param e Overlay element or null\n * @returns void\n */\n overlayRef(e: HTMLElement | undefined) {\n if (!e) {\n return;\n }\n\n const duration = prefersReducedMotion ? 0 : 500;\n this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {\n duration,\n fill: 'forwards',\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key.toLowerCase() === 'escape') {\n this.toggleOverlay(this.currentOverlay, false);\n }\n }\n\n private handleToggleDropdown() {\n this.toggleDropdown();\n }\n\n private handleToggleOverlay() {\n this.toggleOverlay(this.currentOverlay, false);\n }\n\n private handleControlNavRef(element: HTMLElement) {\n this.controlNavRef = element;\n this.checkConcatenation();\n }\n\n private handleVisibleNavRef(element: HTMLElement) {\n this.visibleNavRef = element;\n this.checkConcatenation();\n }\n\n render() {\n // There is something wrong entirely\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n if (!state) {\n console.warn(\n `Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`,\n );\n return null;\n }\n\n // Config is not loaded yet\n if (!state.localizedConfig) {\n return null;\n }\n\n // Config has loaded but there is no breadcrumbs config\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n if (!state.localizedConfig.breadcrumb) {\n console.warn(\n `Internet Header: Current project \"${state.projectId}\" does not include a breadcrumb config. The breadcrumbs will not be rendered. Remove `,\n document.querySelector('swisspost-internet-breadcrumbs'),\n `from your markup or configure the breadcrumbs in your portal config to stop seeing this warning.`,\n );\n return null;\n }\n\n const breadcrumbConfig = state.localizedConfig.breadcrumb;\n const items =\n this.customBreadcrumbItems !== undefined\n ? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]\n : breadcrumbConfig.items;\n\n return (\n <Host>\n <SvgSprite />\n <div class=\"breadcrumbs\">\n <div class=\"hidden-control-breadcrumbs\" aria-hidden=\"true\" tabindex=\"-1\">\n <nav class=\"breadcrumbs-nav\" ref={e => e !== undefined && this.handleControlNavRef(e)}>\n <BreadcrumbList\n items={items}\n focusable={false}\n clickHandler={() => {}}\n ></BreadcrumbList>\n </nav>\n </div>\n <nav\n aria-label={breadcrumbConfig.a11yLabel}\n ref={e => e !== undefined && this.handleVisibleNavRef(e)}\n class={{\n 'breadcrumbs-nav': true,\n 'visually-hidden': !this.refsReady,\n }}\n >\n <BreadcrumbList\n items={items}\n dropdownOpen={this.dropdownOpen}\n isConcatenated={this.isConcatenated}\n clickHandler={() => this.handleToggleDropdown()}\n ></BreadcrumbList>\n </nav>\n <div class=\"breadcrumb-buttons\">\n {breadcrumbConfig.buttons.map(button => (\n <button\n class=\"btn btn-secondary btn-icon\"\n key={button.text}\n aria-expanded={`${this.overlayVisible && this.currentOverlay === button.overlay}`}\n onClick={() => this.toggleOverlay(button.overlay, true)}\n >\n <SvgIcon name={button.svgIcon.name}></SvgIcon>\n <span class=\"visually-hidden\">{button.text}</span>\n </button>\n ))}\n </div>\n {this.overlayVisible && (\n <OverlayComponent\n overlayRef={e => e !== undefined && this.overlayRef(e)}\n iFrameRef={e => e !== undefined && this.registerIFrameResizer(e)}\n overlay={this.currentOverlay}\n onClick={() => this.handleToggleOverlay()}\n onKeyDown={(e: KeyboardEvent) => this.handleKeyDown(e)}\n closeButtonText={state.localizedConfig.header.translations.closeButtonText}\n ></OverlayComponent>\n )}\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
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, Element, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport { debounce } from 'throttle-debounce';\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { state } from '../../data/store';\nimport { OverlayComponent } from './components/overlay.component';\nimport { iframeResizer } from 'iframe-resizer';\nimport { IBreadcrumbItem, IBreadcrumbOverlay } from '../../models/breadcrumbs.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { BreadcrumbList } from './components/breadcrumb-list.component';\nimport { prefersReducedMotion } from '../../utils/utils';\n\n@Component({\n tag: 'swisspost-internet-breadcrumbs',\n styleUrl: 'post-internet-breadcrumbs.scss',\n shadow: true,\n})\nexport class PostInternetBreadcrumbs {\n @Prop() customItems?: string | IBreadcrumbItem[];\n\n /**\n * Hide all buttons.\n */\n @Prop() hideButtons: boolean = false;\n\n @State() customBreadcrumbItems?: IBreadcrumbItem[];\n @State() overlayVisible: boolean;\n @State() isConcatenated: boolean; // Don't set an initial value, this has to be calculated first, otherwise reactivity problems ensue\n @State() dropdownOpen: boolean = false;\n @State() refsReady: boolean = false;\n @Element() host: HTMLSwisspostInternetBreadcrumbsElement;\n\n /**\n * Toggle an overlay associated with a button.\n * @param {IBreadcrumbOverlay['id']} overlayId\n */\n @Method()\n async toggleOverlayById(overlayId: IBreadcrumbOverlay['id']): Promise<void> {\n const buttons = state.localizedConfig?.breadcrumb.buttons;\n const overlay = buttons?.find(button => button.overlay.id === overlayId)?.overlay;\n\n if (!overlay) {\n console.warn(\n `Internet Header: Failed to toggle overlay with id #${overlayId} as it was not found in the breadcrumb buttons config.`,\n );\n return;\n }\n\n this.toggleOverlay(overlay);\n }\n\n private controlNavRef?: HTMLElement;\n private visibleNavRef?: HTMLElement;\n private currentOverlay: IBreadcrumbOverlay;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number;\n private openAnimation: Animation;\n private loadedAnimation: Animation | undefined;\n\n connectedCallback() {\n this.debouncedResize = debounce(200, this.handleResize.bind(this));\n window.addEventListener('resize', this.debouncedResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.debouncedResize);\n window.removeEventListener('click', this.handleWindowClick);\n clearAllBodyScrollLocks();\n }\n\n async componentWillLoad() {\n // Wait for the config to arrive, then render the header\n try {\n this.customBreadcrumbItems =\n typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;\n } catch (error) {\n console.error(error);\n }\n }\n\n componentDidLoad() {\n // Initially check if breadcrumb items are concatenated\n window.requestAnimationFrame(() => {\n this.handleResize();\n });\n }\n\n @Watch('customItems')\n handleCustomConfigChange(newValue: string | IBreadcrumbItem[]) {\n try {\n this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n } catch (error) {\n console.error(error);\n }\n }\n\n handleResize() {\n // Catch and exclude vertical resize events, e.g. scrolling in iPhone\n if (window.innerWidth === this.lastWindowWidth) {\n return;\n }\n this.lastWindowWidth = window.innerWidth;\n this.checkConcatenation();\n }\n\n checkConcatenation() {\n if (this.controlNavRef && this.visibleNavRef) {\n this.refsReady = true;\n\n // Delay the check\n window.requestAnimationFrame(() => {\n if (this.controlNavRef && this.visibleNavRef) {\n this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;\n }\n });\n }\n }\n\n toggleOverlay(overlay: IBreadcrumbOverlay, force?: boolean) {\n const newVisibility = force ?? !this.overlayVisible;\n\n if (newVisibility) {\n // Will trigger overlayRef() once the HTML is rendered\n this.overlayVisible = newVisibility;\n this.currentOverlay = overlay;\n this.setBodyScroll(overlay);\n } else {\n const activeToggler = this.host.shadowRoot?.querySelector<HTMLElement>(\n '.breadcrumb-buttons [aria-expanded=\"true\"]',\n );\n\n if (this.openAnimation && this.loadedAnimation) {\n this.openAnimation.reverse();\n this.loadedAnimation.reverse();\n\n // Delay hiding overlay until after the animation finishes\n Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {\n if (activeToggler) {\n activeToggler.focus();\n }\n this.overlayVisible = newVisibility;\n this.setBodyScroll(overlay);\n });\n }\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether overlay is visible or not\n */\n setBodyScroll(overlay: IBreadcrumbOverlay) {\n if (this.overlayVisible) {\n // @ts-ignore\n disableBodyScroll(overlay, { reserveScrollBarGap: true });\n } else {\n // @ts-ignore\n enableBodyScroll(overlay);\n }\n }\n\n toggleDropdown(force?: boolean) {\n this.dropdownOpen = force ?? !this.dropdownOpen;\n\n if (this.dropdownOpen) {\n requestAnimationFrame(() => {\n document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });\n });\n }\n }\n\n handleWindowClick() {\n this.toggleDropdown(false);\n }\n\n registerIFrameResizer(iFrame: HTMLIFrameElement | undefined) {\n if (!iFrame) {\n return;\n }\n\n iFrame.addEventListener('load', () => {\n iframeResizer(\n {\n heightCalculationMethod: 'taggedElement',\n scrolling: true,\n checkOrigin: false,\n },\n iFrame,\n );\n const duration = prefersReducedMotion ? 0 : 300;\n this.loadedAnimation = iFrame.parentElement?.animate(\n [{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }],\n { duration, fill: 'forwards' },\n );\n iFrame.parentElement?.classList.add('loaded');\n this.loadedAnimation?.finished.then(() => {\n iFrame.parentElement?.focus();\n });\n });\n }\n\n /**\n * Reference function for the overlay element got called. It is either null (overlay closed)\n * or contains the overlay element as parameter.\n * @param e Overlay element or null\n * @returns void\n */\n overlayRef(e: HTMLElement | undefined) {\n if (!e) {\n return;\n }\n\n const duration = prefersReducedMotion ? 0 : 500;\n this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {\n duration,\n fill: 'forwards',\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key.toLowerCase() === 'escape') {\n this.toggleOverlay(this.currentOverlay, false);\n }\n }\n\n private handleToggleDropdown() {\n this.toggleDropdown();\n }\n\n private handleToggleOverlay() {\n this.toggleOverlay(this.currentOverlay, false);\n }\n\n private handleControlNavRef(element: HTMLElement) {\n this.controlNavRef = element;\n this.checkConcatenation();\n }\n\n private handleVisibleNavRef(element: HTMLElement) {\n this.visibleNavRef = element;\n this.checkConcatenation();\n }\n\n render() {\n // There is something wrong entirely\n // eslint-disable-next-line @stencil-community/strict-boolean-conditions\n if (!state) {\n console.warn(\n `Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`,\n );\n return null;\n }\n\n // Config is not loaded yet\n if (!state.localizedConfig) {\n return null;\n }\n\n // Config has loaded but there is no breadcrumbs config\n // eslint-disable-next-line @stencil-community/strict-boolean-conditions\n if (!state.localizedConfig.breadcrumb) {\n console.warn(\n `Internet Header: Current project \"${state.projectId}\" does not include a breadcrumb config. The breadcrumbs will not be rendered. Remove `,\n document.querySelector('swisspost-internet-breadcrumbs'),\n `from your markup or configure the breadcrumbs in your portal config to stop seeing this warning.`,\n );\n return null;\n }\n\n const breadcrumbConfig = state.localizedConfig.breadcrumb;\n const items =\n this.customBreadcrumbItems !== undefined\n ? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]\n : breadcrumbConfig.items;\n\n return (\n <Host>\n <SvgSprite />\n <div class=\"breadcrumbs\">\n <div class=\"hidden-control-breadcrumbs\" aria-hidden=\"true\" tabindex=\"-1\">\n <nav class=\"breadcrumbs-nav\" ref={e => e !== undefined && this.handleControlNavRef(e)}>\n <BreadcrumbList\n items={items}\n focusable={false}\n clickHandler={() => {}}\n ></BreadcrumbList>\n </nav>\n </div>\n <nav\n aria-label={breadcrumbConfig.a11yLabel}\n ref={e => e !== undefined && this.handleVisibleNavRef(e)}\n class={{\n 'breadcrumbs-nav': true,\n 'visually-hidden': !this.refsReady,\n }}\n >\n <BreadcrumbList\n items={items}\n dropdownOpen={this.dropdownOpen}\n isConcatenated={this.isConcatenated}\n clickHandler={() => this.handleToggleDropdown()}\n ></BreadcrumbList>\n </nav>\n {!this.hideButtons && (\n <div class=\"breadcrumb-buttons\">\n {breadcrumbConfig.buttons.map(button => (\n <button\n class=\"btn btn-secondary btn-icon\"\n key={button.text}\n aria-expanded={`${Boolean(\n this.overlayVisible && this.currentOverlay === button.overlay,\n )}`}\n onClick={() => this.toggleOverlay(button.overlay, true)}\n >\n <SvgIcon name={button.svgIcon.name}></SvgIcon>\n <span class=\"visually-hidden\">{button.text}</span>\n </button>\n ))}\n </div>\n )}\n {this.overlayVisible && (\n <OverlayComponent\n overlayRef={e => e !== undefined && this.overlayRef(e)}\n iFrameRef={e => e !== undefined && this.registerIFrameResizer(e)}\n overlay={this.currentOverlay}\n onClick={() => this.handleToggleOverlay()}\n onKeyDown={(e: KeyboardEvent) => this.handleKeyDown(e)}\n closeButtonText={state.localizedConfig.header.translations.closeButtonText}\n ></OverlayComponent>\n )}\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { h } from '@stencil/core';
2
- import { PostFooterBlockSocials } from './post-footer-block-socials.component';
1
+ import { h } from "@stencil/core";
2
+ import { PostFooterBlockSocials } from "./post-footer-block-socials.component";
3
3
  export const PostFooterBlockAddress = (props) => {
4
4
  return (h("div", { class: "block-address" }, h("h3", null, props.block.title), props.block.content &&
5
5
  props.block.content
@@ -1,4 +1,4 @@
1
- import { h } from '@stencil/core';
1
+ import { h } from "@stencil/core";
2
2
  const getContentHours = (hours) => hours.replace(/<[^>]*>?/gm, '');
3
3
  const callUnblu = () => {
4
4
  if (typeof window['unbluLSLoad'] === 'function') {
@@ -1,4 +1,4 @@
1
- import { h } from '@stencil/core';
1
+ import { h } from "@stencil/core";
2
2
  export const PostFooterBlockCustom = (props) => {
3
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
4
  props.block.links.map(link => (h("li", { key: link.url }, h("a", { class: "flyout-link", href: link.url, target: link.target }, link.text))))))));
@@ -1,4 +1,4 @@
1
- import { h } from '@stencil/core';
1
+ import { h } from "@stencil/core";
2
2
  export const PostFooterBlockList = (props) => {
3
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
4
  props.block.links.map(link => (h("li", { key: link.url }, h("a", { class: "flyout-link", href: link.url, target: link.target }, link.text)))))));
@@ -1,4 +1,4 @@
1
- import { h } from '@stencil/core';
1
+ import { h } from "@stencil/core";
2
2
  export const PostFooterBlockSocials = (props) => {
3
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
4
  };