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

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 (447) hide show
  1. package/LICENSE +202 -202
  2. package/dist/cjs/{if.component-313f59b8.js → if.component-51d000af.js} +6 -6
  3. package/dist/cjs/if.component-51d000af.js.map +1 -0
  4. package/dist/cjs/{klp-widget.controller-84642428.js → klp-widget.controller-d8941c4e.js} +4811 -4811
  5. package/dist/cjs/{klp-widget.controller-84642428.js.map → klp-widget.controller-d8941c4e.js.map} +1 -1
  6. package/dist/cjs/{language.service-a80ae01d.js → language.service-7dbf739d.js} +141 -141
  7. package/dist/cjs/language.service-7dbf739d.js.map +1 -0
  8. package/dist/cjs/post-klp-login-widget.cjs.entry.js +33 -33
  9. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  10. package/dist/cjs/post-language-switch.cjs.entry.js +88 -88
  11. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  12. package/dist/cjs/post-logo.cjs.entry.js +51 -51
  13. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  14. package/dist/cjs/post-main-navigation.cjs.entry.js +227 -227
  15. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  16. package/dist/cjs/post-meta-navigation.cjs.entry.js +15 -15
  17. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  18. package/dist/cjs/post-search.cjs.entry.js +556 -534
  19. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  20. package/dist/cjs/post-skiplinks.cjs.entry.js +41 -41
  21. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  22. package/dist/cjs/{store-47e14589.js → store-d0d514fc.js} +20 -13
  23. package/dist/cjs/store-d0d514fc.js.map +1 -0
  24. package/dist/cjs/{svg-icon.component-10fbda11.js → svg-icon.component-be93f876.js} +2 -2
  25. package/dist/cjs/svg-icon.component-be93f876.js.map +1 -0
  26. package/dist/cjs/{svg-sprite.component-c3b454b3.js → svg-sprite.component-1bd7a058.js} +40 -40
  27. package/dist/cjs/svg-sprite.component-1bd7a058.js.map +1 -0
  28. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +370 -392
  29. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  30. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +125 -125
  31. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  32. package/dist/cjs/swisspost-internet-header.cjs.entry.js +608 -608
  33. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  34. package/dist/cjs/{ui.service-db4a8252.js → ui.service-e1ebb6d4.js} +28 -28
  35. package/dist/cjs/ui.service-e1ebb6d4.js.map +1 -0
  36. package/dist/cjs/{utils-b6014257.js → utils-60853c5d.js} +15 -15
  37. package/dist/cjs/utils-60853c5d.js.map +1 -0
  38. package/dist/collection/assets/config/test-configuration.json +4067 -4067
  39. package/dist/collection/assets/i18n/translations.js +38 -38
  40. package/dist/collection/assets/i18n/translations.js.map +1 -1
  41. package/dist/collection/assets/js/sockjs-client.js +5134 -5134
  42. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +11 -11
  43. package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +1 -1
  44. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +42 -42
  45. package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +1 -1
  46. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +8 -8
  47. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -1
  48. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +6 -6
  49. package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +1 -1
  50. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +12 -12
  51. package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +1 -1
  52. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +253 -253
  53. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  54. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +12 -12
  55. package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +1 -1
  56. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +24 -24
  57. package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +1 -1
  58. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +6 -6
  59. package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +1 -1
  60. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +6 -6
  61. package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +1 -1
  62. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +5 -5
  63. package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +1 -1
  64. package/dist/collection/components/post-internet-footer/post-internet-footer.js +86 -86
  65. package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -1
  66. package/dist/collection/components/post-internet-header/post-internet-header.js +676 -676
  67. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  68. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +14 -14
  69. package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +1 -1
  70. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +67 -67
  71. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
  72. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +9 -9
  73. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
  74. package/dist/collection/components/post-language-switch/post-language-switch.js +186 -186
  75. package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
  76. package/dist/collection/components/post-logo/logo-sprite.component.js +4 -4
  77. package/dist/collection/components/post-logo/logo-sprite.component.js.map +1 -1
  78. package/dist/collection/components/post-logo/post-logo.js +60 -60
  79. package/dist/collection/components/post-logo/post-logo.js.map +1 -1
  80. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +13 -13
  81. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -1
  82. package/dist/collection/components/post-main-navigation/post-main-navigation.css +1 -1
  83. package/dist/collection/components/post-main-navigation/post-main-navigation.js +347 -347
  84. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  85. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +67 -67
  86. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
  87. package/dist/collection/components/post-search/post-search.js +362 -362
  88. package/dist/collection/components/post-search/post-search.js.map +1 -1
  89. package/dist/collection/components/post-skiplinks/post-skiplinks.js +51 -51
  90. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  91. package/dist/collection/data/store.js +11 -11
  92. package/dist/collection/data/store.js.map +1 -1
  93. package/dist/collection/index.js +2 -2
  94. package/dist/collection/index.js.map +1 -1
  95. package/dist/collection/models/breadcrumbs.model.js +2 -2
  96. package/dist/collection/models/breadcrumbs.model.js.map +1 -1
  97. package/dist/collection/models/coveo.model.js +2 -2
  98. package/dist/collection/models/coveo.model.js.map +1 -1
  99. package/dist/collection/models/footer.model.js +2 -2
  100. package/dist/collection/models/footer.model.js.map +1 -1
  101. package/dist/collection/models/general.model.js +2 -2
  102. package/dist/collection/models/general.model.js.map +1 -1
  103. package/dist/collection/models/geocode.model.js +10 -10
  104. package/dist/collection/models/geocode.model.js.map +1 -1
  105. package/dist/collection/models/header.model.js +2 -2
  106. package/dist/collection/models/header.model.js.map +1 -1
  107. package/dist/collection/models/implementor.model.js +2 -2
  108. package/dist/collection/models/implementor.model.js.map +1 -1
  109. package/dist/collection/models/language.model.js +2 -2
  110. package/dist/collection/models/language.model.js.map +1 -1
  111. package/dist/collection/models/track-and-trace.model.js +2 -2
  112. package/dist/collection/models/track-and-trace.model.js.map +1 -1
  113. package/dist/collection/services/config.service.js +170 -170
  114. package/dist/collection/services/config.service.js.map +1 -1
  115. package/dist/collection/services/language.service.js +107 -107
  116. package/dist/collection/services/language.service.js.map +1 -1
  117. package/dist/collection/services/route.service.js +163 -163
  118. package/dist/collection/services/route.service.js.map +1 -1
  119. package/dist/collection/services/search/coveo.service.js +34 -34
  120. package/dist/collection/services/search/coveo.service.js.map +1 -1
  121. package/dist/collection/services/search/coveo.settings.js +19 -19
  122. package/dist/collection/services/search/coveo.settings.js.map +1 -1
  123. package/dist/collection/services/search/parcel.service.js +54 -54
  124. package/dist/collection/services/search/parcel.service.js.map +1 -1
  125. package/dist/collection/services/search/places.service.js +95 -95
  126. package/dist/collection/services/search/places.service.js.map +1 -1
  127. package/dist/collection/services/search/places.settings.js +16 -16
  128. package/dist/collection/services/search/places.settings.js.map +1 -1
  129. package/dist/collection/services/search/search-utilities.js +26 -26
  130. package/dist/collection/services/search/search-utilities.js.map +1 -1
  131. package/dist/collection/services/search/search.service.js +42 -42
  132. package/dist/collection/services/search/search.service.js.map +1 -1
  133. package/dist/collection/services/ui.service.js +30 -30
  134. package/dist/collection/services/ui.service.js.map +1 -1
  135. package/dist/collection/tests/setup-tests.js +14 -14
  136. package/dist/collection/tests/setup-tests.js.map +1 -1
  137. package/dist/collection/utils/highlighted.component.js +11 -11
  138. package/dist/collection/utils/highlighted.component.js.map +1 -1
  139. package/dist/collection/utils/if.component.js +7 -7
  140. package/dist/collection/utils/if.component.js.map +1 -1
  141. package/dist/collection/utils/svg-icon.component.js +3 -3
  142. package/dist/collection/utils/svg-icon.component.js.map +1 -1
  143. package/dist/collection/utils/svg-sprite.component.js +3 -3
  144. package/dist/collection/utils/svg-sprite.component.js.map +1 -1
  145. package/dist/collection/utils/utils.js +16 -16
  146. package/dist/collection/utils/utils.js.map +1 -1
  147. package/dist/components/klp-widget.controller.js +4810 -4810
  148. package/dist/components/klp-widget.controller.js.map +1 -1
  149. package/dist/components/language.service.js +139 -139
  150. package/dist/components/language.service.js.map +1 -1
  151. package/dist/components/post-klp-login-widget2.js +48 -48
  152. package/dist/components/post-klp-login-widget2.js.map +1 -1
  153. package/dist/components/post-language-switch2.js +102 -102
  154. package/dist/components/post-language-switch2.js.map +1 -1
  155. package/dist/components/post-logo2.js +67 -67
  156. package/dist/components/post-logo2.js.map +1 -1
  157. package/dist/components/post-main-navigation2.js +244 -244
  158. package/dist/components/post-main-navigation2.js.map +1 -1
  159. package/dist/components/post-meta-navigation2.js +32 -32
  160. package/dist/components/post-meta-navigation2.js.map +1 -1
  161. package/dist/components/post-search2.js +577 -555
  162. package/dist/components/post-search2.js.map +1 -1
  163. package/dist/components/post-skiplinks2.js +52 -52
  164. package/dist/components/post-skiplinks2.js.map +1 -1
  165. package/dist/components/store.js +19 -12
  166. package/dist/components/store.js.map +1 -1
  167. package/dist/components/svg-icon.component.js +1 -1
  168. package/dist/components/svg-icon.component.js.map +1 -1
  169. package/dist/components/svg-sprite.component.js +39 -39
  170. package/dist/components/svg-sprite.component.js.map +1 -1
  171. package/dist/components/swisspost-internet-breadcrumbs.js +387 -409
  172. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  173. package/dist/components/swisspost-internet-footer.js +140 -140
  174. package/dist/components/swisspost-internet-footer.js.map +1 -1
  175. package/dist/components/swisspost-internet-header.js +672 -672
  176. package/dist/components/swisspost-internet-header.js.map +1 -1
  177. package/dist/components/ui.service.js +27 -27
  178. package/dist/components/ui.service.js.map +1 -1
  179. package/dist/components/utils.js +14 -14
  180. package/dist/components/utils.js.map +1 -1
  181. package/dist/esm/{if.component-542fb8c3.js → if.component-0fe54385.js} +6 -6
  182. package/dist/esm/if.component-0fe54385.js.map +1 -0
  183. package/dist/esm/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +4811 -4811
  184. package/dist/esm/{klp-widget.controller-903e0422.js.map → klp-widget.controller-55366e6a.js.map} +1 -1
  185. package/dist/esm/{language.service-e49858e0.js → language.service-023d2711.js} +141 -141
  186. package/dist/esm/language.service-023d2711.js.map +1 -0
  187. package/dist/esm/post-klp-login-widget.entry.js +33 -33
  188. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  189. package/dist/esm/post-language-switch.entry.js +88 -88
  190. package/dist/esm/post-language-switch.entry.js.map +1 -1
  191. package/dist/esm/post-logo.entry.js +51 -51
  192. package/dist/esm/post-logo.entry.js.map +1 -1
  193. package/dist/esm/post-main-navigation.entry.js +227 -227
  194. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  195. package/dist/esm/post-meta-navigation.entry.js +15 -15
  196. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  197. package/dist/esm/post-search.entry.js +556 -534
  198. package/dist/esm/post-search.entry.js.map +1 -1
  199. package/dist/esm/post-skiplinks.entry.js +41 -41
  200. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  201. package/dist/esm/{store-d495dc07.js → store-837c3490.js} +20 -13
  202. package/dist/esm/store-837c3490.js.map +1 -0
  203. package/dist/esm/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +2 -2
  204. package/dist/esm/svg-icon.component-e09b4bf9.js.map +1 -0
  205. package/dist/esm/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +40 -40
  206. package/dist/esm/svg-sprite.component-cf60303f.js.map +1 -0
  207. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +370 -392
  208. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  209. package/dist/esm/swisspost-internet-footer.entry.js +125 -125
  210. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  211. package/dist/esm/swisspost-internet-header.entry.js +608 -608
  212. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  213. package/dist/esm/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +28 -28
  214. package/dist/esm/ui.service-2fbc9c45.js.map +1 -0
  215. package/dist/esm/{utils-5bf107ff.js → utils-ee79122f.js} +15 -15
  216. package/dist/esm/utils-ee79122f.js.map +1 -0
  217. package/dist/esm-es5/{if.component-542fb8c3.js → if.component-0fe54385.js} +1 -1
  218. package/dist/esm-es5/if.component-0fe54385.js.map +1 -0
  219. package/dist/esm-es5/{klp-widget.controller-903e0422.js → klp-widget.controller-55366e6a.js} +1 -1
  220. package/dist/{swisspost-internet-header/p-83f6cd1e.js.map → esm-es5/klp-widget.controller-55366e6a.js.map} +1 -1
  221. package/dist/esm-es5/{language.service-e49858e0.js → language.service-023d2711.js} +2 -2
  222. package/dist/esm-es5/language.service-023d2711.js.map +1 -0
  223. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  224. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  225. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  226. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  227. package/dist/esm-es5/post-logo.entry.js +1 -1
  228. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  229. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  230. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  231. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  232. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  233. package/dist/esm-es5/post-search.entry.js +1 -1
  234. package/dist/esm-es5/post-search.entry.js.map +1 -1
  235. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  236. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  237. package/dist/esm-es5/store-837c3490.js +2 -0
  238. package/dist/esm-es5/store-837c3490.js.map +1 -0
  239. package/dist/esm-es5/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +1 -1
  240. package/dist/esm-es5/svg-icon.component-e09b4bf9.js.map +1 -0
  241. package/dist/esm-es5/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +1 -1
  242. package/dist/esm-es5/svg-sprite.component-cf60303f.js.map +1 -0
  243. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
  244. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  245. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  246. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  247. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  248. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  249. package/dist/esm-es5/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +1 -1
  250. package/dist/esm-es5/ui.service-2fbc9c45.js.map +1 -0
  251. package/dist/esm-es5/{utils-5bf107ff.js → utils-ee79122f.js} +1 -1
  252. package/dist/esm-es5/utils-ee79122f.js.map +1 -0
  253. package/dist/swisspost-internet-header/assets/config/test-configuration.json +4067 -4067
  254. package/dist/swisspost-internet-header/p-06649b46.js +2 -0
  255. package/dist/swisspost-internet-header/p-06649b46.js.map +1 -0
  256. package/dist/swisspost-internet-header/{p-ec80c8fc.js → p-0942595f.js} +2 -2
  257. package/dist/swisspost-internet-header/p-0942595f.js.map +1 -0
  258. package/dist/swisspost-internet-header/{p-c29ec122.system.js → p-0c5624c0.system.js} +1 -1
  259. package/dist/swisspost-internet-header/p-0c5624c0.system.js.map +1 -0
  260. package/dist/swisspost-internet-header/{p-2eb04045.entry.js → p-0cba8ab4.entry.js} +2 -2
  261. package/dist/swisspost-internet-header/p-0cba8ab4.entry.js.map +1 -0
  262. package/dist/swisspost-internet-header/p-17a47667.system.js +1 -1
  263. package/dist/swisspost-internet-header/{p-ddcb8258.entry.js → p-26879023.entry.js} +2 -2
  264. package/dist/swisspost-internet-header/p-26879023.entry.js.map +1 -0
  265. package/dist/swisspost-internet-header/{p-cb3de015.system.entry.js → p-28e6362f.system.entry.js} +2 -2
  266. package/dist/swisspost-internet-header/p-28e6362f.system.entry.js.map +1 -0
  267. package/dist/swisspost-internet-header/{p-00fd320e.entry.js → p-322526ef.entry.js} +2 -2
  268. package/dist/swisspost-internet-header/p-322526ef.entry.js.map +1 -0
  269. package/dist/swisspost-internet-header/{p-f4ff1e9e.system.js → p-3753a678.system.js} +2 -2
  270. package/dist/swisspost-internet-header/p-3753a678.system.js.map +1 -0
  271. package/dist/swisspost-internet-header/{p-a9c4b2d0.system.entry.js → p-38d645ba.system.entry.js} +2 -2
  272. package/dist/swisspost-internet-header/p-38d645ba.system.entry.js.map +1 -0
  273. package/dist/swisspost-internet-header/p-3df823de.system.entry.js +2 -0
  274. package/dist/swisspost-internet-header/p-3df823de.system.entry.js.map +1 -0
  275. package/dist/swisspost-internet-header/{p-872a76a4.system.js → p-42695801.system.js} +1 -1
  276. package/dist/swisspost-internet-header/p-42695801.system.js.map +1 -0
  277. package/dist/swisspost-internet-header/{p-bdabd6ac.js → p-45db66a6.js} +1 -1
  278. package/dist/swisspost-internet-header/p-45db66a6.js.map +1 -0
  279. package/dist/swisspost-internet-header/p-493337e1.system.entry.js +2 -0
  280. package/dist/swisspost-internet-header/p-493337e1.system.entry.js.map +1 -0
  281. package/dist/swisspost-internet-header/{p-78f653be.system.entry.js → p-5d2fac3b.system.entry.js} +2 -2
  282. package/dist/swisspost-internet-header/p-5d2fac3b.system.entry.js.map +1 -0
  283. package/dist/swisspost-internet-header/p-62c5cf26.entry.js +2 -0
  284. package/dist/swisspost-internet-header/p-62c5cf26.entry.js.map +1 -0
  285. package/dist/swisspost-internet-header/{p-9d0a7039.entry.js → p-64cb215a.entry.js} +2 -2
  286. package/dist/swisspost-internet-header/p-64cb215a.entry.js.map +1 -0
  287. package/dist/swisspost-internet-header/{p-a51ad207.system.entry.js → p-66144e99.system.entry.js} +2 -2
  288. package/dist/swisspost-internet-header/p-66144e99.system.entry.js.map +1 -0
  289. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js +7 -0
  290. package/dist/swisspost-internet-header/p-715ebef7.system.entry.js.map +1 -0
  291. package/dist/swisspost-internet-header/p-7709ed5c.entry.js +2 -0
  292. package/dist/swisspost-internet-header/p-7709ed5c.entry.js.map +1 -0
  293. package/dist/swisspost-internet-header/{p-12baacf0.entry.js → p-77d5e07f.entry.js} +2 -2
  294. package/dist/swisspost-internet-header/p-77d5e07f.entry.js.map +1 -0
  295. package/dist/swisspost-internet-header/p-7fcba2e7.system.js +2 -0
  296. package/dist/swisspost-internet-header/p-7fcba2e7.system.js.map +1 -0
  297. package/dist/swisspost-internet-header/{p-549b62ba.system.js → p-88aac12c.system.js} +1 -1
  298. package/dist/swisspost-internet-header/p-88aac12c.system.js.map +1 -0
  299. package/dist/swisspost-internet-header/{p-0e2ec555.js → p-8bf099a8.js} +1 -1
  300. package/dist/swisspost-internet-header/p-8bf099a8.js.map +1 -0
  301. package/dist/swisspost-internet-header/{p-3eb881c3.js → p-a2f9d462.js} +1 -1
  302. package/dist/swisspost-internet-header/p-a2f9d462.js.map +1 -0
  303. package/dist/swisspost-internet-header/{p-eeff8b03.js → p-ab1dd269.js} +1 -1
  304. package/dist/swisspost-internet-header/p-ab1dd269.js.map +1 -0
  305. package/dist/swisspost-internet-header/{p-a4160d23.entry.js → p-ccb522ba.entry.js} +2 -2
  306. package/dist/swisspost-internet-header/p-ccb522ba.entry.js.map +1 -0
  307. package/dist/swisspost-internet-header/p-cfa787d7.entry.js +6 -0
  308. package/dist/swisspost-internet-header/p-cfa787d7.entry.js.map +1 -0
  309. package/dist/swisspost-internet-header/{p-8717445f.entry.js → p-d33734b5.entry.js} +2 -2
  310. package/dist/swisspost-internet-header/p-d33734b5.entry.js.map +1 -0
  311. package/dist/swisspost-internet-header/{p-c946c5b8.system.entry.js → p-db87f3e3.system.entry.js} +2 -2
  312. package/dist/swisspost-internet-header/p-db87f3e3.system.entry.js.map +1 -0
  313. package/dist/swisspost-internet-header/{p-b406315a.system.entry.js → p-e2990968.system.entry.js} +2 -2
  314. package/dist/swisspost-internet-header/p-e2990968.system.entry.js.map +1 -0
  315. package/dist/swisspost-internet-header/{p-83f6cd1e.js → p-ed24b372.js} +1 -1
  316. package/dist/swisspost-internet-header/p-ed24b372.js.map +1 -0
  317. package/dist/swisspost-internet-header/{p-9509f6c7.system.js → p-edb2802d.system.js} +1 -1
  318. package/dist/swisspost-internet-header/p-edb2802d.system.js.map +1 -0
  319. package/dist/swisspost-internet-header/{p-ee915bbe.system.js → p-ee119d2e.system.js} +1 -1
  320. package/dist/swisspost-internet-header/p-ee119d2e.system.js.map +1 -0
  321. package/dist/swisspost-internet-header/{p-883f9547.system.entry.js → p-f38f38f4.system.entry.js} +2 -2
  322. package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js.map +1 -0
  323. package/dist/swisspost-internet-header/{p-3ba40afe.js → p-f7c0cf7b.js} +1 -1
  324. package/dist/swisspost-internet-header/p-f7c0cf7b.js.map +1 -0
  325. package/dist/swisspost-internet-header/{p-4654b2af.system.js → p-ffc59851.system.js} +1 -1
  326. package/dist/swisspost-internet-header/p-ffc59851.system.js.map +1 -0
  327. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  328. package/dist/types/assets/i18n/translations.d.ts +37 -37
  329. package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +9 -9
  330. package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +12 -12
  331. package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +7 -7
  332. package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +6 -6
  333. package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +16 -16
  334. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +45 -45
  335. package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +5 -5
  336. package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +6 -6
  337. package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +4 -4
  338. package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +5 -5
  339. package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +5 -5
  340. package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +10 -10
  341. package/dist/types/components/post-internet-header/post-internet-header.d.ts +124 -124
  342. package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +3 -3
  343. package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +10 -10
  344. package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +6 -6
  345. package/dist/types/components/post-language-switch/post-language-switch.d.ts +27 -27
  346. package/dist/types/components/post-logo/logo-sprite.component.d.ts +4 -4
  347. package/dist/types/components/post-logo/post-logo.d.ts +11 -11
  348. package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +8 -8
  349. package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +48 -48
  350. package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +5 -5
  351. package/dist/types/components/post-search/post-search.d.ts +61 -61
  352. package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +9 -9
  353. package/dist/types/data/store.d.ts +16 -16
  354. package/dist/types/index.d.ts +1 -1
  355. package/dist/types/models/breadcrumbs.model.d.ts +36 -36
  356. package/dist/types/models/coveo.model.d.ts +22 -22
  357. package/dist/types/models/footer.model.d.ts +48 -48
  358. package/dist/types/models/general.model.d.ts +46 -46
  359. package/dist/types/models/geocode.model.d.ts +52 -52
  360. package/dist/types/models/header.model.d.ts +163 -163
  361. package/dist/types/models/implementor.model.d.ts +22 -22
  362. package/dist/types/models/language.model.d.ts +6 -6
  363. package/dist/types/models/track-and-trace.model.d.ts +25 -25
  364. package/dist/types/services/config.service.d.ts +56 -56
  365. package/dist/types/services/language.service.d.ts +65 -65
  366. package/dist/types/services/route.service.d.ts +39 -39
  367. package/dist/types/services/search/coveo.service.d.ts +9 -9
  368. package/dist/types/services/search/coveo.settings.d.ts +2 -2
  369. package/dist/types/services/search/parcel.service.d.ts +28 -28
  370. package/dist/types/services/search/places.service.d.ts +24 -24
  371. package/dist/types/services/search/places.settings.d.ts +3 -3
  372. package/dist/types/services/search/search-utilities.d.ts +15 -15
  373. package/dist/types/services/search/search.service.d.ts +24 -24
  374. package/dist/types/services/ui.service.d.ts +23 -23
  375. package/dist/types/utils/highlighted.component.d.ts +4 -4
  376. package/dist/types/utils/if.component.d.ts +4 -4
  377. package/dist/types/utils/svg-icon.component.d.ts +4 -4
  378. package/dist/types/utils/svg-sprite.component.d.ts +1 -1
  379. package/dist/types/utils/utils.d.ts +8 -8
  380. package/package.json +7 -7
  381. package/readme.md +57 -15
  382. package/dist/cjs/if.component-313f59b8.js.map +0 -1
  383. package/dist/cjs/language.service-a80ae01d.js.map +0 -1
  384. package/dist/cjs/store-47e14589.js.map +0 -1
  385. package/dist/cjs/svg-icon.component-10fbda11.js.map +0 -1
  386. package/dist/cjs/svg-sprite.component-c3b454b3.js.map +0 -1
  387. package/dist/cjs/ui.service-db4a8252.js.map +0 -1
  388. package/dist/cjs/utils-b6014257.js.map +0 -1
  389. package/dist/esm/if.component-542fb8c3.js.map +0 -1
  390. package/dist/esm/language.service-e49858e0.js.map +0 -1
  391. package/dist/esm/store-d495dc07.js.map +0 -1
  392. package/dist/esm/svg-icon.component-1b1b27a2.js.map +0 -1
  393. package/dist/esm/svg-sprite.component-ec0ac38c.js.map +0 -1
  394. package/dist/esm/ui.service-1d9b0f51.js.map +0 -1
  395. package/dist/esm/utils-5bf107ff.js.map +0 -1
  396. package/dist/esm-es5/if.component-542fb8c3.js.map +0 -1
  397. package/dist/esm-es5/klp-widget.controller-903e0422.js.map +0 -1
  398. package/dist/esm-es5/language.service-e49858e0.js.map +0 -1
  399. package/dist/esm-es5/store-d495dc07.js +0 -2
  400. package/dist/esm-es5/store-d495dc07.js.map +0 -1
  401. package/dist/esm-es5/svg-icon.component-1b1b27a2.js.map +0 -1
  402. package/dist/esm-es5/svg-sprite.component-ec0ac38c.js.map +0 -1
  403. package/dist/esm-es5/ui.service-1d9b0f51.js.map +0 -1
  404. package/dist/esm-es5/utils-5bf107ff.js.map +0 -1
  405. package/dist/swisspost-internet-header/p-00fd320e.entry.js.map +0 -1
  406. package/dist/swisspost-internet-header/p-0e2ec555.js.map +0 -1
  407. package/dist/swisspost-internet-header/p-12baacf0.entry.js.map +0 -1
  408. package/dist/swisspost-internet-header/p-2eb04045.entry.js.map +0 -1
  409. package/dist/swisspost-internet-header/p-3ba40afe.js.map +0 -1
  410. package/dist/swisspost-internet-header/p-3eb881c3.js.map +0 -1
  411. package/dist/swisspost-internet-header/p-458c9862.system.entry.js +0 -2
  412. package/dist/swisspost-internet-header/p-458c9862.system.entry.js.map +0 -1
  413. package/dist/swisspost-internet-header/p-4654b2af.system.js.map +0 -1
  414. package/dist/swisspost-internet-header/p-549b62ba.system.js.map +0 -1
  415. package/dist/swisspost-internet-header/p-5e43c5e0.js +0 -2
  416. package/dist/swisspost-internet-header/p-5e43c5e0.js.map +0 -1
  417. package/dist/swisspost-internet-header/p-74932c29.entry.js +0 -6
  418. package/dist/swisspost-internet-header/p-74932c29.entry.js.map +0 -1
  419. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js +0 -2
  420. package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js.map +0 -1
  421. package/dist/swisspost-internet-header/p-78f653be.system.entry.js.map +0 -1
  422. package/dist/swisspost-internet-header/p-7f16a46b.entry.js +0 -2
  423. package/dist/swisspost-internet-header/p-7f16a46b.entry.js.map +0 -1
  424. package/dist/swisspost-internet-header/p-8717445f.entry.js.map +0 -1
  425. package/dist/swisspost-internet-header/p-872a76a4.system.js.map +0 -1
  426. package/dist/swisspost-internet-header/p-883f9547.system.entry.js.map +0 -1
  427. package/dist/swisspost-internet-header/p-9509f6c7.system.js.map +0 -1
  428. package/dist/swisspost-internet-header/p-9d0a7039.entry.js.map +0 -1
  429. package/dist/swisspost-internet-header/p-a4160d23.entry.js.map +0 -1
  430. package/dist/swisspost-internet-header/p-a51ad207.system.entry.js.map +0 -1
  431. package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js.map +0 -1
  432. package/dist/swisspost-internet-header/p-b406315a.system.entry.js.map +0 -1
  433. package/dist/swisspost-internet-header/p-bdabd6ac.js.map +0 -1
  434. package/dist/swisspost-internet-header/p-c29ec122.system.js.map +0 -1
  435. package/dist/swisspost-internet-header/p-c69923cd.system.js +0 -2
  436. package/dist/swisspost-internet-header/p-c69923cd.system.js.map +0 -1
  437. package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js.map +0 -1
  438. package/dist/swisspost-internet-header/p-cb3de015.system.entry.js.map +0 -1
  439. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js +0 -7
  440. package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js.map +0 -1
  441. package/dist/swisspost-internet-header/p-ddcb8258.entry.js.map +0 -1
  442. package/dist/swisspost-internet-header/p-ec80c8fc.js.map +0 -1
  443. package/dist/swisspost-internet-header/p-ee915bbe.system.js.map +0 -1
  444. package/dist/swisspost-internet-header/p-eeff8b03.js.map +0 -1
  445. package/dist/swisspost-internet-header/p-f4ff1e9e.system.js.map +0 -1
  446. package/dist/swisspost-internet-header/p-fa0c66c7.entry.js +0 -2
  447. package/dist/swisspost-internet-header/p-fa0c66c7.entry.js.map +0 -1
@@ -5,15 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-5751975e.js');
6
6
  const index$1 = require('./index-e7245d60.js');
7
7
  const bodyScrollLock_esm = require('./bodyScrollLock.esm-59f17217.js');
8
- const svgIcon_component = require('./svg-icon.component-10fbda11.js');
9
- const store = require('./store-47e14589.js');
8
+ const svgIcon_component = require('./svg-icon.component-be93f876.js');
9
+ const store = require('./store-d0d514fc.js');
10
10
  const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
11
- const svgSprite_component = require('./svg-sprite.component-c3b454b3.js');
12
- const language_service = require('./language.service-a80ae01d.js');
13
- const utils = require('./utils-b6014257.js');
11
+ const svgSprite_component = require('./svg-sprite.component-1bd7a058.js');
12
+ const language_service = require('./language.service-7dbf739d.js');
13
+ const utils = require('./utils-60853c5d.js');
14
14
 
15
15
  /*!
16
- * tabbable 5.3.3
16
+ * tabbable 6.0.1
17
17
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
18
18
  */
19
19
  var candidateSelectors = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]:not(slot)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])', 'details>summary:first-of-type', 'details'];
@@ -25,23 +25,22 @@ var getRootNode = !NoElement && Element.prototype.getRootNode ? function (elemen
25
25
  } : function (element) {
26
26
  return element.ownerDocument;
27
27
  };
28
+
28
29
  /**
29
30
  * @param {Element} el container to check in
30
31
  * @param {boolean} includeContainer add container to check
31
32
  * @param {(node: Element) => boolean} filter filter candidates
32
33
  * @returns {Element[]}
33
34
  */
34
-
35
35
  var getCandidates = function getCandidates(el, includeContainer, filter) {
36
36
  var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
37
-
38
37
  if (includeContainer && matches.call(el, candidateSelector)) {
39
38
  candidates.unshift(el);
40
39
  }
41
-
42
40
  candidates = candidates.filter(filter);
43
41
  return candidates;
44
42
  };
43
+
45
44
  /**
46
45
  * @callback GetShadowRoot
47
46
  * @param {Element} element to check for shadow root
@@ -55,9 +54,9 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
55
54
  */
56
55
 
57
56
  /**
58
- * @typedef {Object} CandidatesScope
59
- * @property {Element} scope contains inner candidates
60
- * @property {Element[]} candidates
57
+ * @typedef {Object} CandidateScope
58
+ * @property {Element} scopeParent contains inner candidates
59
+ * @property {Element[]} candidates list of candidates found in the scope parent
61
60
  */
62
61
 
63
62
  /**
@@ -66,7 +65,7 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
66
65
  * if a function, implies shadow support is enabled and either returns the shadow root of an element
67
66
  * or a boolean stating if it has an undisclosed shadow root
68
67
  * @property {(node: Element) => boolean} filter filter candidates
69
- * @property {boolean} flatten if true then result will flatten any CandidatesScope into the returned list
68
+ * @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list
70
69
  * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;
71
70
  */
72
71
 
@@ -74,44 +73,38 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
74
73
  * @param {Element[]} elements list of element containers to match candidates from
75
74
  * @param {boolean} includeContainer add container list to check
76
75
  * @param {IterativeOptions} options
77
- * @returns {Array.<Element|CandidatesScope>}
76
+ * @returns {Array.<Element|CandidateScope>}
78
77
  */
79
-
80
-
81
78
  var getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {
82
79
  var candidates = [];
83
80
  var elementsToCheck = Array.from(elements);
84
-
85
81
  while (elementsToCheck.length) {
86
82
  var element = elementsToCheck.shift();
87
-
88
83
  if (element.tagName === 'SLOT') {
89
84
  // add shadow dom slot scope (slot itself cannot be focusable)
90
85
  var assigned = element.assignedElements();
91
86
  var content = assigned.length ? assigned : element.children;
92
87
  var nestedCandidates = getCandidatesIteratively(content, true, options);
93
-
94
88
  if (options.flatten) {
95
89
  candidates.push.apply(candidates, nestedCandidates);
96
90
  } else {
97
91
  candidates.push({
98
- scope: element,
92
+ scopeParent: element,
99
93
  candidates: nestedCandidates
100
94
  });
101
95
  }
102
96
  } else {
103
97
  // check candidate element
104
98
  var validCandidate = matches.call(element, candidateSelector);
105
-
106
99
  if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {
107
100
  candidates.push(element);
108
- } // iterate over shadow content if possible
109
-
101
+ }
110
102
 
111
- var shadowRoot = element.shadowRoot || // check for an undisclosed shadow
103
+ // iterate over shadow content if possible
104
+ var shadowRoot = element.shadowRoot ||
105
+ // check for an undisclosed shadow
112
106
  typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);
113
107
  var validShadowRoot = !options.shadowRootFilter || options.shadowRootFilter(element);
114
-
115
108
  if (shadowRoot && validShadowRoot) {
116
109
  // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed
117
110
  // shadow exists, so look at light dom children as fallback BUT create a scope for any
@@ -120,12 +113,11 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
120
113
  // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,
121
114
  // _after_ we return from this recursive call
122
115
  var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);
123
-
124
116
  if (options.flatten) {
125
117
  candidates.push.apply(candidates, _nestedCandidates);
126
118
  } else {
127
119
  candidates.push({
128
- scope: element,
120
+ scopeParent: element,
129
121
  candidates: _nestedCandidates
130
122
  });
131
123
  }
@@ -136,10 +128,8 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
136
128
  }
137
129
  }
138
130
  }
139
-
140
131
  return candidates;
141
132
  };
142
-
143
133
  var getTabindex = function getTabindex(node, isScope) {
144
134
  if (node.tabIndex < 0) {
145
135
  // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
@@ -157,29 +147,23 @@ var getTabindex = function getTabindex(node, isScope) {
157
147
  return 0;
158
148
  }
159
149
  }
160
-
161
150
  return node.tabIndex;
162
151
  };
163
-
164
152
  var sortOrderedTabbables = function sortOrderedTabbables(a, b) {
165
153
  return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;
166
154
  };
167
-
168
155
  var isInput = function isInput(node) {
169
156
  return node.tagName === 'INPUT';
170
157
  };
171
-
172
158
  var isHiddenInput = function isHiddenInput(node) {
173
159
  return isInput(node) && node.type === 'hidden';
174
160
  };
175
-
176
161
  var isDetailsWithSummary = function isDetailsWithSummary(node) {
177
162
  var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {
178
163
  return child.tagName === 'SUMMARY';
179
164
  });
180
165
  return r;
181
166
  };
182
-
183
167
  var getCheckedRadio = function getCheckedRadio(nodes, form) {
184
168
  for (var i = 0; i < nodes.length; i++) {
185
169
  if (nodes[i].checked && nodes[i].form === form) {
@@ -187,20 +171,15 @@ var getCheckedRadio = function getCheckedRadio(nodes, form) {
187
171
  }
188
172
  }
189
173
  };
190
-
191
174
  var isTabbableRadio = function isTabbableRadio(node) {
192
175
  if (!node.name) {
193
176
  return true;
194
177
  }
195
-
196
178
  var radioScope = node.form || getRootNode(node);
197
-
198
179
  var queryRadios = function queryRadios(name) {
199
180
  return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
200
181
  };
201
-
202
182
  var radioSet;
203
-
204
183
  if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {
205
184
  radioSet = queryRadios(window.CSS.escape(node.name));
206
185
  } else {
@@ -212,31 +191,59 @@ var isTabbableRadio = function isTabbableRadio(node) {
212
191
  return false;
213
192
  }
214
193
  }
215
-
216
194
  var checked = getCheckedRadio(radioSet, node.form);
217
195
  return !checked || checked === node;
218
196
  };
219
-
220
197
  var isRadio = function isRadio(node) {
221
198
  return isInput(node) && node.type === 'radio';
222
199
  };
223
-
224
200
  var isNonTabbableRadio = function isNonTabbableRadio(node) {
225
201
  return isRadio(node) && !isTabbableRadio(node);
226
202
  };
227
203
 
204
+ // determines if a node is ultimately attached to the window's document
205
+ var isNodeAttached = function isNodeAttached(node) {
206
+ var _nodeRootHost;
207
+ // The root node is the shadow root if the node is in a shadow DOM; some document otherwise
208
+ // (but NOT _the_ document; see second 'If' comment below for more).
209
+ // If rootNode is shadow root, it'll have a host, which is the element to which the shadow
210
+ // is attached, and the one we need to check if it's in the document or not (because the
211
+ // shadow, and all nodes it contains, is never considered in the document since shadows
212
+ // behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,
213
+ // is hidden, or is not in the document itself but is detached, it will affect the shadow's
214
+ // visibility, including all the nodes it contains). The host could be any normal node,
215
+ // or a custom element (i.e. web component). Either way, that's the one that is considered
216
+ // part of the document, not the shadow root, nor any of its children (i.e. the node being
217
+ // tested).
218
+ // To further complicate things, we have to look all the way up until we find a shadow HOST
219
+ // that is attached (or find none) because the node might be in nested shadows...
220
+ // If rootNode is not a shadow root, it won't have a host, and so rootNode should be the
221
+ // document (per the docs) and while it's a Document-type object, that document does not
222
+ // appear to be the same as the node's `ownerDocument` for some reason, so it's safer
223
+ // to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,
224
+ // using `rootNode.contains(node)` will _always_ be true we'll get false-positives when
225
+ // node is actually detached.
226
+ var nodeRootHost = getRootNode(node).host;
227
+ var attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && _nodeRootHost.ownerDocument.contains(nodeRootHost) || node.ownerDocument.contains(node));
228
+ while (!attached && nodeRootHost) {
229
+ var _nodeRootHost2;
230
+ // since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,
231
+ // which means we need to get the host's host and check if that parent host is contained
232
+ // in (i.e. attached to) the document
233
+ nodeRootHost = getRootNode(nodeRootHost).host;
234
+ attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && _nodeRootHost2.ownerDocument.contains(nodeRootHost));
235
+ }
236
+ return attached;
237
+ };
228
238
  var isZeroArea = function isZeroArea(node) {
229
239
  var _node$getBoundingClie = node.getBoundingClientRect(),
230
- width = _node$getBoundingClie.width,
231
- height = _node$getBoundingClie.height;
232
-
240
+ width = _node$getBoundingClie.width,
241
+ height = _node$getBoundingClie.height;
233
242
  return width === 0 && height === 0;
234
243
  };
235
-
236
244
  var isHidden = function isHidden(node, _ref) {
237
245
  var displayCheck = _ref.displayCheck,
238
- getShadowRoot = _ref.getShadowRoot;
239
-
246
+ getShadowRoot = _ref.getShadowRoot;
240
247
  // NOTE: visibility will be `undefined` if node is detached from the document
241
248
  // (see notes about this further down), which means we will consider it visible
242
249
  // (this is legacy behavior from a very long way back)
@@ -245,44 +252,19 @@ var isHidden = function isHidden(node, _ref) {
245
252
  if (getComputedStyle(node).visibility === 'hidden') {
246
253
  return true;
247
254
  }
248
-
249
255
  var isDirectSummary = matches.call(node, 'details>summary:first-of-type');
250
256
  var nodeUnderDetails = isDirectSummary ? node.parentElement : node;
251
-
252
257
  if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {
253
258
  return true;
254
- } // The root node is the shadow root if the node is in a shadow DOM; some document otherwise
255
- // (but NOT _the_ document; see second 'If' comment below for more).
256
- // If rootNode is shadow root, it'll have a host, which is the element to which the shadow
257
- // is attached, and the one we need to check if it's in the document or not (because the
258
- // shadow, and all nodes it contains, is never considered in the document since shadows
259
- // behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,
260
- // is hidden, or is not in the document itself but is detached, it will affect the shadow's
261
- // visibility, including all the nodes it contains). The host could be any normal node,
262
- // or a custom element (i.e. web component). Either way, that's the one that is considered
263
- // part of the document, not the shadow root, nor any of its children (i.e. the node being
264
- // tested).
265
- // If rootNode is not a shadow root, it won't have a host, and so rootNode should be the
266
- // document (per the docs) and while it's a Document-type object, that document does not
267
- // appear to be the same as the node's `ownerDocument` for some reason, so it's safer
268
- // to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,
269
- // using `rootNode.contains(node)` will _always_ be true we'll get false-positives when
270
- // node is actually detached.
271
-
272
-
273
- var nodeRootHost = getRootNode(node).host;
274
- var nodeIsAttached = (nodeRootHost === null || nodeRootHost === void 0 ? void 0 : nodeRootHost.ownerDocument.contains(nodeRootHost)) || node.ownerDocument.contains(node);
275
-
276
- if (!displayCheck || displayCheck === 'full') {
259
+ }
260
+ if (!displayCheck || displayCheck === 'full' || displayCheck === 'legacy-full') {
277
261
  if (typeof getShadowRoot === 'function') {
278
262
  // figure out if we should consider the node to be in an undisclosed shadow and use the
279
263
  // 'non-zero-area' fallback
280
264
  var originalNode = node;
281
-
282
265
  while (node) {
283
266
  var parentElement = node.parentElement;
284
267
  var rootNode = getRootNode(node);
285
-
286
268
  if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow
287
269
  ) {
288
270
  // node has an undisclosed shadow which means we can only treat it as a black box, so we
@@ -299,25 +281,27 @@ var isHidden = function isHidden(node, _ref) {
299
281
  node = parentElement;
300
282
  }
301
283
  }
302
-
303
284
  node = originalNode;
304
- } // else, `getShadowRoot` might be true, but all that does is enable shadow DOM support
285
+ }
286
+ // else, `getShadowRoot` might be true, but all that does is enable shadow DOM support
305
287
  // (i.e. it does not also presume that all nodes might have undisclosed shadows); or
306
288
  // it might be a falsy value, which means shadow DOM support is disabled
289
+
307
290
  // Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)
308
291
  // now we can just test to see if it would normally be visible or not, provided it's
309
292
  // attached to the main document.
310
293
  // NOTE: We must consider case where node is inside a shadow DOM and given directly to
311
294
  // `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.
312
295
 
313
-
314
- if (nodeIsAttached) {
296
+ if (isNodeAttached(node)) {
315
297
  // this works wherever the node is: if there's at least one client rect, it's
316
298
  // somehow displayed; it also covers the CSS 'display: contents' case where the
317
299
  // node itself is hidden in place of its contents; and there's no need to search
318
300
  // up the hierarchy either
319
301
  return !node.getClientRects().length;
320
- } // Else, the node isn't attached to the document, which means the `getClientRects()`
302
+ }
303
+
304
+ // Else, the node isn't attached to the document, which means the `getClientRects()`
321
305
  // API will __always__ return zero rects (this can happen, for example, if React
322
306
  // is used to render nodes onto a detached tree, as confirmed in this thread:
323
307
  // https://github.com/facebook/react/issues/9117#issuecomment-284228870)
@@ -330,7 +314,13 @@ var isHidden = function isHidden(node, _ref) {
330
314
  // APIs on nodes in detached containers has actually implicitly used tabbable in what
331
315
  // was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck="none"` mode -- essentially
332
316
  // considering __everything__ to be visible because of the innability to determine styles.
333
-
317
+ //
318
+ // v6.0.0: As of this major release, the default 'full' option __no longer treats detached
319
+ // nodes as visible with the 'none' fallback.__
320
+ if (displayCheck !== 'legacy-full') {
321
+ return true; // hidden
322
+ }
323
+ // else, fallback to 'none' mode and consider the node visible
334
324
  } else if (displayCheck === 'non-zero-area') {
335
325
  // NOTE: Even though this tests that the node's client rect is non-zero to determine
336
326
  // whether it's displayed, and that a detached node will __always__ have a zero-area
@@ -338,88 +328,79 @@ var isHidden = function isHidden(node, _ref) {
338
328
  // this mode, we do want to consider nodes that have a zero area to be hidden at all
339
329
  // times, and that includes attached or not.
340
330
  return isZeroArea(node);
341
- } // visible, as far as we can tell, or per current `displayCheck` mode
342
-
331
+ }
343
332
 
333
+ // visible, as far as we can tell, or per current `displayCheck=none` mode, we assume
334
+ // it's visible
344
335
  return false;
345
- }; // form fields (nested) inside a disabled fieldset are not focusable/tabbable
336
+ };
337
+
338
+ // form fields (nested) inside a disabled fieldset are not focusable/tabbable
346
339
  // unless they are in the _first_ <legend> element of the top-most disabled
347
340
  // fieldset
348
-
349
-
350
341
  var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
351
342
  if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {
352
- var parentNode = node.parentElement; // check if `node` is contained in a disabled <fieldset>
353
-
343
+ var parentNode = node.parentElement;
344
+ // check if `node` is contained in a disabled <fieldset>
354
345
  while (parentNode) {
355
346
  if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {
356
347
  // look for the first <legend> among the children of the disabled <fieldset>
357
348
  for (var i = 0; i < parentNode.children.length; i++) {
358
- var child = parentNode.children.item(i); // when the first <legend> (in document order) is found
359
-
349
+ var child = parentNode.children.item(i);
350
+ // when the first <legend> (in document order) is found
360
351
  if (child.tagName === 'LEGEND') {
361
352
  // if its parent <fieldset> is not nested in another disabled <fieldset>,
362
353
  // return whether `node` is a descendant of its first <legend>
363
354
  return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);
364
355
  }
365
- } // the disabled <fieldset> containing `node` has no <legend>
366
-
367
-
356
+ }
357
+ // the disabled <fieldset> containing `node` has no <legend>
368
358
  return true;
369
359
  }
370
-
371
360
  parentNode = parentNode.parentElement;
372
361
  }
373
- } // else, node's tabbable/focusable state should not be affected by a fieldset's
374
- // enabled/disabled state
375
-
362
+ }
376
363
 
364
+ // else, node's tabbable/focusable state should not be affected by a fieldset's
365
+ // enabled/disabled state
377
366
  return false;
378
367
  };
379
-
380
368
  var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
381
- if (node.disabled || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus
369
+ if (node.disabled || isHiddenInput(node) || isHidden(node, options) ||
370
+ // For a details element with a summary, the summary element gets the focus
382
371
  isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
383
372
  return false;
384
373
  }
385
-
386
374
  return true;
387
375
  };
388
-
389
376
  var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
390
377
  if (isNonTabbableRadio(node) || getTabindex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
391
378
  return false;
392
379
  }
393
-
394
380
  return true;
395
381
  };
396
-
397
382
  var isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNode) {
398
383
  var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);
399
-
400
384
  if (isNaN(tabIndex) || tabIndex >= 0) {
401
385
  return true;
402
- } // If a custom element has an explicit negative tabindex,
386
+ }
387
+ // If a custom element has an explicit negative tabindex,
403
388
  // browsers will not allow tab targeting said element's children.
404
-
405
-
406
389
  return false;
407
390
  };
391
+
408
392
  /**
409
- * @param {Array.<Element|CandidatesScope>} candidates
393
+ * @param {Array.<Element|CandidateScope>} candidates
410
394
  * @returns Element[]
411
395
  */
412
-
413
-
414
396
  var sortByOrder = function sortByOrder(candidates) {
415
397
  var regularTabbables = [];
416
398
  var orderedTabbables = [];
417
399
  candidates.forEach(function (item, i) {
418
- var isScope = !!item.scope;
419
- var element = isScope ? item.scope : item;
400
+ var isScope = !!item.scopeParent;
401
+ var element = isScope ? item.scopeParent : item;
420
402
  var candidateTabindex = getTabindex(element, isScope);
421
403
  var elements = isScope ? sortByOrder(item.candidates) : element;
422
-
423
404
  if (candidateTabindex === 0) {
424
405
  isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
425
406
  } else {
@@ -437,11 +418,9 @@ var sortByOrder = function sortByOrder(candidates) {
437
418
  return acc;
438
419
  }, []).concat(regularTabbables);
439
420
  };
440
-
441
421
  var tabbable = function tabbable(el, options) {
442
422
  options = options || {};
443
423
  var candidates;
444
-
445
424
  if (options.getShadowRoot) {
446
425
  candidates = getCandidatesIteratively([el], options.includeContainer, {
447
426
  filter: isNodeMatchingSelectorTabbable.bind(null, options),
@@ -452,66 +431,65 @@ var tabbable = function tabbable(el, options) {
452
431
  } else {
453
432
  candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
454
433
  }
455
-
456
434
  return sortByOrder(candidates);
457
435
  };
458
436
 
459
- let key = 0;
460
- /**
461
- * Trap the focus inside a specific container by prepending/appending two focus trap
462
- * input boxes who return the focus into the container.
463
- *
464
- * @param props active: activate or deactivate the focus trap
465
- * @param children Child nodes
466
- * @returns
467
- */
468
- const FocusTrap = (props, children) => {
469
- var _a;
470
- // Default value for active is true
471
- const active = (_a = props.active) !== null && _a !== void 0 ? _a : false;
472
- const handleFocusIn = (event, mode) => {
473
- if (!children.length) {
474
- return;
475
- }
476
- // Try to get a list of tabbable elements
477
- const containerIndex = mode === 'first' ? 0 : children.length - 1;
478
- const container = children[containerIndex].$elm$;
479
- const focusable = tabbable(container);
480
- if (!focusable.length) {
481
- return;
482
- }
483
- // We can trap the focus, cancel the event
484
- event.preventDefault();
485
- event.stopPropagation();
486
- // Select the appropriate element from the list
487
- const focusIndex = mode === 'first' ? 0 : focusable.length - 1;
488
- let focusElement = focusable[focusIndex];
489
- focusElement.focus();
490
- };
491
- key++;
492
- return [
493
- index.h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-before-${key}`, onFocusin: e => active && handleFocusIn(e, 'last') }),
494
- children,
495
- index.h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-after-${key}`, onFocusin: e => active && handleFocusIn(e, 'first') }),
496
- ];
437
+ let key = 0;
438
+ /**
439
+ * Trap the focus inside a specific container by prepending/appending two focus trap
440
+ * input boxes who return the focus into the container.
441
+ *
442
+ * @param props active: activate or deactivate the focus trap
443
+ * @param children Child nodes
444
+ * @returns
445
+ */
446
+ const FocusTrap = (props, children) => {
447
+ var _a;
448
+ // Default value for active is true
449
+ const active = (_a = props.active) !== null && _a !== void 0 ? _a : false;
450
+ const handleFocusIn = (event, mode) => {
451
+ if (!children.length) {
452
+ return;
453
+ }
454
+ // Try to get a list of tabbable elements
455
+ const containerIndex = mode === 'first' ? 0 : children.length - 1;
456
+ const container = children[containerIndex].$elm$;
457
+ const focusable = tabbable(container);
458
+ if (!focusable.length) {
459
+ return;
460
+ }
461
+ // We can trap the focus, cancel the event
462
+ event.preventDefault();
463
+ event.stopPropagation();
464
+ // Select the appropriate element from the list
465
+ const focusIndex = mode === 'first' ? 0 : focusable.length - 1;
466
+ let focusElement = focusable[focusIndex];
467
+ focusElement.focus();
468
+ };
469
+ key++;
470
+ return [
471
+ index.h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-before-${key}`, onFocusin: e => active && handleFocusIn(e, 'last') }),
472
+ children,
473
+ index.h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-after-${key}`, onFocusin: e => active && handleFocusIn(e, 'first') }),
474
+ ];
497
475
  };
498
476
 
499
- /**
500
- * Overlay implementation with focus trap according to
501
- * https://www.accessibility-developer-guide.com/examples/widgets/dialog/#modal-dialog
502
- *
503
- * @param props
504
- * @returns
505
- */
506
- const OverlayComponent = (props) => (index.h("div", { class: "overlay", onClick: () => props.onClick(), onKeyDown: e => props.onKeyDown !== undefined && props.onKeyDown(e), ref: e => e !== undefined && props.overlayRef(e) },
507
- index.h("div", { class: "container", role: "dialog" },
508
- index.h(FocusTrap, null,
509
- index.h("div", { class: "overlay-container", tabindex: "-1" /* For initial focus */, role: "document", onClick: e => e.stopPropagation() },
510
- index.h("button", { class: `overlay-close btn-blank d-inline-flex align-items-center nav-link ${props.overlay.id}`, onClick: () => props.onClick() },
511
- index.h("span", { class: "visually-hidden" }, props.closeButtonText),
512
- index.h(svgIcon_component.SvgIcon, { name: "pi-close" })),
513
- index.h("iframe", { src: props.overlay.target, frameborder: "0", class: "frame", ref: e => e !== undefined && props.iFrameRef(e) }))),
514
- index.h("div", { class: "loader-wrapper" },
477
+ /**
478
+ * Overlay implementation with focus trap according to
479
+ * https://www.accessibility-developer-guide.com/examples/widgets/dialog/#modal-dialog
480
+ *
481
+ * @param props
482
+ * @returns
483
+ */
484
+ const OverlayComponent = (props) => (index.h("div", { class: "overlay", onClick: () => props.onClick(), onKeyDown: e => props.onKeyDown !== undefined && props.onKeyDown(e), ref: e => e !== undefined && props.overlayRef(e) },
485
+ index.h("div", { class: "container", role: "dialog" },
486
+ index.h(FocusTrap, null,
487
+ index.h("div", { class: "overlay-container", tabindex: "-1" /* For initial focus */, role: "document", onClick: e => e.stopPropagation() },
488
+ index.h("button", { class: `overlay-close btn-blank d-inline-flex align-items-center nav-link ${props.overlay.id}`, onClick: () => props.onClick() },
489
+ index.h("span", { class: "visually-hidden" }, props.closeButtonText),
490
+ index.h(svgIcon_component.SvgIcon, { name: "pi-close" })),
491
+ index.h("iframe", { src: props.overlay.target, frameborder: "0", class: "frame", ref: e => e !== undefined && props.iFrameRef(e) }))),
492
+ index.h("div", { class: "loader-wrapper" },
515
493
  index.h("div", { class: "loader" })))));
516
494
 
517
495
  var iframeResizer$2 = _commonjsHelpers.createCommonjsModule(function (module) {
@@ -3252,235 +3230,235 @@ var js = {
3252
3230
 
3253
3231
  var iframeResizer = js;
3254
3232
 
3255
- const MiddleLinks = (props) => {
3256
- return props.items.slice(1, -1).map(item => (index.h("li", { key: item.url },
3257
- index.h("a", { href: item.url, class: "nav-link", tabindex: props.focusable === false ? '-1' : undefined },
3258
- index.h("span", null, item.text)),
3259
- props.icons ? index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }) : null)));
3233
+ const MiddleLinks = (props) => {
3234
+ return props.items.slice(1, -1).map(item => (index.h("li", { key: item.url },
3235
+ index.h("a", { href: item.url, class: "nav-link", tabindex: props.focusable === false ? '-1' : undefined },
3236
+ index.h("span", null, item.text)),
3237
+ props.icons ? index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }) : null)));
3260
3238
  };
3261
3239
 
3262
- const MiddleDropdown = (props) => {
3263
- return (index.h("div", { class: "middle-dropdown-container" },
3264
- index.h("button", { class: "middle-dropdown-button btn btn-blank", type: "button", onClick: event => props.clickHandler(event), tabindex: props.focusable === false ? '-1' : undefined },
3265
- index.h("span", { class: "visually-hidden" }, language_service.translate('Open menu')),
3266
- index.h("span", { "aria-hidden": "true" }, "...")),
3267
- index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }),
3268
- props.dropdownOpen ? (index.h("nav", { class: "middle-dropdown" },
3269
- index.h("ul", { class: "no-list" },
3270
- index.h(MiddleLinks, { items: props.items, icons: false, focusable: props.focusable })))) : null));
3240
+ const MiddleDropdown = (props) => {
3241
+ return (index.h("div", { class: "middle-dropdown-container" },
3242
+ index.h("button", { class: "middle-dropdown-button btn btn-blank", type: "button", onClick: event => props.clickHandler(event), tabindex: props.focusable === false ? '-1' : undefined },
3243
+ index.h("span", { class: "visually-hidden" }, language_service.translate('Open menu')),
3244
+ index.h("span", { "aria-hidden": "true" }, "...")),
3245
+ index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }),
3246
+ props.dropdownOpen ? (index.h("nav", { class: "middle-dropdown" },
3247
+ index.h("ul", { class: "no-list" },
3248
+ index.h(MiddleLinks, { items: props.items, icons: false, focusable: props.focusable })))) : null));
3271
3249
  };
3272
3250
 
3273
- const BreadcrumbList = (props) => {
3274
- var _a;
3275
- const homeItem = props.items[0];
3276
- const lastItem = props.items[props.items.length - 1];
3277
- return (index.h("ol", { class: "no-list breadcrumbs-list" },
3278
- index.h("li", null,
3279
- index.h("a", { class: "home-link nav-link", href: homeItem.url, tabindex: props.focusable === false ? '-1' : undefined },
3280
- index.h("span", { class: "visually-hidden" }, homeItem.text),
3281
- index.h(svgIcon_component.SvgIcon, { name: "pi-home" })),
3282
- index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" })),
3283
- props.isConcatenated ? (index.h("li", null,
3284
- index.h(MiddleDropdown, { items: props.items, dropdownOpen: (_a = props.dropdownOpen) !== null && _a !== void 0 ? _a : false, clickHandler: e => props.clickHandler(e), focusable: props.focusable }))) : (index.h(MiddleLinks, { items: props.items, icons: true, focusable: props.focusable })),
3285
- index.h("li", null,
3286
- index.h("a", { class: "last-link nav-link", href: lastItem.url, tabindex: props.focusable === false ? '-1' : undefined, ref: el => (props.lastItemRef !== undefined ? props.lastItemRef(el) : null) }, lastItem.text))));
3251
+ const BreadcrumbList = (props) => {
3252
+ var _a;
3253
+ const homeItem = props.items[0];
3254
+ const lastItem = props.items[props.items.length - 1];
3255
+ return (index.h("ol", { class: "no-list breadcrumbs-list" },
3256
+ index.h("li", null,
3257
+ index.h("a", { class: "home-link nav-link", href: homeItem.url, tabindex: props.focusable === false ? '-1' : undefined },
3258
+ index.h("span", { class: "visually-hidden" }, homeItem.text),
3259
+ index.h(svgIcon_component.SvgIcon, { name: "pi-home" })),
3260
+ index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" })),
3261
+ props.isConcatenated ? (index.h("li", null,
3262
+ index.h(MiddleDropdown, { items: props.items, dropdownOpen: (_a = props.dropdownOpen) !== null && _a !== void 0 ? _a : false, clickHandler: e => props.clickHandler(e), focusable: props.focusable }))) : (index.h(MiddleLinks, { items: props.items, icons: true, focusable: props.focusable })),
3263
+ index.h("li", null,
3264
+ index.h("a", { class: "last-link nav-link", href: lastItem.url, tabindex: props.focusable === false ? '-1' : undefined, ref: el => (props.lastItemRef !== undefined ? props.lastItemRef(el) : null) }, lastItem.text))));
3287
3265
  };
3288
3266
 
3289
3267
  const postInternetBreadcrumbsCss = "/*!\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n\n * The MIT License (MIT)\n\n * Copyright (c) 2011-2020 Twitter, Inc.\n * Copyright (c) 2011-2020 The Bootstrap Authors\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */.btn-close{-webkit-box-sizing:content-box;box-sizing:content-box;width:1.5rem;height:1.5rem;padding:1rem 1rem;color:#000;background:transparent url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M16.267 16.667l6.667-6.533-0.933-1.067-6.667 6.667-6.667-6.667-0.933 1.067 6.667 6.533-6.667 6.667 1.067 0.933 6.533-6.667 6.667 6.667 0.933-1.067z'%3E%3C/path%3E%3C/svg%3E\") center/1.5rem auto no-repeat;border:0;border-radius:3px;opacity:0.5}.btn-close:hover{color:#000;text-decoration:none;opacity:0.75}.btn-close:focus{outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.btn-close{height:unset;min-height:1.5rem}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-close{opacity:1;background:transparent url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23ffffff' d='M16.267 16.667l6.667-6.533-0.933-1.067-6.667 6.667-6.667-6.667-0.933 1.067 6.667 6.533-6.667 6.667 1.067 0.933 6.533-6.667 6.667 6.667 0.933-1.067z'%3E%3C/path%3E%3C/svg%3E\") center/1.5rem auto no-repeat}}.btn-close:focus{outline:2px solid var(--post-contrast-color);-webkit-box-shadow:none;box-shadow:none}.btn-close:focus:not(:focus-visible){outline:0}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-close-white{-webkit-filter:none;filter:none}}.btn-default,.btn-secondary{border:2px solid rgba(var(--post-contrast-color-rgb), 0.2)}.btn-default:focus,.btn-secondary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary{border-color:var(--post-contrast-color);color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-secondary{border-color:rgba(var(--post-contrast-color-rgb), 0.4)}.btn-default:disabled,.btn-secondary:disabled{border-color:rgba(var(--post-contrast-color-rgb), 0.4);color:rgba(var(--post-contrast-color-rgb), 0.6)}.btn{min-height:3rem;padding:0 2rem;font-size:1rem;gap:1rem;outline:none;outline-offset:2px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;border-width:2px;border-style:solid;border-radius:3px;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:var(--post-contrast-color);font-family:inherit;font-weight:400;line-height:inherit;text-decoration:none !important;white-space:nowrap}.btn>.pi{width:1.25rem;height:1.25rem}.btn:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.btn-primary{border-color:transparent;background-color:rgba(var(--post-contrast-color-rgb), 0.8);color:var(--post-contrast-color-inverted)}.btn-primary:focus,.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{background-color:var(--post-contrast-color);color:var(--post-contrast-color-inverted)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary{background-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary.pretend-hover{background-color:rgba(var(--post-contrast-color-rgb), 0.8)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary .pi{-webkit-filter:invert(0);filter:invert(0)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-primary{border-color:var(--post-contrast-color);background-color:ButtonFace}.btn-primary:not(:disabled,.disabled):hover,.btn-primary:not(:disabled,.disabled):focus-visible{border-color:highlight}.btn-primary .pi{-webkit-filter:invert(1) !important;filter:invert(1) !important}}.btn-primary:disabled{background-color:rgba(var(--post-contrast-color-rgb), 0.4)}.btn-primary .pi{-webkit-filter:invert(1);filter:invert(1);forced-color-adjust:none}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary .pi{-webkit-filter:invert(1);filter:invert(1)}.btn-link,.btn-tertiary{border:0;padding-right:0.375rem;padding-left:0.375rem}.btn-link:focus,.btn-link:not(:disabled):hover,.btn-link.pretend-hover,.btn-tertiary:focus,.btn-tertiary:not(:disabled):hover,.btn-tertiary.pretend-hover{color:rgba(var(--post-contrast-color-rgb), 0.8)}.btn-link:disabled,.btn-tertiary:disabled{color:rgba(var(--post-contrast-color-rgb), 0.6)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-link,.btn-tertiary{color:linktext;text-decoration:underline !important}}.btn-icon{min-width:3rem;padding-right:0.75rem;padding-left:0.75rem}.btn-icon.btn-sm{min-width:2rem;padding-right:0.375rem;padding-left:0.375rem}.btn-icon.btn-rg{min-width:2.5rem;padding-right:0.5625rem;padding-left:0.5625rem}.btn-icon.btn-lg{min-width:3.5rem;padding-right:0.875rem;padding-left:0.875rem}.btn-animated:not(.btn-link,.btn-tertiary)::after{content:\"\";position:absolute;right:1.25rem;width:0.625em;height:0.625em;-webkit-transform:rotateZ(315deg) translate(-2px, -2px);transform:rotateZ(315deg) translate(-2px, -2px);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, transform 250ms;transition:opacity 250ms, transform 250ms, -webkit-transform 250ms;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:0}.btn-animated:not(.btn-link,.btn-tertiary).btn-sm::after{right:0.5rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-rg::after{right:0.875rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-lg::after{right:1.5rem}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}@media (prefers-reduced-motion: no-preference){.btn-animated:not(.btn-link,.btn-tertiary):focus>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover>span{-webkit-transform:translateX(-0.75rem);transform:translateX(-0.75rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-sm>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-rg>span{-webkit-transform:translateX(-0.625rem);transform:translateX(-0.625rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-lg>span{-webkit-transform:translateX(-1rem);transform:translateX(-1rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus::after,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover::after,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover::after{-webkit-transform:rotateZ(315deg) translate(0, 0);transform:rotateZ(315deg) translate(0, 0);opacity:1}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transform:translateX(0);transform:translateX(0)}}.btn-sm{min-height:2rem;padding:0 1rem;font-size:0.8125rem;gap:0.5rem}.btn-sm>.pi{width:1rem;height:1rem}.btn-rg{min-height:2.5rem;padding:0 1.5rem;font-size:1rem;gap:0.75rem}.btn-rg>.pi{width:1.125rem;height:1.125rem}.btn-lg{min-height:3.5rem;padding:0 2.5rem;font-size:1.0625rem;gap:1.25rem}.btn-lg>.pi{width:1.5rem;height:1.5rem}.btn-nightblue{border-color:transparent;background-color:#004976;color:#fff}.btn-nightblue:focus,.btn-nightblue:not(:disabled):hover,.btn-nightblue.pretend-hover{background-color:#002943}.btn-nightblue-bright{border-color:transparent;background-color:#0076a8;color:#fff}.btn-nightblue-bright:focus,.btn-nightblue-bright:not(:disabled):hover,.btn-nightblue-bright.pretend-hover{background-color:#005275}.btn-petrol{border-color:transparent;background-color:#006d68;color:#fff}.btn-petrol:focus,.btn-petrol:not(:disabled):hover,.btn-petrol.pretend-hover{background-color:#003a37}.btn-petrol-bright{border-color:transparent;background-color:#00968f;color:#fff}.btn-petrol-bright:focus,.btn-petrol-bright:not(:disabled):hover,.btn-petrol-bright.pretend-hover{background-color:#00635e}.btn-coral{border-color:transparent;background-color:#9e2a2f;color:#fff}.btn-coral:focus,.btn-coral:not(:disabled):hover,.btn-coral.pretend-hover{background-color:#761f23}.btn-coral-bright{border-color:transparent;background-color:#e03c31;color:#fff}.btn-coral-bright:focus,.btn-coral-bright:not(:disabled):hover,.btn-coral-bright.pretend-hover{background-color:#c1271d}.btn-olive{border-color:transparent;background-color:#716135;color:#fff}.btn-olive:focus,.btn-olive:not(:disabled):hover,.btn-olive.pretend-hover{background-color:#4e4325}.btn-olive-bright{border-color:transparent;background-color:#aa9d2e}.btn-olive-bright:focus,.btn-olive-bright:not(:disabled):hover,.btn-olive-bright.pretend-hover{background-color:#827823}.btn-purple{border-color:transparent;background-color:#80276c;color:#fff}.btn-purple:focus,.btn-purple:not(:disabled):hover,.btn-purple.pretend-hover{background-color:#591b4b}.btn-purple-bright{border-color:transparent;background-color:#c5299b;color:#fff}.btn-purple-bright:focus,.btn-purple-bright:not(:disabled):hover,.btn-purple-bright.pretend-hover{background-color:#9b207a}.btn-aubergine{border-color:transparent;background-color:#523178;color:#fff}.btn-aubergine:focus,.btn-aubergine:not(:disabled):hover,.btn-aubergine.pretend-hover{background-color:#392254}.btn-aubergine-bright{border-color:transparent;background-color:#7566a0;color:#fff}.btn-aubergine-bright:focus,.btn-aubergine-bright:not(:disabled):hover,.btn-aubergine-bright.pretend-hover{background-color:#5e5182}.btn-success{border-color:transparent;background-color:#2c911c;color:#fff}.btn-success:focus,.btn-success:not(:disabled):hover,.btn-success.pretend-hover{background-color:#1f6614}.btn-info{border-color:transparent;background-color:#fc0}.btn-info:focus,.btn-info:not(:disabled):hover,.btn-info.pretend-hover{background-color:#cca300}.btn-warning{border-color:transparent;background-color:#f49e00}.btn-warning:focus,.btn-warning:not(:disabled):hover,.btn-warning.pretend-hover{background-color:#c17d00}.btn-danger{border-color:transparent;background-color:#a51728;color:#fff}.btn-danger:focus,.btn-danger:not(:disabled):hover,.btn-danger.pretend-hover{background-color:#78111d}.row{--bs-gutter-x:30px;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 400px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 600px){.col-rg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-rg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-rg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-rg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-rg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-rg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-rg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-rg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-rg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-rg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-rg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-rg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-rg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-rg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-rg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-rg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-rg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-rg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-rg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-rg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-rg-0{margin-left:0}.offset-rg-1{margin-left:8.33333333%}.offset-rg-2{margin-left:16.66666667%}.offset-rg-3{margin-left:25%}.offset-rg-4{margin-left:33.33333333%}.offset-rg-5{margin-left:41.66666667%}.offset-rg-6{margin-left:50%}.offset-rg-7{margin-left:58.33333333%}.offset-rg-8{margin-left:66.66666667%}.offset-rg-9{margin-left:75%}.offset-rg-10{margin-left:83.33333333%}.offset-rg-11{margin-left:91.66666667%}.g-rg-0,.gx-rg-0{--bs-gutter-x:0}.g-rg-0,.gy-rg-0{--bs-gutter-y:0}.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}.g-rg-1,.gy-rg-1{--bs-gutter-y:0.25rem}.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}.g-rg-2,.gy-rg-2{--bs-gutter-y:0.5rem}.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}.g-rg-3,.gy-rg-3{--bs-gutter-y:1rem}.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}.g-rg-4,.gy-rg-4{--bs-gutter-y:1.5rem}.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}.g-rg-5,.gy-rg-5{--bs-gutter-y:3rem}}@media (min-width: 780px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 1024px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1280px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1441px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.container,.container-fluid,.container-xs{width:100%;padding-right:var(--bs-gutter-x, 15px);padding-left:var(--bs-gutter-x, 15px);margin-right:auto;margin-left:auto}.container{max-width:1440px}.vertical-gutters{margin-bottom:-30px}.vertical-gutters>.col,.vertical-gutters>[class*=col-]{padding-bottom:30px}.row.border-gutters{margin-right:-1px;margin-bottom:-1px;margin-left:0}.row.border-gutters>.col,.row.border-gutters>[class*=col-]{padding-right:1px;padding-bottom:1px;padding-left:0}.container{padding-right:12px;padding-left:12px}.container-reset{margin-right:-12px;margin-left:-12px}.container-reset-left{margin-left:-12px}.container-reset-right{margin-right:-12px}@media (max-width: 399.98px){.container-fluid-xs{padding-right:1rem;padding-left:1rem}}@media (min-width: 400px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 400px){.container-reset{margin-right:-16px;margin-left:-16px}}@media (min-width: 400px){.container-reset-left{margin-left:-16px}}@media (min-width: 400px){.container-reset-right{margin-right:-16px}}@media (min-width: 400px) and (max-width: 599.98px){.container-fluid-sm{padding-right:1rem;padding-left:1rem}}@media (min-width: 600px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 600px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 600px){.container-reset-left{margin-left:-32px}}@media (min-width: 600px){.container-reset-right{margin-right:-32px}}@media (min-width: 600px) and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px) and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (min-width: 1024px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1024px){.container-reset-left{margin-left:-40px}}@media (min-width: 1024px){.container-reset-right{margin-right:-40px}}@media (min-width: 1024px) and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container{padding-right:128px;padding-left:128px}}@media (min-width: 1280px){.container-reset{margin-right:-128px;margin-left:-128px}}@media (min-width: 1280px){.container-reset-left{margin-left:-128px}}@media (min-width: 1280px){.container-reset-right{margin-right:-128px}}@media (min-width: 1280px) and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:0.75rem;background-color:#cccccc;border-radius:3px}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#333333;-webkit-transition:width 0.6s ease;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-bg{position:absolute;z-index:990;top:0;left:0;width:100%;height:100%}.loading-modal{display:-ms-inline-flexbox;display:inline-flex;position:absolute;z-index:990;top:0;right:0;bottom:0;left:0}.loader{width:3.5rem;height:3.5rem;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;border:6px solid #fc0;border-radius:50%;border-right-color:transparent;border-bottom-color:#e6e6e6}.loader.loader-sm{width:2rem;height:2rem;border-width:0.25rem}.loader.loader-xs{width:0.75rem;height:0.75rem;border-width:2px}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.loader{border-color:Highlight;border-bottom-color:CanvasText;border-right-color:Canvas}@supports (forced-color-adjust: none){.loader{forced-color-adjust:none;border-right-color:transparent}}}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:700;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:400;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:300;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff\") format(\"woff\")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:\"Frutiger Neue For Post\", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:hover,.nav-link:focus{color:black}.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{display:block;position:relative}.breadcrumbs{font-size:1rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;gap:1rem}@media (max-width: 599.98px){.breadcrumbs{font-size:0.875rem}}.breadcrumbs-nav{white-space:nowrap;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;min-width:0}.breadcrumbs-list,.nav-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.breadcrumbs-list li{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.breadcrumbs-list li:last-child{-ms-flex-negative:2;flex-shrink:2;min-width:0;overflow:hidden;text-overflow:ellipsis}.breadcrumbs-list li:last-child a{border:2px solid transparent;outline-offset:0}.breadcrumbs-list svg{margin-left:0 !important;width:1.5em;height:1.5em;color:rgba(0, 0, 0, 0.6)}.breadcrumb-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;gap:1rem;-ms-flex-negative:0;flex-shrink:0}.breadcrumb-buttons .btn{cursor:pointer;gap:0.5rem;font-size:inherit}.breadcrumb-buttons .btn.btn-secondary>svg{width:1.5rem;height:1.5rem;margin:0}@media (min-width: 1024px){.breadcrumb-buttons .btn span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.nav-link{gap:0;color:rgba(0, 0, 0, 0.6);font-weight:400}.middle-dropdown-container{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.middle-dropdown{position:absolute;top:100%;left:0;background:white;border:1px solid #e6e6e6;padding:0.5rem 0;z-index:1}.middle-dropdown .nav-link{padding:0.5rem 1rem;-webkit-transition:color 200ms;transition:color 200ms}.middle-dropdown .nav-link:hover{background-color:#e6e6e6}.middle-dropdown-button{cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.25rem;font-size:inherit;color:inherit}.middle-dropdown-button span{margin:0}.middle-dropdown-button svg{margin:0;-ms-flex-negative:0;flex-shrink:0;width:1.4em;height:1.4em}.overlay{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.6);z-index:calc(var(--header-z-index, 10) + 1);opacity:0;visibility:hidden;-webkit-transition:opacity 500ms, visibility 0s 500ms;transition:opacity 500ms, visibility 0s 500ms}.overlay.open{visibility:visible;opacity:1;-webkit-transition:opacity 500ms, visibility 0s 0s;transition:opacity 500ms, visibility 0s 0s}.overlay-container{position:relative;background:white;-webkit-box-shadow:0 0 40px rgba(0, 0, 0, 0.6);box-shadow:0 0 40px rgba(0, 0, 0, 0.6);visibility:hidden;-webkit-transform:translateY(3rem);transform:translateY(3rem);opacity:0;-webkit-transition:opacity 500ms, -webkit-transform 500ms;transition:opacity 500ms, -webkit-transform 500ms;transition:transform 500ms, opacity 500ms;transition:transform 500ms, opacity 500ms, -webkit-transform 500ms}iframe{display:block;width:1px;min-width:100%;overflow:auto;max-height:80vh}.overlay-close{position:absolute;top:1rem;right:1rem;cursor:pointer;padding:0.5rem;color:rgba(0, 0, 0, 0.8)}.overlay-close:hover,.overlay-close:focus{color:black}.overlay-close.phone{color:white}.overlay-close.phone:hover,.overlay-close.phone:focus{color:rgba(255, 255, 255, 0.8)}@media (min-width: 600px){.overlay-close span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.loader-wrapper{position:absolute;display:grid;place-items:center;width:100%;height:100%;top:0;left:0}.loaded~.loader-wrapper{display:none}.hidden-control-breadcrumbs{position:absolute;top:100%;width:0;overflow:hidden;display:-ms-flexbox;display:flex;pointer-events:none}.hidden-control-breadcrumbs .breadcrumbs-nav{-ms-flex-negative:0;flex-shrink:0}.hidden-control-breadcrumbs .breadcrumbs-list li{-ms-flex-negative:0;flex-shrink:0}.visually-hidden{visibility:hidden}";
3290
3268
 
3291
- const PostInternetBreadcrumbs = class {
3292
- constructor(hostRef) {
3293
- index.registerInstance(this, hostRef);
3294
- this.customItems = undefined;
3295
- this.customBreadcrumbItems = undefined;
3296
- this.overlayVisible = undefined;
3297
- this.isConcatenated = undefined;
3298
- this.dropdownOpen = false;
3299
- this.refsReady = false;
3300
- }
3301
- connectedCallback() {
3302
- this.debouncedResize = index$1.debounce(200, this.handleResize.bind(this));
3303
- window.addEventListener('resize', this.debouncedResize, { passive: true });
3304
- }
3305
- disconnectedCallback() {
3306
- window.removeEventListener('resize', this.debouncedResize);
3307
- window.removeEventListener('click', this.handleWindowClick);
3308
- bodyScrollLock_esm.clearAllBodyScrollLocks();
3309
- }
3310
- async componentWillLoad() {
3311
- // Wait for the config to arrive, then render the header
3312
- try {
3313
- this.customBreadcrumbItems =
3314
- typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;
3315
- }
3316
- catch (error) {
3317
- console.error(error);
3318
- }
3319
- }
3320
- componentDidLoad() {
3321
- // Initially check if breadcrumb items are concatenated
3322
- window.requestAnimationFrame(() => {
3323
- this.handleResize();
3324
- });
3325
- }
3326
- handleCustomConfigChage(newValue) {
3327
- try {
3328
- this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;
3329
- }
3330
- catch (error) {
3331
- console.error(error);
3332
- }
3333
- }
3334
- handleResize() {
3335
- // Catch and exclude vertical resize events, e.g. scrolling in iPhone
3336
- if (window.innerWidth === this.lastWindowWidth) {
3337
- return;
3338
- }
3339
- this.lastWindowWidth = window.innerWidth;
3340
- this.checkConcatenation();
3341
- }
3342
- checkConcatenation() {
3343
- if (this.controlNavRef && this.visibleNavRef) {
3344
- this.refsReady = true;
3345
- // Delay the check
3346
- window.requestAnimationFrame(() => {
3347
- if (this.controlNavRef && this.visibleNavRef) {
3348
- this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;
3349
- }
3350
- });
3351
- }
3352
- }
3353
- toggleOverlay(overlay, force) {
3354
- var _a;
3355
- const newVisibility = force !== null && force !== void 0 ? force : !this.overlayVisible;
3356
- if (newVisibility) {
3357
- // Will trigger overlayRef() once the HTLM is rendered
3358
- this.overlayVisible = newVisibility;
3359
- this.currentOverlay = overlay;
3360
- this.setBodyScroll(overlay);
3361
- }
3362
- else {
3363
- const activeToggler = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.breadcrumb-buttons [aria-expanded="true"]');
3364
- if (this.openAnimation && this.loadedAnimation) {
3365
- this.openAnimation.reverse();
3366
- this.loadedAnimation.reverse();
3367
- // Delay hiding overlay until after the animation finishes
3368
- Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {
3369
- if (activeToggler) {
3370
- activeToggler.focus();
3371
- }
3372
- this.overlayVisible = newVisibility;
3373
- this.setBodyScroll(overlay);
3374
- });
3375
- }
3376
- }
3377
- }
3378
- /**
3379
- * Disable or re-enable body scrolling, depending on whether overlay is visible or not
3380
- */
3381
- setBodyScroll(overlay) {
3382
- if (this.overlayVisible) {
3383
- bodyScrollLock_esm.disableBodyScroll(overlay, { reserveScrollBarGap: true });
3384
- }
3385
- else {
3386
- bodyScrollLock_esm.enableBodyScroll(overlay);
3387
- }
3388
- }
3389
- toggleDropdown(force) {
3390
- this.dropdownOpen = force !== null && force !== void 0 ? force : !this.dropdownOpen;
3391
- if (this.dropdownOpen) {
3392
- requestAnimationFrame(() => {
3393
- document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });
3394
- });
3395
- }
3396
- }
3397
- handleWindowClick() {
3398
- this.toggleDropdown(false);
3399
- }
3400
- registerIFrameResizer(iFrame) {
3401
- if (!iFrame) {
3402
- return;
3403
- }
3404
- iFrame.addEventListener('load', () => {
3405
- var _a, _b, _c;
3406
- iframeResizer.iframeResizer({
3407
- heightCalculationMethod: 'taggedElement',
3408
- scrolling: true,
3409
- checkOrigin: false,
3410
- }, iFrame);
3411
- const duration = utils.prefersReducedMotion ? 0 : 300;
3412
- this.loadedAnimation = (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.animate([{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }], { duration, fill: 'forwards' });
3413
- (_b = iFrame.parentElement) === null || _b === void 0 ? void 0 : _b.classList.add('loaded');
3414
- (_c = this.loadedAnimation) === null || _c === void 0 ? void 0 : _c.finished.then(() => {
3415
- var _a;
3416
- (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.focus();
3417
- });
3418
- });
3419
- }
3420
- /**
3421
- * Reference function for the overlay element got called. It is either null (overlay closed)
3422
- * or contains the overlay element as parameter.
3423
- * @param e Overlay element or null
3424
- * @returns void
3425
- */
3426
- overlayRef(e) {
3427
- if (!e) {
3428
- return;
3429
- }
3430
- const duration = utils.prefersReducedMotion ? 0 : 500;
3431
- this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {
3432
- duration,
3433
- fill: 'forwards',
3434
- });
3435
- }
3436
- handleKeyDown(event) {
3437
- if (event.key.toLowerCase() === 'escape') {
3438
- this.toggleOverlay(this.currentOverlay, false);
3439
- }
3440
- }
3441
- handleToggleDropdown() {
3442
- this.toggleDropdown();
3443
- }
3444
- handleToggleOverlay() {
3445
- this.toggleOverlay(this.currentOverlay, false);
3446
- }
3447
- handleControlNavRef(element) {
3448
- this.controlNavRef = element;
3449
- this.checkConcatenation();
3450
- }
3451
- handleVisibleNavRef(element) {
3452
- this.visibleNavRef = element;
3453
- this.checkConcatenation();
3454
- }
3455
- render() {
3456
- // There is something wrong entirely
3457
- if (!store.state) {
3458
- console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);
3459
- return null;
3460
- }
3461
- // Config is not loaded yet
3462
- if (!store.state.localizedConfig) {
3463
- return null;
3464
- }
3465
- // Config has loaded but there is no breadcrumbs config
3466
- if (!store.state.localizedConfig.breadcrumb) {
3467
- console.warn(`Internet Header: Current project "${store.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.`);
3468
- return null;
3469
- }
3470
- const breadcrumbConfig = store.state.localizedConfig.breadcrumb;
3471
- const items = this.customBreadcrumbItems !== undefined
3472
- ? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]
3473
- : breadcrumbConfig.items;
3474
- return (index.h(index.Host, null, index.h(svgSprite_component.SvgSprite, null), index.h("div", { class: "breadcrumbs" }, index.h("div", { class: "hidden-control-breadcrumbs", "aria-hidden": "true", tabindex: "-1" }, index.h("nav", { class: "breadcrumbs-nav", ref: e => e !== undefined && this.handleControlNavRef(e) }, index.h(BreadcrumbList, { items: items, focusable: false, clickHandler: () => { } }))), index.h("h2", { class: "visually-hidden" }, breadcrumbConfig.a11yLabel), index.h("nav", { ref: e => e !== undefined && this.handleVisibleNavRef(e), class: {
3475
- 'breadcrumbs-nav': true,
3476
- 'visually-hidden': !this.refsReady,
3477
- } }, index.h(BreadcrumbList, { items: items, dropdownOpen: this.dropdownOpen, isConcatenated: this.isConcatenated, clickHandler: () => this.handleToggleDropdown() })), index.h("div", { class: "breadcrumb-buttons" }, breadcrumbConfig.buttons.map(button => (index.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) }, index.h(svgIcon_component.SvgIcon, { name: button.svgIcon.name }), index.h("span", { class: "visually-hidden" }, button.text))))), this.overlayVisible && (index.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: store.state.localizedConfig.header.translations.closeButtonText }))), index.h("slot", null)));
3478
- }
3479
- get host() { return index.getElement(this); }
3480
- static get watchers() { return {
3481
- "customItems": ["handleCustomConfigChage"]
3482
- }; }
3483
- };
3269
+ const PostInternetBreadcrumbs = class {
3270
+ constructor(hostRef) {
3271
+ index.registerInstance(this, hostRef);
3272
+ this.customItems = undefined;
3273
+ this.customBreadcrumbItems = undefined;
3274
+ this.overlayVisible = undefined;
3275
+ this.isConcatenated = undefined;
3276
+ this.dropdownOpen = false;
3277
+ this.refsReady = false;
3278
+ }
3279
+ connectedCallback() {
3280
+ this.debouncedResize = index$1.debounce(200, this.handleResize.bind(this));
3281
+ window.addEventListener('resize', this.debouncedResize, { passive: true });
3282
+ }
3283
+ disconnectedCallback() {
3284
+ window.removeEventListener('resize', this.debouncedResize);
3285
+ window.removeEventListener('click', this.handleWindowClick);
3286
+ bodyScrollLock_esm.clearAllBodyScrollLocks();
3287
+ }
3288
+ async componentWillLoad() {
3289
+ // Wait for the config to arrive, then render the header
3290
+ try {
3291
+ this.customBreadcrumbItems =
3292
+ typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;
3293
+ }
3294
+ catch (error) {
3295
+ console.error(error);
3296
+ }
3297
+ }
3298
+ componentDidLoad() {
3299
+ // Initially check if breadcrumb items are concatenated
3300
+ window.requestAnimationFrame(() => {
3301
+ this.handleResize();
3302
+ });
3303
+ }
3304
+ handleCustomConfigChage(newValue) {
3305
+ try {
3306
+ this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;
3307
+ }
3308
+ catch (error) {
3309
+ console.error(error);
3310
+ }
3311
+ }
3312
+ handleResize() {
3313
+ // Catch and exclude vertical resize events, e.g. scrolling in iPhone
3314
+ if (window.innerWidth === this.lastWindowWidth) {
3315
+ return;
3316
+ }
3317
+ this.lastWindowWidth = window.innerWidth;
3318
+ this.checkConcatenation();
3319
+ }
3320
+ checkConcatenation() {
3321
+ if (this.controlNavRef && this.visibleNavRef) {
3322
+ this.refsReady = true;
3323
+ // Delay the check
3324
+ window.requestAnimationFrame(() => {
3325
+ if (this.controlNavRef && this.visibleNavRef) {
3326
+ this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;
3327
+ }
3328
+ });
3329
+ }
3330
+ }
3331
+ toggleOverlay(overlay, force) {
3332
+ var _a;
3333
+ const newVisibility = force !== null && force !== void 0 ? force : !this.overlayVisible;
3334
+ if (newVisibility) {
3335
+ // Will trigger overlayRef() once the HTLM is rendered
3336
+ this.overlayVisible = newVisibility;
3337
+ this.currentOverlay = overlay;
3338
+ this.setBodyScroll(overlay);
3339
+ }
3340
+ else {
3341
+ const activeToggler = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.breadcrumb-buttons [aria-expanded="true"]');
3342
+ if (this.openAnimation && this.loadedAnimation) {
3343
+ this.openAnimation.reverse();
3344
+ this.loadedAnimation.reverse();
3345
+ // Delay hiding overlay until after the animation finishes
3346
+ Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {
3347
+ if (activeToggler) {
3348
+ activeToggler.focus();
3349
+ }
3350
+ this.overlayVisible = newVisibility;
3351
+ this.setBodyScroll(overlay);
3352
+ });
3353
+ }
3354
+ }
3355
+ }
3356
+ /**
3357
+ * Disable or re-enable body scrolling, depending on whether overlay is visible or not
3358
+ */
3359
+ setBodyScroll(overlay) {
3360
+ if (this.overlayVisible) {
3361
+ bodyScrollLock_esm.disableBodyScroll(overlay, { reserveScrollBarGap: true });
3362
+ }
3363
+ else {
3364
+ bodyScrollLock_esm.enableBodyScroll(overlay);
3365
+ }
3366
+ }
3367
+ toggleDropdown(force) {
3368
+ this.dropdownOpen = force !== null && force !== void 0 ? force : !this.dropdownOpen;
3369
+ if (this.dropdownOpen) {
3370
+ requestAnimationFrame(() => {
3371
+ document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });
3372
+ });
3373
+ }
3374
+ }
3375
+ handleWindowClick() {
3376
+ this.toggleDropdown(false);
3377
+ }
3378
+ registerIFrameResizer(iFrame) {
3379
+ if (!iFrame) {
3380
+ return;
3381
+ }
3382
+ iFrame.addEventListener('load', () => {
3383
+ var _a, _b, _c;
3384
+ iframeResizer.iframeResizer({
3385
+ heightCalculationMethod: 'taggedElement',
3386
+ scrolling: true,
3387
+ checkOrigin: false,
3388
+ }, iFrame);
3389
+ const duration = utils.prefersReducedMotion ? 0 : 300;
3390
+ this.loadedAnimation = (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.animate([{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }], { duration, fill: 'forwards' });
3391
+ (_b = iFrame.parentElement) === null || _b === void 0 ? void 0 : _b.classList.add('loaded');
3392
+ (_c = this.loadedAnimation) === null || _c === void 0 ? void 0 : _c.finished.then(() => {
3393
+ var _a;
3394
+ (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.focus();
3395
+ });
3396
+ });
3397
+ }
3398
+ /**
3399
+ * Reference function for the overlay element got called. It is either null (overlay closed)
3400
+ * or contains the overlay element as parameter.
3401
+ * @param e Overlay element or null
3402
+ * @returns void
3403
+ */
3404
+ overlayRef(e) {
3405
+ if (!e) {
3406
+ return;
3407
+ }
3408
+ const duration = utils.prefersReducedMotion ? 0 : 500;
3409
+ this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {
3410
+ duration,
3411
+ fill: 'forwards',
3412
+ });
3413
+ }
3414
+ handleKeyDown(event) {
3415
+ if (event.key.toLowerCase() === 'escape') {
3416
+ this.toggleOverlay(this.currentOverlay, false);
3417
+ }
3418
+ }
3419
+ handleToggleDropdown() {
3420
+ this.toggleDropdown();
3421
+ }
3422
+ handleToggleOverlay() {
3423
+ this.toggleOverlay(this.currentOverlay, false);
3424
+ }
3425
+ handleControlNavRef(element) {
3426
+ this.controlNavRef = element;
3427
+ this.checkConcatenation();
3428
+ }
3429
+ handleVisibleNavRef(element) {
3430
+ this.visibleNavRef = element;
3431
+ this.checkConcatenation();
3432
+ }
3433
+ render() {
3434
+ // There is something wrong entirely
3435
+ if (!store.state) {
3436
+ console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);
3437
+ return null;
3438
+ }
3439
+ // Config is not loaded yet
3440
+ if (!store.state.localizedConfig) {
3441
+ return null;
3442
+ }
3443
+ // Config has loaded but there is no breadcrumbs config
3444
+ if (!store.state.localizedConfig.breadcrumb) {
3445
+ console.warn(`Internet Header: Current project "${store.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.`);
3446
+ return null;
3447
+ }
3448
+ const breadcrumbConfig = store.state.localizedConfig.breadcrumb;
3449
+ const items = this.customBreadcrumbItems !== undefined
3450
+ ? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]
3451
+ : breadcrumbConfig.items;
3452
+ return (index.h(index.Host, null, index.h(svgSprite_component.SvgSprite, null), index.h("div", { class: "breadcrumbs" }, index.h("div", { class: "hidden-control-breadcrumbs", "aria-hidden": "true", tabindex: "-1" }, index.h("nav", { class: "breadcrumbs-nav", ref: e => e !== undefined && this.handleControlNavRef(e) }, index.h(BreadcrumbList, { items: items, focusable: false, clickHandler: () => { } }))), index.h("h2", { class: "visually-hidden" }, breadcrumbConfig.a11yLabel), index.h("nav", { ref: e => e !== undefined && this.handleVisibleNavRef(e), class: {
3453
+ 'breadcrumbs-nav': true,
3454
+ 'visually-hidden': !this.refsReady,
3455
+ } }, index.h(BreadcrumbList, { items: items, dropdownOpen: this.dropdownOpen, isConcatenated: this.isConcatenated, clickHandler: () => this.handleToggleDropdown() })), index.h("div", { class: "breadcrumb-buttons" }, breadcrumbConfig.buttons.map(button => (index.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) }, index.h(svgIcon_component.SvgIcon, { name: button.svgIcon.name }), index.h("span", { class: "visually-hidden" }, button.text))))), this.overlayVisible && (index.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: store.state.localizedConfig.header.translations.closeButtonText }))), index.h("slot", null)));
3456
+ }
3457
+ get host() { return index.getElement(this); }
3458
+ static get watchers() { return {
3459
+ "customItems": ["handleCustomConfigChage"]
3460
+ }; }
3461
+ };
3484
3462
  PostInternetBreadcrumbs.style = postInternetBreadcrumbsCss;
3485
3463
 
3486
3464
  exports.swisspost_internet_breadcrumbs = PostInternetBreadcrumbs;