@swisspost/design-system-components 10.0.0-next.55 → 10.0.0-next.56
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/{esm/breakpoints-CJ80BZ06.js → cjs/breakpoints-Df03Ct7n.js} +103 -5
- package/dist/cjs/debounce-BsIBi_-2.js +13 -0
- package/dist/cjs/environment-BQE9Unf_.js +52 -0
- package/dist/cjs/{event-from-CLvtSUKf.js → event-from-CwMw19f8.js} +2 -2
- package/dist/cjs/fade-CPQhl1fP.js +26 -0
- package/dist/cjs/fade-slide-dPhQa-I1.js +38 -0
- package/dist/cjs/{get-focusable-children-Bx63XUQg.js → get-focusable-children-ChETM1wK.js} +29 -21
- package/dist/cjs/{get-root-CyMf3Vsd.js → get-root-CUAv4k4C.js} +2 -2
- package/dist/cjs/{index-B4gYpuJF.js → index-CKNxhb0S.js} +21 -13
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{package-DkJrv93P.js → package-CY7IOoiw.js} +1 -1
- package/dist/cjs/post-accordion_2.cjs.entry.js +11 -11
- package/dist/cjs/post-avatar.cjs.entry.js +10 -10
- package/dist/cjs/post-back-to-top.cjs.entry.js +16 -40
- package/dist/cjs/post-banner.cjs.entry.js +11 -10
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +7 -7
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +22 -31
- package/dist/cjs/post-card-control.cjs.entry.js +16 -16
- package/dist/cjs/{post-closebutton_15.cjs.entry.js → post-closebutton_13.cjs.entry.js} +481 -484
- package/dist/cjs/post-collapsible_2.cjs.entry.js +33 -33
- package/dist/cjs/post-components.cjs.js +2 -2
- package/dist/cjs/post-env-test.cjs.entry.js +15 -0
- package/dist/cjs/post-footer.cjs.entry.js +21 -19
- package/dist/cjs/post-linkarea.cjs.entry.js +3 -3
- package/dist/cjs/post-pagination.cjs.entry.js +589 -0
- package/dist/cjs/post-popover-trigger.cjs.entry.js +46 -30
- package/dist/cjs/post-popover.cjs.entry.js +11 -11
- package/dist/cjs/post-rating.cjs.entry.js +13 -13
- package/dist/cjs/post-stepper-item.cjs.entry.js +4 -4
- package/dist/cjs/post-stepper.cjs.entry.js +29 -26
- package/dist/cjs/post-tab-item.cjs.entry.js +49 -0
- package/dist/cjs/post-tab-panel.cjs.entry.js +9 -9
- package/dist/cjs/post-tabs.cjs.entry.js +191 -38
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +8 -8
- package/dist/cjs/post-tooltip.cjs.entry.js +6 -6
- package/dist/cjs/utils-s05L2ulk.js +26 -0
- package/dist/collection/animations/collapse.js +3 -3
- package/dist/collection/animations/fade-slide.js +33 -0
- package/dist/collection/animations/fade.js +19 -7
- package/dist/collection/animations/index.js +2 -0
- package/dist/collection/animations/slide.js +25 -21
- package/dist/collection/animations/types.js +14 -0
- package/dist/collection/animations/utils.js +8 -0
- package/dist/collection/collection-manifest.json +6 -6
- package/dist/collection/components/post-accordion/post-accordion.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +4 -4
- package/dist/collection/components/post-avatar/post-avatar.js +1 -1
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +14 -14
- package/dist/collection/components/post-banner/post-banner.css +4 -1
- package/dist/collection/components/post-banner/post-banner.js +3 -3
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +24 -24
- package/dist/collection/components/post-card-control/post-card-control.js +2 -2
- package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
- package/dist/collection/components/post-closebutton/post-closebutton.js +1 -1
- package/dist/collection/components/post-collapsible/post-collapsible.js +27 -27
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +1 -1
- package/dist/collection/components/post-footer/post-footer.css +1 -1
- package/dist/collection/components/post-footer/post-footer.js +17 -15
- package/dist/collection/components/post-header/post-header.css +1 -1
- package/dist/collection/components/post-header/post-header.js +113 -82
- package/dist/collection/components/post-icon/post-icon.js +6 -4
- package/dist/collection/components/post-language-menu/post-language-menu.css +1 -0
- package/dist/collection/components/{post-language-switch/post-language-switch.js → post-language-menu/post-language-menu.js} +23 -23
- package/dist/collection/components/post-language-menu-item/post-language-menu-item.css +1 -0
- package/dist/collection/components/{post-language-option/post-language-option.js → post-language-menu-item/post-language-menu-item.js} +13 -13
- package/dist/collection/components/post-linkarea/post-linkarea.js +1 -1
- package/dist/collection/components/post-logo/post-logo.css +3 -1
- package/dist/collection/components/post-logo/post-logo.js +1 -1
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +41 -29
- package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +183 -74
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +3 -1
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +79 -73
- package/dist/collection/components/post-menu/post-menu.css +1 -1
- package/dist/collection/components/post-menu/post-menu.js +34 -34
- package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +1 -1
- package/dist/collection/components/post-pagination/post-pagination.css +1 -0
- package/dist/collection/components/post-pagination/post-pagination.js +838 -0
- package/dist/collection/components/post-popover/post-popover.js +9 -9
- package/dist/collection/components/post-popover-trigger/post-popover-trigger.js +43 -27
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +45 -92
- package/dist/collection/components/post-rating/post-rating.js +2 -2
- package/dist/collection/components/post-stepper/post-stepper.js +34 -31
- package/dist/collection/components/post-stepper-item/post-stepper-item.css +2 -2
- package/dist/collection/components/post-stepper-item/post-stepper-item.js +1 -1
- package/dist/collection/components/post-tab-item/post-tab-item.css +1 -0
- package/dist/collection/components/post-tab-item/post-tab-item.js +86 -0
- package/dist/collection/components/post-tab-panel/post-tab-panel.js +9 -9
- package/dist/collection/components/post-tabs/post-tabs.js +230 -57
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +1 -1
- package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +1 -1
- package/dist/collection/utils/environment.js +47 -2
- package/dist/collection/utils/event-from.js +2 -2
- package/dist/collection/utils/get-focusable-children.js +29 -21
- package/dist/collection/utils/is-motion-reduced.js +1 -1
- package/dist/collection/utils/tests/environment/hydrate-app-helper.js +16 -0
- package/dist/collection/utils/tests/environment/post-env-test.js +9 -0
- package/dist/component-names.json +4 -5
- package/dist/components/breakpoints.js +90 -3
- package/dist/components/debounce.js +11 -0
- package/dist/components/environment.js +49 -0
- package/dist/components/event-from.js +2 -2
- package/dist/components/fade-slide.js +36 -0
- package/dist/components/fade.js +21 -8
- package/dist/components/get-focusable-children.js +29 -21
- package/dist/components/get-root.js +1 -1
- package/dist/components/index.d.ts +10 -10
- package/dist/components/index.js +5 -5
- package/dist/components/package.js +1 -1
- package/dist/components/post-accordion-item2.js +4 -5
- package/dist/components/post-accordion2.js +2 -3
- package/dist/components/post-avatar.js +2 -3
- package/dist/components/post-back-to-top.js +14 -40
- package/dist/components/post-banner.js +5 -6
- package/dist/components/post-breadcrumb-item2.js +2 -3
- package/dist/components/post-breadcrumbs.js +23 -33
- package/dist/components/post-card-control.js +3 -4
- package/dist/components/post-closebutton2.js +3 -4
- package/dist/components/post-collapsible-trigger2.js +2 -3
- package/dist/components/post-collapsible2.js +25 -25
- package/dist/components/{post-list.d.ts → post-env-test.d.ts} +4 -4
- package/dist/components/post-env-test.js +31 -0
- package/dist/components/post-footer.js +17 -16
- package/dist/components/post-header.js +97 -95
- package/dist/components/post-icon2.js +8 -6
- package/dist/components/post-language-menu-item.d.ts +11 -0
- package/dist/components/post-language-menu-item.js +98 -0
- package/dist/components/{post-language-switch.d.ts → post-language-menu.d.ts} +4 -4
- package/dist/components/post-language-menu.js +156 -0
- package/dist/components/post-linkarea.js +1 -1
- package/dist/components/post-logo.js +3 -4
- package/dist/components/post-mainnavigation.js +21 -32
- package/dist/components/post-megadropdown-trigger.js +71 -78
- package/dist/components/post-megadropdown.js +182 -77
- package/dist/components/post-menu-item2.js +1 -1
- package/dist/components/post-menu-trigger2.js +2 -3
- package/dist/components/post-menu2.js +34 -35
- package/dist/components/{post-tab-header.d.ts → post-pagination.d.ts} +4 -4
- package/dist/components/post-pagination.js +635 -0
- package/dist/components/post-popover-trigger.js +41 -26
- package/dist/components/post-popover.js +8 -9
- package/dist/components/post-popovercontainer2.js +44 -40
- package/dist/components/post-rating.js +2 -3
- package/dist/components/post-stepper-item.js +2 -2
- package/dist/components/post-stepper.js +31 -29
- package/dist/components/{post-list-item.d.ts → post-tab-item.d.ts} +4 -4
- package/dist/components/post-tab-item.js +70 -0
- package/dist/components/post-tab-panel.js +8 -9
- package/dist/components/post-tabs.js +192 -37
- package/dist/components/post-togglebutton.js +1 -51
- package/dist/components/post-togglebutton2.js +53 -0
- package/dist/components/post-tooltip-trigger.js +3 -3
- package/dist/components/post-tooltip.js +2 -3
- package/dist/components/react/index.js +1 -1
- package/dist/{cjs/breakpoints-CEkeixld.js → components/react/p-B8YiQ3mz.js} +89 -6
- package/dist/components/react/{p-DBPOV12C.js → p-BOLlAY91.js} +9 -7
- package/dist/components/react/p-BVCjnh6Q.js +36 -0
- package/dist/components/react/{p-CBFgkSgY.js → p-BVGcVycs.js} +1 -1
- package/dist/components/react/{p-LtiDhYis.js → p-BYCGzO-t.js} +5 -6
- package/dist/components/react/p-C9hMpmsD.js +11 -0
- package/dist/components/react/{p-BVXiQdHq.js → p-CJ13r5fi.js} +29 -21
- package/dist/components/react/{p-CSAMO7iJ.js → p-CnZWXrbA.js} +39 -40
- package/dist/components/react/p-CoDiS_Ik.js +24 -0
- package/dist/components/react/p-CyniMNY-.js +54 -0
- package/dist/components/react/p-D5knoiyy.js +24 -0
- package/dist/components/react/{p-Djvj8fd2.js → p-DBO6FfHt.js} +4 -5
- package/dist/components/react/{p-Ccrl2AQn.js → p-DRfa3MOV.js} +26 -26
- package/dist/components/react/{p-Cwiv86_f.js → p-DYImHx0e.js} +4 -5
- package/dist/components/react/p-DZ5m2Ttg.js +3 -0
- package/dist/components/react/p-FxUVQ4Tx.js +49 -0
- package/dist/components/react/{p-D2waO0Zc.js → p-L36-yvgK.js} +2 -2
- package/dist/components/react/{p-CewRvBtg.js → p-NCAcc7ZZ.js} +4 -5
- package/dist/components/react/{p-DVGEExot.js → p-QNPIvxLq.js} +45 -41
- package/dist/components/react/{p-XrZzCOKT.js → p-_pLhqTys.js} +5 -6
- package/dist/components/react/p-c6yNOQwn.js +113 -0
- package/dist/components/react/{p-CzIKqBrS.js → p-rEfV4v4a.js} +2 -2
- package/dist/components/react/post-accordion-item.js +1 -1
- package/dist/components/react/post-accordion.js +1 -1
- package/dist/components/react/post-avatar.js +3 -4
- package/dist/components/react/post-back-to-top.js +16 -42
- package/dist/components/react/post-banner.js +7 -8
- package/dist/components/react/post-breadcrumb-item.js +1 -1
- package/dist/components/react/post-breadcrumbs.js +30 -40
- package/dist/components/react/post-card-control.js +5 -6
- 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-list.d.ts → post-env-test.d.ts} +4 -4
- package/dist/components/react/post-env-test.js +32 -0
- package/dist/components/react/post-footer.js +23 -22
- package/dist/components/react/post-header.js +99 -97
- package/dist/components/react/post-icon.js +1 -1
- package/dist/components/react/post-language-menu-item.d.ts +11 -0
- package/dist/components/react/post-language-menu-item.js +99 -0
- package/dist/components/react/{post-language-option.d.ts → post-language-menu.d.ts} +4 -4
- package/dist/components/react/post-language-menu.js +157 -0
- package/dist/components/react/post-linkarea.js +2 -2
- package/dist/components/react/post-logo.js +4 -5
- package/dist/components/react/post-mainnavigation.js +23 -34
- package/dist/components/react/post-megadropdown-trigger.js +73 -80
- package/dist/components/react/post-megadropdown.js +184 -79
- 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-tab-header.d.ts → post-pagination.d.ts} +4 -4
- package/dist/components/react/post-pagination.js +636 -0
- package/dist/components/react/post-popover-trigger.js +42 -27
- package/dist/components/react/post-popover.js +13 -14
- package/dist/components/react/post-popovercontainer.js +1 -1
- package/dist/components/react/post-rating.js +4 -5
- package/dist/components/react/post-stepper-item.js +3 -3
- package/dist/components/react/post-stepper.js +32 -30
- package/dist/components/react/{post-list-item.d.ts → post-tab-item.d.ts} +4 -4
- package/dist/components/react/post-tab-item.js +71 -0
- package/dist/components/react/post-tab-panel.js +9 -10
- package/dist/components/react/post-tabs.js +193 -38
- package/dist/components/react/post-togglebutton.js +1 -52
- package/dist/components/react/post-tooltip-trigger.js +4 -4
- package/dist/components/react/post-tooltip.js +4 -5
- package/dist/components/utils.js +24 -0
- package/dist/docs.json +854 -597
- package/dist/{components/react/p-CJ80BZ06.js → esm/breakpoints-DYoSKGHO.js} +90 -3
- package/dist/esm/debounce-C9hMpmsD.js +11 -0
- package/dist/esm/environment-CEmnRoA6.js +49 -0
- package/dist/esm/{event-from-CzIKqBrS.js → event-from-rEfV4v4a.js} +2 -2
- package/dist/esm/fade-DsgPYmAa.js +24 -0
- package/dist/esm/fade-slide-CvOvauo9.js +36 -0
- package/dist/esm/{get-focusable-children-D9ZHp2FP.js → get-focusable-children-BXNs2_sw.js} +29 -21
- package/dist/esm/{get-root-BkQ3CrLq.js → get-root-CXfAA093.js} +1 -1
- package/dist/esm/{index-wEFJ-c34.js → index-1ReqxAnI.js} +21 -13
- package/dist/esm/loader.js +3 -3
- package/dist/esm/package-DZ5m2Ttg.js +3 -0
- package/dist/esm/post-accordion_2.entry.js +9 -9
- package/dist/esm/post-avatar.entry.js +5 -5
- package/dist/esm/post-back-to-top.entry.js +16 -40
- package/dist/esm/post-banner.entry.js +10 -9
- package/dist/esm/post-breadcrumb-item_2.entry.js +6 -6
- package/dist/esm/post-breadcrumbs.entry.js +20 -29
- package/dist/esm/post-card-control.entry.js +6 -6
- package/dist/esm/{post-closebutton_15.entry.js → post-closebutton_13.entry.js} +462 -463
- package/dist/esm/post-collapsible_2.entry.js +30 -30
- package/dist/esm/post-components.js +3 -3
- package/dist/esm/post-env-test.entry.js +13 -0
- package/dist/esm/post-footer.entry.js +18 -16
- package/dist/esm/post-linkarea.entry.js +3 -3
- package/dist/esm/post-pagination.entry.js +587 -0
- package/dist/esm/post-popover-trigger.entry.js +44 -28
- package/dist/esm/post-popover.entry.js +10 -10
- package/dist/esm/post-rating.entry.js +5 -5
- package/dist/esm/post-stepper-item.entry.js +4 -4
- package/dist/esm/post-stepper.entry.js +28 -25
- package/dist/esm/post-tab-item.entry.js +47 -0
- package/dist/esm/post-tab-panel.entry.js +9 -9
- package/dist/esm/post-tabs.entry.js +191 -38
- package/dist/esm/post-tooltip-trigger.entry.js +5 -5
- package/dist/esm/post-tooltip.entry.js +5 -5
- package/dist/esm/utils-CoDiS_Ik.js +24 -0
- package/dist/post-components/{p-7f635728.entry.js → p-130eb074.entry.js} +1 -1
- package/dist/post-components/p-13d018fe.entry.js +1 -0
- package/dist/post-components/p-143e5a84.entry.js +1 -0
- package/dist/post-components/p-1ReqxAnI.js +2 -0
- package/dist/post-components/p-2b220851.entry.js +1 -0
- package/dist/post-components/{p-a9644e54.entry.js → p-390f111f.entry.js} +1 -1
- package/dist/post-components/p-3cf09fbd.entry.js +1 -0
- package/dist/post-components/p-52e584ca.entry.js +1 -0
- package/dist/post-components/p-56a4040c.entry.js +1 -0
- package/dist/post-components/p-675dab57.entry.js +1 -0
- package/dist/post-components/p-6857fd9d.entry.js +1 -0
- package/dist/post-components/p-7cd00e3e.entry.js +1 -0
- package/dist/post-components/p-7f5d2487.entry.js +1 -0
- package/dist/post-components/{p-cd03e6f2.entry.js → p-88201353.entry.js} +1 -1
- package/dist/post-components/p-89360cd1.entry.js +1 -0
- package/dist/post-components/p-B7ebLhHc.js +1 -0
- package/dist/post-components/p-BVCjnh6Q.js +1 -0
- package/dist/post-components/p-BXNs2_sw.js +1 -0
- package/dist/post-components/p-C9hMpmsD.js +1 -0
- package/dist/post-components/p-CEmnRoA6.js +1 -0
- package/dist/post-components/p-CoDiS_Ik.js +1 -0
- package/dist/post-components/p-D5knoiyy.js +1 -0
- package/dist/post-components/p-DI-h_mEL.js +1 -0
- package/dist/post-components/p-DZ5m2Ttg.js +1 -0
- package/dist/post-components/p-a740eaed.entry.js +1 -0
- package/dist/post-components/{p-57288cb2.entry.js → p-a79590f5.entry.js} +1 -1
- package/dist/post-components/p-b708d96a.entry.js +1 -0
- package/dist/post-components/p-bcf5786f.entry.js +1 -0
- package/dist/post-components/p-c92512f5.entry.js +1 -0
- package/dist/post-components/{p-af030a3a.entry.js → p-d7cb3a61.entry.js} +1 -1
- package/dist/post-components/p-d7f33813.entry.js +1 -0
- package/dist/post-components/p-da97ee21.entry.js +1 -0
- package/dist/post-components/{p-e62e1f57.entry.js → p-ed4db774.entry.js} +1 -1
- package/dist/post-components/post-components.css +1 -1
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/prebuild.js +46 -0
- package/dist/types/animations/collapse.d.ts +1 -0
- package/dist/types/animations/fade-slide.d.ts +11 -0
- package/dist/types/animations/fade.d.ts +2 -2
- package/dist/types/animations/index.d.ts +2 -0
- package/dist/types/animations/slide.d.ts +9 -2
- package/dist/types/animations/types.d.ts +13 -0
- package/dist/types/animations/utils.d.ts +2 -0
- package/dist/types/components/post-accordion-item/heading-levels.d.ts +1 -1
- package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +2 -2
- package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +2 -2
- package/dist/types/components/post-breadcrumbs/post-breadcrumbs.d.ts +6 -6
- package/dist/types/components/post-collapsible/post-collapsible.d.ts +4 -5
- package/dist/types/components/post-footer/post-footer.d.ts +4 -4
- package/dist/types/components/post-header/post-header.d.ts +18 -13
- package/dist/types/components/{post-language-switch/post-language-switch.d.ts → post-language-menu/post-language-menu.d.ts} +6 -6
- package/dist/types/components/{post-language-option/post-language-option.d.ts → post-language-menu-item/post-language-menu-item.d.ts} +5 -5
- package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +6 -5
- package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +20 -2
- package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +17 -23
- package/dist/types/components/post-menu/post-menu.d.ts +4 -4
- package/dist/types/components/post-pagination/post-pagination.d.ts +224 -0
- package/dist/types/components/post-popover/post-popover.d.ts +3 -3
- package/dist/types/components/post-popover-trigger/post-popover-trigger.d.ts +2 -1
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +13 -16
- package/dist/types/components/post-rating/post-rating.d.ts +1 -1
- package/dist/types/components/post-stepper/post-stepper.d.ts +9 -8
- package/dist/types/components/post-tab-item/post-tab-item.d.ts +19 -0
- package/dist/types/components/post-tab-panel/post-tab-panel.d.ts +3 -3
- package/dist/types/components/post-tabs/post-tabs.d.ts +33 -12
- package/dist/types/components.d.ts +311 -200
- package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/prebuild.d.ts +9 -0
- package/dist/types/types/heading-levels.d.ts +1 -1
- package/dist/types/utils/environment.d.ts +25 -1
- package/dist/types/utils/get-focusable-children.d.ts +2 -2
- package/dist/types/utils/tests/environment/hydrate-app-helper.d.ts +5 -0
- package/dist/types/utils/tests/environment/post-env-test.d.ts +3 -0
- package/hydrate/index.js +1740 -863
- package/hydrate/index.mjs +1740 -863
- package/package.json +6 -7
- package/dist/cjs/fade-nS5zzDQS.js +0 -14
- package/dist/cjs/index-UFKR6Ok0.js +0 -98
- package/dist/cjs/post-tab-header.cjs.entry.js +0 -31
- package/dist/collection/animations/slide-and-fade.js +0 -25
- package/dist/collection/components/post-language-option/post-language-option.css +0 -1
- package/dist/collection/components/post-language-switch/post-language-switch.css +0 -1
- package/dist/collection/components/post-list/post-list.css +0 -1
- package/dist/collection/components/post-list/post-list.js +0 -97
- package/dist/collection/components/post-list-item/post-list-item.css +0 -1
- package/dist/collection/components/post-list-item/post-list-item.js +0 -26
- package/dist/collection/components/post-tab-header/post-tab-header.css +0 -1
- package/dist/collection/components/post-tab-header/post-tab-header.js +0 -65
- package/dist/components/index2.js +0 -89
- package/dist/components/post-language-option.d.ts +0 -11
- package/dist/components/post-language-option.js +0 -99
- package/dist/components/post-language-switch.js +0 -157
- package/dist/components/post-list-item.js +0 -38
- package/dist/components/post-list.js +0 -61
- package/dist/components/post-tab-header.js +0 -52
- package/dist/components/react/p-BhxZzOEC.js +0 -3
- package/dist/components/react/p-CYkf_7Y5.js +0 -89
- package/dist/components/react/p-SbIC4aZX.js +0 -11
- package/dist/components/react/p-v3pOrMNQ.js +0 -114
- package/dist/components/react/post-language-option.js +0 -100
- package/dist/components/react/post-language-switch.d.ts +0 -11
- package/dist/components/react/post-language-switch.js +0 -158
- package/dist/components/react/post-list-item.js +0 -39
- package/dist/components/react/post-list.js +0 -62
- package/dist/components/react/post-tab-header.js +0 -53
- package/dist/esm/fade-SbIC4aZX.js +0 -11
- package/dist/esm/index-Beaz8wEe.js +0 -89
- package/dist/esm/package-BhxZzOEC.js +0 -3
- package/dist/esm/post-tab-header.entry.js +0 -29
- package/dist/post-components/p-01e678c9.entry.js +0 -1
- package/dist/post-components/p-034a453f.entry.js +0 -1
- package/dist/post-components/p-15a4cdbf.entry.js +0 -1
- package/dist/post-components/p-24dc54d1.entry.js +0 -1
- package/dist/post-components/p-2a2030bf.entry.js +0 -1
- package/dist/post-components/p-2ed84cc3.entry.js +0 -1
- package/dist/post-components/p-3228968f.entry.js +0 -1
- package/dist/post-components/p-3c01ddfe.entry.js +0 -1
- package/dist/post-components/p-748b1f01.entry.js +0 -1
- package/dist/post-components/p-7745e46e.entry.js +0 -1
- package/dist/post-components/p-82c178a3.entry.js +0 -1
- package/dist/post-components/p-9b5f8319.entry.js +0 -1
- package/dist/post-components/p-Beaz8wEe.js +0 -1
- package/dist/post-components/p-BhxZzOEC.js +0 -1
- package/dist/post-components/p-CBFgkSgY.js +0 -1
- package/dist/post-components/p-CJ80BZ06.js +0 -1
- package/dist/post-components/p-D9ZHp2FP.js +0 -1
- package/dist/post-components/p-SbIC4aZX.js +0 -1
- package/dist/post-components/p-b8ba8139.entry.js +0 -1
- package/dist/post-components/p-db935e8e.entry.js +0 -1
- package/dist/post-components/p-fb4b1641.entry.js +0 -1
- package/dist/post-components/p-wEFJ-c34.js +0 -2
- package/dist/types/animations/slide-and-fade.d.ts +0 -2
- package/dist/types/components/post-list/post-list.d.ts +0 -24
- package/dist/types/components/post-list-item/post-list-item.d.ts +0 -8
- package/dist/types/components/post-tab-header/post-tab-header.d.ts +0 -14
- /package/dist/collection/components/{post-language-switch → post-language-menu}/switch-variants.js +0 -0
- /package/dist/post-components/{p-CzIKqBrS.js → p-rEfV4v4a.js} +0 -0
- /package/dist/types/components/{post-language-switch → post-language-menu}/switch-variants.d.ts +0 -0
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var _package = require('./package-
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var getFocusableChildren = require('./get-focusable-children-
|
|
8
|
-
var eventFrom = require('./event-from-
|
|
3
|
+
var index = require('./index-CKNxhb0S.js');
|
|
4
|
+
var _package = require('./package-CY7IOoiw.js');
|
|
5
|
+
var breakpoints = require('./breakpoints-Df03Ct7n.js');
|
|
6
|
+
var fade = require('./fade-CPQhl1fP.js');
|
|
7
|
+
var getFocusableChildren = require('./get-focusable-children-ChETM1wK.js');
|
|
8
|
+
var eventFrom = require('./event-from-CwMw19f8.js');
|
|
9
|
+
var environment = require('./environment-BQE9Unf_.js');
|
|
9
10
|
var index_browser = require('./index.browser-Doj636JV.js');
|
|
11
|
+
var utils = require('./utils-s05L2ulk.js');
|
|
12
|
+
var fadeSlide = require('./fade-slide-dPhQa-I1.js');
|
|
10
13
|
var placement = require('./placement-qEFR9hmI.js');
|
|
11
|
-
var getRoot = require('./get-root-
|
|
14
|
+
var getRoot = require('./get-root-CUAv4k4C.js');
|
|
12
15
|
|
|
13
16
|
const BUTTON_TYPES = ['button', 'submit', 'reset'];
|
|
14
17
|
|
|
15
|
-
const postClosebuttonCss = ".visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}post-closebutton .btn{padding:0;border:unset;min-height:unset;min-width:unset;width:var(--post-device-sizing-notification-1);height:var(--post-device-sizing-notification-1);border-radius:var(--post-device-border-radius-round);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);display:flex;align-items:center;justify-content:center}post-closebutton .btn>post-icon{min-width:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);height:var(--post-device-sizing-interactive-icon-size4)}post-closebutton .btn:not(:disabled):hover,post-closebutton .btn.pretend-hover{cursor:pointer;background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-closebutton .btn:not(:disabled):hover,post-closebutton .btn.pretend-hover{color:HighlightText !important}}";
|
|
18
|
+
const postClosebuttonCss = ".visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}post-closebutton .btn{padding:0;border:unset;min-height:unset;min-width:unset;width:var(--post-device-sizing-notification-1);height:var(--post-device-sizing-notification-1);border-radius:var(--post-device-border-radius-round);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);display:flex;align-items:center;justify-content:center}post-closebutton .btn>post-icon{min-width:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);height:var(--post-device-sizing-interactive-icon-size4)}post-closebutton .btn{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}post-closebutton .btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-closebutton .btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-closebutton .btn:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-closebutton .btn:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-closebutton .btn:not(:disabled):hover,post-closebutton .btn.pretend-hover{cursor:pointer;background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-closebutton .btn:not(:disabled):hover,post-closebutton .btn.pretend-hover{color:HighlightText !important}}";
|
|
16
19
|
|
|
17
20
|
const PostClosebutton = class {
|
|
18
21
|
constructor(hostRef) {
|
|
@@ -24,7 +27,7 @@ const PostClosebutton = class {
|
|
|
24
27
|
this.buttonType = 'button';
|
|
25
28
|
}
|
|
26
29
|
validateButtonType() {
|
|
27
|
-
|
|
30
|
+
breakpoints.checkEmptyOrOneOf(this, 'buttonType', BUTTON_TYPES);
|
|
28
31
|
}
|
|
29
32
|
componentDidLoad() {
|
|
30
33
|
this.checkContent();
|
|
@@ -48,7 +51,7 @@ const PostClosebutton = class {
|
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
53
|
render() {
|
|
51
|
-
return (index.h(index.Host, { key: '
|
|
54
|
+
return (index.h(index.Host, { key: '6965a8cb5fb765b4fcec0439ceeafe19d34970c2', "data-version": _package.version }, index.h("button", { key: '7e718f70b0a4ac79e9439784dac46bd1ffd60fd1', class: "btn", type: this.buttonType }, index.h("post-icon", { key: '70acda3fbe6c9420f0be708fde6b29a7d5337d13', "aria-hidden": "true", name: "closex" }), index.h("span", { key: '899b3814c0898b521e4166e1cd951af628558e78', class: "visually-hidden" }, index.h("slot", { key: 'b13d0e95fd567c86e93e5185389909c7c0e7107d' })))));
|
|
52
55
|
}
|
|
53
56
|
get host() { return index.getElement(this); }
|
|
54
57
|
static get watchers() { return {
|
|
@@ -57,31 +60,34 @@ const PostClosebutton = class {
|
|
|
57
60
|
};
|
|
58
61
|
PostClosebutton.style = postClosebuttonCss;
|
|
59
62
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
});
|
|
63
|
+
/**
|
|
64
|
+
* Used by PostMegadropdown (burger menu)
|
|
65
|
+
*/
|
|
66
|
+
const defaultOptions = {
|
|
67
|
+
translate: 100,
|
|
68
|
+
duration: 500,
|
|
69
|
+
easing: 'ease',
|
|
70
|
+
fill: 'none',
|
|
71
|
+
};
|
|
72
|
+
function animateSlide(el, keyframes, options) {
|
|
73
|
+
const { duration, easing, fill } = { ...defaultOptions, ...options };
|
|
74
|
+
return el.animate(keyframes, { duration, easing: utils.resolveEasing(easing), fill });
|
|
72
75
|
}
|
|
73
|
-
function
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
function slide(el, direction, options = {}) {
|
|
77
|
+
const mergedOptions = {
|
|
78
|
+
...defaultOptions,
|
|
79
|
+
...options,
|
|
80
|
+
};
|
|
81
|
+
const { translate } = mergedOptions;
|
|
82
|
+
const baseKeyframes = [
|
|
83
|
+
{ transform: `translateX(${translate}%)` },
|
|
84
|
+
{ transform: 'translateX(0)' },
|
|
85
|
+
];
|
|
86
|
+
const keyframes = direction === 'in' ? baseKeyframes : [...baseKeyframes].reverse();
|
|
87
|
+
return animateSlide(el, keyframes, options);
|
|
82
88
|
}
|
|
83
89
|
|
|
84
|
-
const postHeaderCss = ":host{--post-global-header-top:calc(var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height));--post-header-top:calc(var(--post-header-reduced-height) - var(--post-header-expanded-height));--post-logo-height:calc(var(--post-global-header-expanded-height) - var(--post-header-scroll-top, 0px));--post-global-controls-top:clamp( 1000 * (var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height)), calc(-1 * min(var(--post-header-scroll-top, 0px) / 4, var(--post-global-header-reduced-height))), 0px )}@media screen and (min-width: 1024px){:host{--post-header-gap:0.25rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.5rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.25rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.25rem;--post-local-header-padding-block:0rem;--post-burger-menu-padding-inline:2.5rem;--post-burger-menu-body-gap:2rem;--post-burger-menu-footer-gap:1.5rem}}@media screen and (min-width: 600px)and (max-width: 779.98px){:host{--post-burger-menu-padding-inline:1rem}}@media screen and (min-width: 0)and (max-width: 599.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.5rem;--post-local-header-padding-inline-end:0.5rem;--post-local-header-padding-block:0rem;--post-burger-menu-padding-inline:1rem;--post-burger-menu-body-gap:1.5rem;--post-burger-menu-footer-gap:1rem}}:host([data-expanded]){--post-header-top:0;--post-global-header-top
|
|
90
|
+
const postHeaderCss = ":host{--post-global-header-top:calc( var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height) );--post-header-top:calc(var(--post-header-reduced-height) - var(--post-header-expanded-height));--post-logo-height:calc( var(--post-global-header-expanded-height) - var(--post-header-scroll-top, 0px) );--post-global-controls-top:clamp( 1000 * (var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height)), calc( -1 * min(var(--post-header-scroll-top, 0px) / 4, var(--post-global-header-reduced-height)) ), 0px )}@media screen and (min-width: 1024px){:host{--post-header-gap:0.25rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.5rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0.25rem;--post-global-header-padding-inline-end:0.25rem;--post-local-header-padding-inline-start:0.75rem;--post-local-header-padding-inline-end:0.25rem;--post-local-header-padding-block:0rem;--post-burger-menu-padding-inline:2.5rem;--post-burger-menu-body-gap:2rem;--post-burger-menu-footer-gap:1.5rem}}@media screen and (min-width: 600px)and (max-width: 779.98px){:host{--post-burger-menu-padding-inline:1rem}}@media screen and (min-width: 0)and (max-width: 599.98px){:host{--post-header-gap:0.75rem 0.25rem;--post-global-header-padding-inline-start:0rem;--post-global-header-padding-inline-end:0.5rem;--post-local-header-padding-inline-start:0.5rem;--post-local-header-padding-inline-end:0.5rem;--post-local-header-padding-block:0rem;--post-burger-menu-padding-inline:1rem;--post-burger-menu-body-gap:1.5rem;--post-burger-menu-footer-gap:1rem}}:host([data-expanded]),:host([data-menu-extended]){--post-header-top:0;--post-global-header-top:-0.001px;--post-global-controls-top:0;--post-logo-height:var(--post-global-header-expanded-height)}*,::before,::after{box-sizing:border-box}:host,header,.global-header,.local-header{transition:inset-block-start 150ms cubic-bezier(0.4, 0, 0.2, 1)}.global-header,.local-header,.burger-menu{box-shadow:var(--post-device-elevation-300)}.global-header,.sliding-controls,.local-header,.navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--post-header-gap)}:host{container-type:inline-size;display:block;position:sticky;inset-block-start:var(--post-header-top);z-index:1020}:host post-togglebutton{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-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}:host post-togglebutton:hover{text-decoration:none}:host post-togglebutton:disabled{border-style:var(--post-core-border-style-dash)}:host post-togglebutton{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 post-togglebutton: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 post-togglebutton:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host post-togglebutton: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 post-togglebutton: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 post-togglebutton:is(a){color:LinkText;border:unset}:host post-togglebutton:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}:host post-togglebutton:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}:host post-togglebutton:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}:host post-togglebutton:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}:host post-togglebutton:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg);color:var(--post-scheme-color-interactive-button-primary-enabled-fg)}:host post-togglebutton:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg);color:var(--post-scheme-color-interactive-button-primary-hover-fg)}@media screen and (min-width: 0)and (max-width: 599.98px){:host post-togglebutton{padding:.625rem}:host post-togglebutton>:not(post-icon){display:none}:host post-togglebutton>post-icon{font-size:1.5rem}}.global-header{z-index:2;position:sticky;inset-block-start:var(--post-global-header-top);background-color:#fc0;height:var(--post-global-header-expanded-height);padding-inline-start:var(--post-global-header-padding-inline-start);padding-inline-end:var(--post-global-header-padding-inline-end)}.global-header:has(~.local-header:not(.no-title.no-navigation)),.global-header:has(~.burger-menu.extended){box-shadow:none}.global-header .logo{align-self:flex-end;width:var(--post-global-header-expanded-height);height:var(--post-logo-height);min-height:var(--post-global-header-reduced-height);max-height:100%;margin-inline-end:calc(1.25rem - var(--post-header-gap))}.global-header .sliding-controls{flex-grow:1;justify-content:flex-end;position:relative;inset-block-start:var(--post-global-controls-top)}.global-header .audience{margin-inline-end:auto}.global-header.no-audience .audience{display:none}.local-header{position:relative;flex-wrap:wrap;background-color:#fff;min-height:var(--post-local-header-expanded-min-height);padding-inline-start:var(--post-local-header-padding-inline-start);padding-inline-end:var(--post-local-header-padding-inline-end);padding-block:var(--post-local-header-padding-block)}.local-header:not(.no-title,.no-navigation){padding-block-start:1.125rem}.local-header.no-title.no-navigation{display:none}.local-header:has(.navigation.megadropdown-open),.local-header:has(~.burger-menu.extended){box-shadow:none}.local-header:has(.navigation.megadropdown-open)::after,.local-header:has(~.burger-menu.extended)::after{content:\"\";display:block;position:absolute;inset-inline:0;inset-block-end:0;height:1px;background-color:#e1e0dc}.local-header .navigation{flex:1 0 100%;height:var(--post-main-navigation-height);margin-inline-start:calc(-1*var(--post-local-header-padding-inline-start));max-width:100cqw}.local-header.no-navigation .navigation{display:none}.local-header .local-nav{flex:0 0 auto}.local-header.no-local-nav .navigation{margin-inline-end:calc(-1*var(--post-local-header-padding-inline-end))}.local-header.no-local-nav .local-nav{display:none}.burger-menu{z-index:-1;position:absolute;inset-inline:0;inset-block-start:100%;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));overflow:hidden auto;display:flex;flex-direction:column;background-color:#fafafa}.burger-menu.extended.megadropdown-open{overflow:hidden}.burger-menu:not(.extended){transform:translateY(-100%);display:none}.burger-menu:not(.extended)>*{display:none}.burger-menu .burger-menu-body,.burger-menu .burger-menu-footer{display:flex;flex-direction:column;padding-inline:var(--post-burger-menu-padding-inline)}.burger-menu .burger-menu-body{flex-grow:1;padding-block:1.5rem;gap:var(--post-burger-menu-body-gap)}.burger-menu .burger-menu-footer{background-color:#f0efed;padding-block:1rem 1.5rem;gap:var(--post-burger-menu-footer-gap)}.burger-menu .local-nav{min-height:3.5rem;display:flex;align-items:center;justify-content:flex-end;padding-inline:.25rem}.burger-menu.no-local-nav .local-nav{display:none}";
|
|
85
91
|
|
|
86
92
|
var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
87
93
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -111,6 +117,9 @@ const PostHeader = class {
|
|
|
111
117
|
}
|
|
112
118
|
return document.body;
|
|
113
119
|
}
|
|
120
|
+
validateTextMenu() {
|
|
121
|
+
breakpoints.checkRequiredAndType(this, 'textMenu', 'string');
|
|
122
|
+
}
|
|
114
123
|
lockBody(newValue, _oldValue, propName) {
|
|
115
124
|
const scrollParent = this.scrollParent;
|
|
116
125
|
const burgerMenuExtended = propName === 'burgerMenuExtended' ? newValue : this.burgerMenuExtended;
|
|
@@ -126,10 +135,14 @@ const PostHeader = class {
|
|
|
126
135
|
constructor(hostRef) {
|
|
127
136
|
index.registerInstance(this, hostRef);
|
|
128
137
|
this.throttledResize = breakpoints.throttle(50, () => this.updateLocalHeaderHeight());
|
|
138
|
+
this.animationOptions = {
|
|
139
|
+
duration: 350,
|
|
140
|
+
easing: 'headerEase',
|
|
141
|
+
};
|
|
129
142
|
this.device = breakpoints.breakpoint.get('device');
|
|
130
143
|
this.hasNavigation = false;
|
|
131
|
-
this.
|
|
132
|
-
this.
|
|
144
|
+
this.hasLocalNav = false;
|
|
145
|
+
this.hasAudience = false;
|
|
133
146
|
this.hasTitle = false;
|
|
134
147
|
this.burgerMenuExtended = false;
|
|
135
148
|
this.megadropdownOpen = false;
|
|
@@ -146,15 +159,14 @@ const PostHeader = class {
|
|
|
146
159
|
this.megadropdownOpen = false;
|
|
147
160
|
}
|
|
148
161
|
};
|
|
149
|
-
this.megadropdownStateHandler = (event) => {
|
|
150
|
-
this.megadropdownOpen = event.detail.isVisible;
|
|
151
|
-
};
|
|
152
162
|
this.handleScrollEvent = this.handleScrollEvent.bind(this);
|
|
153
163
|
this.updateScrollParentHeight = this.updateScrollParentHeight.bind(this);
|
|
154
164
|
this.updateLocalHeaderHeight = this.updateLocalHeaderHeight.bind(this);
|
|
155
165
|
this.keyboardHandler = this.keyboardHandler.bind(this);
|
|
156
166
|
this.handleLinkClick = this.handleLinkClick.bind(this);
|
|
167
|
+
this.megadropdownStateHandler = this.megadropdownStateHandler.bind(this);
|
|
157
168
|
this.checkSlottedContent = this.checkSlottedContent.bind(this);
|
|
169
|
+
this.megadropdownStateHandler = this.megadropdownStateHandler.bind(this);
|
|
158
170
|
}
|
|
159
171
|
connectedCallback() {
|
|
160
172
|
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
@@ -165,7 +177,6 @@ const PostHeader = class {
|
|
|
165
177
|
passive: true,
|
|
166
178
|
});
|
|
167
179
|
document.addEventListener('postToggleMegadropdown', this.megadropdownStateHandler);
|
|
168
|
-
this.host.addEventListener('click', this.handleLinkClick);
|
|
169
180
|
window.addEventListener('postBreakpoint:device', this.breakpointChange);
|
|
170
181
|
this.handleScrollParentResize();
|
|
171
182
|
this.lockBody(false, this.burgerMenuExtended, 'burgerMenuExtended');
|
|
@@ -176,11 +187,13 @@ const PostHeader = class {
|
|
|
176
187
|
this.switchLanguageSwitchMode();
|
|
177
188
|
}
|
|
178
189
|
componentDidRender() {
|
|
190
|
+
this.validateTextMenu();
|
|
179
191
|
this.getFocusableElements();
|
|
180
192
|
this.handleLocalHeaderResize();
|
|
181
193
|
}
|
|
182
194
|
componentDidLoad() {
|
|
183
195
|
this.updateLocalHeaderHeight();
|
|
196
|
+
this.host.shadowRoot.addEventListener('click', this.handleLinkClick);
|
|
184
197
|
}
|
|
185
198
|
// Clean up possible side effects when post-header is disconnected
|
|
186
199
|
disconnectedCallback() {
|
|
@@ -192,7 +205,9 @@ const PostHeader = class {
|
|
|
192
205
|
scrollParent.removeEventListener('scroll', this.handleScrollEvent);
|
|
193
206
|
document.removeEventListener('postToggleMegadropdown', this.megadropdownStateHandler);
|
|
194
207
|
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
195
|
-
this.host.
|
|
208
|
+
if (this.host.shadowRoot) {
|
|
209
|
+
this.host.shadowRoot.removeEventListener('click', this.handleLinkClick);
|
|
210
|
+
}
|
|
196
211
|
if (this.scrollParentResizeObserver) {
|
|
197
212
|
this.scrollParentResizeObserver.disconnect();
|
|
198
213
|
this.scrollParentResizeObserver = null;
|
|
@@ -208,11 +223,9 @@ const PostHeader = class {
|
|
|
208
223
|
this.burgerMenuExtended = false;
|
|
209
224
|
}
|
|
210
225
|
async closeBurgerMenu() {
|
|
211
|
-
this.burgerMenuAnimation
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
menuButton.toggled = false;
|
|
215
|
-
}
|
|
226
|
+
this.burgerMenuAnimation?.finish();
|
|
227
|
+
if (this.burgerMenuButton)
|
|
228
|
+
this.burgerMenuButton.toggled = false;
|
|
216
229
|
this.burgerMenuExtended = false;
|
|
217
230
|
}
|
|
218
231
|
/**
|
|
@@ -222,18 +235,18 @@ const PostHeader = class {
|
|
|
222
235
|
if (this.device === 'desktop')
|
|
223
236
|
return;
|
|
224
237
|
this.burgerMenuAnimation = this.burgerMenuExtended
|
|
225
|
-
?
|
|
226
|
-
:
|
|
238
|
+
? fade.fade(this.burgerMenu, 'out', this.animationOptions)
|
|
239
|
+
: fade.fade(this.burgerMenu, 'in', this.animationOptions);
|
|
227
240
|
// Update the state of the toggle button
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
menuButton.toggled = force ?? !this.burgerMenuExtended;
|
|
241
|
+
if (this.burgerMenuButton)
|
|
242
|
+
this.burgerMenuButton.toggled = force ?? !this.burgerMenuExtended;
|
|
231
243
|
if (this.burgerMenuExtended) {
|
|
232
244
|
// Wait for the close animation to finish before hiding megadropdowns
|
|
233
245
|
await this.burgerMenuAnimation.finished;
|
|
234
246
|
this.burgerMenuExtended = force ?? !this.burgerMenuExtended;
|
|
235
247
|
if (this.burgerMenuExtended === false) {
|
|
236
248
|
this.closeAllMegadropdowns();
|
|
249
|
+
this.burgerMenu.scrollTop = 0;
|
|
237
250
|
}
|
|
238
251
|
}
|
|
239
252
|
else {
|
|
@@ -244,37 +257,31 @@ const PostHeader = class {
|
|
|
244
257
|
}
|
|
245
258
|
}
|
|
246
259
|
}
|
|
260
|
+
megadropdownStateHandler(event) {
|
|
261
|
+
this.megadropdownOpen = event.detail.isVisible;
|
|
262
|
+
}
|
|
247
263
|
// Get all the focusable elements in the post-header burger menu
|
|
248
264
|
getFocusableElements() {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
];
|
|
255
|
-
// Add the main toggle menu button to the list of focusable children
|
|
256
|
-
const focusableChildren = [
|
|
257
|
-
this.host.querySelector('post-togglebutton'),
|
|
258
|
-
...focusableEls.flatMap(el => Array.from(getFocusableChildren.getFocusableChildren(el))),
|
|
259
|
-
];
|
|
260
|
-
this.firstFocusableEl = focusableChildren[0];
|
|
261
|
-
this.lastFocusableEl = focusableChildren[focusableChildren.length - 1];
|
|
262
|
-
}
|
|
263
|
-
getMenuButton() {
|
|
264
|
-
return this.host.querySelector('post-togglebutton');
|
|
265
|
+
if (!this.burgerMenu)
|
|
266
|
+
return;
|
|
267
|
+
const focusableElements = [this.burgerMenuButton];
|
|
268
|
+
focusableElements.push(...getFocusableChildren.getDeepFocusableChildren(this.localHeader, el => !el.matches('post-megadropdown')), ...getFocusableChildren.getDeepFocusableChildren(this.burgerMenu, el => !el.matches('post-megadropdown')));
|
|
269
|
+
this.firstFocusableEl = focusableElements[0];
|
|
270
|
+
this.lastFocusableEl = focusableElements[focusableElements.length - 1];
|
|
265
271
|
}
|
|
266
272
|
keyboardHandler(e) {
|
|
267
|
-
if (e.key
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
273
|
+
if (e.key !== 'Tab' || !this.burgerMenuExtended)
|
|
274
|
+
return;
|
|
275
|
+
const activeElement = this.host.shadowRoot.activeElement || document.activeElement;
|
|
276
|
+
if (e.shiftKey && activeElement === this.firstFocusableEl) {
|
|
277
|
+
// If back tab (Tab + Shift) and first element is focused, focus goes to the last element of the megadropdown
|
|
278
|
+
e.preventDefault();
|
|
279
|
+
this.lastFocusableEl.focus();
|
|
280
|
+
}
|
|
281
|
+
else if (!e.shiftKey && activeElement === this.lastFocusableEl) {
|
|
282
|
+
// If Tab and last element is focused, focus goes back to the first element of the megadropdown
|
|
283
|
+
e.preventDefault();
|
|
284
|
+
this.firstFocusableEl.focus();
|
|
278
285
|
}
|
|
279
286
|
}
|
|
280
287
|
closeAllMegadropdowns() {
|
|
@@ -334,21 +341,28 @@ const PostHeader = class {
|
|
|
334
341
|
}
|
|
335
342
|
}
|
|
336
343
|
checkSlottedContent() {
|
|
337
|
-
this.hasNavigation = !!this.host.querySelector('[slot="
|
|
338
|
-
this.
|
|
339
|
-
this.
|
|
344
|
+
this.hasNavigation = !!this.host.querySelector('[slot="main-nav"]');
|
|
345
|
+
this.hasLocalNav = !!this.host.querySelector('[slot="local-nav"]');
|
|
346
|
+
this.hasAudience = !!this.host.querySelector('[slot="audience"]');
|
|
340
347
|
this.hasTitle = !!this.host.querySelector('[slot="title"]');
|
|
341
348
|
}
|
|
342
349
|
switchLanguageSwitchMode() {
|
|
343
350
|
const variant = this.hasBurgerMenu ? 'list' : 'menu';
|
|
344
|
-
Array.from(this.host.querySelectorAll('post-language-
|
|
351
|
+
Array.from(this.host.querySelectorAll('post-language-menu')).forEach(languageSwitch => {
|
|
345
352
|
languageSwitch?.setAttribute('variant', variant);
|
|
346
353
|
});
|
|
347
354
|
}
|
|
348
|
-
onFocusChange() {
|
|
349
|
-
const
|
|
350
|
-
|
|
351
|
-
|
|
355
|
+
onFocusChange(e) {
|
|
356
|
+
const alwaysVisibleElements = this.device === 'desktop'
|
|
357
|
+
? '.navigation' // logo isn’t included since it would be too small to focus on effectively.
|
|
358
|
+
: '.global-header, .burger-menu';
|
|
359
|
+
const isHeaderExpanded =
|
|
360
|
+
// ensure the expanded state stays accurate during focus changes,
|
|
361
|
+
// e.g., when the focused element is removed from the DOM
|
|
362
|
+
// during a window resize
|
|
363
|
+
e.target === document.activeElement &&
|
|
364
|
+
this.host.matches(':focus-within') &&
|
|
365
|
+
!this.host.shadowRoot.querySelector(`:where(${alwaysVisibleElements}):focus-within`);
|
|
352
366
|
if (isHeaderExpanded) {
|
|
353
367
|
this.host.setAttribute('data-expanded', '');
|
|
354
368
|
}
|
|
@@ -357,39 +371,42 @@ const PostHeader = class {
|
|
|
357
371
|
}
|
|
358
372
|
}
|
|
359
373
|
renderNavigation() {
|
|
374
|
+
const localNav = !this.hasTitle && (index.h("div", { class: "local-nav" }, index.h("slot", { name: "local-nav" })));
|
|
360
375
|
if (this.device === 'desktop') {
|
|
361
|
-
return (index.h("div", { class: { 'navigation': true, 'megadropdown-open': this.megadropdownOpen } }, index.h("slot", { name: "
|
|
376
|
+
return (index.h("div", { class: { 'navigation': true, 'megadropdown-open': this.megadropdownOpen } }, index.h("slot", { name: "main-nav" }), localNav));
|
|
362
377
|
}
|
|
363
378
|
return (index.h("div", { class: {
|
|
364
379
|
'burger-menu': true,
|
|
365
380
|
'extended': this.burgerMenuExtended,
|
|
366
|
-
'no-
|
|
367
|
-
|
|
381
|
+
'no-local-nav': !this.hasLocalNav,
|
|
382
|
+
'megadropdown-open': this.megadropdownOpen,
|
|
383
|
+
}, style: { '--post-header-navigation-current-inset': `${this.burgerMenu?.scrollTop ?? 0}px` }, ref: el => (this.burgerMenu = el) }, localNav, index.h("div", { class: "burger-menu-body" }, index.h("slot", { name: "audience" }), index.h("slot", { name: "main-nav" })), index.h("div", { class: "burger-menu-footer" }, index.h("slot", { name: "global-nav-secondary" }), index.h("slot", { name: "language-menu" }))));
|
|
368
384
|
}
|
|
369
385
|
render() {
|
|
370
|
-
return (index.h(index.Host, { key: '
|
|
386
|
+
return (index.h(index.Host, { key: '15de1ff6ccac94813df10fc0b41a518de68dee94', "data-version": _package.version, "data-color-scheme": "light", "data-burger-menu": this.hasBurgerMenu, "data-menu-extended": this.burgerMenuExtended }, index.h("header", { key: '0af40c8b8944c7ffcf2bf0fe704671f4012ae8c8' }, index.h("div", { key: 'cd4564c5c375c015c673df195ba04fe4d89ff1c2', class: {
|
|
371
387
|
'global-header': true,
|
|
372
|
-
'no-
|
|
373
|
-
} }, index.h("div", { key: '
|
|
374
|
-
index.h("slot", { key: '
|
|
375
|
-
index.h("slot", { key: '
|
|
376
|
-
], index.h("slot", { key: '
|
|
388
|
+
'no-audience': !this.hasAudience,
|
|
389
|
+
} }, index.h("div", { key: 'c4ad8a22fed57e54266c6584548f5203a499b63c', class: "logo" }, index.h("slot", { key: 'bf86f7ccf2e46263365023f287f18305160cede6', name: "post-logo" })), index.h("div", { key: 'e89c405cf97ddb08850d3b15ab8977e7e484ba73', class: "sliding-controls" }, this.device === 'desktop' && (index.h("div", { key: 'c3e9f49a105894d0df44a3d2654065b452292154', class: "audience" }, index.h("slot", { key: '20effc0592ca8665de464cc5d45d11ef02894acb', name: "audience" }))), index.h("slot", { key: 'f0ca8a59134520ccbb38907e32bedd4c05800d36', name: "global-nav-primary" }), !this.hasBurgerMenu && [
|
|
390
|
+
index.h("slot", { key: '7e2b2982403f491f083fc9f32cee46cbaeca7c50', name: "global-nav-secondary" }),
|
|
391
|
+
index.h("slot", { key: '3e7b5f6cb16b2cf2bc64b9b11c70f8b363e80134', name: "language-menu" }),
|
|
392
|
+
], index.h("slot", { key: 'd91059cc4dd4529040aa6436db46f66f2db84e71', name: "post-login" }), this.hasNavigation && this.device !== 'desktop' && (index.h("div", { key: 'f97161e09b27c11c6f85d112e85a59ddf2925aec', onClick: () => this.toggleBurgerMenu(), class: "burger-menu-toggle" }, index.h("slot", { key: '18304b858fa2173b63e842ba4d0512bd438a89b0', name: "post-togglebutton" }))), this.hasNavigation && this.device !== 'desktop' && (index.h("post-togglebutton", { key: '0599e4d106262b7be6557b476becacaf9f5656ba', ref: el => (this.burgerMenuButton = el), onClick: () => this.toggleBurgerMenu() }, index.h("span", { key: '3f3578f6172a9d87c531b5bef6a201b255042511' }, this.textMenu), index.h("post-icon", { key: '7a92cec5793716225cf9dc4646ccff585e02723b', "aria-hidden": "true", name: "burger", "data-showwhen": "untoggled" }), index.h("post-icon", { key: '9170844d117e8f0bf7f35049debe973ff391158e', "aria-hidden": "true", name: "closex", "data-showwhen": "toggled" }))))), index.h("div", { key: 'db13d084905b4633595bb1d4d83cc88c82c3c679', ref: el => (this.localHeader = el), class: {
|
|
377
393
|
'local-header': true,
|
|
378
394
|
'no-title': !this.hasTitle,
|
|
379
|
-
'no-
|
|
395
|
+
'no-audience': !this.hasAudience,
|
|
380
396
|
'no-navigation': this.device !== 'desktop' || !this.hasNavigation,
|
|
381
|
-
'no-
|
|
382
|
-
} }, index.h("slot", { key: '
|
|
397
|
+
'no-local-nav': !this.hasLocalNav,
|
|
398
|
+
} }, index.h("slot", { key: 'f6fb25aef128bf1712995427014c5ff62c3710d0', name: "title" }), this.hasTitle && index.h("slot", { key: '8cba1c7b544d950140d59336baaf7398a4fb23d8', name: "local-nav" }), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation())));
|
|
383
399
|
}
|
|
384
400
|
get host() { return index.getElement(this); }
|
|
385
401
|
static get watchers() { return {
|
|
402
|
+
"textMenu": ["validateTextMenu"],
|
|
386
403
|
"device": ["lockBody"],
|
|
387
404
|
"burgerMenuExtended": ["lockBody"]
|
|
388
405
|
}; }
|
|
389
406
|
};
|
|
390
407
|
__decorate$3([
|
|
391
408
|
eventFrom.EventFrom('post-megadropdown')
|
|
392
|
-
], PostHeader.prototype, "megadropdownStateHandler",
|
|
409
|
+
], PostHeader.prototype, "megadropdownStateHandler", null);
|
|
393
410
|
PostHeader.style = postHeaderCss;
|
|
394
411
|
|
|
395
412
|
const postIconCss = ":host{display:inline-block;width:1em;height:1em;vertical-align:-0.15em}span{display:block;width:100%;height:100%;fill:currentColor;forced-color-adjust:preserve-parent-color;background-color:currentColor;-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}:host([flip-h]:not([flip-h=false])){scale:-1 1}:host([flip-v]:not([flip-v=false])){scale:1 -1}:host([flip-h][flip-v]:not([flip-h=false],[flip-v=false])){scale:-1}:host([animation]){transform-origin:center}:host([animation=cylon]){animation:icon-animation-cylon .75s ease-in-out infinite alternate}:host([animation=cylon-vertical]){animation:icon-animation-cylon-vertical .75s ease-in-out infinite alternate}:host([animation=spin]){animation:icon-animation-spin 2s linear infinite normal}:host([animation=spin-reverse]){animation:icon-animation-spin 2s linear infinite reverse}:host([animation=fade]){animation:icon-animation-fade .75s ease-in-out infinite alternate}:host([animation=throb]){animation:icon-animation-throb .75s ease-in-out infinite alternate}@keyframes icon-animation-cylon{from{transform:translateX(-25%)}to{transform:translateX(25%)}}@keyframes icon-animation-cylon-vertical{from{transform:translateY(25%)}to{transform:translateY(-25%)}}@keyframes icon-animation-fade{from{opacity:.1}to{opacity:1}}@keyframes icon-animation-spin{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes icon-animation-throb{from{opacity:.5;transform:scale(0.5)}to{opacity:1;transform:scale(1)}}";
|
|
@@ -417,19 +434,19 @@ const PostIcon = class {
|
|
|
417
434
|
this.flipV = false;
|
|
418
435
|
}
|
|
419
436
|
validateAnimation() {
|
|
420
|
-
|
|
437
|
+
breakpoints.checkEmptyOrOneOf(this, 'animation', ANIMATION_KEYS);
|
|
421
438
|
}
|
|
422
439
|
validateBase() {
|
|
423
|
-
|
|
440
|
+
breakpoints.checkEmptyOrType(this, 'base', 'string');
|
|
424
441
|
}
|
|
425
442
|
validateName() {
|
|
426
|
-
|
|
443
|
+
breakpoints.checkRequiredAndType(this, 'name', 'string');
|
|
427
444
|
}
|
|
428
445
|
validateRotate() {
|
|
429
|
-
|
|
446
|
+
breakpoints.checkEmptyOrType(this, 'rotate', 'number');
|
|
430
447
|
}
|
|
431
448
|
validateScale() {
|
|
432
|
-
|
|
449
|
+
breakpoints.checkEmptyOrType(this, 'scale', 'number');
|
|
433
450
|
}
|
|
434
451
|
/**
|
|
435
452
|
* Construct the icon URL according to the following rules:
|
|
@@ -444,19 +461,21 @@ const PostIcon = class {
|
|
|
444
461
|
**/
|
|
445
462
|
getUrl() {
|
|
446
463
|
const fileName = `${this.name}.svg`;
|
|
447
|
-
if (!
|
|
464
|
+
if (!environment.IS_BROWSER && !this.base) {
|
|
448
465
|
return `${CDN_URL}${fileName}`;
|
|
449
466
|
}
|
|
450
467
|
const isAbsolute = (url) => /^https?:\/\//.test(url);
|
|
451
468
|
const normalizeUrl = (url) => (url && !url.endsWith('/') ? `${url}/` : url);
|
|
452
469
|
const cleanUrl = (url) => url.replace(/([^:])\/\//g, '$1/');
|
|
453
|
-
const currentDomain =
|
|
454
|
-
const baseHref =
|
|
470
|
+
const currentDomain = environment.IS_BROWSER ? window.location.origin : '';
|
|
471
|
+
const baseHref = environment.IS_BROWSER
|
|
455
472
|
? document.querySelector('base[href]')?.getAttribute('href') || ''
|
|
456
473
|
: '';
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
474
|
+
let metaIconBase = '';
|
|
475
|
+
if (environment.IS_BROWSER) {
|
|
476
|
+
const metaTag = document.querySelector('meta[name="design-system-settings"]');
|
|
477
|
+
metaIconBase = metaTag?.getAttribute('data-post-icon-base') || '';
|
|
478
|
+
}
|
|
460
479
|
// Function to build the first part of the URL when 'this.base' or 'metaIconBase' are relative
|
|
461
480
|
const buildUrlWithBase = (relativeUrl) => {
|
|
462
481
|
const normalizedHref = normalizeUrl(baseHref);
|
|
@@ -503,7 +522,7 @@ const PostIcon = class {
|
|
|
503
522
|
this.validateAnimation();
|
|
504
523
|
}
|
|
505
524
|
render() {
|
|
506
|
-
return (index.h(index.Host, { key: '
|
|
525
|
+
return (index.h(index.Host, { key: '6469b748f2792c383593dacd1d9f1f17daf9cde0', "data-version": _package.version }, index.h("span", { key: '9f4d9766dc97a07a2562dbc3bb0931de29fe9757', style: this.getStyles() })));
|
|
507
526
|
}
|
|
508
527
|
get host() { return index.getElement(this); }
|
|
509
528
|
static get watchers() { return {
|
|
@@ -518,70 +537,7 @@ PostIcon.style = postIconCss;
|
|
|
518
537
|
|
|
519
538
|
const SWITCH_VARIANTS = ['list', 'menu'];
|
|
520
539
|
|
|
521
|
-
const
|
|
522
|
-
|
|
523
|
-
const PostLanguageOption = class {
|
|
524
|
-
constructor(hostRef) {
|
|
525
|
-
index.registerInstance(this, hostRef);
|
|
526
|
-
this.postChange = index.createEvent(this, "postChange");
|
|
527
|
-
this.postLanguageOptionInitiallyActive = index.createEvent(this, "postLanguageOptionInitiallyActive");
|
|
528
|
-
}
|
|
529
|
-
validateCode() {
|
|
530
|
-
index$1.checkRequiredAndType(this, 'code', 'string');
|
|
531
|
-
}
|
|
532
|
-
validateVariant() {
|
|
533
|
-
index$1.checkEmptyOrOneOf(this, 'variant', SWITCH_VARIANTS);
|
|
534
|
-
}
|
|
535
|
-
validateName() {
|
|
536
|
-
index$1.checkEmptyOrType(this, 'name', 'string');
|
|
537
|
-
}
|
|
538
|
-
validateUrl() {
|
|
539
|
-
index$1.checkEmptyOrUrl(this, 'url');
|
|
540
|
-
}
|
|
541
|
-
componentDidLoad() {
|
|
542
|
-
this.validateCode();
|
|
543
|
-
this.validateName();
|
|
544
|
-
this.validateUrl();
|
|
545
|
-
if (!this.name && this.isNameRequired()) {
|
|
546
|
-
throw new Error('The "name" property of the post-language-option component is required when the full language name is not displayed.');
|
|
547
|
-
}
|
|
548
|
-
if (this.active) {
|
|
549
|
-
this.postLanguageOptionInitiallyActive.emit(this.code);
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
/**
|
|
553
|
-
* Selects the language option programmatically.
|
|
554
|
-
*/
|
|
555
|
-
async select() {
|
|
556
|
-
this.active = true;
|
|
557
|
-
this.emitChange();
|
|
558
|
-
}
|
|
559
|
-
emitChange() {
|
|
560
|
-
this.postChange.emit(this.code);
|
|
561
|
-
}
|
|
562
|
-
isNameRequired() {
|
|
563
|
-
return this.host.textContent.toLowerCase() === this.code.toLowerCase();
|
|
564
|
-
}
|
|
565
|
-
render() {
|
|
566
|
-
const lang = this.code.toLowerCase();
|
|
567
|
-
const emitOnKeyDown = (e) => {
|
|
568
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
569
|
-
this.emitChange();
|
|
570
|
-
}
|
|
571
|
-
};
|
|
572
|
-
return (index.h(index.Host, { key: '06ba54de702d5014b34f1b0cb6396cb947ac3ca6', "data-version": _package.version, role: this.variant === 'list' ? 'listitem' : undefined }, this.url ? (index.h("a", { "aria-current": this.active ? 'page' : undefined, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, index.h("slot", null), index.h("span", { class: "visually-hidden" }, this.name))) : (index.h("button", { "aria-current": this.active ? 'true' : undefined, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, index.h("slot", null), index.h("span", { class: "visually-hidden" }, this.name)))));
|
|
573
|
-
}
|
|
574
|
-
get host() { return index.getElement(this); }
|
|
575
|
-
static get watchers() { return {
|
|
576
|
-
"code": ["validateCode"],
|
|
577
|
-
"variant": ["validateVariant"],
|
|
578
|
-
"name": ["validateName"],
|
|
579
|
-
"url": ["validateUrl"]
|
|
580
|
-
}; }
|
|
581
|
-
};
|
|
582
|
-
PostLanguageOption.style = postLanguageOptionCss;
|
|
583
|
-
|
|
584
|
-
const postLanguageSwitchCss = ":host{display:flex !important;flex-wrap:wrap;gap:.5rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.post-language-switch-dropdown-container{display:flex;flex-direction:column}.post-language-switch-trigger{cursor:pointer;text-transform:uppercase;padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-radius:24px;font-size:16px;padding:3px 10px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger{background-color:ButtonFace !important}.post-language-switch-trigger:hover{background-color:Highlight !important}}.post-language-switch-trigger{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.post-language-switch-trigger:not(:disabled):hover,.post-language-switch-trigger.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.post-language-switch-trigger post-icon{height:24px;width:24px}.post-language-switch-trigger[aria-expanded=true]{background-color:#050400;color:#fff}.post-language-switch-trigger[aria-expanded=true] post-icon{transform:rotate(180deg)}.post-language-switch-trigger[aria-expanded=true]:hover{background-color:#504f4b;color:#fff}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger{border:1px solid ButtonBorder}.post-language-switch-trigger[aria-expanded=true] post-icon,.post-language-switch-trigger:hover post-icon{color:HighlightText}}post-menu::part(menu){padding-block:0}.post-language-switch-list{margin-top:1rem}";
|
|
540
|
+
const postLanguageMenuCss = ":host{display:flex !important}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.post-language-menu-dropdown-container{display:flex;flex-direction:column}.post-language-menu-trigger{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);text-transform:uppercase;cursor:pointer}.post-language-menu-trigger:hover{text-decoration:none}.post-language-menu-trigger:disabled{border-style:var(--post-core-border-style-dash)}.post-language-menu-trigger{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.post-language-menu-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-menu-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-menu-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-menu-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-menu-trigger:is(a){color:LinkText;border:unset}.post-language-menu-trigger:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.post-language-menu-trigger:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.post-language-menu-trigger:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.post-language-menu-trigger:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg);color:var(--post-scheme-color-interactive-button-primary-enabled-fg)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg);color:var(--post-scheme-color-interactive-button-primary-hover-fg)}.post-language-menu-trigger post-icon{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}.post-language-menu-trigger:is([aria-current],[aria-pressed=true],[aria-expanded=true]) post-icon{transform:rotate(180deg)}post-menu::part(post-menu){padding-block:0}.post-language-menu-list{margin-top:1rem}";
|
|
585
541
|
|
|
586
542
|
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
587
543
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -593,7 +549,7 @@ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators,
|
|
|
593
549
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
594
550
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
595
551
|
};
|
|
596
|
-
const
|
|
552
|
+
const PostLanguageMenu = class {
|
|
597
553
|
constructor(hostRef) {
|
|
598
554
|
index.registerInstance(this, hostRef);
|
|
599
555
|
this.menuId = `p${index_browser.nanoid(11)}`;
|
|
@@ -604,16 +560,16 @@ const PostLanguageSwitch = class {
|
|
|
604
560
|
this.variant = 'list';
|
|
605
561
|
}
|
|
606
562
|
get languageOptions() {
|
|
607
|
-
return Array.from(this.host.querySelectorAll('post-language-
|
|
563
|
+
return Array.from(this.host.querySelectorAll('post-language-menu-item'));
|
|
608
564
|
}
|
|
609
565
|
validateCaption() {
|
|
610
|
-
|
|
566
|
+
breakpoints.checkRequiredAndType(this, 'textChangeLanguage', 'string');
|
|
611
567
|
}
|
|
612
568
|
validateDescription() {
|
|
613
|
-
|
|
569
|
+
breakpoints.checkRequiredAndType(this, 'textCurrentLanguage', 'string');
|
|
614
570
|
}
|
|
615
571
|
validateVariant() {
|
|
616
|
-
|
|
572
|
+
breakpoints.checkEmptyOrOneOf(this, 'variant', SWITCH_VARIANTS);
|
|
617
573
|
this.updateChildrenVariant();
|
|
618
574
|
}
|
|
619
575
|
componentDidLoad() {
|
|
@@ -625,11 +581,11 @@ const PostLanguageSwitch = class {
|
|
|
625
581
|
this.updateChildrenVariant();
|
|
626
582
|
}
|
|
627
583
|
/**
|
|
628
|
-
* Listen for the postChange event and guard it to run only for events originating from a <post-language-
|
|
584
|
+
* Listen for the postChange event and guard it to run only for events originating from a <post-language-menu-item> element.
|
|
629
585
|
*/
|
|
630
586
|
handlePostChange(event) {
|
|
631
587
|
this.activeLang = event.detail;
|
|
632
|
-
// Update the active state in the children post-language-
|
|
588
|
+
// Update the active state in the children post-language-menu-item components
|
|
633
589
|
this.languageOptions.forEach(lang => {
|
|
634
590
|
if (lang.code && lang.code === this.activeLang) {
|
|
635
591
|
lang.setAttribute('active', '');
|
|
@@ -646,97 +602,109 @@ const PostLanguageSwitch = class {
|
|
|
646
602
|
}
|
|
647
603
|
/**
|
|
648
604
|
* Handles cases where the language switch is being rendered before options are available
|
|
649
|
-
* @param event Initially emitted by <post-
|
|
605
|
+
* @param event Initially emitted by <post-language-menu-item>
|
|
650
606
|
*/
|
|
651
607
|
handleInitiallyActive(event) {
|
|
652
608
|
this.activeLang = event.detail;
|
|
653
609
|
}
|
|
654
|
-
// Update post-language-
|
|
610
|
+
// Update post-language-menu-item variant to have the correct style
|
|
655
611
|
updateChildrenVariant() {
|
|
656
612
|
this.languageOptions.forEach(el => {
|
|
657
613
|
el.setAttribute('variant', this.variant);
|
|
658
614
|
});
|
|
659
615
|
}
|
|
660
616
|
renderList() {
|
|
661
|
-
return (index.h(index.Host, { "data-version": _package.version }, index.h("div", { class: "post-language-
|
|
617
|
+
return (index.h(index.Host, { "data-version": _package.version }, index.h("div", { class: "post-language-menu-list", role: "list", "aria-label": this.textChangeLanguage, "aria-describedby": this.listSpanId }, index.h("span", { id: this.listSpanId, class: "visually-hidden" }, this.textCurrentLanguage), index.h("slot", null))));
|
|
662
618
|
}
|
|
663
619
|
renderDropdown() {
|
|
664
|
-
return (index.h(index.Host, { "data-version": _package.version }, index.h("post-menu-trigger", { for: this.menuId }, index.h("button", { class: "post-language-
|
|
620
|
+
return (index.h(index.Host, { "data-version": _package.version }, index.h("post-menu-trigger", { for: this.menuId }, index.h("button", { class: "post-language-menu-trigger" }, this.activeLang, index.h("span", { class: "visually-hidden" }, this.textChangeLanguage), index.h("span", { class: "visually-hidden" }, this.textCurrentLanguage), index.h("post-icon", { "aria-hidden": "true", name: "chevrondown" }))), index.h("post-menu", { id: this.menuId, class: "post-language-menu-dropdown-container", label: this.textChangeLanguage, placement: "bottom-end" }, index.h("slot", null))));
|
|
665
621
|
}
|
|
666
622
|
render() {
|
|
667
623
|
return this.variant === 'list' ? this.renderList() : this.renderDropdown();
|
|
668
624
|
}
|
|
669
625
|
get host() { return index.getElement(this); }
|
|
670
626
|
static get watchers() { return {
|
|
671
|
-
"
|
|
672
|
-
"
|
|
627
|
+
"textChangeLanguage": ["validateCaption"],
|
|
628
|
+
"textCurrentLanguage": ["validateDescription"],
|
|
673
629
|
"variant": ["validateVariant"]
|
|
674
630
|
}; }
|
|
675
631
|
};
|
|
676
632
|
__decorate$2([
|
|
677
|
-
eventFrom.EventFrom('post-language-
|
|
678
|
-
],
|
|
679
|
-
|
|
633
|
+
eventFrom.EventFrom('post-language-menu-item')
|
|
634
|
+
], PostLanguageMenu.prototype, "handlePostChange", null);
|
|
635
|
+
PostLanguageMenu.style = postLanguageMenuCss;
|
|
680
636
|
|
|
681
|
-
const
|
|
637
|
+
const postLanguageMenuItemCss = "post-language-menu-item{display:inline-block}post-language-menu-item button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-menu-item button{background-color:ButtonFace !important}post-language-menu-item button:hover{background-color:Highlight !important}}post-language-menu-item button .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}post-language-menu-item a{color:var(--post-current-fg);text-decoration:none}post-language-menu-item :is(a,button){cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-transform:uppercase}post-language-menu-item :is(a,button){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}post-language-menu-item :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-menu-item :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-language-menu-item :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-menu-item :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-language-menu-item:where([variant=list]) :is(a,button){padding-inline:0;width:40px;height:40px;border-radius:2px}post-language-menu-item:where([variant=list]) :is(a,button):hover{color:#504f4b}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-menu-item:where([variant=list]) :is(a,button){border:1px solid ButtonBorder;color:ButtonText}}post-language-menu-item:where([variant=list])[active]:not([active=false]) :is(a,button){background-color:#050400 !important;color:#fff;pointer-events:none}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-menu-item:where([variant=list])[active]:not([active=false]) :is(a,button){background-color:Highlight !important;color:HighlightText}}post-language-menu-item:where([variant=menu]){min-width:72px}post-language-menu-item:where([variant=menu])[active]:not([active=false]){display:none}post-language-menu-item:where([variant=menu]) :is(a,button){padding-block:13px;padding-inline:16px;box-sizing:border-box;justify-content:flex-start;position:relative;border-radius:0}post-language-menu-item:where([variant=menu]) :is(a,button):hover{color:#fff;background-color:#504f4b}post-language-menu-item:where([variant=menu]):first-child :is(a,button){border-start-start-radius:4px;border-start-end-radius:4px}post-language-menu-item:where([variant=menu]):last-child :is(a,button){border-end-start-radius:4px;border-end-end-radius:4px}";
|
|
682
638
|
|
|
683
|
-
const
|
|
639
|
+
const PostLanguageMenuItem = class {
|
|
684
640
|
constructor(hostRef) {
|
|
685
641
|
index.registerInstance(this, hostRef);
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
*/
|
|
689
|
-
this.titleHidden = false;
|
|
690
|
-
/**
|
|
691
|
-
* The list can become horizontal by setting `horizontal="true"` or just `horizontal`
|
|
692
|
-
*/
|
|
693
|
-
this.horizontal = false;
|
|
642
|
+
this.postChange = index.createEvent(this, "postChange");
|
|
643
|
+
this.postLanguageMenuItemInitiallyActive = index.createEvent(this, "postLanguageMenuItemInitiallyActive");
|
|
694
644
|
}
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
* Get the id set on the host element or use a random id by default
|
|
698
|
-
*/
|
|
699
|
-
this.titleId = `title-${this.host.id || index_browser.nanoid(6)}`;
|
|
645
|
+
validateCode() {
|
|
646
|
+
breakpoints.checkRequiredAndType(this, 'code', 'string');
|
|
700
647
|
}
|
|
701
|
-
|
|
702
|
-
|
|
648
|
+
validateVariant() {
|
|
649
|
+
breakpoints.checkEmptyOrOneOf(this, 'variant', SWITCH_VARIANTS);
|
|
650
|
+
}
|
|
651
|
+
validateName() {
|
|
652
|
+
breakpoints.checkEmptyOrType(this, 'name', 'string');
|
|
653
|
+
}
|
|
654
|
+
validateUrl() {
|
|
655
|
+
breakpoints.checkEmptyOrUrl(this, 'url');
|
|
703
656
|
}
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
657
|
+
componentDidLoad() {
|
|
658
|
+
this.validateCode();
|
|
659
|
+
this.validateName();
|
|
660
|
+
this.validateUrl();
|
|
661
|
+
if (!this.name && this.isNameRequired()) {
|
|
662
|
+
throw new Error('The "name" property of the post-language-menu-item component is required when the full language name is not displayed.');
|
|
663
|
+
}
|
|
664
|
+
if (this.active) {
|
|
665
|
+
this.postLanguageMenuItemInitiallyActive.emit(this.code);
|
|
707
666
|
}
|
|
708
667
|
}
|
|
709
|
-
|
|
710
|
-
|
|
668
|
+
/**
|
|
669
|
+
* Selects the language option programmatically.
|
|
670
|
+
*/
|
|
671
|
+
async select() {
|
|
672
|
+
this.active = true;
|
|
673
|
+
this.emitChange();
|
|
711
674
|
}
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
PostList.style = postListCss;
|
|
715
|
-
|
|
716
|
-
const postListItemCss = ":host{display:flex}";
|
|
717
|
-
|
|
718
|
-
const PostListItem = class {
|
|
719
|
-
constructor(hostRef) {
|
|
720
|
-
index.registerInstance(this, hostRef);
|
|
675
|
+
emitChange() {
|
|
676
|
+
this.postChange.emit(this.code);
|
|
721
677
|
}
|
|
722
|
-
|
|
723
|
-
this.host.
|
|
678
|
+
isNameRequired() {
|
|
679
|
+
return this.host.textContent.toLowerCase() === this.code.toLowerCase();
|
|
724
680
|
}
|
|
725
681
|
render() {
|
|
726
|
-
|
|
682
|
+
const lang = this.code.toLowerCase();
|
|
683
|
+
const emitOnKeyDown = (e) => {
|
|
684
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
685
|
+
this.emitChange();
|
|
686
|
+
}
|
|
687
|
+
};
|
|
688
|
+
return (index.h(index.Host, { key: '0a0f6a2e04d61991696e86fa9a20b34d154e89ac', "data-version": _package.version, role: this.variant === 'list' ? 'listitem' : undefined }, this.url ? (index.h("a", { "aria-current": this.active ? 'page' : undefined, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, index.h("slot", null), index.h("span", { class: "visually-hidden" }, this.name))) : (index.h("button", { "aria-current": this.active ? 'true' : undefined, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, index.h("slot", null), index.h("span", { class: "visually-hidden" }, this.name)))));
|
|
727
689
|
}
|
|
728
690
|
get host() { return index.getElement(this); }
|
|
691
|
+
static get watchers() { return {
|
|
692
|
+
"code": ["validateCode"],
|
|
693
|
+
"variant": ["validateVariant"],
|
|
694
|
+
"name": ["validateName"],
|
|
695
|
+
"url": ["validateUrl"]
|
|
696
|
+
}; }
|
|
729
697
|
};
|
|
730
|
-
|
|
698
|
+
PostLanguageMenuItem.style = postLanguageMenuItemCss;
|
|
731
699
|
|
|
732
|
-
const postLogoCss = ":host,.logo{display:inline-block}:host,:host .logo>svg,.logo,.logo .logo>svg{height:100%}.description{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.logo-link{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.logo-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.logo-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.logo-link:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.logo-link:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.logo-link :focus,:focus-visible{border-radius
|
|
700
|
+
const postLogoCss = ":host,.logo{display:inline-block}:host,:host .logo>svg,.logo,.logo .logo>svg{height:100%}.description{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.logo-link{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.logo-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.logo-link:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.logo-link:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.logo-link:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.logo-link{outline-offset:calc(\n -2px - var(--post-device-border-width-focus)\n ) !important}.logo-link :focus,:focus-visible{border-radius:.5rem}";
|
|
733
701
|
|
|
734
702
|
const PostLogo = class {
|
|
735
703
|
constructor(hostRef) {
|
|
736
704
|
index.registerInstance(this, hostRef);
|
|
737
705
|
}
|
|
738
706
|
validateUrl() {
|
|
739
|
-
|
|
707
|
+
breakpoints.checkEmptyOrUrl(this, 'url');
|
|
740
708
|
}
|
|
741
709
|
componentDidLoad() {
|
|
742
710
|
this.validateUrl();
|
|
@@ -750,7 +718,7 @@ const PostLogo = class {
|
|
|
750
718
|
render() {
|
|
751
719
|
const logoLink = this.url && (typeof this.url === 'string' ? this.url : this.url.href);
|
|
752
720
|
const LogoTag = logoLink ? 'a' : 'span';
|
|
753
|
-
return (index.h(index.Host, { key: '
|
|
721
|
+
return (index.h(index.Host, { key: '39444d3dd1a87425c7134de5af6ad623a68197c0', "data-version": _package.version }, index.h(LogoTag, { key: '8f41d8c85212f7fde23c11fa0a0fb506deb5e0c9', class: `logo ${logoLink ? 'logo-link' : ''}`, ...(logoLink ? { href: logoLink } : {}) }, index.h("span", { key: '06b777726f42914b941a980bce9dd4ba3dc3637e', class: "description" }, index.h("slot", { key: 'd95f99a2d3b09ffab6d0e7c11b99178d6c1fb7ef', onSlotchange: () => this.checkDescription() })), index.h("svg", { key: '57fa969750327b0907cd3f5abefd14b52d176dd8', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, index.h("g", { key: '61172060743d8d155bcde7d636da3c5569ec1951', id: "Logo" }, index.h("rect", { key: 'ef042aea64e01c52d241ff599290646af309f868', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), index.h("polygon", { key: 'ef5b2d4666dc676157fddacfe9b3f15c017e2e02', fill: "#ff0000", points: "34,32.3 34,19 19.7,19 19.7,29.1 10,29.1 10,42.9 19.7,42.9 19.7,53 34,53 34,39.7 30.6,39.7 30.6,49.8 23.1,49.8 23.1,39.7 13.4,39.7 13.4,32.3 23.1,32.3 23.1,22.2 30.6,22.2 30.6,32.3" }), index.h("path", { key: '816fd96b39a89ba22571e7e3257758e39b2599b0', 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" }))))));
|
|
754
722
|
}
|
|
755
723
|
get host() { return index.getElement(this); }
|
|
756
724
|
static get watchers() { return {
|
|
@@ -759,25 +727,27 @@ const PostLogo = class {
|
|
|
759
727
|
};
|
|
760
728
|
PostLogo.style = postLogoCss;
|
|
761
729
|
|
|
762
|
-
const postMainnavigationCss = ":root{--post-icon-chevrondown:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbmRvd24iPjxzeW1ib2wgaWQ9InMxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNMi4wMSA1LjIyYzAtLjE5LjA3LS4zOC4yMi0uNTMuMjktLjI5Ljc3LS4yOSAxLjA2IDBsNC43MiA0LjcyIDQuNzItNC43MmMuMjktLjI5Ljc3LS4yOSAxLjA2IDBzLjI5Ljc3IDAgMS4wNmwtNS43OCA1Ljc4LTUuNzgtNS43OGEuNzQuNzQgMCAwIDEtLjIyLS41MyIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InMyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMy4yNiA3Ljg1YzAtLjIyLjA4LS40NS4yNi0uNjIuMzQtLjM0LjktLjM0IDEuMjQgMGw3LjI2IDcuMjYgNy4yNi03LjI2Yy4zNC0uMzQuOS0uMzQgMS4yNCAwcy4zNC45IDAgMS4yNGwtOC41IDguNS04LjUxLTguNWEuOS45IDAgMCAxLS4yNi0uNjJaIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiPjxwYXRoIGQ9Ik00LjUgMTAuNTRjMC0uMjYuMS0uNTEuMjktLjcxYS45OTYuOTk2IDAgMCAxIDEuNDEgMGw5Ljc5IDkuNzkgOS44LTkuOGEuOTk2Ljk5NiAwIDEgMSAxLjQxIDEuNDFMMTUuOTkgMjIuNDQgNC44IDExLjI1Yy0uMi0uMi0uMjktLjQ1LS4yOS0uNzFaIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczQwIiB2aWV3Qm94PSIwIDAgNDAgNDAiPjxwYXRoIGQ9Ik01LjggMTMuMTdhMS4xMjMgMS4xMjMgMCAwIDEgMS45Mi0uOEwyMC4wNSAyNC43bDEyLjM0LTEyLjM0Yy40NC0uNDQgMS4xNS0uNDQgMS41OSAwcy40NCAxLjE1IDAgMS41OUwyMC4wNSAyNy44OCA2LjEzIDEzLjk3Yy0uMjItLjIyLS4zMy0uNTEtLjMzLS44Ii8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczQ4IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGQ9Ik03IDE1Ljg3YzAtLjMyLjEyLS42NC4zNy0uODhhMS4yNSAxLjI1IDAgMCAxIDEuNzcgMGwxNC44NyAxNC44NyAxNC44OC0xNC44OGMuNDktLjQ5IDEuMjgtLjQ5IDEuNzcgMHMuNDkgMS4yOCAwIDEuNzdMMjQuMDIgMzMuMzkgNy4zNyAxNi43NWMtLjI0LS4yNC0uMzctLjU2LS4zNy0uODgiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCI+PHBhdGggZD0iTTkuNjMgMjEuMjRhMS4zOCAxLjM4IDAgMCAxIDIuMzUtLjk3TDMyLjAxIDQwLjNsMjAuMDQtMjAuMDRjLjU0LS41NCAxLjQxLS41NCAxLjk1IDBzLjU0IDEuNDEgMCAxLjk1TDMyLjAxIDQ0LjE5IDEwLjAzIDIyLjIyYy0uMjctLjI3LS40LS42Mi0uNC0uOTdaTTAgLjAzaDY0djY0SDB6Ii8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25kb3duIi8+PC9nPjwvc3ZnPg==\")}post-mainnavigation post-list-item>a{text-decoration:none;border-radius:0}post-mainnavigation post-list-item post-megadropdown-trigger button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;text-align:start}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-mainnavigation post-list-item post-megadropdown-trigger button{background-color:ButtonFace !important}post-mainnavigation post-list-item post-megadropdown-trigger button:hover{background-color:Highlight !important}}post-mainnavigation post-list-item>a,post-mainnavigation post-list-item post-megadropdown-trigger button{flex:0 0 fit-content;white-space:nowrap;display:flex;align-items:center;justify-content:space-between}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item post-megadropdown-trigger button:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}post-mainnavigation post-list-item>a:focus-visible,post-mainnavigation post-list-item post-megadropdown-trigger button:focus-visible{border-radius:4px;z-index:2}post-mainnavigation>button::after,post-mainnavigation post-megadropdown-trigger button::after{content:\"\";mask-image:var(--post-icon-chevrondown);background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;height:24px;width:24px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-mainnavigation>button,post-mainnavigation post-megadropdown-trigger button{border:1px solid ButtonBorder !important}post-mainnavigation>button:hover::after,post-mainnavigation>button[aria-expanded=true]::after,post-mainnavigation post-megadropdown-trigger button:hover::after,post-mainnavigation post-megadropdown-trigger button[aria-expanded=true]::after{color:HighlightText}}post-header:not([data-burger-menu])>post-mainnavigation{display:flex;height:var(--post-main-navigation-height, 0);background:#fff;user-select:none}post-header:not([data-burger-menu])>post-mainnavigation nav{flex:1 1 auto;scroll-behavior:smooth}post-header:not([data-burger-menu])>post-mainnavigation.scrollable,post-header:not([data-burger-menu])>post-mainnavigation.scrollable nav{overflow:hidden}post-header:not([data-burger-menu])>post-mainnavigation .scroll-control{z-index:2;cursor:pointer;padding:1rem;background:#fff;box-shadow:var(--post-device-elevation-500);line-height:1}post-header:not([data-burger-menu])>post-mainnavigation .scroll-control.scroll-left{margin-inline-end:-3rem}post-header:not([data-burger-menu])>post-mainnavigation .scroll-control.scroll-right{margin-inline-start:-3rem}post-header:not([data-burger-menu])>post-mainnavigation .scroll-control.d-none{display:none}post-header:not([data-burger-menu])>post-mainnavigation .scroll-control post-icon{font-size:1rem}post-header:not([data-burger-menu])>post-mainnavigation post-list>[role=list]{flex-direction:row;max-width:100vw}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button{position:sticky;padding-inline:12px;height:var(--post-main-navigation-height, 0);gap:4px;font-size:16px}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-active{font-weight:700;text-align:center;opacity:0}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-inactive{position:absolute;opacity:1;text-align:center;width:100%;inset-inline-start:0}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a.active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a[aria-current=page]:not(post-megadropdown *),post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a[aria-expanded=true],post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button.active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button[aria-current=page]:not(post-megadropdown *),post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button[aria-expanded=true],post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button.active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button[aria-current=page]:not(post-megadropdown *),post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]{background-color:#050400;color:#fff;font-weight:700}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a.active .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a[aria-current=page]:not(post-megadropdown *) .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a[aria-expanded=true] .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button.active .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button[aria-current=page]:not(post-megadropdown *) .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button[aria-expanded=true] .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button.active .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button[aria-current=page]:not(post-megadropdown *) .nav-el-active,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true] .nav-el-active{opacity:1}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a.active .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a[aria-current=page]:not(post-megadropdown *) .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a[aria-expanded=true] .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button.active .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button[aria-current=page]:not(post-megadropdown *) .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button[aria-expanded=true] .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button.active .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button[aria-current=page]:not(post-megadropdown *) .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true] .nav-el-inactive{opacity:0}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a:hover,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button:hover,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button:hover{background-color:#504f4b;color:#fff}@media screen and (max-width: 599.98px){post-header:not([data-burger-menu])>post-mainnavigation post-list-item>a,post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button{font-size:14px}}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button{padding-inline-end:12px;transition:border-block-end-color 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button .nav-el-inactive,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-inactive{width:calc(100% - 28px)}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button::after,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button::after{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-header:not([data-burger-menu])>post-mainnavigation post-list-item>button[aria-expanded=true]::after,post-header:not([data-burger-menu])>post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]::after{transform:rotate(180deg)}post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown button:not(:is(post-closebutton *)),post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown a{width:100%;min-width:100%;height:48px;padding-inline:8px 12px;gap:16px;font-weight:400;position:relative}post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown button:not(:is(post-closebutton *))::before,post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown a::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:1px;position:absolute;left:0}post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown button:not(:is(post-closebutton *)).active,post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown button:not(:is(post-closebutton *))[aria-current=page],post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown button:not(:is(post-closebutton *))[aria-expanded=true],post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown a.active,post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown a[aria-current=page],post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown a[aria-expanded=true]{background-color:#050400;color:#fff}post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown button:not(:is(post-closebutton *)):hover,post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown a:hover{background-color:#504f4b;color:#fff}post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown button:not(:is(post-closebutton *)):hover::before,post-header:not([data-burger-menu])>post-mainnavigation post-megadropdown a:hover::before{background-color:#504f4b}post-header[data-burger-menu]>post-mainnavigation nav{transform:none !important}post-header[data-burger-menu]>post-mainnavigation .scroll-control{display:none}post-header[data-burger-menu]>post-mainnavigation post-list-item>a,post-header[data-burger-menu]>post-mainnavigation post-list-item>button,post-header[data-burger-menu]>post-mainnavigation post-list-item post-megadropdown-trigger button{width:100%;min-width:100%;height:48px;padding-inline:8px 12px;gap:16px;font-weight:400;position:relative}post-header[data-burger-menu]>post-mainnavigation post-list-item>a::before,post-header[data-burger-menu]>post-mainnavigation post-list-item>button::before,post-header[data-burger-menu]>post-mainnavigation post-list-item post-megadropdown-trigger button::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:1px;position:absolute;left:0}post-header[data-burger-menu]>post-mainnavigation post-list-item>a.active,post-header[data-burger-menu]>post-mainnavigation post-list-item>a[aria-current=page],post-header[data-burger-menu]>post-mainnavigation post-list-item>a[aria-expanded=true],post-header[data-burger-menu]>post-mainnavigation post-list-item>button.active,post-header[data-burger-menu]>post-mainnavigation post-list-item>button[aria-current=page],post-header[data-burger-menu]>post-mainnavigation post-list-item>button[aria-expanded=true],post-header[data-burger-menu]>post-mainnavigation post-list-item post-megadropdown-trigger button.active,post-header[data-burger-menu]>post-mainnavigation post-list-item post-megadropdown-trigger button[aria-current=page],post-header[data-burger-menu]>post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]{background-color:#050400;color:#fff}post-header[data-burger-menu]>post-mainnavigation post-list-item>a:hover,post-header[data-burger-menu]>post-mainnavigation post-list-item>button:hover,post-header[data-burger-menu]>post-mainnavigation post-list-item post-megadropdown-trigger button:hover{background-color:#504f4b;color:#fff}post-header[data-burger-menu]>post-mainnavigation post-list-item>a:hover::before,post-header[data-burger-menu]>post-mainnavigation post-list-item>button:hover::before,post-header[data-burger-menu]>post-mainnavigation post-list-item post-megadropdown-trigger button:hover::before{background-color:#504f4b}post-header[data-burger-menu]>post-mainnavigation post-list-item>a .nav-el-inactive,post-header[data-burger-menu]>post-mainnavigation post-list-item>button .nav-el-inactive,post-header[data-burger-menu]>post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-inactive{display:none}post-header[data-burger-menu]>post-mainnavigation>button::after,post-header[data-burger-menu]>post-mainnavigation post-megadropdown-trigger button::after{transform:rotate(-90deg)}";
|
|
730
|
+
const postMainnavigationCss = ":host{display:flex;user-select:none}@media screen and (min-width: 1024px){:host{overflow:hidden}}nav{flex:1 1 auto}@media screen and (min-width: 1024px){nav{scroll-behavior:smooth;max-width:100vw;overflow:hidden;height:var(--post-main-navigation-height)}}.scroll-control{z-index:1;cursor:pointer;padding:1rem;background:#fff;box-shadow:var(--post-device-elevation-500);line-height:1}.scroll-control.scroll-left{margin-inline-end:-3rem}.scroll-control.scroll-right{margin-inline-start:-3rem}.scroll-control.d-none{display:none}.scroll-control post-icon{font-size:1rem}";
|
|
763
731
|
|
|
764
732
|
const SCROLL_REPEAT_INTERVAL = 100; // Interval for repeated scrolling when holding down scroll button
|
|
765
733
|
const NAVBAR_DISABLE_DURATION = 400; // Duration to temporarily disable navbar interactions during scrolling
|
|
766
734
|
const PostMainnavigation = class {
|
|
735
|
+
validateTextMain() {
|
|
736
|
+
breakpoints.checkRequiredAndType(this, 'textMain', 'string');
|
|
737
|
+
}
|
|
767
738
|
constructor(hostRef) {
|
|
768
739
|
index.registerInstance(this, hostRef);
|
|
769
740
|
this.canScrollLeft = false;
|
|
770
741
|
this.canScrollRight = false;
|
|
771
742
|
this.scrollRight = this.scrollRight.bind(this);
|
|
772
743
|
this.scrollLeft = this.scrollLeft.bind(this);
|
|
773
|
-
this.handleMutations = this.handleMutations.bind(this);
|
|
774
744
|
this.checkScrollability = this.checkScrollability.bind(this);
|
|
775
745
|
this.resizeObserver = new ResizeObserver(this.checkScrollability);
|
|
776
|
-
this.mutationObserver = new MutationObserver(this.
|
|
746
|
+
this.mutationObserver = new MutationObserver(this.checkScrollability);
|
|
777
747
|
}
|
|
778
748
|
componentDidLoad() {
|
|
749
|
+
this.validateTextMain();
|
|
779
750
|
setTimeout(() => {
|
|
780
|
-
this.fixLayoutShift();
|
|
781
751
|
this.checkScrollability();
|
|
782
752
|
});
|
|
783
753
|
// Observe the navbar for size changes
|
|
@@ -802,30 +772,8 @@ const PostMainnavigation = class {
|
|
|
802
772
|
if (this.scrollRepeatInterval)
|
|
803
773
|
clearInterval(this.scrollRepeatInterval);
|
|
804
774
|
}
|
|
805
|
-
async handleMutations(mutations) {
|
|
806
|
-
const addedNodes = mutations.flatMap((mutation) => {
|
|
807
|
-
return Array.from(mutation.addedNodes);
|
|
808
|
-
});
|
|
809
|
-
// Wait for all elements to be hydrated
|
|
810
|
-
await Promise.all(addedNodes.map((item) => item.componentOnReady ? item.componentOnReady() : Promise.resolve(item)));
|
|
811
|
-
this.fixLayoutShift();
|
|
812
|
-
this.checkScrollability();
|
|
813
|
-
}
|
|
814
775
|
get navigationItems() {
|
|
815
|
-
return Array.from(this.
|
|
816
|
-
}
|
|
817
|
-
/**
|
|
818
|
-
* Hack to fix the layout shift due to bold text on active elements
|
|
819
|
-
*/
|
|
820
|
-
fixLayoutShift() {
|
|
821
|
-
this.navigationItems
|
|
822
|
-
.filter(item => !item.matches(':has(.nav-el-active)'))
|
|
823
|
-
.forEach(item => {
|
|
824
|
-
item.innerHTML = `
|
|
825
|
-
<span class="nav-el-active">${item.innerHTML}</span>
|
|
826
|
-
<span class="nav-el-inactive" aria-hidden="true">${item.innerHTML}</span>
|
|
827
|
-
`;
|
|
828
|
-
});
|
|
776
|
+
return Array.from(this.host.querySelectorAll('a:not(post-megadropdown *), post-megadropdown-trigger'));
|
|
829
777
|
}
|
|
830
778
|
/**
|
|
831
779
|
* Returns whether scrolling is enabled in either the left or right direction.
|
|
@@ -864,7 +812,7 @@ const PostMainnavigation = class {
|
|
|
864
812
|
}, SCROLL_REPEAT_INTERVAL);
|
|
865
813
|
}
|
|
866
814
|
scrollRight() {
|
|
867
|
-
const scrollRightLeftEdge =
|
|
815
|
+
const scrollRightLeftEdge = this.host.shadowRoot
|
|
868
816
|
.querySelector('.scroll-right')
|
|
869
817
|
.getBoundingClientRect().left;
|
|
870
818
|
for (const navigationItem of this.navigationItems) {
|
|
@@ -878,7 +826,7 @@ const PostMainnavigation = class {
|
|
|
878
826
|
}
|
|
879
827
|
}
|
|
880
828
|
scrollLeft() {
|
|
881
|
-
const scrollLeftRightEdge =
|
|
829
|
+
const scrollLeftRightEdge = this.host.shadowRoot
|
|
882
830
|
.querySelector('.scroll-left')
|
|
883
831
|
.getBoundingClientRect().right;
|
|
884
832
|
for (const navigationItem of this.navigationItems.reverse()) {
|
|
@@ -904,17 +852,38 @@ const PostMainnavigation = class {
|
|
|
904
852
|
}, NAVBAR_DISABLE_DURATION);
|
|
905
853
|
}
|
|
906
854
|
render() {
|
|
907
|
-
return (index.h(index.Host, { key: '
|
|
855
|
+
return (index.h(index.Host, { key: '14ca9714f09e1dbbe8c976b8947db07906ec2eb8', version: _package.version, class: this.canScroll ? 'scrollable' : '' }, index.h("div", { key: 'e886823d21e52db04afc91ecbd12149c47d69038', "aria-hidden": "true", class: { 'scroll-control scroll-left': true, 'd-none': !this.canScrollLeft }, onMouseDown: e => this.handleScrollButtonClick(e, 'left') }, index.h("post-icon", { key: '3afd56232da3cf120038b68c714c560db16ac30e', "aria-hidden": "true", name: "chevronleft" })), index.h("nav", { key: '69c39d75c1f90f01c12904c98fc6e3f8de2ba09d', ref: el => (this.navbar = el), "aria-label": this.textMain }, index.h("slot", { key: '9251d7cec53c05bf9146d0b2c75533c50f7fe070' })), index.h("div", { key: '649e7ec3c9f65447a2da965bb7fe0c92b3ff8207', "aria-hidden": "true", class: { 'scroll-control scroll-right': true, 'd-none': !this.canScrollRight }, onMouseDown: e => this.handleScrollButtonClick(e, 'right') }, index.h("post-icon", { key: 'ac2823ab5195c59ea2831ffb24a1d8a033f7266a', "aria-hidden": "true", name: "chevronright" }))));
|
|
908
856
|
}
|
|
857
|
+
get host() { return index.getElement(this); }
|
|
858
|
+
static get watchers() { return {
|
|
859
|
+
"textMain": ["validateTextMain"]
|
|
860
|
+
}; }
|
|
909
861
|
};
|
|
910
862
|
PostMainnavigation.style = postMainnavigationCss;
|
|
911
863
|
|
|
912
|
-
const postMegadropdownCss = "
|
|
864
|
+
const postMegadropdownCss = "*,::before,::after{box-sizing:border-box}.megadropdown{position:absolute;inset-inline:0;overflow-y:auto;background-color:#fafafa;box-shadow:var(--post-device-elevation-300)}@media screen and (min-width: 1024px){.megadropdown{z-index:-1;inset-block-start:100%;max-height:calc(100vh - var(--post-header-height) - 3rem);padding:2rem 2.5rem 2.5rem}.megadropdown.slide-in{animation:slide-down 350ms forwards}.megadropdown.slide-out{animation:slide-up 350ms forwards}}@media screen and (max-width: 1023.98px){.megadropdown{z-index:1;inset-block-start:var(--post-header-navigation-current-inset);overscroll-behavior:contain;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));padding-inline:var(--post-burger-menu-padding-inline);padding-block:1.5rem;display:flex;flex-direction:column}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.megadropdown{border-block-end:1px solid CanvasText}}.megadropdown-title{margin-block:0 1rem;font-weight:950}@media screen and (min-width: 600px)and (max-width: 1023.98px){.megadropdown-title{font-size:1.25rem}}@media screen and (min-width: 0)and (max-width: 599.98px){.megadropdown-title{font-size:1.125rem}}.back-button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--post-device-sizing-interactive-button-height-4);gap:var(--post-device-spacing-gap-inline-11);padding:0 var(--post-device-spacing-padding-inline-7);border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg);order:-1;width:fit-content;padding-inline:0}.back-button:hover{text-decoration:none}.back-button:disabled{border-style:var(--post-core-border-style-dash)}.back-button{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.back-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.back-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.back-button:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.back-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.back-button:is(a){color:LinkText;border:unset}.back-button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}.back-button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}.back-button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}.back-button>post-icon{width:var(--post-device-sizing-interactive-button-icon-5);height:var(--post-device-sizing-interactive-button-icon-5)}.back-button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}@media screen and (min-width: 600px)and (max-width: 1023.98px){.back-button{margin-block-end:2rem}}@media screen and (min-width: 0)and (max-width: 599.98px){.back-button{margin-block-end:1.5rem}}.close-button{position:absolute;inset-block-start:1rem;inset-inline-end:1rem}@media screen and (max-width: 1023.98px){.close-button{display:none}}";
|
|
913
865
|
|
|
914
866
|
const PostMegadropdown = class {
|
|
867
|
+
validateTextClose() {
|
|
868
|
+
breakpoints.checkRequiredAndType(this, 'textClose', 'string');
|
|
869
|
+
}
|
|
870
|
+
validateTextBack() {
|
|
871
|
+
breakpoints.checkRequiredAndType(this, 'textBack', 'string');
|
|
872
|
+
}
|
|
873
|
+
get megadropdownTrigger() {
|
|
874
|
+
const hostId = this.host.getAttribute('id');
|
|
875
|
+
return hostId ? document.querySelector(`post-megadropdown-trigger[for="${hostId}"]`) : null;
|
|
876
|
+
}
|
|
915
877
|
constructor(hostRef) {
|
|
916
878
|
index.registerInstance(this, hostRef);
|
|
917
879
|
this.postToggleMegadropdown = index.createEvent(this, "postToggleMegadropdown");
|
|
880
|
+
this.currentAnimation = null;
|
|
881
|
+
this.isAnimating = false;
|
|
882
|
+
this.fsAnimationOptions = {
|
|
883
|
+
translate: -10,
|
|
884
|
+
duration: 350,
|
|
885
|
+
easing: 'headerEase',
|
|
886
|
+
};
|
|
918
887
|
this.device = breakpoints.breakpoint.get('device');
|
|
919
888
|
/**
|
|
920
889
|
* Holds the current visibility state of the dropdown.
|
|
@@ -925,13 +894,17 @@ const PostMegadropdown = class {
|
|
|
925
894
|
this.trigger = false;
|
|
926
895
|
/** Holds the current animation class. */
|
|
927
896
|
this.animationClass = null;
|
|
928
|
-
this.handleClickOutside = (event) => {
|
|
897
|
+
this.handleClickOutside = async (event) => {
|
|
929
898
|
if (this.device !== 'desktop')
|
|
930
899
|
return;
|
|
931
900
|
const target = event.target;
|
|
932
901
|
if (this.host.contains(target)) {
|
|
933
902
|
return;
|
|
934
903
|
}
|
|
904
|
+
// Ignore clicks on the trigger or its contents to prevent running hide() twice
|
|
905
|
+
if (this.megadropdownTrigger.contains(target)) {
|
|
906
|
+
return;
|
|
907
|
+
}
|
|
935
908
|
if (target instanceof HTMLElement) {
|
|
936
909
|
const trigger = target.closest('post-megadropdown-trigger');
|
|
937
910
|
if (trigger) {
|
|
@@ -941,14 +914,11 @@ const PostMegadropdown = class {
|
|
|
941
914
|
}
|
|
942
915
|
}
|
|
943
916
|
}
|
|
944
|
-
this.hide(false);
|
|
917
|
+
await this.hide(false);
|
|
945
918
|
};
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
return hostId
|
|
950
|
-
? document.querySelector(`post-megadropdown-trigger[for="${hostId}"] > button`)
|
|
951
|
-
: null;
|
|
919
|
+
this.keyboardHandler = this.keyboardHandler.bind(this);
|
|
920
|
+
this.handleTabOutside = this.handleTabOutside.bind(this);
|
|
921
|
+
this.handleClickOutside = this.handleClickOutside.bind(this);
|
|
952
922
|
}
|
|
953
923
|
connectedCallback() {
|
|
954
924
|
window.addEventListener('postBreakpoint:device', this.breakpointChange.bind(this));
|
|
@@ -957,16 +927,17 @@ const PostMegadropdown = class {
|
|
|
957
927
|
this.getFocusableElements();
|
|
958
928
|
}
|
|
959
929
|
componentDidLoad() {
|
|
930
|
+
this.validateTextClose();
|
|
931
|
+
this.validateTextBack();
|
|
960
932
|
this.checkInitialAriaCurrent();
|
|
961
933
|
this.setupObserver();
|
|
962
934
|
this.handleAriaCurrentChange([]);
|
|
963
935
|
}
|
|
964
936
|
disconnectedCallback() {
|
|
965
|
-
this.removeListeners();
|
|
966
937
|
window.removeEventListener('postBreakpoint:device', this.breakpointChange.bind(this));
|
|
967
|
-
if (PostMegadropdown.activeDropdown === this)
|
|
938
|
+
if (PostMegadropdown.activeDropdown === this)
|
|
968
939
|
PostMegadropdown.activeDropdown = null;
|
|
969
|
-
|
|
940
|
+
this.removeListeners();
|
|
970
941
|
if (this.defaultSlotObserver) {
|
|
971
942
|
this.defaultSlotObserver.disconnect();
|
|
972
943
|
}
|
|
@@ -975,41 +946,70 @@ const PostMegadropdown = class {
|
|
|
975
946
|
* Toggles the dropdown visibility based on its current state.
|
|
976
947
|
*/
|
|
977
948
|
async toggle() {
|
|
978
|
-
if (this.
|
|
979
|
-
this
|
|
980
|
-
|
|
981
|
-
else {
|
|
982
|
-
await this.show();
|
|
949
|
+
if (this.isAnimating) {
|
|
950
|
+
// If this is already animating towards a future state -> reverse intent
|
|
951
|
+
return this.isVisible ? this.show() : this.hide();
|
|
983
952
|
}
|
|
953
|
+
return this.isVisible ? this.hide() : this.show();
|
|
984
954
|
}
|
|
985
955
|
/**
|
|
986
956
|
* Displays the dropdown.
|
|
987
957
|
*/
|
|
988
958
|
async show() {
|
|
959
|
+
if (this.device !== 'desktop') {
|
|
960
|
+
const trigger = this.megadropdownTrigger;
|
|
961
|
+
if (trigger)
|
|
962
|
+
this.megadropdownTitle = trigger.innerHTML;
|
|
963
|
+
}
|
|
989
964
|
if (PostMegadropdown.activeDropdown && PostMegadropdown.activeDropdown !== this) {
|
|
990
965
|
// Close the previously active dropdown without animation
|
|
991
966
|
PostMegadropdown.activeDropdown.forceClose();
|
|
992
967
|
}
|
|
993
|
-
this.
|
|
968
|
+
this.cancelAnimation();
|
|
969
|
+
// Set the megadropdown visible and mark it as the active dropdown
|
|
994
970
|
this.isVisible = true;
|
|
995
971
|
PostMegadropdown.activeDropdown = this;
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
this.
|
|
972
|
+
// Update trigger state
|
|
973
|
+
this.postToggleMegadropdown.emit({ isVisible: true });
|
|
974
|
+
try {
|
|
975
|
+
await this.animate('in');
|
|
976
|
+
this.focusFirst();
|
|
977
|
+
// After the megadropdown has finished entry animation
|
|
978
|
+
this.addListeners();
|
|
979
|
+
}
|
|
980
|
+
catch {
|
|
981
|
+
// Open animation was cancelled - reset state
|
|
982
|
+
this.removeListeners();
|
|
983
|
+
this.isVisible = false;
|
|
984
|
+
if (PostMegadropdown.activeDropdown === this)
|
|
985
|
+
PostMegadropdown.activeDropdown = null;
|
|
986
|
+
this.postToggleMegadropdown.emit({ isVisible: false, focusParent: true });
|
|
1000
987
|
}
|
|
1001
|
-
this.addListeners();
|
|
1002
988
|
}
|
|
1003
989
|
/**
|
|
1004
990
|
* Hides the dropdown with an animation.
|
|
1005
991
|
*/
|
|
1006
992
|
async hide(focusParent = true, forceClose = false) {
|
|
1007
|
-
this.postToggleMegadropdown.emit({ isVisible: false, focusParent: focusParent });
|
|
1008
993
|
if (forceClose) {
|
|
1009
994
|
this.forceClose();
|
|
995
|
+
return;
|
|
1010
996
|
}
|
|
1011
|
-
|
|
1012
|
-
|
|
997
|
+
// Update trigger state
|
|
998
|
+
this.postToggleMegadropdown.emit({ isVisible: false, focusParent: focusParent });
|
|
999
|
+
try {
|
|
1000
|
+
await this.animate('out');
|
|
1001
|
+
// After the closing animation finishes set the megadropdown as non visible
|
|
1002
|
+
this.isVisible = false;
|
|
1003
|
+
this.removeListeners();
|
|
1004
|
+
if (PostMegadropdown.activeDropdown === this)
|
|
1005
|
+
PostMegadropdown.activeDropdown = null;
|
|
1006
|
+
}
|
|
1007
|
+
catch {
|
|
1008
|
+
// Closing animation was cancelled - reset state
|
|
1009
|
+
PostMegadropdown.activeDropdown = this;
|
|
1010
|
+
this.addListeners();
|
|
1011
|
+
this.isVisible = true;
|
|
1012
|
+
this.postToggleMegadropdown.emit({ isVisible: true, focusParent: false });
|
|
1013
1013
|
}
|
|
1014
1014
|
}
|
|
1015
1015
|
/**
|
|
@@ -1018,63 +1018,74 @@ const PostMegadropdown = class {
|
|
|
1018
1018
|
async focusFirst() {
|
|
1019
1019
|
this.firstFocusableEl?.focus();
|
|
1020
1020
|
}
|
|
1021
|
-
breakpointChange(e) {
|
|
1022
|
-
this.device = e.detail;
|
|
1023
|
-
if (this.device === 'desktop' && this.isVisible) {
|
|
1024
|
-
this.animationClass = null;
|
|
1025
|
-
}
|
|
1026
|
-
}
|
|
1027
1021
|
/**
|
|
1028
1022
|
* Forces the dropdown to close without animation.
|
|
1029
1023
|
*/
|
|
1030
1024
|
forceClose() {
|
|
1031
|
-
this.isVisible = false;
|
|
1032
|
-
this.animationClass = null;
|
|
1033
|
-
this.postToggleMegadropdown.emit({ isVisible: this.isVisible, focusParent: false });
|
|
1034
1025
|
this.removeListeners();
|
|
1026
|
+
this.postToggleMegadropdown.emit({ isVisible: false, focusParent: false });
|
|
1027
|
+
this.isVisible = false;
|
|
1035
1028
|
}
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
this.
|
|
1040
|
-
PostMegadropdown.activeDropdown = null;
|
|
1041
|
-
this.removeListeners();
|
|
1029
|
+
// Run the respective animation
|
|
1030
|
+
createAnimation(direction) {
|
|
1031
|
+
if (this.device === 'desktop') {
|
|
1032
|
+
return fadeSlide.fadeSlide(this.animatedContainer, direction, this.fsAnimationOptions);
|
|
1042
1033
|
}
|
|
1034
|
+
return slide(this.animatedContainer, direction, {
|
|
1035
|
+
translate: 100,
|
|
1036
|
+
duration: 350,
|
|
1037
|
+
easing: direction === 'in' ? 'ease-in' : 'ease-out',
|
|
1038
|
+
});
|
|
1039
|
+
}
|
|
1040
|
+
async animate(direction) {
|
|
1041
|
+
this.cancelAnimation();
|
|
1042
|
+
this.currentAnimation = this.createAnimation(direction);
|
|
1043
|
+
// Flag isAnimating used to avoid toggle() de-sync
|
|
1044
|
+
this.isAnimating = true;
|
|
1045
|
+
await this.currentAnimation.finished;
|
|
1046
|
+
this.isAnimating = false;
|
|
1047
|
+
this.currentAnimation = null;
|
|
1048
|
+
}
|
|
1049
|
+
cancelAnimation() {
|
|
1050
|
+
this.currentAnimation?.cancel();
|
|
1051
|
+
this.currentAnimation = null;
|
|
1052
|
+
}
|
|
1053
|
+
breakpointChange(e) {
|
|
1054
|
+
this.device = e.detail;
|
|
1055
|
+
this.cancelAnimation();
|
|
1043
1056
|
}
|
|
1044
1057
|
addListeners() {
|
|
1045
|
-
this.host.addEventListener('keydown',
|
|
1046
|
-
document.addEventListener('keyup',
|
|
1058
|
+
this.host.addEventListener('keydown', this.keyboardHandler);
|
|
1059
|
+
document.addEventListener('keyup', this.handleTabOutside);
|
|
1047
1060
|
document.addEventListener('mousedown', this.handleClickOutside);
|
|
1048
1061
|
}
|
|
1049
1062
|
removeListeners() {
|
|
1050
|
-
this.host.removeEventListener('keydown',
|
|
1051
|
-
document.removeEventListener('keyup',
|
|
1063
|
+
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
1064
|
+
document.removeEventListener('keyup', this.handleTabOutside);
|
|
1052
1065
|
document.removeEventListener('mousedown', this.handleClickOutside);
|
|
1053
1066
|
}
|
|
1054
1067
|
getFocusableElements() {
|
|
1055
|
-
const
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
}
|
|
1062
|
-
this.firstFocusableEl = focusableChildren[0];
|
|
1063
|
-
this.lastFocusableEl = focusableChildren[focusableChildren.length - 1];
|
|
1068
|
+
const focusableElements = [
|
|
1069
|
+
...getFocusableChildren.getFocusableChildren(this.host),
|
|
1070
|
+
...getFocusableChildren.getFocusableChildren(this.host.shadowRoot),
|
|
1071
|
+
];
|
|
1072
|
+
this.firstFocusableEl = focusableElements[0];
|
|
1073
|
+
this.lastFocusableEl = focusableElements[focusableElements.length - 1];
|
|
1064
1074
|
}
|
|
1065
1075
|
// Loop through the focusable children
|
|
1066
1076
|
keyboardHandler(e) {
|
|
1067
|
-
if (e.key
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1077
|
+
if (e.key !== 'Tab' || this.device === 'desktop')
|
|
1078
|
+
return;
|
|
1079
|
+
const activeElement = this.host.shadowRoot.activeElement || document.activeElement;
|
|
1080
|
+
if (e.shiftKey && activeElement === this.firstFocusableEl) {
|
|
1081
|
+
// If back tab (TAB + Shift) and first element is focused, focus goes to the last element of the megadropdown
|
|
1082
|
+
e.preventDefault();
|
|
1083
|
+
this.lastFocusableEl.focus();
|
|
1084
|
+
}
|
|
1085
|
+
else if (!e.shiftKey && activeElement === this.lastFocusableEl) {
|
|
1086
|
+
// If TAB and last element is focused, focus goes back to the first element of the megadropdown
|
|
1087
|
+
e.preventDefault();
|
|
1088
|
+
this.firstFocusableEl.focus();
|
|
1078
1089
|
}
|
|
1079
1090
|
}
|
|
1080
1091
|
handleTabOutside(e) {
|
|
@@ -1105,14 +1116,8 @@ const PostMegadropdown = class {
|
|
|
1105
1116
|
*/
|
|
1106
1117
|
setTriggerActive(isActive) {
|
|
1107
1118
|
const trigger = this.megadropdownTrigger;
|
|
1108
|
-
if (
|
|
1109
|
-
|
|
1110
|
-
if (isActive) {
|
|
1111
|
-
trigger.classList.add('active');
|
|
1112
|
-
}
|
|
1113
|
-
else {
|
|
1114
|
-
trigger.classList.remove('active');
|
|
1115
|
-
}
|
|
1119
|
+
if (trigger)
|
|
1120
|
+
trigger.setAttribute('active', isActive.toString());
|
|
1116
1121
|
}
|
|
1117
1122
|
/**
|
|
1118
1123
|
* Updates the megadropdown trigger state when the megadropdown content changes.
|
|
@@ -1136,15 +1141,19 @@ const PostMegadropdown = class {
|
|
|
1136
1141
|
}
|
|
1137
1142
|
render() {
|
|
1138
1143
|
const containerStyle = this.isVisible ? {} : { display: 'none' };
|
|
1139
|
-
return (index.h(index.Host, { key: '
|
|
1144
|
+
return (index.h(index.Host, { key: 'f099891f24c60ca48ddceeadf754debdf3d8bff1', version: _package.version }, index.h("div", { key: 'd964a72ec31632a6061f8c656fcc171bc584b764', ref: el => (this.animatedContainer = el), class: "megadropdown", style: containerStyle }, this.device !== 'desktop' && this.megadropdownTitle && (index.h("p", { key: 'b04d8fb83e5658365a1d722572d82237a7bf4eba', class: "megadropdown-title" }, this.megadropdownTitle)), index.h("div", { key: 'b7e654a69375c4e8f3af2e8ff65f0a5b7b2ee2cd', class: "megadropdown-content" }, index.h("slot", { key: '9608aa8b0d9458b593917e66e3fd4db9c447cac2' })), this.device === 'desktop' ? (index.h("post-closebutton", { onClick: () => this.hide(true), class: "close-button" }, this.textClose)) : (index.h("button", { onClick: () => this.hide(true), class: "back-button" }, index.h("post-icon", { name: "arrowleft" }), this.textBack)))));
|
|
1140
1145
|
}
|
|
1141
1146
|
get host() { return index.getElement(this); }
|
|
1147
|
+
static get watchers() { return {
|
|
1148
|
+
"textClose": ["validateTextClose"],
|
|
1149
|
+
"textBack": ["validateTextBack"]
|
|
1150
|
+
}; }
|
|
1142
1151
|
};
|
|
1143
1152
|
/** Tracks the currently active dropdown instance. */
|
|
1144
1153
|
PostMegadropdown.activeDropdown = null;
|
|
1145
1154
|
PostMegadropdown.style = postMegadropdownCss;
|
|
1146
1155
|
|
|
1147
|
-
const postMegadropdownTriggerCss = "post-
|
|
1156
|
+
const postMegadropdownTriggerCss = "button{display:inline-flex;position:relative;align-items:center;justify-content:center;max-width:100%;overflow:hidden;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);box-shadow:none;font-family:inherit;font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;border:unset;font-weight:unset;display:flex;padding:.25rem .625rem;gap:.375rem;font-size:1rem;border-color:var(--post-scheme-color-interactive-button-tertiary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}button:hover{text-decoration:none}button:disabled{border-style:var(--post-core-border-style-dash)}button{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){button:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){button:is(a){color:LinkText;border:unset}button:is(button){background-color:ButtonFace !important;border:1px solid ButtonBorder !important}button:not(:disabled,.disabled):is(button):hover{background-color:Highlight !important}button:not(:disabled,.disabled):is(button):hover>post-icon{color:HighlightText !important}}button:hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:var(--post-device-elevation-100);border-color:var(--post-scheme-color-interactive-button-primary-enabled-stroke);background-color:var(--post-scheme-color-interactive-button-primary-enabled-bg);color:var(--post-scheme-color-interactive-button-primary-enabled-fg)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg);color:var(--post-scheme-color-interactive-button-primary-hover-fg)}button{--post-nav-item-border-width:1px;width:100%;justify-content:start;position:relative;padding:.75rem .75rem calc(.75rem - var(--post-nav-item-border-width)) .5rem;gap:1rem;border-radius:0;line-height:1.5;outline-color:currentColor !important;height:100%}button::before{content:\"\";background-color:#050400;position:absolute;inset-inline:0;inset-block-end:0;height:var(--post-nav-item-border-width)}button:hover{border-color:var(--post-scheme-color-interactive-button-primary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-primary-hover-bg);color:var(--post-scheme-color-interactive-button-primary-hover-fg)}button:hover::before{background-color:rgba(0,0,0,0)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){box-shadow:none}button{outline-offset:calc(\n -2px - var(--post-device-border-width-focus)\n ) !important}button>post-icon:where(:last-child){margin-inline-start:auto}@media screen and (min-width: 0)and (max-width: 599.98px){button{padding:calc(.5rem + 1.5px) .75rem calc(.5rem + 1.5px - var(--post-nav-item-border-width)) .5rem;gap:.5rem;font-size:.875rem}button>post-icon{font-size:1rem}}@media screen and (min-width: 600px)and (max-width: 1023.98px){button>post-icon{font-size:1.5rem}}@media screen and (min-width: 1024px){button{padding:1rem .75rem;gap:.5rem}button::before{content:unset}}:host{position:relative;display:inline-block}button post-icon{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}button:is([aria-current],[aria-pressed=true],[aria-expanded=true]) post-icon{transform:rotate(180deg)}button>span{position:relative}button>span>span[aria-hidden]{font-weight:700;visibility:hidden}button>span>span:not([aria-hidden]){position:absolute;inset:0}@media screen and (min-width: 1024px){button:is([aria-current],[aria-pressed=true],[aria-expanded=true],.active){font-weight:700}}@media screen and (max-width: 1023.98px){button post-icon{margin-inline-start:auto;transform:rotate(-90deg) !important}}";
|
|
1148
1157
|
|
|
1149
1158
|
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1150
1159
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -1157,101 +1166,85 @@ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators,
|
|
|
1157
1166
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1158
1167
|
};
|
|
1159
1168
|
const PostMegadropdownTrigger = class {
|
|
1169
|
+
validateFor() {
|
|
1170
|
+
breakpoints.checkRequiredAndType(this, 'for', 'string');
|
|
1171
|
+
}
|
|
1160
1172
|
constructor(hostRef) {
|
|
1161
1173
|
index.registerInstance(this, hostRef);
|
|
1174
|
+
this.mutationObserver = new MutationObserver(this.cloneSlottedButton.bind(this));
|
|
1175
|
+
this.isMegadropdownExpanded = false;
|
|
1176
|
+
this.slottedContent = null;
|
|
1162
1177
|
/**
|
|
1163
|
-
*
|
|
1178
|
+
* Sets the trigger state to be active or inactive.
|
|
1164
1179
|
*/
|
|
1165
|
-
this.
|
|
1166
|
-
|
|
1167
|
-
* Reference to the slotted button within the trigger, if present.
|
|
1168
|
-
* Used to manage click and key events for mega dropdown control.
|
|
1169
|
-
*/
|
|
1170
|
-
this.slottedButton = null;
|
|
1171
|
-
/**
|
|
1172
|
-
* Tracks whether this trigger's dropdown was expanded before a state change.
|
|
1173
|
-
* Used to determine if this trigger should handle focus when its dropdown closes.
|
|
1174
|
-
*/
|
|
1175
|
-
this.wasExpanded = false;
|
|
1176
|
-
this.handleKeyDown = (event) => {
|
|
1177
|
-
if (event.key === 'Enter' || event.key === ' ') {
|
|
1178
|
-
event.preventDefault();
|
|
1179
|
-
this.handleToggle();
|
|
1180
|
-
if (this.megadropdown && !this.ariaExpanded) {
|
|
1181
|
-
setTimeout(() => this.megadropdown.focusFirst(), 100);
|
|
1182
|
-
}
|
|
1183
|
-
}
|
|
1184
|
-
};
|
|
1185
|
-
this.handleToggleMegadropdown = (event) => {
|
|
1186
|
-
if (event.target.id === this.for) {
|
|
1187
|
-
this.ariaExpanded = event.detail.isVisible;
|
|
1188
|
-
// Focus on the trigger parent of the dropdown after it's closed if the close button had been clicked
|
|
1189
|
-
if (this.wasExpanded && !this.ariaExpanded && event.detail.focusParent) {
|
|
1190
|
-
setTimeout(() => {
|
|
1191
|
-
this.slottedButton?.focus();
|
|
1192
|
-
}, 100);
|
|
1193
|
-
}
|
|
1194
|
-
this.wasExpanded = this.ariaExpanded;
|
|
1195
|
-
if (this.slottedButton) {
|
|
1196
|
-
this.slottedButton.setAttribute('aria-expanded', this.ariaExpanded.toString());
|
|
1197
|
-
}
|
|
1198
|
-
}
|
|
1199
|
-
};
|
|
1180
|
+
this.active = false;
|
|
1181
|
+
this.onMegadropdownToggled = this.onMegadropdownToggled.bind(this);
|
|
1200
1182
|
}
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1183
|
+
connectedCallback() {
|
|
1184
|
+
this.mutationObserver.observe(this.host, { childList: true, subtree: true });
|
|
1185
|
+
}
|
|
1186
|
+
componentWillLoad() {
|
|
1187
|
+
this.cloneSlottedButton();
|
|
1188
|
+
}
|
|
1189
|
+
componentDidLoad() {
|
|
1190
|
+
this.validateFor();
|
|
1191
|
+
// Check if the mega dropdown attached to the trigger is expanded or not
|
|
1192
|
+
if (environment.IS_BROWSER)
|
|
1193
|
+
document.addEventListener('postToggleMegadropdown', this.onMegadropdownToggled);
|
|
1194
|
+
}
|
|
1195
|
+
disconnectedCallback() {
|
|
1196
|
+
document.removeEventListener('postToggleMegadropdown', this.onMegadropdownToggled);
|
|
1197
|
+
}
|
|
1198
|
+
cloneSlottedButton() {
|
|
1199
|
+
this.slottedContent = this.host.innerHTML;
|
|
1207
1200
|
}
|
|
1208
1201
|
get megadropdown() {
|
|
1209
1202
|
const ref = document.getElementById(this.for);
|
|
1210
|
-
|
|
1211
|
-
? ref
|
|
1212
|
-
: null;
|
|
1213
|
-
}
|
|
1214
|
-
handleToggle() {
|
|
1215
|
-
if (this.megadropdown) {
|
|
1216
|
-
this.megadropdown.toggle();
|
|
1217
|
-
}
|
|
1218
|
-
else {
|
|
1203
|
+
if (ref?.localName !== 'post-megadropdown') {
|
|
1219
1204
|
console.warn(`No post-megadropdown found with ID: ${this.for}`);
|
|
1205
|
+
return null;
|
|
1220
1206
|
}
|
|
1207
|
+
return ref;
|
|
1221
1208
|
}
|
|
1222
|
-
|
|
1223
|
-
this.
|
|
1224
|
-
// Check if the mega dropdown attached to the trigger is expanded or not
|
|
1225
|
-
document.addEventListener('postToggleMegadropdown', this.handleToggleMegadropdown);
|
|
1226
|
-
this.slottedButton = this.host.querySelector('button');
|
|
1227
|
-
if (this.slottedButton) {
|
|
1228
|
-
this.slottedButton.setAttribute('aria-haspopup', 'menu');
|
|
1229
|
-
this.slottedButton.addEventListener('click', () => {
|
|
1230
|
-
this.handleToggle();
|
|
1231
|
-
});
|
|
1232
|
-
this.slottedButton.addEventListener('keydown', this.handleKeyDown);
|
|
1233
|
-
}
|
|
1234
|
-
else {
|
|
1235
|
-
console.warn('No button found within post-megadropdown-trigger');
|
|
1236
|
-
}
|
|
1209
|
+
onClick() {
|
|
1210
|
+
this.megadropdown?.toggle();
|
|
1237
1211
|
}
|
|
1238
|
-
|
|
1239
|
-
|
|
1212
|
+
onKeyDown(event) {
|
|
1213
|
+
if (event.key !== 'Enter' && event.key !== ' ')
|
|
1214
|
+
return;
|
|
1215
|
+
const megadropdown = this.megadropdown;
|
|
1216
|
+
if (!megadropdown)
|
|
1217
|
+
return;
|
|
1218
|
+
event.preventDefault();
|
|
1219
|
+
this.megadropdown.toggle();
|
|
1220
|
+
}
|
|
1221
|
+
onMegadropdownToggled(event) {
|
|
1222
|
+
if (event.target.id === this.for) {
|
|
1223
|
+
const wasMegadropdownExpanded = this.isMegadropdownExpanded;
|
|
1224
|
+
this.isMegadropdownExpanded = event.detail.isVisible;
|
|
1225
|
+
const haveBeenClosed = wasMegadropdownExpanded && !this.isMegadropdownExpanded;
|
|
1226
|
+
if (!haveBeenClosed || !event.detail.focusParent)
|
|
1227
|
+
return;
|
|
1228
|
+
// Focus on the trigger parent of the dropdown after it's closed if the close button had been clicked
|
|
1229
|
+
setTimeout(() => {
|
|
1230
|
+
this.interactiveButton.focus();
|
|
1231
|
+
}, 100);
|
|
1232
|
+
}
|
|
1240
1233
|
}
|
|
1241
1234
|
render() {
|
|
1242
|
-
return (index.h(index.Host, { key: '
|
|
1235
|
+
return (index.h(index.Host, { key: '73479c3c80cda63b9f82ec584c962ffa53b7b85c', "data-version": _package.version }, index.h("button", { key: 'e76d5077f1ac2e6c16e365799ea79f6985ec0d14', ref: el => (this.interactiveButton = el), type: "button", "aria-haspopup": "menu", "aria-expanded": this.isMegadropdownExpanded.toString(), onClick: this.onClick.bind(this), onKeyDown: this.onKeyDown.bind(this), class: { active: this.active } }, index.h("span", { key: 'a60b5838443ccd75fc08e07f791cb4ef088343f3' }, index.h("span", { key: 'da180bb66704712c0cba7b575ba260765a0df36f' }, index.h("slot", { key: 'c27dbc706a82fc49acb3414855e0e57d1dac0923' })), index.h("span", { key: '87ebe5fdcba5a160b2698965284fc5ce66d0fa90', "aria-hidden": "true", innerHTML: this.slottedContent })), index.h("post-icon", { key: '76f620188ebc3ad60b04523ea70ee4f3b642a2e8', name: "chevrondown" }))));
|
|
1243
1236
|
}
|
|
1244
1237
|
get host() { return index.getElement(this); }
|
|
1245
1238
|
static get watchers() { return {
|
|
1246
|
-
"for": ["
|
|
1239
|
+
"for": ["validateFor"]
|
|
1247
1240
|
}; }
|
|
1248
1241
|
};
|
|
1249
1242
|
__decorate$1([
|
|
1250
1243
|
eventFrom.EventFrom('post-megadropdown', { ignoreNestedComponents: false })
|
|
1251
|
-
], PostMegadropdownTrigger.prototype, "
|
|
1244
|
+
], PostMegadropdownTrigger.prototype, "onMegadropdownToggled", null);
|
|
1252
1245
|
PostMegadropdownTrigger.style = postMegadropdownTriggerCss;
|
|
1253
1246
|
|
|
1254
|
-
const postMenuCss = ":host{display:block}:where([part=menu]){display:flex;flex-direction:column;padding-block:.5rem}::slotted([slot=header]){margin-top:-0.5rem;padding:1rem;display:flex;align-items:center;gap:.5rem;border-block-end:1px solid #050400;font-weight:700}@media screen and (max-width: 1023.98px){::slotted([slot=header]){padding:.75rem 1rem}}@media screen and (max-width: 779.98px){::slotted([slot=header]){padding:.5rem 1rem}}";
|
|
1247
|
+
const postMenuCss = ":host{display:block}:where([part=post-menu]){display:flex;flex-direction:column;padding-block:.5rem}::slotted([slot=header]){margin-top:-0.5rem;padding:1rem;display:flex;align-items:center;gap:.5rem;border-block-end:1px solid #050400;font-weight:700}@media screen and (max-width: 1023.98px){::slotted([slot=header]){padding:.75rem 1rem}}@media screen and (max-width: 779.98px){::slotted([slot=header]){padding:.5rem 1rem}}";
|
|
1255
1248
|
|
|
1256
1249
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1257
1250
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -1300,35 +1293,6 @@ const PostMenu = class {
|
|
|
1300
1293
|
this.controlKeyDownHandler(e);
|
|
1301
1294
|
}
|
|
1302
1295
|
};
|
|
1303
|
-
this.handlePostShown = (event) => {
|
|
1304
|
-
// Only for the first open
|
|
1305
|
-
if (event.detail.first) {
|
|
1306
|
-
// Add "menu" and "menuitem" aria roles and aria-label
|
|
1307
|
-
this.host.setAttribute('role', 'menu');
|
|
1308
|
-
const menuItems = this.getSlottedItems();
|
|
1309
|
-
for (const item of menuItems) {
|
|
1310
|
-
item.setAttribute('role', 'menuitem');
|
|
1311
|
-
}
|
|
1312
|
-
if (this.label)
|
|
1313
|
-
this.host.setAttribute('aria-label', this.label);
|
|
1314
|
-
}
|
|
1315
|
-
};
|
|
1316
|
-
this.handlePostToggled = (event) => {
|
|
1317
|
-
this.isVisible = event.detail.isOpen;
|
|
1318
|
-
this.toggleMenu.emit(this.isVisible);
|
|
1319
|
-
if (this.isVisible) {
|
|
1320
|
-
this.lastFocusedElement = this.root?.activeElement;
|
|
1321
|
-
requestAnimationFrame(() => {
|
|
1322
|
-
const menuItems = this.getSlottedItems();
|
|
1323
|
-
if (menuItems.length > 0) {
|
|
1324
|
-
menuItems[0].focus();
|
|
1325
|
-
}
|
|
1326
|
-
});
|
|
1327
|
-
}
|
|
1328
|
-
else if (this.lastFocusedElement) {
|
|
1329
|
-
this.lastFocusedElement.focus();
|
|
1330
|
-
}
|
|
1331
|
-
};
|
|
1332
1296
|
this.handleClick = (e) => {
|
|
1333
1297
|
const target = e.target;
|
|
1334
1298
|
if (['BUTTON', 'A', 'INPUT', 'SELECT', 'TEXTAREA'].includes(target.tagName)) {
|
|
@@ -1337,10 +1301,10 @@ const PostMenu = class {
|
|
|
1337
1301
|
};
|
|
1338
1302
|
}
|
|
1339
1303
|
validatePlacement() {
|
|
1340
|
-
|
|
1304
|
+
breakpoints.checkEmptyOrOneOf(this, 'placement', placement.PLACEMENT_TYPES);
|
|
1341
1305
|
}
|
|
1342
1306
|
validateLabel() {
|
|
1343
|
-
|
|
1307
|
+
breakpoints.checkRequiredAndType(this, 'label', 'string');
|
|
1344
1308
|
}
|
|
1345
1309
|
connectedCallback() {
|
|
1346
1310
|
this.root = getRoot.getRoot(this.host);
|
|
@@ -1390,6 +1354,35 @@ const PostMenu = class {
|
|
|
1390
1354
|
console.error('hide: popoverRef is null or undefined');
|
|
1391
1355
|
}
|
|
1392
1356
|
}
|
|
1357
|
+
handlePostShown(event) {
|
|
1358
|
+
// Only for the first open
|
|
1359
|
+
if (event.detail.first) {
|
|
1360
|
+
// Add "menu" and "menuitem" aria roles and aria-label
|
|
1361
|
+
this.host.setAttribute('role', 'menu');
|
|
1362
|
+
const menuItems = this.getSlottedItems();
|
|
1363
|
+
for (const item of menuItems) {
|
|
1364
|
+
item.setAttribute('role', 'menuitem');
|
|
1365
|
+
}
|
|
1366
|
+
if (this.label)
|
|
1367
|
+
this.host.setAttribute('aria-label', this.label);
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
handlePostToggled(event) {
|
|
1371
|
+
this.isVisible = event.detail.isOpen;
|
|
1372
|
+
this.toggleMenu.emit(this.isVisible);
|
|
1373
|
+
if (this.isVisible) {
|
|
1374
|
+
this.lastFocusedElement = this.root?.activeElement;
|
|
1375
|
+
requestAnimationFrame(() => {
|
|
1376
|
+
const menuItems = this.getSlottedItems();
|
|
1377
|
+
if (menuItems.length > 0) {
|
|
1378
|
+
menuItems[0].focus();
|
|
1379
|
+
}
|
|
1380
|
+
});
|
|
1381
|
+
}
|
|
1382
|
+
else if (this.lastFocusedElement) {
|
|
1383
|
+
this.lastFocusedElement.focus();
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1393
1386
|
controlKeyDownHandler(e) {
|
|
1394
1387
|
const menuItems = this.getSlottedItems();
|
|
1395
1388
|
if (!menuItems.length) {
|
|
@@ -1437,7 +1430,7 @@ const PostMenu = class {
|
|
|
1437
1430
|
.flatMap(el => Array.from(getFocusableChildren.getFocusableChildren(el))));
|
|
1438
1431
|
}
|
|
1439
1432
|
render() {
|
|
1440
|
-
return (index.h(index.Host, { key: '
|
|
1433
|
+
return (index.h(index.Host, { key: '08285b17608e5bc3133a3da6015a5a0d4de6ec29', "data-version": _package.version }, index.h("post-popovercontainer", { key: '17e45869b5e76cdd9bd43ca77b2f0b3876462014', onPostShow: this.handlePostShown.bind(this), onPostToggle: this.handlePostToggled.bind(this), placement: this.placement, ref: e => (this.popoverRef = e) }, index.h("div", { key: 'e2486aa099ffc8ac59885a0971ebb13649a49a35', part: "post-menu" }, index.h("slot", { key: '9f0e05f211fe18cf5beed8e1b33bde26d4974e24', name: "header" }), index.h("slot", { key: '971ac8ad433467a2ebe2429574cb10dbdadbcf25' })))));
|
|
1441
1434
|
}
|
|
1442
1435
|
get host() { return index.getElement(this); }
|
|
1443
1436
|
static get watchers() { return {
|
|
@@ -1447,10 +1440,10 @@ const PostMenu = class {
|
|
|
1447
1440
|
};
|
|
1448
1441
|
__decorate([
|
|
1449
1442
|
eventFrom.EventFrom('post-popovercontainer')
|
|
1450
|
-
], PostMenu.prototype, "handlePostShown",
|
|
1443
|
+
], PostMenu.prototype, "handlePostShown", null);
|
|
1451
1444
|
__decorate([
|
|
1452
1445
|
eventFrom.EventFrom('post-popovercontainer')
|
|
1453
|
-
], PostMenu.prototype, "handlePostToggled",
|
|
1446
|
+
], PostMenu.prototype, "handlePostToggled", null);
|
|
1454
1447
|
PostMenu.style = postMenuCss;
|
|
1455
1448
|
|
|
1456
1449
|
const postMenuTriggerCss = ":host{display:inline-block}";
|
|
@@ -1479,7 +1472,7 @@ const PostMenuTrigger = class {
|
|
|
1479
1472
|
* @param forValue - The new value of the `for` property.
|
|
1480
1473
|
*/
|
|
1481
1474
|
validateControlFor() {
|
|
1482
|
-
|
|
1475
|
+
breakpoints.checkRequiredAndType(this, 'for', 'string');
|
|
1483
1476
|
}
|
|
1484
1477
|
get menu() {
|
|
1485
1478
|
const ref = this.root.getElementById(this.for);
|
|
@@ -1528,7 +1521,7 @@ const PostMenuTrigger = class {
|
|
|
1528
1521
|
}
|
|
1529
1522
|
}
|
|
1530
1523
|
render() {
|
|
1531
|
-
return (index.h(index.Host, { key: '
|
|
1524
|
+
return (index.h(index.Host, { key: '3ef7e372c9c655bf1da5d5a7d4bca6925a010f65', "data-version": _package.version, "tab-index": "-1" }, index.h("slot", { key: '771db943ad5aa639c325f055ba6f9d763bf4256d' })));
|
|
1532
1525
|
}
|
|
1533
1526
|
get host() { return index.getElement(this); }
|
|
1534
1527
|
static get watchers() { return {
|
|
@@ -4258,7 +4251,7 @@ function popIn(el) {
|
|
|
4258
4251
|
});
|
|
4259
4252
|
}
|
|
4260
4253
|
|
|
4261
|
-
const postPopovercontainerCss = "@layer polyfill{@supports not selector(:popover-open){[popover]:not(.\\:popover-open){display:none}}}:where(post-popovercontainer){background-color:rgba(0,0,0,0);border:rgba(0,0,0,0);position:fixed;margin:0;padding:0;overflow:visible}:where(post-popovercontainer)>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}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(post-popovercontainer)>div{border:2px solid rgba(0,0,0,0)}}:where(post-popovercontainer)[tooltip]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}:where(post-popovercontainer)[safe-space]::after{content:\"\";position:fixed;inset:0;z-index:-1;pointer-events:auto}:where(post-popovercontainer)[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)))}:where(post-popovercontainer)[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)))}:where(post-popovercontainer):not(:has(.arrow))>div{box-shadow:var(--post-device-elevation-300)}:where(post-popovercontainer):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))}:where(post-popovercontainer):has(.arrow.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))}:where(post-popovercontainer):has(.arrow.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))}:where(post-popovercontainer):has(.arrow.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))}:where(post-popovercontainer) .arrow{position:absolute;width:.5825rem;height:.5825rem;background-color:inherit;rotate:45deg;pointer-events:none;z-index:-1}:where(post-popovercontainer) .arrow.top{border-block-
|
|
4254
|
+
const postPopovercontainerCss = "@layer polyfill{@supports not selector(:popover-open){[popover]:not(.\\:popover-open){display:none}}}:where(post-popovercontainer){background-color:rgba(0,0,0,0);border:rgba(0,0,0,0);position:fixed;margin:0;padding:0;overflow:visible}:where(post-popovercontainer)>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}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(post-popovercontainer)>div{border:2px solid rgba(0,0,0,0)}}:where(post-popovercontainer)[tooltip]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}:where(post-popovercontainer)[safe-space]::after{content:\"\";position:fixed;inset:0;z-index:-1;pointer-events:auto}:where(post-popovercontainer)[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)))}:where(post-popovercontainer)[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)))}:where(post-popovercontainer):not(:has(.arrow))>div{box-shadow:var(--post-device-elevation-300)}:where(post-popovercontainer):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))}:where(post-popovercontainer):has(.arrow.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))}:where(post-popovercontainer):has(.arrow.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))}:where(post-popovercontainer):has(.arrow.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))}:where(post-popovercontainer) .arrow{--arrow-size: 0.5825rem;position:absolute;width:.5825rem;height:.5825rem;background-color:inherit;rotate:45deg;pointer-events:none;z-index:-1}:where(post-popovercontainer) .arrow[dynamic-placement=top]{border-bottom-right-radius:2px}:where(post-popovercontainer) .arrow[dynamic-placement=right]{border-bottom-left-radius:2px}:where(post-popovercontainer) .arrow[dynamic-placement=bottom]{border-top-left-radius:2px}:where(post-popovercontainer) .arrow[dynamic-placement=left]{border-top-right-radius:2px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(post-popovercontainer) .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}:where(post-popovercontainer) .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}:where(post-popovercontainer) .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}:where(post-popovercontainer) .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}}";
|
|
4262
4255
|
|
|
4263
4256
|
const PostPopovercontainer = class {
|
|
4264
4257
|
constructor(hostRef) {
|
|
@@ -4287,20 +4280,16 @@ const PostPopovercontainer = class {
|
|
|
4287
4280
|
* Whether or not to display a little pointer arrow
|
|
4288
4281
|
*/
|
|
4289
4282
|
this.arrow = false;
|
|
4290
|
-
/**
|
|
4291
|
-
* Whether or not the popovercontainer should close when user clicks outside of it
|
|
4292
|
-
*/
|
|
4293
|
-
this.manualClose = false;
|
|
4294
4283
|
this.currentAnimation = null;
|
|
4295
4284
|
}
|
|
4296
4285
|
validatePlacement() {
|
|
4297
|
-
|
|
4286
|
+
breakpoints.checkEmptyOrOneOf(this, 'placement', placement.PLACEMENT_TYPES);
|
|
4298
4287
|
}
|
|
4299
4288
|
validateEdgeGap() {
|
|
4300
|
-
|
|
4289
|
+
breakpoints.checkEmptyOrType(this, 'edgeGap', 'number');
|
|
4301
4290
|
}
|
|
4302
4291
|
validateSafeSpace() {
|
|
4303
|
-
|
|
4292
|
+
breakpoints.checkEmptyOrOneOf(this, 'safeSpace', ['triangle', 'trapezoid']);
|
|
4304
4293
|
}
|
|
4305
4294
|
/**
|
|
4306
4295
|
* Updates cursor position for safe space feature when popover is open.
|
|
@@ -4312,7 +4301,7 @@ const PostPopovercontainer = class {
|
|
|
4312
4301
|
this.host.style.setProperty('--post-safe-space-cursor-y', `${event.clientY}px`);
|
|
4313
4302
|
}
|
|
4314
4303
|
connectedCallback() {
|
|
4315
|
-
if (
|
|
4304
|
+
if (environment.IS_BROWSER && !isSupported()) {
|
|
4316
4305
|
apply();
|
|
4317
4306
|
}
|
|
4318
4307
|
}
|
|
@@ -4336,10 +4325,35 @@ const PostPopovercontainer = class {
|
|
|
4336
4325
|
this.calculatePosition();
|
|
4337
4326
|
this.host.showPopover();
|
|
4338
4327
|
}
|
|
4328
|
+
/**
|
|
4329
|
+
* Programmatically hide the popovercontainer
|
|
4330
|
+
*/
|
|
4331
|
+
async hide() {
|
|
4332
|
+
if (!this.toggleTimeoutId) {
|
|
4333
|
+
this.eventTarget = null;
|
|
4334
|
+
this.host.hidePopover();
|
|
4335
|
+
this.postHide.emit();
|
|
4336
|
+
}
|
|
4337
|
+
}
|
|
4338
|
+
/**
|
|
4339
|
+
* Toggle popovercontainer display
|
|
4340
|
+
* @param target A focusable element inside the <post-popover-trigger> component that controls the popover
|
|
4341
|
+
* @param force Pass true to always show or false to always hide
|
|
4342
|
+
*/
|
|
4343
|
+
async toggle(target, force) {
|
|
4344
|
+
this.eventTarget = target;
|
|
4345
|
+
// Prevent instant double toggle
|
|
4346
|
+
if (!this.toggleTimeoutId) {
|
|
4347
|
+
this.calculatePosition();
|
|
4348
|
+
this.host.togglePopover(force);
|
|
4349
|
+
this.toggleTimeoutId = null;
|
|
4350
|
+
}
|
|
4351
|
+
return this.host.matches(':where(:popover-open, .popover-open)');
|
|
4352
|
+
}
|
|
4339
4353
|
/**
|
|
4340
4354
|
* Handles the popover opening process and emits related events.
|
|
4341
4355
|
*/
|
|
4342
|
-
|
|
4356
|
+
open() {
|
|
4343
4357
|
const content = this.host.querySelector('.popover-content');
|
|
4344
4358
|
this.startAutoupdates();
|
|
4345
4359
|
if (content) {
|
|
@@ -4364,7 +4378,7 @@ const PostPopovercontainer = class {
|
|
|
4364
4378
|
/**
|
|
4365
4379
|
* Handles the popover closing process and emits related events.
|
|
4366
4380
|
*/
|
|
4367
|
-
|
|
4381
|
+
close() {
|
|
4368
4382
|
if (typeof this.clearAutoUpdate === 'function') {
|
|
4369
4383
|
this.clearAutoUpdate();
|
|
4370
4384
|
}
|
|
@@ -4410,31 +4424,6 @@ const PostPopovercontainer = class {
|
|
|
4410
4424
|
}
|
|
4411
4425
|
}
|
|
4412
4426
|
}
|
|
4413
|
-
/**
|
|
4414
|
-
* Programmatically hide the popovercontainer
|
|
4415
|
-
*/
|
|
4416
|
-
async hide() {
|
|
4417
|
-
if (!this.toggleTimeoutId) {
|
|
4418
|
-
this.eventTarget = null;
|
|
4419
|
-
this.host.hidePopover();
|
|
4420
|
-
this.postHide.emit();
|
|
4421
|
-
}
|
|
4422
|
-
}
|
|
4423
|
-
/**
|
|
4424
|
-
* Toggle popovercontainer display
|
|
4425
|
-
* @param target A focusable element inside the <post-popover-trigger> component that controls the popover
|
|
4426
|
-
* @param force Pass true to always show or false to always hide
|
|
4427
|
-
*/
|
|
4428
|
-
async toggle(target, force) {
|
|
4429
|
-
this.eventTarget = target;
|
|
4430
|
-
// Prevent instant double toggle
|
|
4431
|
-
if (!this.toggleTimeoutId) {
|
|
4432
|
-
this.calculatePosition();
|
|
4433
|
-
this.host.togglePopover(force);
|
|
4434
|
-
this.toggleTimeoutId = null;
|
|
4435
|
-
}
|
|
4436
|
-
return this.host.matches(':where(:popover-open, .popover-open)');
|
|
4437
|
-
}
|
|
4438
4427
|
/**
|
|
4439
4428
|
* Start or stop auto updates based on popovercontainer events.
|
|
4440
4429
|
* Popovercontainers can be closed or opened with other methods than class members,
|
|
@@ -4468,6 +4457,7 @@ const PostPopovercontainer = class {
|
|
|
4468
4457
|
async calculatePosition() {
|
|
4469
4458
|
const { x, y, middlewareData, placement } = await this.computeMainPosition();
|
|
4470
4459
|
const currentPlacement = placement.split('-')[0];
|
|
4460
|
+
this.dynamicPlacement = currentPlacement;
|
|
4471
4461
|
// Position popover
|
|
4472
4462
|
this.host.style.left = `${x}px`;
|
|
4473
4463
|
this.host.style.top = `${y}px`;
|
|
@@ -4475,11 +4465,20 @@ const PostPopovercontainer = class {
|
|
|
4475
4465
|
if (this.arrow && middlewareData.arrow) {
|
|
4476
4466
|
const { x: arrowX, y: arrowY } = middlewareData.arrow;
|
|
4477
4467
|
const staticSide = PostPopovercontainer.STATIC_SIDES[currentPlacement];
|
|
4468
|
+
const rootFontSize = Number.parseFloat(getComputedStyle(document.documentElement).fontSize);
|
|
4469
|
+
// Calculate dynamically the half side which provides the static side offset
|
|
4470
|
+
const arrowSizeValue = getComputedStyle(this.arrowRef)
|
|
4471
|
+
.getPropertyValue('--arrow-size')
|
|
4472
|
+
.trim();
|
|
4473
|
+
const arrowSizePx = arrowSizeValue.endsWith('rem')
|
|
4474
|
+
? Number.parseFloat(arrowSizeValue) * rootFontSize
|
|
4475
|
+
: Number.parseFloat(arrowSizeValue);
|
|
4476
|
+
const halfSide = -0.5 * arrowSizePx;
|
|
4478
4477
|
if (staticSide) {
|
|
4479
4478
|
Object.assign(this.arrowRef.style, {
|
|
4480
4479
|
left: arrowX ? `${arrowX}px` : '',
|
|
4481
4480
|
top: arrowY ? `${arrowY}px` : '',
|
|
4482
|
-
[staticSide]:
|
|
4481
|
+
[staticSide]: `${halfSide}px`,
|
|
4483
4482
|
});
|
|
4484
4483
|
}
|
|
4485
4484
|
}
|
|
@@ -4580,9 +4579,9 @@ const PostPopovercontainer = class {
|
|
|
4580
4579
|
}
|
|
4581
4580
|
}
|
|
4582
4581
|
render() {
|
|
4583
|
-
return (index.h(index.Host, { key: '
|
|
4582
|
+
return (index.h(index.Host, { key: '0aaf70cb284e7227149f2e500aa7c72cab69d90a', "data-version": _package.version, popover: "auto" }, index.h("div", { key: '9762887bdddca93acc6dfda715f2f41f4f6c98d6', class: "popover-content" }, this.arrow && (index.h("span", { key: 'e77f16be0b3b0cdb02886ea928aa6986d3f477e3', "dynamic-placement": this.dynamicPlacement, class: "arrow", ref: el => {
|
|
4584
4583
|
this.arrowRef = el;
|
|
4585
|
-
} })), index.h("slot", { key: '
|
|
4584
|
+
} })), index.h("slot", { key: 'e8737e5acec3a20d258d462a7d82278d303ba353' }))));
|
|
4586
4585
|
}
|
|
4587
4586
|
get host() { return index.getElement(this); }
|
|
4588
4587
|
static get watchers() { return {
|
|
@@ -4639,7 +4638,7 @@ const PostTogglebutton = class {
|
|
|
4639
4638
|
this.host.addEventListener('keydown', (e) => this.handleKeydown(e));
|
|
4640
4639
|
}
|
|
4641
4640
|
render() {
|
|
4642
|
-
return (index.h(index.Host, { key: '
|
|
4641
|
+
return (index.h(index.Host, { key: 'a526ab3b0ae14c93bb4e1a8dc6d3ded4ff1bf014', "data-version": _package.version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, index.h("slot", { key: 'e8a5bdd99d9270cfcf014306a8d7fe8a2b6b79ba' })));
|
|
4643
4642
|
}
|
|
4644
4643
|
get host() { return index.getElement(this); }
|
|
4645
4644
|
};
|
|
@@ -4648,10 +4647,8 @@ PostTogglebutton.style = postTogglebuttonCss;
|
|
|
4648
4647
|
exports.post_closebutton = PostClosebutton;
|
|
4649
4648
|
exports.post_header = PostHeader;
|
|
4650
4649
|
exports.post_icon = PostIcon;
|
|
4651
|
-
exports.
|
|
4652
|
-
exports.
|
|
4653
|
-
exports.post_list = PostList;
|
|
4654
|
-
exports.post_list_item = PostListItem;
|
|
4650
|
+
exports.post_language_menu = PostLanguageMenu;
|
|
4651
|
+
exports.post_language_menu_item = PostLanguageMenuItem;
|
|
4655
4652
|
exports.post_logo = PostLogo;
|
|
4656
4653
|
exports.post_mainnavigation = PostMainnavigation;
|
|
4657
4654
|
exports.post_megadropdown = PostMegadropdown;
|