@swisspost/design-system-components 10.0.0-next.55 → 10.0.0-next.57

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 (443) hide show
  1. package/dist/{components/react/p-CJ80BZ06.js → cjs/breakpoints-Df03Ct7n.js} +103 -5
  2. package/dist/cjs/debounce-BsIBi_-2.js +13 -0
  3. package/dist/cjs/environment-BQE9Unf_.js +52 -0
  4. package/dist/cjs/{event-from-CLvtSUKf.js → event-from-CwMw19f8.js} +2 -2
  5. package/dist/cjs/fade-CPQhl1fP.js +26 -0
  6. package/dist/cjs/fade-slide-dPhQa-I1.js +38 -0
  7. package/dist/cjs/{get-focusable-children-Bx63XUQg.js → get-focusable-children-ChETM1wK.js} +29 -21
  8. package/dist/cjs/{get-root-CyMf3Vsd.js → get-root-CUAv4k4C.js} +2 -2
  9. package/dist/cjs/{index-B4gYpuJF.js → index-B4rc1pqu.js} +2150 -292
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/{package-DkJrv93P.js → package-uQ5oiSiN.js} +1 -1
  12. package/dist/cjs/post-accordion_2.cjs.entry.js +19 -15
  13. package/dist/cjs/post-avatar.cjs.entry.js +27 -17
  14. package/dist/cjs/post-back-to-top.cjs.entry.js +23 -43
  15. package/dist/cjs/post-banner.cjs.entry.js +15 -12
  16. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +14 -12
  17. package/dist/cjs/post-breadcrumbs.cjs.entry.js +33 -34
  18. package/dist/cjs/post-card-control.cjs.entry.js +42 -26
  19. package/dist/cjs/{post-closebutton_15.cjs.entry.js → post-closebutton_13.cjs.entry.js} +618 -531
  20. package/dist/cjs/post-collapsible_2.cjs.entry.js +41 -37
  21. package/dist/cjs/post-components.cjs.js +3 -3
  22. package/dist/cjs/post-env-test.cjs.entry.js +15 -0
  23. package/dist/cjs/post-footer.cjs.entry.js +24 -20
  24. package/dist/cjs/post-linkarea.cjs.entry.js +5 -5
  25. package/dist/cjs/post-pagination.cjs.entry.js +615 -0
  26. package/dist/cjs/post-popover-trigger.cjs.entry.js +54 -34
  27. package/dist/cjs/post-popover.cjs.entry.js +26 -17
  28. package/dist/cjs/post-rating.cjs.entry.js +24 -18
  29. package/dist/cjs/post-stepper-item.cjs.entry.js +5 -5
  30. package/dist/cjs/post-stepper.cjs.entry.js +40 -29
  31. package/dist/cjs/post-tab-item.cjs.entry.js +51 -0
  32. package/dist/cjs/post-tab-panel.cjs.entry.js +13 -11
  33. package/dist/cjs/post-tabs.cjs.entry.js +195 -40
  34. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +13 -11
  35. package/dist/cjs/post-tooltip.cjs.entry.js +14 -12
  36. package/dist/cjs/utils-s05L2ulk.js +26 -0
  37. package/dist/collection/animations/collapse.js +3 -3
  38. package/dist/collection/animations/fade-slide.js +33 -0
  39. package/dist/collection/animations/fade.js +19 -7
  40. package/dist/collection/animations/index.js +2 -0
  41. package/dist/collection/animations/slide.js +25 -21
  42. package/dist/collection/animations/types.js +14 -0
  43. package/dist/collection/animations/utils.js +8 -0
  44. package/dist/collection/collection-manifest.json +8 -8
  45. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  46. package/dist/collection/components/post-accordion/post-accordion.js +5 -4
  47. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  48. package/dist/collection/components/post-accordion-item/post-accordion-item.js +9 -8
  49. package/dist/collection/components/post-avatar/post-avatar.js +11 -11
  50. package/dist/collection/components/post-back-to-top/post-back-to-top.js +15 -15
  51. package/dist/collection/components/post-banner/post-banner.css +4 -1
  52. package/dist/collection/components/post-banner/post-banner.js +6 -5
  53. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +3 -3
  54. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +29 -29
  55. package/dist/collection/components/post-card-control/post-card-control.js +18 -18
  56. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
  57. package/dist/collection/components/post-closebutton/post-closebutton.js +4 -3
  58. package/dist/collection/components/post-collapsible/post-collapsible.js +28 -28
  59. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +3 -3
  60. package/dist/collection/components/post-footer/post-footer.css +1 -1
  61. package/dist/collection/components/post-footer/post-footer.js +18 -16
  62. package/dist/collection/components/post-header/post-header.css +1 -1
  63. package/dist/collection/components/post-header/post-header.js +144 -82
  64. package/dist/collection/components/post-icon/post-icon.js +18 -16
  65. package/dist/collection/components/post-language-menu/post-language-menu.css +1 -0
  66. package/dist/collection/components/{post-language-switch/post-language-switch.js → post-language-menu/post-language-menu.js} +45 -36
  67. package/dist/collection/components/post-language-menu-item/post-language-menu-item.css +1 -0
  68. package/dist/collection/components/{post-language-option/post-language-option.js → post-language-menu-item/post-language-menu-item.js} +24 -23
  69. package/dist/collection/components/post-linkarea/post-linkarea.js +1 -1
  70. package/dist/collection/components/post-logo/post-logo.css +3 -1
  71. package/dist/collection/components/post-logo/post-logo.js +3 -3
  72. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  73. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +41 -29
  74. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  75. package/dist/collection/components/post-megadropdown/post-megadropdown.js +183 -74
  76. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +3 -1
  77. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +81 -75
  78. package/dist/collection/components/post-menu/post-menu.css +1 -1
  79. package/dist/collection/components/post-menu/post-menu.js +39 -38
  80. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
  81. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +3 -3
  82. package/dist/collection/components/post-pagination/post-pagination.css +1 -0
  83. package/dist/collection/components/post-pagination/post-pagination.js +838 -0
  84. package/dist/collection/components/post-popover/post-popover.js +22 -16
  85. package/dist/collection/components/post-popover-trigger/post-popover-trigger.js +45 -29
  86. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  87. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +82 -131
  88. package/dist/collection/components/post-rating/post-rating.js +7 -7
  89. package/dist/collection/components/post-stepper/post-stepper.js +38 -35
  90. package/dist/collection/components/post-stepper-item/post-stepper-item.css +2 -2
  91. package/dist/collection/components/post-stepper-item/post-stepper-item.js +1 -1
  92. package/dist/collection/components/post-tab-item/post-tab-item.css +1 -0
  93. package/dist/collection/components/post-tab-item/post-tab-item.js +86 -0
  94. package/dist/collection/components/post-tab-panel/post-tab-panel.js +10 -10
  95. package/dist/collection/components/post-tabs/post-tabs.js +232 -59
  96. package/dist/collection/components/post-togglebutton/post-togglebutton.js +2 -2
  97. package/dist/collection/components/post-tooltip/post-tooltip.js +9 -27
  98. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +4 -4
  99. package/dist/collection/utils/environment.js +47 -2
  100. package/dist/collection/utils/event-from.js +2 -2
  101. package/dist/collection/utils/get-focusable-children.js +29 -21
  102. package/dist/collection/utils/is-motion-reduced.js +1 -1
  103. package/dist/collection/utils/tests/environment/hydrate-app-helper.js +16 -0
  104. package/dist/collection/utils/tests/environment/post-env-test.js +9 -0
  105. package/dist/component-names.json +4 -5
  106. package/dist/components/breakpoints.js +1 -178
  107. package/dist/components/debounce.js +1 -0
  108. package/dist/components/environment.js +1 -0
  109. package/dist/components/event-from.js +1 -119
  110. package/dist/components/fade-slide.js +1 -0
  111. package/dist/components/fade.js +1 -11
  112. package/dist/components/focusable.js +1 -5018
  113. package/dist/components/get-focusable-children.js +1 -64
  114. package/dist/components/get-root.js +1 -15
  115. package/dist/components/heading-levels.js +1 -3
  116. package/dist/components/index.browser.js +1 -14
  117. package/dist/components/index.d.ts +11 -10
  118. package/dist/components/index.js +1 -39
  119. package/dist/components/long-press-event.js +1 -257
  120. package/dist/components/package.js +1 -3
  121. package/dist/components/post-accordion-item.js +1 -6
  122. package/dist/components/post-accordion-item2.js +1 -113
  123. package/dist/components/post-accordion.js +1 -6
  124. package/dist/components/post-accordion2.js +1 -138
  125. package/dist/components/post-avatar.js +1 -217
  126. package/dist/components/post-back-to-top.js +1 -144
  127. package/dist/components/post-banner.js +1 -98
  128. package/dist/components/post-breadcrumb-item.js +1 -6
  129. package/dist/components/post-breadcrumb-item2.js +1 -79
  130. package/dist/components/post-breadcrumbs.js +1 -196
  131. package/dist/components/post-card-control.js +1 -326
  132. package/dist/components/post-closebutton.js +1 -6
  133. package/dist/components/post-closebutton2.js +1 -77
  134. package/dist/components/post-collapsible-trigger.js +1 -6
  135. package/dist/components/post-collapsible-trigger2.js +1 -136
  136. package/dist/components/post-collapsible.js +1 -6
  137. package/dist/components/post-collapsible2.js +1 -110
  138. package/dist/components/{post-list.d.ts → post-env-test.d.ts} +4 -4
  139. package/dist/components/post-env-test.js +1 -0
  140. package/dist/components/post-footer.js +1 -116
  141. package/dist/components/post-header.js +1 -372
  142. package/dist/components/post-icon.js +1 -6
  143. package/dist/components/post-icon2.js +1 -159
  144. package/dist/components/post-language-menu-item.d.ts +11 -0
  145. package/dist/components/post-language-menu-item.js +1 -0
  146. package/dist/components/{post-language-switch.d.ts → post-language-menu.d.ts} +4 -4
  147. package/dist/components/post-language-menu.js +1 -0
  148. package/dist/components/post-linkarea.js +1 -58
  149. package/dist/components/post-logo.js +1 -58
  150. package/dist/components/post-mainnavigation.js +1 -180
  151. package/dist/components/post-megadropdown-trigger.js +1 -136
  152. package/dist/components/post-megadropdown.js +1 -267
  153. package/dist/components/post-menu-item.js +1 -6
  154. package/dist/components/post-menu-item2.js +1 -30
  155. package/dist/components/post-menu-trigger.js +1 -6
  156. package/dist/components/post-menu-trigger2.js +1 -110
  157. package/dist/components/post-menu.js +1 -6
  158. package/dist/components/post-menu2.js +1 -242
  159. package/dist/components/{post-tab-header.d.ts → post-pagination.d.ts} +4 -4
  160. package/dist/components/post-pagination.js +1 -0
  161. package/dist/components/post-popover-trigger.js +1 -132
  162. package/dist/components/post-popover.js +1 -118
  163. package/dist/components/post-popovercontainer.js +1 -6
  164. package/dist/components/post-popovercontainer2.js +1 -3127
  165. package/dist/components/post-rating.js +1 -148
  166. package/dist/components/post-stepper-item.js +1 -33
  167. package/dist/components/post-stepper.js +1 -134
  168. package/dist/components/{post-list-item.d.ts → post-tab-item.d.ts} +4 -4
  169. package/dist/components/post-tab-item.js +1 -0
  170. package/dist/components/post-tab-panel.js +1 -54
  171. package/dist/components/post-tabs.js +1 -196
  172. package/dist/components/post-togglebutton.js +1 -56
  173. package/dist/components/post-togglebutton2.js +1 -0
  174. package/dist/components/post-tooltip-trigger.js +1 -206
  175. package/dist/components/post-tooltip.js +1 -114
  176. package/dist/components/react/index.d.ts +2 -0
  177. package/dist/components/react/index.js +1 -2315
  178. package/dist/components/react/p-B8YiQ3mz.js +1 -0
  179. package/dist/components/react/p-BC5nlBvn.js +1 -0
  180. package/dist/components/react/p-BLchVpF6.js +1 -14
  181. package/dist/components/react/p-BVCjnh6Q.js +1 -0
  182. package/dist/{post-components/p-CBFgkSgY.js → components/react/p-BVGcVycs.js} +1 -1
  183. package/dist/components/react/p-B_XPj2c8.js +1 -0
  184. package/dist/components/react/p-BllOMLDs.js +1 -0
  185. package/dist/components/react/p-BmRNjQUZ.js +1 -0
  186. package/dist/components/react/p-ByFh05IW.js +1 -0
  187. package/dist/components/react/p-C9hMpmsD.js +1 -0
  188. package/dist/components/react/p-CJ13r5fi.js +1 -0
  189. package/dist/components/react/p-CZvbetqX.js +1 -0
  190. package/dist/components/react/p-C_2k3G1c.js +1 -257
  191. package/dist/components/react/p-CoDiS_Ik.js +1 -0
  192. package/dist/components/react/p-Cou17ld8.js +1 -0
  193. package/dist/components/react/p-D5knoiyy.js +1 -0
  194. package/dist/components/react/p-D9DDtvFM.js +1 -0
  195. package/dist/components/react/p-DY2U5CQt.js +1 -0
  196. package/dist/components/react/p-DjIHLduJ.js +1 -3
  197. package/dist/components/react/p-DpATRD2W.js +1 -0
  198. package/dist/components/react/p-FxUVQ4Tx.js +1 -0
  199. package/dist/components/react/p-HygIVKXC.js +1 -5018
  200. package/dist/components/react/p-YR7U0Z_g.js +1 -0
  201. package/dist/components/react/p-ZeKXASQs.js +1 -0
  202. package/dist/components/react/p-r4txK0AC.js +1 -3
  203. package/dist/components/react/p-sSn0kXFi.js +1 -0
  204. package/dist/components/react/post-accordion-item.js +1 -6
  205. package/dist/components/react/post-accordion.js +1 -6
  206. package/dist/components/react/post-avatar.js +1 -218
  207. package/dist/components/react/post-back-to-top.js +1 -145
  208. package/dist/components/react/post-banner.js +1 -99
  209. package/dist/components/react/post-breadcrumb-item.js +1 -6
  210. package/dist/components/react/post-breadcrumbs.js +1 -197
  211. package/dist/components/react/post-card-control.js +1 -327
  212. package/dist/components/react/post-closebutton.js +1 -6
  213. package/dist/components/react/post-collapsible-trigger.js +1 -6
  214. package/dist/components/react/post-collapsible.js +1 -6
  215. package/dist/components/react/{post-list.d.ts → post-env-test.d.ts} +4 -4
  216. package/dist/components/react/post-env-test.js +1 -0
  217. package/dist/components/react/post-footer.js +1 -117
  218. package/dist/components/react/post-header.js +1 -373
  219. package/dist/components/react/post-icon.js +1 -6
  220. package/dist/components/react/post-language-menu-item.d.ts +11 -0
  221. package/dist/components/react/post-language-menu-item.js +1 -0
  222. package/dist/components/react/{post-language-option.d.ts → post-language-menu.d.ts} +4 -4
  223. package/dist/components/react/post-language-menu.js +1 -0
  224. package/dist/components/react/post-linkarea.js +1 -59
  225. package/dist/components/react/post-logo.js +1 -59
  226. package/dist/components/react/post-mainnavigation.js +1 -181
  227. package/dist/components/react/post-megadropdown-trigger.js +1 -137
  228. package/dist/components/react/post-megadropdown.js +1 -268
  229. package/dist/components/react/post-menu-item.js +1 -6
  230. package/dist/components/react/post-menu-trigger.js +1 -6
  231. package/dist/components/react/post-menu.js +1 -6
  232. package/dist/components/react/{post-tab-header.d.ts → post-pagination.d.ts} +4 -4
  233. package/dist/components/react/post-pagination.js +1 -0
  234. package/dist/components/react/post-popover-trigger.js +1 -133
  235. package/dist/components/react/post-popover.js +1 -119
  236. package/dist/components/react/post-popovercontainer.js +1 -6
  237. package/dist/components/react/post-rating.js +1 -149
  238. package/dist/components/react/post-stepper-item.js +1 -34
  239. package/dist/components/react/post-stepper.js +1 -135
  240. package/dist/components/react/{post-list-item.d.ts → post-tab-item.d.ts} +4 -4
  241. package/dist/components/react/post-tab-item.js +1 -0
  242. package/dist/components/react/post-tab-panel.js +1 -55
  243. package/dist/components/react/post-tabs.js +1 -197
  244. package/dist/components/react/post-togglebutton.js +1 -57
  245. package/dist/components/react/post-tooltip-trigger.js +1 -207
  246. package/dist/components/react/post-tooltip.js +1 -115
  247. package/dist/components/switch-variants.js +1 -3
  248. package/dist/components/utils.js +1 -0
  249. package/dist/docs.d.ts +11 -0
  250. package/dist/docs.json +873 -631
  251. package/dist/{cjs/breakpoints-CEkeixld.js → esm/breakpoints-DYoSKGHO.js} +89 -6
  252. package/dist/esm/debounce-C9hMpmsD.js +11 -0
  253. package/dist/esm/environment-CEmnRoA6.js +49 -0
  254. package/dist/{components/react/p-CzIKqBrS.js → esm/event-from-rEfV4v4a.js} +2 -2
  255. package/dist/esm/fade-DsgPYmAa.js +24 -0
  256. package/dist/esm/fade-slide-CvOvauo9.js +36 -0
  257. package/dist/esm/{get-focusable-children-D9ZHp2FP.js → get-focusable-children-BXNs2_sw.js} +29 -21
  258. package/dist/{components/react/p-CBFgkSgY.js → esm/get-root-CXfAA093.js} +1 -1
  259. package/dist/esm/{index-wEFJ-c34.js → index-CDZBzSdV.js} +2150 -292
  260. package/dist/esm/loader.js +3 -3
  261. package/dist/esm/package-CZvbetqX.js +3 -0
  262. package/dist/esm/post-accordion_2.entry.js +17 -13
  263. package/dist/esm/post-avatar.entry.js +22 -12
  264. package/dist/esm/post-back-to-top.entry.js +23 -43
  265. package/dist/esm/post-banner.entry.js +14 -11
  266. package/dist/esm/post-breadcrumb-item_2.entry.js +13 -11
  267. package/dist/esm/post-breadcrumbs.entry.js +31 -32
  268. package/dist/esm/post-card-control.entry.js +32 -16
  269. package/dist/esm/{post-closebutton_15.entry.js → post-closebutton_13.entry.js} +599 -510
  270. package/dist/esm/post-collapsible_2.entry.js +38 -34
  271. package/dist/esm/post-components.js +4 -4
  272. package/dist/esm/post-env-test.entry.js +13 -0
  273. package/dist/esm/post-footer.entry.js +21 -17
  274. package/dist/esm/post-linkarea.entry.js +5 -5
  275. package/dist/esm/post-pagination.entry.js +613 -0
  276. package/dist/esm/post-popover-trigger.entry.js +52 -32
  277. package/dist/esm/post-popover.entry.js +25 -16
  278. package/dist/esm/post-rating.entry.js +16 -10
  279. package/dist/esm/post-stepper-item.entry.js +5 -5
  280. package/dist/esm/post-stepper.entry.js +39 -28
  281. package/dist/esm/post-tab-item.entry.js +49 -0
  282. package/dist/esm/post-tab-panel.entry.js +13 -11
  283. package/dist/esm/post-tabs.entry.js +195 -40
  284. package/dist/esm/post-tooltip-trigger.entry.js +10 -8
  285. package/dist/esm/post-tooltip.entry.js +13 -11
  286. package/dist/esm/utils-CoDiS_Ik.js +24 -0
  287. package/dist/post-components/p-09ba7cf9.entry.js +1 -0
  288. package/dist/post-components/p-0c091898.entry.js +1 -0
  289. package/dist/post-components/{p-cd03e6f2.entry.js → p-0e97fcfd.entry.js} +1 -1
  290. package/dist/post-components/p-296f1dd5.entry.js +1 -0
  291. package/dist/post-components/p-32ad2b21.entry.js +1 -0
  292. package/dist/post-components/p-366c28cb.entry.js +1 -0
  293. package/dist/post-components/p-41ae68d5.entry.js +1 -0
  294. package/dist/post-components/p-448e7265.entry.js +1 -0
  295. package/dist/post-components/p-554da188.entry.js +1 -0
  296. package/dist/post-components/p-5912f8f1.entry.js +1 -0
  297. package/dist/post-components/p-790f300d.entry.js +1 -0
  298. package/dist/post-components/p-7ed5a493.entry.js +1 -0
  299. package/dist/post-components/p-85bea1b6.entry.js +1 -0
  300. package/dist/post-components/p-8bcff4d2.entry.js +1 -0
  301. package/dist/post-components/p-9dc9c245.entry.js +1 -0
  302. package/dist/post-components/p-B7ebLhHc.js +1 -0
  303. package/dist/post-components/p-BVCjnh6Q.js +1 -0
  304. package/dist/post-components/p-BXNs2_sw.js +1 -0
  305. package/dist/post-components/p-C9hMpmsD.js +1 -0
  306. package/dist/post-components/p-CDZBzSdV.js +2 -0
  307. package/dist/post-components/p-CEmnRoA6.js +1 -0
  308. package/dist/post-components/p-CZvbetqX.js +1 -0
  309. package/dist/post-components/p-CoDiS_Ik.js +1 -0
  310. package/dist/post-components/p-D5knoiyy.js +1 -0
  311. package/dist/post-components/p-DI-h_mEL.js +1 -0
  312. package/dist/post-components/p-a06f9695.entry.js +1 -0
  313. package/dist/post-components/p-a191f1df.entry.js +1 -0
  314. package/dist/post-components/p-c5d19d62.entry.js +1 -0
  315. package/dist/post-components/{p-24dc54d1.entry.js → p-c8c4d05b.entry.js} +1 -1
  316. package/dist/post-components/{p-57288cb2.entry.js → p-d1a5c980.entry.js} +1 -1
  317. package/dist/post-components/p-d4e2c556.entry.js +1 -0
  318. package/dist/post-components/p-f96a310c.entry.js +1 -0
  319. package/dist/post-components/p-fab2327d.entry.js +1 -0
  320. package/dist/post-components/p-rEfV4v4a.js +1 -0
  321. package/dist/post-components/post-components.css +1 -1
  322. package/dist/post-components/post-components.esm.js +1 -1
  323. package/dist/prebuild.js +46 -0
  324. package/dist/types/animations/collapse.d.ts +1 -0
  325. package/dist/types/animations/fade-slide.d.ts +11 -0
  326. package/dist/types/animations/fade.d.ts +2 -2
  327. package/dist/types/animations/index.d.ts +2 -0
  328. package/dist/types/animations/slide.d.ts +9 -2
  329. package/dist/types/animations/types.d.ts +13 -0
  330. package/dist/types/animations/utils.d.ts +2 -0
  331. package/dist/types/components/post-accordion-item/heading-levels.d.ts +1 -1
  332. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +2 -2
  333. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +2 -2
  334. package/dist/types/components/post-breadcrumbs/post-breadcrumbs.d.ts +6 -6
  335. package/dist/types/components/post-collapsible/post-collapsible.d.ts +4 -5
  336. package/dist/types/components/post-footer/post-footer.d.ts +4 -4
  337. package/dist/types/components/post-header/post-header.d.ts +23 -13
  338. package/dist/types/components/{post-language-switch/post-language-switch.d.ts → post-language-menu/post-language-menu.d.ts} +12 -11
  339. package/dist/types/components/{post-language-option/post-language-option.d.ts → post-language-menu-item/post-language-menu-item.d.ts} +5 -5
  340. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +6 -5
  341. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +20 -2
  342. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +17 -23
  343. package/dist/types/components/post-menu/post-menu.d.ts +4 -4
  344. package/dist/types/components/post-pagination/post-pagination.d.ts +224 -0
  345. package/dist/types/components/post-popover/post-popover.d.ts +4 -3
  346. package/dist/types/components/post-popover-trigger/post-popover-trigger.d.ts +2 -1
  347. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +23 -21
  348. package/dist/types/components/post-rating/post-rating.d.ts +1 -1
  349. package/dist/types/components/post-stepper/post-stepper.d.ts +9 -8
  350. package/dist/types/components/post-tab-item/post-tab-item.d.ts +19 -0
  351. package/dist/types/components/post-tab-panel/post-tab-panel.d.ts +3 -3
  352. package/dist/types/components/post-tabs/post-tabs.d.ts +33 -12
  353. package/dist/types/components/post-tooltip/post-tooltip.d.ts +1 -5
  354. package/dist/types/components.d.ts +322 -219
  355. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/prebuild.d.ts +9 -0
  356. package/dist/types/stencil-public-runtime.d.ts +147 -10
  357. package/dist/types/types/heading-levels.d.ts +1 -1
  358. package/dist/types/utils/environment.d.ts +25 -1
  359. package/dist/types/utils/get-focusable-children.d.ts +2 -2
  360. package/dist/types/utils/tests/environment/hydrate-app-helper.d.ts +5 -0
  361. package/dist/types/utils/tests/environment/post-env-test.d.ts +3 -0
  362. package/hydrate/index.d.ts +14 -0
  363. package/hydrate/index.js +7494 -2714
  364. package/hydrate/index.mjs +7493 -2715
  365. package/package.json +7 -8
  366. package/dist/cjs/fade-nS5zzDQS.js +0 -14
  367. package/dist/cjs/index-UFKR6Ok0.js +0 -98
  368. package/dist/cjs/post-tab-header.cjs.entry.js +0 -31
  369. package/dist/collection/animations/slide-and-fade.js +0 -25
  370. package/dist/collection/components/post-language-option/post-language-option.css +0 -1
  371. package/dist/collection/components/post-language-switch/post-language-switch.css +0 -1
  372. package/dist/collection/components/post-list/post-list.css +0 -1
  373. package/dist/collection/components/post-list/post-list.js +0 -97
  374. package/dist/collection/components/post-list-item/post-list-item.css +0 -1
  375. package/dist/collection/components/post-list-item/post-list-item.js +0 -26
  376. package/dist/collection/components/post-tab-header/post-tab-header.css +0 -1
  377. package/dist/collection/components/post-tab-header/post-tab-header.js +0 -65
  378. package/dist/components/index2.js +0 -89
  379. package/dist/components/post-language-option.d.ts +0 -11
  380. package/dist/components/post-language-option.js +0 -99
  381. package/dist/components/post-language-switch.js +0 -157
  382. package/dist/components/post-list-item.js +0 -38
  383. package/dist/components/post-list.js +0 -61
  384. package/dist/components/post-tab-header.js +0 -52
  385. package/dist/components/react/p-BVXiQdHq.js +0 -64
  386. package/dist/components/react/p-BhxZzOEC.js +0 -3
  387. package/dist/components/react/p-CSAMO7iJ.js +0 -243
  388. package/dist/components/react/p-CYkf_7Y5.js +0 -89
  389. package/dist/components/react/p-Ccrl2AQn.js +0 -111
  390. package/dist/components/react/p-CewRvBtg.js +0 -139
  391. package/dist/components/react/p-Cwiv86_f.js +0 -111
  392. package/dist/components/react/p-D2waO0Zc.js +0 -31
  393. package/dist/components/react/p-DBPOV12C.js +0 -160
  394. package/dist/components/react/p-DVGEExot.js +0 -3128
  395. package/dist/components/react/p-Djvj8fd2.js +0 -80
  396. package/dist/components/react/p-LtiDhYis.js +0 -137
  397. package/dist/components/react/p-SbIC4aZX.js +0 -11
  398. package/dist/components/react/p-XrZzCOKT.js +0 -78
  399. package/dist/components/react/p-v3pOrMNQ.js +0 -114
  400. package/dist/components/react/post-language-option.js +0 -100
  401. package/dist/components/react/post-language-switch.d.ts +0 -11
  402. package/dist/components/react/post-language-switch.js +0 -158
  403. package/dist/components/react/post-list-item.js +0 -39
  404. package/dist/components/react/post-list.js +0 -62
  405. package/dist/components/react/post-tab-header.js +0 -53
  406. package/dist/esm/breakpoints-CJ80BZ06.js +0 -178
  407. package/dist/esm/event-from-CzIKqBrS.js +0 -119
  408. package/dist/esm/fade-SbIC4aZX.js +0 -11
  409. package/dist/esm/get-root-BkQ3CrLq.js +0 -15
  410. package/dist/esm/index-Beaz8wEe.js +0 -89
  411. package/dist/esm/package-BhxZzOEC.js +0 -3
  412. package/dist/esm/post-tab-header.entry.js +0 -29
  413. package/dist/post-components/p-01e678c9.entry.js +0 -1
  414. package/dist/post-components/p-034a453f.entry.js +0 -1
  415. package/dist/post-components/p-15a4cdbf.entry.js +0 -1
  416. package/dist/post-components/p-2a2030bf.entry.js +0 -1
  417. package/dist/post-components/p-2ed84cc3.entry.js +0 -1
  418. package/dist/post-components/p-3228968f.entry.js +0 -1
  419. package/dist/post-components/p-3c01ddfe.entry.js +0 -1
  420. package/dist/post-components/p-748b1f01.entry.js +0 -1
  421. package/dist/post-components/p-7745e46e.entry.js +0 -1
  422. package/dist/post-components/p-7f635728.entry.js +0 -1
  423. package/dist/post-components/p-82c178a3.entry.js +0 -1
  424. package/dist/post-components/p-9b5f8319.entry.js +0 -1
  425. package/dist/post-components/p-Beaz8wEe.js +0 -1
  426. package/dist/post-components/p-BhxZzOEC.js +0 -1
  427. package/dist/post-components/p-CJ80BZ06.js +0 -1
  428. package/dist/post-components/p-D9ZHp2FP.js +0 -1
  429. package/dist/post-components/p-SbIC4aZX.js +0 -1
  430. package/dist/post-components/p-a9644e54.entry.js +0 -1
  431. package/dist/post-components/p-af030a3a.entry.js +0 -1
  432. package/dist/post-components/p-b8ba8139.entry.js +0 -1
  433. package/dist/post-components/p-db935e8e.entry.js +0 -1
  434. package/dist/post-components/p-e62e1f57.entry.js +0 -1
  435. package/dist/post-components/p-fb4b1641.entry.js +0 -1
  436. package/dist/post-components/p-wEFJ-c34.js +0 -2
  437. package/dist/types/animations/slide-and-fade.d.ts +0 -2
  438. package/dist/types/components/post-list/post-list.d.ts +0 -24
  439. package/dist/types/components/post-list-item/post-list-item.d.ts +0 -8
  440. package/dist/types/components/post-tab-header/post-tab-header.d.ts +0 -14
  441. /package/dist/collection/components/{post-language-switch → post-language-menu}/switch-variants.js +0 -0
  442. /package/dist/{post-components/p-CzIKqBrS.js → components/react/p-rEfV4v4a.js} +0 -0
  443. /package/dist/types/components/{post-language-switch → post-language-menu}/switch-variants.d.ts +0 -0
@@ -12,8 +12,8 @@ const GRID_SLOTS = ['grid-1', 'grid-2', 'grid-3', 'grid-4'];
12
12
  * @slot copyright - Slot for the copyright text.
13
13
  */
14
14
  export class PostFooter {
15
- validateLabel() {
16
- checkRequiredAndType(this, 'label', 'string');
15
+ validateTextFooter() {
16
+ checkRequiredAndType(this, 'textFooter', 'string');
17
17
  }
18
18
  constructor() {
19
19
  this.device = breakpoint.get('device');
@@ -21,18 +21,13 @@ export class PostFooter {
21
21
  this.breakpointChange = (e) => {
22
22
  this.device = e.detail;
23
23
  };
24
- this.handleGridSlotChange = (...devices) => (e) => {
25
- if (devices.includes(this.device) && e.target instanceof HTMLSlotElement) {
26
- this.updateGridSlotDisplay(e.target.name, e.target.assignedElements().length > 0);
27
- }
28
- };
29
24
  this.handleGridSlotChange = this.handleGridSlotChange.bind(this);
30
25
  }
31
26
  connectedCallback() {
32
27
  window.addEventListener('postBreakpoint:device', this.breakpointChange);
33
28
  }
34
29
  componentWillLoad() {
35
- this.validateLabel();
30
+ this.validateTextFooter();
36
31
  // initialize grid visibility by checking the content of each slot
37
32
  GRID_SLOTS.forEach(slotName => {
38
33
  const assignedElements = this.host.querySelectorAll(`[slot="${slotName}"]`);
@@ -42,6 +37,13 @@ export class PostFooter {
42
37
  disconnectedCallback() {
43
38
  window.removeEventListener('postBreakpoint:device', this.breakpointChange);
44
39
  }
40
+ handleGridSlotChange(...devices) {
41
+ return (e) => {
42
+ if (devices.includes(this.device) && e.target instanceof HTMLSlotElement) {
43
+ this.updateGridSlotDisplay(e.target.name, e.target.assignedElements().length > 0);
44
+ }
45
+ };
46
+ }
45
47
  updateGridSlotDisplay(slotName, hasContent) {
46
48
  if (this.gridSlotDisplayed[slotName] !== hasContent) {
47
49
  this.gridSlotDisplayed = { ...this.gridSlotDisplayed, [slotName]: hasContent };
@@ -51,10 +53,10 @@ export class PostFooter {
51
53
  return (h("post-accordion", { headingLevel: 3, multiple: true }, GRID_SLOTS.map(slotName => (h("post-accordion-item", { class: { 'd-none': !this.gridSlotDisplayed[slotName] }, collapsed: true }, h("span", { slot: "header" }, h("slot", { name: slotName + '-title' })), h("slot", { onSlotchange: this.handleGridSlotChange('mobile'), name: slotName }))))));
52
54
  }
53
55
  renderColumns() {
54
- return GRID_SLOTS.map(slotName => (h("div", { class: { 'd-none': !this.gridSlotDisplayed[slotName] } }, h("slot", { onSlotchange: this.handleGridSlotChange('tablet', 'desktop'), name: slotName }))));
56
+ return GRID_SLOTS.map(slotName => (h("div", { class: { 'd-none': !this.gridSlotDisplayed[slotName] } }, h("h3", null, h("slot", { name: slotName + '-title' })), h("slot", { onSlotchange: this.handleGridSlotChange('tablet', 'desktop'), name: slotName }))));
55
57
  }
56
58
  render() {
57
- return (h(Host, { key: '5fc11a9cde5e0180c20c27e53fb177ecc9a49d78', "data-version": version, "data-color-scheme": "light" }, h("footer", { key: 'a844ab0ee3ef02c5266a6b259f6869ecb68f26cd' }, h("h2", { key: '543414f0394b276d5c8c22f2839f3afcd1d10575', class: "visually-hidden" }, this.label), h("div", { key: '6d6f38e761a134a39b5b5ed863c6832a5fc1f9a8', class: "footer-container" }, h("div", { key: '2c13938bb4bc9def54eb579207f1f5742b937aac', class: "footer-grid" }, this.device === 'mobile' ? this.renderAccordion() : this.renderColumns()), h("div", { key: 'cf097034f1987afa77d9646c51d8b8a1ae697e5b', class: "footer-column" }, h("div", { key: '4f47baa37bd3efe1f1fd3a0e5725106618eebe03', class: "footer-socialmedia" }, h("slot", { key: 'eccb942dcc1c20cf335cda88b18979fe4d80b431', name: "socialmedia" })), h("div", { key: 'b6aaff5655c50ef59679cd94dc15a53127e08ddc', class: "footer-app" }, h("slot", { key: 'd74e9e912a67747efd5413171d10ae7558e75da5', name: "app" }))), h("div", { key: '71ba540f7ce2ac65359eadc6b03a9b809c3deb82', class: "footer-businesssectors" }, h("slot", { key: 'bc5947b45a37132765526952127c03058fa33b90', name: "businesssectors" })), h("div", { key: '287b6ed9ed686a743d57709e8be4a85d1b7c3837', class: "footer-meta" }, h("slot", { key: 'ce5d85389422fe1b0fc231a32f96f60ac7d20459', name: "meta" })), h("div", { key: '2da10dc4c5923a697977a5eb6227c567df156de3', class: "footer-copyright" }, h("slot", { key: 'f6fb5282c228d33213c90141b51accff50ae233e', name: "copyright" }))))));
59
+ return (h(Host, { key: 'e7a0cce19d579c46f60417cfa817ece8c2245ca7', "data-version": version, "data-color-scheme": "light" }, h("footer", { key: '492f1c264ecd72d18adca6e4ca8bc806a00c1643' }, h("h2", { key: '7e08d975715e3e303e61eccead938b09845adc96', class: "visually-hidden" }, this.textFooter), h("div", { key: '77e9434cd41864e2cfb845925ec3354d82db1ced', class: "footer-container" }, h("div", { key: '2260e6da042d4fb489eacd0c7660fcd988b057c4', class: "footer-grid" }, this.device === 'mobile' ? this.renderAccordion() : this.renderColumns()), h("div", { key: 'cf6e31f98324dfb4cfed0dcb47fcfa031d235125', class: "footer-column" }, h("div", { key: 'c4d1f3d153e1a28ae3a4e8b3752892515d9f1e11', class: "footer-socialmedia" }, h("slot", { key: '7577106b20b768a97a1bb778493419242dab2c4a', name: "socialmedia" })), h("div", { key: 'd91dbf22ee099b5604d1fb093fe9109889f1f7a0', class: "footer-app" }, h("slot", { key: '0818814f5d2e286b6b1b6d917a3aeb08350a5ac2', name: "app" }))), h("div", { key: '928110b46617a18411987d1596135b0a5cc9a908', class: "footer-businesssectors" }, h("slot", { key: 'e0ca79bdfcf044641e0181435928951c8f91b719', name: "businesssectors" })), h("div", { key: '67fa6022ce1a0a85d8184c80ffc6d6d9a442a7ff', class: "footer-meta" }, h("slot", { key: 'dd45f04ba9dab63396ea62517dc993b495c406f0', name: "meta" })), h("div", { key: 'de0a6d29504b6456bb75dc265dbb9ad68f1d305e', class: "footer-copyright" }, h("slot", { key: 'ef8a1baffbf26fa05e53370d6bb4df78030c9963', name: "copyright" }))))));
58
60
  }
59
61
  static get is() { return "post-footer"; }
60
62
  static get encapsulation() { return "shadow"; }
@@ -70,9 +72,8 @@ export class PostFooter {
70
72
  }
71
73
  static get properties() {
72
74
  return {
73
- "label": {
75
+ "textFooter": {
74
76
  "type": "string",
75
- "attribute": "label",
76
77
  "mutable": false,
77
78
  "complexType": {
78
79
  "original": "string",
@@ -83,11 +84,12 @@ export class PostFooter {
83
84
  "optional": false,
84
85
  "docs": {
85
86
  "tags": [],
86
- "text": "The label to add to the footer (visually hidden)."
87
+ "text": "The textFooter to add to the footer (visually hidden)."
87
88
  },
88
89
  "getter": false,
89
90
  "setter": false,
90
- "reflect": true
91
+ "reflect": true,
92
+ "attribute": "text-footer"
91
93
  }
92
94
  };
93
95
  }
@@ -100,8 +102,8 @@ export class PostFooter {
100
102
  static get elementRef() { return "host"; }
101
103
  static get watchers() {
102
104
  return [{
103
- "propName": "label",
104
- "methodName": "validateLabel"
105
+ "propName": "textFooter",
106
+ "methodName": "validateTextFooter"
105
107
  }];
106
108
  }
107
109
  }
@@ -1 +1 @@
1
- :host{--post-global-header-top: calc(var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height));--post-header-top: calc(var(--post-header-reduced-height) - var(--post-header-expanded-height));--post-logo-height: calc(var(--post-global-header-expanded-height) - var(--post-header-scroll-top, 0px));--post-global-controls-top: clamp( /* 0 when header is static, large negative when header shrinks to enable offset */ 1000 * (var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height)), calc(-1 * min(var(--post-header-scroll-top, 0px) / 4, var(--post-global-header-reduced-height))), 0px )}@media screen and (min-width: 1024px){:host{--post-header-gap: 0.25rem;--post-global-header-padding-inline-start: 0.25rem;--post-global-header-padding-inline-end: 0.5rem;--post-local-header-padding-inline-start: 0.75rem;--post-local-header-padding-inline-end: 0.5rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){:host{--post-header-gap: 0.75rem 0.25rem;--post-global-header-padding-inline-start: 0.25rem;--post-global-header-padding-inline-end: 0.25rem;--post-local-header-padding-inline-start: 0.75rem;--post-local-header-padding-inline-end: 0.25rem;--post-local-header-padding-block: 0rem;--post-burger-menu-padding-inline: 2.5rem;--post-burger-menu-body-gap: 2rem;--post-burger-menu-footer-gap: 1.5rem}}@media screen and (min-width: 600px)and (max-width: 779.98px){:host{--post-burger-menu-padding-inline: 1rem}}@media screen and (min-width: 0)and (max-width: 599.98px){:host{--post-header-gap: 0.75rem 0.25rem;--post-global-header-padding-inline-start: 0rem;--post-global-header-padding-inline-end: 0.5rem;--post-local-header-padding-inline-start: 0.5rem;--post-local-header-padding-inline-end: 0.5rem;--post-local-header-padding-block: 0rem;--post-burger-menu-padding-inline: 1rem;--post-burger-menu-body-gap: 1.5rem;--post-burger-menu-footer-gap: 1rem}}:host([data-expanded]){--post-header-top: 0;--post-global-header-top: 0;--post-global-controls-top: 0;--post-logo-height: var(--post-global-header-expanded-height)}*,::before,::after{box-sizing:border-box}:host,.global-header,.local-header{transition:inset-block-start 150ms cubic-bezier(0.4, 0, 0.2, 1)}.global-header,.local-header,.burger-menu{box-shadow:var(--post-device-elevation-300)}.global-header,.sliding-controls,.local-header,.navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--post-header-gap)}:host{container-type:inline-size;display:block;position:sticky;inset-block-start:var(--post-header-top);z-index:1020}.global-header{z-index:2;position:sticky;inset-block-start:var(--post-global-header-top);background-color:#fc0;height:var(--post-global-header-expanded-height);padding-inline-start:var(--post-global-header-padding-inline-start);padding-inline-end:var(--post-global-header-padding-inline-end)}.global-header:has(~.local-header:not(.no-title.no-navigation)),.global-header:has(~.burger-menu.extended){box-shadow:none}.global-header .logo{align-self:flex-end;width:var(--post-global-header-expanded-height);height:var(--post-logo-height);min-height:var(--post-global-header-reduced-height);max-height:100%;margin-inline-end:1.25rem}.global-header .sliding-controls{flex-grow:1;justify-content:flex-end;position:relative;inset-block-start:var(--post-global-controls-top)}.global-header .target-group{margin-inline-end:auto}.global-header.no-target-group .target-group{display:none}.local-header{position:relative;flex-wrap:wrap;background-color:#fff;min-height:var(--post-local-header-expanded-min-height);padding-inline-start:var(--post-local-header-padding-inline-start);padding-inline-end:var(--post-local-header-padding-inline-end);padding-block:var(--post-local-header-padding-block)}.local-header:not(.no-title,.no-navigation){padding-block-start:1.125rem}.local-header.no-title.no-navigation{display:none}.local-header:has(.navigation.megadropdown-open),.local-header:has(~.burger-menu.extended){box-shadow:none}.local-header:has(.navigation.megadropdown-open)::after,.local-header:has(~.burger-menu.extended)::after{content:"";display:block;position:absolute;inset-inline:0;inset-block-end:0;height:1px;background-color:#e1e0dc}.local-header .navigation{flex:1 0 100%;height:var(--post-main-navigation-height);margin-inline-start:calc(-1*var(--post-local-header-padding-inline-start));max-width:100cqw}.local-header.no-navigation .navigation{display:none}.local-header .navigation-controls{flex:0 0 auto}.local-header.no-navigation-controls .navigation{margin-inline-end:calc(-1*var(--post-local-header-padding-inline-end))}.local-header.no-navigation-controls .navigation-controls{display:none}.burger-menu{z-index:-1;position:absolute;inset-inline:0;inset-block-start:100%;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));overflow:hidden auto;display:flex;flex-direction:column;background-color:#fafafa}.burger-menu:not(.extended){transform:translateY(-100%)}.burger-menu:not(.extended)>*{display:none}.burger-menu .burger-menu-body,.burger-menu .burger-menu-footer{display:flex;flex-direction:column;padding-inline:var(--post-burger-menu-padding-inline)}.burger-menu .burger-menu-body{flex-grow:1;padding-block:1.5rem;gap:var(--post-burger-menu-body-gap)}.burger-menu .burger-menu-footer{background-color:#f0efed;padding-block:1rem 1.5rem;gap:var(--post-burger-menu-footer-gap)}.burger-menu .navigation-controls{height:3.5rem;display:flex;align-items:center;justify-content:flex-end;padding-inline:.25rem}.burger-menu.no-navigation-controls .navigation-controls{display:none}
1
+ :host{--post-global-header-top: calc( var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height) );--post-header-top: calc(var(--post-header-reduced-height) - var(--post-header-expanded-height));--post-logo-height: calc( var(--post-global-header-expanded-height) - var(--post-header-scroll-top, 0px) );--post-global-controls-top: clamp( /* 0 when header is static, large negative when header shrinks to enable offset */ 1000 * (var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height)), calc( -1 * min(var(--post-header-scroll-top, 0px) / 4, var(--post-global-header-reduced-height)) ), 0px )}@media screen and (min-width: 1024px){:host{--post-header-gap: 0.25rem;--post-global-header-padding-inline-start: 0.25rem;--post-global-header-padding-inline-end: 0.5rem;--post-local-header-padding-inline-start: 0.75rem;--post-local-header-padding-inline-end: 0.5rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){:host{--post-header-gap: 0.75rem 0.25rem;--post-global-header-padding-inline-start: 0.25rem;--post-global-header-padding-inline-end: 0.25rem;--post-local-header-padding-inline-start: 0.75rem;--post-local-header-padding-inline-end: 0.25rem;--post-local-header-padding-block: 0rem;--post-burger-menu-padding-inline: 2.5rem;--post-burger-menu-body-gap: 2rem;--post-burger-menu-footer-gap: 1.5rem}}@media screen and (min-width: 600px)and (max-width: 779.98px){:host{--post-burger-menu-padding-inline: 1rem}}@media screen and (min-width: 0)and (max-width: 599.98px){:host{--post-header-gap: 0.75rem 0.25rem;--post-global-header-padding-inline-start: 0rem;--post-global-header-padding-inline-end: 0.5rem;--post-local-header-padding-inline-start: 0.5rem;--post-local-header-padding-inline-end: 0.5rem;--post-local-header-padding-block: 0rem;--post-burger-menu-padding-inline: 1rem;--post-burger-menu-body-gap: 1.5rem;--post-burger-menu-footer-gap: 1rem}}:host(:not([full-width])),:host([full-width=false]){--post-header-content-max-width: 1440px}:host([data-expanded]),:host([data-menu-extended]){--post-header-top: 0;--post-global-header-top: -0.001px;--post-global-controls-top: 0;--post-logo-height: var(--post-global-header-expanded-height)}*,::before,::after{box-sizing:border-box}:host,header,.global-header,.local-header{transition:inset-block-start 150ms cubic-bezier(0.4, 0, 0.2, 1)}.global-header,.local-header,.burger-menu{box-shadow:var(--post-device-elevation-300)}.section,.navigation,.sliding-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--post-header-gap);flex-wrap:wrap}.section{max-width:var(--post-header-content-max-width);margin-inline:auto}:host{container-type:inline-size;display:block;position:sticky;inset-block-start:var(--post-header-top);z-index:1020}:host post-togglebutton{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}:host post-togglebutton:hover{text-decoration:none}:host post-togglebutton:disabled{border-style:var(--post-core-border-style-dash)}:host post-togglebutton{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host post-togglebutton:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host post-togglebutton:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host post-togglebutton:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host post-togglebutton:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host post-togglebutton:is(a){color:LinkText;border:unset}:host post-togglebutton:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}:host post-togglebutton:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}:host post-togglebutton:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}:host post-togglebutton:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}:host post-togglebutton:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg);color:var(--post-scheme-color-interactive-button-primary-enabled-fg)}:host post-togglebutton:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg);color:var(--post-scheme-color-interactive-button-primary-hover-fg)}@media screen and (min-width: 0)and (max-width: 599.98px){:host post-togglebutton{padding:.625rem}:host post-togglebutton>:not(post-icon){display:none}:host post-togglebutton>post-icon{font-size:1.5rem}}.global-header{z-index:2;position:sticky;inset-block-start:var(--post-global-header-top);background-color:#fc0}.global-header .section{height:var(--post-global-header-expanded-height);padding-inline-start:var(--post-global-header-padding-inline-start);padding-inline-end:var(--post-global-header-padding-inline-end)}.global-header:has(~.local-header:not(.no-title.no-navigation)),.global-header:has(~.burger-menu.extended){box-shadow:none}.global-header .logo{align-self:flex-end;width:var(--post-global-header-expanded-height);height:var(--post-logo-height);min-height:var(--post-global-header-reduced-height);max-height:100%;margin-inline-end:calc(1.25rem - var(--post-header-gap))}.global-header .sliding-controls{flex-grow:1;justify-content:flex-end;position:relative;inset-block-start:var(--post-global-controls-top)}.global-header .audience{margin-inline-end:auto}.global-header.no-audience .audience{display:none}.local-header{position:relative;background-color:#fff}.local-header .section{min-height:var(--post-local-header-expanded-min-height);padding-inline-start:var(--post-local-header-padding-inline-start);padding-inline-end:var(--post-local-header-padding-inline-end);padding-block:var(--post-local-header-padding-block)}.local-header:not(.no-title,.no-navigation) .section{padding-block-start:1.125rem}.local-header.no-title.no-navigation{display:none}.local-header:has(.navigation.megadropdown-open),.local-header:has(~.burger-menu.extended){box-shadow:none}.local-header:has(.navigation.megadropdown-open)::after,.local-header:has(~.burger-menu.extended)::after{content:"";display:block;position:absolute;inset-inline:0;inset-block-end:0;height:1px;background-color:#e1e0dc}.local-header .navigation{flex:1 0 100%;height:var(--post-main-navigation-height);margin-inline-start:calc(-1*var(--post-local-header-padding-inline-start));max-width:100cqw}.local-header.no-navigation .navigation{display:none}.local-header .local-nav{flex:0 0 auto}.local-header.no-local-nav .navigation{margin-inline-end:calc(-1*var(--post-local-header-padding-inline-end))}.local-header.no-local-nav .local-nav{display:none}.burger-menu{z-index:-1;position:absolute;inset-inline:0;inset-block-start:100%;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));overflow:hidden auto;display:flex;flex-direction:column;background-color:#fafafa}.burger-menu.extended.megadropdown-open{overflow:hidden}.burger-menu:not(.extended){transform:translateY(-100%);display:none}.burger-menu:not(.extended)>*{display:none}.burger-menu .burger-menu-body,.burger-menu .burger-menu-footer{display:flex;flex-direction:column;padding-inline:var(--post-burger-menu-padding-inline)}.burger-menu .burger-menu-body{flex-grow:1;padding-block:1.5rem;gap:var(--post-burger-menu-body-gap)}.burger-menu .burger-menu-footer{background-color:#f0efed;padding-block:1rem 1.5rem;gap:var(--post-burger-menu-footer-gap)}.burger-menu .local-nav{min-height:3.5rem;display:flex;align-items:center;justify-content:flex-end;padding-inline:.25rem}.burger-menu.no-local-nav .local-nav{display:none}
@@ -12,21 +12,20 @@ import { h, Host } from "@stencil/core";
12
12
  import { throttle } from "throttle-debounce";
13
13
  import { version } from "../../../../package";
14
14
  import { breakpoint } from "../../utils/breakpoints";
15
- import { slideDown, slideUp } from "../../animations/slide";
16
- import { getFocusableChildren } from "../../utils/get-focusable-children";
15
+ import { fade } from "../../animations/index";
16
+ import { getDeepFocusableChildren } from "../../utils/get-focusable-children";
17
17
  import { EventFrom } from "../../utils/event-from";
18
+ import { checkRequiredAndType } from "../../utils/index";
18
19
  /**
19
20
  * @slot post-logo - Should be used together with the `<post-logo>` component.
20
- * @slot global-controls - Holds search button in the global header.
21
- * @slot meta-navigation - Holds an `<ul>` with meta navigation links.
22
- * @slot post-togglebutton - Holds the burger menu toggler.
23
- * @slot post-language-switch - Should be used with the `<post-language-switch>` component.
21
+ * @slot global-nav-primary - Holds search button in the global header.
22
+ * @slot global-nav-secondary - Holds an `<ul>` with meta navigation links.
23
+ * @slot language-menu - Should be used with the `<post-language-switch>` component.
24
24
  * @slot title - Holds the application title.
25
- * @slot local-controls - Custom controls or content, right aligned in the local header.
26
- * @slot post-mainnavigation - Has a default slot because it's only meant to be used in the `<post-header>`.
27
- * @slot target-group - Holds the list of buttons to choose the target group.
28
- * @slot global-login - Holds the user menu or login button in the global header.
29
- * @slot navigation-controls - Custom controls, right aligned with the main navigation.
25
+ * @slot main-nav - Has a default slot because it's only meant to be used in the `<post-header>`.
26
+ * @slot audience - Holds the list of buttons to choose the audience.
27
+ * @slot post-login - Holds the user menu or login button in the global header.
28
+ * @slot local-nav - Holds controls specific to the current application.
30
29
  */
31
30
  export class PostHeader {
32
31
  get hasBurgerMenu() {
@@ -46,6 +45,12 @@ export class PostHeader {
46
45
  }
47
46
  return document.body;
48
47
  }
48
+ validateFullWidth() {
49
+ checkRequiredAndType(this, 'fullWidth', 'boolean');
50
+ }
51
+ validateTextMenu() {
52
+ checkRequiredAndType(this, 'textMenu', 'string');
53
+ }
49
54
  lockBody(newValue, _oldValue, propName) {
50
55
  const scrollParent = this.scrollParent;
51
56
  const burgerMenuExtended = propName === 'burgerMenuExtended' ? newValue : this.burgerMenuExtended;
@@ -60,13 +65,21 @@ export class PostHeader {
60
65
  }
61
66
  constructor() {
62
67
  this.throttledResize = throttle(50, () => this.updateLocalHeaderHeight());
68
+ this.animationOptions = {
69
+ duration: 350,
70
+ easing: 'headerEase',
71
+ };
63
72
  this.device = breakpoint.get('device');
64
73
  this.hasNavigation = false;
65
- this.hasNavigationControls = false;
66
- this.hasTargetGroup = false;
74
+ this.hasLocalNav = false;
75
+ this.hasAudience = false;
67
76
  this.hasTitle = false;
68
77
  this.burgerMenuExtended = false;
69
78
  this.megadropdownOpen = false;
79
+ /**
80
+ * Makes the header content span the full width on screens larger than 1440px.
81
+ */
82
+ this.fullWidth = false;
70
83
  this.breakpointChange = (e) => {
71
84
  this.device = e.detail;
72
85
  this.switchLanguageSwitchMode();
@@ -80,15 +93,14 @@ export class PostHeader {
80
93
  this.megadropdownOpen = false;
81
94
  }
82
95
  };
83
- this.megadropdownStateHandler = (event) => {
84
- this.megadropdownOpen = event.detail.isVisible;
85
- };
86
96
  this.handleScrollEvent = this.handleScrollEvent.bind(this);
87
97
  this.updateScrollParentHeight = this.updateScrollParentHeight.bind(this);
88
98
  this.updateLocalHeaderHeight = this.updateLocalHeaderHeight.bind(this);
89
99
  this.keyboardHandler = this.keyboardHandler.bind(this);
90
100
  this.handleLinkClick = this.handleLinkClick.bind(this);
101
+ this.megadropdownStateHandler = this.megadropdownStateHandler.bind(this);
91
102
  this.checkSlottedContent = this.checkSlottedContent.bind(this);
103
+ this.megadropdownStateHandler = this.megadropdownStateHandler.bind(this);
92
104
  }
93
105
  connectedCallback() {
94
106
  window.addEventListener('resize', this.throttledResize, { passive: true });
@@ -99,7 +111,6 @@ export class PostHeader {
99
111
  passive: true,
100
112
  });
101
113
  document.addEventListener('postToggleMegadropdown', this.megadropdownStateHandler);
102
- this.host.addEventListener('click', this.handleLinkClick);
103
114
  window.addEventListener('postBreakpoint:device', this.breakpointChange);
104
115
  this.handleScrollParentResize();
105
116
  this.lockBody(false, this.burgerMenuExtended, 'burgerMenuExtended');
@@ -110,11 +121,14 @@ export class PostHeader {
110
121
  this.switchLanguageSwitchMode();
111
122
  }
112
123
  componentDidRender() {
124
+ this.validateTextMenu();
125
+ this.validateFullWidth();
113
126
  this.getFocusableElements();
114
127
  this.handleLocalHeaderResize();
115
128
  }
116
129
  componentDidLoad() {
117
130
  this.updateLocalHeaderHeight();
131
+ this.host.shadowRoot.addEventListener('click', this.handleLinkClick);
118
132
  }
119
133
  // Clean up possible side effects when post-header is disconnected
120
134
  disconnectedCallback() {
@@ -126,7 +140,9 @@ export class PostHeader {
126
140
  scrollParent.removeEventListener('scroll', this.handleScrollEvent);
127
141
  document.removeEventListener('postToggleMegadropdown', this.megadropdownStateHandler);
128
142
  this.host.removeEventListener('keydown', this.keyboardHandler);
129
- this.host.removeEventListener('click', this.handleLinkClick);
143
+ if (this.host.shadowRoot) {
144
+ this.host.shadowRoot.removeEventListener('click', this.handleLinkClick);
145
+ }
130
146
  if (this.scrollParentResizeObserver) {
131
147
  this.scrollParentResizeObserver.disconnect();
132
148
  this.scrollParentResizeObserver = null;
@@ -142,11 +158,9 @@ export class PostHeader {
142
158
  this.burgerMenuExtended = false;
143
159
  }
144
160
  async closeBurgerMenu() {
145
- this.burgerMenuAnimation.finish();
146
- const menuButton = this.getMenuButton();
147
- if (menuButton) {
148
- menuButton.toggled = false;
149
- }
161
+ this.burgerMenuAnimation?.finish();
162
+ if (this.burgerMenuButton)
163
+ this.burgerMenuButton.toggled = false;
150
164
  this.burgerMenuExtended = false;
151
165
  }
152
166
  /**
@@ -156,18 +170,18 @@ export class PostHeader {
156
170
  if (this.device === 'desktop')
157
171
  return;
158
172
  this.burgerMenuAnimation = this.burgerMenuExtended
159
- ? slideUp(this.burgerMenu)
160
- : slideDown(this.burgerMenu);
173
+ ? fade(this.burgerMenu, 'out', this.animationOptions)
174
+ : fade(this.burgerMenu, 'in', this.animationOptions);
161
175
  // Update the state of the toggle button
162
- const menuButton = this.host.querySelector('post-togglebutton');
163
- if (menuButton)
164
- menuButton.toggled = force ?? !this.burgerMenuExtended;
176
+ if (this.burgerMenuButton)
177
+ this.burgerMenuButton.toggled = force ?? !this.burgerMenuExtended;
165
178
  if (this.burgerMenuExtended) {
166
179
  // Wait for the close animation to finish before hiding megadropdowns
167
180
  await this.burgerMenuAnimation.finished;
168
181
  this.burgerMenuExtended = force ?? !this.burgerMenuExtended;
169
182
  if (this.burgerMenuExtended === false) {
170
183
  this.closeAllMegadropdowns();
184
+ this.burgerMenu.scrollTop = 0;
171
185
  }
172
186
  }
173
187
  else {
@@ -178,37 +192,31 @@ export class PostHeader {
178
192
  }
179
193
  }
180
194
  }
195
+ megadropdownStateHandler(event) {
196
+ this.megadropdownOpen = event.detail.isVisible;
197
+ }
181
198
  // Get all the focusable elements in the post-header burger menu
182
199
  getFocusableElements() {
183
- // Get elements in the correct order (different as the DOM order)
184
- const focusableEls = [
185
- ...Array.from(this.host.querySelectorAll('.list-inline:not([slot="meta-navigation"]) > li')),
186
- ...Array.from(this.host.querySelectorAll('nav > post-list > div > post-list-item, post-megadropdown-trigger')),
187
- ...Array.from(this.host.querySelectorAll('.list-inline[slot="meta-navigation"] > li, post-language-option')),
188
- ];
189
- // Add the main toggle menu button to the list of focusable children
190
- const focusableChildren = [
191
- this.host.querySelector('post-togglebutton'),
192
- ...focusableEls.flatMap(el => Array.from(getFocusableChildren(el))),
193
- ];
194
- this.firstFocusableEl = focusableChildren[0];
195
- this.lastFocusableEl = focusableChildren[focusableChildren.length - 1];
196
- }
197
- getMenuButton() {
198
- return this.host.querySelector('post-togglebutton');
200
+ if (!this.burgerMenu)
201
+ return;
202
+ const focusableElements = [this.burgerMenuButton];
203
+ focusableElements.push(...getDeepFocusableChildren(this.localHeader, el => !el.matches('post-megadropdown')), ...getDeepFocusableChildren(this.burgerMenu, el => !el.matches('post-megadropdown')));
204
+ this.firstFocusableEl = focusableElements[0];
205
+ this.lastFocusableEl = focusableElements[focusableElements.length - 1];
199
206
  }
200
207
  keyboardHandler(e) {
201
- if (e.key === 'Tab' && this.burgerMenuExtended) {
202
- if (e.shiftKey && document.activeElement === this.firstFocusableEl) {
203
- // If back tab (Tab + Shift) and first element is focused, focus goes to the last element of the megadropdown
204
- e.preventDefault();
205
- this.lastFocusableEl.focus();
206
- }
207
- else if (!e.shiftKey && document.activeElement === this.lastFocusableEl) {
208
- // If Tab and last element is focused, focus goes back to the first element of the megadropdown
209
- e.preventDefault();
210
- this.firstFocusableEl.focus();
211
- }
208
+ if (e.key !== 'Tab' || !this.burgerMenuExtended)
209
+ return;
210
+ const activeElement = this.host.shadowRoot.activeElement || document.activeElement;
211
+ if (e.shiftKey && activeElement === this.firstFocusableEl) {
212
+ // If back tab (Tab + Shift) and first element is focused, focus goes to the last element of the megadropdown
213
+ e.preventDefault();
214
+ this.lastFocusableEl.focus();
215
+ }
216
+ else if (!e.shiftKey && activeElement === this.lastFocusableEl) {
217
+ // If Tab and last element is focused, focus goes back to the first element of the megadropdown
218
+ e.preventDefault();
219
+ this.firstFocusableEl.focus();
212
220
  }
213
221
  }
214
222
  closeAllMegadropdowns() {
@@ -268,21 +276,28 @@ export class PostHeader {
268
276
  }
269
277
  }
270
278
  checkSlottedContent() {
271
- this.hasNavigation = !!this.host.querySelector('[slot="post-mainnavigation"]');
272
- this.hasNavigationControls = !!this.host.querySelector('[slot="navigation-controls"]');
273
- this.hasTargetGroup = !!this.host.querySelector('[slot="target-group"]');
279
+ this.hasNavigation = !!this.host.querySelector('[slot="main-nav"]');
280
+ this.hasLocalNav = !!this.host.querySelector('[slot="local-nav"]');
281
+ this.hasAudience = !!this.host.querySelector('[slot="audience"]');
274
282
  this.hasTitle = !!this.host.querySelector('[slot="title"]');
275
283
  }
276
284
  switchLanguageSwitchMode() {
277
285
  const variant = this.hasBurgerMenu ? 'list' : 'menu';
278
- Array.from(this.host.querySelectorAll('post-language-switch')).forEach(languageSwitch => {
286
+ Array.from(this.host.querySelectorAll('post-language-menu')).forEach(languageSwitch => {
279
287
  languageSwitch?.setAttribute('variant', variant);
280
288
  });
281
289
  }
282
- onFocusChange() {
283
- const fixedElements = this.device === 'desktop' ? '.logo, .navigation' : '.global-header, .burger-menu';
284
- const isHeaderExpanded = this.host.matches(':focus-within') &&
285
- !this.host.shadowRoot.querySelector(`:where(${fixedElements}):focus-within`);
290
+ onFocusChange(e) {
291
+ const alwaysVisibleElements = this.device === 'desktop'
292
+ ? '.navigation' // logo isn’t included since it would be too small to focus on effectively.
293
+ : '.global-header, .burger-menu';
294
+ const isHeaderExpanded =
295
+ // ensure the expanded state stays accurate during focus changes,
296
+ // e.g., when the focused element is removed from the DOM
297
+ // during a window resize
298
+ e.target === document.activeElement &&
299
+ this.host.matches(':focus-within') &&
300
+ !this.host.shadowRoot.querySelector(`:where(${alwaysVisibleElements}):focus-within`);
286
301
  if (isHeaderExpanded) {
287
302
  this.host.setAttribute('data-expanded', '');
288
303
  }
@@ -291,29 +306,31 @@ export class PostHeader {
291
306
  }
292
307
  }
293
308
  renderNavigation() {
309
+ const localNav = !this.hasTitle && (h("div", { class: "local-nav" }, h("slot", { name: "local-nav" })));
294
310
  if (this.device === 'desktop') {
295
- return (h("div", { class: { 'navigation': true, 'megadropdown-open': this.megadropdownOpen } }, h("slot", { name: "post-mainnavigation" }), h("div", { class: "navigation-controls" }, h("slot", { name: "navigation-controls" }))));
311
+ return (h("div", { class: { 'navigation': true, 'megadropdown-open': this.megadropdownOpen } }, h("slot", { name: "main-nav" }), localNav));
296
312
  }
297
313
  return (h("div", { class: {
298
314
  'burger-menu': true,
299
315
  'extended': this.burgerMenuExtended,
300
- 'no-navigation-controls': !this.hasNavigationControls,
301
- }, style: { '--post-header-navigation-current-inset': `${this.burgerMenu?.scrollTop ?? 0}px` }, ref: el => (this.burgerMenu = el) }, h("div", { class: "navigation-controls" }, h("slot", { name: "navigation-controls" })), h("div", { class: "burger-menu-body" }, h("slot", { name: "target-group" }), h("slot", { name: "post-mainnavigation" })), h("div", { class: "burger-menu-footer" }, h("slot", { name: "meta-navigation" }), h("slot", { name: "post-language-switch" }))));
316
+ 'no-local-nav': !this.hasLocalNav,
317
+ 'megadropdown-open': this.megadropdownOpen,
318
+ }, style: { '--post-header-navigation-current-inset': `${this.burgerMenu?.scrollTop ?? 0}px` }, ref: el => (this.burgerMenu = el) }, localNav, h("div", { class: "burger-menu-body" }, h("slot", { name: "audience" }), h("slot", { name: "main-nav" })), h("div", { class: "burger-menu-footer" }, h("slot", { name: "global-nav-secondary" }), h("slot", { name: "language-menu" }))));
302
319
  }
303
320
  render() {
304
- return (h(Host, { key: 'c9b1c1a946800f728a7a90a91dff3abf23b5100f', "data-version": version, "data-color-scheme": "light", "data-burger-menu": this.hasBurgerMenu }, h("div", { key: '21d2b9bd39946df7e42d3d5c763d40cd1dabee69', class: {
321
+ return (h(Host, { key: '3f5431ebd9b726f8a73ee4a0b8b406d11bab5cf2', "data-version": version, "data-color-scheme": "light", "data-burger-menu": this.hasBurgerMenu, "data-menu-extended": this.burgerMenuExtended }, h("header", { key: 'ea55944e7f5f0750e3cb229a94b2aef7738c397a' }, h("div", { key: 'f70653f47812b951519cc001a42d4827f327cffd', class: {
305
322
  'global-header': true,
306
- 'no-target-group': !this.hasTargetGroup,
307
- } }, h("div", { key: '50cf30a8febea656eb3349e6c06dc5b609b13a6d', class: "logo" }, h("slot", { key: 'df1ecaca7b39316ef4d4bb56e33c3214b2648e68', name: "post-logo" })), h("div", { key: '9c4319dce10d9e98291a6cbdb0effb854a8b6dac', class: "sliding-controls" }, this.device === 'desktop' && (h("div", { key: 'ce916d4bdb65c641e58725f70b7689704847593c', class: "target-group" }, h("slot", { key: '810e4164ae17b8571011799307f3688cf64b5c30', name: "target-group" }))), h("slot", { key: 'abe6f2e08e87295e88e4cf33db0e72021d622aaf', name: "global-controls" }), !this.hasBurgerMenu && [
308
- h("slot", { key: '4ef5603837d0f26c25dd50bf17bb0011dc927de0', name: "meta-navigation" }),
309
- h("slot", { key: 'b1bc83f1bd5004af89e444a9bdf487225ac882d7', name: "post-language-switch" }),
310
- ], h("slot", { key: '11dfd54337cf457bc25ec680c8d4e11a6712dc63', name: "global-login" }), this.hasNavigation && this.device !== 'desktop' && (h("div", { key: '67658d80ce90f4446ea8d1078937101a299536b8', onClick: () => this.toggleBurgerMenu(), class: "burger-menu-toggle" }, h("slot", { key: '2fdba487922c63db152ec08e3382640c9cdf1c12', name: "post-togglebutton" }))))), h("div", { key: '1516e38c9628d8cfb75d6f9bd55912071da5e94e', class: {
323
+ 'no-audience': !this.hasAudience,
324
+ } }, h("div", { key: '60d43f32a71169d6d4314b9cc4d8a9e11ec7834e', class: "section" }, h("div", { key: 'ce0f3a9fff1225456f823189093fe960d3f49033', class: "logo" }, h("slot", { key: 'd96003c9bafbe7914b84a9f7b80ab8ed4bd71ddb', name: "post-logo" })), h("div", { key: 'c85e70b4a9adbdd4d95c4ff8a53248b9b707ff2b', class: "sliding-controls" }, this.device === 'desktop' && (h("div", { key: 'd297bba4782a50df1942d96a4eea6c9aeb76965d', class: "audience" }, h("slot", { key: '8a923e9a27d811c204d212843b611885b1a2b257', name: "audience" }))), h("slot", { key: '44a6294e62add92191e5ee8f6b0606a2e367a3d5', name: "global-nav-primary" }), !this.hasBurgerMenu && [
325
+ h("slot", { key: '843b9a656a289b51aea5db4634323999286ccb64', name: "global-nav-secondary" }),
326
+ h("slot", { key: '55268cf25f98a76c377ad48c2578f2f8b3a5b025', name: "language-menu" }),
327
+ ], h("slot", { key: '7885e754087572e48a0a62cccbbae3ea70a56bd3', name: "post-login" }), this.hasNavigation && this.device !== 'desktop' && (h("div", { key: '7713dede3877c4bd97cae59d78ea0a38daa15a8e', onClick: () => this.toggleBurgerMenu(), class: "burger-menu-toggle" }, h("slot", { key: '611df14f6646ae994ad090a482c20f09c3e1a39a', name: "post-togglebutton" }))), this.hasNavigation && this.device !== 'desktop' && (h("post-togglebutton", { key: 'e932a70cfd057cec4670867581e380d313cc23d1', ref: el => (this.burgerMenuButton = el), onClick: () => this.toggleBurgerMenu() }, h("span", { key: 'c418e4ca4698ebefc5c7410cf6037620db0314f9' }, this.textMenu), h("post-icon", { key: '438bfc7ee2f0d853fa92385c8e0f159608d76313', "aria-hidden": "true", name: "burger", "data-showwhen": "untoggled" }), h("post-icon", { key: 'd6b48e5078b8e96d3fc8fef27a50544b3ed58355', "aria-hidden": "true", name: "closex", "data-showwhen": "toggled" })))))), h("div", { key: '0909b5778d908f48521abd7635bfd6eb320fc16a', ref: el => (this.localHeader = el), class: {
311
328
  'local-header': true,
312
329
  'no-title': !this.hasTitle,
313
- 'no-target-group': !this.hasTargetGroup,
330
+ 'no-audience': !this.hasAudience,
314
331
  'no-navigation': this.device !== 'desktop' || !this.hasNavigation,
315
- 'no-navigation-controls': !this.hasNavigationControls,
316
- } }, h("slot", { key: '839b34249ece8af5cc53231271e739a6a664a977', name: "title" }), this.hasTitle && h("slot", { key: 'aa281968b58ecad425beb1b4ffbd1273cc167ea4', name: "local-controls" }), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
332
+ 'no-local-nav': !this.hasLocalNav,
333
+ } }, h("div", { key: 'b5d0280efefc560a89f3a1cbeeeaec1b90a82359', class: "section" }, h("slot", { key: 'b0f25a30d6970cde7b1b9e3c1de1ffb667e4cb97', name: "title" }), this.hasTitle && h("slot", { key: '9140fb3550e1f71824add9f90b43cf622223a4a1', name: "local-nav" }), this.device === 'desktop' && this.renderNavigation())), this.device !== 'desktop' && this.renderNavigation())));
317
334
  }
318
335
  static get is() { return "post-header"; }
319
336
  static get encapsulation() { return "shadow"; }
@@ -327,12 +344,55 @@ export class PostHeader {
327
344
  "$": ["post-header.css"]
328
345
  };
329
346
  }
347
+ static get properties() {
348
+ return {
349
+ "fullWidth": {
350
+ "type": "boolean",
351
+ "mutable": false,
352
+ "complexType": {
353
+ "original": "boolean",
354
+ "resolved": "boolean",
355
+ "references": {}
356
+ },
357
+ "required": false,
358
+ "optional": false,
359
+ "docs": {
360
+ "tags": [],
361
+ "text": "Makes the header content span the full width on screens larger than 1440px."
362
+ },
363
+ "getter": false,
364
+ "setter": false,
365
+ "reflect": true,
366
+ "attribute": "full-width",
367
+ "defaultValue": "false"
368
+ },
369
+ "textMenu": {
370
+ "type": "string",
371
+ "mutable": false,
372
+ "complexType": {
373
+ "original": "string",
374
+ "resolved": "string",
375
+ "references": {}
376
+ },
377
+ "required": true,
378
+ "optional": false,
379
+ "docs": {
380
+ "tags": [],
381
+ "text": "The label of the burger menu button."
382
+ },
383
+ "getter": false,
384
+ "setter": false,
385
+ "reflect": true,
386
+ "attribute": "text-menu"
387
+ }
388
+ };
389
+ }
330
390
  static get states() {
331
391
  return {
332
392
  "device": {},
333
393
  "hasNavigation": {},
334
- "hasNavigationControls": {},
335
- "hasTargetGroup": {},
394
+ "hasLocalNav": {},
395
+ "hasAudience": {},
336
396
  "hasTitle": {},
337
397
  "burgerMenuExtended": {},
338
398
  "megadropdownOpen": {}
@@ -352,10 +412,6 @@ export class PostHeader {
352
412
  "Promise": {
353
413
  "location": "global",
354
414
  "id": "global::Promise"
355
- },
356
- "HTMLPostTogglebuttonElement": {
357
- "location": "global",
358
- "id": "global::HTMLPostTogglebuttonElement"
359
415
  }
360
416
  },
361
417
  "return": "Promise<void>"
@@ -370,6 +426,12 @@ export class PostHeader {
370
426
  static get elementRef() { return "host"; }
371
427
  static get watchers() {
372
428
  return [{
429
+ "propName": "fullWidth",
430
+ "methodName": "validateFullWidth"
431
+ }, {
432
+ "propName": "textMenu",
433
+ "methodName": "validateTextMenu"
434
+ }, {
373
435
  "propName": "device",
374
436
  "methodName": "lockBody"
375
437
  }, {
@@ -395,4 +457,4 @@ export class PostHeader {
395
457
  }
396
458
  __decorate([
397
459
  EventFrom('post-megadropdown')
398
- ], PostHeader.prototype, "megadropdownStateHandler", void 0);
460
+ ], PostHeader.prototype, "megadropdownStateHandler", null);