@swisspost/design-system-components 10.4.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-BtgLWaMJ.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-CW10QvjR.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-vJeW7S4_.js → one-of-LGG0uEIi.js} +1 -1
- package/dist/cjs/{package-CL8OSAS4.js → package-DdU-rENe.js} +1 -1
- package/dist/cjs/{pattern-Zmn3wpyp.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 -67
- package/dist/cjs/post-closebutton_14.cjs.entry.js +404 -210
- 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 +8 -8
- package/dist/cjs/post-footer.cjs.entry.js +8 -8
- 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 +7 -6
- package/dist/cjs/post-pagination.cjs.entry.js +6 -6
- 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 +9 -9
- 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 +8 -8
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +7 -7
- package/dist/cjs/post-tooltip.cjs.entry.js +6 -6
- package/dist/cjs/{required-DRnPokVn.js → required-bJzxBV-V.js} +1 -1
- package/dist/cjs/{type-CNcU_-B2.js → type-CGPnqGY1.js} +1 -1
- package/dist/cjs/{url-DgJ3lXQz.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 -62
- 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.js +2 -2
- package/dist/collection/components/post-footer/post-footer.js +2 -2
- 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.js +1 -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.js +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +1 -1
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +1 -1
- package/dist/collection/components/post-menu/post-menu.js +23 -8
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +1 -1
- package/dist/collection/components/post-number-input/post-number-input.js +2 -2
- 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 +1 -1
- 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.js +2 -2
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +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-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-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-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-C-lLRsYC.js → components/react/p-BdLRXQqY.js} +1 -1
- package/dist/components/react/{p-Df31eVdi.js → p-C8vlYfD-.js} +1 -1
- package/dist/components/react/{p-9RCG8BWM.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-Bwko4UKh.js → p-CoCua20S.js} +1 -1
- package/dist/components/react/p-CuVhOs8F.js +1 -0
- package/dist/components/react/{p-B1kYo1K9.js → p-D3rq_-Qk.js} +1 -1
- package/dist/components/react/{p-CSmrQ__L.js → p-DD-Sl3Ji.js} +1 -1
- package/dist/components/react/{p-D-imniYA.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-BSb74xQy.js → p-PYoaz_Xl.js} +1 -1
- package/dist/components/react/{p-CwmQwirr.js → p-SBBBSmJM.js} +1 -1
- 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 +62 -16
- package/dist/esm/breakpoints-I1j7a0bW.js +45 -0
- package/dist/esm/{create-validator-decorator-CNUaQboh.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-sn7oKSwC.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-C6Ironyj.js → one-of-Mx4vYjem.js} +1 -1
- package/dist/esm/{package-tTf1w3A9.js → package-Ny5VnydI.js} +1 -1
- package/dist/esm/{pattern-57oD--q3.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 -67
- package/dist/esm/post-closebutton_14.entry.js +403 -209
- 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 +8 -8
- package/dist/esm/post-footer.entry.js +8 -8
- 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 +6 -5
- package/dist/esm/post-pagination.entry.js +6 -6
- 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 +9 -9
- 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 +8 -8
- package/dist/esm/post-tooltip-trigger.entry.js +7 -7
- package/dist/esm/post-tooltip.entry.js +6 -6
- package/dist/esm/{required-D2rl2XZJ.js → required-CxvSCYJj.js} +1 -1
- package/dist/esm/{type-CGynDrfh.js → type-CYB7_Yi8.js} +1 -1
- package/dist/esm/{url-1wyUfUv-.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-212c71e4.entry.js → p-2379e498.entry.js} +1 -1
- package/dist/post-components/p-29e6c2a4.entry.js +1 -0
- package/dist/post-components/{p-a01ea634.entry.js → p-2cb843f4.entry.js} +1 -1
- package/dist/post-components/{p-96bf6b01.entry.js → p-2ee255c1.entry.js} +1 -1
- package/dist/post-components/{p-b535fc10.entry.js → p-3a75186d.entry.js} +1 -1
- package/dist/post-components/{p-3149d866.entry.js → p-44718c1a.entry.js} +1 -1
- package/dist/post-components/{p-167191e5.entry.js → p-4e2bb082.entry.js} +1 -1
- 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-beed9922.entry.js → p-a9223467.entry.js} +1 -1
- package/dist/post-components/{p-e8d9723e.entry.js → p-b6e231a8.entry.js} +1 -1
- package/dist/post-components/{p-70fbe469.entry.js → p-b856263a.entry.js} +1 -1
- package/dist/post-components/p-bR8vy6-s.js +1 -0
- package/dist/post-components/{p-58422de1.entry.js → p-c7a39444.entry.js} +1 -1
- package/dist/post-components/p-cGcyMrvx.js +1 -0
- package/dist/post-components/{p-b99e6621.entry.js → p-cde00944.entry.js} +1 -1
- package/dist/post-components/p-cf7493ab.entry.js +1 -0
- package/dist/post-components/{p-e08d26f4.entry.js → p-e463e7ac.entry.js} +1 -1
- package/dist/post-components/{p-1cf5bc67.entry.js → p-e7f97f6d.entry.js} +1 -1
- package/dist/post-components/p-e8268a8d.entry.js +1 -0
- package/dist/post-components/{p-cf6eacab.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-da217dbc.entry.js → p-ffec1880.entry.js} +1 -1
- package/dist/post-components/{p-DoNhJ2D7.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-menu/post-menu.d.ts +1 -0
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +8 -5
- package/dist/types/components.d.ts +20 -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 +908 -625
- package/hydrate/index.mjs +908 -625
- package/package.json +7 -6
- package/dist/components/react/p-BXqGI600.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-CX2E_IXB.js +0 -1
- package/dist/components/react/p-D17tCsFk.js +0 -1
- package/dist/components/react/p-DD1c_IgL.js +0 -1
- package/dist/components/react/p-I0dqoE80.js +0 -1
- package/dist/components/react/p-rEfV4v4a.js +0 -1
- package/dist/components/react/p-tTf1w3A9.js +0 -1
- package/dist/post-components/p-0323b0f3.entry.js +0 -1
- package/dist/post-components/p-06ddd73b.entry.js +0 -1
- package/dist/post-components/p-090e52db.entry.js +0 -1
- package/dist/post-components/p-292a9784.entry.js +0 -1
- package/dist/post-components/p-2de6fe62.entry.js +0 -1
- package/dist/post-components/p-39ff8127.entry.js +0 -1
- package/dist/post-components/p-3a968b19.entry.js +0 -1
- package/dist/post-components/p-472_tiaS.js +0 -1
- package/dist/post-components/p-5873a90c.entry.js +0 -1
- package/dist/post-components/p-986fa1c1.entry.js +0 -1
- package/dist/post-components/p-BQ3HlJPr.js +0 -1
- package/dist/post-components/p-B_FOhVrp.js +0 -1
- package/dist/post-components/p-CeNqFJV7.js +0 -1
- package/dist/post-components/p-DYDdaLz-.js +0 -1
- package/dist/post-components/p-b1d2384a.entry.js +0 -1
- package/dist/post-components/p-bf83a3fb.entry.js +0 -1
- package/dist/post-components/p-c46bc56f.entry.js +0 -1
- package/dist/post-components/p-ce8132a9.entry.js +0 -1
- package/dist/post-components/p-d72e830b.entry.js +0 -1
- package/dist/post-components/p-rEfV4v4a.js +0 -1
- package/dist/post-components/p-sn7oKSwC.js +0 -2
- package/dist/post-components/p-tTf1w3A9.js +0 -1
package/hydrate/index.js
CHANGED
|
@@ -5889,182 +5889,24 @@ function Url() {
|
|
|
5889
5889
|
});
|
|
5890
5890
|
}
|
|
5891
5891
|
|
|
5892
|
-
/* eslint-disable no-undefined,no-param-reassign,no-shadow */
|
|
5893
|
-
|
|
5894
|
-
/**
|
|
5895
|
-
* Throttle execution of a function. Especially useful for rate limiting
|
|
5896
|
-
* execution of handlers on events like resize and scroll.
|
|
5897
|
-
*
|
|
5898
|
-
* @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)
|
|
5899
|
-
* are most useful.
|
|
5900
|
-
* @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,
|
|
5901
|
-
* as-is, to `callback` when the throttled-function is executed.
|
|
5902
|
-
* @param {object} [options] - An object to configure options.
|
|
5903
|
-
* @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds
|
|
5904
|
-
* while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed
|
|
5905
|
-
* one final time after the last throttled-function call. (After the throttled-function has not been called for
|
|
5906
|
-
* `delay` milliseconds, the internal counter is reset).
|
|
5907
|
-
* @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback
|
|
5908
|
-
* immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that
|
|
5909
|
-
* callback will never executed if both noLeading = true and noTrailing = true.
|
|
5910
|
-
* @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is
|
|
5911
|
-
* false (at end), schedule `callback` to execute after `delay` ms.
|
|
5912
|
-
*
|
|
5913
|
-
* @returns {Function} A new, throttled, function.
|
|
5914
|
-
*/
|
|
5915
|
-
function throttle (delay, callback, options) {
|
|
5916
|
-
var _ref = options || {},
|
|
5917
|
-
_ref$noTrailing = _ref.noTrailing,
|
|
5918
|
-
noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,
|
|
5919
|
-
_ref$noLeading = _ref.noLeading,
|
|
5920
|
-
noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,
|
|
5921
|
-
_ref$debounceMode = _ref.debounceMode,
|
|
5922
|
-
debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;
|
|
5923
|
-
/*
|
|
5924
|
-
* After wrapper has stopped being called, this timeout ensures that
|
|
5925
|
-
* `callback` is executed at the proper times in `throttle` and `end`
|
|
5926
|
-
* debounce modes.
|
|
5927
|
-
*/
|
|
5928
|
-
var timeoutID;
|
|
5929
|
-
var cancelled = false;
|
|
5930
|
-
|
|
5931
|
-
// Keep track of the last time `callback` was executed.
|
|
5932
|
-
var lastExec = 0;
|
|
5933
|
-
|
|
5934
|
-
// Function to clear existing timeout
|
|
5935
|
-
function clearExistingTimeout() {
|
|
5936
|
-
if (timeoutID) {
|
|
5937
|
-
clearTimeout(timeoutID);
|
|
5938
|
-
}
|
|
5939
|
-
}
|
|
5940
|
-
|
|
5941
|
-
// Function to cancel next exec
|
|
5942
|
-
function cancel(options) {
|
|
5943
|
-
var _ref2 = options || {},
|
|
5944
|
-
_ref2$upcomingOnly = _ref2.upcomingOnly,
|
|
5945
|
-
upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;
|
|
5946
|
-
clearExistingTimeout();
|
|
5947
|
-
cancelled = !upcomingOnly;
|
|
5948
|
-
}
|
|
5949
|
-
|
|
5950
|
-
/*
|
|
5951
|
-
* The `wrapper` function encapsulates all of the throttling / debouncing
|
|
5952
|
-
* functionality and when executed will limit the rate at which `callback`
|
|
5953
|
-
* is executed.
|
|
5954
|
-
*/
|
|
5955
|
-
function wrapper() {
|
|
5956
|
-
for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
5957
|
-
arguments_[_key] = arguments[_key];
|
|
5958
|
-
}
|
|
5959
|
-
var self = this;
|
|
5960
|
-
var elapsed = Date.now() - lastExec;
|
|
5961
|
-
if (cancelled) {
|
|
5962
|
-
return;
|
|
5963
|
-
}
|
|
5964
|
-
|
|
5965
|
-
// Execute `callback` and update the `lastExec` timestamp.
|
|
5966
|
-
function exec() {
|
|
5967
|
-
lastExec = Date.now();
|
|
5968
|
-
callback.apply(self, arguments_);
|
|
5969
|
-
}
|
|
5970
|
-
|
|
5971
|
-
/*
|
|
5972
|
-
* If `debounceMode` is true (at begin) this is used to clear the flag
|
|
5973
|
-
* to allow future `callback` executions.
|
|
5974
|
-
*/
|
|
5975
|
-
function clear() {
|
|
5976
|
-
timeoutID = undefined;
|
|
5977
|
-
}
|
|
5978
|
-
if (!noLeading && debounceMode && !timeoutID) {
|
|
5979
|
-
/*
|
|
5980
|
-
* Since `wrapper` is being called for the first time and
|
|
5981
|
-
* `debounceMode` is true (at begin), execute `callback`
|
|
5982
|
-
* and noLeading != true.
|
|
5983
|
-
*/
|
|
5984
|
-
exec();
|
|
5985
|
-
}
|
|
5986
|
-
clearExistingTimeout();
|
|
5987
|
-
if (debounceMode === undefined && elapsed > delay) {
|
|
5988
|
-
if (noLeading) {
|
|
5989
|
-
/*
|
|
5990
|
-
* In throttle mode with noLeading, if `delay` time has
|
|
5991
|
-
* been exceeded, update `lastExec` and schedule `callback`
|
|
5992
|
-
* to execute after `delay` ms.
|
|
5993
|
-
*/
|
|
5994
|
-
lastExec = Date.now();
|
|
5995
|
-
if (!noTrailing) {
|
|
5996
|
-
timeoutID = setTimeout(debounceMode ? clear : exec, delay);
|
|
5997
|
-
}
|
|
5998
|
-
} else {
|
|
5999
|
-
/*
|
|
6000
|
-
* In throttle mode without noLeading, if `delay` time has been exceeded, execute
|
|
6001
|
-
* `callback`.
|
|
6002
|
-
*/
|
|
6003
|
-
exec();
|
|
6004
|
-
}
|
|
6005
|
-
} else if (noTrailing !== true) {
|
|
6006
|
-
/*
|
|
6007
|
-
* In trailing throttle mode, since `delay` time has not been
|
|
6008
|
-
* exceeded, schedule `callback` to execute `delay` ms after most
|
|
6009
|
-
* recent execution.
|
|
6010
|
-
*
|
|
6011
|
-
* If `debounceMode` is true (at begin), schedule `clear` to execute
|
|
6012
|
-
* after `delay` ms.
|
|
6013
|
-
*
|
|
6014
|
-
* If `debounceMode` is false (at end), schedule `callback` to
|
|
6015
|
-
* execute after `delay` ms.
|
|
6016
|
-
*/
|
|
6017
|
-
timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
|
|
6018
|
-
}
|
|
6019
|
-
}
|
|
6020
|
-
wrapper.cancel = cancel;
|
|
6021
|
-
|
|
6022
|
-
// Return the wrapper function.
|
|
6023
|
-
return wrapper;
|
|
6024
|
-
}
|
|
6025
|
-
|
|
6026
|
-
/* eslint-disable no-undefined */
|
|
6027
|
-
|
|
6028
|
-
/**
|
|
6029
|
-
* Debounce execution of a function. Debouncing, unlike throttling,
|
|
6030
|
-
* guarantees that a function is only executed a single time, either at the
|
|
6031
|
-
* very beginning of a series of calls, or at the very end.
|
|
6032
|
-
*
|
|
6033
|
-
* @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
|
|
6034
|
-
* @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
|
|
6035
|
-
* to `callback` when the debounced-function is executed.
|
|
6036
|
-
* @param {object} [options] - An object to configure options.
|
|
6037
|
-
* @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds
|
|
6038
|
-
* after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.
|
|
6039
|
-
* (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).
|
|
6040
|
-
*
|
|
6041
|
-
* @returns {Function} A new, debounced function.
|
|
6042
|
-
*/
|
|
6043
|
-
function debounce$1 (delay, callback, options) {
|
|
6044
|
-
var _ref = {},
|
|
6045
|
-
_ref$atBegin = _ref.atBegin,
|
|
6046
|
-
atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;
|
|
6047
|
-
return throttle(delay, callback, {
|
|
6048
|
-
debounceMode: atBegin !== false
|
|
6049
|
-
});
|
|
6050
|
-
}
|
|
6051
|
-
|
|
6052
5892
|
class Breakpoint {
|
|
6053
5893
|
constructor() {
|
|
6054
5894
|
this.breakpoints = [
|
|
6055
|
-
{ key: 'xl', device: 'desktop', minWidth: 1280 },
|
|
6056
|
-
{ key: 'lg', device: 'desktop', minWidth: 1024 },
|
|
6057
|
-
{ key: 'md', device: 'tablet', minWidth: 780 },
|
|
6058
|
-
{ key: 'sm', device: 'tablet', minWidth: 600 },
|
|
6059
|
-
{ key: 'xs', device: 'mobile', minWidth: 0 },
|
|
5895
|
+
{ key: 'xl', device: 'desktop', minWidth: 1280, mediaQuery: '(min-width: 1280px)' },
|
|
5896
|
+
{ key: 'lg', device: 'desktop', minWidth: 1024, mediaQuery: '(min-width: 1024px)' },
|
|
5897
|
+
{ key: 'md', device: 'tablet', minWidth: 780, mediaQuery: '(min-width: 780px)' },
|
|
5898
|
+
{ key: 'sm', device: 'tablet', minWidth: 600, mediaQuery: '(min-width: 600px)' },
|
|
5899
|
+
{ key: 'xs', device: 'mobile', minWidth: 0, mediaQuery: '(min-width: 0px)' },
|
|
6060
5900
|
];
|
|
6061
5901
|
this.resizeObserver = globalThis.ResizeObserver
|
|
6062
5902
|
? new ResizeObserver(() => this.updateCurrentBreakpoint())
|
|
6063
5903
|
: null;
|
|
6064
|
-
this.updateCurrentBreakpoint =
|
|
5904
|
+
this.updateCurrentBreakpoint = (options = { emitEvents: true }) => {
|
|
6065
5905
|
const previousBreakpoint = this.currentBreakpoint;
|
|
6066
5906
|
const newBreakpoint = this.breakpoints.find(breakpoint => {
|
|
6067
|
-
return
|
|
5907
|
+
return globalThis.matchMedia
|
|
5908
|
+
? globalThis.matchMedia(breakpoint.mediaQuery).matches
|
|
5909
|
+
: breakpoint.minWidth <= document.documentElement.clientWidth;
|
|
6068
5910
|
});
|
|
6069
5911
|
if (!newBreakpoint)
|
|
6070
5912
|
return;
|
|
@@ -6072,9 +5914,10 @@ class Breakpoint {
|
|
|
6072
5914
|
if (!options.emitEvents)
|
|
6073
5915
|
return;
|
|
6074
5916
|
Object.keys(this.currentBreakpoint)
|
|
5917
|
+
.filter(key => key !== 'mediaQuery')
|
|
6075
5918
|
.filter(key => !previousBreakpoint || this.currentBreakpoint[key] !== previousBreakpoint[key])
|
|
6076
5919
|
.forEach((key) => this.dispatchEvent(key));
|
|
6077
|
-
}
|
|
5920
|
+
};
|
|
6078
5921
|
if (this.resizeObserver) {
|
|
6079
5922
|
this.updateCurrentBreakpoint({ emitEvents: false });
|
|
6080
5923
|
this.resizeObserver.observe(document.body);
|
|
@@ -6090,37 +5933,6 @@ class Breakpoint {
|
|
|
6090
5933
|
}
|
|
6091
5934
|
const breakpoint = new Breakpoint();
|
|
6092
5935
|
|
|
6093
|
-
/**
|
|
6094
|
-
* Invoke the `componentOnReady` method if it is available, simulate it otherwise
|
|
6095
|
-
* @see https://stenciljs.com/docs/api#componentonready
|
|
6096
|
-
*/
|
|
6097
|
-
function componentOnReady(el) {
|
|
6098
|
-
if (typeof el.componentOnReady === 'function') {
|
|
6099
|
-
return el.componentOnReady();
|
|
6100
|
-
}
|
|
6101
|
-
else {
|
|
6102
|
-
return new Promise(resolve => customOnReady(() => {
|
|
6103
|
-
resolve(el);
|
|
6104
|
-
}));
|
|
6105
|
-
}
|
|
6106
|
-
}
|
|
6107
|
-
function customOnReady(callback) {
|
|
6108
|
-
if (typeof requestAnimationFrame === 'function') {
|
|
6109
|
-
return requestAnimationFrame(callback);
|
|
6110
|
-
}
|
|
6111
|
-
return setTimeout(callback);
|
|
6112
|
-
}
|
|
6113
|
-
|
|
6114
|
-
function debounce(callback, timeout = 200) {
|
|
6115
|
-
let id;
|
|
6116
|
-
return (...args) => {
|
|
6117
|
-
if (id) {
|
|
6118
|
-
clearTimeout(id);
|
|
6119
|
-
}
|
|
6120
|
-
id = setTimeout(callback, timeout, ...args);
|
|
6121
|
-
};
|
|
6122
|
-
}
|
|
6123
|
-
|
|
6124
5936
|
/**
|
|
6125
5937
|
* Validates if an event should be processed based on target and nesting criteria
|
|
6126
5938
|
* @param event - The event to validate
|
|
@@ -6212,32 +6024,106 @@ function EventFrom(tag, option) {
|
|
|
6212
6024
|
}
|
|
6213
6025
|
/**
|
|
6214
6026
|
* Traverses up the DOM (including crossing shadow DOM boundaries) to find the closest ancestor
|
|
6215
|
-
*
|
|
6216
|
-
* @param
|
|
6217
|
-
* @param
|
|
6027
|
+
* matching the given predicate.
|
|
6028
|
+
* @param start - The starting element
|
|
6029
|
+
* @param predicate - A type guard used to test each ancestor
|
|
6218
6030
|
* @returns The closest matching ancestor or null if none found
|
|
6219
6031
|
*/
|
|
6220
|
-
function
|
|
6221
|
-
let current =
|
|
6032
|
+
function findClosestAcrossShadow(start, predicate) {
|
|
6033
|
+
let current = start;
|
|
6222
6034
|
while (current) {
|
|
6223
|
-
if (current
|
|
6035
|
+
if (predicate(current)) {
|
|
6224
6036
|
return current;
|
|
6225
6037
|
}
|
|
6226
|
-
// Check regular parent first
|
|
6227
6038
|
if (current.parentElement) {
|
|
6228
6039
|
current = current.parentElement;
|
|
6229
6040
|
}
|
|
6230
|
-
// If no parentElement, check if we're in a shadow root
|
|
6231
|
-
else if (current.parentNode instanceof ShadowRoot) {
|
|
6232
|
-
current = current.parentNode.host;
|
|
6233
|
-
}
|
|
6234
|
-
// No more parents to check
|
|
6235
6041
|
else {
|
|
6236
|
-
|
|
6042
|
+
// Duck-typed ShadowRoot check (nodeType 11 + host) instead of `instanceof ShadowRoot`,
|
|
6043
|
+
// since some test environments (e.g. JSDOM) only partially implement it.
|
|
6044
|
+
const parent = current.parentNode;
|
|
6045
|
+
if (parent !== null && parent.nodeType === 11 && 'host' in parent) {
|
|
6046
|
+
current = parent.host;
|
|
6047
|
+
}
|
|
6048
|
+
else {
|
|
6049
|
+
current = null;
|
|
6050
|
+
}
|
|
6237
6051
|
}
|
|
6238
6052
|
}
|
|
6239
6053
|
return null;
|
|
6240
6054
|
}
|
|
6055
|
+
function findClosestParentWithTag(element, tagName) {
|
|
6056
|
+
return findClosestAcrossShadow(element, (el) => el.localName === tagName);
|
|
6057
|
+
}
|
|
6058
|
+
|
|
6059
|
+
const CLOSABLE_TARGETS = [
|
|
6060
|
+
{
|
|
6061
|
+
predicate: el => el.localName === 'post-banner',
|
|
6062
|
+
close: el => void el.dismiss(),
|
|
6063
|
+
},
|
|
6064
|
+
{
|
|
6065
|
+
predicate: el => el.localName === 'post-popover',
|
|
6066
|
+
close: el => void el.hide(),
|
|
6067
|
+
},
|
|
6068
|
+
{
|
|
6069
|
+
predicate: el => el.localName === 'post-popovercontainer',
|
|
6070
|
+
close: el => void el.hide(),
|
|
6071
|
+
},
|
|
6072
|
+
{
|
|
6073
|
+
predicate: el => el.localName === 'post-collapsible',
|
|
6074
|
+
close: el => void el.toggle(false),
|
|
6075
|
+
},
|
|
6076
|
+
{
|
|
6077
|
+
predicate: el => el.localName === 'post-accordion-item',
|
|
6078
|
+
close: el => void el.toggle(false),
|
|
6079
|
+
},
|
|
6080
|
+
{
|
|
6081
|
+
predicate: el => el.localName === 'dialog',
|
|
6082
|
+
close: el => el.close(),
|
|
6083
|
+
},
|
|
6084
|
+
{
|
|
6085
|
+
predicate: el => el.hasAttribute('popover'),
|
|
6086
|
+
close: el => el.togglePopover(false),
|
|
6087
|
+
},
|
|
6088
|
+
];
|
|
6089
|
+
function findClosableTarget(start) {
|
|
6090
|
+
const el = findClosestAcrossShadow(start, (el) => CLOSABLE_TARGETS.some(t => t.predicate(el)));
|
|
6091
|
+
if (!el)
|
|
6092
|
+
return null;
|
|
6093
|
+
const match = CLOSABLE_TARGETS.find(t => t.predicate(el));
|
|
6094
|
+
return { element: el, close: () => match.close(el) };
|
|
6095
|
+
}
|
|
6096
|
+
|
|
6097
|
+
/**
|
|
6098
|
+
* Invoke the `componentOnReady` method if it is available, simulate it otherwise
|
|
6099
|
+
* @see https://stenciljs.com/docs/api#componentonready
|
|
6100
|
+
*/
|
|
6101
|
+
function componentOnReady(el) {
|
|
6102
|
+
if (typeof el.componentOnReady === 'function') {
|
|
6103
|
+
return el.componentOnReady();
|
|
6104
|
+
}
|
|
6105
|
+
else {
|
|
6106
|
+
return new Promise(resolve => customOnReady(() => {
|
|
6107
|
+
resolve(el);
|
|
6108
|
+
}));
|
|
6109
|
+
}
|
|
6110
|
+
}
|
|
6111
|
+
function customOnReady(callback) {
|
|
6112
|
+
if (typeof requestAnimationFrame === 'function') {
|
|
6113
|
+
return requestAnimationFrame(callback);
|
|
6114
|
+
}
|
|
6115
|
+
return setTimeout(callback);
|
|
6116
|
+
}
|
|
6117
|
+
|
|
6118
|
+
function debounce$1(callback, timeout = 200) {
|
|
6119
|
+
let id;
|
|
6120
|
+
return (...args) => {
|
|
6121
|
+
if (id) {
|
|
6122
|
+
clearTimeout(id);
|
|
6123
|
+
}
|
|
6124
|
+
id = setTimeout(callback, timeout, ...args);
|
|
6125
|
+
};
|
|
6126
|
+
}
|
|
6241
6127
|
|
|
6242
6128
|
/**
|
|
6243
6129
|
* getRootNode() can only be used after the element has been attached to the document!
|
|
@@ -6419,7 +6305,7 @@ function repeat(callback, { delayMs = 300, intervalMs = 100 } = {}) {
|
|
|
6419
6305
|
};
|
|
6420
6306
|
}
|
|
6421
6307
|
|
|
6422
|
-
const version$1 = "10.
|
|
6308
|
+
const version$1 = "10.5.0";
|
|
6423
6309
|
|
|
6424
6310
|
const postAccordionCss = () => `:host{display:block;border-block-start:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke)}`;
|
|
6425
6311
|
|
|
@@ -6640,44 +6526,31 @@ class PostAutocomplete {
|
|
|
6640
6526
|
constructor(hostRef) {
|
|
6641
6527
|
registerInstance(this, hostRef);
|
|
6642
6528
|
this.postFilteringEvent = createEvent(this, "postFilteringEvent");
|
|
6643
|
-
this.debouncedHandleInput = debounce((event) => {
|
|
6529
|
+
this.debouncedHandleInput = debounce$1((event) => {
|
|
6644
6530
|
void this.handleInput(event);
|
|
6645
6531
|
}, 250);
|
|
6646
6532
|
/** Number of characters to type before filtering methods are called */
|
|
6647
6533
|
this.filterThreshold = 0;
|
|
6648
6534
|
/** Show or hide the clear button */
|
|
6649
6535
|
this.clearable = false;
|
|
6650
|
-
|
|
6651
|
-
this.
|
|
6652
|
-
|
|
6653
|
-
|
|
6654
|
-
|
|
6655
|
-
|
|
6656
|
-
|
|
6536
|
+
/** Whether the listbox is currently expanded */
|
|
6537
|
+
this.expanded = false;
|
|
6538
|
+
/** The value of the last run query */
|
|
6539
|
+
this.lastQuery = '';
|
|
6540
|
+
/** The value of the selected listbox option */
|
|
6541
|
+
this.selectedValue = null;
|
|
6542
|
+
this.handleClick = async () => {
|
|
6543
|
+
await this.runQuery('', true);
|
|
6657
6544
|
};
|
|
6658
|
-
this.
|
|
6659
|
-
this.
|
|
6660
|
-
this.listBoxElement.filter('');
|
|
6545
|
+
this.handleBlur = () => {
|
|
6546
|
+
this.restoreSelectedValue();
|
|
6661
6547
|
this.hideListBox();
|
|
6662
6548
|
};
|
|
6663
6549
|
this.handleInput = async (event) => {
|
|
6664
6550
|
if (!this.listBoxElement)
|
|
6665
6551
|
return;
|
|
6666
6552
|
const value = event.target.value.trim();
|
|
6667
|
-
|
|
6668
|
-
// Allow for consuming parent to handle filtering (e.g. for async data) and prevent default filtering behavior
|
|
6669
|
-
const { defaultPrevented } = this.postFilteringEvent.emit(query && query.length >= this.filterThreshold ? query : '');
|
|
6670
|
-
if (defaultPrevented)
|
|
6671
|
-
return;
|
|
6672
|
-
await this.listBoxElement.filter(query);
|
|
6673
|
-
if (query) {
|
|
6674
|
-
this.showListBox();
|
|
6675
|
-
this.announceCount();
|
|
6676
|
-
}
|
|
6677
|
-
else {
|
|
6678
|
-
this.inputValue = '';
|
|
6679
|
-
this.clearAnnouncement();
|
|
6680
|
-
}
|
|
6553
|
+
await this.runQuery(value.length >= this.filterThreshold ? value : '');
|
|
6681
6554
|
};
|
|
6682
6555
|
this.handleKeyDown = (event) => {
|
|
6683
6556
|
const { key, altKey } = event;
|
|
@@ -6719,8 +6592,7 @@ class PostAutocomplete {
|
|
|
6719
6592
|
};
|
|
6720
6593
|
this.handleOptionSelected = (e) => {
|
|
6721
6594
|
const value = e.detail;
|
|
6722
|
-
this.
|
|
6723
|
-
this.inputValue = value;
|
|
6595
|
+
this.updateSelectedValue(value);
|
|
6724
6596
|
this.hideListBox();
|
|
6725
6597
|
};
|
|
6726
6598
|
this.handleOptionActive = (e) => {
|
|
@@ -6732,23 +6604,9 @@ class PostAutocomplete {
|
|
|
6732
6604
|
this.inputElement.removeAttribute('aria-activedescendant');
|
|
6733
6605
|
}
|
|
6734
6606
|
};
|
|
6735
|
-
this.
|
|
6736
|
-
this.clearAnnouncement();
|
|
6737
|
-
this.listBoxElement.hide();
|
|
6738
|
-
this.inputElement.ariaExpanded = 'false';
|
|
6739
|
-
this.host.removeAttribute('open');
|
|
6740
|
-
this.inputElement.removeAttribute('aria-activedescendant');
|
|
6741
|
-
};
|
|
6742
|
-
this.showListBox = async () => {
|
|
6743
|
-
await this.listBoxElement.show();
|
|
6744
|
-
this.inputElement.ariaExpanded = 'true';
|
|
6745
|
-
this.host.setAttribute('open', '');
|
|
6746
|
-
this.announceCount();
|
|
6747
|
-
};
|
|
6748
|
-
this.clearInput = () => {
|
|
6607
|
+
this.handleClear = () => {
|
|
6749
6608
|
if (this.inputElement) {
|
|
6750
|
-
this.
|
|
6751
|
-
this.inputValue = '';
|
|
6609
|
+
this.updateSelectedValue(null);
|
|
6752
6610
|
this.listBoxElement.clearSelection();
|
|
6753
6611
|
this.hideListBox();
|
|
6754
6612
|
}
|
|
@@ -6795,18 +6653,16 @@ class PostAutocomplete {
|
|
|
6795
6653
|
if (this.inputElement) {
|
|
6796
6654
|
this.inputElement.addEventListener('input', this.debouncedHandleInput);
|
|
6797
6655
|
this.inputElement.addEventListener('keydown', this.handleKeyDown);
|
|
6798
|
-
this.inputElement.addEventListener('blur', this.
|
|
6799
|
-
this.inputElement.addEventListener('click', this.
|
|
6800
|
-
this.inputElement.addEventListener('focus', this.handleFocus);
|
|
6656
|
+
this.inputElement.addEventListener('blur', this.handleBlur);
|
|
6657
|
+
this.inputElement.addEventListener('click', this.handleClick);
|
|
6801
6658
|
}
|
|
6802
6659
|
}
|
|
6803
6660
|
detachInputListeners() {
|
|
6804
6661
|
if (this.inputElement) {
|
|
6805
6662
|
this.inputElement.removeEventListener('input', this.debouncedHandleInput);
|
|
6806
6663
|
this.inputElement.removeEventListener('keydown', this.handleKeyDown);
|
|
6807
|
-
this.inputElement.removeEventListener('blur', this.
|
|
6808
|
-
this.inputElement.removeEventListener('click', this.
|
|
6809
|
-
this.inputElement.removeEventListener('focus', this.handleFocus);
|
|
6664
|
+
this.inputElement.removeEventListener('blur', this.handleBlur);
|
|
6665
|
+
this.inputElement.removeEventListener('click', this.handleClick);
|
|
6810
6666
|
}
|
|
6811
6667
|
}
|
|
6812
6668
|
attachListboxListeners() {
|
|
@@ -6831,8 +6687,53 @@ class PostAutocomplete {
|
|
|
6831
6687
|
const count = this.listBoxElement.querySelectorAll('post-listbox-option:not([hidden])').length;
|
|
6832
6688
|
this.outputElement.textContent = this.textAvailableSuggestions.replace('{count}', String(count));
|
|
6833
6689
|
}
|
|
6690
|
+
async showListBox() {
|
|
6691
|
+
await this.listBoxElement.show();
|
|
6692
|
+
this.expanded = true;
|
|
6693
|
+
this.inputElement.ariaExpanded = 'true';
|
|
6694
|
+
this.host.setAttribute('open', '');
|
|
6695
|
+
this.announceCount();
|
|
6696
|
+
}
|
|
6697
|
+
async hideListBox() {
|
|
6698
|
+
this.clearAnnouncement();
|
|
6699
|
+
this.expanded = false;
|
|
6700
|
+
this.host.removeAttribute('open');
|
|
6701
|
+
this.inputElement.ariaExpanded = 'false';
|
|
6702
|
+
this.inputElement.removeAttribute('aria-activedescendant');
|
|
6703
|
+
await this.listBoxElement.hide();
|
|
6704
|
+
}
|
|
6705
|
+
updateSelectedValue(value) {
|
|
6706
|
+
this.selectedValue = value;
|
|
6707
|
+
this.inputElement.value = this.selectedValue ?? '';
|
|
6708
|
+
}
|
|
6709
|
+
/** Restores the input to the value of the selected option. */
|
|
6710
|
+
restoreSelectedValue() {
|
|
6711
|
+
this.inputElement.value = this.selectedValue ?? '';
|
|
6712
|
+
}
|
|
6713
|
+
/** Runs a query, filtering the listbox options and reflecting the outcome. */
|
|
6714
|
+
async runQuery(query, alwaysExpand = false) {
|
|
6715
|
+
// Prevent running the same query twice.
|
|
6716
|
+
if (this.lastQuery !== (this.lastQuery = query)) {
|
|
6717
|
+
await this.filterListBox(query);
|
|
6718
|
+
}
|
|
6719
|
+
// Always update the count if the listbox is expanded.
|
|
6720
|
+
if (this.expanded) {
|
|
6721
|
+
this.announceCount();
|
|
6722
|
+
}
|
|
6723
|
+
// Automatically show the listbox if the query is non-empty.
|
|
6724
|
+
else if (alwaysExpand || query) {
|
|
6725
|
+
await this.showListBox();
|
|
6726
|
+
}
|
|
6727
|
+
}
|
|
6728
|
+
/** Filters the listbox options based on the query, delegating to the consuming parent when possible. */
|
|
6729
|
+
async filterListBox(query) {
|
|
6730
|
+
// Allow for consuming parent to handle filtering (e.g. for async data) and prevent default filtering behavior.
|
|
6731
|
+
if (this.postFilteringEvent.emit(query).defaultPrevented)
|
|
6732
|
+
return;
|
|
6733
|
+
await this.listBoxElement?.filter(query);
|
|
6734
|
+
}
|
|
6834
6735
|
render() {
|
|
6835
|
-
return (hAsync(Host, { key: '
|
|
6736
|
+
return (hAsync(Host, { key: '8b386930fe5484cd73395224b5f0c5daea867b33', "data-version": version$1 }, hAsync("slot", { key: '9aa5a34de2cf18c3d6342069fc2b4ce52baac0d3' }), this.clearable && this.selectedValue !== null && (hAsync("button", { key: '90b459fffc29066667ca4656b6871275d061d3fd', type: "button", class: "autocomplete-clear", onClick: this.handleClear }, hAsync("post-icon", { key: '419de2b608f1638b14aed086f8e2c6064ae634bc', "aria-hidden": "true", name: "closex" }))), hAsync("post-icon", { key: '56b7dd986023a0e46d902020b923ae525c88bef1', "aria-hidden": "true", class: "autocomplete-icon", name: "chevronDown" }), hAsync("output", { key: '6ef02d0baf03c7f562ba6d5c95918e4a7ae1214f', class: "visually-hidden", ref: el => (this.outputElement = el) })));
|
|
6836
6737
|
}
|
|
6837
6738
|
get host() { return getElement(this); }
|
|
6838
6739
|
static get style() { return postAutocompleteCss(); }
|
|
@@ -6844,7 +6745,7 @@ class PostAutocomplete {
|
|
|
6844
6745
|
"clearable": [516],
|
|
6845
6746
|
"listbox": [513],
|
|
6846
6747
|
"textAvailableSuggestions": [513, "text-available-suggestions"],
|
|
6847
|
-
"
|
|
6748
|
+
"selectedValue": [32]
|
|
6848
6749
|
},
|
|
6849
6750
|
"$listeners$": undefined,
|
|
6850
6751
|
"$lazyBundleId$": "-",
|
|
@@ -7119,12 +7020,23 @@ class PostBackToTop {
|
|
|
7119
7020
|
return window.scrollY > window.innerHeight;
|
|
7120
7021
|
}
|
|
7121
7022
|
/*Watch for changes in belowFold to show/hide the back to top button*/
|
|
7122
|
-
watchBelowFold(newValue) {
|
|
7123
|
-
|
|
7124
|
-
|
|
7023
|
+
async watchBelowFold(newValue) {
|
|
7024
|
+
this.currentAnimation?.cancel();
|
|
7025
|
+
// host needs to be visible before we can animate, in or out
|
|
7026
|
+
// hidden state gets recalculated after the animation, based on belowFold
|
|
7027
|
+
this.host.hidden = false;
|
|
7028
|
+
this.currentAnimation = fadeSlide(this.host, newValue ? 'in' : 'out', {
|
|
7029
|
+
translate: this.translateY,
|
|
7030
|
+
fill: 'forwards',
|
|
7031
|
+
});
|
|
7032
|
+
try {
|
|
7033
|
+
await this.currentAnimation.finished;
|
|
7034
|
+
// only hide once the fade-out finished and we're still not below fold
|
|
7035
|
+
if (!this.belowFold)
|
|
7036
|
+
this.host.hidden = true;
|
|
7125
7037
|
}
|
|
7126
|
-
|
|
7127
|
-
|
|
7038
|
+
catch {
|
|
7039
|
+
// animation got canceled, nothing to do
|
|
7128
7040
|
}
|
|
7129
7041
|
}
|
|
7130
7042
|
scrollToTop() {
|
|
@@ -7166,16 +7078,17 @@ class PostBackToTop {
|
|
|
7166
7078
|
// Set the initial state
|
|
7167
7079
|
componentWillLoad() {
|
|
7168
7080
|
this.belowFold = this.isBelowFold();
|
|
7081
|
+
this.host.hidden = !this.belowFold;
|
|
7169
7082
|
}
|
|
7170
7083
|
componentDidLoad() {
|
|
7171
|
-
window.addEventListener('scroll', this.handleScroll,
|
|
7084
|
+
window.addEventListener('scroll', this.handleScroll, { passive: true });
|
|
7172
7085
|
this.animateButton();
|
|
7173
7086
|
}
|
|
7174
7087
|
disconnectedCallback() {
|
|
7175
7088
|
window.removeEventListener('scroll', this.handleScroll);
|
|
7176
7089
|
}
|
|
7177
7090
|
render() {
|
|
7178
|
-
return (hAsync(Host, { key: '
|
|
7091
|
+
return (hAsync(Host, { key: '149a8afee36c12130b3e503c4da5cffdaa3f86b5', "data-version": version$1 }, hAsync("button", { key: '4e291c5cfaa55bb6a68f436af570d83377436a3a', class: "back-to-top", onClick: this.scrollToTop }, hAsync("post-icon", { key: 'c25e8d12cf6f751b368010ad2d82534fa95adf86', "aria-hidden": "true", name: "arrowup" }), hAsync("span", { key: 'e16d1247a5ab7e39629e4bec7307ee562c589f7e', class: "visually-hidden" }, this.textBackToTop))));
|
|
7179
7092
|
}
|
|
7180
7093
|
get host() { return getElement(this); }
|
|
7181
7094
|
static get watchers() { return {
|
|
@@ -7298,14 +7211,11 @@ class PostBanner {
|
|
|
7298
7211
|
this.postDismissed.emit();
|
|
7299
7212
|
this.host.remove();
|
|
7300
7213
|
}
|
|
7301
|
-
onCloseButtonClick() {
|
|
7302
|
-
void this.dismiss();
|
|
7303
|
-
}
|
|
7304
7214
|
checkContent() {
|
|
7305
7215
|
this.hasActions = this.host.querySelectorAll('[slot="actions"]').length > 0;
|
|
7306
7216
|
}
|
|
7307
7217
|
render() {
|
|
7308
|
-
return (hAsync(Host, { key: '
|
|
7218
|
+
return (hAsync(Host, { key: '890eea914f07f31f64c9e1b01fca94e824a019bc', "data-version": version$1, role: "alert", "data-color-scheme": "light" }, hAsync("slot", { key: 'd4ac9c3714979cde7bba7554fbe1886d2cf75701', name: "close-button" }), hAsync("div", { key: 'a097570719b709a3b67aa7152701edbf1174ace0', class: "post-banner-content" }, hAsync("slot", { key: 'df12b0e63ac4cf4152c196eaad071774be4d7b88', name: "heading" }), hAsync("slot", { key: 'a5e376800525119dc47815b9977936fa3966e087' }), this.hasActions && (hAsync("div", { key: '6a0cc7f82873bcfde5109ed9e6bfe8255e30b19c', class: "actions" }, hAsync("slot", { key: '11b1d289705cb9d1d96b20b4fcea2b923bfd184a', name: "actions" }))))));
|
|
7309
7219
|
}
|
|
7310
7220
|
get host() { return getElement(this); }
|
|
7311
7221
|
static get style() { return postBannerCss(); }
|
|
@@ -7317,7 +7227,7 @@ class PostBanner {
|
|
|
7317
7227
|
"hasActions": [32],
|
|
7318
7228
|
"dismiss": [64]
|
|
7319
7229
|
},
|
|
7320
|
-
"$listeners$":
|
|
7230
|
+
"$listeners$": undefined,
|
|
7321
7231
|
"$lazyBundleId$": "-",
|
|
7322
7232
|
"$attrsToReflect$": [["type", "type"]]
|
|
7323
7233
|
}; }
|
|
@@ -7325,13 +7235,10 @@ class PostBanner {
|
|
|
7325
7235
|
__decorate$w([
|
|
7326
7236
|
OneOf(BANNER_TYPES)
|
|
7327
7237
|
], PostBanner.prototype, "type", void 0);
|
|
7328
|
-
__decorate$w([
|
|
7329
|
-
EventFrom('post-closebutton', { allowDescendants: true })
|
|
7330
|
-
], PostBanner.prototype, "onCloseButtonClick", null);
|
|
7331
7238
|
|
|
7332
7239
|
const VARIANTS = ['listitem', 'menuitem'];
|
|
7333
7240
|
|
|
7334
|
-
const postBreadcrumbItemCss = () => `a{-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline);border-radius:var(--post-device-border-radius-focus);color:var(--post-current-fg)}a:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}a{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}a: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){a:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){a: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){a: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){a,a:focus{color:LinkText !important}a:hover{text-decoration-thickness:2px}a:visited{color:VisitedText}a.btn:not(.btn-link){border-color:ButtonBorder !important}a.btn.btn-tertiary.px-0{border:0 !important}a.btn.btn-tertiary.px-0:not(:hover){text-decoration:underline}}:host(:not([variant=menuitem])){display:flex;align-items:flex-start;padding-block:var(--post-device-spacing-padding-block-6);gap:var(--post-device-spacing-gap-inline-5)}:host(:not([variant=menuitem])) :is(button,a){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;font:inherit;padding:unset;border:unset;color:var(--post-scheme-color-interactive-primary-enabled-fg1);border-radius:var(--post-device-border-radius-focus);text-decoration:var(--post-core-text-decoration-none)}:host(:not([variant=menuitem])) :is(button,a):not(:disabled):hover{text-decoration:none}:host(:not([variant=menuitem])) :is(button,a):disabled{border-style:var(--post-core-border-style-dash);cursor:unset}:host(:not([variant=menuitem])) :is(button,a){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}:host(:not([variant=menuitem])) :is(button,a):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){:host(:not([variant=menuitem])) :is(button,a):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host(:not([variant=menuitem])) :is(button,a):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){:host(:not([variant=menuitem])) :is(button,a):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){:host(:not([variant=menuitem])) :is(button,a){border-width:1px !important;transition:none}:host(:not([variant=menuitem])) :is(button,a):is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}:host(:not([variant=menuitem])) :is(button,a):hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);text-decoration:var(--post-core-text-decoration-underline)}:host(:not([variant=menuitem]))::before{mask-image:var(--post-icon-chevronright);background-color:currentColor;flex:0 0 auto;content:"";display:block;height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);margin-block:calc(var(--post-device-spacing-padding-35) - 1*var(--post-device-spacing-padding-block-6));margin-inline:var(--post-core-dimension-4)}:root,:host{--post-icon-chevronright:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbnJpZ2h0Ij48c3ltYm9sIGlkPSJzMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTUuMzggMTRjLS4xOSAwLS4zOC0uMDctLjUzLS4yMmEuNzU0Ljc1NCAwIDAgMSAwLTEuMDZMOS41NyA4IDQuODUgMy4yOGMtLjI5LS4yOS0uMjktLjc3IDAtMS4wNnMuNzctLjI5IDEuMDYgMEwxMS42OSA4bC01Ljc4IDUuNzhjLS4xNS4xNS0uMzQuMjItLjUzLjIyIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik04LjA3IDIwLjcyYy0uMjIgMC0uNDUtLjA4LS42Mi0uMjZhLjg4Ljg4IDAgMCAxIDAtMS4yNGw3LjI2LTcuMjZMNy40NSA0LjdhLjg4Ljg4IDAgMCAxIDAtMS4yNGMuMzQtLjM0LjktLjM0IDEuMjQgMGw4LjUgOC41LTguNDkgOC40OWMtLjE3LjE3LS40LjI2LS42Mi4yNloiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEwLjc2IDI3LjVjLS4yNiAwLS41MS0uMS0uNzEtLjI5YS45OTYuOTk2IDAgMCAxIDAtMS40MWw5Ljc5LTkuNzktOS43OS05LjgxYS45OTYuOTk2IDAgMSAxIDEuNDEtMS40MUwyMi42NyAxNiAxMS40NiAyNy4yMWMtLjIuMi0uNDUuMjktLjcxLjI5WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48cGF0aCBkPSJNMTMuNSAzNC4yMmExLjEyMyAxLjEyMyAwIDAgMS0uOC0xLjkybDEyLjMzLTEyLjMzTDEyLjcgNy42M2MtLjQ0LS40NC0uNDQtMS4xNSAwLTEuNTlzMS4xNS0uNDQgMS41OSAwbDEzLjkzIDEzLjkzTDE0LjMgMzMuODljLS4yMi4yMi0uNTEuMzMtLjguMzMiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTE2LjE0IDQxYy0uMzIgMC0uNjQtLjEyLS44OC0uMzdhMS4yNSAxLjI1IDAgMCAxIDAtMS43N2wxNC44Ny0xNC44N0wxNS4yNSA5LjExYy0uNDktLjQ5LS40OS0xLjI4IDAtMS43N3MxLjI4LS40OSAxLjc3IDBsMTYuNjQgMTYuNjQtMTYuNjMgMTYuNjNjLS4yNC4yNC0uNTYuMzctLjg4LjM3WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij48cGF0aCBkPSJNMjEuNTEgNTQuNGExLjM3NiAxLjM3NiAwIDAgMS0uOTctMi4zNWwyMC4wMy0yMC4wMy0yMC4wNC0yMC4wM2MtLjU0LS41NC0uNTQtMS40MSAwLTEuOTVzMS40MS0uNTQgMS45NSAwbDIxLjk4IDIxLjk5TDIyLjQ5IDU0Yy0uMjcuMjctLjYyLjQtLjk3LjRaIi8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25yaWdodCIvPjwvZz48L3N2Zz4=")}:is(a,span){white-space:var(--post-breadcrumb-item-wrap, normal) !important;overflow-wrap:anywhere;hyphens:auto;line-break:strict}:host([selected]:not([selected=false])){display:flex;align-items:flex-start;padding-block:var(--post-device-spacing-padding-block-6);gap:var(--post-device-spacing-gap-inline-5)}:host([selected]:not([selected=false])) :is(button,a){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;font:inherit;padding:unset;border:unset;color:var(--post-scheme-color-interactive-primary-enabled-fg1);border-radius:var(--post-device-border-radius-focus);text-decoration:var(--post-core-text-decoration-none)}:host([selected]:not([selected=false])) :is(button,a):not(:disabled):hover{text-decoration:none}:host([selected]:not([selected=false])) :is(button,a):disabled{border-style:var(--post-core-border-style-dash);cursor:unset}:host([selected]:not([selected=false])) :is(button,a){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}:host([selected]:not([selected=false])) :is(button,a):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){:host([selected]:not([selected=false])) :is(button,a):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host([selected]:not([selected=false])) :is(button,a):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){:host([selected]:not([selected=false])) :is(button,a):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){:host([selected]:not([selected=false])) :is(button,a){border-width:1px !important;transition:none}:host([selected]:not([selected=false])) :is(button,a):is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}:host([selected]:not([selected=false])) :is(button,a):hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);text-decoration:var(--post-core-text-decoration-underline)}:host([selected]:not([selected=false]))::before{mask-image:var(--post-icon-chevronright);background-color:currentColor;flex:0 0 auto;content:"";display:block;height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);margin-block:calc(var(--post-device-spacing-padding-35) - 1*var(--post-device-spacing-padding-block-6));margin-inline:var(--post-core-dimension-4)}:root,:host{--post-icon-chevronright:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbnJpZ2h0Ij48c3ltYm9sIGlkPSJzMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTUuMzggMTRjLS4xOSAwLS4zOC0uMDctLjUzLS4yMmEuNzU0Ljc1NCAwIDAgMSAwLTEuMDZMOS41NyA4IDQuODUgMy4yOGMtLjI5LS4yOS0uMjktLjc3IDAtMS4wNnMuNzctLjI5IDEuMDYgMEwxMS42OSA4bC01Ljc4IDUuNzhjLS4xNS4xNS0uMzQuMjItLjUzLjIyIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik04LjA3IDIwLjcyYy0uMjIgMC0uNDUtLjA4LS42Mi0uMjZhLjg4Ljg4IDAgMCAxIDAtMS4yNGw3LjI2LTcuMjZMNy40NSA0LjdhLjg4Ljg4IDAgMCAxIDAtMS4yNGMuMzQtLjM0LjktLjM0IDEuMjQgMGw4LjUgOC41LTguNDkgOC40OWMtLjE3LjE3LS40LjI2LS42Mi4yNloiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEwLjc2IDI3LjVjLS4yNiAwLS41MS0uMS0uNzEtLjI5YS45OTYuOTk2IDAgMCAxIDAtMS40MWw5Ljc5LTkuNzktOS43OS05LjgxYS45OTYuOTk2IDAgMSAxIDEuNDEtMS40MUwyMi42NyAxNiAxMS40NiAyNy4yMWMtLjIuMi0uNDUuMjktLjcxLjI5WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48cGF0aCBkPSJNMTMuNSAzNC4yMmExLjEyMyAxLjEyMyAwIDAgMS0uOC0xLjkybDEyLjMzLTEyLjMzTDEyLjcgNy42M2MtLjQ0LS40NC0uNDQtMS4xNSAwLTEuNTlzMS4xNS0uNDQgMS41OSAwbDEzLjkzIDEzLjkzTDE0LjMgMzMuODljLS4yMi4yMi0uNTEuMzMtLjguMzMiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTE2LjE0IDQxYy0uMzIgMC0uNjQtLjEyLS44OC0uMzdhMS4yNSAxLjI1IDAgMCAxIDAtMS43N2wxNC44Ny0xNC44N0wxNS4yNSA5LjExYy0uNDktLjQ5LS40OS0xLjI4IDAtMS43N3MxLjI4LS40OSAxLjc3IDBsMTYuNjQgMTYuNjQtMTYuNjMgMTYuNjNjLS4yNC4yNC0uNTYuMzctLjg4LjM3WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij48cGF0aCBkPSJNMjEuNTEgNTQuNGExLjM3NiAxLjM3NiAwIDAgMS0uOTctMi4zNWwyMC4wMy0yMC4wMy0yMC4wNC0yMC4wM2MtLjU0LS41NC0uNTQtMS40MSAwLTEuOTVzMS40MS0uNTQgMS45NSAwbDIxLjk4IDIxLjk5TDIyLjQ5IDU0Yy0uMjcuMjctLjYyLjQtLjk3LjRaIi8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25yaWdodCIvPjwvZz48L3N2Zz4=")}:host([selected]:not([selected=false])) :is(a,span){color:var(--post-scheme-color-interactive-primary-selected-fg1);font-weight:var(--post-device-font-weight-bold);text-decoration:var(--post-core-text-decoration-none)}`;
|
|
7241
|
+
const postBreadcrumbItemCss = () => `a{-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline);border-radius:var(--post-device-border-radius-focus);color:var(--post-current-fg)}a:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}a{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}a: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){a:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){a: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){a: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){a,a:focus{color:LinkText !important}a:hover{text-decoration-thickness:2px}a:visited{color:VisitedText}a.btn:not(.btn-link){border-color:ButtonBorder !important}a.btn.btn-tertiary.px-0{border:0 !important}a.btn.btn-tertiary.px-0:not(:hover){text-decoration:underline}}:host([variant=menuitem]) :is(a,span){white-space:normal;overflow-wrap:anywhere;hyphens:auto;line-break:strict}:host([variant=listitem]){display:flex;align-items:flex-start;padding-block:var(--post-device-spacing-padding-block-6);gap:var(--post-device-spacing-gap-inline-5)}:host([variant=listitem]) :is(button,a){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;font:inherit;padding:unset;border:unset;color:var(--post-scheme-color-interactive-primary-enabled-fg1);border-radius:var(--post-device-border-radius-focus);text-decoration:var(--post-core-text-decoration-none)}:host([variant=listitem]) :is(button,a):not(:disabled):hover{text-decoration:none}:host([variant=listitem]) :is(button,a):disabled{border-style:var(--post-core-border-style-dash);cursor:unset}:host([variant=listitem]) :is(button,a){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}:host([variant=listitem]) :is(button,a):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){:host([variant=listitem]) :is(button,a):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host([variant=listitem]) :is(button,a):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){:host([variant=listitem]) :is(button,a):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){:host([variant=listitem]) :is(button,a){border-width:1px !important;transition:none}:host([variant=listitem]) :is(button,a):is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}:host([variant=listitem]) :is(button,a):hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);text-decoration:var(--post-core-text-decoration-underline)}:host([variant=listitem])::before{mask-image:var(--post-icon-chevronright);background-color:currentColor;flex:0 0 auto;content:"";display:block;height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);margin-block:calc(var(--post-device-spacing-padding-35) - 1*var(--post-device-spacing-padding-block-6));margin-inline:var(--post-core-dimension-4)}:root,:host{--post-icon-chevronright:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbnJpZ2h0Ij48c3ltYm9sIGlkPSJzMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTUuMzggMTRjLS4xOSAwLS4zOC0uMDctLjUzLS4yMmEuNzU0Ljc1NCAwIDAgMSAwLTEuMDZMOS41NyA4IDQuODUgMy4yOGMtLjI5LS4yOS0uMjktLjc3IDAtMS4wNnMuNzctLjI5IDEuMDYgMEwxMS42OSA4bC01Ljc4IDUuNzhjLS4xNS4xNS0uMzQuMjItLjUzLjIyIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik04LjA3IDIwLjcyYy0uMjIgMC0uNDUtLjA4LS42Mi0uMjZhLjg4Ljg4IDAgMCAxIDAtMS4yNGw3LjI2LTcuMjZMNy40NSA0LjdhLjg4Ljg4IDAgMCAxIDAtMS4yNGMuMzQtLjM0LjktLjM0IDEuMjQgMGw4LjUgOC41LTguNDkgOC40OWMtLjE3LjE3LS40LjI2LS42Mi4yNloiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEwLjc2IDI3LjVjLS4yNiAwLS41MS0uMS0uNzEtLjI5YS45OTYuOTk2IDAgMCAxIDAtMS40MWw5Ljc5LTkuNzktOS43OS05LjgxYS45OTYuOTk2IDAgMSAxIDEuNDEtMS40MUwyMi42NyAxNiAxMS40NiAyNy4yMWMtLjIuMi0uNDUuMjktLjcxLjI5WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48cGF0aCBkPSJNMTMuNSAzNC4yMmExLjEyMyAxLjEyMyAwIDAgMS0uOC0xLjkybDEyLjMzLTEyLjMzTDEyLjcgNy42M2MtLjQ0LS40NC0uNDQtMS4xNSAwLTEuNTlzMS4xNS0uNDQgMS41OSAwbDEzLjkzIDEzLjkzTDE0LjMgMzMuODljLS4yMi4yMi0uNTEuMzMtLjguMzMiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTE2LjE0IDQxYy0uMzIgMC0uNjQtLjEyLS44OC0uMzdhMS4yNSAxLjI1IDAgMCAxIDAtMS43N2wxNC44Ny0xNC44N0wxNS4yNSA5LjExYy0uNDktLjQ5LS40OS0xLjI4IDAtMS43N3MxLjI4LS40OSAxLjc3IDBsMTYuNjQgMTYuNjQtMTYuNjMgMTYuNjNjLS4yNC4yNC0uNTYuMzctLjg4LjM3WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij48cGF0aCBkPSJNMjEuNTEgNTQuNGExLjM3NiAxLjM3NiAwIDAgMS0uOTctMi4zNWwyMC4wMy0yMC4wMy0yMC4wNC0yMC4wM2MtLjU0LS41NC0uNTQtMS40MSAwLTEuOTVzMS40MS0uNTQgMS45NSAwbDIxLjk4IDIxLjk5TDIyLjQ5IDU0Yy0uMjcuMjctLjYyLjQtLjk3LjRaIi8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25yaWdodCIvPjwvZz48L3N2Zz4=")}:host([variant=listitem]):host([selected]:not([selected=false])) :is(a,span){color:var(--post-scheme-color-interactive-primary-selected-fg1);font-weight:var(--post-device-font-weight-bold);text-decoration:var(--post-core-text-decoration-none)}:host([variant=listitem]):host([standalone]:not([standalone=false])) :is(a,span){white-space:normal;overflow-wrap:anywhere;hyphens:auto;line-break:strict}`;
|
|
7335
7242
|
|
|
7336
7243
|
var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
7337
7244
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -7344,60 +7251,229 @@ var __decorate$v = (undefined && undefined.__decorate) || function (decorators,
|
|
|
7344
7251
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7345
7252
|
};
|
|
7346
7253
|
/**
|
|
7347
|
-
* @slot default - The content displayed inside the breadcrumb item.
|
|
7254
|
+
* @slot default - The content displayed inside the breadcrumb item.
|
|
7255
|
+
*/
|
|
7256
|
+
class PostBreadcrumbItem {
|
|
7257
|
+
constructor(hostRef) {
|
|
7258
|
+
registerInstance(this, hostRef);
|
|
7259
|
+
/**
|
|
7260
|
+
* Controls how the item is rendered, either as a standard list item or within an overflow menu.
|
|
7261
|
+
*/
|
|
7262
|
+
this.variant = 'listitem';
|
|
7263
|
+
/**
|
|
7264
|
+
* Indicates that the item represents the current page, applying appropriate styling.
|
|
7265
|
+
*/
|
|
7266
|
+
this.selected = false;
|
|
7267
|
+
/**
|
|
7268
|
+
* Indicates that this is the only visible item, applying appropriate styling.
|
|
7269
|
+
*/
|
|
7270
|
+
this.standalone = false;
|
|
7271
|
+
}
|
|
7272
|
+
render() {
|
|
7273
|
+
const href = this.url instanceof URL ? this.url.href : this.url;
|
|
7274
|
+
const content = href ? (hAsync("a", { href: href, "aria-current": this.selected ? 'page' : undefined, "aria-label": this.label, "aria-description": this.description }, hAsync("slot", null))) : (hAsync("span", null, hAsync("slot", null)));
|
|
7275
|
+
return this.variant === 'listitem' || this.selected ? (hAsync(Host, { "data-version": version$1, role: "listitem", slot: this.selected ? 'selected' : undefined }, content)) : (hAsync(Host, { "data-version": version$1, slot: "menu" }, hAsync("post-menu-item", null, content)));
|
|
7276
|
+
}
|
|
7277
|
+
get host() { return getElement(this); }
|
|
7278
|
+
static get style() { return postBreadcrumbItemCss(); }
|
|
7279
|
+
static get cmpMeta() { return {
|
|
7280
|
+
"$flags$": 265,
|
|
7281
|
+
"$tagName$": "post-breadcrumb-item",
|
|
7282
|
+
"$members$": {
|
|
7283
|
+
"url": [513],
|
|
7284
|
+
"label": [513],
|
|
7285
|
+
"description": [513],
|
|
7286
|
+
"variant": [513],
|
|
7287
|
+
"selected": [516],
|
|
7288
|
+
"standalone": [516]
|
|
7289
|
+
},
|
|
7290
|
+
"$listeners$": undefined,
|
|
7291
|
+
"$lazyBundleId$": "-",
|
|
7292
|
+
"$attrsToReflect$": [["url", "url"], ["label", "label"], ["description", "description"], ["variant", "variant"], ["selected", "selected"], ["standalone", "standalone"]]
|
|
7293
|
+
}; }
|
|
7294
|
+
}
|
|
7295
|
+
__decorate$v([
|
|
7296
|
+
Url()
|
|
7297
|
+
], PostBreadcrumbItem.prototype, "url", void 0);
|
|
7298
|
+
__decorate$v([
|
|
7299
|
+
Type('string')
|
|
7300
|
+
], PostBreadcrumbItem.prototype, "label", void 0);
|
|
7301
|
+
__decorate$v([
|
|
7302
|
+
Type('string')
|
|
7303
|
+
], PostBreadcrumbItem.prototype, "description", void 0);
|
|
7304
|
+
__decorate$v([
|
|
7305
|
+
OneOf(VARIANTS)
|
|
7306
|
+
], PostBreadcrumbItem.prototype, "variant", void 0);
|
|
7307
|
+
__decorate$v([
|
|
7308
|
+
Required(),
|
|
7309
|
+
Type('boolean')
|
|
7310
|
+
], PostBreadcrumbItem.prototype, "selected", void 0);
|
|
7311
|
+
__decorate$v([
|
|
7312
|
+
Required(),
|
|
7313
|
+
Type('boolean')
|
|
7314
|
+
], PostBreadcrumbItem.prototype, "standalone", void 0);
|
|
7315
|
+
|
|
7316
|
+
/* eslint-disable no-undefined,no-param-reassign,no-shadow */
|
|
7317
|
+
|
|
7318
|
+
/**
|
|
7319
|
+
* Throttle execution of a function. Especially useful for rate limiting
|
|
7320
|
+
* execution of handlers on events like resize and scroll.
|
|
7321
|
+
*
|
|
7322
|
+
* @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)
|
|
7323
|
+
* are most useful.
|
|
7324
|
+
* @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,
|
|
7325
|
+
* as-is, to `callback` when the throttled-function is executed.
|
|
7326
|
+
* @param {object} [options] - An object to configure options.
|
|
7327
|
+
* @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds
|
|
7328
|
+
* while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed
|
|
7329
|
+
* one final time after the last throttled-function call. (After the throttled-function has not been called for
|
|
7330
|
+
* `delay` milliseconds, the internal counter is reset).
|
|
7331
|
+
* @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback
|
|
7332
|
+
* immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that
|
|
7333
|
+
* callback will never executed if both noLeading = true and noTrailing = true.
|
|
7334
|
+
* @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is
|
|
7335
|
+
* false (at end), schedule `callback` to execute after `delay` ms.
|
|
7336
|
+
*
|
|
7337
|
+
* @returns {Function} A new, throttled, function.
|
|
7338
|
+
*/
|
|
7339
|
+
function throttle (delay, callback, options) {
|
|
7340
|
+
var _ref = options || {},
|
|
7341
|
+
_ref$noTrailing = _ref.noTrailing,
|
|
7342
|
+
noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,
|
|
7343
|
+
_ref$noLeading = _ref.noLeading,
|
|
7344
|
+
noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,
|
|
7345
|
+
_ref$debounceMode = _ref.debounceMode,
|
|
7346
|
+
debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;
|
|
7347
|
+
/*
|
|
7348
|
+
* After wrapper has stopped being called, this timeout ensures that
|
|
7349
|
+
* `callback` is executed at the proper times in `throttle` and `end`
|
|
7350
|
+
* debounce modes.
|
|
7351
|
+
*/
|
|
7352
|
+
var timeoutID;
|
|
7353
|
+
var cancelled = false;
|
|
7354
|
+
|
|
7355
|
+
// Keep track of the last time `callback` was executed.
|
|
7356
|
+
var lastExec = 0;
|
|
7357
|
+
|
|
7358
|
+
// Function to clear existing timeout
|
|
7359
|
+
function clearExistingTimeout() {
|
|
7360
|
+
if (timeoutID) {
|
|
7361
|
+
clearTimeout(timeoutID);
|
|
7362
|
+
}
|
|
7363
|
+
}
|
|
7364
|
+
|
|
7365
|
+
// Function to cancel next exec
|
|
7366
|
+
function cancel(options) {
|
|
7367
|
+
var _ref2 = options || {},
|
|
7368
|
+
_ref2$upcomingOnly = _ref2.upcomingOnly,
|
|
7369
|
+
upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;
|
|
7370
|
+
clearExistingTimeout();
|
|
7371
|
+
cancelled = !upcomingOnly;
|
|
7372
|
+
}
|
|
7373
|
+
|
|
7374
|
+
/*
|
|
7375
|
+
* The `wrapper` function encapsulates all of the throttling / debouncing
|
|
7376
|
+
* functionality and when executed will limit the rate at which `callback`
|
|
7377
|
+
* is executed.
|
|
7378
|
+
*/
|
|
7379
|
+
function wrapper() {
|
|
7380
|
+
for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
7381
|
+
arguments_[_key] = arguments[_key];
|
|
7382
|
+
}
|
|
7383
|
+
var self = this;
|
|
7384
|
+
var elapsed = Date.now() - lastExec;
|
|
7385
|
+
if (cancelled) {
|
|
7386
|
+
return;
|
|
7387
|
+
}
|
|
7388
|
+
|
|
7389
|
+
// Execute `callback` and update the `lastExec` timestamp.
|
|
7390
|
+
function exec() {
|
|
7391
|
+
lastExec = Date.now();
|
|
7392
|
+
callback.apply(self, arguments_);
|
|
7393
|
+
}
|
|
7394
|
+
|
|
7395
|
+
/*
|
|
7396
|
+
* If `debounceMode` is true (at begin) this is used to clear the flag
|
|
7397
|
+
* to allow future `callback` executions.
|
|
7398
|
+
*/
|
|
7399
|
+
function clear() {
|
|
7400
|
+
timeoutID = undefined;
|
|
7401
|
+
}
|
|
7402
|
+
if (!noLeading && debounceMode && !timeoutID) {
|
|
7403
|
+
/*
|
|
7404
|
+
* Since `wrapper` is being called for the first time and
|
|
7405
|
+
* `debounceMode` is true (at begin), execute `callback`
|
|
7406
|
+
* and noLeading != true.
|
|
7407
|
+
*/
|
|
7408
|
+
exec();
|
|
7409
|
+
}
|
|
7410
|
+
clearExistingTimeout();
|
|
7411
|
+
if (debounceMode === undefined && elapsed > delay) {
|
|
7412
|
+
if (noLeading) {
|
|
7413
|
+
/*
|
|
7414
|
+
* In throttle mode with noLeading, if `delay` time has
|
|
7415
|
+
* been exceeded, update `lastExec` and schedule `callback`
|
|
7416
|
+
* to execute after `delay` ms.
|
|
7417
|
+
*/
|
|
7418
|
+
lastExec = Date.now();
|
|
7419
|
+
if (!noTrailing) {
|
|
7420
|
+
timeoutID = setTimeout(debounceMode ? clear : exec, delay);
|
|
7421
|
+
}
|
|
7422
|
+
} else {
|
|
7423
|
+
/*
|
|
7424
|
+
* In throttle mode without noLeading, if `delay` time has been exceeded, execute
|
|
7425
|
+
* `callback`.
|
|
7426
|
+
*/
|
|
7427
|
+
exec();
|
|
7428
|
+
}
|
|
7429
|
+
} else if (noTrailing !== true) {
|
|
7430
|
+
/*
|
|
7431
|
+
* In trailing throttle mode, since `delay` time has not been
|
|
7432
|
+
* exceeded, schedule `callback` to execute `delay` ms after most
|
|
7433
|
+
* recent execution.
|
|
7434
|
+
*
|
|
7435
|
+
* If `debounceMode` is true (at begin), schedule `clear` to execute
|
|
7436
|
+
* after `delay` ms.
|
|
7437
|
+
*
|
|
7438
|
+
* If `debounceMode` is false (at end), schedule `callback` to
|
|
7439
|
+
* execute after `delay` ms.
|
|
7440
|
+
*/
|
|
7441
|
+
timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
|
|
7442
|
+
}
|
|
7443
|
+
}
|
|
7444
|
+
wrapper.cancel = cancel;
|
|
7445
|
+
|
|
7446
|
+
// Return the wrapper function.
|
|
7447
|
+
return wrapper;
|
|
7448
|
+
}
|
|
7449
|
+
|
|
7450
|
+
/* eslint-disable no-undefined */
|
|
7451
|
+
|
|
7452
|
+
/**
|
|
7453
|
+
* Debounce execution of a function. Debouncing, unlike throttling,
|
|
7454
|
+
* guarantees that a function is only executed a single time, either at the
|
|
7455
|
+
* very beginning of a series of calls, or at the very end.
|
|
7456
|
+
*
|
|
7457
|
+
* @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
|
|
7458
|
+
* @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
|
|
7459
|
+
* to `callback` when the debounced-function is executed.
|
|
7460
|
+
* @param {object} [options] - An object to configure options.
|
|
7461
|
+
* @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds
|
|
7462
|
+
* after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.
|
|
7463
|
+
* (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).
|
|
7464
|
+
*
|
|
7465
|
+
* @returns {Function} A new, debounced function.
|
|
7348
7466
|
*/
|
|
7349
|
-
|
|
7350
|
-
|
|
7351
|
-
|
|
7352
|
-
|
|
7353
|
-
|
|
7354
|
-
|
|
7355
|
-
|
|
7356
|
-
/**
|
|
7357
|
-
* Indicates that the item represents the current page, applying appropriate styling.
|
|
7358
|
-
*/
|
|
7359
|
-
this.selected = false;
|
|
7360
|
-
}
|
|
7361
|
-
render() {
|
|
7362
|
-
const href = this.url instanceof URL ? this.url.href : this.url;
|
|
7363
|
-
const content = href ? (hAsync("a", { href: href, "aria-current": this.selected ? 'page' : undefined, "aria-label": this.label, "aria-description": this.description }, hAsync("slot", null))) : (hAsync("span", null, hAsync("slot", null)));
|
|
7364
|
-
return this.variant === 'listitem' || this.selected ? (hAsync(Host, { "data-version": version$1, role: "listitem", slot: this.selected ? 'selected' : undefined }, content)) : (hAsync(Host, { "data-version": version$1 }, hAsync("post-menu-item", null, content)));
|
|
7365
|
-
}
|
|
7366
|
-
get host() { return getElement(this); }
|
|
7367
|
-
static get style() { return postBreadcrumbItemCss(); }
|
|
7368
|
-
static get cmpMeta() { return {
|
|
7369
|
-
"$flags$": 265,
|
|
7370
|
-
"$tagName$": "post-breadcrumb-item",
|
|
7371
|
-
"$members$": {
|
|
7372
|
-
"url": [513],
|
|
7373
|
-
"label": [513],
|
|
7374
|
-
"description": [513],
|
|
7375
|
-
"variant": [513],
|
|
7376
|
-
"selected": [516]
|
|
7377
|
-
},
|
|
7378
|
-
"$listeners$": undefined,
|
|
7379
|
-
"$lazyBundleId$": "-",
|
|
7380
|
-
"$attrsToReflect$": [["url", "url"], ["label", "label"], ["description", "description"], ["variant", "variant"], ["selected", "selected"]]
|
|
7381
|
-
}; }
|
|
7467
|
+
function debounce (delay, callback, options) {
|
|
7468
|
+
var _ref = {},
|
|
7469
|
+
_ref$atBegin = _ref.atBegin,
|
|
7470
|
+
atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;
|
|
7471
|
+
return throttle(delay, callback, {
|
|
7472
|
+
debounceMode: atBegin !== false
|
|
7473
|
+
});
|
|
7382
7474
|
}
|
|
7383
|
-
__decorate$v([
|
|
7384
|
-
Url()
|
|
7385
|
-
], PostBreadcrumbItem.prototype, "url", void 0);
|
|
7386
|
-
__decorate$v([
|
|
7387
|
-
Type('string')
|
|
7388
|
-
], PostBreadcrumbItem.prototype, "label", void 0);
|
|
7389
|
-
__decorate$v([
|
|
7390
|
-
Type('string')
|
|
7391
|
-
], PostBreadcrumbItem.prototype, "description", void 0);
|
|
7392
|
-
__decorate$v([
|
|
7393
|
-
OneOf(VARIANTS)
|
|
7394
|
-
], PostBreadcrumbItem.prototype, "variant", void 0);
|
|
7395
|
-
__decorate$v([
|
|
7396
|
-
Required(),
|
|
7397
|
-
Type('boolean')
|
|
7398
|
-
], PostBreadcrumbItem.prototype, "selected", void 0);
|
|
7399
7475
|
|
|
7400
|
-
const postBreadcrumbsCss = () => `:host{display:block;position:relative}nav{max-width:100%}nav.invisible{
|
|
7476
|
+
const postBreadcrumbsCss = () => `:host{display:block;position:relative}nav{max-width:100%}nav.invisible{overflow:hidden;visibility:hidden;position:absolute;inset:0}nav.loading>div>:not(.home){display:none}[role=list]{display:flex;align-items:flex-start;gap:var(--post-device-spacing-gap-inline-4)}.breadcrumb-item{display:flex;align-items:flex-start;padding-block:var(--post-device-spacing-padding-block-6);gap:var(--post-device-spacing-gap-inline-5)}.breadcrumb-item :is(button,a){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;font:inherit;padding:unset;border:unset;color:var(--post-scheme-color-interactive-primary-enabled-fg1);border-radius:var(--post-device-border-radius-focus);text-decoration:var(--post-core-text-decoration-none)}.breadcrumb-item :is(button,a):not(:disabled):hover{text-decoration:none}.breadcrumb-item :is(button,a):disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.breadcrumb-item :is(button,a){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}.breadcrumb-item :is(button,a):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){.breadcrumb-item :is(button,a):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.breadcrumb-item :is(button,a):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){.breadcrumb-item :is(button,a):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){.breadcrumb-item :is(button,a){border-width:1px !important;transition:none}.breadcrumb-item :is(button,a):is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}.breadcrumb-item :is(button,a):hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);text-decoration:var(--post-core-text-decoration-underline)}.breadcrumb-item::before{mask-image:var(--post-icon-chevronright);background-color:currentColor;flex:0 0 auto;content:"";display:block;height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);margin-block:calc(var(--post-device-spacing-padding-35) - 1*var(--post-device-spacing-padding-block-6));margin-inline:var(--post-core-dimension-4)}:root,:host{--post-icon-chevronright:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbnJpZ2h0Ij48c3ltYm9sIGlkPSJzMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTUuMzggMTRjLS4xOSAwLS4zOC0uMDctLjUzLS4yMmEuNzU0Ljc1NCAwIDAgMSAwLTEuMDZMOS41NyA4IDQuODUgMy4yOGMtLjI5LS4yOS0uMjktLjc3IDAtMS4wNnMuNzctLjI5IDEuMDYgMEwxMS42OSA4bC01Ljc4IDUuNzhjLS4xNS4xNS0uMzQuMjItLjUzLjIyIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik04LjA3IDIwLjcyYy0uMjIgMC0uNDUtLjA4LS42Mi0uMjZhLjg4Ljg4IDAgMCAxIDAtMS4yNGw3LjI2LTcuMjZMNy40NSA0LjdhLjg4Ljg4IDAgMCAxIDAtMS4yNGMuMzQtLjM0LjktLjM0IDEuMjQgMGw4LjUgOC41LTguNDkgOC40OWMtLjE3LjE3LS40LjI2LS42Mi4yNloiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEwLjc2IDI3LjVjLS4yNiAwLS41MS0uMS0uNzEtLjI5YS45OTYuOTk2IDAgMCAxIDAtMS40MWw5Ljc5LTkuNzktOS43OS05LjgxYS45OTYuOTk2IDAgMSAxIDEuNDEtMS40MUwyMi42NyAxNiAxMS40NiAyNy4yMWMtLjIuMi0uNDUuMjktLjcxLjI5WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48cGF0aCBkPSJNMTMuNSAzNC4yMmExLjEyMyAxLjEyMyAwIDAgMS0uOC0xLjkybDEyLjMzLTEyLjMzTDEyLjcgNy42M2MtLjQ0LS40NC0uNDQtMS4xNSAwLTEuNTlzMS4xNS0uNDQgMS41OSAwbDEzLjkzIDEzLjkzTDE0LjMgMzMuODljLS4yMi4yMi0uNTEuMzMtLjguMzMiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTE2LjE0IDQxYy0uMzIgMC0uNjQtLjEyLS44OC0uMzdhMS4yNSAxLjI1IDAgMCAxIDAtMS43N2wxNC44Ny0xNC44N0wxNS4yNSA5LjExYy0uNDktLjQ5LS40OS0xLjI4IDAtMS43N3MxLjI4LS40OSAxLjc3IDBsMTYuNjQgMTYuNjQtMTYuNjMgMTYuNjNjLS4yNC4yNC0uNTYuMzctLjg4LjM3WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij48cGF0aCBkPSJNMjEuNTEgNTQuNGExLjM3NiAxLjM3NiAwIDAgMS0uOTctMi4zNWwyMC4wMy0yMC4wMy0yMC4wNC0yMC4wM2MtLjU0LS41NC0uNTQtMS40MSAwLTEuOTVzMS40MS0uNTQgMS45NSAwbDIxLjk4IDIxLjk5TDIyLjQ5IDU0Yy0uMjcuMjctLjYyLjQtLjk3LjRaIi8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25yaWdodCIvPjwvZz48L3N2Zz4=")}.home{padding-block:var(--post-device-spacing-padding-47)}.home::before{content:unset}.home post-icon{width:var(--post-device-sizing-interactive-icon-size2);height:var(--post-device-sizing-interactive-icon-size2)}.menu{margin-inline-end:calc(-1*var(--post-device-spacing-gap-inline-4))}.menu.empty{display:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}`;
|
|
7401
7477
|
|
|
7402
7478
|
var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
7403
7479
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -7409,92 +7485,142 @@ var __decorate$u = (undefined && undefined.__decorate) || function (decorators,
|
|
|
7409
7485
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
7410
7486
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7411
7487
|
};
|
|
7488
|
+
const MAX_VISIBLE_ITEMS = 6;
|
|
7489
|
+
const MEASUREMENT_DEBOUNCE_MS$1 = 50;
|
|
7412
7490
|
class PostBreadcrumbs {
|
|
7413
7491
|
constructor(hostRef) {
|
|
7414
7492
|
registerInstance(this, hostRef);
|
|
7415
|
-
this.
|
|
7493
|
+
this.debounceUpdateCollapsedItems = throttle(MEASUREMENT_DEBOUNCE_MS$1, this.updateCollapsedItems.bind(this));
|
|
7494
|
+
this.resizeObserver = new ResizeObserver(this.debounceUpdateCollapsedItems);
|
|
7495
|
+
this.mutationObserver = new MutationObserver(this.updateHiddenNav.bind(this));
|
|
7496
|
+
this.loaded = false;
|
|
7497
|
+
/** The number of breadcrumb items, counted from the start, that are moved into the overflow menu. */
|
|
7498
|
+
this.collapsed = 0;
|
|
7499
|
+
/** The visible breadcrumb navigation. */
|
|
7500
|
+
this.nav = null;
|
|
7501
|
+
/** An off-screen copy of the breadcrumb navigation used for measurement. */
|
|
7502
|
+
this.hiddenNav = null;
|
|
7416
7503
|
}
|
|
7417
7504
|
componentWillLoad() {
|
|
7418
7505
|
this.id = this.host.id || `b${nanoid(6)}`;
|
|
7419
7506
|
}
|
|
7420
|
-
componentDidLoad() {
|
|
7421
|
-
this.
|
|
7422
|
-
this.
|
|
7423
|
-
}
|
|
7424
|
-
disconnectedCallback() {
|
|
7425
|
-
this.mutationObserver?.disconnect();
|
|
7426
|
-
this.resizeObserver?.disconnect();
|
|
7427
|
-
}
|
|
7428
|
-
createMutationObserver() {
|
|
7429
|
-
this.mutationObserver = new MutationObserver(this.duplicateNavElement.bind(this));
|
|
7430
|
-
this.mutationObserver.observe(this.host, {
|
|
7507
|
+
async componentDidLoad() {
|
|
7508
|
+
this.resizeObserver?.observe(document.body);
|
|
7509
|
+
this.mutationObserver?.observe(this.host, {
|
|
7431
7510
|
childList: true,
|
|
7432
7511
|
characterData: true,
|
|
7433
7512
|
subtree: true,
|
|
7434
7513
|
});
|
|
7435
|
-
this.
|
|
7514
|
+
await this.updateHiddenNav();
|
|
7515
|
+
await this.updateCollapsedItems();
|
|
7516
|
+
this.loaded = true;
|
|
7436
7517
|
}
|
|
7437
|
-
|
|
7438
|
-
this.resizeObserver
|
|
7439
|
-
this.
|
|
7518
|
+
disconnectedCallback() {
|
|
7519
|
+
this.resizeObserver?.disconnect();
|
|
7520
|
+
this.mutationObserver?.disconnect();
|
|
7521
|
+
this.debounceUpdateCollapsedItems.cancel();
|
|
7440
7522
|
}
|
|
7441
7523
|
/**
|
|
7442
|
-
*
|
|
7524
|
+
* Measures the space available in the breadcrumb navigation and moves the items that do not fit
|
|
7525
|
+
* into the overflow menu.
|
|
7443
7526
|
*/
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
const nav = shadowRoot?.querySelector('nav');
|
|
7447
|
-
if (!shadowRoot || !nav)
|
|
7527
|
+
async updateCollapsedItems() {
|
|
7528
|
+
if (!this.nav)
|
|
7448
7529
|
return;
|
|
7449
|
-
this.
|
|
7450
|
-
const clone = nav.cloneNode(true);
|
|
7451
|
-
clone.classList.add('invisible');
|
|
7452
|
-
shadowRoot.querySelector('nav.invisible')?.remove();
|
|
7453
|
-
shadowRoot.append(clone);
|
|
7454
|
-
requestAnimationFrame(() => {
|
|
7455
|
-
this.duplicateSlottedElements(clone, 'slot:not([name])');
|
|
7456
|
-
this.duplicateSlottedElements(clone, 'slot[name="selected"]');
|
|
7457
|
-
this.checkOverflow();
|
|
7458
|
-
});
|
|
7530
|
+
this.collapsed = await this.calculateCollapsedItems();
|
|
7459
7531
|
}
|
|
7460
|
-
|
|
7461
|
-
|
|
7462
|
-
|
|
7463
|
-
|
|
7464
|
-
|
|
7465
|
-
|
|
7466
|
-
|
|
7467
|
-
|
|
7468
|
-
|
|
7532
|
+
/**
|
|
7533
|
+
* Determines how many items have to be collapsed, either because they do not fit the breadcrumb
|
|
7534
|
+
* navigation or because they exceed the maximum number of visible items.
|
|
7535
|
+
*/
|
|
7536
|
+
async calculateCollapsedItems() {
|
|
7537
|
+
const items = this.host.querySelectorAll('post-breadcrumb-item');
|
|
7538
|
+
const overflowing = await this.calculateOverflowingItems();
|
|
7539
|
+
// Never show more than `MAX_VISIBLE_ITEMS`, even if the nav is wide enough to fit them all.
|
|
7540
|
+
return Math.max(overflowing, items.length - MAX_VISIBLE_ITEMS);
|
|
7469
7541
|
}
|
|
7470
|
-
|
|
7471
|
-
|
|
7472
|
-
|
|
7473
|
-
|
|
7474
|
-
|
|
7475
|
-
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
|
|
7542
|
+
/**
|
|
7543
|
+
* Determines how many items overflow the width of the breadcrumb navigation.
|
|
7544
|
+
*/
|
|
7545
|
+
async calculateOverflowingItems() {
|
|
7546
|
+
// Fallback to zero if the hidden nav is not available for measurement.
|
|
7547
|
+
if (!this.hiddenNav)
|
|
7548
|
+
return 0;
|
|
7549
|
+
const gap = Number.parseFloat(getComputedStyle(this.hiddenNav.firstElementChild).gap);
|
|
7550
|
+
const menu = this.hiddenNav.querySelector('.menu').clientWidth;
|
|
7551
|
+
// The last item can never be collapsed, so it is ignored when measuring the width of the items.
|
|
7552
|
+
const items = Array.from(this.hiddenNav.querySelectorAll('post-breadcrumb-item')).slice(0, -1);
|
|
7553
|
+
// Start from the assumption that all items fit and that no menu is shown.
|
|
7554
|
+
// Therefore, subtract the width of the overflow menu.
|
|
7555
|
+
let width = this.hiddenNav.scrollWidth - menu + gap;
|
|
7556
|
+
let overflowing = 0;
|
|
7557
|
+
// Discard items from the start until the remaining ones fit the available width.
|
|
7558
|
+
while (overflowing < items.length && width > this.hiddenNav.clientWidth) {
|
|
7559
|
+
// The overflow menu needs to be displayed as soon as the first item is moved into it, so its
|
|
7560
|
+
// width needs to be taken into account when measuring the remaining items.
|
|
7561
|
+
if (overflowing === 0)
|
|
7562
|
+
width += menu;
|
|
7563
|
+
width -= items[overflowing++].clientWidth + gap;
|
|
7564
|
+
}
|
|
7565
|
+
return overflowing;
|
|
7566
|
+
}
|
|
7567
|
+
/**
|
|
7568
|
+
* Moves `collapsed` items into the overflow menu and marks the last item as selected.
|
|
7569
|
+
*/
|
|
7570
|
+
updateItems(items, collapsed) {
|
|
7571
|
+
items.forEach((item, index) => {
|
|
7572
|
+
item.setAttribute('variant', index < collapsed ? 'menuitem' : 'listitem');
|
|
7573
|
+
item.setAttribute('selected', String(index === items.length - 1));
|
|
7574
|
+
item.setAttribute('standalone', String(index === items.length - 1 && index === collapsed));
|
|
7479
7575
|
});
|
|
7480
7576
|
}
|
|
7481
|
-
|
|
7482
|
-
|
|
7483
|
-
|
|
7577
|
+
/**
|
|
7578
|
+
* Rebuilds the off-screen copy of the breadcrumb navigation.
|
|
7579
|
+
*/
|
|
7580
|
+
async updateHiddenNav() {
|
|
7581
|
+
this.hiddenNav?.remove();
|
|
7582
|
+
this.hiddenNav = await this.renderHiddenNav();
|
|
7484
7583
|
}
|
|
7485
|
-
|
|
7486
|
-
|
|
7487
|
-
|
|
7488
|
-
|
|
7489
|
-
|
|
7584
|
+
/**
|
|
7585
|
+
* Renders an off-screen copy of the breadcrumb navigation that is used for measurements.
|
|
7586
|
+
*/
|
|
7587
|
+
async renderHiddenNav() {
|
|
7588
|
+
const shadowRoot = this.host.shadowRoot;
|
|
7589
|
+
if (!shadowRoot || !this.nav)
|
|
7590
|
+
return null;
|
|
7591
|
+
const clone = this.nav.cloneNode(true);
|
|
7592
|
+
const slots = clone.querySelectorAll('slot');
|
|
7593
|
+
// Deep clone the breadcrumb navigation and flatten its slots into the clone.
|
|
7594
|
+
this.nav.querySelectorAll('slot').forEach((source, index) => {
|
|
7595
|
+
const target = slots[index];
|
|
7596
|
+
// Insert the assigned elements where the slot used to be, then drop the now empty slot
|
|
7597
|
+
source.assignedElements().forEach(element => {
|
|
7598
|
+
target.insertAdjacentElement('beforebegin', element.cloneNode(true));
|
|
7599
|
+
});
|
|
7600
|
+
target.remove();
|
|
7490
7601
|
});
|
|
7602
|
+
clone.classList.remove('loading');
|
|
7603
|
+
clone.classList.add('invisible');
|
|
7604
|
+
// Show the overflow menu so that we can include the space it takes up in the measurement.
|
|
7605
|
+
clone.querySelector('.menu').classList.remove('empty');
|
|
7606
|
+
shadowRoot.append(clone);
|
|
7607
|
+
// Wait for all items to be fully hydrated before measuring.
|
|
7608
|
+
const items = clone.querySelectorAll('post-breadcrumb-item');
|
|
7609
|
+
await Promise.all(Array.from(items).map(item => componentOnReady(item)));
|
|
7610
|
+
// Move the items out of the overflow menu so that the uncollapsed layout can be measured.
|
|
7611
|
+
this.updateItems(items, 0);
|
|
7612
|
+
return clone;
|
|
7491
7613
|
}
|
|
7492
7614
|
renderMenu() {
|
|
7493
7615
|
const menuId = `${this.id}-menu`;
|
|
7494
|
-
return (hAsync("div", {
|
|
7616
|
+
return (hAsync("div", { class: `breadcrumb-item menu ${this.collapsed === 0 ? 'empty' : ''}`, role: "listitem" }, hAsync("post-menu-trigger", { for: menuId }, hAsync("button", null, hAsync("span", { class: "visually-hidden" }, this.textMoreItems), hAsync("span", { "aria-hidden": "true" }, "..."))), hAsync("post-menu", { id: menuId, label: this.textMoreItems, placement: "bottom-start" }, hAsync("slot", { name: "menu" }))));
|
|
7495
7617
|
}
|
|
7496
7618
|
render() {
|
|
7497
|
-
|
|
7619
|
+
if (this.loaded) {
|
|
7620
|
+
const items = this.host.querySelectorAll('post-breadcrumb-item');
|
|
7621
|
+
this.updateItems(items, this.collapsed);
|
|
7622
|
+
}
|
|
7623
|
+
return (hAsync(Host, { key: '501384cb07b2deac87a21800fc4d39d695747341', "data-version": version$1 }, hAsync("nav", { key: '20aa57da865967458169544dec75d975926eb675', "aria-label": this.textBreadcrumbs, ref: el => (this.nav = el), class: this.loaded ? '' : 'loading' }, hAsync("div", { key: 'cf8f21f2ee9de01bac0edf9379ba5c183b938d70', role: "list" }, hAsync("div", { key: '9bd29a83cb976d67f3c6ea24cf23b2a07e40ca84', class: "breadcrumb-item home", role: "listitem" }, hAsync("a", { key: '675638668994f074951491040c6043819e6f7282', href: this.homeUrl }, hAsync("span", { key: '3ce1f8ea5ba5738925bff000ec5a8c32603ae963', class: "visually-hidden" }, this.textHome), hAsync("post-icon", { key: '1b35b22788d4e70c948e1067d99265e8af9c74e7', "aria-hidden": "true", name: "home" }))), this.renderMenu(), hAsync("slot", { key: 'f7fe7cd0b16a9064aba28149756f785c47133351' }), hAsync("slot", { key: 'c62ce84877203586c184e1adaea1ecb6ed8a0912', name: "selected" })))));
|
|
7498
7624
|
}
|
|
7499
7625
|
get host() { return getElement(this); }
|
|
7500
7626
|
static get style() { return postBreadcrumbsCss(); }
|
|
@@ -7506,8 +7632,9 @@ class PostBreadcrumbs {
|
|
|
7506
7632
|
"textHome": [513, "text-home"],
|
|
7507
7633
|
"textBreadcrumbs": [513, "text-breadcrumbs"],
|
|
7508
7634
|
"textMoreItems": [513, "text-more-items"],
|
|
7509
|
-
"
|
|
7510
|
-
"
|
|
7635
|
+
"id": [32],
|
|
7636
|
+
"loaded": [32],
|
|
7637
|
+
"collapsed": [32]
|
|
7511
7638
|
},
|
|
7512
7639
|
"$listeners$": undefined,
|
|
7513
7640
|
"$lazyBundleId$": "-",
|
|
@@ -7562,7 +7689,7 @@ class PostClosebutton {
|
|
|
7562
7689
|
}
|
|
7563
7690
|
/**
|
|
7564
7691
|
* The "type" attribute used for the close button
|
|
7565
|
-
|
|
7692
|
+
|
|
7566
7693
|
*/
|
|
7567
7694
|
this.buttonType = 'button';
|
|
7568
7695
|
/**
|
|
@@ -7573,6 +7700,10 @@ class PostClosebutton {
|
|
|
7573
7700
|
* The size of the close button.
|
|
7574
7701
|
*/
|
|
7575
7702
|
this.size = 'default';
|
|
7703
|
+
this.handleClick = () => {
|
|
7704
|
+
const target = findClosableTarget(this.host);
|
|
7705
|
+
target?.close();
|
|
7706
|
+
};
|
|
7576
7707
|
}
|
|
7577
7708
|
componentDidLoad() {
|
|
7578
7709
|
if (globalThis.MutationObserver) {
|
|
@@ -7597,13 +7728,8 @@ class PostClosebutton {
|
|
|
7597
7728
|
console.error(`The \`${this.host.localName}\` component requires content for accessibility.`);
|
|
7598
7729
|
}
|
|
7599
7730
|
}
|
|
7600
|
-
handleClick() {
|
|
7601
|
-
if (this.buttonType === 'reset')
|
|
7602
|
-
this.internals.form?.reset();
|
|
7603
|
-
this.host.closest('dialog')?.close();
|
|
7604
|
-
}
|
|
7605
7731
|
render() {
|
|
7606
|
-
return (hAsync(Host, { key: '
|
|
7732
|
+
return (hAsync(Host, { key: 'f46ba6cbd82793b2a3d3a72c2f89236f0904eb68', "data-version": version$1 }, hAsync("button", { key: 'd014e76ccce88a087f8dd9caaac002eb09f64699', type: this.buttonType, class: "btn btn-icon btn-secondary btn-sm", onClick: this.handleClick }, hAsync("post-icon", { key: '442305b327aabe61f259b98694118ec1b4ed2f09', "aria-hidden": "true", name: "closex" }), hAsync("span", { key: '530149339a2a983d1e5d23c149abd0faf6f912b5', ref: el => (this.visuallyHidden = el), class: "visually-hidden" }, hAsync("slot", { key: 'b90d5bea08c70c6df33dc5fc74bcf06eb2b6cd14' })))));
|
|
7607
7733
|
}
|
|
7608
7734
|
static get formAssociated() { return true; }
|
|
7609
7735
|
get host() { return getElement(this); }
|
|
@@ -7699,7 +7825,7 @@ class PostCollapsible {
|
|
|
7699
7825
|
triggers.forEach(trigger => trigger.update());
|
|
7700
7826
|
}
|
|
7701
7827
|
render() {
|
|
7702
|
-
return (hAsync(Host, { key: '
|
|
7828
|
+
return (hAsync(Host, { key: 'd21f5e36e292652981b165fbb5f4e03501f88e1b', "data-version": version$1, tabindex: this.collapsed ? -1 : undefined, style: this.collapsed ? collapsedKeyframe : undefined }, hAsync("slot", { key: '7804a966899325cbc55f9e62eadf81e8e6a1e248' })));
|
|
7703
7829
|
}
|
|
7704
7830
|
get host() { return getElement(this); }
|
|
7705
7831
|
static get style() { return postCollapsibleCss(); }
|
|
@@ -7825,7 +7951,7 @@ class PostCollapsibleTrigger {
|
|
|
7825
7951
|
this.updateAriaAttributes();
|
|
7826
7952
|
}
|
|
7827
7953
|
render() {
|
|
7828
|
-
return (hAsync(Host, { key: '
|
|
7954
|
+
return (hAsync(Host, { key: '55ae82b4cf69709de291000cc5e273107e1f61e7', "data-version": version$1 }, hAsync("slot", { key: 'c85ddfc93a1ef93c41fcb3fc5705fa1fbb30934d' })));
|
|
7829
7955
|
}
|
|
7830
7956
|
get host() { return getElement(this); }
|
|
7831
7957
|
static get cmpMeta() { return {
|
|
@@ -12659,11 +12785,11 @@ class PostDatePicker {
|
|
|
12659
12785
|
}
|
|
12660
12786
|
}
|
|
12661
12787
|
render() {
|
|
12662
|
-
return (hAsync(Host, { key: '
|
|
12788
|
+
return (hAsync(Host, { key: '8f3e9c45b6536e766d2930bb7647ccb230a1a53c', "data-version": version$1 }, this.inline && (hAsync("div", { key: '37c23df45461da546c03ab5e487e6831992a1a6f', dir: this.textDirection }, hAsync("slot", { key: '6c031a739d43642604c752e2101bbc2d4fbb39e5' }), hAsync("div", { key: '42ecf6418c4522d15a24341b127b444aedbfc7be', class: "datepicker-container" }))), !this.inline && (hAsync("div", { key: '0166eba762a209d0113f42c19715a9dde86eef2d', dir: this.textDirection }, hAsync("div", { key: '14f687ecc53fd5681aa52abd955e18aa17991b2c', class: {
|
|
12663
12789
|
'calendar-input': !this.range,
|
|
12664
12790
|
'calendar-input-range': this.range,
|
|
12665
12791
|
'disabled': this.inputDisabled,
|
|
12666
|
-
} }, hAsync("slot", { key: '
|
|
12792
|
+
} }, hAsync("slot", { key: 'afc114dc156c665de0b1a23732efaf3e221929d4' }), hAsync("button", { key: '205ef45ccc828418af1ef7b3b09def83b87c9b26', onClick: () => this.show(), "aria-haspopup": "true", "aria-label": this.textToggleCalendar, disabled: this.inputDisabled, ref: e => (this.dpTrigger = e) }, hAsync("post-icon", { key: '6730069a64bc2bb461d72e5c0e615d37ca57b74d', name: "calendar" }))), hAsync("post-popovercontainer", { key: '56e1dfd0fd04442f7778c547fc75cba8caba84a5', placement: "bottom-end", offset: PostDatePicker.FLYOUT_OFFSET, ref: e => (this.popoverRef = e) }, hAsync("div", { key: '43ff0d83760214ff8e1ad06c2f8d7c6626e178c1', class: "datepicker-container" }))))));
|
|
12667
12793
|
}
|
|
12668
12794
|
get host() { return getElement(this); }
|
|
12669
12795
|
static get watchers() { return {
|
|
@@ -12846,10 +12972,10 @@ class PostFooter {
|
|
|
12846
12972
|
const allGridSlotsEmpty = GRID_SLOTS.every(slotName => !this.slotDisplayed[slotName]);
|
|
12847
12973
|
const renderMain = !allGridSlotsEmpty || renderSocialmedia || renderApp || renderBusinesssectors;
|
|
12848
12974
|
const renderBase = renderCopyright || renderMeta;
|
|
12849
|
-
return (hAsync(Host, { key: '
|
|
12975
|
+
return (hAsync(Host, { key: '02edce3d202fefa6fe21a84d1ed97a6ded2d76ce', "data-version": version$1, "data-color-scheme": "light" }, hAsync("footer", { key: '7d67c940dc73b6dd16283e7c7a7feeda05f50f80' }, hAsync("h2", { key: '1d71a47f631f463c15b7ac02c7574d4f8adbfe2e', class: "visually-hidden" }, this.textFooter), hAsync("div", { key: '9fd3d08883d63c8aaccb4c3c32c0c8a81c3f8e1c', class: { 'prefooter': true, 'd-none': !renderPrefooter } }, hAsync("div", { key: '99a6abfe43b586e5486c4ceeff3c7176905ef631', class: "footer-container" }, hAsync("slot", { key: '5616b403340d5e2395c0d949926f99c56936b662', onSlotchange: this.handleSlotChange, name: "prefooter" }))), hAsync("div", { key: 'd6ccd3988b9951bb0e38fd612eae64a1889427ef', class: { 'footer-main': true, 'd-none': !renderMain } }, hAsync("div", { key: '4c8880c1dbf366a408402a884e61fe8e1cf45af0', class: "footer-container" }, hAsync("div", { key: 'a79010da73a749002a25b03052d0427d2dcf6c2e', class: { 'footer-grid': true, 'd-none': allGridSlotsEmpty } }, this.device === 'mobile' ? this.renderAccordion() : this.renderColumns()), hAsync("div", { key: '335efe778d8b8e2c4a9f3eeffd4d60e5ba670ad2', class: {
|
|
12850
12976
|
'footer-column': true,
|
|
12851
12977
|
'd-none': !renderSocialmedia && !renderApp,
|
|
12852
|
-
} }, hAsync("div", { key: '
|
|
12978
|
+
} }, hAsync("div", { key: '6725d6db6af39a2f2ed4d887a598f262c6314562', class: { 'footer-socialmedia': true, 'd-none': !renderSocialmedia } }, hAsync("slot", { key: '3a2d1c69bc05245842447ac104615f681b02e3a9', onSlotchange: this.handleSlotChange, name: "socialmedia" })), hAsync("div", { key: '38f1a4b8ef975aafb7f4fd90512ea08dc18e3d4c', class: { 'footer-app': true, 'd-none': !renderApp } }, hAsync("slot", { key: 'fbcb201b8ee7b9ac419c7a01e995ce3be7e4acca', onSlotchange: this.handleSlotChange, name: "app" }))), hAsync("div", { key: '76b292642cd8587ffa95277bf43478c785aed594', class: { 'footer-businesssectors': true, 'd-none': !renderBusinesssectors } }, hAsync("slot", { key: '9fa3ead24b007de21d2669421f03ab2fd870d64e', onSlotchange: this.handleSlotChange, name: "businesssectors" })))), hAsync("div", { key: '0278475002d8a479936967c06335cc667519a902', class: { 'footer-base': true, 'd-none': !renderBase } }, hAsync("div", { key: '59d46393b2a04184a6adc445d4b0940f07ad56f8', class: "footer-container" }, hAsync("div", { key: '7bbaebdf46638ffa1946e7c5be6970c8a1e586bb', class: { 'footer-copyright': true, 'd-none': !renderCopyright } }, hAsync("slot", { key: 'c1601db6edc32929d84897330654dbec24bb8543', onSlotchange: this.handleSlotChange, name: "copyright" })), hAsync("div", { key: '1339ee3a91e8f18d757333b74053291080d95e2b', class: { 'footer-meta': true, 'd-none': !renderMeta } }, hAsync("slot", { key: 'aa98ffd65b0138b198e057dbd2c96368bf92c0b0', onSlotchange: this.handleSlotChange, name: "meta" })))))));
|
|
12853
12979
|
}
|
|
12854
12980
|
get host() { return getElement(this); }
|
|
12855
12981
|
static get style() { return postFooterCss(); }
|
|
@@ -13181,10 +13307,10 @@ class PostHeader {
|
|
|
13181
13307
|
}, style: { '--post-header-navigation-current-inset': `${this.burgerMenu?.scrollTop ?? 0}px` }, ref: el => (this.burgerMenu = el) }, this.hasLocalNav && !this.hasTitle && (hAsync("div", { class: "local-nav" }, hAsync("slot", { name: "local-nav" }))), hAsync("div", { class: "burger-menu-body" }, hAsync("slot", { name: "audience" }), hAsync("slot", { name: "main-nav" })), hAsync("div", { class: "burger-menu-footer" }, hAsync("slot", { name: "global-nav-secondary" }), hAsync("slot", { name: "language-menu" }))));
|
|
13182
13308
|
}
|
|
13183
13309
|
render() {
|
|
13184
|
-
return (hAsync(Host, { key: '
|
|
13310
|
+
return (hAsync(Host, { key: '4ae4873c57cd307d3a4073f3d712bcf975528a90', "data-version": version$1, "data-color-scheme": "light", "data-burger-menu": this.hasBurgerMenu, "data-menu-extended": this.burgerMenuExtended }, hAsync("header", { key: 'cbc743a8981f4bbc3d42807244d88edba88e6a6c' }, hAsync("div", { key: 'f39c122246336d0de803353d9abb9e573459073e', class: "global-header" }, hAsync("div", { key: 'a76628c6501851bbfd597e0106847da12dc0b705', class: "section" }, hAsync("div", { key: 'b703c54159955ae272378aab5172f0bcd1b638d1', class: "logo" }, hAsync("slot", { key: 'a55336f3bee22b2c9a2cb0426b5e04ba5c8f29c4', name: "post-logo" })), hAsync("div", { key: '9b6db729465dae5c503d461a115af296730b2ce6', class: "sliding-controls" }, (hAsync("div", { key: 'cf4124ae4aaf47c2445499ce08ebb15076ac4bf2', class: "audience" }, hAsync("slot", { key: '830003c8b3b50abeb9d82bdfde83212f20a4da3d', name: "audience" }))), hAsync("slot", { key: '458afb2da52853fbc9bc066fc487fcf77df0d2a0', name: "global-nav-primary" }), [
|
|
13185
13311
|
hAsync("slot", { key: "global-nav-secondary", name: "global-nav-secondary" }),
|
|
13186
13312
|
hAsync("slot", { key: "language-menu", name: "language-menu" }),
|
|
13187
|
-
], hAsync("slot", { key: '
|
|
13313
|
+
], hAsync("slot", { key: 'ffab20101950b7472c97ff0675f36903a6a66ebd', name: "post-login" }), this.hasMainNav && (hAsync("post-togglebutton", { key: 'd1cb44efb5ae024bc225487be4e592a406acf138', class: "burger-button", ref: el => (this.burgerMenuButton = el), onClick: () => this.toggleBurgerMenu() }, hAsync("span", { key: 'c33d2bb5c415f58829ad10026b9811684eac3d35' }, this.textMenu), hAsync("post-icon", { key: '7acb3d93aec23ef1c1efd9c9d52832395e66abf0', "aria-hidden": "true", name: "burger", "data-showwhen": "untoggled" }), hAsync("post-icon", { key: '7b6fb17d50df4474ddd282d7e202a43c324c3b87', "aria-hidden": "true", name: "closex", "data-showwhen": "toggled" })))))), hAsync("div", { key: 'c7e6d91a0cd4a286b7186d0f41abdf9dc1e9ffd4', ref: el => (this.localHeader = el), class: { 'local-header': true, 'megadropdown-open': this.megadropdownOpen } }, hAsync("div", { key: '670d00fb0a79ecc1f2bb45645887db13c7ea500f', class: "section" }, hAsync("slot", { key: '5d3b0c9b97be561875fc908b2b7bf4d558513318', name: "side-nav" }), hAsync("slot", { key: '39348fb8869f5623da026ed08ce69f727d9de7e6', name: "title" }), this.hasTitle && hAsync("slot", { key: '883097731548de45adec9cbbf7df1c80a37b76b5', name: "local-nav" }), hAsync("slot", { key: 'fbc77dee6ed73d8a13da75d3d695af80ce32c3af', name: "main-nav" }), !this.hasTitle && hAsync("slot", { key: '94a989295ae04cd8259ba22e583d41bcb4701881', name: "local-nav" }))), this.hasBurgerMenu && this.renderBurgerMenu())));
|
|
13188
13314
|
}
|
|
13189
13315
|
get host() { return getElement(this); }
|
|
13190
13316
|
static get watchers() { return {
|
|
@@ -13316,7 +13442,7 @@ class PostIcon {
|
|
|
13316
13442
|
}).filter(([_key, value]) => value !== null));
|
|
13317
13443
|
}
|
|
13318
13444
|
render() {
|
|
13319
|
-
return (hAsync(Host, { key: '
|
|
13445
|
+
return (hAsync(Host, { key: '917a78dbe4db46244348298b08a2176c9028048e', "data-version": version$1 }, hAsync("span", { key: '06f07755212e2b6a9a5957d7fd37751c62343be6', style: this.getStyles() })));
|
|
13320
13446
|
}
|
|
13321
13447
|
get host() { return getElement(this); }
|
|
13322
13448
|
static get style() { return postIconCss(); }
|
|
@@ -13398,7 +13524,7 @@ class PostLanguageMenu {
|
|
|
13398
13524
|
}
|
|
13399
13525
|
componentDidLoad() {
|
|
13400
13526
|
// Initially set variants and active language
|
|
13401
|
-
// Handles cases where the language-menu is rendered after the language-
|
|
13527
|
+
// Handles cases where the language-menu is rendered after the language-menu-items have been rendered
|
|
13402
13528
|
this.updateChildrenVariant();
|
|
13403
13529
|
}
|
|
13404
13530
|
/**
|
|
@@ -13636,7 +13762,7 @@ class PostLinkarea {
|
|
|
13636
13762
|
}));
|
|
13637
13763
|
}
|
|
13638
13764
|
render() {
|
|
13639
|
-
return (hAsync(Host, { key: '
|
|
13765
|
+
return (hAsync(Host, { key: 'a1ab65608098bc992cd70f98a1c60cecd00f43c5', "data-version": version$1, onClick: (e) => this.dispatchClick(e) }, hAsync("slot", { key: 'f3042050a7075daa1e5cc35664bde6aa6bfcdac1' })));
|
|
13640
13766
|
}
|
|
13641
13767
|
get host() { return getElement(this); }
|
|
13642
13768
|
static get style() { return postLinkareaCss(); }
|
|
@@ -13678,7 +13804,7 @@ class PostListbox {
|
|
|
13678
13804
|
option.highlighted = false;
|
|
13679
13805
|
});
|
|
13680
13806
|
this.highlightedIndex = -1;
|
|
13681
|
-
this.
|
|
13807
|
+
this.clearActive();
|
|
13682
13808
|
};
|
|
13683
13809
|
this.clearActive = () => {
|
|
13684
13810
|
this.highlightedIndex = -1;
|
|
@@ -13782,7 +13908,7 @@ class PostListbox {
|
|
|
13782
13908
|
this.updateSelection(event.detail);
|
|
13783
13909
|
}
|
|
13784
13910
|
render() {
|
|
13785
|
-
return (hAsync(Host, { key: '
|
|
13911
|
+
return (hAsync(Host, { key: '793bdd535fb6b51bfd05012d180520e414519c0f', "data-version": version$1, role: "listbox" }, hAsync("post-popovercontainer", { key: 'd88195a37625fd29c47d4a8cc3ec34e0c92caa5f', placement: "bottom-start", ref: el => (this.popoverContainer = el) }, hAsync("slot", { key: '6882e0cdcf7b277b47a349244382eeb7f3f525e1', name: "blank-slate" }), hAsync("slot", { key: 'dd71f5d59621097df38cfbc3b69cdfc805a54272' }))));
|
|
13786
13912
|
}
|
|
13787
13913
|
get host() { return getElement(this); }
|
|
13788
13914
|
static get style() { return postListboxCss(); }
|
|
@@ -13819,9 +13945,9 @@ class PostListboxOption {
|
|
|
13819
13945
|
this.highlighted = false;
|
|
13820
13946
|
}
|
|
13821
13947
|
render() {
|
|
13822
|
-
return (hAsync(Host, { key: '
|
|
13948
|
+
return (hAsync(Host, { key: 'c2e1c5052d742c62e82eaac30a01d525048b3a2e', "data-version": version$1, role: "option", "aria-selected": `${this.selected}`, "data-active": this.highlighted ? 'true' : null,
|
|
13823
13949
|
/* Prevent focus change from triggering onblur event in post-autocomplete */
|
|
13824
|
-
onPointerDown: (e) => e.preventDefault(), onClick: () => this.postOptionSelected.emit(this.value), id: `post-listbox-option-${this.optionId}` }, hAsync("span", { key: '
|
|
13950
|
+
onPointerDown: (e) => e.preventDefault(), onClick: () => this.postOptionSelected.emit(this.value), id: `post-listbox-option-${this.optionId}` }, hAsync("span", { key: '2b0cdab57c328df649c1353c41e2c4cfe57378d0', class: "option-content" }, this.value, hAsync("span", { key: 'e5807160223e87095dc3c0c076ec84317050cf18', class: "option-description" }, hAsync("slot", { key: '45f0020b9eebe13b84880a842c095daa51cf0feb' }))), this.selected && hAsync("post-icon", { key: '80a23567a10075cbc8269f4769dd7d8aba7b2961', "aria-hidden": "true", name: "checkmark" })));
|
|
13825
13951
|
}
|
|
13826
13952
|
static get style() { return postListboxOptionCss(); }
|
|
13827
13953
|
static get cmpMeta() { return {
|
|
@@ -13868,7 +13994,7 @@ class PostLogo {
|
|
|
13868
13994
|
render() {
|
|
13869
13995
|
const logoLink = this.url && (typeof this.url === 'string' ? this.url : this.url.href);
|
|
13870
13996
|
const LogoTag = logoLink ? 'a' : 'span';
|
|
13871
|
-
return (hAsync(Host, { key: '
|
|
13997
|
+
return (hAsync(Host, { key: 'dd8ddb0dcbed8062ee5adecf2a26ad98b42c94b1', "data-version": version$1 }, hAsync(LogoTag, { key: 'f4d8ad34cdd455c3e2096ce26db7bc775d7e05c3', class: `logo ${logoLink ? 'logo-link' : ''}`, ...(logoLink ? { href: logoLink } : {}) }, hAsync("span", { key: '87a58c2904f3dae5406b5652787ca1d99dbda0dc', class: "description" }, hAsync("slot", { key: 'ae69c86c4bfed42b25aafa948f13989c31833466', onSlotchange: () => this.checkDescription() })), hAsync("svg", { key: 'e51164151a1a53971414ea37af5085f99575fc36', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, hAsync("g", { key: 'fa946d3ded62128ca4469b160103b464eb59329b', id: "Logo" }, hAsync("rect", { key: '18424ee0ca3256f9169d8dac6223df3d49cb09b9', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), hAsync("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" }), hAsync("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" }))))));
|
|
13872
13998
|
}
|
|
13873
13999
|
get host() { return getElement(this); }
|
|
13874
14000
|
static get style() { return postLogoCss(); }
|
|
@@ -14018,7 +14144,7 @@ class PostMainnavigation {
|
|
|
14018
14144
|
}, NAVBAR_DISABLE_DURATION);
|
|
14019
14145
|
}
|
|
14020
14146
|
render() {
|
|
14021
|
-
return (hAsync(Host, { key: '
|
|
14147
|
+
return (hAsync(Host, { key: '9fe43f86cab360591a15a033e0dc657096a69c00', version: version$1, class: this.canScroll ? 'scrollable' : '' }, hAsync("div", { key: 'f68ea70e332336e99c0b51b19e33647b40fcfbb4', "aria-hidden": "true", class: { 'scroll-control scroll-left': true, 'd-none': !this.canScrollLeft }, onMouseDown: e => this.handleScrollButtonClick(e, 'left') }, hAsync("post-icon", { key: 'fac01a93fd7cbfe2548a4d049d59f0bc6d01af63', "aria-hidden": "true", name: "chevronleft" })), hAsync("nav", { key: '7787a27e76350e9e86a97a58a20abe1286786ff7', ref: el => (this.navbar = el), "aria-label": this.textMain }, hAsync("slot", { key: '357a8f5fe1e7b6bea5ae67d87c979f785ea24b82' })), hAsync("div", { key: 'ce6091a9466fcd17aca39fcb5d6c204e1782c95d', "aria-hidden": "true", class: { 'scroll-control scroll-right': true, 'd-none': !this.canScrollRight }, onMouseDown: e => this.handleScrollButtonClick(e, 'right') }, hAsync("post-icon", { key: '92d35b38a453326701a0837e6187abf82fa37bf4', "aria-hidden": "true", name: "chevronright" }))));
|
|
14022
14148
|
}
|
|
14023
14149
|
get host() { return getElement(this); }
|
|
14024
14150
|
static get style() { return postMainnavigationCss(); }
|
|
@@ -14334,7 +14460,7 @@ class PostMegadropdown {
|
|
|
14334
14460
|
}
|
|
14335
14461
|
render() {
|
|
14336
14462
|
const containerStyle = this.isVisible ? {} : { display: 'none' };
|
|
14337
|
-
return (hAsync(Host, { key: '
|
|
14463
|
+
return (hAsync(Host, { key: '2cc8228a628b2a0380acf4fcac8daa1ef1a7bf2f', version: version$1 }, hAsync("div", { key: '709fe50f23fd355bd97add916b451d5abf653780', ref: el => (this.animatedContainer = el), class: "megadropdown", style: containerStyle }, hAsync("div", { key: 'e2bac29e70e39800ee55c8454f78b6889b241121', class: "section" }, this.device !== 'desktop' && this.megadropdownTitle && (hAsync("p", { key: '6c28bc5d3e3b8c8dab385f13a4b9b8a7b7ba70b9', class: "megadropdown-title" }, this.megadropdownTitle)), hAsync("div", { key: 'bf71d0d7b4a84ae1238f27373d195403d8a1f812', class: "megadropdown-content" }, hAsync("slot", { key: '9812bec733ca678b1a3681d90859082e57fbd64a' })), this.device === 'desktop' ? (hAsync("post-closebutton", { onClick: () => this.hide(true), class: "close-button", size: "small", placement: "manual" }, this.textClose)) : (hAsync("button", { onClick: () => this.hide(true), class: "back-button" }, hAsync("post-icon", { name: "arrowleft" }), this.textBack))))));
|
|
14338
14464
|
}
|
|
14339
14465
|
get host() { return getElement(this); }
|
|
14340
14466
|
static get style() { return postMegadropdownCss(); }
|
|
@@ -14439,7 +14565,7 @@ class PostMegadropdownTrigger {
|
|
|
14439
14565
|
this.megadropdown.toggle();
|
|
14440
14566
|
}
|
|
14441
14567
|
render() {
|
|
14442
|
-
return (hAsync(Host, { key: '
|
|
14568
|
+
return (hAsync(Host, { key: 'd5242fd9126f3486f731ed6f369f3a6c38a5d1e9', "data-version": version$1 }, hAsync("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 } }, hAsync("span", { key: 'dacf0bd6dc576fa7c70353c98eacb3d81ddf83e5' }, hAsync("span", { key: '0c7b950ea9bfcae62b367900d78f155edc49de72', innerHTML: this.slottedContent }), hAsync("span", { key: '999325546eb3196f6e704ebeb18f436ff3d53756', "aria-hidden": "true" }, hAsync("slot", { key: '08fa107b944a87edf156ea7d5e12692eba64952d' }))), hAsync("post-icon", { key: 'eb32199b1ff6951b6025c1e4919674f5419f7d49', name: "chevrondown" }))));
|
|
14443
14569
|
}
|
|
14444
14570
|
get host() { return getElement(this); }
|
|
14445
14571
|
static get style() { return postMegadropdownTriggerCss(); }
|
|
@@ -14587,17 +14713,32 @@ class PostMenu {
|
|
|
14587
14713
|
this.toggleMenu.emit(this.isVisible);
|
|
14588
14714
|
if (this.isVisible) {
|
|
14589
14715
|
this.lastFocusedElement = this.root?.activeElement;
|
|
14590
|
-
|
|
14591
|
-
|
|
14592
|
-
|
|
14593
|
-
|
|
14594
|
-
|
|
14595
|
-
|
|
14716
|
+
// Only focus the first item if the trigger was keyboard-focus-visible
|
|
14717
|
+
// that's the browser's own signal for a keyboard-driven interaction.
|
|
14718
|
+
if (this.wasFocusVisible(this.lastFocusedElement)) {
|
|
14719
|
+
requestAnimationFrame(() => {
|
|
14720
|
+
const menuItems = this.getSlottedItems();
|
|
14721
|
+
if (menuItems.length > 0) {
|
|
14722
|
+
menuItems[0].focus();
|
|
14723
|
+
}
|
|
14724
|
+
});
|
|
14725
|
+
}
|
|
14596
14726
|
}
|
|
14597
14727
|
else if (this.lastFocusedElement) {
|
|
14598
14728
|
this.lastFocusedElement.focus();
|
|
14599
14729
|
}
|
|
14600
14730
|
}
|
|
14731
|
+
wasFocusVisible(element) {
|
|
14732
|
+
if (!element)
|
|
14733
|
+
return false;
|
|
14734
|
+
try {
|
|
14735
|
+
return element.matches(':focus-visible');
|
|
14736
|
+
}
|
|
14737
|
+
catch {
|
|
14738
|
+
// Not supported, fall back to always focusing
|
|
14739
|
+
return true;
|
|
14740
|
+
}
|
|
14741
|
+
}
|
|
14601
14742
|
controlKeyDownHandler(e) {
|
|
14602
14743
|
const menuItems = this.getSlottedItems();
|
|
14603
14744
|
if (menuItems.length === 0) {
|
|
@@ -14649,7 +14790,7 @@ class PostMenu {
|
|
|
14649
14790
|
]));
|
|
14650
14791
|
}
|
|
14651
14792
|
render() {
|
|
14652
|
-
return (hAsync(Host, { key: '
|
|
14793
|
+
return (hAsync(Host, { key: 'cc6ede4cdacb722006475de88385b041d7e42dcb', "data-version": version$1 }, hAsync("post-popovercontainer", { key: '3931f604aad477441112fd0b5a4800c8f034abbb', onPostShow: this.handlePostShown.bind(this), onPostBeforeToggle: this.handlePostBeforeToggle.bind(this), placement: this.placement, ref: e => (this.popoverRef = e) }, hAsync("div", { key: '1b0adb12bb1369d14a6bcfac3c956090eb66572a', part: "post-menu" }, hAsync("slot", { key: '9c2518e7e9e6ccaa64d486a90b5fc7eec15c24b8', name: "header" }), hAsync("slot", { key: 'd28df1e411010aabe083255cd5e5ece4bd62424d' })))));
|
|
14653
14794
|
}
|
|
14654
14795
|
get host() { return getElement(this); }
|
|
14655
14796
|
static get style() { return postMenuCss(); }
|
|
@@ -14771,7 +14912,7 @@ class PostMenuTrigger {
|
|
|
14771
14912
|
return null;
|
|
14772
14913
|
}
|
|
14773
14914
|
render() {
|
|
14774
|
-
return (hAsync(Host, { key: '
|
|
14915
|
+
return (hAsync(Host, { key: 'fcdfd58ba24cd5269461477ac3d00a53ccf2ea1b', "data-version": version$1 }, hAsync("slot", { key: 'b3a6b137bf61accd32eb1bec5af5e39e68ec6613' })));
|
|
14775
14916
|
}
|
|
14776
14917
|
get host() { return getElement(this); }
|
|
14777
14918
|
static get style() { return postMenuTriggerCss(); }
|
|
@@ -14807,7 +14948,7 @@ class PostNumberInput {
|
|
|
14807
14948
|
this.isIncrementDisabled = false;
|
|
14808
14949
|
this.isDecrementDisabled = false;
|
|
14809
14950
|
this.small = false;
|
|
14810
|
-
this.setupInput = debounce
|
|
14951
|
+
this.setupInput = debounce(50, () => {
|
|
14811
14952
|
this.input = this.input ?? getSlottedElement(this.host, 'input[type="number"]');
|
|
14812
14953
|
if (!this.input)
|
|
14813
14954
|
return;
|
|
@@ -14881,10 +15022,10 @@ class PostNumberInput {
|
|
|
14881
15022
|
}
|
|
14882
15023
|
render() {
|
|
14883
15024
|
const areButtonsShown = !!this.input;
|
|
14884
|
-
return (hAsync(Host, { key: '
|
|
15025
|
+
return (hAsync(Host, { key: 'aeb366d1738707172f9ae3e154f9a93a10caa016', "data-version": version$1, class: {
|
|
14885
15026
|
'number-input-sm': this.small,
|
|
14886
15027
|
'disabled': this.isDisabled,
|
|
14887
|
-
} }, areButtonsShown && (hAsync("div", { key: '
|
|
15028
|
+
} }, areButtonsShown && (hAsync("div", { key: '9037651a4e2f65ca62f1f4ebe0575a25383c77c7', "aria-hidden": "true", onPointerDown: () => this.step('down'), class: { 'step-button': true, 'disabled': this.isDecrementDisabled } }, hAsync("post-icon", { key: '43ac843cc7df50981dc92eeb5405b415d530a415', name: "minus" }))), hAsync("div", { key: 'f49907424a6cc6802ee9066ef42dcc2c43b1bbfd', class: "input-container" }, hAsync("slot", { key: 'f649b968dac37fbb5f5a643853aedbc90653ed6c', onSlotchange: () => this.setupInput() })), areButtonsShown && (hAsync("div", { key: '66d06189252e360f43c3e63fbdce300be9606069', "aria-hidden": "true", onPointerDown: () => this.step('up'), class: { 'step-button': true, 'disabled': this.isIncrementDisabled } }, hAsync("post-icon", { key: '44bcff6c698f87eac09d1aeaa8b6af6436cac572', name: "plus" })))));
|
|
14888
15029
|
}
|
|
14889
15030
|
get host() { return getElement(this); }
|
|
14890
15031
|
static get style() { return postNumberInputCss(); }
|
|
@@ -14938,7 +15079,7 @@ class PostPagination {
|
|
|
14938
15079
|
this.page = 1;
|
|
14939
15080
|
this.lastWindowWidth = window.innerWidth;
|
|
14940
15081
|
this.loaded = false;
|
|
14941
|
-
this.debouncedResize = debounce(this.handleResizeInternal.bind(this), RESIZE_DEBOUNCE_MS);
|
|
15082
|
+
this.debouncedResize = debounce$1(this.handleResizeInternal.bind(this), RESIZE_DEBOUNCE_MS);
|
|
14942
15083
|
this.measurementTimeoutId = null;
|
|
14943
15084
|
}
|
|
14944
15085
|
handlePropsChange() {
|
|
@@ -15548,7 +15689,7 @@ __decorate$d([
|
|
|
15548
15689
|
Type('string')
|
|
15549
15690
|
], PostPagination.prototype, "textLast", void 0);
|
|
15550
15691
|
|
|
15551
|
-
const postPopoverCss = () => `*{box-sizing:border-box}:host{display:contents}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{color:var(--post-current-fg);background-color:var(--post-current-bg);display:flex;align-items:self-start;padding:8px;min-width:160px;max-width:var(--post-popover-max-width, 280px)}.popover-content{padding:8px;flex-grow:1}`;
|
|
15692
|
+
const postPopoverCss = () => `*{box-sizing:border-box}:host{display:contents}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{color:var(--post-current-fg);background-color:var(--post-current-bg);display:flex;align-items:self-start;padding:8px;min-width:160px;max-width:var(--post-popover-max-width, 280px)}.popover-content{padding:8px;flex-grow:1}post-closebutton{color-scheme:light}`;
|
|
15552
15693
|
|
|
15553
15694
|
var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
15554
15695
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -15632,10 +15773,10 @@ class PostPopover {
|
|
|
15632
15773
|
}
|
|
15633
15774
|
}
|
|
15634
15775
|
render() {
|
|
15635
|
-
return (hAsync(Host, { key: '
|
|
15776
|
+
return (hAsync(Host, { key: '61399669708d5983911748d652ef1a0d7e0562a0', "data-version": version$1 }, hAsync("post-popovercontainer", { key: '561bbe71d735acec27421160623169f7f7f8134e', arrow: this.arrow, placement: this.placement, edgeGap: this.edgeGap, autoHide: true, ref: e => {
|
|
15636
15777
|
if (e)
|
|
15637
15778
|
this.popoverRef = e;
|
|
15638
|
-
} }, hAsync("div", { key: '
|
|
15779
|
+
} }, hAsync("div", { key: 'f7e8d0ae5556cfd429c43b12c3d3d0b19e3cdd46', class: "popover-container" }, hAsync("div", { key: '74c9076d67696ff1d1a295560140864b26f59f60', class: "popover-content" }, hAsync("slot", { key: '5c63af09f545ed7fe3fcfd810fccd7db9da05e8a' })), hAsync("post-closebutton", { key: 'f8fd8c7ba548b912c3fe84994810add92fb470d9' }, this.textClose)))));
|
|
15639
15780
|
}
|
|
15640
15781
|
get host() { return getElement(this); }
|
|
15641
15782
|
static get style() { return postPopoverCss(); }
|
|
@@ -20747,7 +20888,7 @@ class PostPopoverTrigger {
|
|
|
20747
20888
|
focusTrigger() {
|
|
20748
20889
|
// Restores focus to the trigger
|
|
20749
20890
|
if (!this.popoverOpen && this.trigger) {
|
|
20750
|
-
this.trigger.focus();
|
|
20891
|
+
this.trigger.focus({ preventScroll: true });
|
|
20751
20892
|
}
|
|
20752
20893
|
}
|
|
20753
20894
|
constructor(hostRef) {
|
|
@@ -20783,7 +20924,7 @@ class PostPopoverTrigger {
|
|
|
20783
20924
|
this.popover?.removeEventListener('postToggle', this.boundHandlePostToggle);
|
|
20784
20925
|
}
|
|
20785
20926
|
render() {
|
|
20786
|
-
return (hAsync(Host, { key: '
|
|
20927
|
+
return (hAsync(Host, { key: 'a8a3be80d30404564add3fcbef1a24b4f59d4614', "data-version": version$1 }, hAsync("slot", { key: '1fada9d0241aa9e8ab6392e63feb61dc2c686dd5', onSlotchange: () => this.setupTrigger() })));
|
|
20787
20928
|
}
|
|
20788
20929
|
get host() { return getElement(this); }
|
|
20789
20930
|
static get watchers() { return {
|
|
@@ -20814,6 +20955,7 @@ __decorate$b([
|
|
|
20814
20955
|
* @see https://floating-ui.com/docs/virtual-elements
|
|
20815
20956
|
*/
|
|
20816
20957
|
|
|
20958
|
+
const sides = ['top', 'right', 'bottom', 'left'];
|
|
20817
20959
|
const min = Math.min;
|
|
20818
20960
|
const max = Math.max;
|
|
20819
20961
|
const round = Math.round;
|
|
@@ -20906,12 +21048,12 @@ function getOppositePlacement(placement) {
|
|
|
20906
21048
|
return oppositeSideMap[side] + placement.slice(side.length);
|
|
20907
21049
|
}
|
|
20908
21050
|
function expandPaddingObject(padding) {
|
|
21051
|
+
var _padding$top, _padding$right, _padding$bottom, _padding$left;
|
|
20909
21052
|
return {
|
|
20910
|
-
top: 0,
|
|
20911
|
-
right: 0,
|
|
20912
|
-
bottom: 0,
|
|
20913
|
-
left: 0
|
|
20914
|
-
...padding
|
|
21053
|
+
top: (_padding$top = padding.top) != null ? _padding$top : 0,
|
|
21054
|
+
right: (_padding$right = padding.right) != null ? _padding$right : 0,
|
|
21055
|
+
bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
|
|
21056
|
+
left: (_padding$left = padding.left) != null ? _padding$left : 0
|
|
20915
21057
|
};
|
|
20916
21058
|
}
|
|
20917
21059
|
function getPaddingObject(padding) {
|
|
@@ -20986,13 +21128,9 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
|
20986
21128
|
y: reference.y
|
|
20987
21129
|
};
|
|
20988
21130
|
}
|
|
20989
|
-
|
|
20990
|
-
|
|
20991
|
-
|
|
20992
|
-
break;
|
|
20993
|
-
case 'end':
|
|
20994
|
-
coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
|
|
20995
|
-
break;
|
|
21131
|
+
const alignment = getAlignment(placement);
|
|
21132
|
+
if (alignment) {
|
|
21133
|
+
coords[alignmentAxis] += commonAlign * (alignment === 'end' ? 1 : -1) * (rtl && isVertical ? -1 : 1);
|
|
20996
21134
|
}
|
|
20997
21135
|
return coords;
|
|
20998
21136
|
}
|
|
@@ -21041,10 +21179,7 @@ async function detectOverflow(state, options) {
|
|
|
21041
21179
|
height: rects.floating.height
|
|
21042
21180
|
} : rects.reference;
|
|
21043
21181
|
const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
|
|
21044
|
-
const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent)))
|
|
21045
|
-
x: 1,
|
|
21046
|
-
y: 1
|
|
21047
|
-
} : {
|
|
21182
|
+
const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) && (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
|
|
21048
21183
|
x: 1,
|
|
21049
21184
|
y: 1
|
|
21050
21185
|
};
|
|
@@ -21217,17 +21352,16 @@ const arrow$1 = options => ({
|
|
|
21217
21352
|
|
|
21218
21353
|
// Make sure the arrow doesn't overflow the floating element if the center
|
|
21219
21354
|
// point is outside the floating element's bounds.
|
|
21220
|
-
const min$1 = minPadding;
|
|
21221
21355
|
const max = clientSize - arrowDimensions[length] - maxPadding;
|
|
21222
21356
|
const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
|
|
21223
|
-
const offset = clamp(
|
|
21357
|
+
const offset = clamp(minPadding, center, max);
|
|
21224
21358
|
|
|
21225
21359
|
// If the reference is small enough that the arrow's padding causes it to
|
|
21226
21360
|
// to point to nothing for an aligned placement, adjust the offset of the
|
|
21227
21361
|
// floating element itself. To ensure `shift()` continues to take action,
|
|
21228
21362
|
// a single reset is performed when this is true.
|
|
21229
|
-
const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center <
|
|
21230
|
-
const alignmentOffset = shouldAddOffset ? center <
|
|
21363
|
+
const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < minPadding ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
|
|
21364
|
+
const alignmentOffset = shouldAddOffset ? center < minPadding ? center - minPadding : center - max : 0;
|
|
21231
21365
|
return {
|
|
21232
21366
|
[axis]: coords[axis] + alignmentOffset,
|
|
21233
21367
|
data: {
|
|
@@ -21374,6 +21508,76 @@ const flip$1 = function (options) {
|
|
|
21374
21508
|
};
|
|
21375
21509
|
};
|
|
21376
21510
|
|
|
21511
|
+
function getSideOffsets(overflow, rect) {
|
|
21512
|
+
return {
|
|
21513
|
+
top: overflow.top - rect.height,
|
|
21514
|
+
right: overflow.right - rect.width,
|
|
21515
|
+
bottom: overflow.bottom - rect.height,
|
|
21516
|
+
left: overflow.left - rect.width
|
|
21517
|
+
};
|
|
21518
|
+
}
|
|
21519
|
+
function isAnySideFullyClipped(overflow) {
|
|
21520
|
+
return sides.some(side => overflow[side] >= 0);
|
|
21521
|
+
}
|
|
21522
|
+
/**
|
|
21523
|
+
* Provides data to hide the floating element in applicable situations, such as
|
|
21524
|
+
* when it is not in the same clipping context as the reference element.
|
|
21525
|
+
* @see https://floating-ui.com/docs/hide
|
|
21526
|
+
*/
|
|
21527
|
+
const hide$1 = function (options) {
|
|
21528
|
+
if (options === void 0) {
|
|
21529
|
+
options = {};
|
|
21530
|
+
}
|
|
21531
|
+
return {
|
|
21532
|
+
name: 'hide',
|
|
21533
|
+
options,
|
|
21534
|
+
async fn(state) {
|
|
21535
|
+
const {
|
|
21536
|
+
rects,
|
|
21537
|
+
platform
|
|
21538
|
+
} = state;
|
|
21539
|
+
const {
|
|
21540
|
+
strategy = 'referenceHidden',
|
|
21541
|
+
...detectOverflowOptions
|
|
21542
|
+
} = evaluate(options, state);
|
|
21543
|
+
switch (strategy) {
|
|
21544
|
+
case 'referenceHidden':
|
|
21545
|
+
{
|
|
21546
|
+
const overflow = await platform.detectOverflow(state, {
|
|
21547
|
+
...detectOverflowOptions,
|
|
21548
|
+
elementContext: 'reference'
|
|
21549
|
+
});
|
|
21550
|
+
const offsets = getSideOffsets(overflow, rects.reference);
|
|
21551
|
+
return {
|
|
21552
|
+
data: {
|
|
21553
|
+
referenceHiddenOffsets: offsets,
|
|
21554
|
+
referenceHidden: isAnySideFullyClipped(offsets)
|
|
21555
|
+
}
|
|
21556
|
+
};
|
|
21557
|
+
}
|
|
21558
|
+
case 'escaped':
|
|
21559
|
+
{
|
|
21560
|
+
const overflow = await platform.detectOverflow(state, {
|
|
21561
|
+
...detectOverflowOptions,
|
|
21562
|
+
altBoundary: true
|
|
21563
|
+
});
|
|
21564
|
+
const offsets = getSideOffsets(overflow, rects.floating);
|
|
21565
|
+
return {
|
|
21566
|
+
data: {
|
|
21567
|
+
escapedOffsets: offsets,
|
|
21568
|
+
escaped: isAnySideFullyClipped(offsets)
|
|
21569
|
+
}
|
|
21570
|
+
};
|
|
21571
|
+
}
|
|
21572
|
+
default:
|
|
21573
|
+
{
|
|
21574
|
+
return {};
|
|
21575
|
+
}
|
|
21576
|
+
}
|
|
21577
|
+
}
|
|
21578
|
+
};
|
|
21579
|
+
};
|
|
21580
|
+
|
|
21377
21581
|
function getBoundingRect(rects) {
|
|
21378
21582
|
const minX = min(...rects.map(rect => rect.left));
|
|
21379
21583
|
const minY = min(...rects.map(rect => rect.top));
|
|
@@ -21430,12 +21634,19 @@ const inline$1 = function (options) {
|
|
|
21430
21634
|
y
|
|
21431
21635
|
} = evaluate(options, state);
|
|
21432
21636
|
const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);
|
|
21637
|
+
|
|
21638
|
+
// No rects (e.g. a hidden or detached reference, or a collapsed range) —
|
|
21639
|
+
// keep the existing reference rect rather than resetting to an invalid
|
|
21640
|
+
// one with non-finite values.
|
|
21641
|
+
if (!nativeClientRects.length) {
|
|
21642
|
+
return {};
|
|
21643
|
+
}
|
|
21433
21644
|
const clientRects = getRectsByLine(nativeClientRects);
|
|
21434
21645
|
const fallback = rectToClientRect(getBoundingRect(nativeClientRects));
|
|
21435
21646
|
const paddingObject = getPaddingObject(padding);
|
|
21436
21647
|
function getBoundingClientRect() {
|
|
21437
21648
|
// There are two rects and they are disjoined.
|
|
21438
|
-
if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {
|
|
21649
|
+
if (clientRects.length === 2 && (clientRects[0].left > clientRects[1].right || clientRects[1].left > clientRects[0].right) && x != null && y != null) {
|
|
21439
21650
|
// Find the first rect in which the point is fully inside.
|
|
21440
21651
|
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;
|
|
21441
21652
|
}
|
|
@@ -21450,18 +21661,12 @@ const inline$1 = function (options) {
|
|
|
21450
21661
|
const bottom = lastRect.bottom;
|
|
21451
21662
|
const left = isTop ? firstRect.left : lastRect.left;
|
|
21452
21663
|
const right = isTop ? firstRect.right : lastRect.right;
|
|
21453
|
-
|
|
21454
|
-
const height = bottom - top;
|
|
21455
|
-
return {
|
|
21456
|
-
top,
|
|
21457
|
-
bottom,
|
|
21458
|
-
left,
|
|
21459
|
-
right,
|
|
21460
|
-
width,
|
|
21461
|
-
height,
|
|
21664
|
+
return rectToClientRect({
|
|
21462
21665
|
x: left,
|
|
21463
|
-
y: top
|
|
21464
|
-
|
|
21666
|
+
y: top,
|
|
21667
|
+
width: right - left,
|
|
21668
|
+
height: bottom - top
|
|
21669
|
+
});
|
|
21465
21670
|
}
|
|
21466
21671
|
const isLeftSide = getSide(placement) === 'left';
|
|
21467
21672
|
const maxRight = max(...clientRects.map(rect => rect.right));
|
|
@@ -21469,20 +21674,12 @@ const inline$1 = function (options) {
|
|
|
21469
21674
|
const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);
|
|
21470
21675
|
const top = measureRects[0].top;
|
|
21471
21676
|
const bottom = measureRects[measureRects.length - 1].bottom;
|
|
21472
|
-
|
|
21473
|
-
|
|
21474
|
-
|
|
21475
|
-
|
|
21476
|
-
|
|
21477
|
-
|
|
21478
|
-
bottom,
|
|
21479
|
-
left,
|
|
21480
|
-
right,
|
|
21481
|
-
width,
|
|
21482
|
-
height,
|
|
21483
|
-
x: left,
|
|
21484
|
-
y: top
|
|
21485
|
-
};
|
|
21677
|
+
return rectToClientRect({
|
|
21678
|
+
x: minLeft,
|
|
21679
|
+
y: top,
|
|
21680
|
+
width: maxRight - minLeft,
|
|
21681
|
+
height: bottom - top
|
|
21682
|
+
});
|
|
21486
21683
|
}
|
|
21487
21684
|
return fallback;
|
|
21488
21685
|
}
|
|
@@ -21632,23 +21829,16 @@ const shift$1 = function (options) {
|
|
|
21632
21829
|
y
|
|
21633
21830
|
};
|
|
21634
21831
|
const overflow = await platform.detectOverflow(state, detectOverflowOptions);
|
|
21635
|
-
const crossAxis = getSideAxis(
|
|
21832
|
+
const crossAxis = getSideAxis(placement);
|
|
21636
21833
|
const mainAxis = getOppositeAxis(crossAxis);
|
|
21637
21834
|
let mainAxisCoord = coords[mainAxis];
|
|
21638
21835
|
let crossAxisCoord = coords[crossAxis];
|
|
21836
|
+
const clampCoord = (axis, coord) => clamp(coord + overflow[axis === 'y' ? 'top' : 'left'], coord, coord - overflow[axis === 'y' ? 'bottom' : 'right']);
|
|
21639
21837
|
if (checkMainAxis) {
|
|
21640
|
-
|
|
21641
|
-
const maxSide = mainAxis === 'y' ? 'bottom' : 'right';
|
|
21642
|
-
const min = mainAxisCoord + overflow[minSide];
|
|
21643
|
-
const max = mainAxisCoord - overflow[maxSide];
|
|
21644
|
-
mainAxisCoord = clamp(min, mainAxisCoord, max);
|
|
21838
|
+
mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
|
|
21645
21839
|
}
|
|
21646
21840
|
if (checkCrossAxis) {
|
|
21647
|
-
|
|
21648
|
-
const maxSide = crossAxis === 'y' ? 'bottom' : 'right';
|
|
21649
|
-
const min = crossAxisCoord + overflow[minSide];
|
|
21650
|
-
const max = crossAxisCoord - overflow[maxSide];
|
|
21651
|
-
crossAxisCoord = clamp(min, crossAxisCoord, max);
|
|
21841
|
+
crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
|
|
21652
21842
|
}
|
|
21653
21843
|
const limitedCoords = limiter.fn({
|
|
21654
21844
|
...state,
|
|
@@ -21679,6 +21869,7 @@ const limitShift$1 = function (options) {
|
|
|
21679
21869
|
return {
|
|
21680
21870
|
options,
|
|
21681
21871
|
fn(state) {
|
|
21872
|
+
var _rawOffset$mainAxis, _rawOffset$crossAxis;
|
|
21682
21873
|
const {
|
|
21683
21874
|
x,
|
|
21684
21875
|
y,
|
|
@@ -21704,9 +21895,8 @@ const limitShift$1 = function (options) {
|
|
|
21704
21895
|
mainAxis: rawOffset,
|
|
21705
21896
|
crossAxis: 0
|
|
21706
21897
|
} : {
|
|
21707
|
-
mainAxis: 0,
|
|
21708
|
-
crossAxis: 0
|
|
21709
|
-
...rawOffset
|
|
21898
|
+
mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
|
|
21899
|
+
crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
|
|
21710
21900
|
};
|
|
21711
21901
|
if (checkMainAxis) {
|
|
21712
21902
|
const len = mainAxis === 'y' ? 'height' : 'width';
|
|
@@ -21738,6 +21928,12 @@ const limitShift$1 = function (options) {
|
|
|
21738
21928
|
};
|
|
21739
21929
|
};
|
|
21740
21930
|
|
|
21931
|
+
// Method syntax keeps callback parameters bivariant, but expressing the
|
|
21932
|
+
// explicit `| undefined` required by `exactOptionalPropertyTypes` needs
|
|
21933
|
+
// property syntax, which is contravariant under `strictFunctionTypes`.
|
|
21934
|
+
// Extracting the function from a method position restores that bivariance so
|
|
21935
|
+
// consumers can still assign callbacks with narrower parameter types.
|
|
21936
|
+
|
|
21741
21937
|
/**
|
|
21742
21938
|
* Provides data that allows you to change the size of the floating element —
|
|
21743
21939
|
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
@@ -21752,7 +21948,6 @@ const size$1 = function (options) {
|
|
|
21752
21948
|
name: 'size',
|
|
21753
21949
|
options,
|
|
21754
21950
|
async fn(state) {
|
|
21755
|
-
var _state$middlewareData, _state$middlewareData2;
|
|
21756
21951
|
const {
|
|
21757
21952
|
placement,
|
|
21758
21953
|
rects,
|
|
@@ -21784,24 +21979,21 @@ const size$1 = function (options) {
|
|
|
21784
21979
|
const maximumClippingWidth = width - overflow.left - overflow.right;
|
|
21785
21980
|
const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
|
|
21786
21981
|
const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
|
|
21787
|
-
const
|
|
21982
|
+
const shiftData = state.middlewareData.shift;
|
|
21983
|
+
const noShift = !shiftData;
|
|
21788
21984
|
let availableHeight = overflowAvailableHeight;
|
|
21789
21985
|
let availableWidth = overflowAvailableWidth;
|
|
21790
|
-
if (
|
|
21986
|
+
if (shiftData != null && shiftData.enabled.x) {
|
|
21791
21987
|
availableWidth = maximumClippingWidth;
|
|
21792
21988
|
}
|
|
21793
|
-
if (
|
|
21989
|
+
if (shiftData != null && shiftData.enabled.y) {
|
|
21794
21990
|
availableHeight = maximumClippingHeight;
|
|
21795
21991
|
}
|
|
21796
21992
|
if (noShift && !alignment) {
|
|
21797
|
-
const xMin = max(overflow.left, 0);
|
|
21798
|
-
const xMax = max(overflow.right, 0);
|
|
21799
|
-
const yMin = max(overflow.top, 0);
|
|
21800
|
-
const yMax = max(overflow.bottom, 0);
|
|
21801
21993
|
if (isYAxis) {
|
|
21802
|
-
availableWidth = width - 2 *
|
|
21994
|
+
availableWidth = width - 2 * max(overflow.left, overflow.right);
|
|
21803
21995
|
} else {
|
|
21804
|
-
availableHeight = height - 2 *
|
|
21996
|
+
availableHeight = height - 2 * max(overflow.top, overflow.bottom);
|
|
21805
21997
|
}
|
|
21806
21998
|
}
|
|
21807
21999
|
await apply({
|
|
@@ -21957,7 +22149,7 @@ function getParentNode(node) {
|
|
|
21957
22149
|
function getNearestOverflowAncestor(node) {
|
|
21958
22150
|
const parentNode = getParentNode(node);
|
|
21959
22151
|
if (isLastTraversableNode(parentNode)) {
|
|
21960
|
-
return node.ownerDocument
|
|
22152
|
+
return (node.ownerDocument || node).body;
|
|
21961
22153
|
}
|
|
21962
22154
|
if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
|
|
21963
22155
|
return parentNode;
|
|
@@ -22054,10 +22246,7 @@ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
|
|
22054
22246
|
if (isFixed === void 0) {
|
|
22055
22247
|
isFixed = false;
|
|
22056
22248
|
}
|
|
22057
|
-
|
|
22058
|
-
return false;
|
|
22059
|
-
}
|
|
22060
|
-
return isFixed;
|
|
22249
|
+
return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
|
|
22061
22250
|
}
|
|
22062
22251
|
|
|
22063
22252
|
function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
|
|
@@ -22084,12 +22273,12 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
|
|
|
22084
22273
|
let y = (clientRect.top + visualOffsets.y) / scale.y;
|
|
22085
22274
|
let width = clientRect.width / scale.x;
|
|
22086
22275
|
let height = clientRect.height / scale.y;
|
|
22087
|
-
if (domElement) {
|
|
22276
|
+
if (domElement && offsetParent) {
|
|
22088
22277
|
const win = getWindow(domElement);
|
|
22089
|
-
const offsetWin =
|
|
22278
|
+
const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
|
|
22090
22279
|
let currentWin = win;
|
|
22091
22280
|
let currentIFrame = getFrameElement(currentWin);
|
|
22092
|
-
while (currentIFrame &&
|
|
22281
|
+
while (currentIFrame && offsetWin !== currentWin) {
|
|
22093
22282
|
const iframeScale = getScale(currentIFrame);
|
|
22094
22283
|
const iframeRect = currentIFrame.getBoundingClientRect();
|
|
22095
22284
|
const css = getComputedStyle$1(currentIFrame);
|
|
@@ -22153,7 +22342,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
22153
22342
|
let scale = createCoords(1);
|
|
22154
22343
|
const offsets = createCoords(0);
|
|
22155
22344
|
const isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
22156
|
-
if (isOffsetParentAnElement || !
|
|
22345
|
+
if (isOffsetParentAnElement || !isFixed) {
|
|
22157
22346
|
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
22158
22347
|
scroll = getNodeScroll(offsetParent);
|
|
22159
22348
|
}
|
|
@@ -22174,18 +22363,17 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
22174
22363
|
}
|
|
22175
22364
|
|
|
22176
22365
|
function getClientRects(element) {
|
|
22177
|
-
return Array.from(element.getClientRects());
|
|
22366
|
+
return element.getClientRects ? Array.from(element.getClientRects()) : [];
|
|
22178
22367
|
}
|
|
22179
22368
|
|
|
22180
22369
|
// Gets the entire size of the scrollable document area, even extending outside
|
|
22181
22370
|
// of the `<html>` and `<body>` rect bounds if horizontally scrollable.
|
|
22182
|
-
function getDocumentRect(
|
|
22183
|
-
const
|
|
22184
|
-
const
|
|
22185
|
-
const body = element.ownerDocument.body;
|
|
22371
|
+
function getDocumentRect(html) {
|
|
22372
|
+
const scroll = getNodeScroll(html);
|
|
22373
|
+
const body = html.ownerDocument.body;
|
|
22186
22374
|
const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
|
|
22187
22375
|
const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
|
|
22188
|
-
let x = -scroll.scrollLeft + getWindowScrollBarX(
|
|
22376
|
+
let x = -scroll.scrollLeft + getWindowScrollBarX(html);
|
|
22189
22377
|
const y = -scroll.scrollTop;
|
|
22190
22378
|
if (getComputedStyle$1(body).direction === 'rtl') {
|
|
22191
22379
|
x += max(html.clientWidth, body.clientWidth) - width;
|
|
@@ -22202,7 +22390,11 @@ function getDocumentRect(element) {
|
|
|
22202
22390
|
// calculation is affected by unusual styles.
|
|
22203
22391
|
// Most scrollbars leave 15-18px of space.
|
|
22204
22392
|
const SCROLLBAR_MAX = 25;
|
|
22205
|
-
function getViewportRect(element, strategy) {
|
|
22393
|
+
function getViewportRect(element, strategy, rootBoundary) {
|
|
22394
|
+
if (rootBoundary === void 0) {
|
|
22395
|
+
rootBoundary = 'viewport';
|
|
22396
|
+
}
|
|
22397
|
+
const isLayoutViewport = rootBoundary === 'layoutViewport';
|
|
22206
22398
|
const win = getWindow(element);
|
|
22207
22399
|
const html = getDocumentElement(element);
|
|
22208
22400
|
const visualViewport = win.visualViewport;
|
|
@@ -22211,31 +22403,42 @@ function getViewportRect(element, strategy) {
|
|
|
22211
22403
|
let x = 0;
|
|
22212
22404
|
let y = 0;
|
|
22213
22405
|
if (visualViewport) {
|
|
22214
|
-
|
|
22215
|
-
|
|
22216
|
-
|
|
22217
|
-
|
|
22218
|
-
|
|
22219
|
-
|
|
22406
|
+
// Client coordinates are relative to the layout viewport, except in
|
|
22407
|
+
// WebKit with an `absolute` strategy, where they are relative to the
|
|
22408
|
+
// visual viewport.
|
|
22409
|
+
const layoutRelativeClientCoords = !isWebKit() || strategy === 'fixed';
|
|
22410
|
+
if (isLayoutViewport) {
|
|
22411
|
+
if (!layoutRelativeClientCoords) {
|
|
22412
|
+
x = -visualViewport.offsetLeft;
|
|
22413
|
+
y = -visualViewport.offsetTop;
|
|
22414
|
+
}
|
|
22415
|
+
} else {
|
|
22416
|
+
width = visualViewport.width;
|
|
22417
|
+
height = visualViewport.height;
|
|
22418
|
+
if (layoutRelativeClientCoords) {
|
|
22419
|
+
x = visualViewport.offsetLeft;
|
|
22420
|
+
y = visualViewport.offsetTop;
|
|
22421
|
+
}
|
|
22220
22422
|
}
|
|
22221
22423
|
}
|
|
22222
22424
|
const windowScrollbarX = getWindowScrollBarX(html);
|
|
22223
|
-
//
|
|
22224
|
-
// visual width
|
|
22225
|
-
//
|
|
22425
|
+
// `scrollbar-gutter: stable` on the <html> reserves gutter space that shrinks
|
|
22426
|
+
// the visual width but isn't reflected in `html.clientWidth`, so subtract it.
|
|
22427
|
+
// Only the inline-end (right) gutter can hold the scrollbar; `both-edges` also
|
|
22428
|
+
// reserves an empty inline-start gutter that clips nothing, so exclude just
|
|
22429
|
+
// the one scrollbar-side gutter — halve the measured (two-gutter) total. A
|
|
22430
|
+
// left-side scrollbar (`windowScrollbarX > 0`) is already handled by
|
|
22431
|
+
// `getHTMLOffset`/`visualViewport.width`; skip it here.
|
|
22226
22432
|
if (windowScrollbarX <= 0) {
|
|
22227
22433
|
const doc = html.ownerDocument;
|
|
22228
22434
|
const body = doc.body;
|
|
22229
22435
|
const bodyStyles = getComputedStyle(body);
|
|
22230
22436
|
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
22231
|
-
const
|
|
22232
|
-
|
|
22233
|
-
|
|
22437
|
+
const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
22438
|
+
const gutter = getComputedStyle(html).scrollbarGutter === 'stable both-edges' ? reservedWidth / 2 : reservedWidth;
|
|
22439
|
+
if (gutter <= SCROLLBAR_MAX) {
|
|
22440
|
+
width -= gutter;
|
|
22234
22441
|
}
|
|
22235
|
-
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
22236
|
-
// If the <body> scrollbar is on the left, the width needs to be extended
|
|
22237
|
-
// by the scrollbar amount so there isn't extra space on the right.
|
|
22238
|
-
width += windowScrollbarX;
|
|
22239
22442
|
}
|
|
22240
22443
|
return {
|
|
22241
22444
|
width,
|
|
@@ -22250,7 +22453,7 @@ function getInnerBoundingClientRect(element, strategy) {
|
|
|
22250
22453
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
22251
22454
|
const top = clientRect.top + element.clientTop;
|
|
22252
22455
|
const left = clientRect.left + element.clientLeft;
|
|
22253
|
-
const scale =
|
|
22456
|
+
const scale = getScale(element);
|
|
22254
22457
|
const width = element.clientWidth * scale.x;
|
|
22255
22458
|
const height = element.clientHeight * scale.y;
|
|
22256
22459
|
const x = left * scale.x;
|
|
@@ -22264,8 +22467,8 @@ function getInnerBoundingClientRect(element, strategy) {
|
|
|
22264
22467
|
}
|
|
22265
22468
|
function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
|
|
22266
22469
|
let rect;
|
|
22267
|
-
if (clippingAncestor === 'viewport') {
|
|
22268
|
-
rect = getViewportRect(element, strategy);
|
|
22470
|
+
if (clippingAncestor === 'viewport' || clippingAncestor === 'layoutViewport') {
|
|
22471
|
+
rect = getViewportRect(element, strategy, clippingAncestor);
|
|
22269
22472
|
} else if (clippingAncestor === 'document') {
|
|
22270
22473
|
rect = getDocumentRect(getDocumentElement(element));
|
|
22271
22474
|
} else if (isElement(clippingAncestor)) {
|
|
@@ -22281,13 +22484,6 @@ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy)
|
|
|
22281
22484
|
}
|
|
22282
22485
|
return rectToClientRect(rect);
|
|
22283
22486
|
}
|
|
22284
|
-
function hasFixedPositionAncestor(element, stopNode) {
|
|
22285
|
-
const parentNode = getParentNode(element);
|
|
22286
|
-
if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
|
|
22287
|
-
return false;
|
|
22288
|
-
}
|
|
22289
|
-
return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
|
|
22290
|
-
}
|
|
22291
22487
|
|
|
22292
22488
|
// A "clipping ancestor" is an `overflow` element with the characteristic of
|
|
22293
22489
|
// clipping (or hiding) child elements. This returns all clipping ancestors
|
|
@@ -22298,7 +22494,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
22298
22494
|
return cachedResult;
|
|
22299
22495
|
}
|
|
22300
22496
|
let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
|
|
22301
|
-
let
|
|
22497
|
+
let lastKeptComputedStyle = null;
|
|
22302
22498
|
const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
|
|
22303
22499
|
let currentNode = elementIsFixed ? getParentNode(element) : element;
|
|
22304
22500
|
|
|
@@ -22306,16 +22502,20 @@ function getClippingElementAncestors(element, cache) {
|
|
|
22306
22502
|
while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
|
|
22307
22503
|
const computedStyle = getComputedStyle$1(currentNode);
|
|
22308
22504
|
const currentNodeIsContaining = isContainingBlock(currentNode);
|
|
22309
|
-
|
|
22310
|
-
|
|
22311
|
-
|
|
22312
|
-
|
|
22505
|
+
// Position of the containing block chain below the current node. A fixed
|
|
22506
|
+
// element whose containing block hasn't been found yet is a fixed chain.
|
|
22507
|
+
const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? 'fixed' : '';
|
|
22508
|
+
|
|
22509
|
+
// A non-containing ancestor does not clip the element when the chain
|
|
22510
|
+
// below it escapes it: a fixed chain escapes all ancestors up to the
|
|
22511
|
+
// next containing block, an absolute chain escapes static ancestors.
|
|
22512
|
+
const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === 'fixed' || lastPosition === 'absolute' && computedStyle.position === 'static');
|
|
22313
22513
|
if (shouldDropCurrentNode) {
|
|
22314
22514
|
// Drop non-containing blocks.
|
|
22315
22515
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
22316
22516
|
} else {
|
|
22317
|
-
//
|
|
22318
|
-
|
|
22517
|
+
// The kept node carries the chain position for the next iteration.
|
|
22518
|
+
lastKeptComputedStyle = computedStyle;
|
|
22319
22519
|
}
|
|
22320
22520
|
currentNode = getParentNode(currentNode);
|
|
22321
22521
|
}
|
|
@@ -22325,7 +22525,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
22325
22525
|
|
|
22326
22526
|
// Gets the maximum area that the element is visible in due to any number of
|
|
22327
22527
|
// clipping ancestors.
|
|
22328
|
-
function getClippingRect(_ref) {
|
|
22528
|
+
function getClippingRect$1(_ref) {
|
|
22329
22529
|
let {
|
|
22330
22530
|
element,
|
|
22331
22531
|
boundary,
|
|
@@ -22375,13 +22575,7 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
22375
22575
|
scrollTop: 0
|
|
22376
22576
|
};
|
|
22377
22577
|
const offsets = createCoords(0);
|
|
22378
|
-
|
|
22379
|
-
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
22380
|
-
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
22381
|
-
function setLeftRTLScrollbarOffset() {
|
|
22382
|
-
offsets.x = getWindowScrollBarX(documentElement);
|
|
22383
|
-
}
|
|
22384
|
-
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
22578
|
+
if (isOffsetParentAnElement || !isFixed) {
|
|
22385
22579
|
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
22386
22580
|
scroll = getNodeScroll(offsetParent);
|
|
22387
22581
|
}
|
|
@@ -22389,12 +22583,13 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
22389
22583
|
const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
|
|
22390
22584
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
22391
22585
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
22392
|
-
} else if (documentElement) {
|
|
22393
|
-
setLeftRTLScrollbarOffset();
|
|
22394
22586
|
}
|
|
22395
22587
|
}
|
|
22396
|
-
|
|
22397
|
-
|
|
22588
|
+
|
|
22589
|
+
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
22590
|
+
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
22591
|
+
if (!isOffsetParentAnElement && documentElement) {
|
|
22592
|
+
offsets.x = getWindowScrollBarX(documentElement);
|
|
22398
22593
|
}
|
|
22399
22594
|
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
22400
22595
|
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
|
@@ -22479,7 +22674,7 @@ function isRTL(element) {
|
|
|
22479
22674
|
const platform = {
|
|
22480
22675
|
convertOffsetParentRelativeRectToViewportRelativeRect,
|
|
22481
22676
|
getDocumentElement,
|
|
22482
|
-
getClippingRect,
|
|
22677
|
+
getClippingRect: getClippingRect$1,
|
|
22483
22678
|
getOffsetParent,
|
|
22484
22679
|
getElementRects,
|
|
22485
22680
|
getClientRects,
|
|
@@ -22494,7 +22689,7 @@ function rectsAreEqual(a, b) {
|
|
|
22494
22689
|
}
|
|
22495
22690
|
|
|
22496
22691
|
// https://samthor.au/2021/observing-dom/
|
|
22497
|
-
function observeMove(element, onMove) {
|
|
22692
|
+
function observeMove(element, onMove, ancestorResize) {
|
|
22498
22693
|
let io = null;
|
|
22499
22694
|
let timeoutId;
|
|
22500
22695
|
const root = getDocumentElement(element);
|
|
@@ -22537,13 +22732,22 @@ function observeMove(element, onMove) {
|
|
|
22537
22732
|
let isFirstUpdate = true;
|
|
22538
22733
|
function handleObserve(entries) {
|
|
22539
22734
|
const ratio = entries[0].intersectionRatio;
|
|
22735
|
+
|
|
22736
|
+
// The entry is a snapshot, so the reference may have moved since the
|
|
22737
|
+
// intersection was computed (under performance constraints, or between
|
|
22738
|
+
// consecutive frames of a multi-frame layout shift). The reported ratio
|
|
22739
|
+
// and the observed area are stale in that case and cannot be trusted to
|
|
22740
|
+
// detect subsequent movement, so refresh regardless of the ratio.
|
|
22741
|
+
if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
|
|
22742
|
+
return refresh();
|
|
22743
|
+
}
|
|
22540
22744
|
if (ratio !== threshold) {
|
|
22541
22745
|
if (!isFirstUpdate) {
|
|
22542
22746
|
return refresh();
|
|
22543
22747
|
}
|
|
22544
22748
|
if (!ratio) {
|
|
22545
|
-
// If the reference is clipped, the ratio is 0. Throttle
|
|
22546
|
-
// to prevent an infinite loop of updates.
|
|
22749
|
+
// If the reference is clipped in place, the ratio is 0. Throttle
|
|
22750
|
+
// the refresh to prevent an infinite loop of updates.
|
|
22547
22751
|
timeoutId = setTimeout(() => {
|
|
22548
22752
|
refresh(false, 1e-7);
|
|
22549
22753
|
}, 1000);
|
|
@@ -22551,16 +22755,6 @@ function observeMove(element, onMove) {
|
|
|
22551
22755
|
refresh(false, ratio);
|
|
22552
22756
|
}
|
|
22553
22757
|
}
|
|
22554
|
-
if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
|
|
22555
|
-
// It's possible that even though the ratio is reported as 1, the
|
|
22556
|
-
// element is not actually fully within the IntersectionObserver's root
|
|
22557
|
-
// area anymore. This can happen under performance constraints. This may
|
|
22558
|
-
// be a bug in the browser's IntersectionObserver implementation. To
|
|
22559
|
-
// work around this, we compare the element's bounding rect now with
|
|
22560
|
-
// what it was at the time we created the IntersectionObserver. If they
|
|
22561
|
-
// are not equal then the element moved, so we refresh.
|
|
22562
|
-
refresh();
|
|
22563
|
-
}
|
|
22564
22758
|
isFirstUpdate = false;
|
|
22565
22759
|
}
|
|
22566
22760
|
|
|
@@ -22577,8 +22771,18 @@ function observeMove(element, onMove) {
|
|
|
22577
22771
|
}
|
|
22578
22772
|
io.observe(element);
|
|
22579
22773
|
}
|
|
22774
|
+
const win = getWindow(element);
|
|
22775
|
+
// The window is a resize ancestor, so when `ancestorResize` is enabled its
|
|
22776
|
+
// listener already runs the update on resize. Here we only need to rebuild
|
|
22777
|
+
// the `IntersectionObserver` for the new root size, skipping a redundant
|
|
22778
|
+
// update. When `ancestorResize` is disabled, this becomes the sole update.
|
|
22779
|
+
const handleResize = () => refresh(ancestorResize);
|
|
22780
|
+
win.addEventListener('resize', handleResize);
|
|
22580
22781
|
refresh(true);
|
|
22581
|
-
return
|
|
22782
|
+
return () => {
|
|
22783
|
+
win.removeEventListener('resize', handleResize);
|
|
22784
|
+
cleanup();
|
|
22785
|
+
};
|
|
22582
22786
|
}
|
|
22583
22787
|
|
|
22584
22788
|
/**
|
|
@@ -22603,12 +22807,10 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
22603
22807
|
const referenceEl = unwrapElement(reference);
|
|
22604
22808
|
const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];
|
|
22605
22809
|
ancestors.forEach(ancestor => {
|
|
22606
|
-
ancestorScroll && ancestor.addEventListener('scroll', update
|
|
22607
|
-
passive: true
|
|
22608
|
-
});
|
|
22810
|
+
ancestorScroll && ancestor.addEventListener('scroll', update);
|
|
22609
22811
|
ancestorResize && ancestor.addEventListener('resize', update);
|
|
22610
22812
|
});
|
|
22611
|
-
const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
|
|
22813
|
+
const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update, ancestorResize) : null;
|
|
22612
22814
|
let reobserveFrame = -1;
|
|
22613
22815
|
let resizeObserver = null;
|
|
22614
22816
|
if (elementResize) {
|
|
@@ -22694,6 +22896,13 @@ const flip = flip$1;
|
|
|
22694
22896
|
*/
|
|
22695
22897
|
const size = size$1;
|
|
22696
22898
|
|
|
22899
|
+
/**
|
|
22900
|
+
* Provides data to hide the floating element in applicable situations, such as
|
|
22901
|
+
* when it is not in the same clipping context as the reference element.
|
|
22902
|
+
* @see https://floating-ui.com/docs/hide
|
|
22903
|
+
*/
|
|
22904
|
+
const hide = hide$1;
|
|
22905
|
+
|
|
22697
22906
|
/**
|
|
22698
22907
|
* Provides data to position an inner element of the floating element so that it
|
|
22699
22908
|
* appears centered to the reference element.
|
|
@@ -22722,11 +22931,9 @@ const computePosition = (reference, floating, options) => {
|
|
|
22722
22931
|
// multiple lifecycle resets re-use the same result. It only lives for a
|
|
22723
22932
|
// single call. If other functions become expensive, we can add them as well.
|
|
22724
22933
|
const cache = new Map();
|
|
22725
|
-
const mergedOptions = {
|
|
22726
|
-
platform,
|
|
22727
|
-
...options
|
|
22728
|
-
};
|
|
22934
|
+
const mergedOptions = options != null ? options : {};
|
|
22729
22935
|
const platformWithCache = {
|
|
22936
|
+
...platform,
|
|
22730
22937
|
...mergedOptions.platform,
|
|
22731
22938
|
_c: cache
|
|
22732
22939
|
};
|
|
@@ -22751,6 +22958,77 @@ function popIn(el) {
|
|
|
22751
22958
|
});
|
|
22752
22959
|
}
|
|
22753
22960
|
|
|
22961
|
+
/**
|
|
22962
|
+
* This utility is covered by the end-to-end tests under 'clipping' in `popovercontainer.cy.ts`.
|
|
22963
|
+
*/
|
|
22964
|
+
const CLIPPING_RECT_CACHE = Symbol('Clipping Rect Cache');
|
|
22965
|
+
/**
|
|
22966
|
+
* A custom floating UI platform that restricts clipping rectangles to the safe area.
|
|
22967
|
+
*/
|
|
22968
|
+
const safeAreaPlatform = { ...platform, getClippingRect };
|
|
22969
|
+
/**
|
|
22970
|
+
* Computes the clipping rectangle of an element while accounting for the safe area.
|
|
22971
|
+
*/
|
|
22972
|
+
async function getClippingRect(...args) {
|
|
22973
|
+
const element = args[0].element;
|
|
22974
|
+
// Check whether the clipping rectangle of the given element has already been computed during
|
|
22975
|
+
// this pass.
|
|
22976
|
+
const hit = this[CLIPPING_RECT_CACHE].get(element);
|
|
22977
|
+
if (hit)
|
|
22978
|
+
return hit;
|
|
22979
|
+
// Compute the clipping rectangle with the Floating UI DOM platform, then restrict it to the safe
|
|
22980
|
+
// area.
|
|
22981
|
+
const clippingRect = await platform.getClippingRect.apply(this, args);
|
|
22982
|
+
applySafeArea(clippingRect, element);
|
|
22983
|
+
this[CLIPPING_RECT_CACHE].set(element, clippingRect);
|
|
22984
|
+
return clippingRect;
|
|
22985
|
+
}
|
|
22986
|
+
/**
|
|
22987
|
+
* Restricts the `clippingRect` computed for `element` to the safe area, modifying it in place.
|
|
22988
|
+
*
|
|
22989
|
+
* The safe area only applies to elements that the header can actually cover, which excludes
|
|
22990
|
+
* elements without a header on their page, elements on a top layer and elements within the header.
|
|
22991
|
+
*/
|
|
22992
|
+
function applySafeArea(clippingRect, element) {
|
|
22993
|
+
const headerElement = element.ownerDocument.querySelector('post-header');
|
|
22994
|
+
if (headerElement === null)
|
|
22995
|
+
return;
|
|
22996
|
+
let parent = element;
|
|
22997
|
+
while (!isLastTraversableNode(parent)) {
|
|
22998
|
+
parent = getParentNode(parent);
|
|
22999
|
+
if (!isHTMLElement(parent))
|
|
23000
|
+
continue;
|
|
23001
|
+
// Do not apply the safe area of the header to
|
|
23002
|
+
// - elements that are on a top layer, such as a dialog.
|
|
23003
|
+
// - elements that are located within the header itself.
|
|
23004
|
+
if (isTopLayer(parent) || parent === headerElement)
|
|
23005
|
+
return;
|
|
23006
|
+
}
|
|
23007
|
+
const headerRect = headerElement.getBoundingClientRect();
|
|
23008
|
+
const top = Math.max(clippingRect.y, headerRect.bottom);
|
|
23009
|
+
clippingRect.height -= top - clippingRect.y;
|
|
23010
|
+
clippingRect.y = top;
|
|
23011
|
+
}
|
|
23012
|
+
/**
|
|
23013
|
+
* Computes the coordinates that will position the `floating` element next to a given `reference`
|
|
23014
|
+
* element while accounting for the safe area.
|
|
23015
|
+
*
|
|
23016
|
+
* The safe area is the part of the viewport that the header does not cover. Restricting the
|
|
23017
|
+
* clipping rectangles to it makes floating elements behave as if they were clipped by the header.
|
|
23018
|
+
*/
|
|
23019
|
+
const computePositionWithSafeArea = (reference, floating, options) => {
|
|
23020
|
+
// Adapted from https://github.com/floating-ui/floating-ui/blob/27629b74ba36ab8ceb2a968051927b9b69511a3b/packages/dom/src/index.ts#L15
|
|
23021
|
+
options ?? (options = {});
|
|
23022
|
+
return computePosition(reference, floating, {
|
|
23023
|
+
...options,
|
|
23024
|
+
platform: {
|
|
23025
|
+
...safeAreaPlatform,
|
|
23026
|
+
...options.platform,
|
|
23027
|
+
[CLIPPING_RECT_CACHE]: new Map(),
|
|
23028
|
+
},
|
|
23029
|
+
});
|
|
23030
|
+
};
|
|
23031
|
+
|
|
22754
23032
|
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))}`;
|
|
22755
23033
|
|
|
22756
23034
|
var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -22828,7 +23106,7 @@ class PostPopovercontainer {
|
|
|
22828
23106
|
if (this.toggleTimeoutId || !target)
|
|
22829
23107
|
return;
|
|
22830
23108
|
this.eventTarget = target;
|
|
22831
|
-
this.
|
|
23109
|
+
this.updatePosition();
|
|
22832
23110
|
this.host.showPopover();
|
|
22833
23111
|
}
|
|
22834
23112
|
/**
|
|
@@ -22854,7 +23132,7 @@ class PostPopovercontainer {
|
|
|
22854
23132
|
this.eventTarget = target;
|
|
22855
23133
|
// Prevent instant double toggle
|
|
22856
23134
|
if (!this.toggleTimeoutId) {
|
|
22857
|
-
this.
|
|
23135
|
+
this.updatePosition();
|
|
22858
23136
|
this.host.togglePopover(force);
|
|
22859
23137
|
this.toggleTimeoutId = null;
|
|
22860
23138
|
}
|
|
@@ -22966,17 +23244,14 @@ class PostPopovercontainer {
|
|
|
22966
23244
|
startAutoupdates() {
|
|
22967
23245
|
if (!this.eventTarget || !this.host)
|
|
22968
23246
|
return;
|
|
22969
|
-
this.clearAutoUpdate = autoUpdate(this.eventTarget, this.host, this.
|
|
22970
|
-
}
|
|
22971
|
-
/**
|
|
22972
|
-
* Retrieves the dynamic height of the header
|
|
22973
|
-
*/
|
|
22974
|
-
getHeaderHeight() {
|
|
22975
|
-
const header = document.querySelector('post-header');
|
|
22976
|
-
return header ? Number.parseFloat(getComputedStyle(header).height) : 0;
|
|
23247
|
+
this.clearAutoUpdate = autoUpdate(this.eventTarget, this.host, this.updatePosition.bind(this));
|
|
22977
23248
|
}
|
|
22978
|
-
async
|
|
22979
|
-
const { x, y, middlewareData, placement } = await this.
|
|
23249
|
+
async updatePosition() {
|
|
23250
|
+
const { x, y, middlewareData, placement } = await this.calculatePosition();
|
|
23251
|
+
// Hide the popover if the target is outside the viewport
|
|
23252
|
+
if (middlewareData.hide?.referenceHidden) {
|
|
23253
|
+
this.host.hidePopover();
|
|
23254
|
+
}
|
|
22980
23255
|
const currentPlacement = placement.split('-')[0];
|
|
22981
23256
|
this.dynamicPlacement = currentPlacement;
|
|
22982
23257
|
// Position popover
|
|
@@ -23001,13 +23276,15 @@ class PostPopovercontainer {
|
|
|
23001
23276
|
await this.updateSafeSpaceBoundaries(currentPlacement);
|
|
23002
23277
|
}
|
|
23003
23278
|
}
|
|
23004
|
-
async
|
|
23279
|
+
async calculatePosition() {
|
|
23005
23280
|
const gap = this.edgeGap;
|
|
23006
23281
|
const isAligned = (this.placement || 'top').includes('-');
|
|
23007
|
-
const flipMiddleware =
|
|
23008
|
-
|
|
23009
|
-
crossAxis: false,
|
|
23010
|
-
|
|
23282
|
+
const flipMiddleware = [
|
|
23283
|
+
// Flip the popover if the target moves outside the viewport
|
|
23284
|
+
flip({ elementContext: 'reference', crossAxis: false }),
|
|
23285
|
+
// Flip the popover if the popover itself moves outside the viewport
|
|
23286
|
+
flip({ elementContext: 'floating', crossAxis: false }),
|
|
23287
|
+
];
|
|
23011
23288
|
const shiftMiddleware = shift({
|
|
23012
23289
|
padding: gap,
|
|
23013
23290
|
limiter: limitShift({
|
|
@@ -23019,7 +23296,7 @@ class PostPopovercontainer {
|
|
|
23019
23296
|
inline(),
|
|
23020
23297
|
// Per floating-ui docs: for aligned placements (e.g. bottom-end),
|
|
23021
23298
|
// flip should come before shift. For non-aligned, shift before flip.
|
|
23022
|
-
...(isAligned ? [flipMiddleware, shiftMiddleware] : [shiftMiddleware, flipMiddleware]),
|
|
23299
|
+
...(isAligned ? [...flipMiddleware, shiftMiddleware] : [shiftMiddleware, ...flipMiddleware]),
|
|
23023
23300
|
size({
|
|
23024
23301
|
apply({ availableWidth, elements }) {
|
|
23025
23302
|
Object.assign(elements.floating.style, {
|
|
@@ -23031,7 +23308,12 @@ class PostPopovercontainer {
|
|
|
23031
23308
|
if (this.arrow) {
|
|
23032
23309
|
middleware.push(arrow({ element: this.arrowRef, padding: gap }));
|
|
23033
23310
|
}
|
|
23034
|
-
|
|
23311
|
+
// Automatically hide the popover if the target moves outside the scrollport.
|
|
23312
|
+
if (this.autoHide) {
|
|
23313
|
+
// Per floating-ui docs: hide should generally be placed at the end.
|
|
23314
|
+
middleware.push(hide({ strategy: 'referenceHidden' }));
|
|
23315
|
+
}
|
|
23316
|
+
return computePositionWithSafeArea(this.eventTarget, this.host, {
|
|
23035
23317
|
placement: this.placement || 'top',
|
|
23036
23318
|
strategy: 'fixed',
|
|
23037
23319
|
middleware,
|
|
@@ -23098,9 +23380,9 @@ class PostPopovercontainer {
|
|
|
23098
23380
|
}
|
|
23099
23381
|
}
|
|
23100
23382
|
render() {
|
|
23101
|
-
return (hAsync(Host, { key: '
|
|
23383
|
+
return (hAsync(Host, { key: 'a6f41ad3ef982f9e9ec0d6450837d1cfdca73d16', "data-version": version$1, popover: "auto" }, hAsync("div", { key: '40afab436d5550fda44c8995139080161eab5b09', part: "post-popovercontainer-content", class: "popover-content" }, this.arrow && (hAsync("span", { key: '580bd8fcaecb89334aca05001137a4d7cccd254a', "dynamic-placement": this.dynamicPlacement, class: "arrow", ref: el => {
|
|
23102
23384
|
this.arrowRef = el;
|
|
23103
|
-
} })), hAsync("span", { key: '
|
|
23385
|
+
} })), hAsync("span", { key: '61a6e4e8026832afc188edd5a74535716db65945', part: "post-popovercontainer-border-mask" }), hAsync("slot", { key: 'd79cb69a77dbba13ffa3c30e0393db4f3a669a12' }))));
|
|
23104
23386
|
}
|
|
23105
23387
|
get host() { return getElement(this); }
|
|
23106
23388
|
static get style() { return postPopovercontainerCss(); }
|
|
@@ -23113,6 +23395,7 @@ class PostPopovercontainer {
|
|
|
23113
23395
|
"offset": [2],
|
|
23114
23396
|
"arrow": [4],
|
|
23115
23397
|
"safeSpace": [513, "safe-space"],
|
|
23398
|
+
"autoHide": [4, "auto-hide"],
|
|
23116
23399
|
"dynamicPlacement": [32],
|
|
23117
23400
|
"show": [64],
|
|
23118
23401
|
"hide": [64],
|
|
@@ -23199,7 +23482,7 @@ class PostProgressbar {
|
|
|
23199
23482
|
const max = this.getEffectiveMax();
|
|
23200
23483
|
const value = this.getEffectiveValue(min, max);
|
|
23201
23484
|
const percentage = ((value - min) / (max - min)) * 100;
|
|
23202
|
-
return (hAsync(Host, { key: '
|
|
23485
|
+
return (hAsync(Host, { key: 'c08b9b976c5cb34018e48c4dafe6b87207710ba5', role: "progressbar", "aria-valuenow": value, "aria-valuemin": min, "aria-valuemax": max }, hAsync("div", { key: '485eb6657d14ad5472bfbe822b1cd0eb50cd0129', class: "progress-value", style: { '--post-progressbar-value': `${percentage}%` } })));
|
|
23203
23486
|
}
|
|
23204
23487
|
get host() { return getElement(this); }
|
|
23205
23488
|
static get style() { return postProgressbarCss(); }
|
|
@@ -23316,7 +23599,7 @@ class PostRating {
|
|
|
23316
23599
|
}
|
|
23317
23600
|
}
|
|
23318
23601
|
render() {
|
|
23319
|
-
return (hAsync(Host, { key: '
|
|
23602
|
+
return (hAsync(Host, { key: '0cf576670f16d4b8f88b714af12ded14aa1372b2', "data-version": version$1 }, hAsync("div", { key: 'a53c8f8f9c617a2bd3996fd5812c7af091497f55', role: "slider", class: "rating", tabindex: "0", "aria-label": this.label, "aria-valuemin": "0", "aria-valuemax": this.stars, "aria-valuenow": this.currentRating, "aria-valuetext": `${this.currentRating} / ${this.stars}`, "aria-readonly": this.readonly ? 'true' : 'false', onKeyDown: this.keydownHandler, onBlur: this.blurHandler }, Array.from({ length: this.stars }).map((v, i) => (hAsync("div", { key: `star-${v}`, "aria-hidden": "true", class: {
|
|
23320
23603
|
'star': true,
|
|
23321
23604
|
'before-hover': i < this.hoveredIndex,
|
|
23322
23605
|
'active': i < Math.round(this.currentRating),
|
|
@@ -23356,7 +23639,7 @@ __decorate$8([
|
|
|
23356
23639
|
|
|
23357
23640
|
const SIDE_NAVIGATION_SIZES = ['large', 'small'];
|
|
23358
23641
|
|
|
23359
|
-
const postSideNavigationCss = () => `:host{
|
|
23642
|
+
const postSideNavigationCss = () => `:host{display:flex}:host,:host dialog{background-color:var(--post-scheme-color-palette-bg-2);border-inline-end:var(--post-device-border-width-alternative1) solid var(--post-scheme-color-interactive-primary-enabled-stroke4)}:host dialog{overflow:visible;width:var(--post-core-dimension-296);bottom:auto;right:auto;border:none;padding:0;max-height:100dvh;transform:translateX(-100%);transition-property:transform,overlay,display;transition-behavior:allow-discrete;transition-duration:350ms;box-shadow:var(--post-device-elevation-300)}:host dialog[open]{transform:translateX(0)}@starting-style{:host dialog[open]{transform:translateX(-100%)}}@media (prefers-reduced-motion: reduce){:host dialog{transition:none}}:host post-closebutton{transform:translate(50%, 0)}`;
|
|
23360
23643
|
|
|
23361
23644
|
var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
23362
23645
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -23486,7 +23769,7 @@ class PostSideNavigation {
|
|
|
23486
23769
|
} }, hAsync("slot", null), hAsync("post-closebutton", { onClick: () => this.hide() }, this.textClose)));
|
|
23487
23770
|
}
|
|
23488
23771
|
render() {
|
|
23489
|
-
return (hAsync(Host, { key: '
|
|
23772
|
+
return (hAsync(Host, { key: 'd99b96af69d80dc97b44fdc61410768617ca934c', "data-version": version$1 }, this.device === 'desktop' ? this.renderNav() : this.renderDialog()));
|
|
23490
23773
|
}
|
|
23491
23774
|
get host() { return getElement(this); }
|
|
23492
23775
|
static get style() { return postSideNavigationCss(); }
|
|
@@ -23601,7 +23884,7 @@ class PostSideNavigationTrigger {
|
|
|
23601
23884
|
await this.sideNavigation?.toggle();
|
|
23602
23885
|
}
|
|
23603
23886
|
render() {
|
|
23604
|
-
return (hAsync(Host, { key: '
|
|
23887
|
+
return (hAsync(Host, { key: 'e82eb54b68db812c3753a7d027d983fa81f01255', "data-version": version$1 }, hAsync("slot", { key: 'a1ca8877d1a9e0faa653a3f1dec3fd1655b4bcb7' })));
|
|
23605
23888
|
}
|
|
23606
23889
|
get host() { return getElement(this); }
|
|
23607
23890
|
static get style() { return postSideNavigationTriggerCss(); }
|
|
@@ -23731,7 +24014,7 @@ class PostStepper {
|
|
|
23731
24014
|
}
|
|
23732
24015
|
}
|
|
23733
24016
|
render() {
|
|
23734
|
-
return (hAsync(Host, { key: '
|
|
24017
|
+
return (hAsync(Host, { key: '917393b196552a6994cfc230bf93f2cd0a5e77e7', "data-version": version$1 }, hAsync("ol", { key: 'ab15bc7eaa44c5a8246c2fcc2d1c3c8e1d8ab4a6' }, hAsync("slot", { key: 'e61ab0edfce06fe1ef7345a6472834a3af38ce9e', onSlotchange: () => this.updateSteps() })), hAsync("div", { key: 'be0556840878de5adb007ef33693ef619d8a19fa', class: "active-step", "aria-hidden": "true" }, hAsync("span", { key: '8a1663a9360d931198f52c699c4e855a1f77bbc6', class: "active-step-label" }, this.mobileActiveStepLabel), hAsync("span", { key: '31f804be237598a5d8b7cbd1f418af1758e42fd6', innerHTML: this.mobileActiveStepName }))));
|
|
23735
24018
|
}
|
|
23736
24019
|
get host() { return getElement(this); }
|
|
23737
24020
|
static get watchers() { return {
|
|
@@ -23790,7 +24073,7 @@ class PostStepperItem {
|
|
|
23790
24073
|
registerInstance(this, hostRef);
|
|
23791
24074
|
}
|
|
23792
24075
|
render() {
|
|
23793
|
-
return (hAsync(Host, { key: '
|
|
24076
|
+
return (hAsync(Host, { key: '486be1addaa512c39628cfa2fab567d5dfb4b517', "data-version": version$1, role: "listitem" }, hAsync("span", { key: 'a89be43022ff5b9d9cbcad1e4f934fdcef8919c3', class: "stepper-item-content" }, hAsync("span", { key: '60e217eab48532d7985b57159251f84217f1b362', class: "step-hidden-label visually-hidden" }), hAsync("span", { key: 'b847451659b699693d168dd8164c878281fb7793', class: "label" }, hAsync("slot", { key: '823229cba3855d597f08ebc6fc4e5a5059ef7f98' })))));
|
|
23794
24077
|
}
|
|
23795
24078
|
static get style() { return postStepperItemCss(); }
|
|
23796
24079
|
static get cmpMeta() { return {
|
|
@@ -23846,9 +24129,9 @@ class PostTabItem {
|
|
|
23846
24129
|
this.isPagesVariant = hasAnchor;
|
|
23847
24130
|
}
|
|
23848
24131
|
render() {
|
|
23849
|
-
return (hAsync(Host, { key: '
|
|
24132
|
+
return (hAsync(Host, { key: '7a12be83f1b2bd428a4fcba01b4696a253d58daf', id: this.tabId, role: this.isPagesVariant ? undefined : 'tab', "data-version": version$1, "data-pages-variant": this.isPagesVariant.toString(), "aria-selected": this.isPagesVariant ? undefined : 'false', "aria-disabled": this.disabled ? 'true' : undefined, tabindex: this.isPagesVariant ? undefined : '-1', class: `${this.isPagesVariant ? 'nav-item' : 'tab-title'}${!this.isPagesVariant ? ' ssr' : ''}`, style: !this.isPagesVariant
|
|
23850
24133
|
? { '--active': `var(--post-tab-item-${this.name}, 0)` }
|
|
23851
|
-
: undefined }, hAsync("slot", { key: '
|
|
24134
|
+
: undefined }, hAsync("slot", { key: '7350214640bf0ab1afcd3584c4ccd48e22da1612' })));
|
|
23852
24135
|
}
|
|
23853
24136
|
get host() { return getElement(this); }
|
|
23854
24137
|
static get cmpMeta() { return {
|
|
@@ -23894,7 +24177,7 @@ class PostTabPanel {
|
|
|
23894
24177
|
this.panelId = `panel-${this.host.id || nanoid(6)}`;
|
|
23895
24178
|
}
|
|
23896
24179
|
render() {
|
|
23897
|
-
return (hAsync(Host, { key: '
|
|
24180
|
+
return (hAsync(Host, { key: 'a1aa48f24e91af0562683115218d19582309ef6e', "data-version": version$1, id: this.panelId, role: "tabpanel", slot: "panels", style: { display: `var(--post-tab-panel-${this.for}, none)` } }, hAsync("slot", { key: '17e0e571302ded052f9586e0754203b772a3fbec' })));
|
|
23898
24181
|
}
|
|
23899
24182
|
get host() { return getElement(this); }
|
|
23900
24183
|
static get style() { return postTabPanelCss(); }
|
|
@@ -24343,10 +24626,10 @@ class PostTabs {
|
|
|
24343
24626
|
}
|
|
24344
24627
|
: undefined;
|
|
24345
24628
|
const style = !this.isPagesVariant ? tabStyle : undefined;
|
|
24346
|
-
return (hAsync(Host, { key: '
|
|
24629
|
+
return (hAsync(Host, { key: 'ad4f55f50dbd83e1383944984f79d195d1c531e7', "data-version": version$1, style: style }, hAsync("div", { key: '48456590c7b6cead75b689e3b2b463c641600cdd', class: "tabs-wrapper", part: "post-tabs" }, hAsync("button", { key: '6337fd1ba75f53f09bd80ff0873b129cb2387498', ref: el => (this.leftScrollButton = el), class: "scroll-btn scroll-btn-left", type: "button", "aria-label": this.textPrevTabItems, tabindex: this.showLeftScrollButton ? 0 : -1, hidden: !this.showLeftScrollButton, onClick: () => this.scrollTabs('prev') }, hAsync("post-icon", { key: '97897bb7329a070f40e6ecbacff394b10f660aec', name: "chevronleft" })), hAsync(TabsContainer, { key: 'edc801dcadf41c85ed9aafdd2dda11ff4c87756b', ref: el => (this.tabsContainer = el), class: "tabs", role: this.isPagesVariant ? undefined : 'tablist', "aria-label": this.isPagesVariant ? this.label : undefined }, hAsync("slot", { key: '908aaf787f545de1738236412dc4094cabe87155', onSlotchange: () => {
|
|
24347
24630
|
this.moveMisplacedTabs();
|
|
24348
24631
|
this.enableTabs();
|
|
24349
|
-
} })), hAsync("button", { key: '
|
|
24632
|
+
} })), hAsync("button", { key: 'ed12a602b399e1a8dcd190fca7828fcb2683b925', ref: el => (this.rightScrollButton = el), class: "scroll-btn scroll-btn-right", type: "button", "aria-label": this.textNextTabItems, tabindex: this.showRightScrollButton ? 0 : -1, hidden: !this.showRightScrollButton, onClick: () => this.scrollTabs('next') }, hAsync("post-icon", { key: '0ecd4444455da92f371b300299ff2f1a53f804a2', name: "chevronright" }))), !this.isPagesVariant && (hAsync("div", { key: '2252fefeca18a6135796852e511c779d413aa2c5', class: "tab-content", part: "post-tabs-content" }, hAsync("slot", { key: 'dc553352c6fa9ea4c5780108bc9ed8e3e9b29b24', name: "panels", onSlotchange: () => this.moveMisplacedPanels() })))));
|
|
24350
24633
|
}
|
|
24351
24634
|
get host() { return getElement(this); }
|
|
24352
24635
|
static get watchers() { return {
|
|
@@ -24413,7 +24696,7 @@ class PostTogglebutton {
|
|
|
24413
24696
|
});
|
|
24414
24697
|
}
|
|
24415
24698
|
render() {
|
|
24416
|
-
return (hAsync(Host, { key: '
|
|
24699
|
+
return (hAsync(Host, { key: 'ae46e9fcd82766abcf76c4b37d0341cfd29f2f4f', "data-version": version$1, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, hAsync("slot", { key: '9c71c065225f0f5c68e76fa2cec6d75bdf29fed0' })));
|
|
24417
24700
|
}
|
|
24418
24701
|
get host() { return getElement(this); }
|
|
24419
24702
|
static get style() { return postTogglebuttonCss(); }
|
|
@@ -24497,7 +24780,7 @@ class PostTooltip {
|
|
|
24497
24780
|
}
|
|
24498
24781
|
render() {
|
|
24499
24782
|
const popoverClass = `${this.arrow ? 'has-arrow' : ''}`;
|
|
24500
|
-
return (hAsync(Host, { key: '
|
|
24783
|
+
return (hAsync(Host, { key: '1510f7ec123b7bfaa39cc348a6b496a9051163ea', "data-version": version$1 }, hAsync("post-popovercontainer", { key: '004baf52684bfed3b8af77f773c9487d3b776fa9', safeSpace: "trapezoid", class: popoverClass, role: "tooltip", arrow: this.arrow, placement: this.placement, autoHide: true, onPostBeforeToggle: e => this.handleBeforeToggle(e), ref: (el) => (this.popoverRef = el) }, hAsync("slot", { key: '182f95928a4f70c747073e4585c18cab5f0eb277' }))));
|
|
24501
24784
|
}
|
|
24502
24785
|
get host() { return getElement(this); }
|
|
24503
24786
|
static get style() { return postTooltipCss(); }
|
|
@@ -24692,7 +24975,7 @@ class PostTooltipTrigger {
|
|
|
24692
24975
|
this.tooltip?.hide();
|
|
24693
24976
|
}
|
|
24694
24977
|
render() {
|
|
24695
|
-
return (hAsync(Host, { key: '
|
|
24978
|
+
return (hAsync(Host, { key: '692a3cda2890f30f0df80366a9610ec70b0872ba', "data-version": version$1 }, hAsync("slot", { key: '0a9df94a1d52ec318ecbec6740b7d3acc915b130', onSlotchange: () => this.handleSlotChange() })));
|
|
24696
24979
|
}
|
|
24697
24980
|
get host() { return getElement(this); }
|
|
24698
24981
|
static get style() { return postTooltipTriggerCss(); }
|