@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,26 +1,65 @@
1
- import { r as registerInstance, h, H as Host, a as getElement, c as createEvent } from './index-BAtz9iuv.js';
2
- import { t as throttle, b as breakpoint } from './breakpoints-BQ3HlJPr.js';
3
- import { v as version } from './package-D9jUbrFT.js';
4
- import { O as OneOf } from './one-of-D5QwMlvb.js';
5
- import { R as Required } from './required-BX_AhSO0.js';
1
+ import { r as registerInstance, h, H as Host, a as getElement, c as createEvent } from './index-D3NdvMgy.js';
2
+ import { b as breakpoint } from './breakpoints-I1j7a0bW.js';
3
+ import { f as findClosestAcrossShadow, E as EventFrom } from './event-from-BEcxHjuM.js';
4
+ import { v as version } from './package-Ny5VnydI.js';
5
+ import { O as OneOf } from './one-of-Mx4vYjem.js';
6
+ import { R as Required } from './required-CxvSCYJj.js';
6
7
  import { f as fade } from './fade-DsgPYmAa.js';
7
- import { E as EventFrom } from './event-from-rEfV4v4a.js';
8
8
  import { g as getDeepFocusableChildren, a as getFocusableChildren } from './get-focusable-children-DxYnH2ye.js';
9
- import { T as Type } from './type-BYIjiHKr.js';
9
+ import { t as throttle } from './index-bR8vy6-s.js';
10
+ import { T as Type } from './type-CYB7_Yi8.js';
10
11
  import { n as nanoid } from './nanoid-8LXe8Zt_.js';
11
- import { P as Pattern } from './pattern-CrL4IkfA.js';
12
- import { U as Url } from './url-CZMYpchD.js';
12
+ import { P as Pattern } from './pattern-CqQVrJPN.js';
13
+ import { U as Url } from './url-DOwgyBfp.js';
13
14
  import { r as resolveEasing } from './utils-CoDiS_Ik.js';
14
15
  import { f as fadeSlide } from './fade-slide-CvOvauo9.js';
15
16
  import { P as PLACEMENT_TYPES } from './placement-DRiVosES.js';
16
17
  import { g as getRoot } from './get-root-08F-DB-d.js';
17
- import './create-validator-decorator-BzX_jW0Z.js';
18
+ import './create-validator-decorator-CbYxqPSB.js';
19
+
20
+ const CLOSABLE_TARGETS = [
21
+ {
22
+ predicate: el => el.localName === 'post-banner',
23
+ close: el => void el.dismiss(),
24
+ },
25
+ {
26
+ predicate: el => el.localName === 'post-popover',
27
+ close: el => void el.hide(),
28
+ },
29
+ {
30
+ predicate: el => el.localName === 'post-popovercontainer',
31
+ close: el => void el.hide(),
32
+ },
33
+ {
34
+ predicate: el => el.localName === 'post-collapsible',
35
+ close: el => void el.toggle(false),
36
+ },
37
+ {
38
+ predicate: el => el.localName === 'post-accordion-item',
39
+ close: el => void el.toggle(false),
40
+ },
41
+ {
42
+ predicate: el => el.localName === 'dialog',
43
+ close: el => el.close(),
44
+ },
45
+ {
46
+ predicate: el => el.hasAttribute('popover'),
47
+ close: el => el.togglePopover(false),
48
+ },
49
+ ];
50
+ function findClosableTarget(start) {
51
+ const el = findClosestAcrossShadow(start, (el) => CLOSABLE_TARGETS.some(t => t.predicate(el)));
52
+ if (!el)
53
+ return null;
54
+ const match = CLOSABLE_TARGETS.find(t => t.predicate(el));
55
+ return { element: el, close: () => match.close(el) };
56
+ }
18
57
 
19
58
  const BUTTON_TYPES = ['button', 'reset'];
20
59
  const PLACEMENT = ['manual', 'auto'];
21
60
  const SIZE = ['default', 'small'];
22
61
 
23
- 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)}`;
62
+ 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)}`;
24
63
 
25
64
  var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
26
65
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -44,7 +83,7 @@ const PostClosebutton = class {
44
83
  }
45
84
  /**
46
85
  * The "type" attribute used for the close button
47
-
86
+
48
87
  */
49
88
  this.buttonType = 'button';
50
89
  /**
@@ -55,6 +94,10 @@ const PostClosebutton = class {
55
94
  * The size of the close button.
56
95
  */
57
96
  this.size = 'default';
97
+ this.handleClick = () => {
98
+ const target = findClosableTarget(this.host);
99
+ target?.close();
100
+ };
58
101
  }
59
102
  componentDidLoad() {
60
103
  if (globalThis.MutationObserver) {
@@ -79,13 +122,8 @@ const PostClosebutton = class {
79
122
  console.error(`The \`${this.host.localName}\` component requires content for accessibility.`);
80
123
  }
81
124
  }
82
- handleClick() {
83
- if (this.buttonType === 'reset')
84
- this.internals.form?.reset();
85
- this.host.closest('dialog')?.close();
86
- }
87
125
  render() {
88
- return (h(Host, { key: '22ac2b07e9a8a8f8d157423fea1bcedb2c4f9b11', "data-version": version }, h("button", { key: '91eb413a2546f131e4c97c28340374addbf2c7a7', type: this.buttonType, class: "btn btn-icon btn-secondary btn-sm", onClick: () => this.handleClick() }, h("post-icon", { key: '02202b3df2e5830aeb267921c924c1e75508d546', "aria-hidden": "true", name: "closex" }), h("span", { key: 'c691c845dd58b4f975c33791d29518428ade6ee8', ref: el => (this.visuallyHidden = el), class: "visually-hidden" }, h("slot", { key: '3fd42b82ef1d1ea76343e0c69f421a2916c26006' })))));
126
+ return (h(Host, { key: 'f46ba6cbd82793b2a3d3a72c2f89236f0904eb68', "data-version": version }, h("button", { key: 'd014e76ccce88a087f8dd9caaac002eb09f64699', type: this.buttonType, class: "btn btn-icon btn-secondary btn-sm", onClick: this.handleClick }, h("post-icon", { key: '442305b327aabe61f259b98694118ec1b4ed2f09', "aria-hidden": "true", name: "closex" }), h("span", { key: '530149339a2a983d1e5d23c149abd0faf6f912b5', ref: el => (this.visuallyHidden = el), class: "visually-hidden" }, h("slot", { key: 'b90d5bea08c70c6df33dc5fc74bcf06eb2b6cd14' })))));
89
127
  }
90
128
  static get formAssociated() { return true; }
91
129
  get host() { return getElement(this); }
@@ -130,7 +168,7 @@ function slide(el, direction, options = {}) {
130
168
  return animateSlide(el, keyframes, options);
131
169
  }
132
170
 
133
- 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}`;
171
+ 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}`;
134
172
 
135
173
  var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
136
174
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -432,10 +470,10 @@ const PostHeader = class {
432
470
  render() {
433
471
  const onDesktop = this.device === 'desktop';
434
472
  const onTabletAndMobile = this.device !== 'desktop';
435
- return (h(Host, { key: '008aaa5914544cf97a4cff310af87b03d9649254', "data-version": version, "data-color-scheme": "light", "data-burger-menu": this.hasBurgerMenu, "data-menu-extended": this.burgerMenuExtended }, h("header", { key: '6d5586b528a18933a8a9aa8beac35c2fed9cfcc1' }, h("div", { key: '53710a339b1beca2599e9340b48297424a55bc6a', class: "global-header" }, h("div", { key: '79d3204148ee92926842b5ed709c46dc7aedb28f', class: "section" }, h("div", { key: 'cb66ff436b27d81ea67e3e7390511560a3641091', class: "logo" }, h("slot", { key: '6d5c42047e42aeb4ee1d84ee3e364793a3f7d2b8', name: "post-logo" })), h("div", { key: '2adf5cb3398b9fba3eccbe412232c2228f519eaa', class: "sliding-controls" }, onDesktop && (h("div", { key: 'e4d27d57c46647c11a2db0f1ba382086dbb0e2ea', class: "audience" }, h("slot", { key: 'e60dee56e764bf07ff84116fe4befd39b6fd78a5', name: "audience" }))), h("slot", { key: '305371426ba6a8c8d70b14d281d4999441a10c02', name: "global-nav-primary" }), (onDesktop || !this.hasMainNav) && [
473
+ return (h(Host, { key: '4ae4873c57cd307d3a4073f3d712bcf975528a90', "data-version": version, "data-color-scheme": "light", "data-burger-menu": this.hasBurgerMenu, "data-menu-extended": this.burgerMenuExtended }, h("header", { key: 'cbc743a8981f4bbc3d42807244d88edba88e6a6c' }, h("div", { key: 'f39c122246336d0de803353d9abb9e573459073e', class: "global-header" }, h("div", { key: 'a76628c6501851bbfd597e0106847da12dc0b705', class: "section" }, h("div", { key: 'b703c54159955ae272378aab5172f0bcd1b638d1', class: "logo" }, h("slot", { key: 'a55336f3bee22b2c9a2cb0426b5e04ba5c8f29c4', name: "post-logo" })), h("div", { key: '9b6db729465dae5c503d461a115af296730b2ce6', class: "sliding-controls" }, onDesktop && (h("div", { key: 'cf4124ae4aaf47c2445499ce08ebb15076ac4bf2', class: "audience" }, h("slot", { key: '830003c8b3b50abeb9d82bdfde83212f20a4da3d', name: "audience" }))), h("slot", { key: '458afb2da52853fbc9bc066fc487fcf77df0d2a0', name: "global-nav-primary" }), (onDesktop || !this.hasMainNav) && [
436
474
  h("slot", { key: "global-nav-secondary", name: "global-nav-secondary" }),
437
475
  h("slot", { key: "language-menu", name: "language-menu" }),
438
- ], h("slot", { key: '07d4adae4ee957a3b110e9658a463c40aee2b8c0', name: "post-login" }), onTabletAndMobile && this.hasMainNav && (h("post-togglebutton", { key: '7e0278082a427a706879b12613529d63846a061e', class: "burger-button", ref: el => (this.burgerMenuButton = el), onClick: () => this.toggleBurgerMenu() }, h("span", { key: '5ed5054ef64342a84559c9a3a1b997a9a880f231' }, this.textMenu), h("post-icon", { key: 'c1de7b7bcea2a786dbb68fc68dfc7c0430f8e17a', "aria-hidden": "true", name: "burger", "data-showwhen": "untoggled" }), h("post-icon", { key: 'd52846ecee10d618f71d5f50ecef5d0f2c5e5656', "aria-hidden": "true", name: "closex", "data-showwhen": "toggled" })))))), h("div", { key: '06c1e47adaf1d9be4d1f1ea363baff03fe6545ea', ref: el => (this.localHeader = el), class: { 'local-header': true, 'megadropdown-open': this.megadropdownOpen } }, h("div", { key: '34fa9463ad6e4d2839e3f8878fd954fcf01951f4', class: "section" }, h("slot", { key: 'f81d3e0b9e4ccb715a61748b5d7178e034a3b976', name: "side-nav" }), h("slot", { key: 'b21c7536e99f236b2fccc01d5b9e221d753b2e45', name: "title" }), this.hasTitle && h("slot", { key: '0a30328b689ee68555cf2a7a44069b8d72b307b0', name: "local-nav" }), onDesktop && h("slot", { key: 'fb8f22510cc509240a99ad3f2511648df1f9cd04', name: "main-nav" }), onDesktop && !this.hasTitle && h("slot", { key: '49d121722ffa10894e2d5322bb5afe25b17bce5f', name: "local-nav" }))), this.hasBurgerMenu && this.renderBurgerMenu())));
476
+ ], h("slot", { key: 'ffab20101950b7472c97ff0675f36903a6a66ebd', name: "post-login" }), onTabletAndMobile && this.hasMainNav && (h("post-togglebutton", { key: 'd1cb44efb5ae024bc225487be4e592a406acf138', class: "burger-button", ref: el => (this.burgerMenuButton = el), onClick: () => this.toggleBurgerMenu() }, h("span", { key: 'c33d2bb5c415f58829ad10026b9811684eac3d35' }, this.textMenu), h("post-icon", { key: '7acb3d93aec23ef1c1efd9c9d52832395e66abf0', "aria-hidden": "true", name: "burger", "data-showwhen": "untoggled" }), h("post-icon", { key: '7b6fb17d50df4474ddd282d7e202a43c324c3b87', "aria-hidden": "true", name: "closex", "data-showwhen": "toggled" })))))), h("div", { key: 'c7e6d91a0cd4a286b7186d0f41abdf9dc1e9ffd4', ref: el => (this.localHeader = el), class: { 'local-header': true, 'megadropdown-open': this.megadropdownOpen } }, h("div", { key: '670d00fb0a79ecc1f2bb45645887db13c7ea500f', class: "section" }, h("slot", { key: '5d3b0c9b97be561875fc908b2b7bf4d558513318', name: "side-nav" }), h("slot", { key: '39348fb8869f5623da026ed08ce69f727d9de7e6', name: "title" }), this.hasTitle && h("slot", { key: '883097731548de45adec9cbbf7df1c80a37b76b5', name: "local-nav" }), onDesktop && h("slot", { key: 'fbc77dee6ed73d8a13da75d3d695af80ce32c3af', name: "main-nav" }), onDesktop && !this.hasTitle && h("slot", { key: '94a989295ae04cd8259ba22e583d41bcb4701881', name: "local-nav" }))), this.hasBurgerMenu && this.renderBurgerMenu())));
439
477
  }
440
478
  get host() { return getElement(this); }
441
479
  static get watchers() { return {
@@ -565,7 +603,7 @@ const PostIcon = class {
565
603
  }).filter(([_key, value]) => value !== null));
566
604
  }
567
605
  render() {
568
- return (h(Host, { key: '9d7b98a18fa098702c0fe1bd06544f605801db6a', "data-version": version }, h("span", { key: '847682d63ce72e26a541f40b29255e81febaf79e', style: this.getStyles() })));
606
+ return (h(Host, { key: '917a78dbe4db46244348298b08a2176c9028048e', "data-version": version }, h("span", { key: '06f07755212e2b6a9a5957d7fd37751c62343be6', style: this.getStyles() })));
569
607
  }
570
608
  get host() { return getElement(this); }
571
609
  };
@@ -589,7 +627,7 @@ PostIcon.style = postIconCss();
589
627
 
590
628
  const SWITCH_VARIANTS = ['list', 'menu'];
591
629
 
592
- 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}`;
630
+ 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}`;
593
631
 
594
632
  var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
595
633
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -604,6 +642,7 @@ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators,
604
642
  const PostLanguageMenu = class {
605
643
  constructor(hostRef) {
606
644
  registerInstance(this, hostRef);
645
+ this.postChange = createEvent(this, "postChange");
607
646
  this.menuId = `p${nanoid(11)}`;
608
647
  this.listSpanId = `list-span-${nanoid(11)}`;
609
648
  /**
@@ -629,7 +668,7 @@ const PostLanguageMenu = class {
629
668
  }
630
669
  componentDidLoad() {
631
670
  // Initially set variants and active language
632
- // Handles cases where the language-menu is rendered after the language-options have been rendered
671
+ // Handles cases where the language-menu is rendered after the language-menu-items have been rendered
633
672
  this.updateChildrenVariant();
634
673
  }
635
674
  /**
@@ -797,7 +836,7 @@ const PostLogo = class {
797
836
  render() {
798
837
  const logoLink = this.url && (typeof this.url === 'string' ? this.url : this.url.href);
799
838
  const LogoTag = logoLink ? 'a' : 'span';
800
- return (h(Host, { key: '84ece8e71d7dec66aa634d9a8a37d6bf3197c1b6', "data-version": version }, h(LogoTag, { key: '1531c6e8f32d42e63f5482d2983f18e4c9a23b1a', class: `logo ${logoLink ? 'logo-link' : ''}`, ...(logoLink ? { href: logoLink } : {}) }, h("span", { key: 'd45d33329e30de0de9de56f2d588995a7f97d01e', class: "description" }, h("slot", { key: 'e8665c8d739dc2a2968bf1193c26ba1d1e731b38', onSlotchange: () => this.checkDescription() })), h("svg", { key: 'bb3f534952e29e2e43816c5a5dd55541d05bee26', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, h("g", { key: '9ca05c263f6c9f41cc5406ccfd030a713ffe0254', id: "Logo" }, h("rect", { key: '30a59adc0eec11af2d90180da1f5a95b03175d21', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), 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" }), 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" }))))));
839
+ return (h(Host, { key: 'dd8ddb0dcbed8062ee5adecf2a26ad98b42c94b1', "data-version": version }, h(LogoTag, { key: 'f4d8ad34cdd455c3e2096ce26db7bc775d7e05c3', class: `logo ${logoLink ? 'logo-link' : ''}`, ...(logoLink ? { href: logoLink } : {}) }, h("span", { key: '87a58c2904f3dae5406b5652787ca1d99dbda0dc', class: "description" }, h("slot", { key: 'ae69c86c4bfed42b25aafa948f13989c31833466', onSlotchange: () => this.checkDescription() })), h("svg", { key: 'e51164151a1a53971414ea37af5085f99575fc36', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, h("g", { key: 'fa946d3ded62128ca4469b160103b464eb59329b', id: "Logo" }, h("rect", { key: '18424ee0ca3256f9169d8dac6223df3d49cb09b9', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), 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" }), 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" }))))));
801
840
  }
802
841
  get host() { return getElement(this); }
803
842
  };
@@ -806,7 +845,7 @@ __decorate$6([
806
845
  ], PostLogo.prototype, "url", void 0);
807
846
  PostLogo.style = postLogoCss();
808
847
 
809
- 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}`;
848
+ 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}`;
810
849
 
811
850
  var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
812
851
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -937,7 +976,7 @@ const PostMainnavigation = class {
937
976
  }, NAVBAR_DISABLE_DURATION);
938
977
  }
939
978
  render() {
940
- return (h(Host, { key: '2e9f2361426298f620411b1d064e166992ba326e', version: version, class: this.canScroll ? 'scrollable' : '' }, h("div", { key: '10103d153e37fd591c2ce062ef7455228adbf5b9', "aria-hidden": "true", class: { 'scroll-control scroll-left': true, 'd-none': !this.canScrollLeft }, onMouseDown: e => this.handleScrollButtonClick(e, 'left') }, h("post-icon", { key: '8bb9b82626d05c1fe8f4fd1bb9f8e6d6be59ad8a', "aria-hidden": "true", name: "chevronleft" })), h("nav", { key: '6905afe8c2dfcf0f2411b45237b52d63f187d2c9', ref: el => (this.navbar = el), "aria-label": this.textMain }, h("slot", { key: '2db905e52b1604d9c6097734d055100a58625f09' })), h("div", { key: 'f8ec4f906f1c99fec2198bb350ac1735c2de8469', "aria-hidden": "true", class: { 'scroll-control scroll-right': true, 'd-none': !this.canScrollRight }, onMouseDown: e => this.handleScrollButtonClick(e, 'right') }, h("post-icon", { key: 'afed8c1778691ca5b849d78ee20d51a4b8c02fe6', "aria-hidden": "true", name: "chevronright" }))));
979
+ return (h(Host, { key: '9fe43f86cab360591a15a033e0dc657096a69c00', version: version, class: this.canScroll ? 'scrollable' : '' }, h("div", { key: 'f68ea70e332336e99c0b51b19e33647b40fcfbb4', "aria-hidden": "true", class: { 'scroll-control scroll-left': true, 'd-none': !this.canScrollLeft }, onMouseDown: e => this.handleScrollButtonClick(e, 'left') }, h("post-icon", { key: 'fac01a93fd7cbfe2548a4d049d59f0bc6d01af63', "aria-hidden": "true", name: "chevronleft" })), h("nav", { key: '7787a27e76350e9e86a97a58a20abe1286786ff7', ref: el => (this.navbar = el), "aria-label": this.textMain }, h("slot", { key: '357a8f5fe1e7b6bea5ae67d87c979f785ea24b82' })), h("div", { key: 'ce6091a9466fcd17aca39fcb5d6c204e1782c95d', "aria-hidden": "true", class: { 'scroll-control scroll-right': true, 'd-none': !this.canScrollRight }, onMouseDown: e => this.handleScrollButtonClick(e, 'right') }, h("post-icon", { key: '92d35b38a453326701a0837e6187abf82fa37bf4', "aria-hidden": "true", name: "chevronright" }))));
941
980
  }
942
981
  get host() { return getElement(this); }
943
982
  };
@@ -947,7 +986,7 @@ __decorate$5([
947
986
  ], PostMainnavigation.prototype, "textMain", void 0);
948
987
  PostMainnavigation.style = postMainnavigationCss();
949
988
 
950
- 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}}`;
989
+ 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}}`;
951
990
 
952
991
  var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
953
992
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1241,7 +1280,7 @@ const PostMegadropdown = class {
1241
1280
  }
1242
1281
  render() {
1243
1282
  const containerStyle = this.isVisible ? {} : { display: 'none' };
1244
- return (h(Host, { key: '355f69ea10cd4c3c058e4c1e6818f1c9da7d4102', version: version }, h("div", { key: '9c2b9b31aa450c1e1b4257066a38bd3660e834ef', ref: el => (this.animatedContainer = el), class: "megadropdown", style: containerStyle }, h("div", { key: '7fe7f257bb41b43b72cda39f1614c5ba4726b940', class: "section" }, this.device !== 'desktop' && this.megadropdownTitle && (h("p", { key: '09ffb0ce4a56453d33d4366ce30c0bce09395f93', class: "megadropdown-title" }, this.megadropdownTitle)), h("div", { key: 'd88fb0218c8788981dd7f3213979eba5ab7ff333', class: "megadropdown-content" }, h("slot", { key: 'ab64e771770bd42c4f077ebe5e05685cb285134f' })), this.device === 'desktop' ? (h("post-closebutton", { onClick: () => this.hide(true), class: "close-button", size: "small", placement: "manual" }, this.textClose)) : (h("button", { onClick: () => this.hide(true), class: "back-button" }, h("post-icon", { name: "arrowleft" }), this.textBack))))));
1283
+ return (h(Host, { key: '2cc8228a628b2a0380acf4fcac8daa1ef1a7bf2f', version: version }, h("div", { key: '709fe50f23fd355bd97add916b451d5abf653780', ref: el => (this.animatedContainer = el), class: "megadropdown", style: containerStyle }, h("div", { key: 'e2bac29e70e39800ee55c8454f78b6889b241121', class: "section" }, this.device !== 'desktop' && this.megadropdownTitle && (h("p", { key: '6c28bc5d3e3b8c8dab385f13a4b9b8a7b7ba70b9', class: "megadropdown-title" }, this.megadropdownTitle)), h("div", { key: 'bf71d0d7b4a84ae1238f27373d195403d8a1f812', class: "megadropdown-content" }, h("slot", { key: '9812bec733ca678b1a3681d90859082e57fbd64a' })), this.device === 'desktop' ? (h("post-closebutton", { onClick: () => this.hide(true), class: "close-button", size: "small", placement: "manual" }, this.textClose)) : (h("button", { onClick: () => this.hide(true), class: "back-button" }, h("post-icon", { name: "arrowleft" }), this.textBack))))));
1245
1284
  }
1246
1285
  get host() { return getElement(this); }
1247
1286
  };
@@ -1257,7 +1296,7 @@ __decorate$4([
1257
1296
  ], PostMegadropdown.prototype, "textBack", void 0);
1258
1297
  PostMegadropdown.style = postMegadropdownCss();
1259
1298
 
1260
- 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}}`;
1299
+ 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}}`;
1261
1300
 
1262
1301
  var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1263
1302
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1328,7 +1367,7 @@ const PostMegadropdownTrigger = class {
1328
1367
  this.megadropdown.toggle();
1329
1368
  }
1330
1369
  render() {
1331
- return (h(Host, { key: '40d8afcb6b0ec482c0a13f7b78493a66243e03a5', "data-version": version }, 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 } }, h("span", { key: '6bd7d94da2055c1c6fb933402f2478a3cee12cc7' }, h("span", { key: '8109bdcc23c4a0f8c0861b774a974dde75b464f3', innerHTML: this.slottedContent }), h("span", { key: 'edd54adde0d7af4eb9cf7796183d01705d217500', "aria-hidden": "true" }, h("slot", { key: 'dbcc08bb882273f1074dd8963a4b86f67deb0c0a' }))), h("post-icon", { key: '7437573a492181cc3e5ddd59ac3695dc94d43e09', name: "chevrondown" }))));
1370
+ return (h(Host, { key: 'd5242fd9126f3486f731ed6f369f3a6c38a5d1e9', "data-version": version }, 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 } }, h("span", { key: 'dacf0bd6dc576fa7c70353c98eacb3d81ddf83e5' }, h("span", { key: '0c7b950ea9bfcae62b367900d78f155edc49de72', innerHTML: this.slottedContent }), h("span", { key: '999325546eb3196f6e704ebeb18f436ff3d53756', "aria-hidden": "true" }, h("slot", { key: '08fa107b944a87edf156ea7d5e12692eba64952d' }))), h("post-icon", { key: 'eb32199b1ff6951b6025c1e4919674f5419f7d49', name: "chevrondown" }))));
1332
1371
  }
1333
1372
  get host() { return getElement(this); }
1334
1373
  };
@@ -1341,7 +1380,7 @@ __decorate$3([
1341
1380
  ], PostMegadropdownTrigger.prototype, "onMegadropdownToggled", null);
1342
1381
  PostMegadropdownTrigger.style = postMegadropdownTriggerCss();
1343
1382
 
1344
- 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}`;
1383
+ 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}`;
1345
1384
 
1346
1385
  var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1347
1386
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1459,17 +1498,32 @@ const PostMenu = class {
1459
1498
  this.toggleMenu.emit(this.isVisible);
1460
1499
  if (this.isVisible) {
1461
1500
  this.lastFocusedElement = this.root?.activeElement;
1462
- requestAnimationFrame(() => {
1463
- const menuItems = this.getSlottedItems();
1464
- if (menuItems.length > 0) {
1465
- menuItems[0].focus();
1466
- }
1467
- });
1501
+ // Only focus the first item if the trigger was keyboard-focus-visible
1502
+ // that's the browser's own signal for a keyboard-driven interaction.
1503
+ if (this.wasFocusVisible(this.lastFocusedElement)) {
1504
+ requestAnimationFrame(() => {
1505
+ const menuItems = this.getSlottedItems();
1506
+ if (menuItems.length > 0) {
1507
+ menuItems[0].focus();
1508
+ }
1509
+ });
1510
+ }
1468
1511
  }
1469
1512
  else if (this.lastFocusedElement) {
1470
1513
  this.lastFocusedElement.focus();
1471
1514
  }
1472
1515
  }
1516
+ wasFocusVisible(element) {
1517
+ if (!element)
1518
+ return false;
1519
+ try {
1520
+ return element.matches(':focus-visible');
1521
+ }
1522
+ catch {
1523
+ // Not supported, fall back to always focusing
1524
+ return true;
1525
+ }
1526
+ }
1473
1527
  controlKeyDownHandler(e) {
1474
1528
  const menuItems = this.getSlottedItems();
1475
1529
  if (menuItems.length === 0) {
@@ -1521,7 +1575,7 @@ const PostMenu = class {
1521
1575
  ]));
1522
1576
  }
1523
1577
  render() {
1524
- return (h(Host, { key: '31142d851d591bc46a43f36b553b6c7abee90674', "data-version": version }, h("post-popovercontainer", { key: '6b4b2a04b25904115fe1c337e73e382a4e162259', onPostShow: this.handlePostShown.bind(this), onPostBeforeToggle: this.handlePostBeforeToggle.bind(this), placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '1284650d5796455201d55e1ecad3507518c7c32c', part: "post-menu" }, h("slot", { key: 'b2dbd125a631c06a591e67c52fd61524bcf037ea', name: "header" }), h("slot", { key: '3b15ec3ad5a25e2e22b6e26e17d9d2d76e9f64fb' })))));
1578
+ return (h(Host, { key: 'cc6ede4cdacb722006475de88385b041d7e42dcb', "data-version": version }, h("post-popovercontainer", { key: '3931f604aad477441112fd0b5a4800c8f034abbb', onPostShow: this.handlePostShown.bind(this), onPostBeforeToggle: this.handlePostBeforeToggle.bind(this), placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '1b0adb12bb1369d14a6bcfac3c956090eb66572a', part: "post-menu" }, h("slot", { key: '9c2518e7e9e6ccaa64d486a90b5fc7eec15c24b8', name: "header" }), h("slot", { key: 'd28df1e411010aabe083255cd5e5ece4bd62424d' })))));
1525
1579
  }
1526
1580
  get host() { return getElement(this); }
1527
1581
  };
@@ -1540,7 +1594,7 @@ __decorate$2([
1540
1594
  ], PostMenu.prototype, "handlePostBeforeToggle", null);
1541
1595
  PostMenu.style = postMenuCss();
1542
1596
 
1543
- 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}`;
1597
+ 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}`;
1544
1598
 
1545
1599
  const PostMenuItem = class {
1546
1600
  constructor(hostRef) {
@@ -1620,7 +1674,7 @@ const PostMenuTrigger = class {
1620
1674
  return null;
1621
1675
  }
1622
1676
  render() {
1623
- return (h(Host, { key: '8f43fe80dd56550141481f157a06caf559494291', "data-version": version }, h("slot", { key: '1b5d220cff9894918aedc54b0585df75095dcb0e' })));
1677
+ return (h(Host, { key: 'fcdfd58ba24cd5269461477ac3d00a53ccf2ea1b', "data-version": version }, h("slot", { key: 'b3a6b137bf61accd32eb1bec5af5e39e68ec6613' })));
1624
1678
  }
1625
1679
  get host() { return getElement(this); }
1626
1680
  };
@@ -1635,6 +1689,7 @@ PostMenuTrigger.style = postMenuTriggerCss();
1635
1689
  * @see https://floating-ui.com/docs/virtual-elements
1636
1690
  */
1637
1691
 
1692
+ const sides = ['top', 'right', 'bottom', 'left'];
1638
1693
  const min = Math.min;
1639
1694
  const max = Math.max;
1640
1695
  const round = Math.round;
@@ -1727,12 +1782,12 @@ function getOppositePlacement(placement) {
1727
1782
  return oppositeSideMap[side] + placement.slice(side.length);
1728
1783
  }
1729
1784
  function expandPaddingObject(padding) {
1785
+ var _padding$top, _padding$right, _padding$bottom, _padding$left;
1730
1786
  return {
1731
- top: 0,
1732
- right: 0,
1733
- bottom: 0,
1734
- left: 0,
1735
- ...padding
1787
+ top: (_padding$top = padding.top) != null ? _padding$top : 0,
1788
+ right: (_padding$right = padding.right) != null ? _padding$right : 0,
1789
+ bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
1790
+ left: (_padding$left = padding.left) != null ? _padding$left : 0
1736
1791
  };
1737
1792
  }
1738
1793
  function getPaddingObject(padding) {
@@ -1807,13 +1862,9 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
1807
1862
  y: reference.y
1808
1863
  };
1809
1864
  }
1810
- switch (getAlignment(placement)) {
1811
- case 'start':
1812
- coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
1813
- break;
1814
- case 'end':
1815
- coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
1816
- break;
1865
+ const alignment = getAlignment(placement);
1866
+ if (alignment) {
1867
+ coords[alignmentAxis] += commonAlign * (alignment === 'end' ? 1 : -1) * (rtl && isVertical ? -1 : 1);
1817
1868
  }
1818
1869
  return coords;
1819
1870
  }
@@ -1862,10 +1913,7 @@ async function detectOverflow(state, options) {
1862
1913
  height: rects.floating.height
1863
1914
  } : rects.reference;
1864
1915
  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
1865
- const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
1866
- x: 1,
1867
- y: 1
1868
- } : {
1916
+ const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) && (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
1869
1917
  x: 1,
1870
1918
  y: 1
1871
1919
  };
@@ -2038,17 +2086,16 @@ const arrow$1 = options => ({
2038
2086
 
2039
2087
  // Make sure the arrow doesn't overflow the floating element if the center
2040
2088
  // point is outside the floating element's bounds.
2041
- const min$1 = minPadding;
2042
2089
  const max = clientSize - arrowDimensions[length] - maxPadding;
2043
2090
  const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
2044
- const offset = clamp(min$1, center, max);
2091
+ const offset = clamp(minPadding, center, max);
2045
2092
 
2046
2093
  // If the reference is small enough that the arrow's padding causes it to
2047
2094
  // to point to nothing for an aligned placement, adjust the offset of the
2048
2095
  // floating element itself. To ensure `shift()` continues to take action,
2049
2096
  // a single reset is performed when this is true.
2050
- const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
2051
- const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
2097
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < minPadding ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
2098
+ const alignmentOffset = shouldAddOffset ? center < minPadding ? center - minPadding : center - max : 0;
2052
2099
  return {
2053
2100
  [axis]: coords[axis] + alignmentOffset,
2054
2101
  data: {
@@ -2195,6 +2242,76 @@ const flip$1 = function (options) {
2195
2242
  };
2196
2243
  };
2197
2244
 
2245
+ function getSideOffsets(overflow, rect) {
2246
+ return {
2247
+ top: overflow.top - rect.height,
2248
+ right: overflow.right - rect.width,
2249
+ bottom: overflow.bottom - rect.height,
2250
+ left: overflow.left - rect.width
2251
+ };
2252
+ }
2253
+ function isAnySideFullyClipped(overflow) {
2254
+ return sides.some(side => overflow[side] >= 0);
2255
+ }
2256
+ /**
2257
+ * Provides data to hide the floating element in applicable situations, such as
2258
+ * when it is not in the same clipping context as the reference element.
2259
+ * @see https://floating-ui.com/docs/hide
2260
+ */
2261
+ const hide$1 = function (options) {
2262
+ if (options === void 0) {
2263
+ options = {};
2264
+ }
2265
+ return {
2266
+ name: 'hide',
2267
+ options,
2268
+ async fn(state) {
2269
+ const {
2270
+ rects,
2271
+ platform
2272
+ } = state;
2273
+ const {
2274
+ strategy = 'referenceHidden',
2275
+ ...detectOverflowOptions
2276
+ } = evaluate(options, state);
2277
+ switch (strategy) {
2278
+ case 'referenceHidden':
2279
+ {
2280
+ const overflow = await platform.detectOverflow(state, {
2281
+ ...detectOverflowOptions,
2282
+ elementContext: 'reference'
2283
+ });
2284
+ const offsets = getSideOffsets(overflow, rects.reference);
2285
+ return {
2286
+ data: {
2287
+ referenceHiddenOffsets: offsets,
2288
+ referenceHidden: isAnySideFullyClipped(offsets)
2289
+ }
2290
+ };
2291
+ }
2292
+ case 'escaped':
2293
+ {
2294
+ const overflow = await platform.detectOverflow(state, {
2295
+ ...detectOverflowOptions,
2296
+ altBoundary: true
2297
+ });
2298
+ const offsets = getSideOffsets(overflow, rects.floating);
2299
+ return {
2300
+ data: {
2301
+ escapedOffsets: offsets,
2302
+ escaped: isAnySideFullyClipped(offsets)
2303
+ }
2304
+ };
2305
+ }
2306
+ default:
2307
+ {
2308
+ return {};
2309
+ }
2310
+ }
2311
+ }
2312
+ };
2313
+ };
2314
+
2198
2315
  function getBoundingRect(rects) {
2199
2316
  const minX = min(...rects.map(rect => rect.left));
2200
2317
  const minY = min(...rects.map(rect => rect.top));
@@ -2251,12 +2368,19 @@ const inline$1 = function (options) {
2251
2368
  y
2252
2369
  } = evaluate(options, state);
2253
2370
  const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);
2371
+
2372
+ // No rects (e.g. a hidden or detached reference, or a collapsed range) —
2373
+ // keep the existing reference rect rather than resetting to an invalid
2374
+ // one with non-finite values.
2375
+ if (!nativeClientRects.length) {
2376
+ return {};
2377
+ }
2254
2378
  const clientRects = getRectsByLine(nativeClientRects);
2255
2379
  const fallback = rectToClientRect(getBoundingRect(nativeClientRects));
2256
2380
  const paddingObject = getPaddingObject(padding);
2257
2381
  function getBoundingClientRect() {
2258
2382
  // There are two rects and they are disjoined.
2259
- if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {
2383
+ if (clientRects.length === 2 && (clientRects[0].left > clientRects[1].right || clientRects[1].left > clientRects[0].right) && x != null && y != null) {
2260
2384
  // Find the first rect in which the point is fully inside.
2261
2385
  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;
2262
2386
  }
@@ -2271,18 +2395,12 @@ const inline$1 = function (options) {
2271
2395
  const bottom = lastRect.bottom;
2272
2396
  const left = isTop ? firstRect.left : lastRect.left;
2273
2397
  const right = isTop ? firstRect.right : lastRect.right;
2274
- const width = right - left;
2275
- const height = bottom - top;
2276
- return {
2277
- top,
2278
- bottom,
2279
- left,
2280
- right,
2281
- width,
2282
- height,
2398
+ return rectToClientRect({
2283
2399
  x: left,
2284
- y: top
2285
- };
2400
+ y: top,
2401
+ width: right - left,
2402
+ height: bottom - top
2403
+ });
2286
2404
  }
2287
2405
  const isLeftSide = getSide(placement) === 'left';
2288
2406
  const maxRight = max(...clientRects.map(rect => rect.right));
@@ -2290,20 +2408,12 @@ const inline$1 = function (options) {
2290
2408
  const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);
2291
2409
  const top = measureRects[0].top;
2292
2410
  const bottom = measureRects[measureRects.length - 1].bottom;
2293
- const left = minLeft;
2294
- const right = maxRight;
2295
- const width = right - left;
2296
- const height = bottom - top;
2297
- return {
2298
- top,
2299
- bottom,
2300
- left,
2301
- right,
2302
- width,
2303
- height,
2304
- x: left,
2305
- y: top
2306
- };
2411
+ return rectToClientRect({
2412
+ x: minLeft,
2413
+ y: top,
2414
+ width: maxRight - minLeft,
2415
+ height: bottom - top
2416
+ });
2307
2417
  }
2308
2418
  return fallback;
2309
2419
  }
@@ -2453,23 +2563,16 @@ const shift$1 = function (options) {
2453
2563
  y
2454
2564
  };
2455
2565
  const overflow = await platform.detectOverflow(state, detectOverflowOptions);
2456
- const crossAxis = getSideAxis(getSide(placement));
2566
+ const crossAxis = getSideAxis(placement);
2457
2567
  const mainAxis = getOppositeAxis(crossAxis);
2458
2568
  let mainAxisCoord = coords[mainAxis];
2459
2569
  let crossAxisCoord = coords[crossAxis];
2570
+ const clampCoord = (axis, coord) => clamp(coord + overflow[axis === 'y' ? 'top' : 'left'], coord, coord - overflow[axis === 'y' ? 'bottom' : 'right']);
2460
2571
  if (checkMainAxis) {
2461
- const minSide = mainAxis === 'y' ? 'top' : 'left';
2462
- const maxSide = mainAxis === 'y' ? 'bottom' : 'right';
2463
- const min = mainAxisCoord + overflow[minSide];
2464
- const max = mainAxisCoord - overflow[maxSide];
2465
- mainAxisCoord = clamp(min, mainAxisCoord, max);
2572
+ mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
2466
2573
  }
2467
2574
  if (checkCrossAxis) {
2468
- const minSide = crossAxis === 'y' ? 'top' : 'left';
2469
- const maxSide = crossAxis === 'y' ? 'bottom' : 'right';
2470
- const min = crossAxisCoord + overflow[minSide];
2471
- const max = crossAxisCoord - overflow[maxSide];
2472
- crossAxisCoord = clamp(min, crossAxisCoord, max);
2575
+ crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
2473
2576
  }
2474
2577
  const limitedCoords = limiter.fn({
2475
2578
  ...state,
@@ -2500,6 +2603,7 @@ const limitShift$1 = function (options) {
2500
2603
  return {
2501
2604
  options,
2502
2605
  fn(state) {
2606
+ var _rawOffset$mainAxis, _rawOffset$crossAxis;
2503
2607
  const {
2504
2608
  x,
2505
2609
  y,
@@ -2525,9 +2629,8 @@ const limitShift$1 = function (options) {
2525
2629
  mainAxis: rawOffset,
2526
2630
  crossAxis: 0
2527
2631
  } : {
2528
- mainAxis: 0,
2529
- crossAxis: 0,
2530
- ...rawOffset
2632
+ mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
2633
+ crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
2531
2634
  };
2532
2635
  if (checkMainAxis) {
2533
2636
  const len = mainAxis === 'y' ? 'height' : 'width';
@@ -2559,6 +2662,12 @@ const limitShift$1 = function (options) {
2559
2662
  };
2560
2663
  };
2561
2664
 
2665
+ // Method syntax keeps callback parameters bivariant, but expressing the
2666
+ // explicit `| undefined` required by `exactOptionalPropertyTypes` needs
2667
+ // property syntax, which is contravariant under `strictFunctionTypes`.
2668
+ // Extracting the function from a method position restores that bivariance so
2669
+ // consumers can still assign callbacks with narrower parameter types.
2670
+
2562
2671
  /**
2563
2672
  * Provides data that allows you to change the size of the floating element —
2564
2673
  * for instance, prevent it from overflowing the clipping boundary or match the
@@ -2573,7 +2682,6 @@ const size$1 = function (options) {
2573
2682
  name: 'size',
2574
2683
  options,
2575
2684
  async fn(state) {
2576
- var _state$middlewareData, _state$middlewareData2;
2577
2685
  const {
2578
2686
  placement,
2579
2687
  rects,
@@ -2605,24 +2713,21 @@ const size$1 = function (options) {
2605
2713
  const maximumClippingWidth = width - overflow.left - overflow.right;
2606
2714
  const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
2607
2715
  const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
2608
- const noShift = !state.middlewareData.shift;
2716
+ const shiftData = state.middlewareData.shift;
2717
+ const noShift = !shiftData;
2609
2718
  let availableHeight = overflowAvailableHeight;
2610
2719
  let availableWidth = overflowAvailableWidth;
2611
- if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
2720
+ if (shiftData != null && shiftData.enabled.x) {
2612
2721
  availableWidth = maximumClippingWidth;
2613
2722
  }
2614
- if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
2723
+ if (shiftData != null && shiftData.enabled.y) {
2615
2724
  availableHeight = maximumClippingHeight;
2616
2725
  }
2617
2726
  if (noShift && !alignment) {
2618
- const xMin = max(overflow.left, 0);
2619
- const xMax = max(overflow.right, 0);
2620
- const yMin = max(overflow.top, 0);
2621
- const yMax = max(overflow.bottom, 0);
2622
2727
  if (isYAxis) {
2623
- availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
2728
+ availableWidth = width - 2 * max(overflow.left, overflow.right);
2624
2729
  } else {
2625
- availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
2730
+ availableHeight = height - 2 * max(overflow.top, overflow.bottom);
2626
2731
  }
2627
2732
  }
2628
2733
  await apply({
@@ -2778,7 +2883,7 @@ function getParentNode(node) {
2778
2883
  function getNearestOverflowAncestor(node) {
2779
2884
  const parentNode = getParentNode(node);
2780
2885
  if (isLastTraversableNode(parentNode)) {
2781
- return node.ownerDocument ? node.ownerDocument.body : node.body;
2886
+ return (node.ownerDocument || node).body;
2782
2887
  }
2783
2888
  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
2784
2889
  return parentNode;
@@ -2875,10 +2980,7 @@ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
2875
2980
  if (isFixed === void 0) {
2876
2981
  isFixed = false;
2877
2982
  }
2878
- if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
2879
- return false;
2880
- }
2881
- return isFixed;
2983
+ return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
2882
2984
  }
2883
2985
 
2884
2986
  function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
@@ -2905,12 +3007,12 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
2905
3007
  let y = (clientRect.top + visualOffsets.y) / scale.y;
2906
3008
  let width = clientRect.width / scale.x;
2907
3009
  let height = clientRect.height / scale.y;
2908
- if (domElement) {
3010
+ if (domElement && offsetParent) {
2909
3011
  const win = getWindow(domElement);
2910
- const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
3012
+ const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
2911
3013
  let currentWin = win;
2912
3014
  let currentIFrame = getFrameElement(currentWin);
2913
- while (currentIFrame && offsetParent && offsetWin !== currentWin) {
3015
+ while (currentIFrame && offsetWin !== currentWin) {
2914
3016
  const iframeScale = getScale(currentIFrame);
2915
3017
  const iframeRect = currentIFrame.getBoundingClientRect();
2916
3018
  const css = getComputedStyle$1(currentIFrame);
@@ -2974,7 +3076,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
2974
3076
  let scale = createCoords(1);
2975
3077
  const offsets = createCoords(0);
2976
3078
  const isOffsetParentAnElement = isHTMLElement(offsetParent);
2977
- if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
3079
+ if (isOffsetParentAnElement || !isFixed) {
2978
3080
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
2979
3081
  scroll = getNodeScroll(offsetParent);
2980
3082
  }
@@ -2995,18 +3097,17 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
2995
3097
  }
2996
3098
 
2997
3099
  function getClientRects(element) {
2998
- return Array.from(element.getClientRects());
3100
+ return element.getClientRects ? Array.from(element.getClientRects()) : [];
2999
3101
  }
3000
3102
 
3001
3103
  // Gets the entire size of the scrollable document area, even extending outside
3002
3104
  // of the `<html>` and `<body>` rect bounds if horizontally scrollable.
3003
- function getDocumentRect(element) {
3004
- const html = getDocumentElement(element);
3005
- const scroll = getNodeScroll(element);
3006
- const body = element.ownerDocument.body;
3105
+ function getDocumentRect(html) {
3106
+ const scroll = getNodeScroll(html);
3107
+ const body = html.ownerDocument.body;
3007
3108
  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
3008
3109
  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
3009
- let x = -scroll.scrollLeft + getWindowScrollBarX(element);
3110
+ let x = -scroll.scrollLeft + getWindowScrollBarX(html);
3010
3111
  const y = -scroll.scrollTop;
3011
3112
  if (getComputedStyle$1(body).direction === 'rtl') {
3012
3113
  x += max(html.clientWidth, body.clientWidth) - width;
@@ -3023,7 +3124,11 @@ function getDocumentRect(element) {
3023
3124
  // calculation is affected by unusual styles.
3024
3125
  // Most scrollbars leave 15-18px of space.
3025
3126
  const SCROLLBAR_MAX = 25;
3026
- function getViewportRect(element, strategy) {
3127
+ function getViewportRect(element, strategy, rootBoundary) {
3128
+ if (rootBoundary === void 0) {
3129
+ rootBoundary = 'viewport';
3130
+ }
3131
+ const isLayoutViewport = rootBoundary === 'layoutViewport';
3027
3132
  const win = getWindow(element);
3028
3133
  const html = getDocumentElement(element);
3029
3134
  const visualViewport = win.visualViewport;
@@ -3032,31 +3137,42 @@ function getViewportRect(element, strategy) {
3032
3137
  let x = 0;
3033
3138
  let y = 0;
3034
3139
  if (visualViewport) {
3035
- width = visualViewport.width;
3036
- height = visualViewport.height;
3037
- const visualViewportBased = isWebKit();
3038
- if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {
3039
- x = visualViewport.offsetLeft;
3040
- y = visualViewport.offsetTop;
3140
+ // Client coordinates are relative to the layout viewport, except in
3141
+ // WebKit with an `absolute` strategy, where they are relative to the
3142
+ // visual viewport.
3143
+ const layoutRelativeClientCoords = !isWebKit() || strategy === 'fixed';
3144
+ if (isLayoutViewport) {
3145
+ if (!layoutRelativeClientCoords) {
3146
+ x = -visualViewport.offsetLeft;
3147
+ y = -visualViewport.offsetTop;
3148
+ }
3149
+ } else {
3150
+ width = visualViewport.width;
3151
+ height = visualViewport.height;
3152
+ if (layoutRelativeClientCoords) {
3153
+ x = visualViewport.offsetLeft;
3154
+ y = visualViewport.offsetTop;
3155
+ }
3041
3156
  }
3042
3157
  }
3043
3158
  const windowScrollbarX = getWindowScrollBarX(html);
3044
- // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
3045
- // visual width of the <html> but this is not considered in the size
3046
- // of `html.clientWidth`.
3159
+ // `scrollbar-gutter: stable` on the <html> reserves gutter space that shrinks
3160
+ // the visual width but isn't reflected in `html.clientWidth`, so subtract it.
3161
+ // Only the inline-end (right) gutter can hold the scrollbar; `both-edges` also
3162
+ // reserves an empty inline-start gutter that clips nothing, so exclude just
3163
+ // the one scrollbar-side gutter — halve the measured (two-gutter) total. A
3164
+ // left-side scrollbar (`windowScrollbarX > 0`) is already handled by
3165
+ // `getHTMLOffset`/`visualViewport.width`; skip it here.
3047
3166
  if (windowScrollbarX <= 0) {
3048
3167
  const doc = html.ownerDocument;
3049
3168
  const body = doc.body;
3050
3169
  const bodyStyles = getComputedStyle(body);
3051
3170
  const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
3052
- const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
3053
- if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
3054
- width -= clippingStableScrollbarWidth;
3171
+ const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
3172
+ const gutter = getComputedStyle(html).scrollbarGutter === 'stable both-edges' ? reservedWidth / 2 : reservedWidth;
3173
+ if (gutter <= SCROLLBAR_MAX) {
3174
+ width -= gutter;
3055
3175
  }
3056
- } else if (windowScrollbarX <= SCROLLBAR_MAX) {
3057
- // If the <body> scrollbar is on the left, the width needs to be extended
3058
- // by the scrollbar amount so there isn't extra space on the right.
3059
- width += windowScrollbarX;
3060
3176
  }
3061
3177
  return {
3062
3178
  width,
@@ -3071,7 +3187,7 @@ function getInnerBoundingClientRect(element, strategy) {
3071
3187
  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
3072
3188
  const top = clientRect.top + element.clientTop;
3073
3189
  const left = clientRect.left + element.clientLeft;
3074
- const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
3190
+ const scale = getScale(element);
3075
3191
  const width = element.clientWidth * scale.x;
3076
3192
  const height = element.clientHeight * scale.y;
3077
3193
  const x = left * scale.x;
@@ -3085,8 +3201,8 @@ function getInnerBoundingClientRect(element, strategy) {
3085
3201
  }
3086
3202
  function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
3087
3203
  let rect;
3088
- if (clippingAncestor === 'viewport') {
3089
- rect = getViewportRect(element, strategy);
3204
+ if (clippingAncestor === 'viewport' || clippingAncestor === 'layoutViewport') {
3205
+ rect = getViewportRect(element, strategy, clippingAncestor);
3090
3206
  } else if (clippingAncestor === 'document') {
3091
3207
  rect = getDocumentRect(getDocumentElement(element));
3092
3208
  } else if (isElement(clippingAncestor)) {
@@ -3102,13 +3218,6 @@ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy)
3102
3218
  }
3103
3219
  return rectToClientRect(rect);
3104
3220
  }
3105
- function hasFixedPositionAncestor(element, stopNode) {
3106
- const parentNode = getParentNode(element);
3107
- if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
3108
- return false;
3109
- }
3110
- return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
3111
- }
3112
3221
 
3113
3222
  // A "clipping ancestor" is an `overflow` element with the characteristic of
3114
3223
  // clipping (or hiding) child elements. This returns all clipping ancestors
@@ -3119,7 +3228,7 @@ function getClippingElementAncestors(element, cache) {
3119
3228
  return cachedResult;
3120
3229
  }
3121
3230
  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
3122
- let currentContainingBlockComputedStyle = null;
3231
+ let lastKeptComputedStyle = null;
3123
3232
  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
3124
3233
  let currentNode = elementIsFixed ? getParentNode(element) : element;
3125
3234
 
@@ -3127,16 +3236,20 @@ function getClippingElementAncestors(element, cache) {
3127
3236
  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
3128
3237
  const computedStyle = getComputedStyle$1(currentNode);
3129
3238
  const currentNodeIsContaining = isContainingBlock(currentNode);
3130
- if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
3131
- currentContainingBlockComputedStyle = null;
3132
- }
3133
- const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
3239
+ // Position of the containing block chain below the current node. A fixed
3240
+ // element whose containing block hasn't been found yet is a fixed chain.
3241
+ const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? 'fixed' : '';
3242
+
3243
+ // A non-containing ancestor does not clip the element when the chain
3244
+ // below it escapes it: a fixed chain escapes all ancestors up to the
3245
+ // next containing block, an absolute chain escapes static ancestors.
3246
+ const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === 'fixed' || lastPosition === 'absolute' && computedStyle.position === 'static');
3134
3247
  if (shouldDropCurrentNode) {
3135
3248
  // Drop non-containing blocks.
3136
3249
  result = result.filter(ancestor => ancestor !== currentNode);
3137
3250
  } else {
3138
- // Record last containing block for next iteration.
3139
- currentContainingBlockComputedStyle = computedStyle;
3251
+ // The kept node carries the chain position for the next iteration.
3252
+ lastKeptComputedStyle = computedStyle;
3140
3253
  }
3141
3254
  currentNode = getParentNode(currentNode);
3142
3255
  }
@@ -3146,7 +3259,7 @@ function getClippingElementAncestors(element, cache) {
3146
3259
 
3147
3260
  // Gets the maximum area that the element is visible in due to any number of
3148
3261
  // clipping ancestors.
3149
- function getClippingRect(_ref) {
3262
+ function getClippingRect$1(_ref) {
3150
3263
  let {
3151
3264
  element,
3152
3265
  boundary,
@@ -3196,13 +3309,7 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
3196
3309
  scrollTop: 0
3197
3310
  };
3198
3311
  const offsets = createCoords(0);
3199
-
3200
- // If the <body> scrollbar appears on the left (e.g. RTL systems). Use
3201
- // Firefox with layout.scrollbar.side = 3 in about:config to test this.
3202
- function setLeftRTLScrollbarOffset() {
3203
- offsets.x = getWindowScrollBarX(documentElement);
3204
- }
3205
- if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
3312
+ if (isOffsetParentAnElement || !isFixed) {
3206
3313
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
3207
3314
  scroll = getNodeScroll(offsetParent);
3208
3315
  }
@@ -3210,12 +3317,13 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
3210
3317
  const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
3211
3318
  offsets.x = offsetRect.x + offsetParent.clientLeft;
3212
3319
  offsets.y = offsetRect.y + offsetParent.clientTop;
3213
- } else if (documentElement) {
3214
- setLeftRTLScrollbarOffset();
3215
3320
  }
3216
3321
  }
3217
- if (isFixed && !isOffsetParentAnElement && documentElement) {
3218
- setLeftRTLScrollbarOffset();
3322
+
3323
+ // If the <body> scrollbar appears on the left (e.g. RTL systems). Use
3324
+ // Firefox with layout.scrollbar.side = 3 in about:config to test this.
3325
+ if (!isOffsetParentAnElement && documentElement) {
3326
+ offsets.x = getWindowScrollBarX(documentElement);
3219
3327
  }
3220
3328
  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
3221
3329
  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
@@ -3300,7 +3408,7 @@ function isRTL(element) {
3300
3408
  const platform = {
3301
3409
  convertOffsetParentRelativeRectToViewportRelativeRect,
3302
3410
  getDocumentElement,
3303
- getClippingRect,
3411
+ getClippingRect: getClippingRect$1,
3304
3412
  getOffsetParent,
3305
3413
  getElementRects,
3306
3414
  getClientRects,
@@ -3315,7 +3423,7 @@ function rectsAreEqual(a, b) {
3315
3423
  }
3316
3424
 
3317
3425
  // https://samthor.au/2021/observing-dom/
3318
- function observeMove(element, onMove) {
3426
+ function observeMove(element, onMove, ancestorResize) {
3319
3427
  let io = null;
3320
3428
  let timeoutId;
3321
3429
  const root = getDocumentElement(element);
@@ -3358,13 +3466,22 @@ function observeMove(element, onMove) {
3358
3466
  let isFirstUpdate = true;
3359
3467
  function handleObserve(entries) {
3360
3468
  const ratio = entries[0].intersectionRatio;
3469
+
3470
+ // The entry is a snapshot, so the reference may have moved since the
3471
+ // intersection was computed (under performance constraints, or between
3472
+ // consecutive frames of a multi-frame layout shift). The reported ratio
3473
+ // and the observed area are stale in that case and cannot be trusted to
3474
+ // detect subsequent movement, so refresh regardless of the ratio.
3475
+ if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
3476
+ return refresh();
3477
+ }
3361
3478
  if (ratio !== threshold) {
3362
3479
  if (!isFirstUpdate) {
3363
3480
  return refresh();
3364
3481
  }
3365
3482
  if (!ratio) {
3366
- // If the reference is clipped, the ratio is 0. Throttle the refresh
3367
- // to prevent an infinite loop of updates.
3483
+ // If the reference is clipped in place, the ratio is 0. Throttle
3484
+ // the refresh to prevent an infinite loop of updates.
3368
3485
  timeoutId = setTimeout(() => {
3369
3486
  refresh(false, 1e-7);
3370
3487
  }, 1000);
@@ -3372,16 +3489,6 @@ function observeMove(element, onMove) {
3372
3489
  refresh(false, ratio);
3373
3490
  }
3374
3491
  }
3375
- if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
3376
- // It's possible that even though the ratio is reported as 1, the
3377
- // element is not actually fully within the IntersectionObserver's root
3378
- // area anymore. This can happen under performance constraints. This may
3379
- // be a bug in the browser's IntersectionObserver implementation. To
3380
- // work around this, we compare the element's bounding rect now with
3381
- // what it was at the time we created the IntersectionObserver. If they
3382
- // are not equal then the element moved, so we refresh.
3383
- refresh();
3384
- }
3385
3492
  isFirstUpdate = false;
3386
3493
  }
3387
3494
 
@@ -3398,8 +3505,18 @@ function observeMove(element, onMove) {
3398
3505
  }
3399
3506
  io.observe(element);
3400
3507
  }
3508
+ const win = getWindow(element);
3509
+ // The window is a resize ancestor, so when `ancestorResize` is enabled its
3510
+ // listener already runs the update on resize. Here we only need to rebuild
3511
+ // the `IntersectionObserver` for the new root size, skipping a redundant
3512
+ // update. When `ancestorResize` is disabled, this becomes the sole update.
3513
+ const handleResize = () => refresh(ancestorResize);
3514
+ win.addEventListener('resize', handleResize);
3401
3515
  refresh(true);
3402
- return cleanup;
3516
+ return () => {
3517
+ win.removeEventListener('resize', handleResize);
3518
+ cleanup();
3519
+ };
3403
3520
  }
3404
3521
 
3405
3522
  /**
@@ -3424,12 +3541,10 @@ function autoUpdate(reference, floating, update, options) {
3424
3541
  const referenceEl = unwrapElement(reference);
3425
3542
  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];
3426
3543
  ancestors.forEach(ancestor => {
3427
- ancestorScroll && ancestor.addEventListener('scroll', update, {
3428
- passive: true
3429
- });
3544
+ ancestorScroll && ancestor.addEventListener('scroll', update);
3430
3545
  ancestorResize && ancestor.addEventListener('resize', update);
3431
3546
  });
3432
- const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
3547
+ const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update, ancestorResize) : null;
3433
3548
  let reobserveFrame = -1;
3434
3549
  let resizeObserver = null;
3435
3550
  if (elementResize) {
@@ -3515,6 +3630,13 @@ const flip = flip$1;
3515
3630
  */
3516
3631
  const size = size$1;
3517
3632
 
3633
+ /**
3634
+ * Provides data to hide the floating element in applicable situations, such as
3635
+ * when it is not in the same clipping context as the reference element.
3636
+ * @see https://floating-ui.com/docs/hide
3637
+ */
3638
+ const hide = hide$1;
3639
+
3518
3640
  /**
3519
3641
  * Provides data to position an inner element of the floating element so that it
3520
3642
  * appears centered to the reference element.
@@ -3543,11 +3665,9 @@ const computePosition = (reference, floating, options) => {
3543
3665
  // multiple lifecycle resets re-use the same result. It only lives for a
3544
3666
  // single call. If other functions become expensive, we can add them as well.
3545
3667
  const cache = new Map();
3546
- const mergedOptions = {
3547
- platform,
3548
- ...options
3549
- };
3668
+ const mergedOptions = options != null ? options : {};
3550
3669
  const platformWithCache = {
3670
+ ...platform,
3551
3671
  ...mergedOptions.platform,
3552
3672
  _c: cache
3553
3673
  };
@@ -4364,6 +4484,77 @@ function apply() {
4364
4484
  injectStyles(document);
4365
4485
  }
4366
4486
 
4487
+ /**
4488
+ * This utility is covered by the end-to-end tests under 'clipping' in `popovercontainer.cy.ts`.
4489
+ */
4490
+ const CLIPPING_RECT_CACHE = Symbol('Clipping Rect Cache');
4491
+ /**
4492
+ * A custom floating UI platform that restricts clipping rectangles to the safe area.
4493
+ */
4494
+ const safeAreaPlatform = { ...platform, getClippingRect };
4495
+ /**
4496
+ * Computes the clipping rectangle of an element while accounting for the safe area.
4497
+ */
4498
+ async function getClippingRect(...args) {
4499
+ const element = args[0].element;
4500
+ // Check whether the clipping rectangle of the given element has already been computed during
4501
+ // this pass.
4502
+ const hit = this[CLIPPING_RECT_CACHE].get(element);
4503
+ if (hit)
4504
+ return hit;
4505
+ // Compute the clipping rectangle with the Floating UI DOM platform, then restrict it to the safe
4506
+ // area.
4507
+ const clippingRect = await platform.getClippingRect.apply(this, args);
4508
+ applySafeArea(clippingRect, element);
4509
+ this[CLIPPING_RECT_CACHE].set(element, clippingRect);
4510
+ return clippingRect;
4511
+ }
4512
+ /**
4513
+ * Restricts the `clippingRect` computed for `element` to the safe area, modifying it in place.
4514
+ *
4515
+ * The safe area only applies to elements that the header can actually cover, which excludes
4516
+ * elements without a header on their page, elements on a top layer and elements within the header.
4517
+ */
4518
+ function applySafeArea(clippingRect, element) {
4519
+ const headerElement = element.ownerDocument.querySelector('post-header');
4520
+ if (headerElement === null)
4521
+ return;
4522
+ let parent = element;
4523
+ while (!isLastTraversableNode(parent)) {
4524
+ parent = getParentNode(parent);
4525
+ if (!isHTMLElement(parent))
4526
+ continue;
4527
+ // Do not apply the safe area of the header to
4528
+ // - elements that are on a top layer, such as a dialog.
4529
+ // - elements that are located within the header itself.
4530
+ if (isTopLayer(parent) || parent === headerElement)
4531
+ return;
4532
+ }
4533
+ const headerRect = headerElement.getBoundingClientRect();
4534
+ const top = Math.max(clippingRect.y, headerRect.bottom);
4535
+ clippingRect.height -= top - clippingRect.y;
4536
+ clippingRect.y = top;
4537
+ }
4538
+ /**
4539
+ * Computes the coordinates that will position the `floating` element next to a given `reference`
4540
+ * element while accounting for the safe area.
4541
+ *
4542
+ * The safe area is the part of the viewport that the header does not cover. Restricting the
4543
+ * clipping rectangles to it makes floating elements behave as if they were clipped by the header.
4544
+ */
4545
+ const computePositionWithSafeArea = (reference, floating, options) => {
4546
+ // Adapted from https://github.com/floating-ui/floating-ui/blob/27629b74ba36ab8ceb2a968051927b9b69511a3b/packages/dom/src/index.ts#L15
4547
+ options ?? (options = {});
4548
+ return computePosition(reference, floating, {
4549
+ ...options,
4550
+ platform: {
4551
+ ...safeAreaPlatform,
4552
+ ...options.platform,
4553
+ [CLIPPING_RECT_CACHE]: new Map(),
4554
+ },
4555
+ });
4556
+ };
4557
+
4367
4558
  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))}`;
4368
4559
 
4369
4560
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -4441,7 +4632,7 @@ const PostPopovercontainer = class {
4441
4632
  if (this.toggleTimeoutId || !target)
4442
4633
  return;
4443
4634
  this.eventTarget = target;
4444
- this.calculatePosition();
4635
+ this.updatePosition();
4445
4636
  this.host.showPopover();
4446
4637
  }
4447
4638
  /**
@@ -4467,7 +4658,7 @@ const PostPopovercontainer = class {
4467
4658
  this.eventTarget = target;
4468
4659
  // Prevent instant double toggle
4469
4660
  if (!this.toggleTimeoutId) {
4470
- this.calculatePosition();
4661
+ this.updatePosition();
4471
4662
  this.host.togglePopover(force);
4472
4663
  this.toggleTimeoutId = null;
4473
4664
  }
@@ -4579,17 +4770,14 @@ const PostPopovercontainer = class {
4579
4770
  startAutoupdates() {
4580
4771
  if (!this.eventTarget || !this.host)
4581
4772
  return;
4582
- this.clearAutoUpdate = autoUpdate(this.eventTarget, this.host, this.calculatePosition.bind(this));
4583
- }
4584
- /**
4585
- * Retrieves the dynamic height of the header
4586
- */
4587
- getHeaderHeight() {
4588
- const header = document.querySelector('post-header');
4589
- return header ? Number.parseFloat(getComputedStyle(header).height) : 0;
4773
+ this.clearAutoUpdate = autoUpdate(this.eventTarget, this.host, this.updatePosition.bind(this));
4590
4774
  }
4591
- async calculatePosition() {
4592
- const { x, y, middlewareData, placement } = await this.computeMainPosition();
4775
+ async updatePosition() {
4776
+ const { x, y, middlewareData, placement } = await this.calculatePosition();
4777
+ // Hide the popover if the target is outside the viewport
4778
+ if (middlewareData.hide?.referenceHidden) {
4779
+ this.host.hidePopover();
4780
+ }
4593
4781
  const currentPlacement = placement.split('-')[0];
4594
4782
  this.dynamicPlacement = currentPlacement;
4595
4783
  // Position popover
@@ -4614,13 +4802,15 @@ const PostPopovercontainer = class {
4614
4802
  await this.updateSafeSpaceBoundaries(currentPlacement);
4615
4803
  }
4616
4804
  }
4617
- async computeMainPosition() {
4805
+ async calculatePosition() {
4618
4806
  const gap = this.edgeGap;
4619
4807
  const isAligned = (this.placement || 'top').includes('-');
4620
- const flipMiddleware = flip({
4621
- padding: this.getHeaderHeight(),
4622
- crossAxis: false,
4623
- });
4808
+ const flipMiddleware = [
4809
+ // Flip the popover if the target moves outside the viewport
4810
+ flip({ elementContext: 'reference', crossAxis: false }),
4811
+ // Flip the popover if the popover itself moves outside the viewport
4812
+ flip({ elementContext: 'floating', crossAxis: false }),
4813
+ ];
4624
4814
  const shiftMiddleware = shift({
4625
4815
  padding: gap,
4626
4816
  limiter: limitShift({
@@ -4632,7 +4822,7 @@ const PostPopovercontainer = class {
4632
4822
  inline(),
4633
4823
  // Per floating-ui docs: for aligned placements (e.g. bottom-end),
4634
4824
  // flip should come before shift. For non-aligned, shift before flip.
4635
- ...(isAligned ? [flipMiddleware, shiftMiddleware] : [shiftMiddleware, flipMiddleware]),
4825
+ ...(isAligned ? [...flipMiddleware, shiftMiddleware] : [shiftMiddleware, ...flipMiddleware]),
4636
4826
  size({
4637
4827
  apply({ availableWidth, elements }) {
4638
4828
  Object.assign(elements.floating.style, {
@@ -4644,7 +4834,12 @@ const PostPopovercontainer = class {
4644
4834
  if (this.arrow) {
4645
4835
  middleware.push(arrow({ element: this.arrowRef, padding: gap }));
4646
4836
  }
4647
- return computePosition(this.eventTarget, this.host, {
4837
+ // Automatically hide the popover if the target moves outside the scrollport.
4838
+ if (this.autoHide) {
4839
+ // Per floating-ui docs: hide should generally be placed at the end.
4840
+ middleware.push(hide({ strategy: 'referenceHidden' }));
4841
+ }
4842
+ return computePositionWithSafeArea(this.eventTarget, this.host, {
4648
4843
  placement: this.placement || 'top',
4649
4844
  strategy: 'fixed',
4650
4845
  middleware,
@@ -4711,9 +4906,9 @@ const PostPopovercontainer = class {
4711
4906
  }
4712
4907
  }
4713
4908
  render() {
4714
- return (h(Host, { key: 'be9f32a35f247f5b2cb54599b96e715ce1a5a1f1', "data-version": version, popover: "auto" }, h("div", { key: 'ad2616c15dfec83e1e53ad14cb145aee2d625c9a', part: "post-popovercontainer-content", class: "popover-content" }, this.arrow && (h("span", { key: '293ba9d1ba2a7b57297cd4aa716ba1369b2f8988', "dynamic-placement": this.dynamicPlacement, class: "arrow", ref: el => {
4909
+ return (h(Host, { key: 'a6f41ad3ef982f9e9ec0d6450837d1cfdca73d16', "data-version": version, popover: "auto" }, h("div", { key: '40afab436d5550fda44c8995139080161eab5b09', part: "post-popovercontainer-content", class: "popover-content" }, this.arrow && (h("span", { key: '580bd8fcaecb89334aca05001137a4d7cccd254a', "dynamic-placement": this.dynamicPlacement, class: "arrow", ref: el => {
4715
4910
  this.arrowRef = el;
4716
- } })), h("span", { key: '7b9d47b53a4d4a672490eccdc88a7eb0552b5574', part: "post-popovercontainer-border-mask" }), h("slot", { key: '4b4249d6ebe1c247634bbb76b08ec01e73dc7d4b' }))));
4911
+ } })), h("span", { key: '61a6e4e8026832afc188edd5a74535716db65945', part: "post-popovercontainer-border-mask" }), h("slot", { key: 'd79cb69a77dbba13ffa3c30e0393db4f3a669a12' }))));
4717
4912
  }
4718
4913
  get host() { return getElement(this); }
4719
4914
  };
@@ -4777,7 +4972,7 @@ const PostTogglebutton = class {
4777
4972
  });
4778
4973
  }
4779
4974
  render() {
4780
- return (h(Host, { key: '6f61a07946f3e67bace0a883b73c424893c4043d', "data-version": version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, h("slot", { key: 'fd9b93e45da499dbb790ad675f3db36e248c1960' })));
4975
+ return (h(Host, { key: 'ae46e9fcd82766abcf76c4b37d0341cfd29f2f4f', "data-version": version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, h("slot", { key: '9c71c065225f0f5c68e76fa2cec6d75bdf29fed0' })));
4781
4976
  }
4782
4977
  get host() { return getElement(this); }
4783
4978
  };