@swisspost/design-system-components 10.0.0-next.47 → 10.0.0-next.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{event-from-AKK8RQrn.js → event-from-C6kpQwhw.js} +2 -2
- package/dist/cjs/index-CpDyH7Ww.js +4 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{package-wsZ6ig4j.js → package-CR0YynRY.js} +1 -1
- package/dist/cjs/post-accordion_2.cjs.entry.js +6 -6
- package/dist/cjs/post-avatar.cjs.entry.js +107 -80
- package/dist/cjs/post-back-to-top.cjs.entry.js +2 -2
- package/dist/cjs/post-banner.cjs.entry.js +3 -3
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +3 -3
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +4 -4
- package/dist/cjs/post-card-control.cjs.entry.js +4 -4
- package/dist/cjs/post-closebutton_15.cjs.entry.js +133 -74
- package/dist/cjs/post-collapsible_2.cjs.entry.js +4 -4
- package/dist/cjs/post-components.cjs.js +1 -1
- package/dist/cjs/post-footer.cjs.entry.js +3 -3
- package/dist/cjs/post-linkarea.cjs.entry.js +19 -8
- package/dist/cjs/post-popover.cjs.entry.js +3 -3
- package/dist/cjs/post-rating.cjs.entry.js +3 -3
- package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
- package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/post-tabs.cjs.entry.js +2 -2
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +2 -2
- package/dist/cjs/post-tooltip.cjs.entry.js +3 -3
- package/dist/collection/animations/pop-in.js +14 -0
- 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 +5 -5
- package/dist/collection/components/post-avatar/avatar-utils.js +16 -0
- package/dist/collection/components/post-avatar/post-avatar.css +1 -1
- package/dist/collection/components/post-avatar/post-avatar.js +119 -82
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +1 -1
- package/dist/collection/components/post-banner/post-banner.js +2 -2
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +2 -2
- package/dist/collection/components/post-card-control/post-card-control.css +1 -1
- package/dist/collection/components/post-card-control/post-card-control.js +2 -2
- package/dist/collection/components/post-closebutton/post-closebutton.js +1 -19
- package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +1 -1
- package/dist/collection/components/post-footer/post-footer.css +1 -1
- package/dist/collection/components/post-footer/post-footer.js +1 -1
- package/dist/collection/components/post-header/post-header.css +1 -1
- package/dist/collection/components/post-header/post-header.js +11 -2
- package/dist/collection/components/post-icon/post-icon.js +39 -33
- package/dist/collection/components/post-language-option/post-language-option.css +1 -1
- package/dist/collection/components/post-language-option/post-language-option.js +1 -2
- package/dist/collection/components/post-language-switch/post-language-switch.js +1 -2
- package/dist/collection/components/post-linkarea/post-linkarea.css +1 -1
- package/dist/collection/components/post-linkarea/post-linkarea.js +24 -6
- package/dist/collection/components/post-list/post-list.css +1 -1
- package/dist/collection/components/post-list/post-list.js +1 -1
- package/dist/collection/components/post-list-item/post-list-item.js +1 -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 +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +12 -2
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +1 -1
- package/dist/collection/components/post-menu/post-menu.css +1 -1
- package/dist/collection/components/post-menu/post-menu.js +41 -5
- 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-popover/post-popover.css +1 -1
- package/dist/collection/components/post-popover/post-popover.js +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +18 -7
- package/dist/collection/components/post-rating/post-rating.css +1 -1
- package/dist/collection/components/post-rating/post-rating.js +1 -1
- package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
- package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
- package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
- package/dist/collection/components/post-tabs/post-tabs.js +3 -3
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +2 -2
- package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +1 -1
- package/dist/collection/utils/event-from.js +2 -2
- package/dist/component-names.json +39 -0
- package/dist/{esm/event-from-8U5GFtQP.js → components/event-from.js} +2 -2
- package/dist/components/get-root.js +15 -0
- package/dist/components/index.d.ts +73 -0
- package/dist/components/index.js +36 -2315
- package/dist/components/package.js +3 -0
- package/dist/components/post-accordion-item.js +1 -1
- package/dist/components/post-accordion-item2.js +113 -0
- package/dist/components/post-accordion.js +1 -1
- package/dist/components/post-accordion2.js +138 -0
- package/dist/components/post-avatar.js +117 -88
- package/dist/components/post-back-to-top.js +7 -8
- package/dist/components/post-banner.js +10 -11
- package/dist/components/post-breadcrumb-item.js +1 -1
- package/dist/components/post-breadcrumb-item2.js +79 -0
- package/dist/components/post-breadcrumbs.js +16 -17
- package/dist/components/post-card-control.js +11 -12
- package/dist/components/post-closebutton.js +5 -7
- package/dist/components/post-collapsible-trigger.js +1 -1
- package/dist/components/post-collapsible-trigger2.js +135 -0
- package/dist/components/post-collapsible.js +1 -1
- package/dist/components/post-collapsible2.js +110 -0
- package/dist/components/post-footer.js +12 -13
- package/dist/components/post-header.js +18 -10
- package/dist/components/post-icon.js +1 -1
- package/dist/components/post-icon2.js +159 -0
- package/dist/components/post-language-option.js +10 -12
- package/dist/components/post-language-switch.js +13 -15
- package/dist/components/post-linkarea.js +24 -12
- package/dist/components/post-list-item.js +4 -5
- package/dist/components/post-list.js +6 -7
- package/dist/components/post-logo.js +6 -7
- package/dist/components/post-mainnavigation.js +6 -7
- package/dist/components/post-megadropdown-trigger.js +7 -8
- package/dist/components/post-megadropdown.js +20 -11
- package/dist/components/post-menu-item.js +1 -1
- package/dist/components/post-menu-item2.js +30 -0
- package/dist/components/post-menu-trigger.js +1 -1
- package/dist/components/post-menu-trigger2.js +110 -0
- package/dist/components/post-menu.js +1 -1
- package/dist/components/post-menu2.js +237 -0
- package/dist/components/post-popover.js +8 -9
- package/dist/components/post-popovercontainer.js +1 -1
- package/dist/components/post-popovercontainer2.js +3043 -0
- package/dist/components/post-rating.js +10 -11
- package/dist/components/post-tab-header.js +8 -9
- package/dist/components/post-tab-panel.js +7 -8
- package/dist/components/post-tabs.js +7 -8
- package/dist/components/post-togglebutton.js +4 -5
- package/dist/components/post-tooltip-trigger.js +7 -8
- package/dist/components/post-tooltip.js +8 -9
- package/dist/components/react/index.d.ts +33 -0
- package/dist/components/react/index.js +2315 -0
- package/dist/components/{p-Cxrx7SXz.js → react/p-Amg0f2Yo.js} +40 -34
- package/dist/components/{p-C0H2ohSv.js → react/p-B6vPT8S3.js} +3 -3
- package/dist/components/{p-336Lbkey.js → react/p-BDs0pvkX.js} +2 -2
- package/dist/components/react/p-BLchVpF6.js +14 -0
- package/dist/components/{p-BM8mtEfS.js → react/p-BMdFdJWl.js} +2 -2
- package/dist/components/{p-DP5pj8mq.js → react/p-BS0ZqwA-.js} +31 -6
- package/dist/components/react/p-C35MCWIp.js +35 -0
- package/dist/components/react/p-CJ80BZ06.js +178 -0
- package/dist/{esm/index-BWC0gtGU.js → components/react/p-CV7fm1rW.js} +1 -1
- package/dist/components/react/p-C_2k3G1c.js +264 -0
- package/dist/components/{p-DVGX_JCp.js → react/p-D1oOccKr.js} +3 -3
- package/dist/components/{p-pHxypsHK.js → react/p-D50E7y6E.js} +24 -9
- package/dist/components/react/p-DO48NanC.js +3 -0
- package/dist/components/{p-i0-mizzM.js → react/p-DOo9tmN-.js} +2 -2
- package/dist/components/{p-DEi5TIMq.js → react/p-Do9awHW7.js} +3 -3
- package/dist/components/react/p-SbIC4aZX.js +11 -0
- package/dist/components/{p-8U5GFtQP.js → react/p-kraHE1r3.js} +2 -2
- package/dist/components/react/p-r4txK0AC.js +3 -0
- package/dist/components/{p-BSvy4uym.js → react/p-xelWyg_P.js} +8 -8
- package/dist/components/react/post-accordion-item.d.ts +11 -0
- package/dist/components/react/post-accordion-item.js +6 -0
- package/dist/components/react/post-accordion.d.ts +11 -0
- package/dist/components/react/post-accordion.js +6 -0
- package/dist/components/react/post-avatar.d.ts +11 -0
- package/dist/components/react/post-avatar.js +218 -0
- package/dist/components/react/post-back-to-top.d.ts +11 -0
- package/dist/components/react/post-back-to-top.js +145 -0
- package/dist/components/react/post-banner.d.ts +11 -0
- package/dist/components/react/post-banner.js +99 -0
- package/dist/components/react/post-breadcrumb-item.d.ts +11 -0
- package/dist/components/react/post-breadcrumb-item.js +6 -0
- package/dist/components/react/post-breadcrumbs.d.ts +11 -0
- package/dist/components/react/post-breadcrumbs.js +187 -0
- package/dist/components/react/post-card-control.d.ts +11 -0
- package/dist/components/react/post-card-control.js +327 -0
- package/dist/components/react/post-closebutton.d.ts +11 -0
- package/dist/components/react/post-closebutton.js +50 -0
- package/dist/components/react/post-collapsible-trigger.d.ts +11 -0
- package/dist/components/react/post-collapsible-trigger.js +6 -0
- package/dist/components/react/post-collapsible.d.ts +11 -0
- package/dist/components/react/post-collapsible.js +6 -0
- package/dist/components/react/post-footer.d.ts +11 -0
- package/dist/components/react/post-footer.js +117 -0
- package/dist/components/react/post-header.d.ts +11 -0
- package/dist/components/react/post-header.js +342 -0
- package/dist/components/react/post-icon.d.ts +11 -0
- package/dist/components/react/post-icon.js +6 -0
- package/dist/components/react/post-language-option.d.ts +11 -0
- package/dist/components/react/post-language-option.js +100 -0
- package/dist/components/react/post-language-switch.d.ts +11 -0
- package/dist/components/react/post-language-switch.js +158 -0
- package/dist/components/react/post-linkarea.d.ts +11 -0
- package/dist/components/react/post-linkarea.js +59 -0
- package/dist/components/react/post-list-item.d.ts +11 -0
- package/dist/components/react/post-list-item.js +39 -0
- package/dist/components/react/post-list.d.ts +11 -0
- package/dist/components/react/post-list.js +62 -0
- package/dist/components/react/post-logo.d.ts +11 -0
- package/dist/components/react/post-logo.js +59 -0
- package/dist/components/react/post-mainnavigation.d.ts +11 -0
- package/dist/components/react/post-mainnavigation.js +181 -0
- package/dist/components/react/post-megadropdown-trigger.d.ts +11 -0
- package/dist/components/react/post-megadropdown-trigger.js +137 -0
- package/dist/components/react/post-megadropdown.d.ts +11 -0
- package/dist/components/react/post-megadropdown.js +207 -0
- package/dist/components/react/post-menu-item.d.ts +11 -0
- package/dist/components/react/post-menu-item.js +6 -0
- package/dist/components/react/post-menu-trigger.d.ts +11 -0
- package/dist/components/react/post-menu-trigger.js +6 -0
- package/dist/components/react/post-menu.d.ts +11 -0
- package/dist/components/react/post-menu.js +6 -0
- package/dist/components/react/post-popover.d.ts +11 -0
- package/dist/components/react/post-popover.js +189 -0
- package/dist/components/react/post-popovercontainer.d.ts +11 -0
- package/dist/components/react/post-popovercontainer.js +6 -0
- package/dist/components/react/post-rating.d.ts +11 -0
- package/dist/components/react/post-rating.js +153 -0
- package/dist/components/react/post-tab-header.d.ts +11 -0
- package/dist/components/react/post-tab-header.js +53 -0
- package/dist/components/react/post-tab-panel.d.ts +11 -0
- package/dist/components/react/post-tab-panel.js +55 -0
- package/dist/components/react/post-tabs.d.ts +11 -0
- package/dist/components/react/post-tabs.js +197 -0
- package/dist/components/react/post-togglebutton.d.ts +11 -0
- package/dist/components/react/post-togglebutton.js +57 -0
- package/dist/components/react/post-tooltip-trigger.d.ts +11 -0
- package/dist/components/react/post-tooltip-trigger.js +5223 -0
- package/dist/components/react/post-tooltip.d.ts +11 -0
- package/dist/components/react/post-tooltip.js +115 -0
- package/dist/components/switch-variants.js +3 -0
- package/dist/docs.json +71 -35
- package/dist/esm/event-from-kraHE1r3.js +105 -0
- package/dist/esm/index-C8a0ddDa.js +4 -4
- package/dist/esm/index-VmK3ABCB.js +88 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/package-DO48NanC.js +3 -0
- package/dist/esm/post-accordion_2.entry.js +7 -7
- package/dist/esm/post-avatar.entry.js +108 -81
- package/dist/esm/post-back-to-top.entry.js +3 -3
- package/dist/esm/post-banner.entry.js +4 -4
- package/dist/esm/post-breadcrumb-item_2.entry.js +4 -4
- package/dist/esm/post-breadcrumbs.entry.js +5 -5
- package/dist/esm/post-card-control.entry.js +5 -5
- package/dist/esm/post-closebutton_15.entry.js +135 -76
- package/dist/esm/post-collapsible_2.entry.js +5 -5
- package/dist/esm/post-components.js +1 -1
- package/dist/esm/post-footer.entry.js +4 -4
- package/dist/esm/post-linkarea.entry.js +19 -8
- package/dist/esm/post-popover.entry.js +4 -4
- package/dist/esm/post-rating.entry.js +4 -4
- package/dist/esm/post-tab-header.entry.js +4 -4
- package/dist/esm/post-tab-panel.entry.js +3 -3
- package/dist/esm/post-tabs.entry.js +2 -2
- package/dist/esm/post-tooltip-trigger.entry.js +3 -3
- package/dist/esm/post-tooltip.entry.js +4 -4
- package/dist/loader/cdn.js +1 -0
- package/dist/loader/index.cjs.js +1 -0
- package/{loader → dist/loader}/index.d.ts +1 -1
- package/dist/loader/index.es2017.js +1 -0
- package/{loader → dist/loader}/index.js +1 -1
- package/dist/post-components/p-01bc39c2.entry.js +1 -0
- package/dist/post-components/p-0dc1e940.entry.js +1 -0
- package/dist/post-components/p-16da91bc.entry.js +1 -0
- package/dist/post-components/p-26a04741.entry.js +1 -0
- package/dist/post-components/p-2f2f9b22.entry.js +1 -0
- package/dist/post-components/{p-45007aac.entry.js → p-33008981.entry.js} +1 -1
- package/dist/post-components/p-36358cd4.entry.js +1 -0
- package/dist/post-components/p-71c48d48.entry.js +1 -0
- package/dist/post-components/{p-e9802b56.entry.js → p-84395e1d.entry.js} +1 -1
- package/dist/post-components/p-848c10ac.entry.js +1 -0
- package/dist/post-components/{p-ab8017bb.entry.js → p-8d2e5814.entry.js} +1 -1
- package/dist/post-components/{p-a2fa5ce4.entry.js → p-9dbe6595.entry.js} +1 -1
- package/dist/post-components/p-DO48NanC.js +1 -0
- package/dist/post-components/{p-BWC0gtGU.js → p-VmK3ABCB.js} +1 -1
- package/dist/post-components/p-a982458f.entry.js +1 -0
- package/dist/post-components/{p-f67b616a.entry.js → p-b0aaa058.entry.js} +1 -1
- package/dist/post-components/{p-bbe02ba3.entry.js → p-bdeef760.entry.js} +1 -1
- package/dist/post-components/{p-2f698af4.entry.js → p-d221395c.entry.js} +1 -1
- package/dist/post-components/{p-57703aee.entry.js → p-e49aa78e.entry.js} +1 -1
- package/dist/post-components/p-eb405167.entry.js +1 -0
- package/dist/post-components/p-kraHE1r3.js +1 -0
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/animations/pop-in.d.ts +1 -0
- package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +3 -3
- package/dist/types/components/post-avatar/avatar-utils.d.ts +3 -0
- package/dist/types/components/post-avatar/post-avatar.d.ts +17 -13
- package/dist/types/components/post-closebutton/post-closebutton.d.ts +0 -6
- package/dist/types/components/post-header/post-header.d.ts +2 -0
- package/dist/types/components/post-icon/post-icon.d.ts +11 -0
- package/dist/types/components/post-linkarea/post-linkarea.d.ts +6 -0
- package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +2 -1
- package/dist/types/components/post-menu/post-menu.d.ts +7 -0
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +6 -2
- package/dist/types/components/post-tabs/post-tabs.d.ts +2 -2
- package/dist/types/components.d.ts +19 -22
- package/dist/types/utils/component-on-ready.d.ts +2 -2
- package/hydrate/index.js +308 -201
- package/hydrate/index.mjs +308 -201
- package/package.json +24 -12
- package/dist/components/p-Z01QMrov.js +0 -3
- package/dist/esm/package-Z01QMrov.js +0 -3
- package/dist/post-components/p-031f7489.entry.js +0 -1
- package/dist/post-components/p-1e6a068a.entry.js +0 -1
- package/dist/post-components/p-2ca196d6.entry.js +0 -1
- package/dist/post-components/p-3adbdda7.entry.js +0 -1
- package/dist/post-components/p-7b8ab026.entry.js +0 -1
- package/dist/post-components/p-8U5GFtQP.js +0 -1
- package/dist/post-components/p-9428231b.entry.js +0 -1
- package/dist/post-components/p-Z01QMrov.js +0 -1
- package/dist/post-components/p-ac73ab00.entry.js +0 -1
- package/dist/post-components/p-c1cf39cb.entry.js +0 -1
- package/dist/post-components/p-d0d92071.entry.js +0 -1
- package/dist/post-components/p-e96239c4.entry.js +0 -1
- package/dist/prebuild.js +0 -26
- package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/prebuild.d.ts +0 -1
- package/loader/cdn.js +0 -1
- package/loader/index.cjs.js +0 -1
- package/loader/index.es2017.js +0 -1
- /package/dist/components/{p-CJ80BZ06.js → breakpoints.js} +0 -0
- /package/dist/components/{p-SbIC4aZX.js → fade.js} +0 -0
- /package/dist/components/{p-C35MCWIp.js → get-focusable-children.js} +0 -0
- /package/dist/components/{p-r4txK0AC.js → heading-levels.js} +0 -0
- /package/dist/components/{p-BLchVpF6.js → index.browser.js} +0 -0
- /package/dist/components/{p-CV7fm1rW.js → index2.js} +0 -0
- /package/dist/components/{p-C_2k3G1c.js → long-press-event.js} +0 -0
- /package/dist/components/{p-CBFgkSgY.js → react/p-CBFgkSgY.js} +0 -0
- /package/dist/components/{p-DjIHLduJ.js → react/p-DjIHLduJ.js} +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, a as Host } from './index.js';
|
|
2
|
+
import { v as version } from './p-DO48NanC.js';
|
|
3
|
+
import { d as defineCustomElement$2 } from './p-Amg0f2Yo.js';
|
|
4
|
+
|
|
5
|
+
const postClosebuttonCss = ".btn-icon-close{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)}.btn-icon-close>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)}.btn-icon-close:not(:disabled):hover,.btn-icon-close.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){.btn-icon-close:not(:disabled):hover,.btn-icon-close.pretend-hover{color:HighlightText !important}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}";
|
|
6
|
+
|
|
7
|
+
const PostClosebutton$1 = /*@__PURE__*/ proxyCustomElement(class PostClosebutton extends H {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.__registerHost();
|
|
11
|
+
this.__attachShadow();
|
|
12
|
+
}
|
|
13
|
+
componentDidLoad() {
|
|
14
|
+
this.checkHiddenLabel();
|
|
15
|
+
}
|
|
16
|
+
checkHiddenLabel(slot = this.host.shadowRoot.querySelector('.visually-hidden slot')) {
|
|
17
|
+
if (slot.assignedNodes().length === 0) {
|
|
18
|
+
console.error(`The \`${this.host.localName}\` component requires content for accessibility.`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
return (h(Host, { key: 'ee54a84df2fbb214706f5f2eb527769b03846819', "data-version": version }, h("button", { key: '39ce661db0611bbe4387a32a9d7c91b1f5bc8b17', class: "btn btn-icon-close", type: "button" }, h("post-icon", { key: '26aced13eacfa369e82178e5551372700499e556', "aria-hidden": "true", name: "closex" }), h("span", { key: '01bcad725724a3ae95e79e25d58958eb4ee2ffa3', class: "visually-hidden" }, h("slot", { key: 'bd794bf53acbf2fbcf1855ce882bcd442d2a846f', onSlotchange: () => this.checkHiddenLabel() })))));
|
|
23
|
+
}
|
|
24
|
+
get host() { return this; }
|
|
25
|
+
static get style() { return postClosebuttonCss; }
|
|
26
|
+
}, [1, "post-closebutton"]);
|
|
27
|
+
function defineCustomElement$1() {
|
|
28
|
+
if (typeof customElements === "undefined") {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const components = ["post-closebutton", "post-icon"];
|
|
32
|
+
components.forEach(tagName => { switch (tagName) {
|
|
33
|
+
case "post-closebutton":
|
|
34
|
+
if (!customElements.get(tagName)) {
|
|
35
|
+
customElements.define(tagName, PostClosebutton$1);
|
|
36
|
+
}
|
|
37
|
+
break;
|
|
38
|
+
case "post-icon":
|
|
39
|
+
if (!customElements.get(tagName)) {
|
|
40
|
+
defineCustomElement$2();
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
43
|
+
} });
|
|
44
|
+
}
|
|
45
|
+
defineCustomElement$1();
|
|
46
|
+
|
|
47
|
+
const PostClosebutton = PostClosebutton$1;
|
|
48
|
+
const defineCustomElement = defineCustomElement$1;
|
|
49
|
+
|
|
50
|
+
export { PostClosebutton, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostCollapsibleTrigger extends Components.PostCollapsibleTrigger, HTMLElement {}
|
|
4
|
+
export const PostCollapsibleTrigger: {
|
|
5
|
+
prototype: PostCollapsibleTrigger;
|
|
6
|
+
new (): PostCollapsibleTrigger;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostCollapsible extends Components.PostCollapsible, HTMLElement {}
|
|
4
|
+
export const PostCollapsible: {
|
|
5
|
+
prototype: PostCollapsible;
|
|
6
|
+
new (): PostCollapsible;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostFooter extends Components.PostFooter, HTMLElement {}
|
|
4
|
+
export const PostFooter: {
|
|
5
|
+
prototype: PostFooter;
|
|
6
|
+
new (): PostFooter;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, a as Host } from './index.js';
|
|
2
|
+
import { v as version } from './p-DO48NanC.js';
|
|
3
|
+
import { c as checkRequiredAndType } from './p-CV7fm1rW.js';
|
|
4
|
+
import { b as breakpoint } from './p-CJ80BZ06.js';
|
|
5
|
+
import { d as defineCustomElement$6 } from './p-D1oOccKr.js';
|
|
6
|
+
import { d as defineCustomElement$5 } from './p-xelWyg_P.js';
|
|
7
|
+
import { d as defineCustomElement$4 } from './p-BMdFdJWl.js';
|
|
8
|
+
import { d as defineCustomElement$3 } from './p-B6vPT8S3.js';
|
|
9
|
+
import { d as defineCustomElement$2 } from './p-Amg0f2Yo.js';
|
|
10
|
+
|
|
11
|
+
const postFooterCss = ":host{display:block}footer{background-color:#fc0;--post-footer-container-padding-block:32px;--post-footer-container-padding-inline:16px;--post-footer-container-max-width:1200px;--post-footer-grid-template:auto / auto;--post-footer-grid-row-gap:0;--post-footer-grid-column-gap:0;--post-footer-grid-margin-block-end:24px;--post-footer-grid-padding-block-end:0;--post-footer-column-flex-direction:column;--post-footer-column-align-items:start;--post-footer-column-gap:0;--post-footer-post-list-flex-direction:column;--post-footer-post-list-gap:8px;--post-footer-post-list-align-items:start;--post-footer-socialmedia-margin-block-end:var(--post-footer-grid-margin-block-end);--post-footer-app-margin-block-end:var(--post-footer-grid-margin-block-end);--post-footer-businesssectors-margin-block-end:var(--post-footer-grid-margin-block-end);--post-footer-meta-margin-block-end:16px;--post-footer-meta-font-size:inherit;--post-footer-copyright-font-size:var(--post-footer-meta-font-size)}@media screen and (min-width: 600px){footer{--post-footer-container-padding-block:40px;--post-footer-grid-template:repeat(2, auto) / repeat(2, auto);--post-footer-grid-row-gap:32px;--post-footer-grid-column-gap:16px;--post-footer-grid-margin-block-end:32px;--post-footer-grid-padding-block-end:32px;--post-footer-post-list-flex-direction:row;--post-footer-post-list-gap:16px;--post-footer-post-list-align-items:center;--post-footer-meta-margin-block-end:8px}}@media screen and (min-width: 780px){footer{--post-footer-container-padding-inline:40px}}@media screen and (min-width: 1024px){footer{--post-footer-container-padding-block:56px;--post-footer-grid-template:auto / repeat(4, auto);--post-footer-grid-row-gap:0;--post-footer-grid-column-gap:24px;--post-footer-grid-margin-block-end:40px;--post-footer-column-flex-direction:row;--post-footer-column-align-items:center;--post-footer-column-gap:32px;--post-footer-post-list-gap:24px;--post-footer-businesssectors-margin-block-end:24px;--post-footer-meta-font-size:16px}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.footer-container{box-sizing:content-box;margin:0 auto;padding:var(--post-footer-container-padding-block) var(--post-footer-container-padding-inline);max-width:var(--post-footer-container-max-width)}.footer-grid{display:grid;grid-template:var(--post-footer-grid-template);row-gap:var(--post-footer-grid-row-gap);column-gap:var(--post-footer-grid-column-gap);margin-block-end:var(--post-footer-grid-margin-block-end);padding-block-end:var(--post-footer-grid-padding-block-end)}.footer-grid ::part(button),.footer-grid ::part(body){padding-inline:0}.footer-column{display:flex;flex-direction:var(--post-footer-column-flex-direction);flex-wrap:wrap;justify-content:space-between;align-items:var(--post-footer-column-align-items);column-gap:var(--post-footer-column-gap)}.footer-socialmedia ::slotted(post-list),.footer-app ::slotted(post-list),.footer-businesssectors ::slotted(post-list),.footer-meta ::slotted(post-list){display:flex !important;flex-direction:var(--post-footer-post-list-flex-direction) !important;gap:var(--post-footer-post-list-gap) !important;align-items:var(--post-footer-post-list-align-items) !important}.footer-socialmedia{margin-block-end:var(--post-footer-socialmedia-margin-block-end)}.footer-app{margin-block-end:var(--post-footer-app-margin-block-end)}.footer-businesssectors{margin-block-end:var(--post-footer-businesssectors-margin-block-end)}.footer-meta{margin-block-end:var(--post-footer-meta-margin-block-end);font-size:var(--post-footer-meta-font-size)}.footer-copyright{display:flex;flex-wrap:wrap;column-gap:.5rem;font-size:var(--post-footer-copyright-font-size)}.d-none{display:none}";
|
|
12
|
+
|
|
13
|
+
const GRID_SLOTS = ['grid-1', 'grid-2', 'grid-3', 'grid-4'];
|
|
14
|
+
const PostFooter$1 = /*@__PURE__*/ proxyCustomElement(class PostFooter extends H {
|
|
15
|
+
validateLabel() {
|
|
16
|
+
checkRequiredAndType(this, 'label', 'string');
|
|
17
|
+
}
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
this.__registerHost();
|
|
21
|
+
this.__attachShadow();
|
|
22
|
+
this.device = breakpoint.get('device');
|
|
23
|
+
this.gridSlotDisplayed = {};
|
|
24
|
+
this.breakpointChange = (e) => {
|
|
25
|
+
this.device = e.detail;
|
|
26
|
+
};
|
|
27
|
+
this.handleGridSlotChange = (...devices) => (e) => {
|
|
28
|
+
if (devices.includes(this.device) && e.target instanceof HTMLSlotElement) {
|
|
29
|
+
this.updateGridSlotDisplay(e.target.name, e.target.assignedElements().length > 0);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
this.handleGridSlotChange = this.handleGridSlotChange.bind(this);
|
|
33
|
+
}
|
|
34
|
+
connectedCallback() {
|
|
35
|
+
window.addEventListener('postBreakpoint:device', this.breakpointChange);
|
|
36
|
+
}
|
|
37
|
+
componentWillLoad() {
|
|
38
|
+
this.validateLabel();
|
|
39
|
+
// initialize grid visibility by checking the content of each slot
|
|
40
|
+
GRID_SLOTS.forEach(slotName => {
|
|
41
|
+
const assignedElements = this.host.querySelectorAll(`[slot="${slotName}"]`);
|
|
42
|
+
this.updateGridSlotDisplay(slotName, assignedElements.length > 0);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
disconnectedCallback() {
|
|
46
|
+
window.removeEventListener('postBreakpoint:device', this.breakpointChange);
|
|
47
|
+
}
|
|
48
|
+
updateGridSlotDisplay(slotName, hasContent) {
|
|
49
|
+
if (this.gridSlotDisplayed[slotName] !== hasContent) {
|
|
50
|
+
this.gridSlotDisplayed = { ...this.gridSlotDisplayed, [slotName]: hasContent };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
renderAccordion() {
|
|
54
|
+
return (h("post-accordion", { headingLevel: 3, multiple: true }, GRID_SLOTS.map(slotName => (h("post-accordion-item", { class: { 'd-none': !this.gridSlotDisplayed[slotName] }, collapsed: true }, h("span", { slot: "header" }, h("slot", { name: slotName + '-title' })), h("slot", { onSlotchange: this.handleGridSlotChange('mobile'), name: slotName }))))));
|
|
55
|
+
}
|
|
56
|
+
renderColumns() {
|
|
57
|
+
return GRID_SLOTS.map(slotName => (h("div", { class: { 'd-none': !this.gridSlotDisplayed[slotName] } }, h("slot", { onSlotchange: this.handleGridSlotChange('tablet', 'desktop'), name: slotName }))));
|
|
58
|
+
}
|
|
59
|
+
render() {
|
|
60
|
+
return (h(Host, { key: '36aa67b511dd3fdb9c0244b89f80c24feb86b3a6', "data-version": version, "data-color-scheme": "light" }, h("footer", { key: '0b4accb1d39734fda0b2ae7e602ae05618d1f6f8' }, h("h2", { key: '3b6147bb75772338192b17da5086e33d45f0cc4e', class: "visually-hidden" }, this.label), h("div", { key: '3ae237e599d226c8413bd785540f2706a61f130f', class: "footer-container" }, h("div", { key: 'c844467c43a718b117cc863beb75ac1ffccc7286', class: "footer-grid" }, this.device === 'mobile' ? this.renderAccordion() : this.renderColumns()), h("div", { key: 'ab0859972f61a8a0b28184654b0b8a7da5d6d199', class: "footer-column" }, h("div", { key: '9356dc60f36a614718b1e668aa6c8f988e611305', class: "footer-socialmedia" }, h("slot", { key: 'aeea4c639ae1b092a90816cebfc892e7ae9608ac', name: "socialmedia" })), h("div", { key: '6404adf8c76f4756c729c453a4f5285577973596', class: "footer-app" }, h("slot", { key: 'ebfbf7f1b5db296b1de165035156819043d2a329', name: "app" }))), h("div", { key: '38017619c9da0f5abd0b34e9406f94e239e54b99', class: "footer-businesssectors" }, h("slot", { key: '93f13e71cbd102074b6f2a55c369470f66b3ae8d', name: "businesssectors" })), h("div", { key: '88c077c96627d557a47d3136a65196b67fafc2c1', class: "footer-meta" }, h("slot", { key: '9c0f64a2f2d715d6b420938efa63c861415376bd', name: "meta" })), h("div", { key: '1dc3cdbe0cb628d7e688c15de5959758e8837489', class: "footer-copyright" }, h("slot", { key: 'b62fe042ac7b098747bb21605fed2fa6883dbb23', name: "copyright" }))))));
|
|
61
|
+
}
|
|
62
|
+
get host() { return this; }
|
|
63
|
+
static get watchers() { return {
|
|
64
|
+
"label": ["validateLabel"]
|
|
65
|
+
}; }
|
|
66
|
+
static get style() { return postFooterCss; }
|
|
67
|
+
}, [1, "post-footer", {
|
|
68
|
+
"label": [1],
|
|
69
|
+
"device": [32],
|
|
70
|
+
"gridSlotDisplayed": [32]
|
|
71
|
+
}, undefined, {
|
|
72
|
+
"label": ["validateLabel"]
|
|
73
|
+
}]);
|
|
74
|
+
function defineCustomElement$1() {
|
|
75
|
+
if (typeof customElements === "undefined") {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const components = ["post-footer", "post-accordion", "post-accordion-item", "post-collapsible", "post-collapsible-trigger", "post-icon"];
|
|
79
|
+
components.forEach(tagName => { switch (tagName) {
|
|
80
|
+
case "post-footer":
|
|
81
|
+
if (!customElements.get(tagName)) {
|
|
82
|
+
customElements.define(tagName, PostFooter$1);
|
|
83
|
+
}
|
|
84
|
+
break;
|
|
85
|
+
case "post-accordion":
|
|
86
|
+
if (!customElements.get(tagName)) {
|
|
87
|
+
defineCustomElement$6();
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
case "post-accordion-item":
|
|
91
|
+
if (!customElements.get(tagName)) {
|
|
92
|
+
defineCustomElement$5();
|
|
93
|
+
}
|
|
94
|
+
break;
|
|
95
|
+
case "post-collapsible":
|
|
96
|
+
if (!customElements.get(tagName)) {
|
|
97
|
+
defineCustomElement$4();
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
case "post-collapsible-trigger":
|
|
101
|
+
if (!customElements.get(tagName)) {
|
|
102
|
+
defineCustomElement$3();
|
|
103
|
+
}
|
|
104
|
+
break;
|
|
105
|
+
case "post-icon":
|
|
106
|
+
if (!customElements.get(tagName)) {
|
|
107
|
+
defineCustomElement$2();
|
|
108
|
+
}
|
|
109
|
+
break;
|
|
110
|
+
} });
|
|
111
|
+
}
|
|
112
|
+
defineCustomElement$1();
|
|
113
|
+
|
|
114
|
+
const PostFooter = PostFooter$1;
|
|
115
|
+
const defineCustomElement = defineCustomElement$1;
|
|
116
|
+
|
|
117
|
+
export { PostFooter, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostHeader extends Components.PostHeader, HTMLElement {}
|
|
4
|
+
export const PostHeader: {
|
|
5
|
+
prototype: PostHeader;
|
|
6
|
+
new (): PostHeader;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, a as Host } from './index.js';
|
|
2
|
+
import { t as throttle, b as breakpoint } from './p-CJ80BZ06.js';
|
|
3
|
+
import { v as version } from './p-DO48NanC.js';
|
|
4
|
+
import { g as getFocusableChildren } from './p-C35MCWIp.js';
|
|
5
|
+
import { E as EventFrom } from './p-kraHE1r3.js';
|
|
6
|
+
|
|
7
|
+
const easing = 'ease';
|
|
8
|
+
const duration = 500;
|
|
9
|
+
const fill = 'forwards';
|
|
10
|
+
function slideUp(el, translateSize = '-100%') {
|
|
11
|
+
return el.animate([
|
|
12
|
+
{ transform: 'translateY(0)' }, // Starting position (no translation)
|
|
13
|
+
{ transform: `translateY(${translateSize})` }, // End position
|
|
14
|
+
], {
|
|
15
|
+
duration: duration,
|
|
16
|
+
easing,
|
|
17
|
+
fill,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function slideDown(el, translateSize = '-100%') {
|
|
21
|
+
return el.animate([
|
|
22
|
+
{ transform: `translateY(${translateSize})` }, // Starting position (no translation)
|
|
23
|
+
{ transform: 'translateY(0)' }, // End position
|
|
24
|
+
], {
|
|
25
|
+
duration: duration,
|
|
26
|
+
easing,
|
|
27
|
+
fill,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const postHeaderCss = "*,::before,::after{box-sizing:border-box}:host{z-index:1020;position:relative;--post-logo-height:calc(var(--post-global-header-expanded-height) - var(--post-header-scroll-top, 0px));--post-global-header-top:calc( var(--post-global-header-reduced-height) - var(--post-global-header-expanded-height) );--post-local-header-top:calc( var(--post-global-header-reduced-height) + var(--post-local-header-reduced-height) - var(--post-local-header-expanded-height) );--post-global-controls-top:clamp( 1000 * var(--post-global-header-top), calc(-1 * min(var(--post-header-scroll-top, 0px) / 4, var(--post-global-header-reduced-height))), 0px )}@media screen and (min-width: 1024px){:host:has(.global-sub>*:not(.logo):focus-within),:host:has(.local-sub:focus-within){--post-global-header-top:0;--post-local-header-top:var(--post-global-header-expanded-height);--post-logo-height:var(--post-global-header-expanded-height);--post-global-controls-top:0}}.d-flex{display:flex}.space-between{justify-content:space-between}.global-header{background-color:#fc0;display:flex;justify-content:space-between;position:sticky;padding-inline:4px;height:var(--post-global-header-expanded-height)}@media screen and (max-width: 1023.98px){.global-header{z-index:4;inset-block-start:0}}@media screen and (min-width: 1024px){.global-header{z-index:5;padding-inline-end:8px;inset-block-start:var(--post-global-header-top);transition:inset-block-start .2s ease-in-out}}.global-header:has(+.local-header.no-navigation.no-title){box-shadow:var(--post-device-elevation-300)}.global-sub{display:flex;align-items:center;gap:24px}@media screen and (min-width: 1024px){.global-sub:not(:has(.logo)){position:relative;transition:inset-block-start .2s ease-in-out;inset-block-start:var(--post-global-controls-top)}.global-sub:not(:last-child):not(:first-child){flex-grow:1}}.align-end{align-items:flex-end}.logo{flex:1 0 auto;height:var(--post-global-header-expanded-height);width:var(--post-global-header-expanded-height);min-height:var(--post-global-header-reduced-height);align-self:flex-end}@media screen and (min-width: 1024px){.logo{transition:height .2 ease-in-out;height:var(--post-logo-height)}}::slotted(ul){margin-block:0 !important;list-style:none;display:flex;padding-inline-start:0;gap:1rem;flex-shrink:0 !important}.local-header{display:flex;position:sticky;inset-block-start:var(--post-local-header-top);flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;min-height:var(--post-local-header-expanded-min-height);background:#fff;transition:box-shadow .2s ease-in-out}.local-header::after{content:\"\";position:absolute;width:100%;height:1px;background-color:#e1e0dc;inset-block-end:-1px;z-index:1}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.local-header::after{background-color:Highlight}}@media screen and (min-width: 1024px){.local-header{z-index:3;box-shadow:var(--post-device-elevation-300);transition:box-shadow .2s ease-in-out,inset-block-start .2s ease-in-out}.local-header:not(.no-title){padding-block-start:18px}}@media screen and (max-width: 1023.98px){.local-header{z-index:3;padding-block:8px;flex-wrap:wrap;gap:12px}.local-header.local-header-mobile-extended::after{inset-block-end:0}.local-header:not(.local-header-mobile-extended){box-shadow:var(--post-device-elevation-300)}}.local-header.no-navigation{padding-block:0}.local-header.no-navigation .navigation{display:none}.local-header.no-navigation.no-title{display:none}.local-sub{margin-inline-end:16px}@media screen and (max-width: 1023.98px){.local-sub{margin-inline-end:4px}}::slotted(.list-inline){margin:0 !important;z-index:3 !important;position:relative !important}@media screen and (min-width: 1024px){.mobile-toggle{display:none}}.navigation{width:100%}@media screen and (min-width: 1024px){.navigation{inset-block-start:var(--post-global-header-reduced-height)}.navigation::before{display:block;content:\"\";position:absolute;inset:0;z-index:2;background:#fff}}@media screen and (max-width: 1023.98px){.navigation{position:sticky;z-index:2;inset-inline:0;inset-block-start:var(--post-header-height)}.mobile-menu{background-color:#fafafa}::slotted(post-mainnavigation),.navigation-footer{padding-block:16px 24px;padding-inline:40px}::slotted(post-mainnavigation),.navigation-footer,.navigation-target-group{display:none;flex-direction:column}.navigation.extended ::slotted(post-mainnavigation),.navigation.extended .navigation-footer,.navigation.extended .navigation-target-group{display:flex}::slotted(post-mainnavigation){padding-block:24px}.navigation.extended>div{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height))}.navigation.extended.megadropdown-open>div{overflow-y:hidden}.navigation.extended ::slotted(post-mainnavigation){flex-grow:1 !important}.navigation-footer{background-color:#f0efed;gap:24px}.navigation-footer ::slotted(post-language-switch){margin-top:16px}}@media screen and (max-width: 1023.98px)and (max-width: 599.98px){.navigation-footer{gap:16px}}@media screen and (max-width: 599.98px){::slotted(post-mainnavigation),.navigation-footer{padding-inline:16px}}";
|
|
32
|
+
|
|
33
|
+
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
34
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
35
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
36
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
37
|
+
else
|
|
38
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
39
|
+
if (d = decorators[i])
|
|
40
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
41
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
42
|
+
};
|
|
43
|
+
const PostHeader$1 = /*@__PURE__*/ proxyCustomElement(class PostHeader extends H {
|
|
44
|
+
get hasMobileMenu() {
|
|
45
|
+
return this.device !== 'desktop' && this.hasNavigation;
|
|
46
|
+
}
|
|
47
|
+
get scrollParent() {
|
|
48
|
+
const frozenScrollParent = document.querySelector('[data-post-scroll-locked]');
|
|
49
|
+
if (frozenScrollParent)
|
|
50
|
+
return frozenScrollParent;
|
|
51
|
+
let element = this.host.parentElement;
|
|
52
|
+
while (element) {
|
|
53
|
+
const overflow = getComputedStyle(element).overflowY;
|
|
54
|
+
if (['auto', 'scroll'].includes(overflow)) {
|
|
55
|
+
return element;
|
|
56
|
+
}
|
|
57
|
+
element = element.parentElement;
|
|
58
|
+
}
|
|
59
|
+
return document.body;
|
|
60
|
+
}
|
|
61
|
+
lockBody(newValue, _oldValue, propName) {
|
|
62
|
+
const scrollParent = this.scrollParent;
|
|
63
|
+
const mobileMenuExtended = propName === 'mobileMenuExtended' ? newValue : this.mobileMenuExtended;
|
|
64
|
+
if (this.device !== 'desktop' && mobileMenuExtended) {
|
|
65
|
+
scrollParent.setAttribute('data-post-scroll-locked', '');
|
|
66
|
+
this.host.addEventListener('keydown', this.keyboardHandler);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
scrollParent.removeAttribute('data-post-scroll-locked');
|
|
70
|
+
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
constructor() {
|
|
74
|
+
super();
|
|
75
|
+
this.__registerHost();
|
|
76
|
+
this.__attachShadow();
|
|
77
|
+
this.throttledResize = throttle(50, () => this.updateLocalHeaderHeight());
|
|
78
|
+
this.device = breakpoint.get('device');
|
|
79
|
+
this.hasNavigation = false;
|
|
80
|
+
this.hasTitle = false;
|
|
81
|
+
this.mobileMenuExtended = false;
|
|
82
|
+
this.megadropdownOpen = false;
|
|
83
|
+
this.breakpointChange = (e) => {
|
|
84
|
+
this.device = e.detail;
|
|
85
|
+
this.switchLanguageSwitchMode();
|
|
86
|
+
if (this.device === 'desktop' && this.mobileMenuExtended) {
|
|
87
|
+
this.closeMobileMenu();
|
|
88
|
+
}
|
|
89
|
+
if (this.device !== 'desktop') {
|
|
90
|
+
Array.from(this.host.querySelectorAll('post-megadropdown')).forEach(dropdown => {
|
|
91
|
+
dropdown.hide(false, true);
|
|
92
|
+
});
|
|
93
|
+
this.megadropdownOpen = false;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
this.megadropdownStateHandler = (event) => {
|
|
97
|
+
this.megadropdownOpen = event.detail.isVisible;
|
|
98
|
+
};
|
|
99
|
+
this.handleScrollEvent = this.handleScrollEvent.bind(this);
|
|
100
|
+
this.updateScrollParentHeight = this.updateScrollParentHeight.bind(this);
|
|
101
|
+
this.updateLocalHeaderHeight = this.updateLocalHeaderHeight.bind(this);
|
|
102
|
+
this.keyboardHandler = this.keyboardHandler.bind(this);
|
|
103
|
+
this.handleLinkClick = this.handleLinkClick.bind(this);
|
|
104
|
+
}
|
|
105
|
+
connectedCallback() {
|
|
106
|
+
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
107
|
+
window.addEventListener('scroll', this.handleScrollEvent, {
|
|
108
|
+
passive: true,
|
|
109
|
+
});
|
|
110
|
+
this.scrollParent.addEventListener('scroll', this.handleScrollEvent, {
|
|
111
|
+
passive: true,
|
|
112
|
+
});
|
|
113
|
+
document.addEventListener('postToggleMegadropdown', this.megadropdownStateHandler);
|
|
114
|
+
this.host.addEventListener('click', this.handleLinkClick);
|
|
115
|
+
window.addEventListener('postBreakpoint:device', this.breakpointChange);
|
|
116
|
+
this.checkNavigationExistence();
|
|
117
|
+
this.checkTitleExistence();
|
|
118
|
+
this.switchLanguageSwitchMode();
|
|
119
|
+
this.handleScrollParentResize();
|
|
120
|
+
this.lockBody(false, this.mobileMenuExtended, 'mobileMenuExtended');
|
|
121
|
+
}
|
|
122
|
+
componentWillRender() {
|
|
123
|
+
this.handleScrollEvent();
|
|
124
|
+
}
|
|
125
|
+
componentDidRender() {
|
|
126
|
+
this.getFocusableElements();
|
|
127
|
+
this.handleLocalHeaderResize();
|
|
128
|
+
}
|
|
129
|
+
componentDidLoad() {
|
|
130
|
+
this.updateLocalHeaderHeight();
|
|
131
|
+
}
|
|
132
|
+
// Clean up possible side effects when post-header is disconnected
|
|
133
|
+
disconnectedCallback() {
|
|
134
|
+
const scrollParent = this.scrollParent;
|
|
135
|
+
window.removeEventListener('postBreakpoint:device', this.breakpointChange);
|
|
136
|
+
window.removeEventListener('resize', this.throttledResize);
|
|
137
|
+
window.removeEventListener('scroll', this.handleScrollEvent);
|
|
138
|
+
scrollParent.removeEventListener('scroll', this.handleScrollEvent);
|
|
139
|
+
document.removeEventListener('postToggleMegadropdown', this.megadropdownStateHandler);
|
|
140
|
+
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
141
|
+
this.host.removeEventListener('click', this.handleLinkClick);
|
|
142
|
+
if (this.scrollParentResizeObserver) {
|
|
143
|
+
this.scrollParentResizeObserver.disconnect();
|
|
144
|
+
this.scrollParentResizeObserver = null;
|
|
145
|
+
}
|
|
146
|
+
if (this.localHeaderResizeObserver) {
|
|
147
|
+
this.localHeaderResizeObserver.disconnect();
|
|
148
|
+
this.localHeaderResizeObserver = null;
|
|
149
|
+
}
|
|
150
|
+
this.mobileMenuExtended = false;
|
|
151
|
+
}
|
|
152
|
+
checkNavigationExistence() {
|
|
153
|
+
this.hasNavigation = this.host.querySelectorAll('post-mainnavigation').length > 0;
|
|
154
|
+
}
|
|
155
|
+
checkTitleExistence() {
|
|
156
|
+
this.hasTitle = this.host.querySelectorAll('[slot="title"]').length > 0;
|
|
157
|
+
}
|
|
158
|
+
async closeMobileMenu() {
|
|
159
|
+
this.mobileMenuAnimation.finish();
|
|
160
|
+
const menuButton = this.getMenuButton();
|
|
161
|
+
if (menuButton) {
|
|
162
|
+
menuButton.toggled = false;
|
|
163
|
+
}
|
|
164
|
+
this.mobileMenuExtended = false;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Toggles the mobile navigation.
|
|
168
|
+
*/
|
|
169
|
+
async toggleMobileMenu(force) {
|
|
170
|
+
if (this.device === 'desktop')
|
|
171
|
+
return;
|
|
172
|
+
this.mobileMenuAnimation = this.mobileMenuExtended
|
|
173
|
+
? slideUp(this.mobileMenu)
|
|
174
|
+
: slideDown(this.mobileMenu);
|
|
175
|
+
// Update the state of the toggle button
|
|
176
|
+
const menuButton = this.host.querySelector('post-togglebutton');
|
|
177
|
+
menuButton.toggled = force ?? !this.mobileMenuExtended;
|
|
178
|
+
if (this.mobileMenuExtended) {
|
|
179
|
+
// Wait for the close animation to finish before hiding megadropdowns
|
|
180
|
+
await this.mobileMenuAnimation.finished;
|
|
181
|
+
this.mobileMenuExtended = force ?? !this.mobileMenuExtended;
|
|
182
|
+
if (this.mobileMenuExtended === false) {
|
|
183
|
+
this.closeAllMegadropdowns();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
this.mobileMenuExtended = force ?? !this.mobileMenuExtended;
|
|
188
|
+
// If opening, close any open megadropdowns immediately
|
|
189
|
+
if (this.megadropdownOpen) {
|
|
190
|
+
this.closeAllMegadropdowns();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// Get all the focusable elements in the post-header mobile menu
|
|
195
|
+
getFocusableElements() {
|
|
196
|
+
// Get elements in the correct order (different as the DOM order)
|
|
197
|
+
const focusableEls = [
|
|
198
|
+
...Array.from(this.host.querySelectorAll('.list-inline:not([slot="meta-navigation"]) > li')),
|
|
199
|
+
...Array.from(this.host.querySelectorAll('nav > post-list > div > post-list-item, post-megadropdown-trigger')),
|
|
200
|
+
...Array.from(this.host.querySelectorAll('.list-inline[slot="meta-navigation"] > li, post-language-option')),
|
|
201
|
+
];
|
|
202
|
+
// Add the main toggle menu button to the list of focusable children
|
|
203
|
+
const focusableChildren = [
|
|
204
|
+
this.host.querySelector('post-togglebutton'),
|
|
205
|
+
...focusableEls.flatMap(el => Array.from(getFocusableChildren(el))),
|
|
206
|
+
];
|
|
207
|
+
this.firstFocusableEl = focusableChildren[0];
|
|
208
|
+
this.lastFocusableEl = focusableChildren[focusableChildren.length - 1];
|
|
209
|
+
}
|
|
210
|
+
getMenuButton() {
|
|
211
|
+
return this.host.querySelector('post-togglebutton');
|
|
212
|
+
}
|
|
213
|
+
keyboardHandler(e) {
|
|
214
|
+
if (e.key === 'Tab' && this.mobileMenuExtended) {
|
|
215
|
+
if (e.shiftKey && document.activeElement === this.firstFocusableEl) {
|
|
216
|
+
// If back tab (Tab + Shift) and first element is focused, focus goes to the last element of the megadropdown
|
|
217
|
+
e.preventDefault();
|
|
218
|
+
this.lastFocusableEl.focus();
|
|
219
|
+
}
|
|
220
|
+
else if (!e.shiftKey && document.activeElement === this.lastFocusableEl) {
|
|
221
|
+
// If Tab and last element is focused, focus goes back to the first element of the megadropdown
|
|
222
|
+
e.preventDefault();
|
|
223
|
+
this.firstFocusableEl.focus();
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
closeAllMegadropdowns() {
|
|
228
|
+
Array.from(this.host.querySelectorAll('post-megadropdown')).forEach(dropdown => {
|
|
229
|
+
dropdown.hide(false, true);
|
|
230
|
+
});
|
|
231
|
+
this.megadropdownOpen = false;
|
|
232
|
+
}
|
|
233
|
+
handleScrollEvent() {
|
|
234
|
+
const scrollTop = this.scrollParent === document.body ? window.scrollY : this.scrollParent.scrollTop;
|
|
235
|
+
document.documentElement.style.setProperty('--post-header-scroll-top', `${scrollTop}px`);
|
|
236
|
+
}
|
|
237
|
+
updateLocalHeaderHeight() {
|
|
238
|
+
const localHeaderElement = this.host.shadowRoot.querySelector('.local-header');
|
|
239
|
+
if (localHeaderElement) {
|
|
240
|
+
document.documentElement.style.setProperty('--post-local-header-expanded-height', `${localHeaderElement.clientHeight}px`);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
updateScrollParentHeight() {
|
|
244
|
+
this.host.style.setProperty('--post-header-scroll-parent-height', `${this.scrollParent.clientHeight}px`);
|
|
245
|
+
}
|
|
246
|
+
handleLinkClick(event) {
|
|
247
|
+
const target = event.target;
|
|
248
|
+
const isLinkInMainNav = target.closest('post-mainnavigation a');
|
|
249
|
+
const isLinkInMegadropdown = target.closest('post-megadropdown a');
|
|
250
|
+
if (!isLinkInMainNav && !isLinkInMegadropdown) {
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
if (this.mobileMenuExtended && (isLinkInMainNav || isLinkInMegadropdown)) {
|
|
254
|
+
this.toggleMobileMenu(false);
|
|
255
|
+
}
|
|
256
|
+
if (this.device === 'desktop' && isLinkInMegadropdown) {
|
|
257
|
+
const megadropdownLink = target.closest('post-megadropdown a');
|
|
258
|
+
if (megadropdownLink) {
|
|
259
|
+
target.closest('post-megadropdown').hide(true);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
handleScrollParentResize() {
|
|
264
|
+
if (this.scrollParent) {
|
|
265
|
+
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight);
|
|
266
|
+
this.scrollParentResizeObserver.observe(this.scrollParent);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
handleLocalHeaderResize() {
|
|
270
|
+
const localHeader = this.host.shadowRoot.querySelector('.local-header');
|
|
271
|
+
if (localHeader && !this.localHeaderResizeObserver) {
|
|
272
|
+
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight);
|
|
273
|
+
this.localHeaderResizeObserver.observe(localHeader);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
switchLanguageSwitchMode() {
|
|
277
|
+
const variant = this.hasMobileMenu ? 'list' : 'menu';
|
|
278
|
+
Array.from(this.host.querySelectorAll('post-language-switch')).forEach(languageSwitch => {
|
|
279
|
+
languageSwitch?.setAttribute('variant', variant);
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
renderNavigation() {
|
|
283
|
+
const navigationClasses = ['navigation'];
|
|
284
|
+
const mobileMenuScrollTop = this.mobileMenu?.scrollTop ?? 0;
|
|
285
|
+
if (this.mobileMenuExtended) {
|
|
286
|
+
navigationClasses.push('extended');
|
|
287
|
+
}
|
|
288
|
+
if (this.megadropdownOpen) {
|
|
289
|
+
navigationClasses.push('megadropdown-open');
|
|
290
|
+
}
|
|
291
|
+
return (h("div", { class: navigationClasses.join(' '), style: { '--post-header-navigation-current-inset': `${mobileMenuScrollTop}px` } }, h("div", { class: "mobile-menu", ref: el => (this.mobileMenu = el) }, h("div", { class: "navigation-target-group" }, (this.device === 'mobile' || this.device === 'tablet') && (h("slot", { name: "target-group" }))), h("slot", { name: "post-mainnavigation", onSlotchange: () => this.checkNavigationExistence() }), (this.device === 'mobile' || this.device === 'tablet') && (h("div", { class: "navigation-footer" }, h("slot", { name: "meta-navigation" }), h("slot", { name: "post-language-switch" }))))));
|
|
292
|
+
}
|
|
293
|
+
render() {
|
|
294
|
+
const localHeaderClasses = ['local-header'];
|
|
295
|
+
if (this.mobileMenuExtended)
|
|
296
|
+
localHeaderClasses.push('local-header-mobile-extended');
|
|
297
|
+
if (this.device !== 'desktop' || !this.hasNavigation)
|
|
298
|
+
localHeaderClasses.push('no-navigation');
|
|
299
|
+
if (!this.hasTitle)
|
|
300
|
+
localHeaderClasses.push('no-title');
|
|
301
|
+
return (h(Host, { key: 'd327fc8735749f46cb8b38531a8514978f92c197', "data-version": version, "data-color-scheme": "light" }, h("div", { key: '07b7a4861cc11d55fce5d749a1d074d37900b48f', class: "global-header" }, h("div", { key: 'bb23cf58b62b53e273921bb0a27a2371983bc8a8', class: "global-sub" }, h("div", { key: '0028ff1ba8be25a238d944eaf25f9679b9e163c6', class: "logo" }, h("slot", { key: '98e0584188a391b99df904fbdf463606548859c7', name: "post-logo" }))), h("div", { key: '6da75517e0923191cc4d478a3f0c7e20d89b860d', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: 'bf5730915d734e9accb0e10bcd0d48ee99781930', name: "target-group" })), h("div", { key: '64f3eafd98d8c34248de4fb78619bb7f3147e5e9', class: "global-sub" }, !this.hasMobileMenu && (h("slot", { key: 'c3ad33a44bf25fede0afbea50937626142e69b6e', name: "meta-navigation" })), h("slot", { key: 'e85d50753a40958be785deebfe01ffbee91f120b', name: "global-controls" }), !this.hasMobileMenu && h("slot", { key: 'e423f47daa544cb7bd11ed54f0ecef93a50e6470', name: "post-language-switch" }), this.hasNavigation && (h("div", { key: '96be5d590fbee1986238e1b7b22a1e6928c1c97f', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, h("slot", { key: '4c9db8b0c416cbd2ffa4e1df6b05aea757bdc6a6', name: "post-togglebutton" }))))), h("div", { key: '43285a4032f7ae356145ce6fb62e3c9896ad8542', class: localHeaderClasses.join(' ') }, h("slot", { key: '74c2313baa4da4bf37d13189c07645374df684d1', name: "title", onSlotchange: () => this.checkTitleExistence() }), this.hasTitle &&
|
|
302
|
+
(h("div", { key: '414b5378922221715071a5d8cfc0b7920018a5b3', class: "local-sub" }, h("slot", { key: 'acb09003e517669a50405a04e5dafa983e78b5f2', name: "local-controls" }), h("slot", { key: '8e1043c4d2e25b6b9432a2ba1885d2128abb9f85' }))), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
|
|
303
|
+
}
|
|
304
|
+
get host() { return this; }
|
|
305
|
+
static get watchers() { return {
|
|
306
|
+
"device": ["lockBody"],
|
|
307
|
+
"mobileMenuExtended": ["lockBody"]
|
|
308
|
+
}; }
|
|
309
|
+
static get style() { return postHeaderCss; }
|
|
310
|
+
}, [1, "post-header", {
|
|
311
|
+
"device": [32],
|
|
312
|
+
"hasNavigation": [32],
|
|
313
|
+
"hasTitle": [32],
|
|
314
|
+
"mobileMenuExtended": [32],
|
|
315
|
+
"megadropdownOpen": [32],
|
|
316
|
+
"toggleMobileMenu": [64]
|
|
317
|
+
}, undefined, {
|
|
318
|
+
"device": ["lockBody"],
|
|
319
|
+
"mobileMenuExtended": ["lockBody"]
|
|
320
|
+
}]);
|
|
321
|
+
__decorate([
|
|
322
|
+
EventFrom('post-megadropdown')
|
|
323
|
+
], PostHeader$1.prototype, "megadropdownStateHandler", void 0);
|
|
324
|
+
function defineCustomElement$1() {
|
|
325
|
+
if (typeof customElements === "undefined") {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
const components = ["post-header"];
|
|
329
|
+
components.forEach(tagName => { switch (tagName) {
|
|
330
|
+
case "post-header":
|
|
331
|
+
if (!customElements.get(tagName)) {
|
|
332
|
+
customElements.define(tagName, PostHeader$1);
|
|
333
|
+
}
|
|
334
|
+
break;
|
|
335
|
+
} });
|
|
336
|
+
}
|
|
337
|
+
defineCustomElement$1();
|
|
338
|
+
|
|
339
|
+
const PostHeader = PostHeader$1;
|
|
340
|
+
const defineCustomElement = defineCustomElement$1;
|
|
341
|
+
|
|
342
|
+
export { PostHeader, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostIcon extends Components.PostIcon, HTMLElement {}
|
|
4
|
+
export const PostIcon: {
|
|
5
|
+
prototype: PostIcon;
|
|
6
|
+
new (): PostIcon;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostLanguageOption extends Components.PostLanguageOption, HTMLElement {}
|
|
4
|
+
export const PostLanguageOption: {
|
|
5
|
+
prototype: PostLanguageOption;
|
|
6
|
+
new (): PostLanguageOption;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|