@swisspost/design-system-components 10.3.0 → 10.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/dist/cjs/breakpoints-Kruvy8Dm.js +47 -0
  2. package/dist/cjs/{create-validator-decorator-BchTP-YG.js → create-validator-decorator-u-Byhihe.js} +1 -1
  3. package/dist/cjs/{event-from-CwMw19f8.js → event-from-CTcQxB9-.js} +19 -13
  4. package/dist/cjs/{index-BDBlw92l.js → index-CXnlZiX8.js} +1 -1
  5. package/dist/cjs/{breakpoints-B0Olgvgc.js → index-CggFmZ8n.js} +0 -42
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/{one-of-IgKJFMA_.js → one-of-LGG0uEIi.js} +1 -1
  8. package/dist/cjs/{package-uiAqYqcY.js → package-DdU-rENe.js} +1 -1
  9. package/dist/cjs/{pattern-BCnL1qK3.js → pattern-B-csvfNt.js} +1 -1
  10. package/dist/cjs/post-accordion_2.cjs.entry.js +7 -7
  11. package/dist/cjs/post-autocomplete.cjs.entry.js +70 -55
  12. package/dist/cjs/post-avatar.cjs.entry.js +7 -7
  13. package/dist/cjs/post-back-to-top.cjs.entry.js +25 -13
  14. package/dist/cjs/post-banner.cjs.entry.js +6 -13
  15. package/dist/cjs/post-breadcrumb-item.cjs.entry.js +18 -10
  16. package/dist/cjs/post-breadcrumbs.cjs.entry.js +118 -66
  17. package/dist/cjs/post-closebutton_14.cjs.entry.js +413 -218
  18. package/dist/cjs/post-collapsible_2.cjs.entry.js +8 -8
  19. package/dist/cjs/post-components.cjs.js +2 -2
  20. package/dist/cjs/post-date-picker.cjs.entry.js +38 -15
  21. package/dist/cjs/post-footer.cjs.entry.js +13 -10
  22. package/dist/cjs/post-linkarea.cjs.entry.js +3 -3
  23. package/dist/cjs/post-listbox-option.cjs.entry.js +4 -4
  24. package/dist/cjs/post-listbox.cjs.entry.js +6 -6
  25. package/dist/cjs/post-number-input.cjs.entry.js +8 -7
  26. package/dist/cjs/post-pagination.cjs.entry.js +7 -7
  27. package/dist/cjs/post-popover-trigger.cjs.entry.js +7 -7
  28. package/dist/cjs/post-popover.cjs.entry.js +10 -10
  29. package/dist/cjs/post-progressbar.cjs.entry.js +5 -5
  30. package/dist/cjs/post-rating.cjs.entry.js +7 -7
  31. package/dist/cjs/post-side-navigation-trigger.cjs.entry.js +8 -8
  32. package/dist/cjs/post-side-navigation.cjs.entry.js +19 -10
  33. package/dist/cjs/post-stepper-item.cjs.entry.js +3 -3
  34. package/dist/cjs/post-stepper.cjs.entry.js +8 -8
  35. package/dist/cjs/post-tab-item.cjs.entry.js +7 -7
  36. package/dist/cjs/post-tab-panel.cjs.entry.js +7 -7
  37. package/dist/cjs/post-tabs.cjs.entry.js +9 -9
  38. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +7 -7
  39. package/dist/cjs/post-tooltip.cjs.entry.js +7 -7
  40. package/dist/cjs/{required-BXiinq5t.js → required-bJzxBV-V.js} +1 -1
  41. package/dist/cjs/{type-l3fnHs_E.js → type-CGPnqGY1.js} +1 -1
  42. package/dist/cjs/{url-Dmn5zP5b.js → url-Dxdd6tWj.js} +1 -1
  43. package/dist/collection/components/post-autocomplete/post-autocomplete.js +65 -50
  44. package/dist/collection/components/post-back-to-top/post-back-to-top.js +19 -7
  45. package/dist/collection/components/post-banner/post-banner.js +2 -17
  46. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -1
  47. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +29 -1
  48. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
  49. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +113 -61
  50. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
  51. package/dist/collection/components/post-closebutton/post-closebutton.js +7 -8
  52. package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
  53. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +1 -1
  54. package/dist/collection/components/post-date-picker/post-date-picker.css +7 -3
  55. package/dist/collection/components/post-date-picker/post-date-picker.js +31 -8
  56. package/dist/collection/components/post-footer/post-footer.css +1 -1
  57. package/dist/collection/components/post-footer/post-footer.js +6 -3
  58. package/dist/collection/components/post-header/post-header.css +1 -1
  59. package/dist/collection/components/post-header/post-header.js +2 -2
  60. package/dist/collection/components/post-icon/post-icon.js +1 -1
  61. package/dist/collection/components/post-language-menu/post-language-menu.css +1 -1
  62. package/dist/collection/components/post-language-menu/post-language-menu.js +19 -1
  63. package/dist/collection/components/post-linkarea/post-linkarea.js +1 -1
  64. package/dist/collection/components/post-listbox/post-listbox.js +2 -2
  65. package/dist/collection/components/post-listbox-option/post-listbox-option.js +2 -2
  66. package/dist/collection/components/post-logo/post-logo.js +1 -1
  67. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  68. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +1 -1
  69. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  70. package/dist/collection/components/post-megadropdown/post-megadropdown.js +1 -1
  71. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  72. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +1 -1
  73. package/dist/collection/components/post-menu/post-menu.css +1 -1
  74. package/dist/collection/components/post-menu/post-menu.js +23 -8
  75. package/dist/collection/components/post-menu-item/post-menu-item.css +1 -1
  76. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +1 -1
  77. package/dist/collection/components/post-number-input/post-number-input.css +1 -1
  78. package/dist/collection/components/post-number-input/post-number-input.js +2 -2
  79. package/dist/collection/components/post-pagination/post-pagination.css +1 -1
  80. package/dist/collection/components/post-popover/post-popover.css +1 -1
  81. package/dist/collection/components/post-popover/post-popover.js +3 -3
  82. package/dist/collection/components/post-popover-trigger/post-popover-trigger.js +2 -2
  83. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +47 -23
  84. package/dist/collection/components/post-progressbar/post-progressbar.js +1 -1
  85. package/dist/collection/components/post-rating/post-rating.js +1 -1
  86. package/dist/collection/components/post-side-navigation/post-side-navigation.css +1 -1
  87. package/dist/collection/components/post-side-navigation/post-side-navigation.js +11 -2
  88. package/dist/collection/components/post-side-navigation-trigger/post-side-navigation-trigger.js +1 -1
  89. package/dist/collection/components/post-stepper/post-stepper.js +1 -1
  90. package/dist/collection/components/post-stepper-item/post-stepper-item.js +1 -1
  91. package/dist/collection/components/post-tab-item/post-tab-item.js +2 -2
  92. package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
  93. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  94. package/dist/collection/components/post-tabs/post-tabs.js +2 -2
  95. package/dist/collection/components/post-togglebutton/post-togglebutton.js +1 -1
  96. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  97. package/dist/collection/components/post-tooltip/post-tooltip.js +2 -2
  98. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +1 -1
  99. package/dist/collection/utils/breakpoints.js +11 -9
  100. package/dist/collection/utils/closable-target.js +38 -0
  101. package/dist/collection/utils/event-from.js +18 -13
  102. package/dist/collection/utils/floating-ui.js +72 -0
  103. package/dist/collection/utils/index.js +1 -0
  104. package/dist/components/breakpoints.js +1 -1
  105. package/dist/components/event-from.js +1 -1
  106. package/dist/components/index2.js +1 -0
  107. package/dist/components/package.js +1 -1
  108. package/dist/components/post-autocomplete.js +1 -1
  109. package/dist/components/post-back-to-top.js +1 -1
  110. package/dist/components/post-banner.js +1 -1
  111. package/dist/components/post-breadcrumb-item.js +1 -1
  112. package/dist/components/post-breadcrumbs.js +1 -1
  113. package/dist/components/post-closebutton2.js +1 -1
  114. package/dist/components/post-collapsible-trigger2.js +1 -1
  115. package/dist/components/post-collapsible2.js +1 -1
  116. package/dist/components/post-date-picker.js +1 -1
  117. package/dist/components/post-footer.js +1 -1
  118. package/dist/components/post-header.js +1 -1
  119. package/dist/components/post-icon2.js +1 -1
  120. package/dist/components/post-language-menu.js +1 -1
  121. package/dist/components/post-linkarea.js +1 -1
  122. package/dist/components/post-listbox-option.js +1 -1
  123. package/dist/components/post-listbox.js +1 -1
  124. package/dist/components/post-logo.js +1 -1
  125. package/dist/components/post-mainnavigation.js +1 -1
  126. package/dist/components/post-megadropdown-trigger.js +1 -1
  127. package/dist/components/post-megadropdown.js +1 -1
  128. package/dist/components/post-menu-item2.js +1 -1
  129. package/dist/components/post-menu-trigger2.js +1 -1
  130. package/dist/components/post-menu2.js +1 -1
  131. package/dist/components/post-number-input.js +1 -1
  132. package/dist/components/post-pagination.js +1 -1
  133. package/dist/components/post-popover-trigger.js +1 -1
  134. package/dist/components/post-popover.js +1 -1
  135. package/dist/components/post-popovercontainer2.js +1 -1
  136. package/dist/components/post-progressbar.js +1 -1
  137. package/dist/components/post-rating.js +1 -1
  138. package/dist/components/post-side-navigation-trigger.js +1 -1
  139. package/dist/components/post-side-navigation.js +1 -1
  140. package/dist/components/post-stepper-item.js +1 -1
  141. package/dist/components/post-stepper.js +1 -1
  142. package/dist/components/post-tab-item.js +1 -1
  143. package/dist/components/post-tab-panel.js +1 -1
  144. package/dist/components/post-tabs.js +1 -1
  145. package/dist/components/post-togglebutton2.js +1 -1
  146. package/dist/components/post-tooltip-trigger.js +1 -1
  147. package/dist/components/post-tooltip.js +1 -1
  148. package/dist/components/react/index.js +1 -1
  149. package/dist/components/react/p-0nNMdSBr.js +1 -0
  150. package/dist/components/react/p-5LuCes5o.js +1 -0
  151. package/dist/components/react/{p-4wtxqxXu.js → p-B2jsM_Ov.js} +1 -1
  152. package/dist/components/react/p-BEcxHjuM.js +1 -0
  153. package/dist/{post-components/p-CveORA5D.js → components/react/p-BdLRXQqY.js} +1 -1
  154. package/dist/components/react/{p-CRQE_mDo.js → p-C8vlYfD-.js} +1 -1
  155. package/dist/components/react/{p-CWFoQ-cx.js → p-CLeWLMJn.js} +1 -1
  156. package/dist/components/react/p-CVVXnYLU.js +1 -0
  157. package/dist/components/react/p-CnN4Jdtv.js +1 -0
  158. package/dist/components/react/{p-BUtt9Sij.js → p-CoCua20S.js} +1 -1
  159. package/dist/components/react/p-CuVhOs8F.js +1 -0
  160. package/dist/components/react/{p-DmN8JwRm.js → p-D3rq_-Qk.js} +1 -1
  161. package/dist/components/react/{p-Bj1LK-jg.js → p-DD-Sl3Ji.js} +1 -1
  162. package/dist/components/react/{p-Dr0r5iBG.js → p-DasK590W.js} +1 -1
  163. package/dist/components/react/p-DeO0rZ1T.js +1 -0
  164. package/dist/components/react/p-DiFAKI9o.js +1 -0
  165. package/dist/components/react/p-Ny5VnydI.js +1 -0
  166. package/dist/components/react/{p-DRQB0V8-.js → p-PYoaz_Xl.js} +1 -1
  167. package/dist/components/react/p-SBBBSmJM.js +1 -0
  168. package/dist/components/react/p-bR8vy6-s.js +1 -0
  169. package/dist/components/react/post-accordion-item.js +1 -1
  170. package/dist/components/react/post-accordion.js +1 -1
  171. package/dist/components/react/post-autocomplete.js +1 -1
  172. package/dist/components/react/post-avatar.js +1 -1
  173. package/dist/components/react/post-back-to-top.js +1 -1
  174. package/dist/components/react/post-banner.js +1 -1
  175. package/dist/components/react/post-breadcrumb-item.js +1 -1
  176. package/dist/components/react/post-breadcrumbs.js +1 -1
  177. package/dist/components/react/post-closebutton.js +1 -1
  178. package/dist/components/react/post-collapsible-trigger.js +1 -1
  179. package/dist/components/react/post-collapsible.js +1 -1
  180. package/dist/components/react/post-date-picker.js +1 -1
  181. package/dist/components/react/post-footer.js +1 -1
  182. package/dist/components/react/post-header.js +1 -1
  183. package/dist/components/react/post-icon.js +1 -1
  184. package/dist/components/react/post-language-menu-item.js +1 -1
  185. package/dist/components/react/post-language-menu.js +1 -1
  186. package/dist/components/react/post-linkarea.js +1 -1
  187. package/dist/components/react/post-listbox-option.js +1 -1
  188. package/dist/components/react/post-listbox.js +1 -1
  189. package/dist/components/react/post-logo.js +1 -1
  190. package/dist/components/react/post-mainnavigation.js +1 -1
  191. package/dist/components/react/post-megadropdown-trigger.js +1 -1
  192. package/dist/components/react/post-megadropdown.js +1 -1
  193. package/dist/components/react/post-menu-item.js +1 -1
  194. package/dist/components/react/post-menu-trigger.js +1 -1
  195. package/dist/components/react/post-menu.js +1 -1
  196. package/dist/components/react/post-number-input.js +1 -1
  197. package/dist/components/react/post-pagination.js +1 -1
  198. package/dist/components/react/post-popover-trigger.js +1 -1
  199. package/dist/components/react/post-popover.js +1 -1
  200. package/dist/components/react/post-popovercontainer.js +1 -1
  201. package/dist/components/react/post-progressbar.js +1 -1
  202. package/dist/components/react/post-rating.js +1 -1
  203. package/dist/components/react/post-side-navigation-trigger.js +1 -1
  204. package/dist/components/react/post-side-navigation.js +1 -1
  205. package/dist/components/react/post-stepper-item.js +1 -1
  206. package/dist/components/react/post-stepper.js +1 -1
  207. package/dist/components/react/post-tab-item.js +1 -1
  208. package/dist/components/react/post-tab-panel.js +1 -1
  209. package/dist/components/react/post-tabs.js +1 -1
  210. package/dist/components/react/post-togglebutton.js +1 -1
  211. package/dist/components/react/post-tooltip-trigger.js +1 -1
  212. package/dist/components/react/post-tooltip.js +1 -1
  213. package/dist/docs.json +78 -17
  214. package/dist/esm/breakpoints-I1j7a0bW.js +45 -0
  215. package/dist/esm/{create-validator-decorator-BzX_jW0Z.js → create-validator-decorator-CbYxqPSB.js} +1 -1
  216. package/dist/esm/{event-from-rEfV4v4a.js → event-from-BEcxHjuM.js} +19 -14
  217. package/dist/esm/{index-BAtz9iuv.js → index-D3NdvMgy.js} +1 -1
  218. package/dist/esm/{breakpoints-BQ3HlJPr.js → index-bR8vy6-s.js} +1 -42
  219. package/dist/esm/loader.js +3 -3
  220. package/dist/esm/{one-of-D5QwMlvb.js → one-of-Mx4vYjem.js} +1 -1
  221. package/dist/esm/{package-D9jUbrFT.js → package-Ny5VnydI.js} +1 -1
  222. package/dist/esm/{pattern-CrL4IkfA.js → pattern-CqQVrJPN.js} +1 -1
  223. package/dist/esm/post-accordion_2.entry.js +7 -7
  224. package/dist/esm/post-autocomplete.entry.js +70 -55
  225. package/dist/esm/post-avatar.entry.js +7 -7
  226. package/dist/esm/post-back-to-top.entry.js +25 -13
  227. package/dist/esm/post-banner.entry.js +6 -13
  228. package/dist/esm/post-breadcrumb-item.entry.js +18 -10
  229. package/dist/esm/post-breadcrumbs.entry.js +118 -66
  230. package/dist/esm/post-closebutton_14.entry.js +412 -217
  231. package/dist/esm/post-collapsible_2.entry.js +8 -8
  232. package/dist/esm/post-components.js +3 -3
  233. package/dist/esm/post-date-picker.entry.js +38 -15
  234. package/dist/esm/post-footer.entry.js +13 -10
  235. package/dist/esm/post-linkarea.entry.js +3 -3
  236. package/dist/esm/post-listbox-option.entry.js +4 -4
  237. package/dist/esm/post-listbox.entry.js +6 -6
  238. package/dist/esm/post-number-input.entry.js +7 -6
  239. package/dist/esm/post-pagination.entry.js +7 -7
  240. package/dist/esm/post-popover-trigger.entry.js +7 -7
  241. package/dist/esm/post-popover.entry.js +10 -10
  242. package/dist/esm/post-progressbar.entry.js +5 -5
  243. package/dist/esm/post-rating.entry.js +7 -7
  244. package/dist/esm/post-side-navigation-trigger.entry.js +8 -8
  245. package/dist/esm/post-side-navigation.entry.js +19 -10
  246. package/dist/esm/post-stepper-item.entry.js +3 -3
  247. package/dist/esm/post-stepper.entry.js +8 -8
  248. package/dist/esm/post-tab-item.entry.js +7 -7
  249. package/dist/esm/post-tab-panel.entry.js +7 -7
  250. package/dist/esm/post-tabs.entry.js +9 -9
  251. package/dist/esm/post-tooltip-trigger.entry.js +7 -7
  252. package/dist/esm/post-tooltip.entry.js +7 -7
  253. package/dist/esm/{required-BX_AhSO0.js → required-CxvSCYJj.js} +1 -1
  254. package/dist/esm/{type-BYIjiHKr.js → type-CYB7_Yi8.js} +1 -1
  255. package/dist/esm/{url-CZMYpchD.js → url-DOwgyBfp.js} +1 -1
  256. package/dist/post-components/p-030bfaa1.entry.js +1 -0
  257. package/dist/post-components/p-1d67c427.entry.js +1 -0
  258. package/dist/post-components/{p-15f0cdf5.entry.js → p-2379e498.entry.js} +1 -1
  259. package/dist/post-components/p-29e6c2a4.entry.js +1 -0
  260. package/dist/post-components/{p-b3a9309d.entry.js → p-2cb843f4.entry.js} +1 -1
  261. package/dist/post-components/{p-1ff7ddef.entry.js → p-2ee255c1.entry.js} +1 -1
  262. package/dist/post-components/{p-6258e611.entry.js → p-3a75186d.entry.js} +1 -1
  263. package/dist/post-components/{p-3ed757a7.entry.js → p-44718c1a.entry.js} +1 -1
  264. package/dist/post-components/p-4e2bb082.entry.js +1 -0
  265. package/dist/post-components/p-5a44b217.entry.js +1 -0
  266. package/dist/post-components/p-65e12f2c.entry.js +1 -0
  267. package/dist/post-components/p-665d877f.entry.js +1 -0
  268. package/dist/post-components/p-781efeb8.entry.js +1 -0
  269. package/dist/post-components/p-795eb5ad.entry.js +1 -0
  270. package/dist/post-components/p-894b20dd.entry.js +1 -0
  271. package/dist/post-components/p-9ad2216e.entry.js +1 -0
  272. package/dist/post-components/p-BEcxHjuM.js +1 -0
  273. package/dist/post-components/p-BmpkvdQk.js +1 -0
  274. package/dist/post-components/p-C-FunIfQ.js +1 -0
  275. package/dist/post-components/p-CCciE4QO.js +1 -0
  276. package/dist/post-components/p-D3NdvMgy.js +2 -0
  277. package/dist/post-components/p-I1j7a0bW.js +1 -0
  278. package/dist/post-components/p-Ny5VnydI.js +1 -0
  279. package/dist/post-components/p-X1vWfzMK.js +1 -0
  280. package/dist/post-components/{p-33649303.entry.js → p-a9223467.entry.js} +1 -1
  281. package/dist/post-components/p-b6e231a8.entry.js +1 -0
  282. package/dist/post-components/{p-ed64b31f.entry.js → p-b856263a.entry.js} +1 -1
  283. package/dist/post-components/p-bR8vy6-s.js +1 -0
  284. package/dist/post-components/{p-32c266ba.entry.js → p-c7a39444.entry.js} +1 -1
  285. package/dist/post-components/p-cGcyMrvx.js +1 -0
  286. package/dist/post-components/{p-dd4a07ca.entry.js → p-cde00944.entry.js} +1 -1
  287. package/dist/post-components/p-cf7493ab.entry.js +1 -0
  288. package/dist/post-components/{p-143014ef.entry.js → p-e463e7ac.entry.js} +1 -1
  289. package/dist/post-components/p-e7f97f6d.entry.js +1 -0
  290. package/dist/post-components/p-e8268a8d.entry.js +1 -0
  291. package/dist/post-components/{p-4df63f7d.entry.js → p-e8c19f72.entry.js} +1 -1
  292. package/dist/post-components/p-ecfc494e.entry.js +1 -0
  293. package/dist/post-components/p-eda4a376.entry.js +1 -0
  294. package/dist/post-components/{p-675f62bc.entry.js → p-ffec1880.entry.js} +1 -1
  295. package/dist/post-components/{p-C0Z-E_YL.js → p-sgCfAEQU.js} +1 -1
  296. package/dist/post-components/post-components.css +1 -1
  297. package/dist/post-components/post-components.esm.js +1 -1
  298. package/dist/types/components/post-autocomplete/post-autocomplete.d.ts +18 -6
  299. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +2 -1
  300. package/dist/types/components/post-banner/post-banner.d.ts +0 -1
  301. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +4 -0
  302. package/dist/types/components/post-breadcrumbs/post-breadcrumbs.d.ts +34 -11
  303. package/dist/types/components/post-closebutton/post-closebutton.d.ts +1 -1
  304. package/dist/types/components/post-date-picker/post-date-picker.d.ts +6 -1
  305. package/dist/types/components/post-language-menu/post-language-menu.d.ts +2 -0
  306. package/dist/types/components/post-menu/post-menu.d.ts +1 -0
  307. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +8 -5
  308. package/dist/types/components/post-side-navigation/post-side-navigation.d.ts +4 -0
  309. package/dist/types/components.d.ts +36 -0
  310. package/dist/types/utils/breakpoints.d.ts +1 -0
  311. package/dist/types/utils/closable-target.d.ts +5 -0
  312. package/dist/types/utils/event-from.d.ts +8 -0
  313. package/dist/types/utils/floating-ui.d.ts +12 -0
  314. package/dist/types/utils/index.d.ts +1 -0
  315. package/hydrate/index.js +949 -629
  316. package/hydrate/index.mjs +949 -629
  317. package/package.json +7 -6
  318. package/dist/components/react/p-B-mnuUce.js +0 -1
  319. package/dist/components/react/p-B4APzGUz.js +0 -1
  320. package/dist/components/react/p-BXqGI600.js +0 -1
  321. package/dist/components/react/p-BYoBZKC_.js +0 -1
  322. package/dist/components/react/p-B_WnO-QF.js +0 -1
  323. package/dist/components/react/p-BaB8wJvk.js +0 -1
  324. package/dist/components/react/p-Bji_4dfL.js +0 -1
  325. package/dist/components/react/p-C4D-C0Qi.js +0 -1
  326. package/dist/components/react/p-CX2E_IXB.js +0 -1
  327. package/dist/components/react/p-D9jUbrFT.js +0 -1
  328. package/dist/components/react/p-rEfV4v4a.js +0 -1
  329. package/dist/post-components/p-02585fe8.entry.js +0 -1
  330. package/dist/post-components/p-07d50011.entry.js +0 -1
  331. package/dist/post-components/p-0b762d2b.entry.js +0 -1
  332. package/dist/post-components/p-0sQVSOjO.js +0 -1
  333. package/dist/post-components/p-6a146ec8.entry.js +0 -1
  334. package/dist/post-components/p-6ed71ab9.entry.js +0 -1
  335. package/dist/post-components/p-7492d34d.entry.js +0 -1
  336. package/dist/post-components/p-8ace2b57.entry.js +0 -1
  337. package/dist/post-components/p-8f52881d.entry.js +0 -1
  338. package/dist/post-components/p-950ba0a1.entry.js +0 -1
  339. package/dist/post-components/p-BAtz9iuv.js +0 -2
  340. package/dist/post-components/p-BQ3HlJPr.js +0 -1
  341. package/dist/post-components/p-BzmELz-M.js +0 -1
  342. package/dist/post-components/p-D9jUbrFT.js +0 -1
  343. package/dist/post-components/p-DsgIP6Dq.js +0 -1
  344. package/dist/post-components/p-a5ae59ba.entry.js +0 -1
  345. package/dist/post-components/p-ac7120cb.entry.js +0 -1
  346. package/dist/post-components/p-b079f36d.entry.js +0 -1
  347. package/dist/post-components/p-c72c3bff.entry.js +0 -1
  348. package/dist/post-components/p-d99f4d9d.entry.js +0 -1
  349. package/dist/post-components/p-da7178e5.entry.js +0 -1
  350. package/dist/post-components/p-f1598c80.entry.js +0 -1
  351. package/dist/post-components/p-fOjbWhb_.js +0 -1
  352. package/dist/post-components/p-fed3e568.entry.js +0 -1
  353. package/dist/post-components/p-rEfV4v4a.js +0 -1
@@ -1,28 +1,67 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BDBlw92l.js');
4
- var breakpoints = require('./breakpoints-B0Olgvgc.js');
5
- var _package = require('./package-uiAqYqcY.js');
6
- var oneOf = require('./one-of-IgKJFMA_.js');
7
- var required = require('./required-BXiinq5t.js');
3
+ var index = require('./index-CXnlZiX8.js');
4
+ var breakpoints = require('./breakpoints-Kruvy8Dm.js');
5
+ var eventFrom = require('./event-from-CTcQxB9-.js');
6
+ var _package = require('./package-DdU-rENe.js');
7
+ var oneOf = require('./one-of-LGG0uEIi.js');
8
+ var required = require('./required-bJzxBV-V.js');
8
9
  var fade = require('./fade-CPQhl1fP.js');
9
- var eventFrom = require('./event-from-CwMw19f8.js');
10
10
  var getFocusableChildren = require('./get-focusable-children-BGVgg7Te.js');
11
- var type = require('./type-l3fnHs_E.js');
11
+ var index$1 = require('./index-CggFmZ8n.js');
12
+ var type = require('./type-CGPnqGY1.js');
12
13
  var nanoid = require('./nanoid-CmjyF1Cm.js');
13
- var pattern = require('./pattern-BCnL1qK3.js');
14
- var url = require('./url-Dmn5zP5b.js');
14
+ var pattern = require('./pattern-B-csvfNt.js');
15
+ var url = require('./url-Dxdd6tWj.js');
15
16
  var utils = require('./utils-s05L2ulk.js');
16
17
  var fadeSlide = require('./fade-slide-dPhQa-I1.js');
17
18
  var placement = require('./placement-qEFR9hmI.js');
18
19
  var getRoot = require('./get-root-B1FnQ50K.js');
19
- require('./create-validator-decorator-BchTP-YG.js');
20
+ require('./create-validator-decorator-u-Byhihe.js');
21
+
22
+ const CLOSABLE_TARGETS = [
23
+ {
24
+ predicate: el => el.localName === 'post-banner',
25
+ close: el => void el.dismiss(),
26
+ },
27
+ {
28
+ predicate: el => el.localName === 'post-popover',
29
+ close: el => void el.hide(),
30
+ },
31
+ {
32
+ predicate: el => el.localName === 'post-popovercontainer',
33
+ close: el => void el.hide(),
34
+ },
35
+ {
36
+ predicate: el => el.localName === 'post-collapsible',
37
+ close: el => void el.toggle(false),
38
+ },
39
+ {
40
+ predicate: el => el.localName === 'post-accordion-item',
41
+ close: el => void el.toggle(false),
42
+ },
43
+ {
44
+ predicate: el => el.localName === 'dialog',
45
+ close: el => el.close(),
46
+ },
47
+ {
48
+ predicate: el => el.hasAttribute('popover'),
49
+ close: el => el.togglePopover(false),
50
+ },
51
+ ];
52
+ function findClosableTarget(start) {
53
+ const el = eventFrom.findClosestAcrossShadow(start, (el) => CLOSABLE_TARGETS.some(t => t.predicate(el)));
54
+ if (!el)
55
+ return null;
56
+ const match = CLOSABLE_TARGETS.find(t => t.predicate(el));
57
+ return { element: el, close: () => match.close(el) };
58
+ }
20
59
 
21
60
  const BUTTON_TYPES = ['button', 'reset'];
22
61
  const PLACEMENT = ['manual', 'auto'];
23
62
  const SIZE = ['default', 'small'];
24
63
 
25
- const postClosebuttonCss = () => `.btn{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--post-device-sizing-interactive-button-height-1);gap:var(--post-device-spacing-gap-inline-10);padding:0 var(--post-device-spacing-padding-inline-6)}.btn:not(:disabled):hover{text-decoration:none}.btn:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.btn{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}.btn: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){.btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn: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){.btn:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.btn:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.btn:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.btn>post-icon{width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-primary{box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.btn-primary:disabled{border-color:var(--post-scheme-color-interactive-button-primary-disabled-stroke);color:var(--post-scheme-color-interactive-button-primary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-disabled-bg)}.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}.btn-default{box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg)}.btn-default:disabled{border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg)}.btn-default:not(:disabled):hover,.btn-default.pretend-hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}.btn-secondary{box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg)}.btn-secondary:disabled{border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg)}.btn-secondary:not(:disabled):hover,.btn-secondary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}.btn-tertiary{border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg)}.btn-tertiary:disabled{border-color:var(--post-scheme-color-interactive-button-tertiary-disabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-disabled-bg)}.btn-tertiary:not(:disabled):hover,.btn-tertiary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.btn-link{border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}.btn-link:disabled{border-color:var(--post-scheme-color-interactive-button-tertiary-disabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg)}.btn-link:not(:disabled):hover,.btn-link.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.btn-sm{min-height:var(--post-device-sizing-interactive-button-height-4);gap:var(--post-device-spacing-gap-inline-11);padding:0 var(--post-device-spacing-padding-inline-7)}.btn-sm>post-icon{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-lg{min-height:var(--post-device-sizing-interactive-button-height-2);gap:var(--post-device-spacing-gap-inline-1);padding:0 var(--post-device-spacing-padding-inline-5)}.btn-lg>post-icon{width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.btn-link{-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline);border:0 none;border-radius:0;min-height:0;font-size:inherit;font-weight:inherit;padding:0}.btn-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){border-radius:var(--post-device-border-radius-focus)}@supports not selector(:has(:focus-visible)){.btn-link:is(:focus-visible,:focus-within,.pretend-focus){border-radius:var(--post-device-border-radius-focus)}}.btn-link:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}.btn-icon{padding:0;width:var(--post-device-sizing-interactive-button-height-1);height:var(--post-device-sizing-interactive-button-height-1);min-height:0;vertical-align:text-bottom}.btn-icon.btn-link{width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-icon>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-icon.btn-sm{padding:0;width:var(--post-device-sizing-interactive-button-height-4);height:var(--post-device-sizing-interactive-button-height-4);min-height:0;vertical-align:text-bottom}.btn-icon.btn-sm.btn-link{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-icon.btn-sm>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-icon.btn-lg{padding:0;width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);min-height:0;vertical-align:text-bottom}.btn-icon.btn-lg.btn-link{width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.btn-icon.btn-lg>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}:host .btn{background-color:var(--post-scheme-color-interactive-primary-enabled-bg1)}:host .btn:not(:disabled):hover,:host .btn.pretend-hover{background-color:var(--post-scheme-color-interactive-primary-hover-bg)}:host(:not([placement])),:host([placement=auto]){position:absolute;inset-block-start:0;inset-inline-end:0;transform:translate(50%, -50%)}:host([size=small]) .btn{height:var(--post-device-sizing-interactive-button-height-7);width:var(--post-device-sizing-interactive-button-height-7)}`;
64
+ const postClosebuttonCss = () => `.btn{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--post-device-sizing-interactive-button-height-1);gap:var(--post-device-spacing-gap-inline-10);padding:0 var(--post-device-spacing-padding-inline-6)}.btn:not(:disabled):hover{text-decoration:none}.btn:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.btn{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}.btn: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){.btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn: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){.btn:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn{border-width:1px !important;transition:none}.btn:is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}.btn>post-icon{width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-primary{box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-primary:not(:disabled,.disabled):not(a.btn-tertiary.px-0):hover{background-color:Highlight !important}.btn-primary:not(:disabled,.disabled):not(a.btn-tertiary.px-0):hover>post-icon{color:HighlightText !important}}.btn-primary:disabled{border-color:var(--post-scheme-color-interactive-button-primary-disabled-stroke);color:var(--post-scheme-color-interactive-button-primary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-disabled-bg)}.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}.btn-default{box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-default:not(:disabled,.disabled):not(a.btn-tertiary.px-0):hover{background-color:Highlight !important}.btn-default:not(:disabled,.disabled):not(a.btn-tertiary.px-0):hover>post-icon{color:HighlightText !important}}.btn-default:disabled{border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg)}.btn-default:not(:disabled):hover,.btn-default.pretend-hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}.btn-secondary{box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-secondary:not(:disabled,.disabled):not(a.btn-tertiary.px-0):hover{background-color:Highlight !important}.btn-secondary:not(:disabled,.disabled):not(a.btn-tertiary.px-0):hover>post-icon{color:HighlightText !important}}.btn-secondary:disabled{border-color:var(--post-scheme-color-interactive-button-secondary-disabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-disabled-bg)}.btn-secondary:not(:disabled):hover,.btn-secondary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}.btn-tertiary{border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-tertiary:not(:disabled,.disabled):not(a.btn-tertiary.px-0):hover{background-color:Highlight !important}.btn-tertiary:not(:disabled,.disabled):not(a.btn-tertiary.px-0):hover>post-icon{color:HighlightText !important}}.btn-tertiary:disabled{border-color:var(--post-scheme-color-interactive-button-tertiary-disabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-disabled-bg)}.btn-tertiary:not(:disabled):hover,.btn-tertiary.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.btn-link{border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-link:disabled,.btn-link.disabled{text-decoration:none}}.btn-link:disabled{border-color:var(--post-scheme-color-interactive-button-tertiary-disabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg)}.btn-link:not(:disabled):hover,.btn-link.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.btn-sm{min-height:var(--post-device-sizing-interactive-button-height-4);gap:var(--post-device-spacing-gap-inline-11);padding:0 var(--post-device-spacing-padding-inline-7)}.btn-sm>post-icon{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-lg{min-height:var(--post-device-sizing-interactive-button-height-2);gap:var(--post-device-spacing-gap-inline-1);padding:0 var(--post-device-spacing-padding-inline-5)}.btn-lg>post-icon{width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.btn-link{-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline);border:0 none;border-radius:0;min-height:0;font-size:inherit;font-weight:inherit;padding:0}.btn-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}.btn-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:var(--post-device-border-radius-focus)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn-link:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:var(--post-device-border-radius-focus)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-link:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.btn-link:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}.btn-icon{padding:0;width:var(--post-device-sizing-interactive-button-height-1);height:var(--post-device-sizing-interactive-button-height-1);min-height:0;vertical-align:text-bottom}.btn-icon.btn-link{width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-icon>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-4);height:var(--post-device-sizing-interactive-button-icon-4)}.btn-icon.btn-sm{padding:0;width:var(--post-device-sizing-interactive-button-height-4);height:var(--post-device-sizing-interactive-button-height-4);min-height:0;vertical-align:text-bottom}.btn-icon.btn-sm.btn-link{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-icon.btn-sm>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.btn-icon.btn-lg{padding:0;width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);min-height:0;vertical-align:text-bottom}.btn-icon.btn-lg.btn-link{width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.btn-icon.btn-lg>post-icon{display:block;width:var(--post-device-sizing-interactive-button-icon-3);height:var(--post-device-sizing-interactive-button-icon-3)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}:host .btn{background-color:var(--post-scheme-color-interactive-primary-enabled-bg1)}:host .btn:not(:disabled):hover,:host .btn.pretend-hover{background-color:var(--post-scheme-color-interactive-primary-hover-bg)}:host(:not([placement])),:host([placement=auto]){position:absolute;inset-block-start:0;inset-inline-end:0;transform:translate(50%, -50%)}:host([size=small]) .btn{height:var(--post-device-sizing-interactive-button-height-7);width:var(--post-device-sizing-interactive-button-height-7)}`;
26
65
 
27
66
  var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
28
67
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -46,7 +85,7 @@ const PostClosebutton = class {
46
85
  }
47
86
  /**
48
87
  * The "type" attribute used for the close button
49
-
88
+
50
89
  */
51
90
  this.buttonType = 'button';
52
91
  /**
@@ -57,6 +96,10 @@ const PostClosebutton = class {
57
96
  * The size of the close button.
58
97
  */
59
98
  this.size = 'default';
99
+ this.handleClick = () => {
100
+ const target = findClosableTarget(this.host);
101
+ target?.close();
102
+ };
60
103
  }
61
104
  componentDidLoad() {
62
105
  if (globalThis.MutationObserver) {
@@ -81,13 +124,8 @@ const PostClosebutton = class {
81
124
  console.error(`The \`${this.host.localName}\` component requires content for accessibility.`);
82
125
  }
83
126
  }
84
- handleClick() {
85
- if (this.buttonType === 'reset')
86
- this.internals.form?.reset();
87
- this.host.closest('dialog')?.close();
88
- }
89
127
  render() {
90
- return (index.h(index.Host, { key: '22ac2b07e9a8a8f8d157423fea1bcedb2c4f9b11', "data-version": _package.version }, index.h("button", { key: '91eb413a2546f131e4c97c28340374addbf2c7a7', type: this.buttonType, class: "btn btn-icon btn-secondary btn-sm", onClick: () => this.handleClick() }, index.h("post-icon", { key: '02202b3df2e5830aeb267921c924c1e75508d546', "aria-hidden": "true", name: "closex" }), index.h("span", { key: 'c691c845dd58b4f975c33791d29518428ade6ee8', ref: el => (this.visuallyHidden = el), class: "visually-hidden" }, index.h("slot", { key: '3fd42b82ef1d1ea76343e0c69f421a2916c26006' })))));
128
+ return (index.h(index.Host, { key: 'f46ba6cbd82793b2a3d3a72c2f89236f0904eb68', "data-version": _package.version }, index.h("button", { key: 'd014e76ccce88a087f8dd9caaac002eb09f64699', type: this.buttonType, class: "btn btn-icon btn-secondary btn-sm", onClick: this.handleClick }, index.h("post-icon", { key: '442305b327aabe61f259b98694118ec1b4ed2f09', "aria-hidden": "true", name: "closex" }), index.h("span", { key: '530149339a2a983d1e5d23c149abd0faf6f912b5', ref: el => (this.visuallyHidden = el), class: "visually-hidden" }, index.h("slot", { key: 'b90d5bea08c70c6df33dc5fc74bcf06eb2b6cd14' })))));
91
129
  }
92
130
  static get formAssociated() { return true; }
93
131
  get host() { return index.getElement(this); }
@@ -132,7 +170,7 @@ function slide(el, direction, options = {}) {
132
170
  return animateSlide(el, keyframes, options);
133
171
  }
134
172
 
135
- const postHeaderCss = () => `:host{--post-global-header-top:calc( var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height) );--post-header-top:calc(var(--post-header-reduced-height) - var(--post-header-expanded-height));--post-logo-height:calc( var(--post-global-header-expanded-height) - var(--post-header-scroll-top, 0px) );--post-global-controls-top:clamp( 1000 * (var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height)), calc( -1 * min(var(--post-header-scroll-top, 0px) / 4, var(--post-global-header-reduced-height)) ), 0px )}@media screen and (min-width: 1024px){:host{--post-header-gap:0.5rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.5rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.25rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.25rem;--post-local-header-padding-block:0.75rem;--post-burger-menu-padding-inline:2.5rem;--post-burger-menu-body-gap:2rem;--post-burger-menu-footer-gap:1.5rem}}@media screen and (min-width: 600px)and (max-width: 779.98px){:host{--post-burger-menu-padding-inline:1rem}}@media screen and (min-width: 0)and (max-width: 599.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.5rem;--post-local-header-padding-inline-end:0.5rem;--post-local-header-padding-block:0.5rem;--post-burger-menu-padding-inline:1rem;--post-burger-menu-body-gap:1.5rem;--post-burger-menu-footer-gap:1rem}}:host(:not([full-width])),:host([full-width=false]){--post-header-content-max-width:1440px}:host([data-expanded]),:host([data-menu-extended]){--post-header-top:0;--post-global-header-top:-0.001px;--post-global-controls-top:0;--post-global-header-reduced-height:var(--post-global-header-expanded-height)}*,::before,::after{box-sizing:border-box}:host,header,.global-header,.local-header{transition:inset-block-start 150ms cubic-bezier(0.4, 0, 0.2, 1)}.section,.sliding-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--post-header-gap);flex-wrap:wrap}.section{max-width:var(--post-header-content-max-width);margin-inline:auto}:host{display:block;position:sticky;inset-block-start:var(--post-header-top);z-index:1020;box-shadow:var(--post-device-elevation-300)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host{border-bottom:1px solid}}.global-header{z-index:2;position:sticky;inset-block-start:var(--post-global-header-top);background-color:#fc0}.global-header .section{height:var(--post-global-header-expanded-height);padding-inline-start:var(--post-global-header-padding-inline-start);padding-inline-end:var(--post-global-header-padding-inline-end)}.global-header .logo{align-self:flex-end;width:var(--post-global-header-expanded-height);height:var(--post-logo-height);min-height:var(--post-global-header-reduced-height);max-height:100%;margin-inline-end:calc(1.25rem - var(--post-header-gap));margin-inline-start:clamp(var(--post-logo-expanded-offset),var(--post-logo-expanded-offset) + (var(--post-logo-reduced-offset) - var(--post-logo-expanded-offset))*min(var(--post-header-scroll-top, 0px),var(--post-global-header-expanded-height) - var(--post-global-header-reduced-height))/max(1px,var(--post-global-header-expanded-height) - var(--post-global-header-reduced-height)),var(--post-logo-reduced-offset))}.global-header .sliding-controls{flex-grow:1;justify-content:flex-end;position:relative;inset-block-start:var(--post-global-controls-top)}.global-header .audience{margin-inline-end:auto}@media screen and (max-width: 1023.98px){.global-header slot:where([name=audience],[name=global-nav-secondary]){display:none}}.local-header{position:relative;background-color:#fff;min-height:var(--post-local-header-expanded-min-height);display:var(--post-local-header-display, flex);align-items:var(--post-local-header-align-items, center)}.local-header .section{width:100%;padding-inline-start:var(--post-local-header-padding-inline-start);padding-inline-end:var(--post-local-header-padding-inline-end);padding-block:var(--post-local-header-padding-block)}@media screen and (min-width: 1024px){.local-header .section{display:grid;grid-template:var(--post-local-header-grid-template)}}@media screen and (max-width: 1023.98px){.local-header .section{display:flex;align-self:center}}@media screen and (max-width: 1023.98px)and (max-width: 599.98px){.local-header .section{justify-content:end}}.local-header:where(.megadropdown-open)::after,.local-header:has(~.burger-menu.extended)::after{content:"";display:block;position:absolute;inset-inline:0;inset-block-end:0;height:1px;background-color:#e1e0dc}.local-header .local-nav{flex:0 0 auto}@media screen and (max-width: 1023.98px){.local-header slot[name=main-nav]{display:none}}.burger-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);display:var(--post-burger-button-display, flex)}.burger-button:not(:disabled):hover{text-decoration:none}.burger-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.burger-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}.burger-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){.burger-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.burger-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){.burger-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.burger-button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.burger-button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.burger-button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.burger-button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.burger-button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.burger-button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}@media screen and (min-width: 0)and (max-width: 599.98px){.burger-button{padding:.625rem}.burger-button>:not(post-icon){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.burger-button>post-icon{font-size:1.5rem}}@media screen and (min-width: 1024px){.burger-button{display:none}}.burger-menu{z-index:-1;position:absolute;inset-inline:0;inset-block-start:100%;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));overflow:hidden auto;display:flex;flex-direction:column;background-color:#fafafa}.burger-menu.extended.second-level-open{overflow:hidden}.burger-menu:not(.extended){transform:translateY(-100%);display:none}.burger-menu:not(.extended)>*{display:none}.burger-menu .burger-menu-body,.burger-menu .burger-menu-footer{display:flex;flex-direction:column;padding-inline:var(--post-burger-menu-padding-inline)}.burger-menu .burger-menu-body{flex-grow:1;padding-block:1.5rem;gap:var(--post-burger-menu-body-gap)}.burger-menu .burger-menu-footer{background-color:#f0efed;padding-block:1rem 1.5rem;gap:var(--post-burger-menu-footer-gap)}.burger-menu .local-nav{min-height:3.5rem;display:flex;align-items:center;justify-content:flex-end;padding-inline:.25rem}`;
173
+ const postHeaderCss = () => `:host{--post-global-header-top:calc( var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height) );--post-header-top:calc(var(--post-header-reduced-height) - var(--post-header-expanded-height));--post-logo-height:calc( var(--post-global-header-expanded-height) - var(--post-header-scroll-top, 0px) );--post-global-controls-top:clamp( 1000 * (var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height)), calc( -1 * min(var(--post-header-scroll-top, 0px) / 4, var(--post-global-header-reduced-height)) ), 0px )}@media screen and (min-width: 1024px){:host{--post-header-gap:8px;--post-global-header-padding-inline-start:4px;--post-global-header-padding-inline-end:8px;--post-local-header-padding-inline-start:12px;--post-local-header-padding-inline-end:8px}}@media screen and (min-width: 600px)and (max-width: 1023.98px){:host{--post-header-gap:12px 8px;--post-global-header-padding-inline-start:4px;--post-global-header-padding-inline-end:4px;--post-local-header-padding-inline-start:12px;--post-local-header-padding-inline-end:4px;--post-local-header-padding-block:12px;--post-burger-menu-padding-inline:40px;--post-burger-menu-body-gap:32px;--post-burger-menu-footer-gap:24px}}@media screen and (min-width: 600px)and (max-width: 779.98px){:host{--post-burger-menu-padding-inline:16px}}@media screen and (min-width: 0)and (max-width: 599.98px){:host{--post-header-gap:12px 8px;--post-global-header-padding-inline-start:0px;--post-global-header-padding-inline-end:8px;--post-local-header-padding-inline-start:8px;--post-local-header-padding-inline-end:8px;--post-local-header-padding-block:8px;--post-burger-menu-padding-inline:16px;--post-burger-menu-body-gap:24px;--post-burger-menu-footer-gap:16px}}:host(:not([full-width])),:host([full-width=false]){--post-header-content-max-width:1440px}:host([data-expanded]),:host([data-menu-extended]){--post-header-top:0;--post-global-header-top:-0.001px;--post-global-controls-top:0;--post-global-header-reduced-height:var(--post-global-header-expanded-height)}*,::before,::after{box-sizing:border-box}:host,header,.global-header,.local-header{transition:inset-block-start 150ms cubic-bezier(0.4, 0, 0.2, 1)}.section,.sliding-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--post-header-gap);flex-wrap:wrap}.section{max-width:var(--post-header-content-max-width);margin-inline:auto}:host{display:block;position:sticky;inset-block-start:var(--post-header-top);z-index:1020;box-shadow:var(--post-device-elevation-300)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host{border-bottom:1px solid}}.global-header{z-index:2;position:sticky;inset-block-start:var(--post-global-header-top);background-color:#fc0}.global-header .section{height:var(--post-global-header-expanded-height);padding-inline-start:var(--post-global-header-padding-inline-start);padding-inline-end:var(--post-global-header-padding-inline-end)}.global-header .logo{align-self:flex-end;width:var(--post-global-header-expanded-height);height:var(--post-logo-height);min-height:var(--post-global-header-reduced-height);max-height:100%;margin-inline-end:calc(20px - var(--post-header-gap));margin-inline-start:clamp(var(--post-logo-expanded-offset),var(--post-logo-expanded-offset) + (var(--post-logo-reduced-offset) - var(--post-logo-expanded-offset))*min(var(--post-header-scroll-top, 0px),var(--post-global-header-expanded-height) - var(--post-global-header-reduced-height))/max(1px,var(--post-global-header-expanded-height) - var(--post-global-header-reduced-height)),var(--post-logo-reduced-offset))}.global-header .sliding-controls{flex-grow:1;justify-content:flex-end;position:relative;inset-block-start:var(--post-global-controls-top)}.global-header .audience{margin-inline-end:auto}@media screen and (max-width: 1023.98px){.global-header slot:where([name=audience],[name=global-nav-secondary]){display:none}}.local-header{position:relative;background-color:#fff;min-height:var(--post-local-header-expanded-min-height);display:var(--post-local-header-display, flex);align-items:var(--post-local-header-align-items, center)}.local-header .section{width:100%;padding-inline-start:var(--post-local-header-padding-inline-start);padding-inline-end:var(--post-local-header-padding-inline-end);padding-block:var(--post-local-header-padding-block)}@media screen and (min-width: 1024px){.local-header .section{display:grid;grid-template:var(--post-local-header-grid-template)}}@media screen and (max-width: 1023.98px){.local-header .section{display:flex;align-self:center}}@media screen and (max-width: 1023.98px)and (max-width: 599.98px){.local-header .section{justify-content:end}}.local-header:where(.megadropdown-open)::after,.local-header:has(~.burger-menu.extended)::after{content:"";display:block;position:absolute;inset-inline:0;inset-block-end:0;height:1px;background-color:#e1e0dc}.local-header .local-nav{flex:0 0 auto}@media screen and (max-width: 1023.98px){.local-header slot[name=main-nav]{display:none}}.burger-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:4px 10px;gap:6px;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);display:var(--post-burger-button-display, flex)}.burger-button:not(:disabled):hover{text-decoration:none}.burger-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.burger-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}.burger-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){.burger-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.burger-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){.burger-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.burger-button{border-width:1px !important;transition:none}.burger-button:is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}.burger-button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.burger-button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.burger-button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}@media screen and (min-width: 0)and (max-width: 599.98px){.burger-button{padding:10px}.burger-button>:not(post-icon){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.burger-button>post-icon{font-size:1.5rem}}@media screen and (min-width: 1024px){.burger-button{display:none}}.burger-menu{z-index:-1;position:absolute;inset-inline:0;inset-block-start:100%;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));overflow:hidden auto;display:flex;flex-direction:column;background-color:#fafafa}.burger-menu.extended.second-level-open{overflow:hidden}.burger-menu:not(.extended){transform:translateY(-100%);display:none}.burger-menu:not(.extended)>*{display:none}.burger-menu .burger-menu-body,.burger-menu .burger-menu-footer{display:flex;flex-direction:column;padding-inline:var(--post-burger-menu-padding-inline)}.burger-menu .burger-menu-body{flex-grow:1;padding-block:24px;gap:var(--post-burger-menu-body-gap)}.burger-menu .burger-menu-footer{background-color:#f0efed;padding-block:16px 24px;gap:var(--post-burger-menu-footer-gap)}.burger-menu .local-nav{min-height:56px;display:flex;align-items:center;justify-content:flex-end;padding-inline:4px}`;
136
174
 
137
175
  var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
138
176
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -176,7 +214,7 @@ const PostHeader = class {
176
214
  }
177
215
  constructor(hostRef) {
178
216
  index.registerInstance(this, hostRef);
179
- this.throttledResize = breakpoints.throttle(50, () => this.updateLocalHeaderHeight());
217
+ this.throttledResize = index$1.throttle(50, () => this.updateLocalHeaderHeight());
180
218
  this.animationOptions = {
181
219
  duration: 350,
182
220
  easing: 'headerEase',
@@ -434,10 +472,10 @@ const PostHeader = class {
434
472
  render() {
435
473
  const onDesktop = this.device === 'desktop';
436
474
  const onTabletAndMobile = this.device !== 'desktop';
437
- return (index.h(index.Host, { key: '008aaa5914544cf97a4cff310af87b03d9649254', "data-version": _package.version, "data-color-scheme": "light", "data-burger-menu": this.hasBurgerMenu, "data-menu-extended": this.burgerMenuExtended }, index.h("header", { key: '6d5586b528a18933a8a9aa8beac35c2fed9cfcc1' }, index.h("div", { key: '53710a339b1beca2599e9340b48297424a55bc6a', class: "global-header" }, index.h("div", { key: '79d3204148ee92926842b5ed709c46dc7aedb28f', class: "section" }, index.h("div", { key: 'cb66ff436b27d81ea67e3e7390511560a3641091', class: "logo" }, index.h("slot", { key: '6d5c42047e42aeb4ee1d84ee3e364793a3f7d2b8', name: "post-logo" })), index.h("div", { key: '2adf5cb3398b9fba3eccbe412232c2228f519eaa', class: "sliding-controls" }, onDesktop && (index.h("div", { key: 'e4d27d57c46647c11a2db0f1ba382086dbb0e2ea', class: "audience" }, index.h("slot", { key: 'e60dee56e764bf07ff84116fe4befd39b6fd78a5', name: "audience" }))), index.h("slot", { key: '305371426ba6a8c8d70b14d281d4999441a10c02', name: "global-nav-primary" }), (onDesktop || !this.hasMainNav) && [
475
+ return (index.h(index.Host, { key: '4ae4873c57cd307d3a4073f3d712bcf975528a90', "data-version": _package.version, "data-color-scheme": "light", "data-burger-menu": this.hasBurgerMenu, "data-menu-extended": this.burgerMenuExtended }, index.h("header", { key: 'cbc743a8981f4bbc3d42807244d88edba88e6a6c' }, index.h("div", { key: 'f39c122246336d0de803353d9abb9e573459073e', class: "global-header" }, index.h("div", { key: 'a76628c6501851bbfd597e0106847da12dc0b705', class: "section" }, index.h("div", { key: 'b703c54159955ae272378aab5172f0bcd1b638d1', class: "logo" }, index.h("slot", { key: 'a55336f3bee22b2c9a2cb0426b5e04ba5c8f29c4', name: "post-logo" })), index.h("div", { key: '9b6db729465dae5c503d461a115af296730b2ce6', class: "sliding-controls" }, onDesktop && (index.h("div", { key: 'cf4124ae4aaf47c2445499ce08ebb15076ac4bf2', class: "audience" }, index.h("slot", { key: '830003c8b3b50abeb9d82bdfde83212f20a4da3d', name: "audience" }))), index.h("slot", { key: '458afb2da52853fbc9bc066fc487fcf77df0d2a0', name: "global-nav-primary" }), (onDesktop || !this.hasMainNav) && [
438
476
  index.h("slot", { key: "global-nav-secondary", name: "global-nav-secondary" }),
439
477
  index.h("slot", { key: "language-menu", name: "language-menu" }),
440
- ], index.h("slot", { key: '07d4adae4ee957a3b110e9658a463c40aee2b8c0', name: "post-login" }), onTabletAndMobile && this.hasMainNav && (index.h("post-togglebutton", { key: '7e0278082a427a706879b12613529d63846a061e', class: "burger-button", ref: el => (this.burgerMenuButton = el), onClick: () => this.toggleBurgerMenu() }, index.h("span", { key: '5ed5054ef64342a84559c9a3a1b997a9a880f231' }, this.textMenu), index.h("post-icon", { key: 'c1de7b7bcea2a786dbb68fc68dfc7c0430f8e17a', "aria-hidden": "true", name: "burger", "data-showwhen": "untoggled" }), index.h("post-icon", { key: 'd52846ecee10d618f71d5f50ecef5d0f2c5e5656', "aria-hidden": "true", name: "closex", "data-showwhen": "toggled" })))))), index.h("div", { key: '06c1e47adaf1d9be4d1f1ea363baff03fe6545ea', ref: el => (this.localHeader = el), class: { 'local-header': true, 'megadropdown-open': this.megadropdownOpen } }, index.h("div", { key: '34fa9463ad6e4d2839e3f8878fd954fcf01951f4', class: "section" }, index.h("slot", { key: 'f81d3e0b9e4ccb715a61748b5d7178e034a3b976', name: "side-nav" }), index.h("slot", { key: 'b21c7536e99f236b2fccc01d5b9e221d753b2e45', name: "title" }), this.hasTitle && index.h("slot", { key: '0a30328b689ee68555cf2a7a44069b8d72b307b0', name: "local-nav" }), onDesktop && index.h("slot", { key: 'fb8f22510cc509240a99ad3f2511648df1f9cd04', name: "main-nav" }), onDesktop && !this.hasTitle && index.h("slot", { key: '49d121722ffa10894e2d5322bb5afe25b17bce5f', name: "local-nav" }))), this.hasBurgerMenu && this.renderBurgerMenu())));
478
+ ], index.h("slot", { key: 'ffab20101950b7472c97ff0675f36903a6a66ebd', name: "post-login" }), onTabletAndMobile && this.hasMainNav && (index.h("post-togglebutton", { key: 'd1cb44efb5ae024bc225487be4e592a406acf138', class: "burger-button", ref: el => (this.burgerMenuButton = el), onClick: () => this.toggleBurgerMenu() }, index.h("span", { key: 'c33d2bb5c415f58829ad10026b9811684eac3d35' }, this.textMenu), index.h("post-icon", { key: '7acb3d93aec23ef1c1efd9c9d52832395e66abf0', "aria-hidden": "true", name: "burger", "data-showwhen": "untoggled" }), index.h("post-icon", { key: '7b6fb17d50df4474ddd282d7e202a43c324c3b87', "aria-hidden": "true", name: "closex", "data-showwhen": "toggled" })))))), index.h("div", { key: 'c7e6d91a0cd4a286b7186d0f41abdf9dc1e9ffd4', ref: el => (this.localHeader = el), class: { 'local-header': true, 'megadropdown-open': this.megadropdownOpen } }, index.h("div", { key: '670d00fb0a79ecc1f2bb45645887db13c7ea500f', class: "section" }, index.h("slot", { key: '5d3b0c9b97be561875fc908b2b7bf4d558513318', name: "side-nav" }), index.h("slot", { key: '39348fb8869f5623da026ed08ce69f727d9de7e6', name: "title" }), this.hasTitle && index.h("slot", { key: '883097731548de45adec9cbbf7df1c80a37b76b5', name: "local-nav" }), onDesktop && index.h("slot", { key: 'fbc77dee6ed73d8a13da75d3d695af80ce32c3af', name: "main-nav" }), onDesktop && !this.hasTitle && index.h("slot", { key: '94a989295ae04cd8259ba22e583d41bcb4701881', name: "local-nav" }))), this.hasBurgerMenu && this.renderBurgerMenu())));
441
479
  }
442
480
  get host() { return index.getElement(this); }
443
481
  static get watchers() { return {
@@ -567,7 +605,7 @@ const PostIcon = class {
567
605
  }).filter(([_key, value]) => value !== null));
568
606
  }
569
607
  render() {
570
- return (index.h(index.Host, { key: '9d7b98a18fa098702c0fe1bd06544f605801db6a', "data-version": _package.version }, index.h("span", { key: '847682d63ce72e26a541f40b29255e81febaf79e', style: this.getStyles() })));
608
+ return (index.h(index.Host, { key: '917a78dbe4db46244348298b08a2176c9028048e', "data-version": _package.version }, index.h("span", { key: '06f07755212e2b6a9a5957d7fd37751c62343be6', style: this.getStyles() })));
571
609
  }
572
610
  get host() { return index.getElement(this); }
573
611
  };
@@ -591,7 +629,7 @@ PostIcon.style = postIconCss();
591
629
 
592
630
  const SWITCH_VARIANTS = ['list', 'menu'];
593
631
 
594
- const postLanguageMenuCss = () => `:host{display:flex}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.post-language-menu-dropdown-container{display:flex;flex-direction:column}.post-language-menu-trigger{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);text-transform:uppercase;line-height:inherit;cursor:pointer}.post-language-menu-trigger:not(:disabled):hover{text-decoration:none}.post-language-menu-trigger:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.post-language-menu-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-menu-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-menu-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-menu-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-menu-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-menu-trigger:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.post-language-menu-trigger:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.post-language-menu-trigger:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.post-language-menu-trigger:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}.post-language-menu-trigger post-icon{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true]) post-icon{transform:rotate(180deg)}.post-language-menu-list{display:flex;gap:.5rem;margin-top:1rem}`;
632
+ const postLanguageMenuCss = () => `:host{display:flex}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.post-language-menu-dropdown-container{display:flex;flex-direction:column}.post-language-menu-trigger{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:4px 10px;gap:6px;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);text-transform:uppercase;line-height:inherit;cursor:pointer}.post-language-menu-trigger:not(:disabled):hover{text-decoration:none}.post-language-menu-trigger:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.post-language-menu-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-menu-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-menu-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-menu-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-menu-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-menu-trigger{border-width:1px !important;transition:none}.post-language-menu-trigger:is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}.post-language-menu-trigger:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}.post-language-menu-trigger post-icon{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true]) post-icon{transform:rotate(180deg)}.post-language-menu-list{display:flex;gap:8px;margin-top:16px}`;
595
633
 
596
634
  var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
597
635
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -606,6 +644,7 @@ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators,
606
644
  const PostLanguageMenu = class {
607
645
  constructor(hostRef) {
608
646
  index.registerInstance(this, hostRef);
647
+ this.postChange = index.createEvent(this, "postChange");
609
648
  this.menuId = `p${nanoid.nanoid(11)}`;
610
649
  this.listSpanId = `list-span-${nanoid.nanoid(11)}`;
611
650
  /**
@@ -631,7 +670,7 @@ const PostLanguageMenu = class {
631
670
  }
632
671
  componentDidLoad() {
633
672
  // Initially set variants and active language
634
- // Handles cases where the language-menu is rendered after the language-options have been rendered
673
+ // Handles cases where the language-menu is rendered after the language-menu-items have been rendered
635
674
  this.updateChildrenVariant();
636
675
  }
637
676
  /**
@@ -799,7 +838,7 @@ const PostLogo = class {
799
838
  render() {
800
839
  const logoLink = this.url && (typeof this.url === 'string' ? this.url : this.url.href);
801
840
  const LogoTag = logoLink ? 'a' : 'span';
802
- return (index.h(index.Host, { key: '84ece8e71d7dec66aa634d9a8a37d6bf3197c1b6', "data-version": _package.version }, index.h(LogoTag, { key: '1531c6e8f32d42e63f5482d2983f18e4c9a23b1a', class: `logo ${logoLink ? 'logo-link' : ''}`, ...(logoLink ? { href: logoLink } : {}) }, index.h("span", { key: 'd45d33329e30de0de9de56f2d588995a7f97d01e', class: "description" }, index.h("slot", { key: 'e8665c8d739dc2a2968bf1193c26ba1d1e731b38', onSlotchange: () => this.checkDescription() })), index.h("svg", { key: 'bb3f534952e29e2e43816c5a5dd55541d05bee26', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, index.h("g", { key: '9ca05c263f6c9f41cc5406ccfd030a713ffe0254', id: "Logo" }, index.h("rect", { key: '30a59adc0eec11af2d90180da1f5a95b03175d21', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), index.h("polygon", { key: 'b1cbe7c575d36cf26a1cc41c9124625c2d1e5ef1', 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" }), index.h("path", { key: '398027f23c8c9a4cf2bc7f8d7c8aa4ec0466f0be', 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" }))))));
841
+ return (index.h(index.Host, { key: 'dd8ddb0dcbed8062ee5adecf2a26ad98b42c94b1', "data-version": _package.version }, index.h(LogoTag, { key: 'f4d8ad34cdd455c3e2096ce26db7bc775d7e05c3', class: `logo ${logoLink ? 'logo-link' : ''}`, ...(logoLink ? { href: logoLink } : {}) }, index.h("span", { key: '87a58c2904f3dae5406b5652787ca1d99dbda0dc', class: "description" }, index.h("slot", { key: 'ae69c86c4bfed42b25aafa948f13989c31833466', onSlotchange: () => this.checkDescription() })), index.h("svg", { key: 'e51164151a1a53971414ea37af5085f99575fc36', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, index.h("g", { key: 'fa946d3ded62128ca4469b160103b464eb59329b', id: "Logo" }, index.h("rect", { key: '18424ee0ca3256f9169d8dac6223df3d49cb09b9', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), index.h("polygon", { key: '96381aeedbc8536fd551ec8ac4161db842b3bfc9', 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" }), index.h("path", { key: 'c1bbdb1bb687390d59ec2e6dcf83e80d1606582f', 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" }))))));
803
842
  }
804
843
  get host() { return index.getElement(this); }
805
844
  };
@@ -808,7 +847,7 @@ __decorate$6([
808
847
  ], PostLogo.prototype, "url", void 0);
809
848
  PostLogo.style = postLogoCss();
810
849
 
811
- const postMainnavigationCss = () => `:host{display:flex;user-select:none;max-width:var(--post-header-content-max-width)}@media screen and (min-width: 1024px){:host{width:fit-content;margin-inline-start:calc(-1*var(--post-local-header-padding-inline-start));margin-inline-end:calc(-1*var(--post-local-header-padding-inline-end));overflow:hidden}}nav{flex:1 1 auto}@media screen and (min-width: 1024px){nav{scroll-behavior:smooth;max-width:100vw;overflow:hidden;height:var(--post-main-navigation-height)}}.scroll-control{z-index:1;cursor:pointer;padding:1rem;background:#fff;box-shadow:var(--post-device-elevation-500);line-height:1}.scroll-control.scroll-left{margin-inline-end:-3rem}.scroll-control.scroll-right{margin-inline-start:-3rem}.scroll-control.d-none{display:none}.scroll-control post-icon{font-size:1rem}`;
850
+ const postMainnavigationCss = () => `:host{display:flex;user-select:none;max-width:var(--post-header-content-max-width)}@media screen and (min-width: 1024px){:host{width:fit-content;margin-inline-start:calc(-1*var(--post-local-header-padding-inline-start));margin-inline-end:calc(-1*var(--post-local-header-padding-inline-end));overflow:hidden}}nav{flex:1 1 auto}@media screen and (min-width: 1024px){nav{scroll-behavior:smooth;max-width:100vw;overflow:hidden;height:var(--post-main-navigation-height)}}.scroll-control{z-index:1;cursor:pointer;padding:16px;background:#fff;box-shadow:var(--post-device-elevation-500);line-height:1}.scroll-control.scroll-left{margin-inline-end:-48px}.scroll-control.scroll-right{margin-inline-start:-48px}.scroll-control.d-none{display:none}.scroll-control post-icon{font-size:16px}`;
812
851
 
813
852
  var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
814
853
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -939,7 +978,7 @@ const PostMainnavigation = class {
939
978
  }, NAVBAR_DISABLE_DURATION);
940
979
  }
941
980
  render() {
942
- return (index.h(index.Host, { key: '2e9f2361426298f620411b1d064e166992ba326e', version: _package.version, class: this.canScroll ? 'scrollable' : '' }, index.h("div", { key: '10103d153e37fd591c2ce062ef7455228adbf5b9', "aria-hidden": "true", class: { 'scroll-control scroll-left': true, 'd-none': !this.canScrollLeft }, onMouseDown: e => this.handleScrollButtonClick(e, 'left') }, index.h("post-icon", { key: '8bb9b82626d05c1fe8f4fd1bb9f8e6d6be59ad8a', "aria-hidden": "true", name: "chevronleft" })), index.h("nav", { key: '6905afe8c2dfcf0f2411b45237b52d63f187d2c9', ref: el => (this.navbar = el), "aria-label": this.textMain }, index.h("slot", { key: '2db905e52b1604d9c6097734d055100a58625f09' })), index.h("div", { key: 'f8ec4f906f1c99fec2198bb350ac1735c2de8469', "aria-hidden": "true", class: { 'scroll-control scroll-right': true, 'd-none': !this.canScrollRight }, onMouseDown: e => this.handleScrollButtonClick(e, 'right') }, index.h("post-icon", { key: 'afed8c1778691ca5b849d78ee20d51a4b8c02fe6', "aria-hidden": "true", name: "chevronright" }))));
981
+ return (index.h(index.Host, { key: '9fe43f86cab360591a15a033e0dc657096a69c00', version: _package.version, class: this.canScroll ? 'scrollable' : '' }, index.h("div", { key: 'f68ea70e332336e99c0b51b19e33647b40fcfbb4', "aria-hidden": "true", class: { 'scroll-control scroll-left': true, 'd-none': !this.canScrollLeft }, onMouseDown: e => this.handleScrollButtonClick(e, 'left') }, index.h("post-icon", { key: 'fac01a93fd7cbfe2548a4d049d59f0bc6d01af63', "aria-hidden": "true", name: "chevronleft" })), index.h("nav", { key: '7787a27e76350e9e86a97a58a20abe1286786ff7', ref: el => (this.navbar = el), "aria-label": this.textMain }, index.h("slot", { key: '357a8f5fe1e7b6bea5ae67d87c979f785ea24b82' })), index.h("div", { key: 'ce6091a9466fcd17aca39fcb5d6c204e1782c95d', "aria-hidden": "true", class: { 'scroll-control scroll-right': true, 'd-none': !this.canScrollRight }, onMouseDown: e => this.handleScrollButtonClick(e, 'right') }, index.h("post-icon", { key: '92d35b38a453326701a0837e6187abf82fa37bf4', "aria-hidden": "true", name: "chevronright" }))));
943
982
  }
944
983
  get host() { return index.getElement(this); }
945
984
  };
@@ -949,7 +988,7 @@ __decorate$5([
949
988
  ], PostMainnavigation.prototype, "textMain", void 0);
950
989
  PostMainnavigation.style = postMainnavigationCss();
951
990
 
952
- const postMegadropdownCss = () => `*,::before,::after{box-sizing:border-box}.megadropdown{position:absolute;inset-inline:0;overflow-y:auto;box-shadow:var(--post-device-elevation-300)}@media screen and (min-width: 1024px){.megadropdown{max-height:calc(100vh - var(--post-header-height) - 3rem);background-color:#f0efed;z-index:-1;inset-block-start:100%}.megadropdown.slide-in{animation:slide-down 350ms forwards}.megadropdown.slide-out{animation:slide-up 350ms forwards}}@media screen and (max-width: 1023.98px){.megadropdown{background-color:#fafafa;z-index:1;inset-block-start:var(--post-header-navigation-current-inset);overscroll-behavior:contain}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.megadropdown{border-block-end:1px solid CanvasText}}.section{width:100%;max-width:var(--post-header-content-max-width);margin-inline:auto;position:relative}@media screen and (min-width: 1024px){.section{padding:3rem 2.5rem 2.5rem}}@media screen and (max-width: 1023.98px){.section{display:flex;flex-direction:column;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));padding-inline:var(--post-burger-menu-padding-inline);padding-block-start:1.5rem}}@media screen and (max-width: 1023.98px){.section .megadropdown-content{padding-block-end:1.5rem}}.megadropdown-title{margin-block:0 1rem;font-weight:950}@media screen and (min-width: 600px)and (max-width: 1023.98px){.megadropdown-title{font-size:1.25rem}}@media screen and (min-width: 0)and (max-width: 599.98px){.megadropdown-title{font-size:1.125rem}}.back-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--post-device-sizing-interactive-button-height-4);gap:var(--post-device-spacing-gap-inline-11);padding:0 var(--post-device-spacing-padding-inline-7);border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);order:-1;width:fit-content;padding-inline:0}.back-button:not(:disabled):hover{text-decoration:none}.back-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.back-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}.back-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){.back-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.back-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){.back-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.back-button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.back-button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.back-button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.back-button>post-icon{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.back-button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}@media screen and (min-width: 600px)and (max-width: 1023.98px){.back-button{margin-block-end:2rem}}@media screen and (min-width: 0)and (max-width: 599.98px){.back-button{margin-block-end:1.5rem}}.close-button{position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem}@media screen and (max-width: 1023.98px){.close-button{display:none}}`;
991
+ const postMegadropdownCss = () => `*,::before,::after{box-sizing:border-box}.megadropdown{position:absolute;inset-inline:0;overflow-y:auto;box-shadow:var(--post-device-elevation-300)}@media screen and (min-width: 1024px){.megadropdown{max-height:calc(100vh - var(--post-header-height) - 48px);background-color:#f0efed;z-index:-1;inset-block-start:100%}.megadropdown.slide-in{animation:slide-down 350ms forwards}.megadropdown.slide-out{animation:slide-up 350ms forwards}}@media screen and (max-width: 1023.98px){.megadropdown{background-color:#fafafa;z-index:1;inset-block-start:var(--post-header-navigation-current-inset);overscroll-behavior:contain}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.megadropdown{border-block-end:1px solid CanvasText}}.section{width:100%;max-width:var(--post-header-content-max-width);margin-inline:auto;position:relative}@media screen and (min-width: 1024px){.section{padding:48px 40px 40px}}@media screen and (max-width: 1023.98px){.section{display:flex;flex-direction:column;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));padding-inline:var(--post-burger-menu-padding-inline);padding-block-start:24px}}@media screen and (max-width: 1023.98px){.section .megadropdown-content{padding-block-end:24px}}.megadropdown-title{margin-block:0 16px;font-weight:950}@media screen and (min-width: 600px)and (max-width: 1023.98px){.megadropdown-title{font-size:1.25rem}}@media screen and (min-width: 0)and (max-width: 599.98px){.megadropdown-title{font-size:1.125rem}}.back-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--post-device-sizing-interactive-button-height-4);gap:var(--post-device-spacing-gap-inline-11);padding:0 var(--post-device-spacing-padding-inline-7);border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);order:-1;width:fit-content;padding-inline:0}.back-button:not(:disabled):hover{text-decoration:none}.back-button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.back-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}.back-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){.back-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.back-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){.back-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.back-button{border-width:1px !important;transition:none}.back-button:is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}.back-button>post-icon{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.back-button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}@media screen and (min-width: 600px)and (max-width: 1023.98px){.back-button{margin-block-end:32px}}@media screen and (min-width: 0)and (max-width: 599.98px){.back-button{margin-block-end:24px}}.close-button{position:absolute;inset-block-start:8px;inset-inline-end:8px}@media screen and (max-width: 1023.98px){.close-button{display:none}}`;
953
992
 
954
993
  var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
955
994
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1243,7 +1282,7 @@ const PostMegadropdown = class {
1243
1282
  }
1244
1283
  render() {
1245
1284
  const containerStyle = this.isVisible ? {} : { display: 'none' };
1246
- return (index.h(index.Host, { key: '355f69ea10cd4c3c058e4c1e6818f1c9da7d4102', version: _package.version }, index.h("div", { key: '9c2b9b31aa450c1e1b4257066a38bd3660e834ef', ref: el => (this.animatedContainer = el), class: "megadropdown", style: containerStyle }, index.h("div", { key: '7fe7f257bb41b43b72cda39f1614c5ba4726b940', class: "section" }, this.device !== 'desktop' && this.megadropdownTitle && (index.h("p", { key: '09ffb0ce4a56453d33d4366ce30c0bce09395f93', class: "megadropdown-title" }, this.megadropdownTitle)), index.h("div", { key: 'd88fb0218c8788981dd7f3213979eba5ab7ff333', class: "megadropdown-content" }, index.h("slot", { key: 'ab64e771770bd42c4f077ebe5e05685cb285134f' })), this.device === 'desktop' ? (index.h("post-closebutton", { onClick: () => this.hide(true), class: "close-button", size: "small", placement: "manual" }, this.textClose)) : (index.h("button", { onClick: () => this.hide(true), class: "back-button" }, index.h("post-icon", { name: "arrowleft" }), this.textBack))))));
1285
+ return (index.h(index.Host, { key: '2cc8228a628b2a0380acf4fcac8daa1ef1a7bf2f', version: _package.version }, index.h("div", { key: '709fe50f23fd355bd97add916b451d5abf653780', ref: el => (this.animatedContainer = el), class: "megadropdown", style: containerStyle }, index.h("div", { key: 'e2bac29e70e39800ee55c8454f78b6889b241121', class: "section" }, this.device !== 'desktop' && this.megadropdownTitle && (index.h("p", { key: '6c28bc5d3e3b8c8dab385f13a4b9b8a7b7ba70b9', class: "megadropdown-title" }, this.megadropdownTitle)), index.h("div", { key: 'bf71d0d7b4a84ae1238f27373d195403d8a1f812', class: "megadropdown-content" }, index.h("slot", { key: '9812bec733ca678b1a3681d90859082e57fbd64a' })), this.device === 'desktop' ? (index.h("post-closebutton", { onClick: () => this.hide(true), class: "close-button", size: "small", placement: "manual" }, this.textClose)) : (index.h("button", { onClick: () => this.hide(true), class: "back-button" }, index.h("post-icon", { name: "arrowleft" }), this.textBack))))));
1247
1286
  }
1248
1287
  get host() { return index.getElement(this); }
1249
1288
  };
@@ -1259,7 +1298,7 @@ __decorate$4([
1259
1298
  ], PostMegadropdown.prototype, "textBack", void 0);
1260
1299
  PostMegadropdown.style = postMegadropdownCss();
1261
1300
 
1262
- const postMegadropdownTriggerCss = () => `button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg)}button:not(:disabled):hover{text-decoration:none}button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}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}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){button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){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){button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}button{--post-nav-item-border-width:1px;width:100%;justify-content:start;position:relative;padding:.75rem .75rem calc(.75rem - var(--post-nav-item-border-width)) .5rem;gap:1rem;border-radius:0;line-height:1.5;outline-color:currentColor !important;border-bottom:var(--post-nav-item-border-width) solid currentColor;height:100%}button:hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg);border-bottom-color:rgba(0,0,0,0)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:none}button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline:none !important}button:is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{content:"";position:absolute;inset:calc(-1*var(--post-device-spacing-padding-28));border-width:var(--post-device-border-width-focus);border-style:var(--post-core-border-style-solid);border-color:var(--post-scheme-color-interactive-focus-stroke);border-radius:var(--post-device-border-radius-focus);pointer-events:none}button:is(:focus-visible,:has(:focus-visible),.pretend-focus):hover::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}button:is(:focus-visible,:has(:focus-visible),.pretend-focus):is([aria-current],[aria-pressed=true],[aria-expanded=true],.active)::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}@supports not selector(:has(:focus-visible)){button:is(:focus-visible,:focus-within,.pretend-focus){outline:none !important}button:is(:focus-visible,:focus-within,.pretend-focus)::after{content:"";position:absolute;inset:calc(-1*var(--post-device-spacing-padding-28));border-width:var(--post-device-border-width-focus);border-style:var(--post-core-border-style-solid);border-color:var(--post-scheme-color-interactive-focus-stroke);border-radius:var(--post-device-border-radius-focus);pointer-events:none}button:is(:focus-visible,:focus-within,.pretend-focus):hover::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}button:is(:focus-visible,:focus-within,.pretend-focus):is([aria-current],[aria-pressed=true],[aria-expanded=true],.active)::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}}button>post-icon:where(:last-child){margin-inline-start:auto}@media screen and (min-width: 0)and (max-width: 599.98px){button{padding:calc(.5rem + 1.5px) .75rem calc(.5rem + 1.5px - var(--post-nav-item-border-width)) .5rem;gap:.5rem;font-size:.875rem}button>post-icon{font-size:1rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){button>post-icon{font-size:1.5rem}}@media screen and (min-width: 1024px){button{padding:1rem .75rem;gap:.5rem;border-bottom:0}}:host{position:relative;display:inline-block}button post-icon{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true]) post-icon{transform:rotate(180deg)}button>span{position:relative}button>span>span[aria-hidden]{font-weight:700;visibility:hidden}button>span>span[aria-hidden]:where(span:empty+*){visibility:visible}button>span>span:not([aria-hidden]){position:absolute;inset:0}@media screen and (min-width: 1024px){button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){font-weight:700}button[aria-expanded=true]{background-color:#f0efed;color:#050400;z-index:2}button[aria-expanded=true]:hover{box-shadow:inset 0 -0.7px 0 0 #f0efed}button[aria-expanded=true]:is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{border-color:var(--post-scheme-color-interactive-focus-stroke)}@supports not selector(:has(:focus-visible)){button[aria-expanded=true]:is(:focus-visible,:focus-within,.pretend-focus)::after{border-color:var(--post-scheme-color-interactive-focus-stroke)}}}@media screen and (max-width: 1023.98px){button post-icon{margin-inline-start:auto;transform:rotate(-90deg) !important}}`;
1301
+ const postMegadropdownTriggerCss = () => `button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:4px 10px;gap:6px;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg)}button:not(:disabled):hover{text-decoration:none}button:disabled{border-style:var(--post-core-border-style-dash);cursor:unset}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}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){button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){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){button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){button{border-width:1px !important;transition:none}button:is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);color:var(--post-scheme-color-interactive-button-primary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg)}button{--post-nav-item-border-width:1px;width:100%;justify-content:start;position:relative;padding:12px 12px calc(12px - var(--post-nav-item-border-width)) 8px;gap:16px;border-radius:0;line-height:1.5;outline-color:currentColor !important;border-bottom:var(--post-nav-item-border-width) solid currentColor;height:100%}button:hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);color:var(--post-scheme-color-interactive-button-primary-hover-fg);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg);border-bottom-color:rgba(0,0,0,0)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:none}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}button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;outline:none !important}button:is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{content:"";position:absolute;inset:calc(-1*var(--post-device-spacing-padding-28));border-width:var(--post-device-border-width-focus);border-style:var(--post-core-border-style-solid);border-color:var(--post-scheme-color-interactive-focus-stroke);border-radius:var(--post-device-border-radius-focus);pointer-events:none}button:is(:focus-visible,:has(:focus-visible),.pretend-focus):hover::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}button:is(:focus-visible,:has(:focus-visible),.pretend-focus):is([aria-current],[aria-pressed=true],[aria-expanded=true],.active)::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){button:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;outline:none !important}button:is(:focus-visible,:focus-within,.pretend-focus)::after{content:"";position:absolute;inset:calc(-1*var(--post-device-spacing-padding-28));border-width:var(--post-device-border-width-focus);border-style:var(--post-core-border-style-solid);border-color:var(--post-scheme-color-interactive-focus-stroke);border-radius:var(--post-device-border-radius-focus);pointer-events:none}button:is(:focus-visible,:focus-within,.pretend-focus):hover::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}button:is(:focus-visible,:focus-within,.pretend-focus):is([aria-current],[aria-pressed=true],[aria-expanded=true],.active)::after{border-color:var(--post-scheme-color-interactive-focus-stroke-inverted)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}button>post-icon:where(:last-child){margin-inline-start:auto}@media screen and (min-width: 0)and (max-width: 599.98px){button{padding:9.5px 12px calc(9.5px - var(--post-nav-item-border-width)) 8px;gap:8px;font-size:.875rem}button>post-icon{font-size:1rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){button>post-icon{font-size:1.5rem}}@media screen and (min-width: 1024px){button{padding:16px 12px;gap:8px;border-bottom:0}}:host{position:relative;display:inline-block}button post-icon{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true]) post-icon{transform:rotate(180deg)}button>span{position:relative}button>span>span[aria-hidden]{font-weight:700;visibility:hidden}button>span>span[aria-hidden]:where(span:empty+*){visibility:visible}button>span>span:not([aria-hidden]){position:absolute;inset:0}@media screen and (min-width: 1024px){button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){font-weight:700}button[aria-expanded=true]{background-color:#f0efed;color:#050400;z-index:2}button[aria-expanded=true]:hover{box-shadow:inset 0 -0.7px 0 0 #f0efed}button[aria-expanded=true]{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}button[aria-expanded=true]:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}button[aria-expanded=true]:is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{border-color:var(--post-scheme-color-interactive-focus-stroke)}}@media screen and (min-width: 1024px)and (forced-colors: active),screen and (min-width: 1024px)and (-ms-high-contrast: active),screen and (min-width: 1024px)and (-ms-high-contrast: white-on-black){button[aria-expanded=true]:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@media screen and (min-width: 1024px){@supports not selector(:has(:focus-visible)){button[aria-expanded=true]:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}button[aria-expanded=true]:is(:focus-visible,:focus-within,.pretend-focus)::after{border-color:var(--post-scheme-color-interactive-focus-stroke)}@media screen and (min-width: 1024px)and (forced-colors: active),screen and (min-width: 1024px)and (-ms-high-contrast: active),screen and (min-width: 1024px)and (-ms-high-contrast: white-on-black){button[aria-expanded=true]:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}}@media screen and (max-width: 1023.98px){button post-icon{margin-inline-start:auto;transform:rotate(-90deg) !important}}`;
1263
1302
 
1264
1303
  var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1265
1304
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1330,7 +1369,7 @@ const PostMegadropdownTrigger = class {
1330
1369
  this.megadropdown.toggle();
1331
1370
  }
1332
1371
  render() {
1333
- return (index.h(index.Host, { key: '40d8afcb6b0ec482c0a13f7b78493a66243e03a5', "data-version": _package.version }, index.h("button", { key: '6c1362cd4e1af22d26cf9ae74af4092cd083360c', ref: el => (this.interactiveButton = el), type: "button", "aria-haspopup": "menu", "aria-expanded": this.isMegadropdownExpanded.toString(), onClick: this.onClick.bind(this), onKeyDown: this.onKeyDown.bind(this), class: { active: this.active } }, index.h("span", { key: '6bd7d94da2055c1c6fb933402f2478a3cee12cc7' }, index.h("span", { key: '8109bdcc23c4a0f8c0861b774a974dde75b464f3', innerHTML: this.slottedContent }), index.h("span", { key: 'edd54adde0d7af4eb9cf7796183d01705d217500', "aria-hidden": "true" }, index.h("slot", { key: 'dbcc08bb882273f1074dd8963a4b86f67deb0c0a' }))), index.h("post-icon", { key: '7437573a492181cc3e5ddd59ac3695dc94d43e09', name: "chevrondown" }))));
1372
+ return (index.h(index.Host, { key: 'd5242fd9126f3486f731ed6f369f3a6c38a5d1e9', "data-version": _package.version }, index.h("button", { key: '6af086a50a9c788b35ba542531950b69a5e249da', ref: el => (this.interactiveButton = el), type: "button", "aria-haspopup": "menu", "aria-expanded": this.isMegadropdownExpanded.toString(), onClick: this.onClick.bind(this), onKeyDown: this.onKeyDown.bind(this), class: { active: this.active } }, index.h("span", { key: 'dacf0bd6dc576fa7c70353c98eacb3d81ddf83e5' }, index.h("span", { key: '0c7b950ea9bfcae62b367900d78f155edc49de72', innerHTML: this.slottedContent }), index.h("span", { key: '999325546eb3196f6e704ebeb18f436ff3d53756', "aria-hidden": "true" }, index.h("slot", { key: '08fa107b944a87edf156ea7d5e12692eba64952d' }))), index.h("post-icon", { key: 'eb32199b1ff6951b6025c1e4919674f5419f7d49', name: "chevrondown" }))));
1334
1373
  }
1335
1374
  get host() { return index.getElement(this); }
1336
1375
  };
@@ -1343,7 +1382,7 @@ __decorate$3([
1343
1382
  ], PostMegadropdownTrigger.prototype, "onMegadropdownToggled", null);
1344
1383
  PostMegadropdownTrigger.style = postMegadropdownTriggerCss();
1345
1384
 
1346
- const postMenuCss = () => `:host{display:block}:where([part=post-menu]){display:flex;flex-direction:column;padding-block:.5rem}::slotted([slot=header]){margin-top:-0.5rem;padding:1rem;display:flex;align-items:center;gap:.5rem;border-block-end:1px solid #050400;font-weight:700}@media screen and (max-width: 1023.98px){::slotted([slot=header]){padding:.75rem 1rem}}@media screen and (max-width: 779.98px){::slotted([slot=header]){padding:.5rem 1rem}}post-popovercontainer::part(post-popovercontainer-content){background-color:#fff}`;
1385
+ const postMenuCss = () => `:host{display:block}:where([part=post-menu]){display:flex;flex-direction:column;padding-block:8px}::slotted([slot=header]){margin-top:-8px;padding:16px;display:flex;align-items:center;gap:8px;border-block-end:1px solid #050400;font-weight:700}@media screen and (max-width: 1023.98px){::slotted([slot=header]){padding:12px 16px}}@media screen and (max-width: 779.98px){::slotted([slot=header]){padding:8px 16px}}post-popovercontainer::part(post-popovercontainer-content){background-color:#fff}`;
1347
1386
 
1348
1387
  var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1349
1388
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1461,17 +1500,32 @@ const PostMenu = class {
1461
1500
  this.toggleMenu.emit(this.isVisible);
1462
1501
  if (this.isVisible) {
1463
1502
  this.lastFocusedElement = this.root?.activeElement;
1464
- requestAnimationFrame(() => {
1465
- const menuItems = this.getSlottedItems();
1466
- if (menuItems.length > 0) {
1467
- menuItems[0].focus();
1468
- }
1469
- });
1503
+ // Only focus the first item if the trigger was keyboard-focus-visible
1504
+ // that's the browser's own signal for a keyboard-driven interaction.
1505
+ if (this.wasFocusVisible(this.lastFocusedElement)) {
1506
+ requestAnimationFrame(() => {
1507
+ const menuItems = this.getSlottedItems();
1508
+ if (menuItems.length > 0) {
1509
+ menuItems[0].focus();
1510
+ }
1511
+ });
1512
+ }
1470
1513
  }
1471
1514
  else if (this.lastFocusedElement) {
1472
1515
  this.lastFocusedElement.focus();
1473
1516
  }
1474
1517
  }
1518
+ wasFocusVisible(element) {
1519
+ if (!element)
1520
+ return false;
1521
+ try {
1522
+ return element.matches(':focus-visible');
1523
+ }
1524
+ catch {
1525
+ // Not supported, fall back to always focusing
1526
+ return true;
1527
+ }
1528
+ }
1475
1529
  controlKeyDownHandler(e) {
1476
1530
  const menuItems = this.getSlottedItems();
1477
1531
  if (menuItems.length === 0) {
@@ -1523,7 +1577,7 @@ const PostMenu = class {
1523
1577
  ]));
1524
1578
  }
1525
1579
  render() {
1526
- return (index.h(index.Host, { key: '31142d851d591bc46a43f36b553b6c7abee90674', "data-version": _package.version }, index.h("post-popovercontainer", { key: '6b4b2a04b25904115fe1c337e73e382a4e162259', onPostShow: this.handlePostShown.bind(this), onPostBeforeToggle: this.handlePostBeforeToggle.bind(this), placement: this.placement, ref: e => (this.popoverRef = e) }, index.h("div", { key: '1284650d5796455201d55e1ecad3507518c7c32c', part: "post-menu" }, index.h("slot", { key: 'b2dbd125a631c06a591e67c52fd61524bcf037ea', name: "header" }), index.h("slot", { key: '3b15ec3ad5a25e2e22b6e26e17d9d2d76e9f64fb' })))));
1580
+ return (index.h(index.Host, { key: 'cc6ede4cdacb722006475de88385b041d7e42dcb', "data-version": _package.version }, index.h("post-popovercontainer", { key: '3931f604aad477441112fd0b5a4800c8f034abbb', onPostShow: this.handlePostShown.bind(this), onPostBeforeToggle: this.handlePostBeforeToggle.bind(this), placement: this.placement, ref: e => (this.popoverRef = e) }, index.h("div", { key: '1b0adb12bb1369d14a6bcfac3c956090eb66572a', part: "post-menu" }, index.h("slot", { key: '9c2518e7e9e6ccaa64d486a90b5fc7eec15c24b8', name: "header" }), index.h("slot", { key: 'd28df1e411010aabe083255cd5e5ece4bd62424d' })))));
1527
1581
  }
1528
1582
  get host() { return index.getElement(this); }
1529
1583
  };
@@ -1542,7 +1596,7 @@ __decorate$2([
1542
1596
  ], PostMenu.prototype, "handlePostBeforeToggle", null);
1543
1597
  PostMenu.style = postMenuCss();
1544
1598
 
1545
- const postMenuItemCss = () => `post-menu-item button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;width:100%}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-menu-item button{background-color:ButtonFace !important}post-menu-item button:hover{background-color:Highlight !important}}post-menu-item a{text-decoration:none}post-menu-item button,post-menu-item a{position:relative;display:flex;align-items:center;padding:.5rem .75rem .5rem 1rem;gap:.75rem;font-size:.875rem;color:#050400;border-radius:0}post-menu-item button post-icon,post-menu-item a post-icon{width:1rem;height:1rem;margin-block:.25rem}@media screen and (min-width: 780px){post-menu-item button,post-menu-item a{font-size:1rem;padding-block:.75rem;gap:1rem}post-menu-item button post-icon,post-menu-item a post-icon{width:1.5rem;height:1.5rem;margin:0}}@media screen and (min-width: 1024px){post-menu-item button,post-menu-item a{font-size:1.25rem;padding-block:.8125rem}}post-menu-item button:focus-visible,post-menu-item a:focus-visible{outline-offset:2px !important;border-radius:4px}post-menu-item button:hover,post-menu-item a:hover{background-color:#504f4b;color:#fff}`;
1599
+ const postMenuItemCss = () => `post-menu-item button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;width:100%}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-menu-item button{background-color:ButtonFace !important}post-menu-item button:hover{background-color:Highlight !important}}post-menu-item a{text-decoration:none}post-menu-item button,post-menu-item a{position:relative;display:flex;align-items:center;padding:8px 12px 8px 16px;gap:12px;font-size:.875rem;color:#050400;border-radius:0}post-menu-item button post-icon,post-menu-item a post-icon{width:16px;height:16px;margin-block:4px}@media screen and (min-width: 780px){post-menu-item button,post-menu-item a{font-size:1rem;padding-block:12px;gap:16px}post-menu-item button post-icon,post-menu-item a post-icon{width:24px;height:24px;margin:0}}@media screen and (min-width: 1024px){post-menu-item button,post-menu-item a{font-size:1.25rem;padding-block:13px}}post-menu-item button:focus-visible,post-menu-item a:focus-visible{outline-offset:2px !important;border-radius:4px}post-menu-item button:hover,post-menu-item a:hover{background-color:#504f4b;color:#fff}`;
1546
1600
 
1547
1601
  const PostMenuItem = class {
1548
1602
  constructor(hostRef) {
@@ -1622,7 +1676,7 @@ const PostMenuTrigger = class {
1622
1676
  return null;
1623
1677
  }
1624
1678
  render() {
1625
- return (index.h(index.Host, { key: '8f43fe80dd56550141481f157a06caf559494291', "data-version": _package.version }, index.h("slot", { key: '1b5d220cff9894918aedc54b0585df75095dcb0e' })));
1679
+ return (index.h(index.Host, { key: 'fcdfd58ba24cd5269461477ac3d00a53ccf2ea1b', "data-version": _package.version }, index.h("slot", { key: 'b3a6b137bf61accd32eb1bec5af5e39e68ec6613' })));
1626
1680
  }
1627
1681
  get host() { return index.getElement(this); }
1628
1682
  };
@@ -1637,6 +1691,7 @@ PostMenuTrigger.style = postMenuTriggerCss();
1637
1691
  * @see https://floating-ui.com/docs/virtual-elements
1638
1692
  */
1639
1693
 
1694
+ const sides = ['top', 'right', 'bottom', 'left'];
1640
1695
  const min = Math.min;
1641
1696
  const max = Math.max;
1642
1697
  const round = Math.round;
@@ -1729,12 +1784,12 @@ function getOppositePlacement(placement) {
1729
1784
  return oppositeSideMap[side] + placement.slice(side.length);
1730
1785
  }
1731
1786
  function expandPaddingObject(padding) {
1787
+ var _padding$top, _padding$right, _padding$bottom, _padding$left;
1732
1788
  return {
1733
- top: 0,
1734
- right: 0,
1735
- bottom: 0,
1736
- left: 0,
1737
- ...padding
1789
+ top: (_padding$top = padding.top) != null ? _padding$top : 0,
1790
+ right: (_padding$right = padding.right) != null ? _padding$right : 0,
1791
+ bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
1792
+ left: (_padding$left = padding.left) != null ? _padding$left : 0
1738
1793
  };
1739
1794
  }
1740
1795
  function getPaddingObject(padding) {
@@ -1809,13 +1864,9 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
1809
1864
  y: reference.y
1810
1865
  };
1811
1866
  }
1812
- switch (getAlignment(placement)) {
1813
- case 'start':
1814
- coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
1815
- break;
1816
- case 'end':
1817
- coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
1818
- break;
1867
+ const alignment = getAlignment(placement);
1868
+ if (alignment) {
1869
+ coords[alignmentAxis] += commonAlign * (alignment === 'end' ? 1 : -1) * (rtl && isVertical ? -1 : 1);
1819
1870
  }
1820
1871
  return coords;
1821
1872
  }
@@ -1864,10 +1915,7 @@ async function detectOverflow(state, options) {
1864
1915
  height: rects.floating.height
1865
1916
  } : rects.reference;
1866
1917
  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
1867
- const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
1868
- x: 1,
1869
- y: 1
1870
- } : {
1918
+ const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) && (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
1871
1919
  x: 1,
1872
1920
  y: 1
1873
1921
  };
@@ -2040,17 +2088,16 @@ const arrow$1 = options => ({
2040
2088
 
2041
2089
  // Make sure the arrow doesn't overflow the floating element if the center
2042
2090
  // point is outside the floating element's bounds.
2043
- const min$1 = minPadding;
2044
2091
  const max = clientSize - arrowDimensions[length] - maxPadding;
2045
2092
  const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
2046
- const offset = clamp(min$1, center, max);
2093
+ const offset = clamp(minPadding, center, max);
2047
2094
 
2048
2095
  // If the reference is small enough that the arrow's padding causes it to
2049
2096
  // to point to nothing for an aligned placement, adjust the offset of the
2050
2097
  // floating element itself. To ensure `shift()` continues to take action,
2051
2098
  // a single reset is performed when this is true.
2052
- const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
2053
- const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
2099
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < minPadding ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
2100
+ const alignmentOffset = shouldAddOffset ? center < minPadding ? center - minPadding : center - max : 0;
2054
2101
  return {
2055
2102
  [axis]: coords[axis] + alignmentOffset,
2056
2103
  data: {
@@ -2197,6 +2244,76 @@ const flip$1 = function (options) {
2197
2244
  };
2198
2245
  };
2199
2246
 
2247
+ function getSideOffsets(overflow, rect) {
2248
+ return {
2249
+ top: overflow.top - rect.height,
2250
+ right: overflow.right - rect.width,
2251
+ bottom: overflow.bottom - rect.height,
2252
+ left: overflow.left - rect.width
2253
+ };
2254
+ }
2255
+ function isAnySideFullyClipped(overflow) {
2256
+ return sides.some(side => overflow[side] >= 0);
2257
+ }
2258
+ /**
2259
+ * Provides data to hide the floating element in applicable situations, such as
2260
+ * when it is not in the same clipping context as the reference element.
2261
+ * @see https://floating-ui.com/docs/hide
2262
+ */
2263
+ const hide$1 = function (options) {
2264
+ if (options === void 0) {
2265
+ options = {};
2266
+ }
2267
+ return {
2268
+ name: 'hide',
2269
+ options,
2270
+ async fn(state) {
2271
+ const {
2272
+ rects,
2273
+ platform
2274
+ } = state;
2275
+ const {
2276
+ strategy = 'referenceHidden',
2277
+ ...detectOverflowOptions
2278
+ } = evaluate(options, state);
2279
+ switch (strategy) {
2280
+ case 'referenceHidden':
2281
+ {
2282
+ const overflow = await platform.detectOverflow(state, {
2283
+ ...detectOverflowOptions,
2284
+ elementContext: 'reference'
2285
+ });
2286
+ const offsets = getSideOffsets(overflow, rects.reference);
2287
+ return {
2288
+ data: {
2289
+ referenceHiddenOffsets: offsets,
2290
+ referenceHidden: isAnySideFullyClipped(offsets)
2291
+ }
2292
+ };
2293
+ }
2294
+ case 'escaped':
2295
+ {
2296
+ const overflow = await platform.detectOverflow(state, {
2297
+ ...detectOverflowOptions,
2298
+ altBoundary: true
2299
+ });
2300
+ const offsets = getSideOffsets(overflow, rects.floating);
2301
+ return {
2302
+ data: {
2303
+ escapedOffsets: offsets,
2304
+ escaped: isAnySideFullyClipped(offsets)
2305
+ }
2306
+ };
2307
+ }
2308
+ default:
2309
+ {
2310
+ return {};
2311
+ }
2312
+ }
2313
+ }
2314
+ };
2315
+ };
2316
+
2200
2317
  function getBoundingRect(rects) {
2201
2318
  const minX = min(...rects.map(rect => rect.left));
2202
2319
  const minY = min(...rects.map(rect => rect.top));
@@ -2253,12 +2370,19 @@ const inline$1 = function (options) {
2253
2370
  y
2254
2371
  } = evaluate(options, state);
2255
2372
  const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);
2373
+
2374
+ // No rects (e.g. a hidden or detached reference, or a collapsed range) —
2375
+ // keep the existing reference rect rather than resetting to an invalid
2376
+ // one with non-finite values.
2377
+ if (!nativeClientRects.length) {
2378
+ return {};
2379
+ }
2256
2380
  const clientRects = getRectsByLine(nativeClientRects);
2257
2381
  const fallback = rectToClientRect(getBoundingRect(nativeClientRects));
2258
2382
  const paddingObject = getPaddingObject(padding);
2259
2383
  function getBoundingClientRect() {
2260
2384
  // There are two rects and they are disjoined.
2261
- if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {
2385
+ if (clientRects.length === 2 && (clientRects[0].left > clientRects[1].right || clientRects[1].left > clientRects[0].right) && x != null && y != null) {
2262
2386
  // Find the first rect in which the point is fully inside.
2263
2387
  return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;
2264
2388
  }
@@ -2273,18 +2397,12 @@ const inline$1 = function (options) {
2273
2397
  const bottom = lastRect.bottom;
2274
2398
  const left = isTop ? firstRect.left : lastRect.left;
2275
2399
  const right = isTop ? firstRect.right : lastRect.right;
2276
- const width = right - left;
2277
- const height = bottom - top;
2278
- return {
2279
- top,
2280
- bottom,
2281
- left,
2282
- right,
2283
- width,
2284
- height,
2400
+ return rectToClientRect({
2285
2401
  x: left,
2286
- y: top
2287
- };
2402
+ y: top,
2403
+ width: right - left,
2404
+ height: bottom - top
2405
+ });
2288
2406
  }
2289
2407
  const isLeftSide = getSide(placement) === 'left';
2290
2408
  const maxRight = max(...clientRects.map(rect => rect.right));
@@ -2292,20 +2410,12 @@ const inline$1 = function (options) {
2292
2410
  const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);
2293
2411
  const top = measureRects[0].top;
2294
2412
  const bottom = measureRects[measureRects.length - 1].bottom;
2295
- const left = minLeft;
2296
- const right = maxRight;
2297
- const width = right - left;
2298
- const height = bottom - top;
2299
- return {
2300
- top,
2301
- bottom,
2302
- left,
2303
- right,
2304
- width,
2305
- height,
2306
- x: left,
2307
- y: top
2308
- };
2413
+ return rectToClientRect({
2414
+ x: minLeft,
2415
+ y: top,
2416
+ width: maxRight - minLeft,
2417
+ height: bottom - top
2418
+ });
2309
2419
  }
2310
2420
  return fallback;
2311
2421
  }
@@ -2455,23 +2565,16 @@ const shift$1 = function (options) {
2455
2565
  y
2456
2566
  };
2457
2567
  const overflow = await platform.detectOverflow(state, detectOverflowOptions);
2458
- const crossAxis = getSideAxis(getSide(placement));
2568
+ const crossAxis = getSideAxis(placement);
2459
2569
  const mainAxis = getOppositeAxis(crossAxis);
2460
2570
  let mainAxisCoord = coords[mainAxis];
2461
2571
  let crossAxisCoord = coords[crossAxis];
2572
+ const clampCoord = (axis, coord) => clamp(coord + overflow[axis === 'y' ? 'top' : 'left'], coord, coord - overflow[axis === 'y' ? 'bottom' : 'right']);
2462
2573
  if (checkMainAxis) {
2463
- const minSide = mainAxis === 'y' ? 'top' : 'left';
2464
- const maxSide = mainAxis === 'y' ? 'bottom' : 'right';
2465
- const min = mainAxisCoord + overflow[minSide];
2466
- const max = mainAxisCoord - overflow[maxSide];
2467
- mainAxisCoord = clamp(min, mainAxisCoord, max);
2574
+ mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
2468
2575
  }
2469
2576
  if (checkCrossAxis) {
2470
- const minSide = crossAxis === 'y' ? 'top' : 'left';
2471
- const maxSide = crossAxis === 'y' ? 'bottom' : 'right';
2472
- const min = crossAxisCoord + overflow[minSide];
2473
- const max = crossAxisCoord - overflow[maxSide];
2474
- crossAxisCoord = clamp(min, crossAxisCoord, max);
2577
+ crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
2475
2578
  }
2476
2579
  const limitedCoords = limiter.fn({
2477
2580
  ...state,
@@ -2502,6 +2605,7 @@ const limitShift$1 = function (options) {
2502
2605
  return {
2503
2606
  options,
2504
2607
  fn(state) {
2608
+ var _rawOffset$mainAxis, _rawOffset$crossAxis;
2505
2609
  const {
2506
2610
  x,
2507
2611
  y,
@@ -2527,9 +2631,8 @@ const limitShift$1 = function (options) {
2527
2631
  mainAxis: rawOffset,
2528
2632
  crossAxis: 0
2529
2633
  } : {
2530
- mainAxis: 0,
2531
- crossAxis: 0,
2532
- ...rawOffset
2634
+ mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
2635
+ crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
2533
2636
  };
2534
2637
  if (checkMainAxis) {
2535
2638
  const len = mainAxis === 'y' ? 'height' : 'width';
@@ -2561,6 +2664,12 @@ const limitShift$1 = function (options) {
2561
2664
  };
2562
2665
  };
2563
2666
 
2667
+ // Method syntax keeps callback parameters bivariant, but expressing the
2668
+ // explicit `| undefined` required by `exactOptionalPropertyTypes` needs
2669
+ // property syntax, which is contravariant under `strictFunctionTypes`.
2670
+ // Extracting the function from a method position restores that bivariance so
2671
+ // consumers can still assign callbacks with narrower parameter types.
2672
+
2564
2673
  /**
2565
2674
  * Provides data that allows you to change the size of the floating element —
2566
2675
  * for instance, prevent it from overflowing the clipping boundary or match the
@@ -2575,7 +2684,6 @@ const size$1 = function (options) {
2575
2684
  name: 'size',
2576
2685
  options,
2577
2686
  async fn(state) {
2578
- var _state$middlewareData, _state$middlewareData2;
2579
2687
  const {
2580
2688
  placement,
2581
2689
  rects,
@@ -2607,24 +2715,21 @@ const size$1 = function (options) {
2607
2715
  const maximumClippingWidth = width - overflow.left - overflow.right;
2608
2716
  const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
2609
2717
  const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
2610
- const noShift = !state.middlewareData.shift;
2718
+ const shiftData = state.middlewareData.shift;
2719
+ const noShift = !shiftData;
2611
2720
  let availableHeight = overflowAvailableHeight;
2612
2721
  let availableWidth = overflowAvailableWidth;
2613
- if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
2722
+ if (shiftData != null && shiftData.enabled.x) {
2614
2723
  availableWidth = maximumClippingWidth;
2615
2724
  }
2616
- if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
2725
+ if (shiftData != null && shiftData.enabled.y) {
2617
2726
  availableHeight = maximumClippingHeight;
2618
2727
  }
2619
2728
  if (noShift && !alignment) {
2620
- const xMin = max(overflow.left, 0);
2621
- const xMax = max(overflow.right, 0);
2622
- const yMin = max(overflow.top, 0);
2623
- const yMax = max(overflow.bottom, 0);
2624
2729
  if (isYAxis) {
2625
- availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
2730
+ availableWidth = width - 2 * max(overflow.left, overflow.right);
2626
2731
  } else {
2627
- availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
2732
+ availableHeight = height - 2 * max(overflow.top, overflow.bottom);
2628
2733
  }
2629
2734
  }
2630
2735
  await apply({
@@ -2780,7 +2885,7 @@ function getParentNode(node) {
2780
2885
  function getNearestOverflowAncestor(node) {
2781
2886
  const parentNode = getParentNode(node);
2782
2887
  if (isLastTraversableNode(parentNode)) {
2783
- return node.ownerDocument ? node.ownerDocument.body : node.body;
2888
+ return (node.ownerDocument || node).body;
2784
2889
  }
2785
2890
  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
2786
2891
  return parentNode;
@@ -2877,10 +2982,7 @@ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
2877
2982
  if (isFixed === void 0) {
2878
2983
  isFixed = false;
2879
2984
  }
2880
- if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
2881
- return false;
2882
- }
2883
- return isFixed;
2985
+ return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
2884
2986
  }
2885
2987
 
2886
2988
  function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
@@ -2907,12 +3009,12 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
2907
3009
  let y = (clientRect.top + visualOffsets.y) / scale.y;
2908
3010
  let width = clientRect.width / scale.x;
2909
3011
  let height = clientRect.height / scale.y;
2910
- if (domElement) {
3012
+ if (domElement && offsetParent) {
2911
3013
  const win = getWindow(domElement);
2912
- const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
3014
+ const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
2913
3015
  let currentWin = win;
2914
3016
  let currentIFrame = getFrameElement(currentWin);
2915
- while (currentIFrame && offsetParent && offsetWin !== currentWin) {
3017
+ while (currentIFrame && offsetWin !== currentWin) {
2916
3018
  const iframeScale = getScale(currentIFrame);
2917
3019
  const iframeRect = currentIFrame.getBoundingClientRect();
2918
3020
  const css = getComputedStyle$1(currentIFrame);
@@ -2976,7 +3078,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
2976
3078
  let scale = createCoords(1);
2977
3079
  const offsets = createCoords(0);
2978
3080
  const isOffsetParentAnElement = isHTMLElement(offsetParent);
2979
- if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
3081
+ if (isOffsetParentAnElement || !isFixed) {
2980
3082
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
2981
3083
  scroll = getNodeScroll(offsetParent);
2982
3084
  }
@@ -2997,18 +3099,17 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
2997
3099
  }
2998
3100
 
2999
3101
  function getClientRects(element) {
3000
- return Array.from(element.getClientRects());
3102
+ return element.getClientRects ? Array.from(element.getClientRects()) : [];
3001
3103
  }
3002
3104
 
3003
3105
  // Gets the entire size of the scrollable document area, even extending outside
3004
3106
  // of the `<html>` and `<body>` rect bounds if horizontally scrollable.
3005
- function getDocumentRect(element) {
3006
- const html = getDocumentElement(element);
3007
- const scroll = getNodeScroll(element);
3008
- const body = element.ownerDocument.body;
3107
+ function getDocumentRect(html) {
3108
+ const scroll = getNodeScroll(html);
3109
+ const body = html.ownerDocument.body;
3009
3110
  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
3010
3111
  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
3011
- let x = -scroll.scrollLeft + getWindowScrollBarX(element);
3112
+ let x = -scroll.scrollLeft + getWindowScrollBarX(html);
3012
3113
  const y = -scroll.scrollTop;
3013
3114
  if (getComputedStyle$1(body).direction === 'rtl') {
3014
3115
  x += max(html.clientWidth, body.clientWidth) - width;
@@ -3025,7 +3126,11 @@ function getDocumentRect(element) {
3025
3126
  // calculation is affected by unusual styles.
3026
3127
  // Most scrollbars leave 15-18px of space.
3027
3128
  const SCROLLBAR_MAX = 25;
3028
- function getViewportRect(element, strategy) {
3129
+ function getViewportRect(element, strategy, rootBoundary) {
3130
+ if (rootBoundary === void 0) {
3131
+ rootBoundary = 'viewport';
3132
+ }
3133
+ const isLayoutViewport = rootBoundary === 'layoutViewport';
3029
3134
  const win = getWindow(element);
3030
3135
  const html = getDocumentElement(element);
3031
3136
  const visualViewport = win.visualViewport;
@@ -3034,31 +3139,42 @@ function getViewportRect(element, strategy) {
3034
3139
  let x = 0;
3035
3140
  let y = 0;
3036
3141
  if (visualViewport) {
3037
- width = visualViewport.width;
3038
- height = visualViewport.height;
3039
- const visualViewportBased = isWebKit();
3040
- if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {
3041
- x = visualViewport.offsetLeft;
3042
- y = visualViewport.offsetTop;
3142
+ // Client coordinates are relative to the layout viewport, except in
3143
+ // WebKit with an `absolute` strategy, where they are relative to the
3144
+ // visual viewport.
3145
+ const layoutRelativeClientCoords = !isWebKit() || strategy === 'fixed';
3146
+ if (isLayoutViewport) {
3147
+ if (!layoutRelativeClientCoords) {
3148
+ x = -visualViewport.offsetLeft;
3149
+ y = -visualViewport.offsetTop;
3150
+ }
3151
+ } else {
3152
+ width = visualViewport.width;
3153
+ height = visualViewport.height;
3154
+ if (layoutRelativeClientCoords) {
3155
+ x = visualViewport.offsetLeft;
3156
+ y = visualViewport.offsetTop;
3157
+ }
3043
3158
  }
3044
3159
  }
3045
3160
  const windowScrollbarX = getWindowScrollBarX(html);
3046
- // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
3047
- // visual width of the <html> but this is not considered in the size
3048
- // of `html.clientWidth`.
3161
+ // `scrollbar-gutter: stable` on the <html> reserves gutter space that shrinks
3162
+ // the visual width but isn't reflected in `html.clientWidth`, so subtract it.
3163
+ // Only the inline-end (right) gutter can hold the scrollbar; `both-edges` also
3164
+ // reserves an empty inline-start gutter that clips nothing, so exclude just
3165
+ // the one scrollbar-side gutter — halve the measured (two-gutter) total. A
3166
+ // left-side scrollbar (`windowScrollbarX > 0`) is already handled by
3167
+ // `getHTMLOffset`/`visualViewport.width`; skip it here.
3049
3168
  if (windowScrollbarX <= 0) {
3050
3169
  const doc = html.ownerDocument;
3051
3170
  const body = doc.body;
3052
3171
  const bodyStyles = getComputedStyle(body);
3053
3172
  const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
3054
- const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
3055
- if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
3056
- width -= clippingStableScrollbarWidth;
3173
+ const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
3174
+ const gutter = getComputedStyle(html).scrollbarGutter === 'stable both-edges' ? reservedWidth / 2 : reservedWidth;
3175
+ if (gutter <= SCROLLBAR_MAX) {
3176
+ width -= gutter;
3057
3177
  }
3058
- } else if (windowScrollbarX <= SCROLLBAR_MAX) {
3059
- // If the <body> scrollbar is on the left, the width needs to be extended
3060
- // by the scrollbar amount so there isn't extra space on the right.
3061
- width += windowScrollbarX;
3062
3178
  }
3063
3179
  return {
3064
3180
  width,
@@ -3073,7 +3189,7 @@ function getInnerBoundingClientRect(element, strategy) {
3073
3189
  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
3074
3190
  const top = clientRect.top + element.clientTop;
3075
3191
  const left = clientRect.left + element.clientLeft;
3076
- const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
3192
+ const scale = getScale(element);
3077
3193
  const width = element.clientWidth * scale.x;
3078
3194
  const height = element.clientHeight * scale.y;
3079
3195
  const x = left * scale.x;
@@ -3087,8 +3203,8 @@ function getInnerBoundingClientRect(element, strategy) {
3087
3203
  }
3088
3204
  function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
3089
3205
  let rect;
3090
- if (clippingAncestor === 'viewport') {
3091
- rect = getViewportRect(element, strategy);
3206
+ if (clippingAncestor === 'viewport' || clippingAncestor === 'layoutViewport') {
3207
+ rect = getViewportRect(element, strategy, clippingAncestor);
3092
3208
  } else if (clippingAncestor === 'document') {
3093
3209
  rect = getDocumentRect(getDocumentElement(element));
3094
3210
  } else if (isElement(clippingAncestor)) {
@@ -3104,13 +3220,6 @@ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy)
3104
3220
  }
3105
3221
  return rectToClientRect(rect);
3106
3222
  }
3107
- function hasFixedPositionAncestor(element, stopNode) {
3108
- const parentNode = getParentNode(element);
3109
- if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
3110
- return false;
3111
- }
3112
- return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
3113
- }
3114
3223
 
3115
3224
  // A "clipping ancestor" is an `overflow` element with the characteristic of
3116
3225
  // clipping (or hiding) child elements. This returns all clipping ancestors
@@ -3121,7 +3230,7 @@ function getClippingElementAncestors(element, cache) {
3121
3230
  return cachedResult;
3122
3231
  }
3123
3232
  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
3124
- let currentContainingBlockComputedStyle = null;
3233
+ let lastKeptComputedStyle = null;
3125
3234
  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
3126
3235
  let currentNode = elementIsFixed ? getParentNode(element) : element;
3127
3236
 
@@ -3129,16 +3238,20 @@ function getClippingElementAncestors(element, cache) {
3129
3238
  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
3130
3239
  const computedStyle = getComputedStyle$1(currentNode);
3131
3240
  const currentNodeIsContaining = isContainingBlock(currentNode);
3132
- if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
3133
- currentContainingBlockComputedStyle = null;
3134
- }
3135
- const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
3241
+ // Position of the containing block chain below the current node. A fixed
3242
+ // element whose containing block hasn't been found yet is a fixed chain.
3243
+ const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? 'fixed' : '';
3244
+
3245
+ // A non-containing ancestor does not clip the element when the chain
3246
+ // below it escapes it: a fixed chain escapes all ancestors up to the
3247
+ // next containing block, an absolute chain escapes static ancestors.
3248
+ const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === 'fixed' || lastPosition === 'absolute' && computedStyle.position === 'static');
3136
3249
  if (shouldDropCurrentNode) {
3137
3250
  // Drop non-containing blocks.
3138
3251
  result = result.filter(ancestor => ancestor !== currentNode);
3139
3252
  } else {
3140
- // Record last containing block for next iteration.
3141
- currentContainingBlockComputedStyle = computedStyle;
3253
+ // The kept node carries the chain position for the next iteration.
3254
+ lastKeptComputedStyle = computedStyle;
3142
3255
  }
3143
3256
  currentNode = getParentNode(currentNode);
3144
3257
  }
@@ -3148,7 +3261,7 @@ function getClippingElementAncestors(element, cache) {
3148
3261
 
3149
3262
  // Gets the maximum area that the element is visible in due to any number of
3150
3263
  // clipping ancestors.
3151
- function getClippingRect(_ref) {
3264
+ function getClippingRect$1(_ref) {
3152
3265
  let {
3153
3266
  element,
3154
3267
  boundary,
@@ -3198,13 +3311,7 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
3198
3311
  scrollTop: 0
3199
3312
  };
3200
3313
  const offsets = createCoords(0);
3201
-
3202
- // If the <body> scrollbar appears on the left (e.g. RTL systems). Use
3203
- // Firefox with layout.scrollbar.side = 3 in about:config to test this.
3204
- function setLeftRTLScrollbarOffset() {
3205
- offsets.x = getWindowScrollBarX(documentElement);
3206
- }
3207
- if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
3314
+ if (isOffsetParentAnElement || !isFixed) {
3208
3315
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
3209
3316
  scroll = getNodeScroll(offsetParent);
3210
3317
  }
@@ -3212,12 +3319,13 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
3212
3319
  const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
3213
3320
  offsets.x = offsetRect.x + offsetParent.clientLeft;
3214
3321
  offsets.y = offsetRect.y + offsetParent.clientTop;
3215
- } else if (documentElement) {
3216
- setLeftRTLScrollbarOffset();
3217
3322
  }
3218
3323
  }
3219
- if (isFixed && !isOffsetParentAnElement && documentElement) {
3220
- setLeftRTLScrollbarOffset();
3324
+
3325
+ // If the <body> scrollbar appears on the left (e.g. RTL systems). Use
3326
+ // Firefox with layout.scrollbar.side = 3 in about:config to test this.
3327
+ if (!isOffsetParentAnElement && documentElement) {
3328
+ offsets.x = getWindowScrollBarX(documentElement);
3221
3329
  }
3222
3330
  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
3223
3331
  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
@@ -3302,7 +3410,7 @@ function isRTL(element) {
3302
3410
  const platform = {
3303
3411
  convertOffsetParentRelativeRectToViewportRelativeRect,
3304
3412
  getDocumentElement,
3305
- getClippingRect,
3413
+ getClippingRect: getClippingRect$1,
3306
3414
  getOffsetParent,
3307
3415
  getElementRects,
3308
3416
  getClientRects,
@@ -3317,7 +3425,7 @@ function rectsAreEqual(a, b) {
3317
3425
  }
3318
3426
 
3319
3427
  // https://samthor.au/2021/observing-dom/
3320
- function observeMove(element, onMove) {
3428
+ function observeMove(element, onMove, ancestorResize) {
3321
3429
  let io = null;
3322
3430
  let timeoutId;
3323
3431
  const root = getDocumentElement(element);
@@ -3360,13 +3468,22 @@ function observeMove(element, onMove) {
3360
3468
  let isFirstUpdate = true;
3361
3469
  function handleObserve(entries) {
3362
3470
  const ratio = entries[0].intersectionRatio;
3471
+
3472
+ // The entry is a snapshot, so the reference may have moved since the
3473
+ // intersection was computed (under performance constraints, or between
3474
+ // consecutive frames of a multi-frame layout shift). The reported ratio
3475
+ // and the observed area are stale in that case and cannot be trusted to
3476
+ // detect subsequent movement, so refresh regardless of the ratio.
3477
+ if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
3478
+ return refresh();
3479
+ }
3363
3480
  if (ratio !== threshold) {
3364
3481
  if (!isFirstUpdate) {
3365
3482
  return refresh();
3366
3483
  }
3367
3484
  if (!ratio) {
3368
- // If the reference is clipped, the ratio is 0. Throttle the refresh
3369
- // to prevent an infinite loop of updates.
3485
+ // If the reference is clipped in place, the ratio is 0. Throttle
3486
+ // the refresh to prevent an infinite loop of updates.
3370
3487
  timeoutId = setTimeout(() => {
3371
3488
  refresh(false, 1e-7);
3372
3489
  }, 1000);
@@ -3374,16 +3491,6 @@ function observeMove(element, onMove) {
3374
3491
  refresh(false, ratio);
3375
3492
  }
3376
3493
  }
3377
- if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
3378
- // It's possible that even though the ratio is reported as 1, the
3379
- // element is not actually fully within the IntersectionObserver's root
3380
- // area anymore. This can happen under performance constraints. This may
3381
- // be a bug in the browser's IntersectionObserver implementation. To
3382
- // work around this, we compare the element's bounding rect now with
3383
- // what it was at the time we created the IntersectionObserver. If they
3384
- // are not equal then the element moved, so we refresh.
3385
- refresh();
3386
- }
3387
3494
  isFirstUpdate = false;
3388
3495
  }
3389
3496
 
@@ -3400,8 +3507,18 @@ function observeMove(element, onMove) {
3400
3507
  }
3401
3508
  io.observe(element);
3402
3509
  }
3510
+ const win = getWindow(element);
3511
+ // The window is a resize ancestor, so when `ancestorResize` is enabled its
3512
+ // listener already runs the update on resize. Here we only need to rebuild
3513
+ // the `IntersectionObserver` for the new root size, skipping a redundant
3514
+ // update. When `ancestorResize` is disabled, this becomes the sole update.
3515
+ const handleResize = () => refresh(ancestorResize);
3516
+ win.addEventListener('resize', handleResize);
3403
3517
  refresh(true);
3404
- return cleanup;
3518
+ return () => {
3519
+ win.removeEventListener('resize', handleResize);
3520
+ cleanup();
3521
+ };
3405
3522
  }
3406
3523
 
3407
3524
  /**
@@ -3426,12 +3543,10 @@ function autoUpdate(reference, floating, update, options) {
3426
3543
  const referenceEl = unwrapElement(reference);
3427
3544
  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];
3428
3545
  ancestors.forEach(ancestor => {
3429
- ancestorScroll && ancestor.addEventListener('scroll', update, {
3430
- passive: true
3431
- });
3546
+ ancestorScroll && ancestor.addEventListener('scroll', update);
3432
3547
  ancestorResize && ancestor.addEventListener('resize', update);
3433
3548
  });
3434
- const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
3549
+ const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update, ancestorResize) : null;
3435
3550
  let reobserveFrame = -1;
3436
3551
  let resizeObserver = null;
3437
3552
  if (elementResize) {
@@ -3517,6 +3632,13 @@ const flip = flip$1;
3517
3632
  */
3518
3633
  const size = size$1;
3519
3634
 
3635
+ /**
3636
+ * Provides data to hide the floating element in applicable situations, such as
3637
+ * when it is not in the same clipping context as the reference element.
3638
+ * @see https://floating-ui.com/docs/hide
3639
+ */
3640
+ const hide = hide$1;
3641
+
3520
3642
  /**
3521
3643
  * Provides data to position an inner element of the floating element so that it
3522
3644
  * appears centered to the reference element.
@@ -3545,11 +3667,9 @@ const computePosition = (reference, floating, options) => {
3545
3667
  // multiple lifecycle resets re-use the same result. It only lives for a
3546
3668
  // single call. If other functions become expensive, we can add them as well.
3547
3669
  const cache = new Map();
3548
- const mergedOptions = {
3549
- platform,
3550
- ...options
3551
- };
3670
+ const mergedOptions = options != null ? options : {};
3552
3671
  const platformWithCache = {
3672
+ ...platform,
3553
3673
  ...mergedOptions.platform,
3554
3674
  _c: cache
3555
3675
  };
@@ -4366,6 +4486,77 @@ function apply() {
4366
4486
  injectStyles(document);
4367
4487
  }
4368
4488
 
4489
+ /**
4490
+ * This utility is covered by the end-to-end tests under 'clipping' in `popovercontainer.cy.ts`.
4491
+ */
4492
+ const CLIPPING_RECT_CACHE = Symbol('Clipping Rect Cache');
4493
+ /**
4494
+ * A custom floating UI platform that restricts clipping rectangles to the safe area.
4495
+ */
4496
+ const safeAreaPlatform = { ...platform, getClippingRect };
4497
+ /**
4498
+ * Computes the clipping rectangle of an element while accounting for the safe area.
4499
+ */
4500
+ async function getClippingRect(...args) {
4501
+ const element = args[0].element;
4502
+ // Check whether the clipping rectangle of the given element has already been computed during
4503
+ // this pass.
4504
+ const hit = this[CLIPPING_RECT_CACHE].get(element);
4505
+ if (hit)
4506
+ return hit;
4507
+ // Compute the clipping rectangle with the Floating UI DOM platform, then restrict it to the safe
4508
+ // area.
4509
+ const clippingRect = await platform.getClippingRect.apply(this, args);
4510
+ applySafeArea(clippingRect, element);
4511
+ this[CLIPPING_RECT_CACHE].set(element, clippingRect);
4512
+ return clippingRect;
4513
+ }
4514
+ /**
4515
+ * Restricts the `clippingRect` computed for `element` to the safe area, modifying it in place.
4516
+ *
4517
+ * The safe area only applies to elements that the header can actually cover, which excludes
4518
+ * elements without a header on their page, elements on a top layer and elements within the header.
4519
+ */
4520
+ function applySafeArea(clippingRect, element) {
4521
+ const headerElement = element.ownerDocument.querySelector('post-header');
4522
+ if (headerElement === null)
4523
+ return;
4524
+ let parent = element;
4525
+ while (!isLastTraversableNode(parent)) {
4526
+ parent = getParentNode(parent);
4527
+ if (!isHTMLElement(parent))
4528
+ continue;
4529
+ // Do not apply the safe area of the header to
4530
+ // - elements that are on a top layer, such as a dialog.
4531
+ // - elements that are located within the header itself.
4532
+ if (isTopLayer(parent) || parent === headerElement)
4533
+ return;
4534
+ }
4535
+ const headerRect = headerElement.getBoundingClientRect();
4536
+ const top = Math.max(clippingRect.y, headerRect.bottom);
4537
+ clippingRect.height -= top - clippingRect.y;
4538
+ clippingRect.y = top;
4539
+ }
4540
+ /**
4541
+ * Computes the coordinates that will position the `floating` element next to a given `reference`
4542
+ * element while accounting for the safe area.
4543
+ *
4544
+ * The safe area is the part of the viewport that the header does not cover. Restricting the
4545
+ * clipping rectangles to it makes floating elements behave as if they were clipped by the header.
4546
+ */
4547
+ const computePositionWithSafeArea = (reference, floating, options) => {
4548
+ // Adapted from https://github.com/floating-ui/floating-ui/blob/27629b74ba36ab8ceb2a968051927b9b69511a3b/packages/dom/src/index.ts#L15
4549
+ options ?? (options = {});
4550
+ return computePosition(reference, floating, {
4551
+ ...options,
4552
+ platform: {
4553
+ ...safeAreaPlatform,
4554
+ ...options.platform,
4555
+ [CLIPPING_RECT_CACHE]: new Map(),
4556
+ },
4557
+ });
4558
+ };
4559
+
4369
4560
  const postPopovercontainerCss = () => `@layer polyfill{@supports not selector(:popover-open){:host([popover]:not(.\\:popover-open)){display:none}}}:host{background-color:rgba(0,0,0,0);border:rgba(0,0,0,0);position:fixed;margin:0;padding:0;overflow:visible}:host>div{box-shadow:var(--post-device-elevation-300);width:max-content;max-width:100%;color:var(--post-current-fg);background-color:var(--post-current-bg);border-radius:4px;position:relative}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host>div{border:2px solid rgba(0,0,0,0)}}:host [part=post-popovercontainer-border-mask]{display:none;position:absolute;inset:0;border-radius:4px;pointer-events:none}:host .arrow{--post-popovercontainer-arrow-border: var(--post-popovercontainer-arrow-border-width, 0px) solid var(--post-popovercontainer-arrow-border-color, transparent);position:absolute;width:.5825rem;height:.5825rem;background-color:inherit;rotate:45deg;pointer-events:none;z-index:-1}:host .arrow[dynamic-placement=top]{border-bottom-right-radius:2px;border-bottom:var(--post-popovercontainer-arrow-border);border-right:var(--post-popovercontainer-arrow-border)}:host .arrow[dynamic-placement=right]{border-bottom-left-radius:2px;border-bottom:var(--post-popovercontainer-arrow-border);border-left:var(--post-popovercontainer-arrow-border)}:host .arrow[dynamic-placement=bottom]{border-top-left-radius:2px;border-top:var(--post-popovercontainer-arrow-border);border-left:var(--post-popovercontainer-arrow-border)}:host .arrow[dynamic-placement=left]{border-top-right-radius:2px;border-top:var(--post-popovercontainer-arrow-border);border-right:var(--post-popovercontainer-arrow-border)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .arrow[dynamic-placement=top]{border-block-end:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0);bottom:-0.3796735336rem !important}:host .arrow[dynamic-placement=left]{border-block-start:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0);right:-0.3796735336rem !important}:host .arrow[dynamic-placement=right]{border-block-end:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0);left:-0.3796735336rem !important}:host .arrow[dynamic-placement=bottom]{border-block-start:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0);top:-0.3796735336rem !important}}:host([tooltip]){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}:host([safe-space])::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:auto}:host([safe-space=triangle])::after{clip-path:polygon(var(--post-safe-space-cursor-x, 0) var(--post-safe-space-cursor-y, 0), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)))}:host([safe-space=trapezoid])::after{clip-path:polygon(var(--post-safe-space-trigger-x-start, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-start, 0)), var(--post-safe-space-trigger-x-end, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-end, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)))}:host(:not(:has(.arrow)))>div{box-shadow:var(--post-device-elevation-300)}:host(:has(.arrow))>div{filter:drop-shadow(1px 2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(2px 4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(4px 8px 12px hsla(225, 7%, 11%, 0.15))}:host(:has(.arrow[dynamic-placement=top]))>div{filter:drop-shadow(0px -2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(0px -4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(0px -8px 12px hsla(225, 7%, 11%, 0.15))}:host(:has(.arrow[dynamic-placement=left]))>div{filter:drop-shadow(-2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(-4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(-8px 0px 12px hsla(225, 7%, 11%, 0.15))}:host(:has(.arrow[dynamic-placement=right]))>div{filter:drop-shadow(2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(8px 0px 12px hsla(225, 7%, 11%, 0.15))}`;
4370
4561
 
4371
4562
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -4443,7 +4634,7 @@ const PostPopovercontainer = class {
4443
4634
  if (this.toggleTimeoutId || !target)
4444
4635
  return;
4445
4636
  this.eventTarget = target;
4446
- this.calculatePosition();
4637
+ this.updatePosition();
4447
4638
  this.host.showPopover();
4448
4639
  }
4449
4640
  /**
@@ -4469,7 +4660,7 @@ const PostPopovercontainer = class {
4469
4660
  this.eventTarget = target;
4470
4661
  // Prevent instant double toggle
4471
4662
  if (!this.toggleTimeoutId) {
4472
- this.calculatePosition();
4663
+ this.updatePosition();
4473
4664
  this.host.togglePopover(force);
4474
4665
  this.toggleTimeoutId = null;
4475
4666
  }
@@ -4581,17 +4772,14 @@ const PostPopovercontainer = class {
4581
4772
  startAutoupdates() {
4582
4773
  if (!this.eventTarget || !this.host)
4583
4774
  return;
4584
- this.clearAutoUpdate = autoUpdate(this.eventTarget, this.host, this.calculatePosition.bind(this));
4585
- }
4586
- /**
4587
- * Retrieves the dynamic height of the header
4588
- */
4589
- getHeaderHeight() {
4590
- const header = document.querySelector('post-header');
4591
- return header ? Number.parseFloat(getComputedStyle(header).height) : 0;
4775
+ this.clearAutoUpdate = autoUpdate(this.eventTarget, this.host, this.updatePosition.bind(this));
4592
4776
  }
4593
- async calculatePosition() {
4594
- const { x, y, middlewareData, placement } = await this.computeMainPosition();
4777
+ async updatePosition() {
4778
+ const { x, y, middlewareData, placement } = await this.calculatePosition();
4779
+ // Hide the popover if the target is outside the viewport
4780
+ if (middlewareData.hide?.referenceHidden) {
4781
+ this.host.hidePopover();
4782
+ }
4595
4783
  const currentPlacement = placement.split('-')[0];
4596
4784
  this.dynamicPlacement = currentPlacement;
4597
4785
  // Position popover
@@ -4616,13 +4804,15 @@ const PostPopovercontainer = class {
4616
4804
  await this.updateSafeSpaceBoundaries(currentPlacement);
4617
4805
  }
4618
4806
  }
4619
- async computeMainPosition() {
4807
+ async calculatePosition() {
4620
4808
  const gap = this.edgeGap;
4621
4809
  const isAligned = (this.placement || 'top').includes('-');
4622
- const flipMiddleware = flip({
4623
- padding: this.getHeaderHeight(),
4624
- crossAxis: false,
4625
- });
4810
+ const flipMiddleware = [
4811
+ // Flip the popover if the target moves outside the viewport
4812
+ flip({ elementContext: 'reference', crossAxis: false }),
4813
+ // Flip the popover if the popover itself moves outside the viewport
4814
+ flip({ elementContext: 'floating', crossAxis: false }),
4815
+ ];
4626
4816
  const shiftMiddleware = shift({
4627
4817
  padding: gap,
4628
4818
  limiter: limitShift({
@@ -4634,7 +4824,7 @@ const PostPopovercontainer = class {
4634
4824
  inline(),
4635
4825
  // Per floating-ui docs: for aligned placements (e.g. bottom-end),
4636
4826
  // flip should come before shift. For non-aligned, shift before flip.
4637
- ...(isAligned ? [flipMiddleware, shiftMiddleware] : [shiftMiddleware, flipMiddleware]),
4827
+ ...(isAligned ? [...flipMiddleware, shiftMiddleware] : [shiftMiddleware, ...flipMiddleware]),
4638
4828
  size({
4639
4829
  apply({ availableWidth, elements }) {
4640
4830
  Object.assign(elements.floating.style, {
@@ -4646,7 +4836,12 @@ const PostPopovercontainer = class {
4646
4836
  if (this.arrow) {
4647
4837
  middleware.push(arrow({ element: this.arrowRef, padding: gap }));
4648
4838
  }
4649
- return computePosition(this.eventTarget, this.host, {
4839
+ // Automatically hide the popover if the target moves outside the scrollport.
4840
+ if (this.autoHide) {
4841
+ // Per floating-ui docs: hide should generally be placed at the end.
4842
+ middleware.push(hide({ strategy: 'referenceHidden' }));
4843
+ }
4844
+ return computePositionWithSafeArea(this.eventTarget, this.host, {
4650
4845
  placement: this.placement || 'top',
4651
4846
  strategy: 'fixed',
4652
4847
  middleware,
@@ -4713,9 +4908,9 @@ const PostPopovercontainer = class {
4713
4908
  }
4714
4909
  }
4715
4910
  render() {
4716
- return (index.h(index.Host, { key: 'be9f32a35f247f5b2cb54599b96e715ce1a5a1f1', "data-version": _package.version, popover: "auto" }, index.h("div", { key: 'ad2616c15dfec83e1e53ad14cb145aee2d625c9a', part: "post-popovercontainer-content", class: "popover-content" }, this.arrow && (index.h("span", { key: '293ba9d1ba2a7b57297cd4aa716ba1369b2f8988', "dynamic-placement": this.dynamicPlacement, class: "arrow", ref: el => {
4911
+ return (index.h(index.Host, { key: 'a6f41ad3ef982f9e9ec0d6450837d1cfdca73d16', "data-version": _package.version, popover: "auto" }, index.h("div", { key: '40afab436d5550fda44c8995139080161eab5b09', part: "post-popovercontainer-content", class: "popover-content" }, this.arrow && (index.h("span", { key: '580bd8fcaecb89334aca05001137a4d7cccd254a', "dynamic-placement": this.dynamicPlacement, class: "arrow", ref: el => {
4717
4912
  this.arrowRef = el;
4718
- } })), index.h("span", { key: '7b9d47b53a4d4a672490eccdc88a7eb0552b5574', part: "post-popovercontainer-border-mask" }), index.h("slot", { key: '4b4249d6ebe1c247634bbb76b08ec01e73dc7d4b' }))));
4913
+ } })), index.h("span", { key: '61a6e4e8026832afc188edd5a74535716db65945', part: "post-popovercontainer-border-mask" }), index.h("slot", { key: 'd79cb69a77dbba13ffa3c30e0393db4f3a669a12' }))));
4719
4914
  }
4720
4915
  get host() { return index.getElement(this); }
4721
4916
  };
@@ -4779,7 +4974,7 @@ const PostTogglebutton = class {
4779
4974
  });
4780
4975
  }
4781
4976
  render() {
4782
- return (index.h(index.Host, { key: '6f61a07946f3e67bace0a883b73c424893c4043d', "data-version": _package.version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, index.h("slot", { key: 'fd9b93e45da499dbb790ad675f3db36e248c1960' })));
4977
+ return (index.h(index.Host, { key: 'ae46e9fcd82766abcf76c4b37d0341cfd29f2f4f', "data-version": _package.version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, index.h("slot", { key: '9c71c065225f0f5c68e76fa2cec6d75bdf29fed0' })));
4783
4978
  }
4784
4979
  get host() { return index.getElement(this); }
4785
4980
  };