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