@swisspost/design-system-components 9.0.0-next.13 → 9.0.0-next.15

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 (382) hide show
  1. package/dist/cjs/{index-f1b08cdb.js → index-0ee3ab4a.js} +334 -152
  2. package/dist/cjs/index.cjs.js +22 -20
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{package-60e57542.js → package-da5224f8.js} +1 -1
  5. package/dist/cjs/{post-accordion-1e495c23.js → post-accordion-412a5841.js} +11 -5
  6. package/dist/cjs/{post-accordion-item-86b6950a.js → post-accordion-item-0bcc2d1d.js} +15 -8
  7. package/dist/cjs/post-accordion-item.cjs.entry.js +3 -3
  8. package/dist/cjs/post-accordion.cjs.entry.js +3 -3
  9. package/dist/cjs/{post-avatar-067c033b.js → post-avatar-8c349298.js} +23 -11
  10. package/dist/cjs/post-avatar.cjs.entry.js +3 -3
  11. package/dist/cjs/post-back-to-top-56f1cc8e.js +80 -0
  12. package/dist/cjs/post-back-to-top.cjs.entry.js +3 -3
  13. package/dist/cjs/post-banner-6295a2a0.js +110 -0
  14. package/dist/cjs/post-banner.cjs.entry.js +3 -3
  15. package/dist/cjs/{post-breadcrumb-b33abf67.js → post-breadcrumb-507266b2.js} +15 -9
  16. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +3 -3
  17. package/dist/cjs/post-breadcrumb.cjs.entry.js +3 -3
  18. package/dist/cjs/{post-card-control-7867a104.js → post-card-control-d7eabec9.js} +45 -14
  19. package/dist/cjs/post-card-control.cjs.entry.js +3 -3
  20. package/dist/cjs/post-closebutton_15.cjs.entry.js +3 -3
  21. package/dist/cjs/{post-collapsible-trigger-6affdc02.js → post-collapsible-trigger-0ee4d82a.js} +11 -5
  22. package/dist/cjs/post-collapsible_2.cjs.entry.js +3 -3
  23. package/dist/cjs/post-components.cjs.js +3 -3
  24. package/dist/cjs/{post-footer-330e8999.js → post-footer-2bac2420.js} +8 -5
  25. package/dist/cjs/post-footer.cjs.entry.js +3 -3
  26. package/dist/cjs/post-linkarea-fc2f9c72.js +32 -0
  27. package/dist/cjs/post-linkarea.cjs.entry.js +11 -0
  28. package/dist/cjs/{post-menu-item-48191dfd.js → post-menu-item-709448cc.js} +8 -5
  29. package/dist/cjs/{post-popover-27f3e9aa.js → post-popover-0a247c47.js} +18 -6
  30. package/dist/cjs/post-popover.cjs.entry.js +3 -3
  31. package/dist/cjs/{post-rating-28904e91.js → post-rating-e09b9243.js} +21 -8
  32. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  33. package/dist/cjs/{post-tab-header-86b129ab.js → post-tab-header-7fb08fb1.js} +8 -5
  34. package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
  35. package/dist/cjs/{post-tab-panel-94333a7e.js → post-tab-panel-e35b6f6d.js} +8 -5
  36. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  37. package/dist/cjs/{post-tabs-f8581050.js → post-tabs-3967f88b.js} +10 -4
  38. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  39. package/dist/cjs/{post-tag-3a24c574.js → post-tag-07461a94.js} +18 -7
  40. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  41. package/dist/cjs/{post-togglebutton-e7d697bf.js → post-togglebutton-675dccb0.js} +516 -133
  42. package/dist/cjs/{post-tooltip-8c87dfe3.js → post-tooltip-1c754653.js} +17 -6
  43. package/dist/cjs/post-tooltip.cjs.entry.js +3 -3
  44. package/dist/collection/collection-manifest.json +4 -3
  45. package/dist/collection/components/post-accordion/post-accordion.js +13 -5
  46. package/dist/collection/components/post-accordion-item/post-accordion-item.js +17 -8
  47. package/dist/collection/components/post-avatar/post-avatar.js +29 -11
  48. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
  49. package/dist/collection/components/post-back-to-top/post-back-to-top.js +9 -5
  50. package/dist/collection/components/post-banner/post-banner.css +1 -1
  51. package/dist/collection/components/post-banner/post-banner.js +34 -14
  52. package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +17 -9
  53. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +7 -4
  54. package/dist/collection/components/post-card-control/post-card-control.js +61 -12
  55. package/dist/collection/components/post-closebutton/post-closebutton.js +1 -1
  56. package/dist/collection/components/post-collapsible/post-collapsible.js +7 -4
  57. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +6 -3
  58. package/dist/collection/components/post-footer/post-footer.js +8 -5
  59. package/dist/collection/components/post-header/post-header.css +1 -1
  60. package/dist/collection/components/post-header/post-header.js +82 -8
  61. package/dist/collection/components/post-icon/post-icon.js +43 -10
  62. package/dist/collection/components/post-language-option/post-language-option.js +32 -8
  63. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
  64. package/dist/collection/components/post-language-switch/post-language-switch.js +23 -7
  65. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -0
  66. package/dist/collection/components/post-linkarea/post-linkarea.js +32 -0
  67. package/dist/collection/components/post-list/post-list.js +17 -6
  68. package/dist/collection/components/post-list-item/post-list-item.js +1 -1
  69. package/dist/collection/components/post-logo/post-logo.js +7 -4
  70. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  71. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +193 -19
  72. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  73. package/dist/collection/components/post-megadropdown/post-megadropdown.js +124 -66
  74. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  75. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +12 -6
  76. package/dist/collection/components/post-menu/post-menu.js +15 -5
  77. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
  78. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +11 -5
  79. package/dist/collection/components/post-popover/post-popover.js +22 -4
  80. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  81. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +46 -8
  82. package/dist/collection/components/post-rating/post-rating.js +27 -6
  83. package/dist/collection/components/post-tab-header/post-tab-header.js +8 -5
  84. package/dist/collection/components/post-tab-panel/post-tab-panel.js +8 -5
  85. package/dist/collection/components/post-tabs/post-tabs.js +10 -4
  86. package/dist/collection/components/post-tag/post-tag.js +22 -5
  87. package/dist/collection/components/post-togglebutton/post-togglebutton.js +7 -4
  88. package/dist/collection/components/post-tooltip/post-tooltip.js +21 -6
  89. package/dist/collection/index.js +1 -0
  90. package/dist/components/index.js +36 -35
  91. package/dist/components/{post-collapsible2.js → p-10c1a15a.js} +9 -6
  92. package/dist/components/{post-menu-trigger2.js → p-15877641.js} +14 -8
  93. package/dist/components/{post-breadcrumb2.js → p-23b12eda.js} +26 -20
  94. package/dist/components/p-2e509a60.js +237 -0
  95. package/dist/components/{post-tab-header2.js → p-32b7a0a8.js} +11 -8
  96. package/dist/components/{post-togglebutton2.js → p-3385af29.js} +9 -6
  97. package/dist/components/p-3aba7629.js +29 -0
  98. package/dist/components/p-3e8554e7.js +1646 -0
  99. package/dist/components/p-46a6c5ec.js +168 -0
  100. package/dist/components/{post-tooltip2.js → p-477784a7.js} +21 -10
  101. package/dist/components/{post-megadropdown-trigger2.js → p-4b60e5f8.js} +15 -9
  102. package/{loaders/post-menu-item2.js → dist/components/p-4bbdde2b.js} +4 -4
  103. package/dist/components/{post-avatar2.js → p-4f60823b.js} +25 -13
  104. package/dist/components/{post-collapsible-trigger2.js → p-5366ff92.js} +11 -8
  105. package/dist/components/p-54e097c7.js +199 -0
  106. package/dist/components/{post-language-switch2.js → p-61419ecc.js} +28 -16
  107. package/dist/components/{post-popover2.js → p-621f6dce.js} +21 -9
  108. package/dist/components/{post-card-control2.js → p-6d591e1c.js} +49 -18
  109. package/dist/components/{post-logo2.js → p-70e8b74f.js} +9 -6
  110. package/{loaders/post-menu2.js → dist/components/p-7202d5d4.js} +19 -36
  111. package/dist/components/p-74e13cb1.js +3 -0
  112. package/dist/components/{post-breadcrumb-item2.js → p-80478535.js} +10 -7
  113. package/dist/components/{post-back-to-top2.js → p-8b750ccb.js} +15 -11
  114. package/dist/components/p-9a726750.js +44 -0
  115. package/dist/components/{post-list-item2.js → p-9e4b1f10.js} +3 -3
  116. package/dist/components/{post-language-option2.js → p-a07e1562.js} +27 -11
  117. package/dist/components/{post-list2.js → p-a3711af3.js} +17 -8
  118. package/dist/components/{check-non-empty.js → p-b095519d.js} +1 -1
  119. package/dist/components/{post-accordion2.js → p-cf4cb17f.js} +14 -8
  120. package/dist/components/{post-rating2.js → p-d343757a.js} +23 -10
  121. package/dist/components/{post-footer2.js → p-d428a69c.js} +13 -10
  122. package/dist/components/{post-tab-panel2.js → p-db9fa77d.js} +10 -7
  123. package/dist/components/{post-tag2.js → p-e482b539.js} +20 -9
  124. package/dist/components/{index2.js → p-eabb09ad.js} +3 -3
  125. package/dist/components/{post-tabs2.js → p-efc1bc9c.js} +12 -6
  126. package/dist/components/{post-closebutton2.js → p-f5433ff7.js} +5 -5
  127. package/dist/components/p-f566dbe4.js +145 -0
  128. package/{loaders/post-popovercontainer2.js → dist/components/p-f59c8544.js} +25 -10
  129. package/{loaders/post-accordion-item2.js → dist/components/p-f60c925d.js} +22 -15
  130. package/dist/components/p-f7b9f90a.js +135 -0
  131. package/dist/components/{post-icon2.js → p-fcec301c.js} +35 -14
  132. package/dist/components/post-accordion-item.js +1 -1
  133. package/dist/components/post-accordion.js +1 -1
  134. package/dist/components/post-avatar.js +1 -1
  135. package/dist/components/post-back-to-top.js +1 -1
  136. package/dist/components/post-banner.js +1 -1
  137. package/dist/components/post-breadcrumb-item.js +1 -1
  138. package/dist/components/post-breadcrumb.js +1 -1
  139. package/dist/components/post-card-control.js +1 -1
  140. package/dist/components/post-closebutton.js +1 -1
  141. package/dist/components/post-collapsible-trigger.js +1 -1
  142. package/dist/components/post-collapsible.js +1 -1
  143. package/dist/components/post-footer.js +1 -1
  144. package/dist/components/post-header.js +1 -1
  145. package/dist/components/post-icon.js +1 -1
  146. package/dist/components/post-language-option.js +1 -1
  147. package/dist/components/post-language-switch.js +1 -1
  148. package/dist/components/post-linkarea.d.ts +11 -0
  149. package/dist/components/post-linkarea.js +6 -0
  150. package/dist/components/post-list-item.js +1 -1
  151. package/dist/components/post-list.js +1 -1
  152. package/dist/components/post-logo.js +1 -1
  153. package/dist/components/post-mainnavigation.js +1 -1
  154. package/dist/components/post-megadropdown-trigger.js +1 -1
  155. package/dist/components/post-megadropdown.js +1 -1
  156. package/dist/components/post-menu-item.js +1 -1
  157. package/dist/components/post-menu-trigger.js +1 -1
  158. package/dist/components/post-menu.js +1 -1
  159. package/dist/components/post-popover.js +1 -1
  160. package/dist/components/post-popovercontainer.js +1 -1
  161. package/dist/components/post-rating.js +1 -1
  162. package/dist/components/post-tab-header.js +1 -1
  163. package/dist/components/post-tab-panel.js +1 -1
  164. package/dist/components/post-tabs.js +1 -1
  165. package/dist/components/post-tag.js +1 -1
  166. package/dist/components/post-togglebutton.js +1 -1
  167. package/dist/components/post-tooltip.js +1 -1
  168. package/dist/docs.d.ts +8 -0
  169. package/dist/docs.json +333 -149
  170. package/dist/esm/{index-6bfe6554.js → index-2c232bf2.js} +334 -152
  171. package/dist/esm/index.js +21 -20
  172. package/dist/esm/loader.js +3 -3
  173. package/dist/esm/package-fe605ce2.js +3 -0
  174. package/dist/esm/{post-accordion-48eb17c3.js → post-accordion-27faacb3.js} +11 -5
  175. package/dist/esm/{post-accordion-item-e0893bb3.js → post-accordion-item-518d7bd0.js} +15 -8
  176. package/dist/esm/post-accordion-item.entry.js +3 -3
  177. package/dist/esm/post-accordion.entry.js +3 -3
  178. package/dist/esm/{post-avatar-20cde806.js → post-avatar-80b061df.js} +23 -11
  179. package/dist/esm/post-avatar.entry.js +3 -3
  180. package/dist/esm/post-back-to-top-531e1376.js +78 -0
  181. package/dist/esm/post-back-to-top.entry.js +3 -3
  182. package/dist/esm/post-banner-e10a3101.js +108 -0
  183. package/dist/esm/post-banner.entry.js +3 -3
  184. package/dist/esm/{post-breadcrumb-39203792.js → post-breadcrumb-54bac634.js} +15 -9
  185. package/dist/esm/post-breadcrumb-item_2.entry.js +3 -3
  186. package/dist/esm/post-breadcrumb.entry.js +3 -3
  187. package/dist/esm/{post-card-control-d2c25c96.js → post-card-control-ba354a50.js} +45 -14
  188. package/dist/esm/post-card-control.entry.js +3 -3
  189. package/dist/esm/post-closebutton_15.entry.js +3 -3
  190. package/dist/esm/{post-collapsible-trigger-2f9ad9a5.js → post-collapsible-trigger-3dbedd6e.js} +11 -5
  191. package/dist/esm/post-collapsible_2.entry.js +3 -3
  192. package/dist/esm/post-components.js +4 -4
  193. package/dist/esm/{post-footer-e804a967.js → post-footer-c73c4669.js} +8 -5
  194. package/dist/esm/post-footer.entry.js +3 -3
  195. package/dist/esm/post-linkarea-65638949.js +30 -0
  196. package/dist/esm/post-linkarea.entry.js +3 -0
  197. package/dist/esm/{post-menu-item-f9793958.js → post-menu-item-fb5afbfe.js} +8 -5
  198. package/dist/esm/{post-popover-8205412a.js → post-popover-50930237.js} +18 -6
  199. package/dist/esm/post-popover.entry.js +3 -3
  200. package/dist/esm/{post-rating-95ecb434.js → post-rating-3077bc2d.js} +21 -8
  201. package/dist/esm/post-rating.entry.js +3 -3
  202. package/dist/esm/{post-tab-header-d520b99a.js → post-tab-header-359fe858.js} +8 -5
  203. package/dist/esm/post-tab-header.entry.js +3 -3
  204. package/dist/esm/{post-tab-panel-8c8d2332.js → post-tab-panel-1209fd6f.js} +8 -5
  205. package/dist/esm/post-tab-panel.entry.js +3 -3
  206. package/dist/esm/{post-tabs-dd6dfe43.js → post-tabs-3a9acd87.js} +10 -4
  207. package/dist/esm/post-tabs.entry.js +3 -3
  208. package/dist/esm/{post-tag-593813a4.js → post-tag-c8c9b213.js} +18 -7
  209. package/dist/esm/post-tag.entry.js +3 -3
  210. package/dist/esm/{post-togglebutton-120df903.js → post-togglebutton-1e02ab7c.js} +516 -133
  211. package/dist/esm/{post-tooltip-a13d6fbb.js → post-tooltip-65892d5f.js} +17 -6
  212. package/dist/esm/post-tooltip.entry.js +3 -3
  213. package/dist/post-components/index.esm.js +1 -1
  214. package/dist/post-components/p-05d809f2.entry.js +1 -0
  215. package/dist/post-components/p-122f969e.js +1 -0
  216. package/dist/post-components/p-16c08e07.entry.js +1 -0
  217. package/dist/post-components/p-16f883f9.entry.js +1 -0
  218. package/dist/post-components/p-23a94c36.entry.js +1 -0
  219. package/dist/post-components/p-2ea6e06e.js +1 -0
  220. package/dist/post-components/p-36527185.js +1 -0
  221. package/dist/post-components/p-368cee4c.js +1 -0
  222. package/dist/post-components/p-3a408d41.entry.js +1 -0
  223. package/dist/post-components/p-43caa6b0.js +1 -0
  224. package/dist/post-components/{p-4fc83a1c.js → p-458d4560.js} +3 -3
  225. package/dist/post-components/p-52508346.entry.js +1 -0
  226. package/dist/post-components/p-54ae1f02.js +1 -0
  227. package/dist/post-components/p-55139ed4.js +1 -0
  228. package/dist/post-components/p-5a051654.entry.js +1 -0
  229. package/dist/post-components/p-5b058c27.entry.js +1 -0
  230. package/dist/post-components/p-5be385f2.js +1 -0
  231. package/dist/post-components/p-5cc36eb9.entry.js +1 -0
  232. package/dist/post-components/p-61ebfb27.js +1 -0
  233. package/dist/post-components/p-66552bf5.entry.js +1 -0
  234. package/dist/post-components/{p-a72cb18c.js → p-68defca9.js} +1 -1
  235. package/dist/post-components/p-74dbfcd3.js +1 -0
  236. package/dist/post-components/p-74e13cb1.js +1 -0
  237. package/dist/post-components/p-8abc347f.js +1 -0
  238. package/dist/post-components/p-8fe69fae.js +1 -0
  239. package/dist/post-components/p-902e52fb.entry.js +1 -0
  240. package/dist/post-components/p-9bf305da.entry.js +1 -0
  241. package/dist/post-components/{p-d6449a93.entry.js → p-a680d8b0.entry.js} +1 -1
  242. package/dist/post-components/p-a7199df3.js +1 -0
  243. package/dist/post-components/p-a7683dcd.entry.js +1 -0
  244. package/dist/post-components/p-aaef3917.js +1 -0
  245. package/dist/post-components/p-ad2a716a.entry.js +1 -0
  246. package/dist/post-components/p-b5758f64.js +1 -0
  247. package/dist/post-components/{p-92f8803c.entry.js → p-b64f5ba4.entry.js} +1 -1
  248. package/dist/post-components/p-ce4a94d4.entry.js +1 -0
  249. package/dist/post-components/p-d9833667.js +2 -0
  250. package/dist/post-components/p-dc8a4c6f.js +1 -0
  251. package/dist/post-components/p-e725b6f4.js +1 -0
  252. package/dist/post-components/p-ecc6a8fa.entry.js +1 -0
  253. package/dist/post-components/p-fed91ff7.entry.js +1 -0
  254. package/dist/post-components/post-components.esm.js +1 -1
  255. package/dist/types/components/post-header/post-header.d.ts +11 -2
  256. package/dist/types/components/post-language-switch/post-language-switch.d.ts +1 -1
  257. package/dist/types/components/post-linkarea/post-linkarea.d.ts +5 -0
  258. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +57 -3
  259. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +26 -12
  260. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +4 -0
  261. package/dist/types/components.d.ts +49 -23
  262. package/dist/types/index.d.ts +3 -2
  263. package/dist/types/stencil-public-runtime.d.ts +6 -0
  264. package/loaders/index.d.ts +2 -0
  265. package/loaders/index.js +3 -2
  266. package/loaders/{post-menu-trigger2.js → p-15877641.js} +14 -8
  267. package/loaders/p-3aba7629.js +29 -0
  268. package/loaders/p-3e8554e7.js +1646 -0
  269. package/{dist/components/post-menu-item2.js → loaders/p-4bbdde2b.js} +4 -4
  270. package/loaders/{post-icon2.js → p-51b50ca3.js} +35 -14
  271. package/loaders/{post-collapsible-trigger2.js → p-5366ff92.js} +11 -8
  272. package/loaders/{index2.js → p-56ad4838.js} +3 -3
  273. package/{dist/components/post-menu2.js → loaders/p-7202d5d4.js} +19 -36
  274. package/loaders/p-74e13cb1.js +3 -0
  275. package/loaders/{post-breadcrumb-item2.js → p-9e7120c3.js} +10 -7
  276. package/loaders/{check-non-empty.js → p-b095519d.js} +1 -1
  277. package/loaders/{post-collapsible2.js → p-c2033fcd.js} +9 -6
  278. package/{dist/components/post-accordion-item2.js → loaders/p-e57c041b.js} +22 -15
  279. package/{dist/components/post-popovercontainer2.js → loaders/p-f59c8544.js} +25 -10
  280. package/loaders/p-f7b9f90a.js +135 -0
  281. package/loaders/post-accordion-item.js +1 -1
  282. package/loaders/post-accordion.js +14 -8
  283. package/loaders/post-avatar.js +25 -13
  284. package/loaders/post-back-to-top.js +15 -11
  285. package/loaders/post-banner.js +36 -22
  286. package/loaders/post-breadcrumb-item.js +1 -1
  287. package/loaders/post-breadcrumb.js +26 -20
  288. package/loaders/post-card-control.js +49 -18
  289. package/loaders/post-closebutton.js +5 -5
  290. package/loaders/post-collapsible-trigger.js +1 -1
  291. package/loaders/post-collapsible.js +1 -1
  292. package/loaders/post-footer.js +13 -10
  293. package/loaders/post-header.js +65 -145
  294. package/loaders/post-icon.js +1 -1
  295. package/loaders/post-language-option.js +27 -11
  296. package/loaders/post-language-switch.js +28 -16
  297. package/loaders/post-linkarea.d.ts +11 -0
  298. package/loaders/post-linkarea.js +47 -0
  299. package/loaders/post-list-item.js +3 -3
  300. package/loaders/post-list.js +17 -8
  301. package/loaders/post-logo.js +9 -6
  302. package/loaders/post-mainnavigation.js +193 -9
  303. package/loaders/post-megadropdown-trigger.js +15 -9
  304. package/loaders/post-megadropdown.js +108 -51
  305. package/loaders/post-menu-item.js +1 -1
  306. package/loaders/post-menu-trigger.js +1 -1
  307. package/loaders/post-menu.js +1 -1
  308. package/loaders/post-popover.js +21 -9
  309. package/loaders/post-popovercontainer.js +1 -1
  310. package/loaders/post-rating.js +23 -10
  311. package/loaders/post-tab-header.js +11 -8
  312. package/loaders/post-tab-panel.js +10 -7
  313. package/loaders/post-tabs.js +12 -6
  314. package/loaders/post-tag.js +20 -9
  315. package/loaders/post-togglebutton.js +9 -6
  316. package/loaders/post-tooltip.js +21 -10
  317. package/package.json +10 -11
  318. package/dist/cjs/post-back-to-top-7efd1066.js +0 -76
  319. package/dist/cjs/post-banner-a6808d7d.js +0 -96
  320. package/dist/components/package.js +0 -3
  321. package/dist/components/post-banner2.js +0 -131
  322. package/dist/components/post-header2.js +0 -279
  323. package/dist/components/post-mainnavigation2.js +0 -53
  324. package/dist/components/post-megadropdown2.js +0 -111
  325. package/dist/esm/package-495dba42.js +0 -3
  326. package/dist/esm/post-back-to-top-e422c426.js +0 -74
  327. package/dist/esm/post-banner-7385397e.js +0 -94
  328. package/dist/post-components/p-0b613350.js +0 -1
  329. package/dist/post-components/p-0e216cc4.js +0 -2
  330. package/dist/post-components/p-20e1b680.js +0 -1
  331. package/dist/post-components/p-29bc8ddc.entry.js +0 -1
  332. package/dist/post-components/p-2b4c7ec7.entry.js +0 -1
  333. package/dist/post-components/p-2f327006.entry.js +0 -1
  334. package/dist/post-components/p-3632ace7.js +0 -1
  335. package/dist/post-components/p-3a978ea9.entry.js +0 -1
  336. package/dist/post-components/p-3d4fdde0.js +0 -1
  337. package/dist/post-components/p-427132e3.entry.js +0 -1
  338. package/dist/post-components/p-445dfa96.js +0 -1
  339. package/dist/post-components/p-4c0c13a9.js +0 -1
  340. package/dist/post-components/p-5384e6f4.js +0 -1
  341. package/dist/post-components/p-5630677a.entry.js +0 -1
  342. package/dist/post-components/p-5e5ee06d.entry.js +0 -1
  343. package/dist/post-components/p-68c43ef0.entry.js +0 -1
  344. package/dist/post-components/p-6e39bb59.entry.js +0 -1
  345. package/dist/post-components/p-6fede961.js +0 -1
  346. package/dist/post-components/p-72a5ee9b.js +0 -1
  347. package/dist/post-components/p-72d9d594.entry.js +0 -1
  348. package/dist/post-components/p-85bf673e.entry.js +0 -1
  349. package/dist/post-components/p-8decb072.entry.js +0 -1
  350. package/dist/post-components/p-9596c7d6.js +0 -1
  351. package/dist/post-components/p-975b30f5.js +0 -1
  352. package/dist/post-components/p-9a50697e.entry.js +0 -1
  353. package/dist/post-components/p-aaca7ca7.js +0 -1
  354. package/dist/post-components/p-ac2189b7.js +0 -1
  355. package/dist/post-components/p-afe3b28e.js +0 -1
  356. package/dist/post-components/p-b129c166.js +0 -1
  357. package/dist/post-components/p-bd49bb7e.entry.js +0 -1
  358. package/dist/post-components/p-c043686c.entry.js +0 -1
  359. package/dist/post-components/p-c8544b65.js +0 -1
  360. package/dist/post-components/p-c9f65844.entry.js +0 -1
  361. package/dist/post-components/p-f7c5b0c2.js +0 -1
  362. package/loaders/package.js +0 -3
  363. /package/dist/components/{heading-levels.js → p-247a1668.js} +0 -0
  364. /package/dist/components/{constants.js → p-440193f4.js} +0 -0
  365. /package/dist/components/{slide.js → p-4af6dbed.js} +0 -0
  366. /package/dist/components/{index.browser.js → p-5959f2bd.js} +0 -0
  367. /package/dist/components/{fade.js → p-64e3de38.js} +0 -0
  368. /package/dist/components/{check-type.js → p-8562c7dc.js} +0 -0
  369. /package/dist/components/{attribute-observer.js → p-9748a355.js} +0 -0
  370. /package/dist/components/{check-one-of.js → p-bacd3e2c.js} +0 -0
  371. /package/dist/components/{debounce.js → p-e1baac59.js} +0 -0
  372. /package/dist/components/{get-root.js → p-fc91cbc2.js} +0 -0
  373. /package/loaders/{heading-levels.js → p-247a1668.js} +0 -0
  374. /package/loaders/{constants.js → p-440193f4.js} +0 -0
  375. /package/loaders/{slide.js → p-4af6dbed.js} +0 -0
  376. /package/loaders/{index.browser.js → p-5959f2bd.js} +0 -0
  377. /package/loaders/{fade.js → p-64e3de38.js} +0 -0
  378. /package/loaders/{check-type.js → p-8562c7dc.js} +0 -0
  379. /package/loaders/{attribute-observer.js → p-9748a355.js} +0 -0
  380. /package/loaders/{check-one-of.js → p-bacd3e2c.js} +0 -0
  381. /package/loaders/{debounce.js → p-e1baac59.js} +0 -0
  382. /package/loaders/{get-root.js → p-fc91cbc2.js} +0 -0
@@ -1,32 +1,48 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { c as checkEmptyOrType } from './index2.js';
3
- import { v as version } from './package.js';
4
- import { c as checkType } from './check-type.js';
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-3e8554e7.js';
2
+ import { c as checkEmptyOrType } from './p-56ad4838.js';
3
+ import { v as version } from './p-74e13cb1.js';
4
+ import { c as checkType } from './p-8562c7dc.js';
5
5
 
6
6
  const postLanguageOptionCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */post-language-option{display:inline-block}post-language-option button{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button}post-language-option a{color:inherit;text-decoration:none}post-language-option :is(a,button){cursor:pointer;display:flex;align-items:center;justify-content:center;height:100%;width:100%;padding:var(--post-language-option-padding);border-radius:2px}post-language-option :is(a,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-language-option :is(a,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-language-option :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-language-option :is(a,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-language-option :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-language-option:where([variant=list]) :is(a,button){width:40px;height:40px}post-language-option:where([variant=list]) :is(a,button):hover{color:#504f4b}post-language-option:where([variant=list]) :is(a,button)[aria-current=true],post-language-option:where([variant=list]) :is(a,button)[aria-current=page]{background-color:#050400;color:#fff}post-language-option:where([variant=list]) :is(a,button)[aria-current=true]:hover,post-language-option:where([variant=list]) :is(a,button)[aria-current=page]:hover{background-color:#504f4b}post-language-option:where([variant=menu]){width:100%}post-language-option:where([variant=menu]) :is(a,button){padding-block:13px;padding-inline:24px;box-sizing:border-box;position:relative;left:-1px;width:calc(100% + 2px)}post-language-option:where([variant=menu]) :is(a,button)[aria-current=true]::after,post-language-option:where([variant=menu]) :is(a,button)[aria-current=page]::after{content:\"\";left:0;height:3px;background-color:#050400;width:100%;display:block;position:absolute;bottom:3px}post-language-option:where([variant=menu]) :is(a,button)[aria-current=true]:hover::after,post-language-option:where([variant=menu]) :is(a,button)[aria-current=page]:hover::after{background-color:#504f4b}post-language-option:where([variant=menu]) :is(a,button):hover{color:#504f4b}";
7
7
  const PostLanguageOptionStyle0 = postLanguageOptionCss;
8
8
 
9
- const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguageOption extends HTMLElement {
9
+ const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguageOption extends H {
10
10
  constructor() {
11
11
  super();
12
12
  this.__registerHost();
13
13
  this.postChange = createEvent(this, "postChange", 7);
14
- this.code = undefined;
15
- this.active = undefined;
16
- this.variant = undefined;
17
- this.name = undefined;
18
- this.url = undefined;
19
14
  }
20
15
  get host() { return this; }
16
+ /**
17
+ * The ISO 639 language code, formatted according to [RFC 5646 (also known as BCP 47)](https://datatracker.ietf.org/doc/html/rfc5646). For example, "de".
18
+ */
19
+ code;
21
20
  validateCode(value = this.code) {
22
21
  checkType(value, 'string', 'The "code" property of the post-language-option component must be a string.');
23
22
  }
23
+ /**
24
+ * If set to `true`, the language option is considered the current language for the page.
25
+ */
26
+ active;
24
27
  validateActiveProp(value = this.active) {
25
28
  checkEmptyOrType(value, 'boolean', 'The "active" property of the post-language-option component must be a boolean value.');
26
29
  }
30
+ /**
31
+ * The variant of the post-language-switch parent (dynamically set by the parent)
32
+ */
33
+ variant;
34
+ /**
35
+ * The full name of the language. For example, "Deutsch".
36
+ */
37
+ name;
27
38
  validateName(value = this.name) {
28
39
  checkEmptyOrType(value, 'string', 'The "name" property of the post-language-option component must be a string.');
29
40
  }
41
+ /**
42
+ * The URL used for the href attribute of the internal anchor.
43
+ * This field is optional; if not provided, a button will be used internally instead of an anchor.
44
+ */
45
+ url;
30
46
  validateUrl(value = this.url) {
31
47
  checkEmptyOrType(value, 'string', 'The "url" property of the post-language-option component must be a valid URL.');
32
48
  }
@@ -63,7 +79,7 @@ const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
63
79
  this.emitChange();
64
80
  }
65
81
  };
66
- return (h(Host, { key: '6a7c4af5ab0a953cc2c70621efc6fff905638900', "data-version": version, role: this.variant ? `${this.variant}item` : null }, this.url ? (h("a", { "aria-current": this.active ? 'page' : undefined, "aria-label": this.name, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null))) : (h("button", { "aria-current": this.active ? 'true' : undefined, "aria-label": this.name, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null)))));
82
+ return (h(Host, { key: 'eff35e907ca174aa239604d8e3c937309d306cd1', "data-version": version, role: this.variant ? `${this.variant}item` : null }, this.url ? (h("a", { "aria-current": this.active ? 'page' : undefined, "aria-label": this.name, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null))) : (h("button", { "aria-current": this.active ? 'true' : undefined, "aria-label": this.name, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null)))));
67
83
  }
68
84
  static get watchers() { return {
69
85
  "code": ["validateCode"],
@@ -1,38 +1,50 @@
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 { n as nanoid } from './index.browser.js';
5
- import { d as defineCustomElement$5 } from './post-icon2.js';
6
- import { d as defineCustomElement$4 } from './post-menu2.js';
7
- import { d as defineCustomElement$3 } from './post-menu-trigger2.js';
8
- import { d as defineCustomElement$2 } from './post-popovercontainer2.js';
9
- import { c as checkType } from './check-type.js';
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-3e8554e7.js';
2
+ import { b as checkEmptyOrOneOf } from './p-56ad4838.js';
3
+ import { v as version } from './p-74e13cb1.js';
4
+ import { n as nanoid } from './p-5959f2bd.js';
5
+ import { d as defineCustomElement$5 } from './p-51b50ca3.js';
6
+ import { d as defineCustomElement$4 } from './p-7202d5d4.js';
7
+ import { d as defineCustomElement$3 } from './p-15877641.js';
8
+ import { d as defineCustomElement$2 } from './p-f59c8544.js';
9
+ import { c as checkType } from './p-8562c7dc.js';
10
10
 
11
11
  const SWITCH_VARIANTS = ['list', 'menu'];
12
12
 
13
- const postLanguageSwitchCss = ":host{display:block}@media screen and (max-width: 1023.99px){:host{display:flex !important;gap:.5rem}}.post-language-switch-dropdown-container{display:flex;flex-direction:column}.post-language-switch-dropdown-container>*{width:100%}.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)}";
13
+ const postLanguageSwitchCss = ":host{display:block}@media screen and (max-width: 1023.98px){:host{display:flex !important;gap:.5rem}}.post-language-switch-dropdown-container{display:flex;flex-direction:column}.post-language-switch-dropdown-container>*{width:100%}.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)}";
14
14
  const PostLanguageSwitchStyle0 = postLanguageSwitchCss;
15
15
 
16
- const PostLanguageSwitch$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguageSwitch extends HTMLElement {
16
+ const PostLanguageSwitch$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguageSwitch extends H {
17
17
  constructor() {
18
18
  super();
19
19
  this.__registerHost();
20
20
  this.__attachShadow();
21
- this.caption = undefined;
22
- this.description = undefined;
23
- this.variant = 'list';
24
- this.activeLang = undefined;
25
21
  }
26
22
  get host() { return this; }
23
+ /**
24
+ * A title for the list of language options
25
+ */
26
+ caption;
27
27
  validateCaption(value = this.caption) {
28
28
  checkType(value, 'string', 'The "caption" property of the post-language-switch component must be a string.');
29
29
  }
30
+ /**
31
+ * A descriptive text for the list of language options
32
+ */
33
+ description;
30
34
  validateDescription(value = this.description) {
31
35
  checkType(value, 'string', 'The "description" property of the post-language-switch component must be a string.');
32
36
  }
37
+ /**
38
+ * Variant that determines the rendering of the language switch either as a list (used on mobile in the header) or a dropdown (used on desktop in the header)
39
+ */
40
+ variant = 'list';
33
41
  validateVariant(value = this.variant) {
34
42
  checkEmptyOrOneOf(value, SWITCH_VARIANTS, `The "variant" property of the post-language-switch component must be: ${SWITCH_VARIANTS.join(', ')}`);
35
43
  }
44
+ /**
45
+ * The active language of the language switch
46
+ */
47
+ activeLang;
36
48
  connectedCallback() {
37
49
  this.updateChildrenVariant();
38
50
  // Get the active language based on children's active state
@@ -74,7 +86,7 @@ const PostLanguageSwitch$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
74
86
  }
75
87
  menuId = `p${nanoid(11)}`;
76
88
  renderList() {
77
- return (h(Host, { "data-version": version, "aria-label": `${this.caption}, ${this.description}`, "aria-role": "list" }, h("slot", null)));
89
+ return (h(Host, { "data-version": version, "aria-label": `${this.caption}, ${this.description}`, role: "list" }, h("slot", null)));
78
90
  }
79
91
  renderDropdown() {
80
92
  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, class: "post-language-switch-dropdown-container" }, h("slot", null))));
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface PostLinkarea extends Components.PostLinkarea, HTMLElement {}
4
+ export const PostLinkarea: {
5
+ prototype: PostLinkarea;
6
+ new (): PostLinkarea;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,47 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-3e8554e7.js';
2
+ import { v as version } from './p-74e13cb1.js';
3
+
4
+ const postLinkareaCss = ":host{display:contents;cursor:pointer}";
5
+ const PostLinkareaStyle0 = postLinkareaCss;
6
+
7
+ const PostLinkarea$1 = /*@__PURE__*/ proxyCustomElement(class PostLinkarea extends H {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ }
12
+ get hostElement() { return this; }
13
+ handleClick = () => {
14
+ const customSlottedLink = this.hostElement.querySelector('a[data-link]');
15
+ const linkElement = customSlottedLink
16
+ ? customSlottedLink
17
+ : this.hostElement.querySelector('a');
18
+ if (linkElement.href) {
19
+ window.location.href = linkElement.href;
20
+ }
21
+ else {
22
+ console.error('<post-linkarea> : Your element must contain a child with a `href` property.');
23
+ }
24
+ };
25
+ render() {
26
+ return (h(Host, { key: 'fd83dca8dca965d14f5a844454e79d7fb449639d', "data-version": version, onClick: this.handleClick, tabindex: "0" }, h("slot", { key: '278537c9aabe710d118cdd6075ab506a8a4dcfe2' })));
27
+ }
28
+ static get style() { return PostLinkareaStyle0; }
29
+ }, [4, "post-linkarea"]);
30
+ function defineCustomElement$1() {
31
+ if (typeof customElements === "undefined") {
32
+ return;
33
+ }
34
+ const components = ["post-linkarea"];
35
+ components.forEach(tagName => { switch (tagName) {
36
+ case "post-linkarea":
37
+ if (!customElements.get(tagName)) {
38
+ customElements.define(tagName, PostLinkarea$1);
39
+ }
40
+ break;
41
+ } });
42
+ }
43
+
44
+ const PostLinkarea = PostLinkarea$1;
45
+ const defineCustomElement = defineCustomElement$1;
46
+
47
+ export { PostLinkarea, defineCustomElement };
@@ -1,9 +1,9 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-3e8554e7.js';
2
2
 
3
3
  const postListItemCss = ":host{display:flex}";
4
4
  const PostListItemStyle0 = postListItemCss;
5
5
 
6
- const PostListItem$1 = /*@__PURE__*/ proxyCustomElement(class PostListItem extends HTMLElement {
6
+ const PostListItem$1 = /*@__PURE__*/ proxyCustomElement(class PostListItem extends H {
7
7
  constructor() {
8
8
  super();
9
9
  this.__registerHost();
@@ -14,7 +14,7 @@ const PostListItem$1 = /*@__PURE__*/ proxyCustomElement(class PostListItem exten
14
14
  this.host.setAttribute('slot', 'post-list-item');
15
15
  }
16
16
  render() {
17
- return (h(Host, { key: 'f7b26e05f1fa8bab9909dcee305dbf74960671eb', role: "listitem", slot: "post-list-item" }, h("slot", { key: '3d75b0acf3f4a89c64c447e8d182bbc9a4f930a0' })));
17
+ return (h(Host, { key: '8e209e77859bd05d62cae41aec9dec6fb2e820cb', role: "listitem", slot: "post-list-item" }, h("slot", { key: 'ce79a335e80401465b74208957e22983d6df4ce0' })));
18
18
  }
19
19
  static get style() { return PostListItemStyle0; }
20
20
  }, [1, "post-list-item"]);
@@ -1,19 +1,28 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { v as version } from './package.js';
3
- import { n as nanoid } from './index.browser.js';
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-3e8554e7.js';
2
+ import { v as version } from './p-74e13cb1.js';
3
+ import { n as nanoid } from './p-5959f2bd.js';
4
4
 
5
5
  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}";
6
6
  const PostListStyle0 = postListCss;
7
7
 
8
- const PostList$1 = /*@__PURE__*/ proxyCustomElement(class PostList extends HTMLElement {
8
+ const PostList$1 = /*@__PURE__*/ proxyCustomElement(class PostList extends H {
9
9
  constructor() {
10
10
  super();
11
11
  this.__registerHost();
12
- this.titleId = undefined;
13
- this.titleHidden = false;
14
- this.horizontal = false;
15
12
  }
16
13
  get host() { return this; }
14
+ /**
15
+ * The unique title of the list that is also referenced in the labelledby
16
+ */
17
+ titleId;
18
+ /**
19
+ * If `true`, the list title will be hidden. Otherwise, it will be displayed.`
20
+ */
21
+ titleHidden = false;
22
+ /**
23
+ * The list can become horizontal by setting `horizontal="true"` or just `horizontal`
24
+ */
25
+ horizontal = false;
17
26
  titleEl;
18
27
  componentWillLoad() {
19
28
  /**
@@ -30,7 +39,7 @@ const PostList$1 = /*@__PURE__*/ proxyCustomElement(class PostList extends HTMLE
30
39
  }
31
40
  }
32
41
  render() {
33
- return (h(Host, { key: '70594af566e1fe34ce0b9ebe1a8cbbc868dab973', "data-version": version }, h("div", { key: '27b6c4af3d51a0d83f968ec751b6bcf46feb7d05', ref: el => (this.titleEl = el), id: this.titleId, class: `list-title${this.titleHidden ? ' visually-hidden' : ''}` }, h("slot", { key: 'a913bd018199bb031e3d96d487bd528831453387' })), h("div", { key: 'e1a3ddecc643a78f57b91cc9ccb0de6b02302a47', role: "list", "aria-labelledby": this.titleId }, h("slot", { key: 'bd7c6df300d28fe0b9f1dd3135eb42da00e731b9', name: "post-list-item" }))));
42
+ return (h(Host, { key: 'bdd973098d8b2a74635d489dca8f0f6825e31c51', "data-version": version }, h("div", { key: '9dcd6ca7069658c3e7f0d14fc130d18ebe522acb', ref: el => (this.titleEl = el), id: this.titleId, class: `list-title${this.titleHidden ? ' visually-hidden' : ''}` }, h("slot", { key: 'ad51f345b2c120796d02dbc3d6815a58addc7fb4' })), h("div", { key: '47fddd7b977c85c195757f461c0ec009270cdb8b', role: "list", "aria-labelledby": this.titleId }, h("slot", { key: '176662b40ca47b6aeeded26256bc84bdee6483a6', name: "post-list-item" }))));
34
43
  }
35
44
  static get style() { return PostListStyle0; }
36
45
  }, [4, "post-list", {
@@ -1,18 +1,21 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { v as version } from './package.js';
3
- import { e as checkEmptyOrUrl } from './index2.js';
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-3e8554e7.js';
2
+ import { v as version } from './p-74e13cb1.js';
3
+ import { e as checkEmptyOrUrl } from './p-56ad4838.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}.logo-link{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}.logo-link: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){.logo-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.logo-link: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){.logo-link:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.logo-link :focus,:focus-visible{border-radius:2px}";
6
6
  const PostLogoStyle0 = postLogoCss;
7
7
 
8
- const PostLogo$1 = /*@__PURE__*/ proxyCustomElement(class PostLogo extends HTMLElement {
8
+ const PostLogo$1 = /*@__PURE__*/ proxyCustomElement(class PostLogo extends H {
9
9
  constructor() {
10
10
  super();
11
11
  this.__registerHost();
12
12
  this.__attachShadow();
13
- this.url = undefined;
14
13
  }
15
14
  get host() { return this; }
15
+ /**
16
+ * The URL to which the user is redirected upon clicking the logo.
17
+ */
18
+ url;
16
19
  validateUrl() {
17
20
  checkEmptyOrUrl(this.url, 'The "url" property of the post-logo is invalid');
18
21
  }
@@ -28,7 +31,7 @@ const PostLogo$1 = /*@__PURE__*/ proxyCustomElement(class PostLogo extends HTMLE
28
31
  render() {
29
32
  const logoLink = this.url && (typeof this.url === 'string' ? this.url : this.url.href);
30
33
  const LogoTag = logoLink ? 'a' : 'span';
31
- return (h(Host, { key: 'c20cf7b8d3684d33cf9b85448a560a93cd4df118', "data-version": version }, h(LogoTag, { key: '16f5f647935c87124d7bf1be5dd5fb4c6d56a76f', class: `logo ${logoLink ? 'logo-link' : ''}`, ...(logoLink ? { href: logoLink } : {}) }, h("span", { key: '1373265c0c2271069c1ee540fb6d5576e67dd923', class: "description" }, h("slot", { key: 'd52c8c0d28e8292f7a30733dc195e1e1e32edf2a', onSlotchange: () => this.checkDescription() })), h("svg", { key: 'ad1c0ff356325415a1f99c4bc941895d1448801a', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, h("g", { key: 'ca8015671b16c192d44a1b48699e45ff7adc6123', id: "Logo" }, h("rect", { key: 'e862e2ea34630326ca6f6eea164f227b138d44c1', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), h("polygon", { key: 'd25e571bd67524c33c343312826e37dafedf918c', 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: 'a053c52cf9de963d52bc6a0f078a986c836b6038', 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" }))))));
34
+ return (h(Host, { key: 'd5f61d2740588571b77c9317d535b5c12c9ba996', "data-version": version }, h(LogoTag, { key: '95d19b08bae7e4137f43c0b7e345fa44ed1a6e9e', class: `logo ${logoLink ? 'logo-link' : ''}`, ...(logoLink ? { href: logoLink } : {}) }, h("span", { key: 'd7a4e97a9685ebc099e57737926d0fbe6d8ed12f', class: "description" }, h("slot", { key: '6b08a53ad00b103930f0b1aab1d305ae77feccba', onSlotchange: () => this.checkDescription() })), h("svg", { key: 'a7adc544f620325bdec5fa3fbc5a880d10a85f7e', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, h("g", { key: 'f68e9b4b0ef8b0d4b34a47a23cb4f0a0e04b5456', id: "Logo" }, h("rect", { key: 'b21a948f30baa4808182ccee37822315d87282eb', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), h("polygon", { key: '57ec911498cb069aaa80b4857447c1da3aa76959', 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: 'fed41d70f4532da5769cbc51740e21520568af7f', 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" }))))));
32
35
  }
33
36
  static get watchers() { return {
34
37
  "url": ["validateUrl"]
@@ -1,22 +1,47 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-3e8554e7.js';
2
+ import { t as throttle } from './p-f7b9f90a.js';
3
+ import { d as defineCustomElement$2 } from './p-51b50ca3.js';
2
4
 
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}post-mainnavigation .back-button post-icon{transform:rotate(180deg)}@media screen and (max-width: 1023.99px){post-mainnavigation .back-button{font-size:var(--post-core-font-size-16)}}@media screen and (max-width: 599.99px){post-mainnavigation .back-button{font-size:var(--post-core-font-size-14)}}@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)}}@media screen and (min-width: 1024px)and (max-width: 599.99px){post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{font-size:var(--post-core-font-size-14)}}@media screen and (min-width: 1024px){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:\"\";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)}}@media screen and (min-width: 1024px){post-mainnavigation post-megadropdown button:not(.btn-icon-close),post-mainnavigation post-megadropdown a{width:100%;height:var(--post-core-dimension-48);padding-inline-end:calc(var(--post-core-dimension-6) + var(--post-core-dimension-24) + var(--post-core-dimension-16));gap:var(--post-core-dimension-16);font-weight:var(--post-core-font-weight-400);position:relative}post-mainnavigation post-megadropdown button:not(.btn-icon-close)::before,post-mainnavigation post-megadropdown a::before{content:\"\";background-color:currentColor;bottom:0;width:100%;height:var(--post-core-dimension-1);position:absolute;left:0}post-mainnavigation post-megadropdown button:not(.btn-icon-close):hover::before,post-mainnavigation post-megadropdown a:hover::before{height:var(--post-core-dimension-3)}post-mainnavigation post-megadropdown button:not(.btn-icon-close):hover::after,post-mainnavigation post-megadropdown a:hover::after{content:\"\";display:block;margin-right:calc((var(--post-core-dimension-24) + var(--post-core-dimension-16))*-1);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='m31.95 16-9.11 9.11c-.2.2-.45.29-.71.29s-.51-.1-.71-.29a.996.996 0 0 1 0-1.41l6.69-6.69H-.05v-2h28.17l-6.69-6.69a.996.996 0 1 1 1.41-1.41l9.11 9.11Z'%3E%3C/path%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;width:var(--post-core-dimension-20);min-width:var(--post-core-dimension-20);height:var(--post-core-dimension-20)}}@media screen and (min-width: 1024px){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:calc(var(--post-core-dimension-6) + var(--post-core-dimension-24) + var(--post-core-dimension-16));gap:var(--post-core-dimension-16);font-weight:var(--post-core-font-weight-400);position:relative}post-mainnavigation post-list-item>a::before,post-mainnavigation post-list-item>button::before,post-mainnavigation post-list-item post-megadropdown-trigger button::before{content:\"\";background-color:currentColor;bottom:0;width:100%;height:var(--post-core-dimension-1);position:absolute;left:0}post-mainnavigation post-list-item>a:hover::before,post-mainnavigation post-list-item>button:hover::before,post-mainnavigation post-list-item post-megadropdown-trigger button:hover::before{height: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;margin-right:calc((var(--post-core-dimension-24) + var(--post-core-dimension-16))*-1);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='m31.95 16-9.11 9.11c-.2.2-.45.29-.71.29s-.51-.1-.71-.29a.996.996 0 0 1 0-1.41l6.69-6.69H-.05v-2h28.17l-6.69-6.69a.996.996 0 1 1 1.41-1.41l9.11 9.11Z'%3E%3C/path%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;width:var(--post-core-dimension-20);min-width:var(--post-core-dimension-20);height:var(--post-core-dimension-20)}}post-mainnavigation .back-button .btn{padding-inline:0}";
5
+ const postMainnavigationCss = "post-mainnavigation{flex:0 0 auto}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 post-megadropdown-trigger button{flex:0 0 fit-content;white-space:nowrap;display:flex;align-items:center;justify-content:space-between}post-mainnavigation post-list-item>a: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 post-megadropdown-trigger button:focus-visible{border-radius:var(--post-core-dimension-4)}post-mainnavigation .back-button post-icon{transform:rotate(180deg)}@media screen and (max-width: 1023.98px){post-mainnavigation .back-button{font-size:var(--post-core-font-size-16)}}@media screen and (max-width: 599.98px){post-mainnavigation .back-button{font-size:var(--post-core-font-size-14)}}@media screen and (min-width: 1024px){post-mainnavigation{display:block}post-mainnavigation nav{max-width:100vw;background:var(--post-core-color-brand-white);max-height:var(--main-navigation-height);user-select:none;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation .left-scroll-button,post-mainnavigation .right-scroll-button{position:absolute;inset-block:0;overflow:hidden}post-mainnavigation .left-scroll-button button,post-mainnavigation .right-scroll-button button{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;background:var(--post-core-color-brand-white);padding:var(--post-core-dimension-16);box-shadow:var(--post-core-elevation-5);line-height:var(--post-core-line-height-100);height:100%}post-mainnavigation .left-scroll-button button post-icon,post-mainnavigation .right-scroll-button button post-icon{font-size:1rem}post-mainnavigation .left-scroll-button{inset-inline-start:0;padding-inline-end:2rem}post-mainnavigation .right-scroll-button{inset-inline-end:0;padding-inline-start:2rem}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{position:sticky;padding-inline:var(--post-core-dimension-12);height:var(--main-navigation-height);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}}@media screen and (min-width: 1024px)and (max-width: 1023.98px){post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{z-index:3}}@media screen and (min-width: 1024px)and (min-width: 1024px){post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{z-index:4}}@media screen and (min-width: 1024px){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)}}@media screen and (min-width: 1024px){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)}}@media screen and (min-width: 1024px)and (max-width: 599.98px){post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{font-size:var(--post-core-font-size-14)}}@media screen and (min-width: 1024px){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:\"\";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)}}@media screen and (min-width: 1024px){post-mainnavigation post-megadropdown button:not(.btn-icon-close),post-mainnavigation post-megadropdown a{width:100%;min-width:100%;height:var(--post-core-dimension-48);padding-inline-end:calc(var(--post-core-dimension-6) + var(--post-core-dimension-24) + var(--post-core-dimension-16));gap:var(--post-core-dimension-16);font-weight:var(--post-core-font-weight-400);position:relative}post-mainnavigation post-megadropdown button:not(.btn-icon-close)::before,post-mainnavigation post-megadropdown a::before{content:\"\";background-color:currentColor;bottom:0;width:100%;height:var(--post-core-dimension-1);position:absolute;left:0}post-mainnavigation post-megadropdown button:not(.btn-icon-close):hover::before,post-mainnavigation post-megadropdown a:hover::before{height:var(--post-core-dimension-3)}post-mainnavigation post-megadropdown button:not(.btn-icon-close):hover::after,post-mainnavigation post-megadropdown a:hover::after{content:\"\";display:block;margin-right:calc((var(--post-core-dimension-24) + var(--post-core-dimension-16))*-1);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='m31.95 16-9.11 9.11c-.2.2-.45.29-.71.29s-.51-.1-.71-.29a.996.996 0 0 1 0-1.41l6.69-6.69H-.05v-2h28.17l-6.69-6.69a.996.996 0 1 1 1.41-1.41l9.11 9.11Z'%3E%3C/path%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;width:var(--post-core-dimension-20);min-width:var(--post-core-dimension-20);height:var(--post-core-dimension-20)}}@media screen and (min-width: 1024px){post-mainnavigation [slot=back-button]{display:none}}@media screen and (max-width: 1023.98px){post-mainnavigation nav{transform:none !important}post-mainnavigation .left-scroll-button,post-mainnavigation .right-scroll-button{display:none}post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{width:100%;min-width:100%;height:var(--post-core-dimension-48);padding-inline-end:calc(var(--post-core-dimension-6) + var(--post-core-dimension-24) + var(--post-core-dimension-16));gap:var(--post-core-dimension-16);font-weight:var(--post-core-font-weight-400);position:relative}post-mainnavigation post-list-item>a::before,post-mainnavigation post-list-item>button::before,post-mainnavigation post-list-item post-megadropdown-trigger button::before{content:\"\";background-color:currentColor;bottom:0;width:100%;height:var(--post-core-dimension-1);position:absolute;left:0}post-mainnavigation post-list-item>a:hover::before,post-mainnavigation post-list-item>button:hover::before,post-mainnavigation post-list-item post-megadropdown-trigger button:hover::before{height: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;margin-right:calc((var(--post-core-dimension-24) + var(--post-core-dimension-16))*-1);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='m31.95 16-9.11 9.11c-.2.2-.45.29-.71.29s-.51-.1-.71-.29a.996.996 0 0 1 0-1.41l6.69-6.69H-.05v-2h28.17l-6.69-6.69a.996.996 0 1 1 1.41-1.41l9.11 9.11Z'%3E%3C/path%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;width:var(--post-core-dimension-20);min-width:var(--post-core-dimension-20);height:var(--post-core-dimension-20)}}post-mainnavigation .back-button .btn{padding-inline:0}";
4
6
  const PostMainnavigationStyle0 = postMainnavigationCss;
5
7
 
6
- const PostMainnavigation$1 = /*@__PURE__*/ proxyCustomElement(class PostMainnavigation extends HTMLElement {
8
+ const SCROLL_REPEAT_INTERVAL = 100; // Interval for repeated scrolling when holding down scroll button
9
+ const NAVBAR_DISABLE_DURATION = 400; // Duration to temporarily disable navbar interactions during scrolling
10
+ const NAVIGATION_LIST_SELECTOR = 'post-list:not(post-megadropdown *) > [role="list"]';
11
+ const NAVIGATION_ITEM_SELECTOR = ':is(post-list-item > a, post-list-item > post-megadropdown-trigger > button):not(post-megadropdown *)';
12
+ const PostMainnavigation$1 = /*@__PURE__*/ proxyCustomElement(class PostMainnavigation extends H {
7
13
  constructor() {
8
14
  super();
9
15
  this.__registerHost();
10
- this.postToggle = createEvent(this, "postToggle", 7);
11
16
  }
12
17
  header;
18
+ navbar;
19
+ rightScrollButton;
20
+ leftScrollButton;
21
+ scrollRepeatInterval;
22
+ navbarDisableTimer;
23
+ mutationObserver = new MutationObserver(async (mutations) => {
24
+ // Wait for all elements to be hydrated
25
+ await Promise.all(mutations
26
+ .flatMap((mutation) => Array.from(mutation.addedNodes))
27
+ .map((item) => item.componentOnReady ? item.componentOnReady() : Promise.resolve(item)));
28
+ // Recalculate scrollability after DOM changes
29
+ this.checkScrollability();
30
+ });
13
31
  get host() { return this; }
32
+ canScrollLeft = false;
33
+ canScrollRight = false;
34
+ translateAmount = 0;
14
35
  /**
15
- * Gets emitted when a user closes the main navigation on mobile
36
+ * Update navbar translation when 'translateAmount' changes and recalculate scrollability
16
37
  */
17
- postToggle;
38
+ onTranslateAmountChanges(value) {
39
+ this.navbar.style.transform = `translateX(-${value}px)`;
40
+ this.checkScrollability();
41
+ }
18
42
  /**
19
43
  * Retrieves a reference to the closest 'post-header' element when the main navigation is added to the DOM.
44
+ * This ensures that we can interact with the header for mobile menu toggling.
20
45
  */
21
46
  connectedCallback() {
22
47
  this.header = this.host.closest('post-header');
@@ -26,27 +51,186 @@ const PostMainnavigation$1 = /*@__PURE__*/ proxyCustomElement(class PostMainnavi
26
51
  */
27
52
  disconnectedCallback() {
28
53
  this.header = null;
54
+ this.mutationObserver.disconnect();
55
+ }
56
+ componentDidLoad() {
57
+ setTimeout(() => this.checkScrollability()); // Initial check to determine if scrolling is needed
58
+ this.mutationObserver.observe(this.navigationList, { subtree: true, childList: true }); // Recheck scrollability when navigation list changes
59
+ window.addEventListener('resize', // Recheck scrollability on window resize
60
+ throttle(100, () => this.checkScrollability()));
61
+ // Handle focus changes and adjust scroll as needed
62
+ this.navbar.addEventListener('focusin', e => this.adjustTranslation(e));
29
63
  }
30
64
  handleBackButtonClick() {
31
65
  if (this.header)
32
66
  this.header.toggleMobileMenu();
33
67
  }
68
+ /**
69
+ * Moves focus on the navbar and adjusts scrolling to bring focused element into view.
70
+ */
71
+ adjustTranslation(e) {
72
+ const focusedElement = e.target;
73
+ if (!this.canScroll || !focusedElement.matches(NAVIGATION_ITEM_SELECTOR))
74
+ return;
75
+ // We need to move the element into the view before it is focused to avoid browser default behavior
76
+ e.preventDefault();
77
+ this.withoutTransition(() => {
78
+ // Try scrolling in both directions, only the necessary translation will actually occur
79
+ this.translateRightTo(focusedElement);
80
+ this.translateLeftTo(focusedElement);
81
+ focusedElement.focus();
82
+ });
83
+ }
84
+ /**
85
+ * Checks if scrolling is possible in either direction (left or right) and updates the state accordingly.
86
+ */
87
+ checkScrollability() {
88
+ const { scrollWidth, clientWidth } = this.navbar;
89
+ const couldScroll = this.canScroll;
90
+ if (scrollWidth === clientWidth) {
91
+ // If scroll width equals client width, scrolling is disabled in both directions
92
+ this.canScrollLeft = this.canScrollRight = false;
93
+ }
94
+ else {
95
+ this.canScrollLeft = this.translateAmount !== 0; // Scrolling left is possible if not at the start
96
+ this.canScrollRight = clientWidth + this.translateAmount !== scrollWidth; // Scrolling right is possible if not at the end
97
+ }
98
+ if (couldScroll && !this.canScroll) {
99
+ this.withoutTransition(() => (this.translateAmount = 0));
100
+ }
101
+ }
102
+ /**
103
+ * Returns whether scrolling is enabled in either the left or right direction.
104
+ */
105
+ get canScroll() {
106
+ return this.canScrollLeft || this.canScrollRight;
107
+ }
108
+ /**
109
+ * Handles the scrolling behavior when a user clicks on the left or right scroll buttons.
110
+ */
111
+ handleScrollButtonClick(direction) {
112
+ if (!this.canScroll)
113
+ return;
114
+ // Disable interaction with the navbar during scrolling
115
+ this.disableNavbar();
116
+ // Perform the initial scroll action
117
+ this.scroll(direction);
118
+ // Repeat the scrolling action while the button is held down
119
+ this.scrollRepeatInterval = setInterval(() => {
120
+ this.scroll(direction);
121
+ }, SCROLL_REPEAT_INTERVAL);
122
+ }
123
+ /**
124
+ * Stops the repeated scrolling when the mouse button is released.
125
+ */
126
+ stopScrolling() {
127
+ if (this.scrollRepeatInterval)
128
+ clearInterval(this.scrollRepeatInterval);
129
+ }
130
+ scroll(direction) {
131
+ const navigationItems = Array.from(this.navigationItems);
132
+ if (direction === 'left')
133
+ navigationItems.reverse();
134
+ for (const item of navigationItems) {
135
+ const couldScroll = direction === 'left' ? this.translateLeftTo(item) : this.translateRightTo(item);
136
+ if (couldScroll)
137
+ break;
138
+ }
139
+ }
140
+ translateRightTo(navigationItem) {
141
+ const itemRightEdgePosition = navigationItem.offsetLeft + navigationItem.offsetWidth + this.getFocusMargin(navigationItem);
142
+ const lastVisiblePosition = this.navbar.clientWidth + this.translateAmount;
143
+ // If the item is already fully visible, don't scroll
144
+ if (itemRightEdgePosition < lastVisiblePosition)
145
+ return false;
146
+ const maxTranslateAmount = this.navbar.scrollWidth - this.navbar.clientWidth;
147
+ const newRightEdgePosition = itemRightEdgePosition + this.rightScrollButton.clientWidth - this.navbar.clientWidth;
148
+ this.translateAmount = Math.min(maxTranslateAmount, newRightEdgePosition);
149
+ return true;
150
+ }
151
+ translateLeftTo(navigationItem) {
152
+ const itemLeftEdgePosition = navigationItem.offsetLeft - this.getFocusMargin(navigationItem);
153
+ const firstVisiblePosition = this.translateAmount;
154
+ // If the item is already fully visible, don't scroll
155
+ if (itemLeftEdgePosition > firstVisiblePosition)
156
+ return false;
157
+ const minTranslateAmount = 0;
158
+ const newRightEdgePosition = itemLeftEdgePosition - this.leftScrollButton.clientWidth;
159
+ this.translateAmount = Math.max(minTranslateAmount, newRightEdgePosition);
160
+ return true;
161
+ }
162
+ /**
163
+ * Calculate the margin required for focus outline around navigation items
164
+ */
165
+ getFocusMargin(navigationItem) {
166
+ const { outlineWidth, outlineOffset } = getComputedStyle(navigationItem);
167
+ return parseInt(outlineWidth) + parseInt(outlineOffset) + 1;
168
+ }
169
+ /**
170
+ * Returns the navigation list container element
171
+ */
172
+ get navigationList() {
173
+ return this.navbar.querySelector(NAVIGATION_LIST_SELECTOR);
174
+ }
175
+ /**
176
+ * Returns the navigation items
177
+ */
178
+ get navigationItems() {
179
+ return this.navbar.querySelectorAll(NAVIGATION_ITEM_SELECTOR);
180
+ }
181
+ /**
182
+ * Temporarily disables interactions with the navbar during scrolling to prevent accidental clicks.
183
+ * Re-enables interactions after a brief delay to avoid blocking the user entirely.
184
+ */
185
+ disableNavbar() {
186
+ if (this.navbarDisableTimer)
187
+ clearTimeout(this.navbarDisableTimer);
188
+ this.navbar.style.pointerEvents = 'none';
189
+ this.navbarDisableTimer = setTimeout(() => {
190
+ this.navbar.style.pointerEvents = 'initial';
191
+ }, NAVBAR_DISABLE_DURATION);
192
+ }
193
+ /**
194
+ * Allows to translate the navbar without a transition
195
+ */
196
+ withoutTransition(callback) {
197
+ const transition = this.navbar.style.transition;
198
+ this.navbar.style.transition = 'none';
199
+ callback();
200
+ setTimeout(() => {
201
+ this.navbar.style.transition = transition;
202
+ });
203
+ }
34
204
  render() {
35
- return (h(Host, { key: '23d1cc3919d15543bf409e8fa25be02973532a12', slot: "post-mainnavigation" }, h("div", { key: '8d35b8b7715fbac387361706a03a10e4af481301', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: '01899ddef2cdc321ff7383eec310877335e951a7', name: "back-button" })), h("nav", { key: '3237225f2608b28355e669e11189ba1ccc9c593a' }, h("slot", { key: '32105f3acf726a590631896c707a2149706a90d5' }))));
205
+ return (h(Host, { key: '3280c55d0f8e7aec6e1dc3f59744114b2557cb04', slot: "post-mainnavigation" }, h("div", { key: '446ede19ef62a21022a771edb8a6e8eb30a5c5d3', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: '5e923b62133d3452676445349624157fd7d3d957', name: "back-button" })), h("nav", { key: 'd67723ba6b42ec2b083197091ec7226dc258897e', ref: el => (this.navbar = el) }, h("slot", { key: 'ea1a0fd7f76e02b89789713a49fc4d7fd6e8a022' })), h("div", { key: '1a3d640acfe23ae5c5f9ab26a7bca9c3c2bc4434', class: `left-scroll-button${this.canScrollLeft ? '' : ' d-none'}`, "aria-hidden": "true" }, h("button", { key: 'a3260bba8104bf9155120e04fed6ba0aa102e529', type: "button", tabindex: "-1", ref: el => (this.leftScrollButton = el), onMouseDown: () => this.handleScrollButtonClick('left') }, h("post-icon", { key: '0bba0a76f93098267be8432636391641f55d5df8', "aria-hidden": "true", name: "chevronleft" }))), h("div", { key: '401ef6821f258737d17ed54ae1c577cc4783a3f9', class: `right-scroll-button${this.canScrollRight ? '' : ' d-none'}`, "aria-hidden": "true" }, h("button", { key: 'd964f4b74ad8fef86115b12fcda12cc54da936f3', type: "button", tabindex: "-1", ref: el => (this.rightScrollButton = el), onMouseDown: () => this.handleScrollButtonClick('right') }, h("post-icon", { key: '5758f48df24b4a3ea241f43464b448878e31977d', "aria-hidden": "true", name: "chevronright" })))));
36
206
  }
207
+ static get watchers() { return {
208
+ "translateAmount": ["onTranslateAmountChanges"]
209
+ }; }
37
210
  static get style() { return PostMainnavigationStyle0; }
38
- }, [4, "post-mainnavigation"]);
211
+ }, [4, "post-mainnavigation", {
212
+ "canScrollLeft": [32],
213
+ "canScrollRight": [32],
214
+ "translateAmount": [32]
215
+ }, [[9, "mouseup", "stopScrolling"]], {
216
+ "translateAmount": ["onTranslateAmountChanges"]
217
+ }]);
39
218
  function defineCustomElement$1() {
40
219
  if (typeof customElements === "undefined") {
41
220
  return;
42
221
  }
43
- const components = ["post-mainnavigation"];
222
+ const components = ["post-mainnavigation", "post-icon"];
44
223
  components.forEach(tagName => { switch (tagName) {
45
224
  case "post-mainnavigation":
46
225
  if (!customElements.get(tagName)) {
47
226
  customElements.define(tagName, PostMainnavigation$1);
48
227
  }
49
228
  break;
229
+ case "post-icon":
230
+ if (!customElements.get(tagName)) {
231
+ defineCustomElement$2();
232
+ }
233
+ break;
50
234
  } });
51
235
  }
52
236