@swisspost/design-system-components 9.0.0-next.7 → 9.0.0-next.9

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 (363) hide show
  1. package/dist/cjs/check-url-3ffdd2fb.js +14 -0
  2. package/dist/cjs/debounce-1151afe3.js +12 -0
  3. package/dist/cjs/{index-e1f32cce.js → index-010dc207.js} +24 -27
  4. package/dist/cjs/{index-824d2b71.js → index-5d4e0aed.js} +2 -12
  5. package/dist/cjs/index.cjs.js +47 -42
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/{package-bc44930e.js → package-8e810a59.js} +1 -1
  8. package/dist/cjs/{post-accordion-c55fef06.js → post-accordion-b9df8522.js} +3 -3
  9. package/dist/cjs/post-accordion-item-ecc6749f.js +63 -0
  10. package/dist/cjs/post-accordion-item.cjs.entry.js +5 -4
  11. package/dist/cjs/post-accordion.cjs.entry.js +3 -3
  12. package/dist/cjs/{post-avatar-10d7b5c0.js → post-avatar-f7236084.js} +2 -2
  13. package/dist/cjs/post-avatar.cjs.entry.js +3 -3
  14. package/dist/cjs/post-back-to-top-60762f8e.js +75 -0
  15. package/dist/cjs/post-back-to-top.cjs.entry.js +15 -0
  16. package/dist/cjs/{post-banner-b286d37f.js → post-banner-9662f22c.js} +6 -6
  17. package/dist/cjs/post-banner.cjs.entry.js +5 -4
  18. package/dist/cjs/post-breadcrumb-b40732fc.js +111 -0
  19. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +17 -0
  20. package/dist/cjs/post-breadcrumb.cjs.entry.js +13 -0
  21. package/dist/cjs/post-card-control-039c9a4b.js +272 -0
  22. package/dist/cjs/post-card-control.cjs.entry.js +3 -3
  23. package/dist/cjs/post-closebutton_15.cjs.entry.js +33 -0
  24. package/dist/cjs/{post-collapsible-trigger-c8b3e767.js → post-collapsible-trigger-143cf84a.js} +6 -14
  25. package/dist/cjs/post-collapsible_2.cjs.entry.js +6 -4
  26. package/dist/cjs/post-components.cjs.js +2 -2
  27. package/dist/cjs/post-footer-5f7fdf96.js +84 -0
  28. package/dist/cjs/post-footer.cjs.entry.js +11 -0
  29. package/dist/cjs/post-menu-item-bb0b0b9e.js +74 -0
  30. package/dist/cjs/{post-popover-91a83e9d.js → post-popover-d0ce9dc6.js} +3 -3
  31. package/dist/cjs/post-popover.cjs.entry.js +3 -3
  32. package/dist/cjs/{post-rating-57fcf949.js → post-rating-1082197c.js} +3 -3
  33. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  34. package/dist/cjs/{post-tab-header-ce56b760.js → post-tab-header-4b6d8d54.js} +3 -3
  35. package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
  36. package/dist/cjs/{post-tab-panel-70e49260.js → post-tab-panel-60f211a5.js} +3 -3
  37. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  38. package/dist/cjs/{post-tabs-39262e55.js → post-tabs-1f797ce4.js} +8 -6
  39. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  40. package/dist/cjs/{post-tag-b6bc5785.js → post-tag-ddaaaedc.js} +3 -3
  41. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  42. package/dist/cjs/{post-megadropdown-trigger-9b9f1036.js → post-togglebutton-0984a694.js} +1789 -1234
  43. package/dist/cjs/{post-tooltip-8be3b2aa.js → post-tooltip-38c839a4.js} +4 -4
  44. package/dist/cjs/post-tooltip.cjs.entry.js +5 -4
  45. package/dist/cjs/slide-5d51abe8.js +28 -0
  46. package/dist/collection/animations/slide.js +23 -0
  47. package/dist/collection/collection-manifest.json +13 -9
  48. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  49. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  50. package/dist/collection/components/post-accordion-item/post-accordion-item.js +22 -7
  51. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -0
  52. package/dist/collection/components/post-back-to-top/post-back-to-top.js +107 -0
  53. package/dist/collection/components/post-banner/post-banner.js +3 -3
  54. package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +3 -0
  55. package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +161 -0
  56. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -1
  57. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +11 -1
  58. package/dist/collection/components/post-card-control/post-card-control.css +1 -1
  59. package/dist/collection/components/post-card-control/post-card-control.js +2 -2
  60. package/dist/collection/components/post-closebutton/post-closebutton.js +1 -1
  61. package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
  62. package/dist/collection/components/post-footer/post-footer.css +1 -0
  63. package/dist/collection/components/post-footer/post-footer.js +75 -0
  64. package/dist/collection/components/post-header/post-header.css +1 -1
  65. package/dist/collection/components/post-header/post-header.js +74 -17
  66. package/dist/collection/components/post-icon/post-icon.js +1 -1
  67. package/dist/collection/components/post-language-option/post-language-option.css +1 -1
  68. package/dist/collection/components/post-language-option/post-language-option.js +25 -1
  69. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -0
  70. package/dist/collection/components/post-language-switch/post-language-switch.js +163 -0
  71. package/dist/collection/components/post-language-switch/switch-variants.js +1 -0
  72. package/dist/collection/components/post-list/post-list.css +1 -1
  73. package/dist/collection/components/post-list/post-list.js +3 -3
  74. package/dist/collection/components/post-list-item/post-list-item.js +1 -1
  75. package/dist/collection/components/post-logo/post-logo.js +1 -1
  76. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  77. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +15 -24
  78. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  79. package/dist/collection/components/post-megadropdown/post-megadropdown.js +82 -68
  80. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  81. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +80 -24
  82. package/dist/collection/components/post-menu/post-menu.js +6 -4
  83. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
  84. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +11 -1
  85. package/dist/collection/components/post-popover/post-popover.js +1 -1
  86. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +2 -2
  87. package/dist/collection/components/post-rating/post-rating.js +1 -1
  88. package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
  89. package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
  90. package/dist/collection/components/post-tabs/post-tabs.js +6 -4
  91. package/dist/collection/components/post-tag/post-tag.js +1 -1
  92. package/dist/collection/components/post-togglebutton/post-togglebutton.css +1 -1
  93. package/dist/collection/components/post-togglebutton/post-togglebutton.js +24 -6
  94. package/dist/collection/components/post-tooltip/post-tooltip.js +1 -1
  95. package/dist/collection/index.js +13 -9
  96. package/dist/collection/utils/breakpoints.js +46 -0
  97. package/dist/components/debounce.js +10 -0
  98. package/dist/components/index.js +13 -9
  99. package/dist/components/index2.js +1 -1
  100. package/dist/components/package.js +1 -1
  101. package/dist/components/post-accordion-item2.js +29 -11
  102. package/dist/components/post-accordion2.js +1 -1
  103. package/dist/components/post-back-to-top.d.ts +11 -0
  104. package/dist/components/post-back-to-top.js +6 -0
  105. package/dist/components/post-back-to-top2.js +100 -0
  106. package/dist/components/post-banner2.js +3 -3
  107. package/dist/components/post-breadcrumb-item2.js +13 -3
  108. package/dist/components/post-breadcrumb.d.ts +11 -0
  109. package/dist/components/post-breadcrumb.js +6 -0
  110. package/dist/components/post-breadcrumb2.js +168 -0
  111. package/dist/components/post-card-control2.js +3 -3
  112. package/dist/components/post-closebutton2.js +1 -1
  113. package/dist/components/post-collapsible-trigger2.js +1 -9
  114. package/dist/components/post-collapsible2.js +2 -2
  115. package/dist/components/post-footer.d.ts +11 -0
  116. package/dist/components/post-footer.js +6 -0
  117. package/dist/components/post-footer2.js +124 -0
  118. package/dist/components/post-header2.js +55 -14
  119. package/dist/components/post-icon2.js +2 -2
  120. package/dist/components/post-language-option2.js +5 -3
  121. package/dist/components/post-language-switch.d.ts +11 -0
  122. package/dist/components/post-language-switch.js +6 -0
  123. package/dist/components/post-language-switch2.js +146 -0
  124. package/dist/components/post-list-item2.js +1 -1
  125. package/dist/components/post-list2.js +4 -4
  126. package/dist/components/post-logo2.js +2 -2
  127. package/dist/components/post-mainnavigation2.js +17 -17
  128. package/dist/components/post-megadropdown-trigger2.js +63 -11
  129. package/dist/components/post-megadropdown2.js +48 -22
  130. package/dist/components/post-menu-item2.js +1 -1
  131. package/dist/components/post-menu-trigger2.js +11 -1
  132. package/dist/components/post-menu2.js +6 -4
  133. package/dist/components/post-popover2.js +1 -1
  134. package/dist/components/post-popovercontainer2.js +2 -2
  135. package/dist/components/post-rating2.js +1 -1
  136. package/dist/components/post-tab-header2.js +1 -1
  137. package/dist/components/post-tab-panel2.js +1 -1
  138. package/dist/components/post-tabs2.js +6 -4
  139. package/dist/components/post-tag2.js +1 -1
  140. package/dist/components/post-togglebutton2.js +23 -5
  141. package/dist/components/post-tooltip2.js +2 -2
  142. package/dist/components/slide.js +25 -0
  143. package/dist/docs.json +565 -123
  144. package/dist/esm/check-url-a974431e.js +12 -0
  145. package/dist/esm/debounce-abe98cc2.js +10 -0
  146. package/dist/esm/{index-f8a00dc0.js → index-b49c9904.js} +1 -11
  147. package/dist/esm/{index-e1b64755.js → index-fb8d6be7.js} +24 -27
  148. package/dist/esm/index.js +25 -24
  149. package/dist/esm/loader.js +3 -3
  150. package/dist/esm/package-4d81f3c2.js +3 -0
  151. package/dist/esm/{post-accordion-7268e29b.js → post-accordion-ee54a3ef.js} +3 -3
  152. package/dist/esm/post-accordion-item-e10452dc.js +61 -0
  153. package/dist/esm/post-accordion-item.entry.js +5 -4
  154. package/dist/esm/post-accordion.entry.js +3 -3
  155. package/dist/esm/{post-avatar-19162f90.js → post-avatar-5572fa73.js} +2 -2
  156. package/dist/esm/post-avatar.entry.js +3 -3
  157. package/dist/esm/post-back-to-top-1d823c43.js +73 -0
  158. package/dist/esm/post-back-to-top.entry.js +7 -0
  159. package/dist/esm/{post-banner-132709ad.js → post-banner-78480475.js} +6 -6
  160. package/dist/esm/post-banner.entry.js +5 -4
  161. package/dist/esm/post-breadcrumb-aaa77f74.js +109 -0
  162. package/dist/esm/post-breadcrumb-item_2.entry.js +8 -0
  163. package/dist/esm/post-breadcrumb.entry.js +5 -0
  164. package/dist/esm/post-card-control-862aa961.js +270 -0
  165. package/dist/esm/post-card-control.entry.js +3 -3
  166. package/dist/esm/post-closebutton_15.entry.js +11 -0
  167. package/dist/esm/{post-collapsible-trigger-43fbbf03.js → post-collapsible-trigger-1c7833f8.js} +5 -13
  168. package/dist/esm/post-collapsible_2.entry.js +6 -4
  169. package/dist/esm/post-components.js +3 -3
  170. package/dist/esm/post-footer-b18875e7.js +82 -0
  171. package/dist/esm/post-footer.entry.js +3 -0
  172. package/dist/esm/post-menu-item-2906384b.js +71 -0
  173. package/dist/esm/{post-popover-abae1f3a.js → post-popover-2432bb3f.js} +3 -3
  174. package/dist/esm/post-popover.entry.js +3 -3
  175. package/dist/esm/{post-rating-b963d4f2.js → post-rating-95cbdbb8.js} +3 -3
  176. package/dist/esm/post-rating.entry.js +3 -3
  177. package/dist/esm/{post-tab-header-c16feb72.js → post-tab-header-dfea00ea.js} +3 -3
  178. package/dist/esm/post-tab-header.entry.js +3 -3
  179. package/dist/esm/{post-tab-panel-cb02df49.js → post-tab-panel-cafd9e04.js} +3 -3
  180. package/dist/esm/post-tab-panel.entry.js +3 -3
  181. package/dist/esm/{post-tabs-81085d7b.js → post-tabs-beef8eae.js} +8 -6
  182. package/dist/esm/post-tabs.entry.js +3 -3
  183. package/dist/esm/{post-tag-103bfff5.js → post-tag-a77e7af6.js} +3 -3
  184. package/dist/esm/post-tag.entry.js +3 -3
  185. package/dist/esm/{post-megadropdown-trigger-813b5140.js → post-togglebutton-395bf3f0.js} +1785 -1235
  186. package/dist/esm/{post-tooltip-2c5ff736.js → post-tooltip-b298039a.js} +4 -4
  187. package/dist/esm/post-tooltip.entry.js +5 -4
  188. package/dist/esm/slide-3422b8a3.js +25 -0
  189. package/dist/post-components/index.esm.js +1 -1
  190. package/dist/post-components/p-0711f76d.entry.js +1 -0
  191. package/dist/post-components/p-095a06f6.entry.js +1 -0
  192. package/dist/post-components/p-0b5a5f32.js +1 -0
  193. package/dist/post-components/p-135fa60f.js +1 -0
  194. package/dist/post-components/p-18e38d8a.js +1 -0
  195. package/dist/post-components/p-2e1ec074.entry.js +1 -0
  196. package/dist/post-components/p-4202b433.entry.js +1 -0
  197. package/dist/post-components/p-45773f59.js +1 -0
  198. package/dist/post-components/{p-bb103905.js → p-4953de7e.js} +1 -1
  199. package/dist/post-components/p-4f67c5f5.entry.js +1 -0
  200. package/dist/post-components/{p-6f56a13d.js → p-4f9746f6.js} +2 -2
  201. package/dist/post-components/p-5075c672.entry.js +1 -0
  202. package/dist/post-components/p-515e0f96.js +1 -0
  203. package/dist/post-components/p-5467b223.js +1 -0
  204. package/dist/post-components/p-67036798.entry.js +1 -0
  205. package/dist/post-components/{p-c819933c.js → p-6d953fb2.js} +1 -1
  206. package/dist/post-components/p-6edb0ac5.js +1 -0
  207. package/dist/post-components/{p-fa7af203.js → p-6f8f39ca.js} +1 -1
  208. package/dist/post-components/p-7503a623.js +1 -0
  209. package/dist/post-components/p-761b24c7.entry.js +1 -0
  210. package/dist/post-components/{p-0f699dbc.js → p-77c4c1d2.js} +1 -1
  211. package/dist/post-components/p-7cf0c2ad.js +1 -0
  212. package/dist/post-components/p-856c14d6.entry.js +1 -0
  213. package/dist/post-components/p-866bf50a.entry.js +1 -0
  214. package/dist/post-components/p-8d621781.js +1 -0
  215. package/dist/post-components/p-8fe2d72c.entry.js +1 -0
  216. package/dist/post-components/p-9ad5088f.entry.js +1 -0
  217. package/dist/post-components/{p-8b6f7f04.js → p-a1d2b90e.js} +1 -1
  218. package/dist/post-components/p-a521419d.entry.js +1 -0
  219. package/dist/post-components/p-aa538648.js +1 -0
  220. package/dist/post-components/p-afdbee2f.js +1 -0
  221. package/dist/post-components/p-b02817f2.entry.js +1 -0
  222. package/dist/post-components/p-b157dcba.entry.js +1 -0
  223. package/dist/post-components/p-b22656b1.js +1 -0
  224. package/dist/post-components/{p-ed834dde.js → p-bdbd11cb.js} +1 -1
  225. package/dist/post-components/{p-3eab790d.js → p-c0ae9886.js} +1 -1
  226. package/dist/post-components/p-c537e196.entry.js +1 -0
  227. package/dist/post-components/p-d4f93f2b.js +1 -0
  228. package/dist/post-components/p-dca4246a.entry.js +1 -0
  229. package/dist/post-components/p-f319b026.js +1 -0
  230. package/dist/post-components/p-f4b7b379.js +1 -0
  231. package/dist/post-components/p-fac66087.entry.js +1 -0
  232. package/dist/post-components/post-components.esm.js +1 -1
  233. package/dist/types/animations/slide.d.ts +2 -0
  234. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +7 -1
  235. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +19 -0
  236. package/dist/types/components/post-breadcrumb/post-breadcrumb.d.ts +30 -0
  237. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +1 -0
  238. package/dist/types/components/post-footer/post-footer.d.ts +23 -0
  239. package/dist/types/components/post-header/post-header.d.ts +13 -5
  240. package/dist/types/components/post-language-option/post-language-option.d.ts +5 -0
  241. package/dist/types/components/post-language-switch/post-language-switch.d.ts +31 -0
  242. package/dist/types/components/post-language-switch/switch-variants.d.ts +2 -0
  243. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +10 -1
  244. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +24 -12
  245. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +20 -5
  246. package/dist/types/components/post-menu/post-menu.d.ts +1 -0
  247. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +4 -2
  248. package/dist/types/components.d.ts +150 -29
  249. package/dist/types/index.d.ts +13 -9
  250. package/dist/types/utils/breakpoints.d.ts +11 -0
  251. package/loaders/debounce.js +10 -0
  252. package/loaders/index.d.ts +8 -0
  253. package/loaders/index.js +4 -0
  254. package/loaders/index2.js +1 -1
  255. package/loaders/package.js +1 -1
  256. package/loaders/post-accordion-item.js +1 -82
  257. package/loaders/post-accordion-item2.js +102 -0
  258. package/loaders/post-accordion.js +1 -1
  259. package/loaders/post-back-to-top.d.ts +11 -0
  260. package/loaders/post-back-to-top.js +103 -0
  261. package/loaders/post-banner.js +4 -4
  262. package/loaders/post-breadcrumb-item.js +1 -70
  263. package/loaders/post-breadcrumb-item2.js +82 -0
  264. package/loaders/post-breadcrumb.d.ts +11 -0
  265. package/loaders/post-breadcrumb.js +171 -0
  266. package/loaders/post-card-control.js +3 -3
  267. package/loaders/post-closebutton.js +1 -1
  268. package/loaders/post-collapsible-trigger2.js +1 -9
  269. package/loaders/post-collapsible2.js +1 -1
  270. package/loaders/post-footer.d.ts +11 -0
  271. package/loaders/post-footer.js +127 -0
  272. package/loaders/post-header.js +55 -14
  273. package/loaders/post-icon2.js +2 -2
  274. package/loaders/post-language-option.js +4 -2
  275. package/loaders/post-language-switch.d.ts +11 -0
  276. package/loaders/post-language-switch.js +149 -0
  277. package/loaders/post-list-item.js +1 -1
  278. package/loaders/post-list.js +4 -4
  279. package/loaders/post-logo.js +2 -2
  280. package/loaders/post-mainnavigation.js +17 -17
  281. package/loaders/post-megadropdown-trigger.js +63 -11
  282. package/loaders/post-megadropdown.js +48 -22
  283. package/loaders/post-menu-item.js +1 -31
  284. package/loaders/post-menu-item2.js +33 -0
  285. package/loaders/post-menu-trigger.js +1 -90
  286. package/{dist/esm/post-menu-trigger-b84f728d.js → loaders/post-menu-trigger2.js} +41 -12
  287. package/loaders/post-menu.js +1 -199
  288. package/{dist/esm/post-menu-62c3e49a.js → loaders/post-menu2.js} +42 -13
  289. package/loaders/post-popover.js +1 -1
  290. package/loaders/post-popovercontainer2.js +2 -2
  291. package/loaders/post-rating.js +1 -1
  292. package/loaders/post-tab-header.js +1 -1
  293. package/loaders/post-tab-panel.js +1 -1
  294. package/loaders/post-tabs.js +6 -4
  295. package/loaders/post-tag.js +1 -1
  296. package/loaders/post-togglebutton.js +23 -5
  297. package/loaders/post-tooltip.js +1 -1
  298. package/loaders/slide.js +25 -0
  299. package/package.json +6 -4
  300. package/dist/cjs/post-accordion-item-641f0b42.js +0 -52
  301. package/dist/cjs/post-breadcrumb-item-8cdc59a8.js +0 -49
  302. package/dist/cjs/post-breadcrumb-item.cjs.entry.js +0 -15
  303. package/dist/cjs/post-card-control-fc4aca2a.js +0 -272
  304. package/dist/cjs/post-closebutton_10.cjs.entry.js +0 -25
  305. package/dist/cjs/post-language-option-8c1ec4fd.js +0 -68
  306. package/dist/cjs/post-language-option.cjs.entry.js +0 -15
  307. package/dist/cjs/post-menu-5a71a6fe.js +0 -176
  308. package/dist/cjs/post-menu-item-5c5c1aaf.js +0 -20
  309. package/dist/cjs/post-menu-item.cjs.entry.js +0 -11
  310. package/dist/cjs/post-menu-trigger-02d128c4.js +0 -75
  311. package/dist/cjs/post-menu-trigger.cjs.entry.js +0 -13
  312. package/dist/cjs/post-menu.cjs.entry.js +0 -11
  313. package/dist/cjs/post-togglebutton-2f39442e.js +0 -28
  314. package/dist/cjs/post-togglebutton.cjs.entry.js +0 -11
  315. package/dist/esm/package-180da9f3.js +0 -3
  316. package/dist/esm/post-accordion-item-a5a76abb.js +0 -50
  317. package/dist/esm/post-breadcrumb-item-5a77f988.js +0 -47
  318. package/dist/esm/post-breadcrumb-item.entry.js +0 -7
  319. package/dist/esm/post-card-control-5be9c80a.js +0 -270
  320. package/dist/esm/post-closebutton_10.entry.js +0 -8
  321. package/dist/esm/post-language-option-f41240c3.js +0 -66
  322. package/dist/esm/post-language-option.entry.js +0 -7
  323. package/dist/esm/post-menu-item-f63a1521.js +0 -18
  324. package/dist/esm/post-menu-item.entry.js +0 -3
  325. package/dist/esm/post-menu-trigger.entry.js +0 -5
  326. package/dist/esm/post-menu.entry.js +0 -3
  327. package/dist/esm/post-togglebutton-0e714838.js +0 -26
  328. package/dist/esm/post-togglebutton.entry.js +0 -3
  329. package/dist/post-components/p-0338f9da.js +0 -1
  330. package/dist/post-components/p-06980a04.js +0 -1
  331. package/dist/post-components/p-0af7dfbb.js +0 -1
  332. package/dist/post-components/p-12262945.entry.js +0 -1
  333. package/dist/post-components/p-2504dace.entry.js +0 -1
  334. package/dist/post-components/p-27343d32.entry.js +0 -1
  335. package/dist/post-components/p-2a456317.js +0 -1
  336. package/dist/post-components/p-2c3980d2.js +0 -1
  337. package/dist/post-components/p-31d38040.js +0 -1
  338. package/dist/post-components/p-339e000e.entry.js +0 -1
  339. package/dist/post-components/p-3b325360.entry.js +0 -1
  340. package/dist/post-components/p-3e65ba47.js +0 -1
  341. package/dist/post-components/p-3f417208.entry.js +0 -1
  342. package/dist/post-components/p-4922deaf.entry.js +0 -1
  343. package/dist/post-components/p-6c7546b8.entry.js +0 -1
  344. package/dist/post-components/p-7eee2b6a.js +0 -1
  345. package/dist/post-components/p-816623f0.entry.js +0 -1
  346. package/dist/post-components/p-83cd3885.entry.js +0 -1
  347. package/dist/post-components/p-9abe554b.js +0 -1
  348. package/dist/post-components/p-9ea6103e.entry.js +0 -1
  349. package/dist/post-components/p-a0a7c2c1.entry.js +0 -1
  350. package/dist/post-components/p-abf9ffdc.entry.js +0 -1
  351. package/dist/post-components/p-b4a2c7b7.entry.js +0 -1
  352. package/dist/post-components/p-b7ef401f.js +0 -1
  353. package/dist/post-components/p-b8a9cf2d.js +0 -1
  354. package/dist/post-components/p-ccd8a221.entry.js +0 -1
  355. package/dist/post-components/p-cfc1727f.entry.js +0 -1
  356. package/dist/post-components/p-d4465c2b.js +0 -1
  357. package/dist/post-components/p-d4cef624.js +0 -1
  358. package/dist/post-components/p-da449573.js +0 -1
  359. package/dist/post-components/p-df5bdda5.entry.js +0 -1
  360. package/dist/post-components/p-f1416918.entry.js +0 -1
  361. package/dist/post-components/p-f171b18b.entry.js +0 -1
  362. package/dist/post-components/p-f4dbd35f.entry.js +0 -1
  363. package/dist/post-components/p-f6b44820.js +0 -1
@@ -1,5 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { v as version } from './package.js';
3
+ import { s as slideUp, a as slideDown } from './slide.js';
3
4
 
4
5
  /* eslint-disable no-undefined,no-param-reassign,no-shadow */
5
6
 
@@ -135,7 +136,7 @@ function throttle (delay, callback, options) {
135
136
  return wrapper;
136
137
  }
137
138
 
138
- const postHeaderCss = "*,::before,::after{box-sizing:border-box}:host{--global-header-height:72px;--main-header-height:56px;--header-height:calc(var(--global-header-height) + var(--main-header-height))}@media screen and (max-width: 1023.99px){:host{--global-header-height:64px}}.d-flex{display:flex}.space-between{justify-content:space-between}.global-header{background-color:#fc0;display:flex;justify-content:space-between;align-items:center;position:sticky;padding-inline-start:4px;padding-inline-end:12px;height:var(--global-header-height)}@media screen and (max-width: 1023.99px){.global-header{top:0}}@media screen and (min-width: 1024px){.global-header{top:calc((var(--global-header-height) - 24px)*-1)}}slot[name=post-logo]{align-self:flex-end}.global-sub{display:flex;align-items:center;gap:2rem;height:var(--global-header-height)}.align-end{align-items:flex-end}.logo{flex:1 0 auto;height:var(--global-header-height);width:var(--global-header-height);min-height:24px;align-self:flex-end}@media screen and (min-width: 1024px){.logo{height:calc(var(--global-header-height) - var(--header-scroll-top))}}::slotted(ul){margin-block:0;list-style:none;display:flex;padding-left:0;gap:1rem}.title-header,.main-navigation{display:flex;align-items:center;padding-inline:12px;background:#fff}.title-header{height:var(--main-header-height);display:flex;align-items:center}@media screen and (max-width: 1023.99px){.title-header{border-bottom:1px solid #000}}:host(:not(:has([slot=title]))) .title-header{display:none}::slotted(h1){margin:0 !important;font-size:28px !important}.main-navigation{position:sticky;top:24px;height:var(--main-header-height)}@media screen and (min-width: 1024px){.main-navigation{border-bottom:1px solid #000}}@media screen and (max-width: 1023.99px){.main-navigation{display:none;position:absolute;top:var(--header-height);bottom:0;width:100%;background-color:#fff;height:auto}.main-navigation.extended{display:block}}@media screen and (min-width: 1024px){.mobile-toggle{display:none}}";
139
+ const postHeaderCss = "*,::before,::after{box-sizing:border-box}:host{--global-header-height:72px;--global-header-minimal-height:24px;--main-header-height:56px;--header-height:calc(var(--global-header-height) + var(--main-header-height))}@media screen and (min-width: 1024px){:host{display:block;position:sticky;inset-inline:0;inset-block-start:calc(-1*(var(--global-header-height) + var(--main-header-height) - var(--global-header-minimal-height)));box-shadow:var(--post-core-elevation-3)}}@media screen and (max-width: 1023.99px){:host{--global-header-height:64px;--main-header-height:48px}}.d-flex{display:flex}.space-between{justify-content:space-between}.global-header{background-color:#fc0;display:flex;justify-content:space-between;align-items:center;position:sticky;padding-inline:var(--post-core-dimension-4);height:var(--global-header-height);z-index:1}@media screen and (max-width: 1023.99px){.global-header{inset-block-start:0}}@media screen and (min-width: 1024px){.global-header{padding-inline-end:var(--post-core-dimension-12);top:calc((var(--global-header-height) - var(--global-header-minimal-height))*-1)}}slot[name=post-logo]{align-self:flex-end}.global-sub{display:flex;align-items:center;gap:var(--post-core-dimension-24);height:var(--global-header-height)}.align-end{align-items:flex-end}.logo{flex:1 0 auto;height:var(--global-header-height);width:var(--global-header-height);min-height:var(--global-header-minimal-height);align-self:flex-end}@media screen and (min-width: 1024px){.logo{height:calc(var(--global-header-height) - var(--header-scroll-top))}}::slotted(ul){margin-block:0;list-style:none;display:flex;padding-left:0;gap:1rem}.title-header{display:flex;align-items:center;gap:var(--post-core-dimension-4);height:var(--main-header-height);background:var(--post-core-color-brand-white)}@media screen and (min-width: 1024px){.title-header{padding:var(--post-core-dimension-18) var(--post-core-dimension-16) var(--post-core-dimension-4) var(--post-core-dimension-12)}}@media screen and (max-width: 1023.99px){.title-header{position:sticky;z-index:1;inset-block-start:var(--global-header-height);padding-inline:var(--post-core-dimension-8) var(--post-core-dimension-16)}}:host(:not(:has([slot=title]))) .title-header{display:none}::slotted(h1){margin:0 !important}@media screen and (min-width: 1024px){::slotted(h1){font-size:var(--post-core-font-size-28) !important}}@media screen and (max-width: 1023.99px){::slotted(h1){font-size:var(--post-core-font-size-20) !important}}@media screen and (min-width: 1024px){.mobile-toggle{display:none}}.navigation{background:var(--post-core-color-brand-white)}@media screen and (min-width: 1024px){.navigation{position:sticky;z-index:1;inset-block-start:var(--global-header-minimal-height)}}@media screen and (max-width: 1023.99px){.navigation{position:fixed;inset-inline:0;inset-block-end:calc(100vh - var(--header-height));box-shadow:var(--post-core-elevation-3);min-height:var(--post-core-dimension-10);max-height:calc(100vh - var(--header-height));overflow:auto}::slotted(post-mainnavigation),.navigation-footer{display:none;flex-direction:column;padding-block:var(--post-core-dimension-16) var(--post-core-dimension-24);padding-inline:var(--post-core-dimension-32)}.navigation.extended ::slotted(post-mainnavigation),.navigation.extended .navigation-footer{display:flex}::slotted(post-mainnavigation){background-color:var(--post-core-color-sandgrey-002);gap:var(--post-core-dimension-32)}.navigation-footer{background-color:var(--post-core-color-sandgrey-006);gap:var(--post-core-dimension-24)}}";
139
140
  const PostHeaderStyle0 = postHeaderCss;
140
141
 
141
142
  const PostHeader$1 = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTMLElement {
@@ -156,8 +157,27 @@ const PostHeader$1 = /*@__PURE__*/ proxyCustomElement(class PostHeader extends H
156
157
  this.handleResize();
157
158
  this.handleScrollEvent();
158
159
  }
159
- handlePostMainNavigationClosed() {
160
- this.mobileMenuExtended = false;
160
+ frozeBody(isMobileMenuExtended) {
161
+ document.body.style.overflow = isMobileMenuExtended ? 'hidden' : '';
162
+ }
163
+ /**
164
+ * Toggles the mobile navigation.
165
+ */
166
+ async toggleMobileMenu() {
167
+ if (this.device === 'desktop')
168
+ return;
169
+ this.mobileMenuAnimation = this.mobileMenuExtended
170
+ ? slideUp(this.mobileMenu)
171
+ : slideDown(this.mobileMenu);
172
+ // Update the state of the toggle button
173
+ const menuButton = this.host.querySelector('post-togglebutton');
174
+ menuButton.toggled = !this.mobileMenuExtended;
175
+ // Toggle menu visibility before it slides down and after it slides back up
176
+ if (this.mobileMenuExtended)
177
+ await this.mobileMenuAnimation.finished;
178
+ this.mobileMenuExtended = !this.mobileMenuExtended;
179
+ if (!this.mobileMenuExtended)
180
+ await this.mobileMenuAnimation.finished;
161
181
  }
162
182
  handleScrollEvent() {
163
183
  // Credits: "https://github.com/qeremy/so/blob/master/so.dom.js#L426"
@@ -190,34 +210,55 @@ const PostHeader$1 = /*@__PURE__*/ proxyCustomElement(class PostHeader extends H
190
210
  });
191
211
  }
192
212
  handleResize() {
213
+ const previousDevice = this.device;
214
+ let newDevice;
193
215
  const width = window === null || window === void 0 ? void 0 : window.innerWidth;
194
216
  if (width >= 1024) {
195
- this.device = 'desktop';
196
- this.mobileMenuExtended = false; // Close any open mobile menu
217
+ newDevice = 'desktop';
197
218
  }
198
219
  else if (width >= 600) {
199
- this.device = 'tablet';
220
+ newDevice = 'tablet';
200
221
  }
201
222
  else {
202
- this.device = 'mobile';
223
+ newDevice = 'mobile';
224
+ }
225
+ // Close any open mobile menu
226
+ if (newDevice === 'desktop' && this.mobileMenuExtended) {
227
+ this.toggleMobileMenu();
228
+ this.mobileMenuAnimation.finish(); // no animation
229
+ }
230
+ // Apply only on change for doing work only when necessary
231
+ if (newDevice !== previousDevice) {
232
+ this.device = newDevice;
233
+ window.requestAnimationFrame(() => {
234
+ this.switchLanguageSwitchMode();
235
+ });
203
236
  }
204
237
  }
205
- handleMobileMenuToggle() {
206
- this.mobileMenuExtended = !this.mobileMenuExtended;
238
+ switchLanguageSwitchMode() {
239
+ var _a;
240
+ const variant = this.device === 'desktop' ? 'dropdown' : 'list';
241
+ (_a = this.host.querySelector('post-language-switch')) === null || _a === void 0 ? void 0 : _a.setAttribute('variant', variant);
207
242
  }
208
243
  render() {
209
- const mainNavClasses = ['main-navigation'];
244
+ const navigationClasses = ['navigation'];
210
245
  if (this.mobileMenuExtended) {
211
- mainNavClasses.push('extended');
246
+ navigationClasses.push('extended');
212
247
  }
213
- return (h(Host, { key: '85b0f7c1d14b96947497cc6d1cdf059430eb9ab6', version: version }, h("div", { key: '740ed42365e2e71215d4b8174cf98d8f8385fe9a', class: "global-header" }, h("div", { key: '0a0b0a3bdb527c6988992e23a3401f9c51b02d51', class: "global-sub" }, h("div", { key: '983bc0dacdc9f7f96a8aefdd3e17f31d0fbe1ef8', class: "logo" }, h("slot", { key: 'e9b97b26cfdbe836147493c50a98986791d8ce85', name: "post-logo" })), this.device === 'desktop' && h("slot", { key: '8a6d9c3c9d3f72de6d9ef0dbd2ecde3fd4982de6', name: "audience-navigation" })), h("div", { key: 'a85add260edc38024612e7bc1f2e7d19a2b11fdf', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: 'ffac0efc9078819711471067b6a85feaa807c9c9', name: "meta-navigation" }), h("slot", { key: 'c8270ebb6c57bbba4db4e2799e69e33ea0a2c094', name: "global-controls" }), this.device === 'desktop' && h("slot", { key: 'ac209cb8acd66dcaeb300c17994f0bae201cc0f8', name: "post-language-switch" }), h("div", { key: '210a5220eb97155138422a032a850d13992ac9a2', onClick: () => this.handleMobileMenuToggle(), class: "mobile-toggle" }, h("slot", { key: '42fb06418bc617252c80bab4ae64c64a74265723', name: "post-togglebutton" })))), h("div", { key: '62e1859020d65a54b86d53882a4452f6005589e9', class: "title-header d-flex space-between align-center" }, h("slot", { key: 'b285ac31f54fb3011813aab9f7c8ae1e9d64e8c2', name: "title" }), h("div", { key: 'b529d4b6d01bc39c9344bd2ed15f698d0637fe35', class: "global-sub" }, h("slot", { key: 'da20b42e70bd715c89ef4e6c7419f115bb1bfb45', name: "local-controls" }), h("slot", { key: 'd27c3b97b6597df51811913c74ae2ec157939563' }))), h("div", { key: '7d80d02dd4794598828d6c05779714d874818bbe', class: mainNavClasses.join(' ') }, (this.device === 'mobile' || this.device === 'tablet') && (h("slot", { key: 'dc02044dec14c3b716dd20209c5fb775d75d583f', name: "audience-navigation" })), h("slot", { key: '3f5a09fb4f69bb21924db2e236d554036a559d54', name: "post-mainnavigation" }), (this.device === 'mobile' || this.device === 'tablet') && (h("slot", { key: 'f50c0ce8631109041c25200c4e4b3f57502cf434', name: "meta-navigation" })), (this.device === 'mobile' || this.device === 'tablet') && (h("slot", { key: 'fc87fa82fd01021eb629bacc168f2d0a537409eb', name: "post-language-switch" })))));
248
+ return (h(Host, { key: 'd96b46b64946ef425059463d127fa1188c99ea58', version: version }, h("div", { key: '831ebc53d0f598a99e72d46a1530c2c34c196948', class: "global-header" }, h("div", { key: '69f3b3bc47a61810eea3ae60d7b2423af1750416', class: "global-sub" }, h("div", { key: 'ad6d36c7e7f029edfdee223ab1df664a1b7002f8', class: "logo" }, h("slot", { key: '95adfc2ad9e63fde9eef3cc71b63247e140fba3d', name: "post-logo" }))), h("div", { key: '741e62693a4df8558213c85d7a837efb8b0cfa6d', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: '992844b617955cb77079a175fcaaf54943a6eef2', name: "meta-navigation" }), h("slot", { key: '4384ae4c04d239bf1b1947ba6d1457ae6879a5cf', name: "global-controls" }), this.device === 'desktop' && h("slot", { key: 'c5b33b6bfb8c00d44710ec997a80d56720aab760', name: "post-language-switch" }), h("div", { key: '25a629a419c94fc4789eb374b87cf7c159b746c6', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, h("slot", { key: '3f3078832237abc5a6df79b4a57fe20fae926aa3', name: "post-togglebutton" })))), h("div", { key: 'e11ca83bc108d4677e849b7386ad7bd09d8c9331', class: "title-header d-flex space-between align-center" }, h("slot", { key: '87430ad15ab09f800b714be45be00a50e5b7dc0a', name: "title" }), h("div", { key: '494a198d3ee8185a26b16fce97a85bed01d6b3f7', class: "global-sub" }, h("slot", { key: '8a54e3d1366d39c11d64c0de90f35a4330836428', name: "local-controls" }), h("slot", { key: '63f841457e0f7b7722a3f8b1ea83ff0d78d9c08e' }))), h("div", { key: '90cf667c412d90f8e466e7e7925fa4a2f8223ad8', ref: el => (this.mobileMenu = el), class: navigationClasses.join(' ') }, h("slot", { key: 'a046286cb6cc770bfb8fb4439cdacac7c351001b', name: "post-mainnavigation" }), (this.device === 'mobile' || this.device === 'tablet') && (h("div", { key: '6e0ad5841ef53daf0c0885b75efdf12d69f4a72d', class: "navigation-footer" }, h("slot", { key: '1eaebace0d5e37794867ae2a317a104726bb873a', name: "meta-navigation" }), h("slot", { key: '79217cd6fd16d4c6ef3e8aaa656e6dc0a8842b23', name: "post-language-switch" }))))));
214
249
  }
215
250
  get host() { return this; }
251
+ static get watchers() { return {
252
+ "mobileMenuExtended": ["frozeBody"]
253
+ }; }
216
254
  static get style() { return PostHeaderStyle0; }
217
255
  }, [1, "post-header", {
218
256
  "device": [32],
219
- "mobileMenuExtended": [32]
220
- }, [[0, "postMainNavigationClosed", "handlePostMainNavigationClosed"]]]);
257
+ "mobileMenuExtended": [32],
258
+ "toggleMobileMenu": [64]
259
+ }, undefined, {
260
+ "mobileMenuExtended": ["frozeBody"]
261
+ }]);
221
262
  function defineCustomElement$1() {
222
263
  if (typeof customElements === "undefined") {
223
264
  return;
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { a as checkEmptyOrOneOf, c as checkEmptyOrType } from './index2.js';
2
+ import { b as checkEmptyOrOneOf, c as checkEmptyOrType } from './index2.js';
3
3
  import { v as version } from './package.js';
4
4
  import { c as checkNonEmpty } from './check-non-empty.js';
5
5
  import { c as checkType } from './check-type.js';
@@ -82,7 +82,7 @@ const PostIcon = /*@__PURE__*/ proxyCustomElement(class PostIcon extends HTMLEle
82
82
  this.validateAnimation();
83
83
  }
84
84
  render() {
85
- return (h(Host, { key: '34a48ba95a05ab98ccbd7d5c59423f8f261c2a77', "data-version": version }, h("svg", { key: '34a70353c83fba4b8606ee4516cda7982c042ea2', style: this.getStyles() }, h("use", { key: '3241328a9e9b1f7929d79fff89725d98e5e162a0', href: this.getPath() }))));
85
+ return (h(Host, { key: '7864661c5ba45508fa3902c49fd0da1d6c026795', "data-version": version }, h("svg", { key: '588f70bd81afc4cc5a312388aa6225bc9c853b57', style: this.getStyles() }, h("use", { key: 'c4505cf12ddf083ad86b3b9304ffbf37ac3489d1', href: this.getPath() }))));
86
86
  }
87
87
  get host() { return this; }
88
88
  static get watchers() { return {
@@ -3,7 +3,7 @@ import { c as checkEmptyOrType } from './index2.js';
3
3
  import { v as version } from './package.js';
4
4
  import { c as checkType } from './check-type.js';
5
5
 
6
- const postLanguageOptionCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{display:inline-block;width:fit-content}button{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button}a{color:inherit;text-decoration:none}:is(a,button){cursor:pointer;display:flex;align-items:center;justify-content:center;height:100%;width:100%;padding:var(--post-language-option-padding)}";
6
+ const postLanguageOptionCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{display:inline-block;width:fit-content}button{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button}a{color:inherit;text-decoration:none}:is(a,button){cursor:pointer;display:flex;align-items:center;justify-content:center;height:100%;width:100%;padding:var(--post-language-option-padding)}.post-language-option-list{border-radius:2px;width:40px;height:40px}.post-language-option-list{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}.post-language-option-list: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){.post-language-option-list:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-option-list: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){.post-language-option-list:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.post-language-option-list[aria-current=true],.post-language-option-list[aria-current=page]{background-color:#050400;color:#fff}.post-language-option-dropdown{padding-block:13px;padding-inline:24px;box-sizing:border-box;position:relative}.post-language-option-dropdown[aria-current=true]::after,.post-language-option-dropdown[aria-current=page]::after{content:\"\";left:-2px;height:3px;background-color:#504f4b;width:calc(100% + 4px);display:block;position:absolute;bottom:3px}.post-language-option-dropdown[aria-current=true]:focus::after,.post-language-option-dropdown[aria-current=page]:focus::after{width:calc(100% - 5px);left:2px}";
7
7
  const PostLanguageOptionStyle0 = postLanguageOptionCss;
8
8
 
9
9
  const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguageOption extends HTMLElement {
@@ -14,6 +14,7 @@ const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
14
14
  this.postChange = createEvent(this, "postChange", 7);
15
15
  this.code = undefined;
16
16
  this.active = undefined;
17
+ this.variant = undefined;
17
18
  this.name = undefined;
18
19
  this.url = undefined;
19
20
  }
@@ -53,7 +54,7 @@ const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
53
54
  }
54
55
  render() {
55
56
  const lang = this.code.toLowerCase();
56
- return (h(Host, { key: 'e52e889c7aee2f5a46d7070a6a12185573db2cb3', "data-version": version, role: "listitem" }, this.url ? (h("a", { "aria-current": this.active ? 'page' : undefined, "aria-label": this.name, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange() }, h("slot", null))) : (h("button", { "aria-current": this.active ? 'true' : undefined, "aria-label": this.name, lang: lang, onClick: () => this.emitChange() }, h("slot", null)))));
57
+ return (h(Host, { key: '9a3f49ee993b69393ea8f81b671cd5482049ff1c', "data-version": version, role: "listitem" }, this.url ? (h("a", { class: this.variant ? `post-language-option-${this.variant}` : '', "aria-current": this.active ? 'page' : undefined, "aria-label": this.name, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange() }, h("slot", null))) : (h("button", { class: this.variant ? `post-language-option-${this.variant}` : '', "aria-current": this.active ? 'true' : undefined, "aria-label": this.name, lang: lang, onClick: () => this.emitChange() }, h("slot", null)))));
57
58
  }
58
59
  get host() { return this; }
59
60
  static get watchers() { return {
@@ -66,6 +67,7 @@ const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
66
67
  }, [1, "post-language-option", {
67
68
  "code": [1],
68
69
  "active": [1540],
70
+ "variant": [1],
69
71
  "name": [1],
70
72
  "url": [1],
71
73
  "select": [64]
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface PostLanguageSwitch extends Components.PostLanguageSwitch, HTMLElement {}
4
+ export const PostLanguageSwitch: {
5
+ prototype: PostLanguageSwitch;
6
+ new (): PostLanguageSwitch;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,149 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { b as checkEmptyOrOneOf } from './index2.js';
3
+ import { v as version } from './package.js';
4
+ import { d as defineCustomElement$5 } from './post-icon2.js';
5
+ import { d as defineCustomElement$4 } from './post-menu2.js';
6
+ import { d as defineCustomElement$3 } from './post-menu-trigger2.js';
7
+ import { d as defineCustomElement$2 } from './post-popovercontainer2.js';
8
+ import { c as checkType } from './check-type.js';
9
+
10
+ const SWITCH_VARIANTS = ['list', 'dropdown'];
11
+
12
+ const urlAlphabet =
13
+ 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
14
+
15
+ let nanoid = (size = 21) => {
16
+ let id = '';
17
+ let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)));
18
+ while (size--) {
19
+ id += urlAlphabet[bytes[size] & 63];
20
+ }
21
+ return id
22
+ };
23
+
24
+ const postLanguageSwitchCss = ":host{display:block}.post-language-switch-dropdown-container{display:flex;flex-direction:column}.post-language-switch-trigger{cursor:pointer;padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;text-decoration:none;display:inline-flex;align-items:center;gap:var(--post-core-dimension-6);border-radius:var(--post-core-dimension-24);font-size:var(--post-core-font-size-16);padding:var(--post-core-dimension-3) var(--post-core-dimension-10)}.post-language-switch-trigger{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}.post-language-switch-trigger: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){.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-switch-trigger: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){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.post-language-switch-trigger:not(:disabled):hover,.post-language-switch-trigger.pretend-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)}.post-language-switch-trigger post-icon{height:var(--post-core-dimension-16);width:var(--post-core-dimension-16)}";
25
+ const PostLanguageSwitchStyle0 = postLanguageSwitchCss;
26
+
27
+ const PostLanguageSwitch$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguageSwitch extends HTMLElement {
28
+ constructor() {
29
+ super();
30
+ this.__registerHost();
31
+ this.__attachShadow();
32
+ this.menuId = `p${nanoid(11)}`;
33
+ this.caption = undefined;
34
+ this.description = undefined;
35
+ this.variant = 'list';
36
+ this.activeLang = undefined;
37
+ }
38
+ validateCaption(value = this.caption) {
39
+ checkType(value, 'string', 'The "caption" property of the post-language-switch component must be a string.');
40
+ }
41
+ validateDescription(value = this.description) {
42
+ checkType(value, 'string', 'The "description" property of the post-language-switch component must be a string.');
43
+ }
44
+ validateVariant(value = this.variant) {
45
+ checkEmptyOrOneOf(value, SWITCH_VARIANTS, `The "variant" property of the post-language-switch component must be: ${SWITCH_VARIANTS.join(', ')}`);
46
+ }
47
+ connectedCallback() {
48
+ this.updateChildrenVariant();
49
+ // Get the active language based on children's active state
50
+ this.activeLang = Array.from(this.host.querySelectorAll('post-language-option'))
51
+ .find(el => el.getAttribute('active') == 'true')
52
+ .getAttribute('code');
53
+ }
54
+ // Update post-language-option variant to have the correct style
55
+ updateChildrenVariant() {
56
+ this.host.querySelectorAll('post-language-option').forEach(el => {
57
+ el.setAttribute('variant', this.variant);
58
+ });
59
+ }
60
+ componentShouldUpdate() {
61
+ this.updateChildrenVariant();
62
+ }
63
+ componentDidLoad() {
64
+ this.validateCaption();
65
+ this.validateDescription();
66
+ this.validateVariant();
67
+ // Detects a change in the active language
68
+ this.host.addEventListener('postChange', (el) => {
69
+ this.activeLang = el.detail;
70
+ // Update the active state in the children post-language-option components
71
+ this.host.querySelectorAll('post-language-option').forEach(lang => {
72
+ if (lang.code && lang.code === this.activeLang) {
73
+ lang.setAttribute('active', 'true');
74
+ }
75
+ else {
76
+ lang.setAttribute('active', 'false');
77
+ }
78
+ });
79
+ // Hides the dropdown when an option has been clicked
80
+ if (this.variant === 'dropdown') {
81
+ const menu = this.host.shadowRoot.querySelector('post-menu');
82
+ menu.toggle(menu);
83
+ }
84
+ });
85
+ }
86
+ renderList() {
87
+ return (h(Host, { "data-version": version, "aria-label": `${this.caption}, ${this.description}`, "aria-role": "list" }, h("slot", null)));
88
+ }
89
+ renderDropdown() {
90
+ return (h(Host, { "data-version": version }, h("post-menu-trigger", { for: this.menuId }, h("button", { class: "post-language-switch-trigger", "aria-label": `${this.caption}, ${this.description}` }, this.activeLang.toUpperCase(), h("post-icon", { "aria-hidden": "true", name: "chevrondown" }))), h("post-menu", { id: this.menuId }, h("div", { class: "post-language-switch-dropdown-container" }, h("slot", null)))));
91
+ }
92
+ render() {
93
+ return this.variant === 'list' ? this.renderList() : this.renderDropdown();
94
+ }
95
+ get host() { return this; }
96
+ static get watchers() { return {
97
+ "caption": ["validateCaption"],
98
+ "description": ["validateDescription"],
99
+ "variant": ["validateVariant"]
100
+ }; }
101
+ static get style() { return PostLanguageSwitchStyle0; }
102
+ }, [1, "post-language-switch", {
103
+ "caption": [1],
104
+ "description": [1],
105
+ "variant": [1],
106
+ "activeLang": [32]
107
+ }, undefined, {
108
+ "caption": ["validateCaption"],
109
+ "description": ["validateDescription"],
110
+ "variant": ["validateVariant"]
111
+ }]);
112
+ function defineCustomElement$1() {
113
+ if (typeof customElements === "undefined") {
114
+ return;
115
+ }
116
+ const components = ["post-language-switch", "post-icon", "post-menu", "post-menu-trigger", "post-popovercontainer"];
117
+ components.forEach(tagName => { switch (tagName) {
118
+ case "post-language-switch":
119
+ if (!customElements.get(tagName)) {
120
+ customElements.define(tagName, PostLanguageSwitch$1);
121
+ }
122
+ break;
123
+ case "post-icon":
124
+ if (!customElements.get(tagName)) {
125
+ defineCustomElement$5();
126
+ }
127
+ break;
128
+ case "post-menu":
129
+ if (!customElements.get(tagName)) {
130
+ defineCustomElement$4();
131
+ }
132
+ break;
133
+ case "post-menu-trigger":
134
+ if (!customElements.get(tagName)) {
135
+ defineCustomElement$3();
136
+ }
137
+ break;
138
+ case "post-popovercontainer":
139
+ if (!customElements.get(tagName)) {
140
+ defineCustomElement$2();
141
+ }
142
+ break;
143
+ } });
144
+ }
145
+
146
+ const PostLanguageSwitch = PostLanguageSwitch$1;
147
+ const defineCustomElement = defineCustomElement$1;
148
+
149
+ export { PostLanguageSwitch, defineCustomElement };
@@ -13,7 +13,7 @@ const PostListItem$1 = /*@__PURE__*/ proxyCustomElement(class PostListItem exten
13
13
  this.host.setAttribute('slot', 'post-list-item');
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: '25532c40e8f02f335df6b112041cbaf6056576b6', role: "listitem" }, h("slot", { key: '46ddc9e27c71040b271ab6bd59db2ac37fa4a112' })));
16
+ return (h(Host, { key: 'aa9a31c64e3e8ba5dcac1d03b54ab3c886149c1f', role: "listitem", slot: "post-list-item" }, h("slot", { key: '06353140f8917fc5373de6d56708467af2ef52b2' })));
17
17
  }
18
18
  get host() { return this; }
19
19
  static get style() { return PostListItemStyle0; }
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { v as version } from './package.js';
3
3
 
4
- const postListCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */post-list{display:flex;gap:var(--post-list-title-gap);flex-direction:column;align-items:flex-start}post-list>div[role=list]{flex-direction:column;display:flex;gap:var(--post-list-item-gap)}post-list[horizontal]:not([horizontal=false]){flex-direction:row;align-items:baseline}post-list[horizontal]:not([horizontal=false])>div[role=list]{flex-direction:row;align-items:center}post-list>.list-title.visually-hidden{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}post-list>.list-title.visually-hidden:not(caption){position:absolute !important}";
4
+ const postListCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */post-list{display:flex;flex-direction:column;gap:var(--post-list-title-gap, 0)}post-list>[role=list]{display:flex;flex-direction:column;gap:var(--post-list-item-gap, 0)}post-list:where([horizontal]:not([horizontal=false])){flex-direction:row;align-items:center}post-list:where([horizontal]:not([horizontal=false]))>[role=list]{flex-direction:row;align-items:center}post-list>.list-title.visually-hidden{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}post-list>.list-title.visually-hidden:not(caption){position:absolute !important}";
5
5
  const PostListStyle0 = postListCss;
6
6
 
7
7
  const PostList$1 = /*@__PURE__*/ proxyCustomElement(class PostList extends HTMLElement {
@@ -16,7 +16,7 @@ const PostList$1 = /*@__PURE__*/ proxyCustomElement(class PostList extends HTMLE
16
16
  /**
17
17
  * Get the id set on the host element or use a random id by default
18
18
  */
19
- this.titleId = `list-${crypto.randomUUID()}`;
19
+ this.titleId = `title-${this.host.id || crypto.randomUUID()}`;
20
20
  }
21
21
  componentDidLoad() {
22
22
  this.checkTitle();
@@ -27,13 +27,13 @@ const PostList$1 = /*@__PURE__*/ proxyCustomElement(class PostList extends HTMLE
27
27
  }
28
28
  }
29
29
  render() {
30
- return (h(Host, { key: '7126a864e6c4d8152c9024bd8d390514bc8c0b7a', "data-version": version }, h("div", { key: 'c3f56a0e41146dc5dbd2c3fc165152e05953956f', ref: el => (this.titleEl = el), id: this.titleId, class: `list-title${this.titleHidden ? ' visually-hidden' : ''}` }, h("slot", { key: '3de0cd83b48ef3a3201f854842781ccba9bedf29' })), h("div", { key: '4b8a4ac0a9c89451a408cc8de814878dc8da11b7', role: "list", "aria-labelledby": this.titleId }, h("slot", { key: '474d87804fc39241a0f3541a82bdfbe1491a4452', name: "post-list-item" }))));
30
+ return (h(Host, { key: '4f982e717530514589c5528553b70463d678b676', "data-version": version }, h("div", { key: 'cc65ed208f48e7a22482af96fd069d05363f2617', ref: el => (this.titleEl = el), id: this.titleId, class: `list-title${this.titleHidden ? ' visually-hidden' : ''}` }, h("slot", { key: '0f8bbeade50b59e53767ce2169dd57bb79644705' })), h("div", { key: '7fa5de37a169e6f76928c2088c46ee747427887e', role: "list", "aria-labelledby": this.titleId }, h("slot", { key: '86b4d71b83671babb61dd12e842710d67350a09e', name: "post-list-item" }))));
31
31
  }
32
32
  get host() { return this; }
33
33
  static get style() { return PostListStyle0; }
34
34
  }, [4, "post-list", {
35
35
  "titleHidden": [4, "title-hidden"],
36
- "horizontal": [4],
36
+ "horizontal": [516],
37
37
  "titleId": [32]
38
38
  }]);
39
39
  function defineCustomElement$1() {
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { v as version } from './package.js';
3
- import { d as checkEmptyOrUrl } from './index2.js';
3
+ import { e as checkEmptyOrUrl } from './index2.js';
4
4
 
5
5
  const postLogoCss = ":host,.logo{display:inline-block}:host,:host .logo>svg,.logo,.logo .logo>svg{height:100%}.description{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}";
6
6
  const PostLogoStyle0 = postLogoCss;
@@ -27,7 +27,7 @@ const PostLogo$1 = /*@__PURE__*/ proxyCustomElement(class PostLogo extends HTMLE
27
27
  render() {
28
28
  const logoLink = this.url && (typeof this.url === 'string' ? this.url : this.url.href);
29
29
  const LogoTag = logoLink ? 'a' : 'span';
30
- return (h(Host, { key: 'd3dd408c30b4e22712b9a293906c7334e7d1852b', "data-version": version, slot: "post-logo" }, h(LogoTag, Object.assign({ key: '4eb08a4d1b4a0ec2557b63678225a16d287c692c', class: "logo" }, (logoLink ? { href: logoLink } : {})), h("span", { key: 'ab3b1a8da4a7b87aa0a020d47586a7018619e9c3', class: "description" }, h("slot", { key: 'a9c39b1f2f54fd4ceb79a82ab30571c161a29adb', onSlotchange: () => this.checkDescription() })), h("svg", { key: 'af4c3fbdb2a72e0b8518a6c16cefdb795f41244c', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, h("g", { key: '05e25c1522dd4edfc676b04cf9092ed519d95381', id: "Logo" }, h("rect", { key: '12e1b7878e990e110c8ae83ef742bb6fa4c48a2f', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), h("polygon", { key: '0e1120c70769c4a23b3711c1157e6f1742e3a75b', fill: "#ff0000", points: "34,32.3 34,19 19.7,19 19.7,29.1 10,29.1 10,42.9 19.7,42.9 19.7,53 34,53 34,39.7 30.6,39.7 30.6,49.8 23.1,49.8 23.1,39.7 13.4,39.7 13.4,32.3 23.1,32.3 23.1,22.2 30.6,22.2 30.6,32.3" }), h("path", { key: 'ccc271be1919898fc6eed78bf2e012e71dd96c48', d: "M53.56234,31.10526c0,2.41272-1.99154,4.29475-4.51723,4.29475H45.2v-8.3h3.84511C51.66802,27.1,53.56234,28.78889,53.56234,31.10526z M50.69666,19H36v34h9.2V42.9h5.49666c6.75131,0,11.9971-5.15137,11.9971-11.8057C62.69376,24.39136,57.35099,19,50.69666,19z" }))))));
30
+ return (h(Host, { key: 'b8d47e2530eb39f7b05370b4cea0b728cb00a1fb', "data-version": version, slot: "post-logo" }, h(LogoTag, Object.assign({ key: '47a4d88622aab30e652a08827e221dacda36cb48', class: "logo" }, (logoLink ? { href: logoLink } : {})), h("span", { key: '4eb6ad1bc6c165197b6bcce8fe1146eb9d48fb21', class: "description" }, h("slot", { key: 'c66a4385f19711daab6f4ba87d5f78f59ad8b263', onSlotchange: () => this.checkDescription() })), h("svg", { key: '824643e64a3fb0914082f8f78a11753d66c98842', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, h("g", { key: 'e4f63d237c1fe1128005f29ea604c865f6b50943', id: "Logo" }, h("rect", { key: '34fec89177fb5461318d3e8fcc725f32dd97057a', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), h("polygon", { key: '5600de7c21a8e363fffa35710a3f41e4295b76c7', fill: "#ff0000", points: "34,32.3 34,19 19.7,19 19.7,29.1 10,29.1 10,42.9 19.7,42.9 19.7,53 34,53 34,39.7 30.6,39.7 30.6,49.8 23.1,49.8 23.1,39.7 13.4,39.7 13.4,32.3 23.1,32.3 23.1,22.2 30.6,22.2 30.6,32.3" }), h("path", { key: '719be82825355704c4eac3c60fb461f6303734f7', d: "M53.56234,31.10526c0,2.41272-1.99154,4.29475-4.51723,4.29475H45.2v-8.3h3.84511C51.66802,27.1,53.56234,28.78889,53.56234,31.10526z M50.69666,19H36v34h9.2V42.9h5.49666c6.75131,0,11.9971-5.15137,11.9971-11.8057C62.69376,24.39136,57.35099,19,50.69666,19z" }))))));
31
31
  }
32
32
  get host() { return this; }
33
33
  static get watchers() { return {
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
 
3
- const postMainnavigationCss = "*,::before,::after{box-sizing:border-box}@media screen and (min-width: 1024px){slot[name=back-button],[slot=back-button]{display:none}}@media screen and (min-width: 1024px){h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}}post-mainnavigation{height:100%}:host{height:100%;display:block}.main-navigation{margin-block:0;list-style:none;display:flex;padding-left:0;gap:1rem}@media screen and (max-width: 1023.99px){.main-navigation{flex-direction:column}}.main-navigation>post-list{display:flex;align-items:stretch;gap:1rem;height:100%}@media screen and (max-width: 1023.99px){.main-navigation>post-list{flex-direction:column}}.main-navigation a,.main-navigation post-megadropdown-toggle{height:100%;display:flex;align-items:center}";
3
+ const postMainnavigationCss = "post-mainnavigation post-list-item>a{text-decoration:none;border-radius:0}post-mainnavigation post-list-item post-megadropdown-trigger button{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;text-align:start}post-mainnavigation post-list-item post-megadropdown-trigger button{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}post-mainnavigation post-list-item post-megadropdown-trigger button: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){post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-mainnavigation post-list-item post-megadropdown-trigger button: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){post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{display:flex;align-items:center;justify-content:space-between}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item>button:hover,post-mainnavigation post-list-item post-megadropdown-trigger button:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}post-mainnavigation post-list-item>a:focus-visible,post-mainnavigation post-list-item>button:focus-visible,post-mainnavigation post-list-item post-megadropdown-trigger button:focus-visible{border-radius:var(--post-core-dimension-4);z-index:1}@media screen and (min-width: 1024px){post-mainnavigation nav{position:relative;max-width:100vw;max-height:var(--post-core-dimension-56);user-select:none}post-mainnavigation post-list{margin-inline:var(--post-core-dimension-4)}post-mainnavigation post-list>[role=list]{flex-direction:row;max-width:100vw;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{padding-inline:var(--post-core-dimension-12);height:var(--post-core-dimension-56);gap:var(--post-core-dimension-4);font-size:var(--post-core-font-size-16);border-block:0 solid rgba(0,0,0,0);border-block-end-color:currentColor}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item>button:hover,post-mainnavigation post-list-item post-megadropdown-trigger button:hover{border-block-width:var(--post-core-dimension-2)}post-mainnavigation post-list-item>a.selected,post-mainnavigation post-list-item>a[aria-expanded=true],post-mainnavigation post-list-item>button.selected,post-mainnavigation post-list-item>button[aria-expanded=true],post-mainnavigation post-list-item post-megadropdown-trigger button.selected,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]{border-block-width:var(--post-core-dimension-4);font-weight:var(--post-core-font-weight-700)}post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{padding-inline-end:var(--post-core-dimension-12);transition:border-block-end-color 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation post-list-item>button::after,post-mainnavigation post-list-item post-megadropdown-trigger button::after{content:\"\";-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 13.2-7.5 7.6-7.6-7.6.9-.9 6.6 6.6 6.6-6.6z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 13.2-7.5 7.6-7.6-7.6.9-.9 6.6 6.6 6.6-6.6z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;height:var(--post-core-dimension-24);width:var(--post-core-dimension-24);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation post-list-item>button.selected::after,post-mainnavigation post-list-item>button[aria-expanded=true]::after,post-mainnavigation post-list-item post-megadropdown-trigger button.selected::after,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]::after{transform:rotate(180deg)}post-mainnavigation [slot=back-button]{display:none}}@media screen and (max-width: 1023.99px){post-mainnavigation post-list>[role=list]{transform:none !important}post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{width:100%;height:var(--post-core-dimension-48);padding-inline-end:var(--post-core-dimension-6);gap:var(--post-core-dimension-16);border-block:var(--post-core-dimension-1) solid rgba(0,0,0,0);border-block-end-color:currentColor;font-weight:var(--post-core-font-weight-700)}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item>a.selected,post-mainnavigation post-list-item>button:hover,post-mainnavigation post-list-item>button.selected,post-mainnavigation post-list-item post-megadropdown-trigger button:hover,post-mainnavigation post-list-item post-megadropdown-trigger button.selected{border-block-width:var(--post-core-dimension-3)}post-mainnavigation post-list-item>a:hover::after,post-mainnavigation post-list-item>button:hover::after,post-mainnavigation post-list-item post-megadropdown-trigger button:hover::after{content:\"\";display:block;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.667 5.333H18.8L29.467 16H0v1.333h29.467L18.8 28h1.867L32 16.667z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.667 5.333H18.8L29.467 16H0v1.333h29.467L18.8 28h1.867L32 16.667z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;width:var(--post-core-dimension-24);height:var(--post-core-dimension-24)}}";
4
4
  const PostMainnavigationStyle0 = postMainnavigationCss;
5
5
 
6
6
  const PostMainnavigation$1 = /*@__PURE__*/ proxyCustomElement(class PostMainnavigation extends HTMLElement {
@@ -9,28 +9,28 @@ const PostMainnavigation$1 = /*@__PURE__*/ proxyCustomElement(class PostMainnavi
9
9
  this.__registerHost();
10
10
  this.postToggle = createEvent(this, "postToggle", 7);
11
11
  }
12
- handleMegadropdownToggled(event) {
13
- // Find next element sibling
14
- let megalodon;
15
- let target = event.target;
16
- while (target !== null) {
17
- if (target.tagName === 'POST-MEGADROPDOWN') {
18
- megalodon = target;
19
- break;
20
- }
21
- target = target.nextElementSibling;
22
- }
23
- if (megalodon)
24
- megalodon.toggle(event.target);
12
+ /**
13
+ * Retrieves a reference to the closest 'post-header' element when the main navigation is added to the DOM.
14
+ */
15
+ connectedCallback() {
16
+ this.header = this.host.closest('post-header');
17
+ }
18
+ /**
19
+ * Cleans up references and disconnects the MutationObserver when the main navigation is removed from the DOM.
20
+ */
21
+ disconnectedCallback() {
22
+ this.header = null;
25
23
  }
26
24
  handleBackButtonClick() {
27
- this.postToggle.emit();
25
+ if (this.header)
26
+ this.header.toggleMobileMenu();
28
27
  }
29
28
  render() {
30
- return (h(Host, { key: '5006fede681cf581b878c84fd1a6b7fe4830cbd2', slot: "post-mainnavigation" }, h("div", { key: 'a2273bab074eac3f9197961b935c3ba19ecbbb21', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: 'c42751bee76cecbb076bb227bd0ffcc634b354a2', name: "back-button" })), h("nav", { key: '89541b5efc3500a8feec250a3d10402ea4b1a3a2', class: "main-navigation" }, h("slot", { key: 'f5f5a030325e701aaaca13747131b1f1fa10e849' }))));
29
+ return (h(Host, { key: 'f21c438ac0bbcb08e08fd419589bf92b7d8b3a61', slot: "post-mainnavigation" }, h("div", { key: '1925f47932d7e842e8b9f059d7ade955c577fa50', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: 'fe18f6859a6d79c7ae701b65a31be1eab9c8b2ac', name: "back-button" })), h("nav", { key: 'ad2b0a52bc0bcf78a3c3340ba163ee6167be2c73' }, h("slot", { key: '8fc7b01cc0f3729cd2c12c4967ec87891fe0dcf5' }))));
31
30
  }
31
+ get host() { return this; }
32
32
  static get style() { return PostMainnavigationStyle0; }
33
- }, [4, "post-mainnavigation", undefined, [[0, "postToggle", "handleMegadropdownToggled"]]]);
33
+ }, [4, "post-mainnavigation"]);
34
34
  function defineCustomElement$1() {
35
35
  if (typeof customElements === "undefined") {
36
36
  return;
@@ -1,26 +1,78 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { v as version } from './package.js';
3
+ import { c as checkType } from './check-type.js';
2
4
 
3
- const postMegadropdownTriggerCss = ":host{display:inline-block}";
5
+ const postMegadropdownTriggerCss = "post-megadropdown-trigger{width:100%}";
4
6
  const PostMegadropdownTriggerStyle0 = postMegadropdownTriggerCss;
5
7
 
6
8
  const PostMegadropdownTrigger$1 = /*@__PURE__*/ proxyCustomElement(class PostMegadropdownTrigger extends HTMLElement {
7
9
  constructor() {
8
10
  super();
9
11
  this.__registerHost();
10
- this.__attachShadow();
11
- this.postToggle = createEvent(this, "postToggle", 7);
12
- this.toggled = false;
12
+ /**
13
+ * Reference to the slotted button within the trigger, if present.
14
+ * Used to manage click and key events for mega dropdown control.
15
+ */
16
+ this.slottedButton = null;
17
+ this.for = undefined;
18
+ this.ariaExpanded = false;
13
19
  }
14
- handleClick() {
15
- this.toggled = !this.toggled;
16
- this.postToggle.emit();
20
+ /**
21
+ * Watch for changes to the `for` property to validate its type and ensure it is a string.
22
+ * @param forValue - The new value of the `for` property.
23
+ */
24
+ validateControlFor(forValue = this.for) {
25
+ checkType(forValue, 'string', 'The "for" property is required and should be a string.');
26
+ }
27
+ get megadropdown() {
28
+ const ref = document.getElementById(this.for);
29
+ return ref && ref.localName === 'post-megadropdown'
30
+ ? ref
31
+ : null;
32
+ }
33
+ handleToggle() {
34
+ if (this.megadropdown) {
35
+ this.megadropdown.toggle(this.host);
36
+ }
37
+ else {
38
+ console.warn(`No post-megadropdown found with ID: ${this.for}`);
39
+ }
40
+ }
41
+ componentDidLoad() {
42
+ this.validateControlFor();
43
+ // Check if the mega dropdown attached to the trigger is expanded or not
44
+ document.addEventListener('postToggleMegadropdown', (event) => {
45
+ if (event.target.id === this.for) {
46
+ this.ariaExpanded = event.detail;
47
+ if (this.slottedButton) {
48
+ this.slottedButton.setAttribute('aria-expanded', this.ariaExpanded.toString());
49
+ }
50
+ }
51
+ });
52
+ this.slottedButton = this.host.querySelector('button');
53
+ if (this.slottedButton) {
54
+ this.slottedButton.setAttribute('aria-haspopup', 'menu');
55
+ this.slottedButton.addEventListener('click', () => {
56
+ this.handleToggle();
57
+ });
58
+ }
59
+ else {
60
+ console.warn('No button found within post-megadropdown-trigger');
61
+ }
17
62
  }
18
63
  render() {
19
- return (h(Host, { key: '0b3de3d7d035e7427ff55d5818ce89f3cadd3c57', slot: "post-megadropdown-trigger" }, h("button", { key: '6e5ea2515fcafbf9ed4ea4f0532f85f6c044f2a5', "aria-expanded": this.toggled, onClick: () => this.handleClick() }, h("slot", { key: '60daae26758894fea7576d696d9325fa61f3cc31' }))));
64
+ return (h(Host, { key: '4ab919adeaa51fc12d45131fa540c76fb3ba73d9', "data-version": version, "tab-index": "-1" }, h("button", { key: 'e7dac321691cdb19a4874fd0b2097227d077af35' }, h("slot", { key: 'beffc38d2d35a67e74364c3b40b6d39896aa4de3' }))));
20
65
  }
66
+ get host() { return this; }
67
+ static get watchers() { return {
68
+ "for": ["validateControlFor"]
69
+ }; }
21
70
  static get style() { return PostMegadropdownTriggerStyle0; }
22
- }, [1, "post-megadropdown-trigger", {
23
- "toggled": [32]
71
+ }, [4, "post-megadropdown-trigger", {
72
+ "for": [1],
73
+ "ariaExpanded": [32]
74
+ }, undefined, {
75
+ "for": ["validateControlFor"]
24
76
  }]);
25
77
  function defineCustomElement$1() {
26
78
  if (typeof customElements === "undefined") {