@swisspost/design-system-components 10.0.0-next.39 → 10.0.0-next.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/breakpoints-DIH5Oaz7.js +186 -0
- package/dist/cjs/event-from-AKK8RQrn.js +107 -0
- package/dist/cjs/{get-root-8102fecd.js → get-root-DmyBVSJ_.js} +1 -1
- package/dist/cjs/{index-b60129c4.js → index-CRMt-jq2.js} +1172 -313
- package/dist/cjs/index.cjs.js +0 -72
- package/dist/cjs/loader.cjs.js +3 -6
- package/dist/cjs/{package-29dc73af.js → package-C2pR6Vs2.js} +1 -1
- package/dist/cjs/post-accordion_2.cjs.entry.js +183 -0
- package/dist/cjs/post-avatar.cjs.entry.js +151 -8
- package/dist/cjs/post-back-to-top.cjs.entry.js +86 -9
- package/dist/cjs/post-banner.cjs.entry.js +81 -9
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +62 -8
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +119 -7
- package/dist/cjs/post-card-control.cjs.entry.js +283 -8
- package/dist/cjs/post-closebutton_15.cjs.entry.js +4376 -30
- package/dist/cjs/post-collapsible_2.cjs.entry.js +196 -10
- package/dist/cjs/post-components.cjs.js +7 -8
- package/dist/cjs/post-footer.cjs.entry.js +59 -8
- package/dist/cjs/post-linkarea.cjs.entry.js +24 -6
- package/dist/cjs/post-popover.cjs.entry.js +151 -8
- package/dist/cjs/post-rating.cjs.entry.js +115 -8
- package/dist/cjs/post-tab-header.cjs.entry.js +26 -9
- package/dist/cjs/post-tab-panel.cjs.entry.js +28 -9
- package/dist/cjs/post-tabs.cjs.entry.js +165 -7
- package/dist/cjs/post-tag.cjs.entry.js +50 -8
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +5195 -7
- package/dist/cjs/post-tooltip.cjs.entry.js +78 -9
- package/dist/collection/collection-manifest.json +4 -4
- package/dist/collection/components/post-accordion/post-accordion.css +1 -1
- package/dist/collection/components/post-accordion/post-accordion.js +39 -23
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +26 -12
- package/dist/collection/components/post-avatar/post-avatar.js +12 -9
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +4 -3
- package/dist/collection/components/post-banner/post-banner.js +18 -9
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +4 -6
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +13 -9
- package/dist/collection/components/post-card-control/post-card-control.js +33 -16
- package/dist/collection/components/post-collapsible/post-collapsible.js +6 -1
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +21 -9
- package/dist/collection/components/post-footer/post-footer.css +1 -1
- package/dist/collection/components/post-footer/post-footer.js +35 -15
- package/dist/collection/components/post-header/post-header.css +1 -1
- package/dist/collection/components/post-header/post-header.js +28 -16
- package/dist/collection/components/post-icon/post-icon.js +66 -54
- package/dist/collection/components/post-language-option/post-language-option.css +1 -1
- package/dist/collection/components/post-language-option/post-language-option.js +17 -13
- package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
- package/dist/collection/components/post-language-switch/post-language-switch.js +43 -24
- package/dist/collection/components/post-linkarea/post-linkarea.js +1 -1
- package/dist/collection/components/post-list/post-list.js +13 -4
- package/dist/collection/components/post-list-item/post-list-item.js +1 -1
- package/dist/collection/components/post-logo/post-logo.js +4 -5
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +12 -6
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +34 -20
- package/dist/collection/components/post-menu/post-menu.css +1 -1
- package/dist/collection/components/post-menu/post-menu.js +43 -21
- package/dist/collection/components/post-menu-item/post-menu-item.css +1 -0
- package/dist/collection/components/post-menu-item/post-menu-item.js +11 -1
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +9 -5
- package/dist/collection/components/post-popover/post-popover.js +20 -6
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +44 -16
- package/dist/collection/components/post-rating/post-rating.js +26 -6
- package/dist/collection/components/post-tab-header/post-tab-header.js +4 -6
- package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -6
- package/dist/collection/components/post-tabs/post-tabs.js +4 -3
- package/dist/collection/components/post-tag/post-tag.js +11 -9
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +8 -3
- package/dist/collection/components/post-tooltip/post-tooltip.js +25 -7
- package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +20 -12
- package/dist/collection/index.js +1 -37
- package/dist/collection/utils/breakpoints.js +38 -45
- package/dist/collection/utils/event-from.js +103 -0
- package/dist/collection/utils/index.js +1 -1
- package/dist/components/index.js +2315 -37
- package/dist/components/p-1KLiMO0w.js +3 -0
- package/dist/components/p-8U5GFtQP.js +105 -0
- package/dist/components/{post-menu2.js → p-BLhBouGz.js} +51 -30
- package/dist/{esm/index-ffccd040.js → components/p-CV7fm1rW.js} +1 -1
- package/dist/components/{post-menu-trigger2.js → p-CaPj3whI.js} +14 -12
- package/dist/components/{post-breadcrumb-item2.js → p-Cpaqct04.js} +9 -11
- package/dist/components/p-CtNCtg2z.js +114 -0
- package/dist/components/p-Cx0AiN2A.js +182 -0
- package/{loaders/post-collapsible-trigger2.js → dist/components/p-D3LhzIrC.js} +25 -14
- package/dist/components/{get-root.js → p-DBHo9yGF.js} +1 -1
- package/dist/components/p-DQuPPEca.js +31 -0
- package/dist/components/{post-accordion2.js → p-DlEtlaNu.js} +42 -29
- package/dist/components/{post-collapsible2.js → p-DphlfQse.js} +11 -8
- package/dist/components/{post-popovercontainer2.js → p-elg4VvHg.js} +246 -278
- package/{loaders/post-icon2.js → dist/components/p-fmA57Ivd.js} +52 -54
- package/dist/components/post-accordion-item.js +1 -1
- package/dist/components/post-accordion.js +1 -1
- package/dist/components/post-avatar.js +183 -1
- package/dist/components/post-back-to-top.js +115 -1
- package/dist/components/post-banner.js +120 -1
- package/dist/components/post-breadcrumb-item.js +1 -1
- package/dist/components/post-breadcrumbs.js +182 -1
- package/dist/components/post-card-control.js +322 -1
- package/dist/components/post-closebutton.js +37 -1
- package/dist/components/post-collapsible-trigger.js +1 -1
- package/dist/components/post-collapsible.js +1 -1
- package/dist/components/post-footer.js +112 -1
- package/dist/components/post-header.js +273 -1
- package/dist/components/post-icon.js +1 -1
- package/dist/components/post-language-option.js +96 -1
- package/dist/components/post-language-switch.js +154 -1
- package/dist/components/post-linkarea.js +41 -1
- package/dist/components/post-list-item.js +34 -1
- package/dist/components/post-list.js +57 -1
- package/dist/components/post-logo.js +54 -1
- package/dist/components/post-mainnavigation.js +181 -1
- package/dist/components/post-megadropdown-trigger.js +132 -1
- package/dist/components/post-megadropdown.js +194 -1
- package/dist/components/post-menu-item.js +1 -1
- package/dist/components/post-menu-trigger.js +1 -1
- package/dist/components/post-menu.js +1 -1
- package/dist/components/post-popover.js +184 -1
- package/dist/components/post-popovercontainer.js +1 -1
- package/dist/components/post-rating.js +148 -1
- package/dist/components/post-tab-header.js +48 -1
- package/dist/components/post-tab-panel.js +50 -1
- package/dist/components/post-tabs.js +186 -1
- package/dist/components/post-tag.js +82 -1
- package/dist/components/post-togglebutton.js +52 -1
- package/dist/components/post-tooltip-trigger.js +5218 -1
- package/dist/components/post-tooltip.js +110 -1
- package/dist/docs.d.ts +8 -0
- package/dist/docs.json +426 -118
- package/dist/esm/breakpoints-DyVir0ex.js +182 -0
- package/dist/esm/event-from-8U5GFtQP.js +105 -0
- package/{loaders/get-root.js → dist/esm/get-root-D9QC9-TY.js} +1 -1
- package/{loaders/index2.js → dist/esm/index-BWC0gtGU.js} +1 -1
- package/dist/esm/{index-f4d19816.js → index-CVhzhVv0.js} +1169 -309
- package/dist/esm/index.js +1 -31
- package/dist/esm/loader.js +3 -4
- package/dist/esm/package-1KLiMO0w.js +3 -0
- package/dist/esm/post-accordion_2.entry.js +180 -0
- package/dist/esm/post-avatar.entry.js +154 -5
- package/dist/esm/post-back-to-top.entry.js +89 -6
- package/dist/esm/post-banner.entry.js +85 -7
- package/dist/esm/post-breadcrumb-item_2.entry.js +65 -5
- package/dist/esm/post-breadcrumbs.entry.js +123 -5
- package/dist/esm/post-card-control.entry.js +286 -5
- package/dist/esm/post-closebutton_15.entry.js +4362 -10
- package/dist/esm/post-collapsible_2.entry.js +199 -7
- package/dist/esm/post-components.js +5 -5
- package/dist/esm/post-footer.entry.js +62 -5
- package/dist/esm/post-linkarea.entry.js +27 -3
- package/dist/esm/post-popover.entry.js +155 -6
- package/dist/esm/post-rating.entry.js +118 -5
- package/dist/esm/post-tab-header.entry.js +29 -6
- package/dist/esm/post-tab-panel.entry.js +31 -6
- package/dist/esm/post-tabs.entry.js +169 -5
- package/dist/esm/post-tag.entry.js +53 -5
- package/dist/esm/post-tooltip-trigger.entry.js +5199 -5
- package/dist/esm/post-tooltip.entry.js +81 -6
- package/dist/post-components/index.esm.js +0 -1
- package/dist/post-components/p-0d08ab13.entry.js +1 -0
- package/dist/post-components/p-1KLiMO0w.js +1 -0
- package/dist/post-components/p-1e006e29.entry.js +1 -0
- package/dist/post-components/p-3a5bdb7f.entry.js +1 -0
- package/dist/post-components/p-4214b85e.entry.js +1 -0
- package/dist/post-components/p-50916d48.entry.js +1 -0
- package/dist/post-components/p-5f4126d8.entry.js +1 -0
- package/dist/post-components/p-62982420.entry.js +1 -0
- package/dist/post-components/p-78f4dd12.entry.js +1 -0
- package/dist/post-components/p-7a7d237b.entry.js +1 -0
- package/dist/post-components/p-80174475.entry.js +1 -0
- package/dist/post-components/p-8U5GFtQP.js +1 -0
- package/dist/post-components/p-8d5a4218.entry.js +1 -0
- package/dist/post-components/p-8e89ccc1.entry.js +1 -0
- package/dist/post-components/p-9003674b.entry.js +1 -0
- package/dist/post-components/p-925aee3d.entry.js +1 -0
- package/dist/post-components/p-9b446561.entry.js +1 -0
- package/dist/post-components/p-9ec29527.entry.js +1 -0
- package/dist/post-components/{p-b176309b.js → p-BWC0gtGU.js} +1 -1
- package/dist/post-components/{p-6b31a76a.js → p-Bkp2QDth.js} +1 -1
- package/dist/post-components/p-CVhzhVv0.js +2 -0
- package/dist/post-components/p-DyVir0ex.js +1 -0
- package/dist/post-components/p-ec764922.entry.js +1 -0
- package/dist/post-components/p-fa550b4a.entry.js +1 -0
- package/dist/post-components/p-fb46e260.entry.js +1 -0
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/components/post-footer/post-footer.d.ts +7 -3
- package/dist/types/components/post-header/post-header.d.ts +1 -0
- package/dist/types/components/post-icon/post-icon.d.ts +0 -4
- package/dist/types/components/post-language-switch/post-language-switch.d.ts +1 -0
- package/dist/types/components/post-tag/post-tag.d.ts +1 -1
- package/dist/types/components.d.ts +61 -1
- package/dist/types/index.d.ts +10 -37
- package/dist/types/stencil-public-runtime.d.ts +29 -1
- package/dist/types/utils/breakpoints.d.ts +12 -7
- package/dist/types/utils/event-from.d.ts +9 -0
- package/dist/types/utils/index.d.ts +1 -1
- package/hydrate/index.d.ts +273 -0
- package/hydrate/index.js +32002 -0
- package/hydrate/index.mjs +31994 -0
- package/hydrate/package.json +12 -0
- package/package.json +45 -17
- package/dist/cjs/app-globals-3a1e7e63.js +0 -5
- package/dist/cjs/breakpoints-cdf1b747.js +0 -59
- package/dist/cjs/event-guard-efabc84f.js +0 -47
- package/dist/cjs/heading-levels-608d432e.js +0 -5
- package/dist/cjs/post-accordion-c433c493.js +0 -105
- package/dist/cjs/post-accordion-item-8d5a301d.js +0 -64
- package/dist/cjs/post-accordion-item.cjs.entry.js +0 -16
- package/dist/cjs/post-accordion.cjs.entry.js +0 -15
- package/dist/cjs/post-avatar-421043df.js +0 -162
- package/dist/cjs/post-back-to-top-3cca3803.js +0 -93
- package/dist/cjs/post-banner-2e99c9d8.js +0 -87
- package/dist/cjs/post-breadcrumbs-1be50860.js +0 -126
- package/dist/cjs/post-card-control-0bfdad92.js +0 -290
- package/dist/cjs/post-collapsible-trigger-4180b218.js +0 -190
- package/dist/cjs/post-footer-92adffac.js +0 -48
- package/dist/cjs/post-linkarea-26c457b3.js +0 -30
- package/dist/cjs/post-menu-item-d0a53c84.js +0 -68
- package/dist/cjs/post-popover-36cead3d.js +0 -150
- package/dist/cjs/post-rating-f50a9939.js +0 -109
- package/dist/cjs/post-tab-header-f47508da.js +0 -34
- package/dist/cjs/post-tab-panel-7c51798b.js +0 -36
- package/dist/cjs/post-tabs-2debea01.js +0 -173
- package/dist/cjs/post-tag-ac62c57f.js +0 -60
- package/dist/cjs/post-togglebutton-43c46511.js +0 -4491
- package/dist/cjs/post-tooltip-b7dcfb44.js +0 -74
- package/dist/cjs/post-tooltip-trigger-904061b6.js +0 -4685
- package/dist/collection/utils/event-guard.js +0 -43
- package/dist/components/breakpoints.js +0 -56
- package/dist/components/event-guard.js +0 -45
- package/dist/components/index2.js +0 -88
- package/dist/components/package.js +0 -3
- package/dist/components/post-accordion-item2.js +0 -103
- package/dist/components/post-avatar2.js +0 -190
- package/dist/components/post-back-to-top2.js +0 -118
- package/dist/components/post-banner2.js +0 -121
- package/dist/components/post-breadcrumbs2.js +0 -184
- package/dist/components/post-card-control2.js +0 -325
- package/dist/components/post-closebutton2.js +0 -39
- package/dist/components/post-collapsible-trigger2.js +0 -125
- package/dist/components/post-footer2.js +0 -90
- package/dist/components/post-header2.js +0 -397
- package/dist/components/post-icon2.js +0 -156
- package/dist/components/post-language-option2.js +0 -102
- package/dist/components/post-language-switch2.js +0 -143
- package/dist/components/post-linkarea2.js +0 -43
- package/dist/components/post-list-item2.js +0 -36
- package/dist/components/post-list2.js +0 -54
- package/dist/components/post-logo2.js +0 -57
- package/dist/components/post-mainnavigation2.js +0 -183
- package/dist/components/post-megadropdown-trigger2.js +0 -121
- package/dist/components/post-megadropdown2.js +0 -190
- package/dist/components/post-menu-item2.js +0 -27
- package/dist/components/post-popover2.js +0 -178
- package/dist/components/post-rating2.js +0 -138
- package/dist/components/post-tab-header2.js +0 -52
- package/dist/components/post-tab-panel2.js +0 -54
- package/dist/components/post-tabs2.js +0 -189
- package/dist/components/post-tag2.js +0 -88
- package/dist/components/post-togglebutton2.js +0 -51
- package/dist/components/post-tooltip-trigger2.js +0 -4703
- package/dist/components/post-tooltip2.js +0 -102
- package/dist/esm/app-globals-0f993ce5.js +0 -3
- package/dist/esm/breakpoints-7812702e.js +0 -56
- package/dist/esm/event-guard-538ee077.js +0 -45
- package/dist/esm/get-root-1b1af46f.js +0 -15
- package/dist/esm/heading-levels-5b7b4349.js +0 -3
- package/dist/esm/package-8503eaa8.js +0 -3
- package/dist/esm/post-accordion-9365faca.js +0 -103
- package/dist/esm/post-accordion-item-2dc8e3b7.js +0 -62
- package/dist/esm/post-accordion-item.entry.js +0 -8
- package/dist/esm/post-accordion.entry.js +0 -7
- package/dist/esm/post-avatar-4f73dc4d.js +0 -160
- package/dist/esm/post-back-to-top-8f759d32.js +0 -91
- package/dist/esm/post-banner-ad979275.js +0 -85
- package/dist/esm/post-breadcrumbs-a20336c7.js +0 -124
- package/dist/esm/post-card-control-3c77e778.js +0 -288
- package/dist/esm/post-collapsible-trigger-5fd0e193.js +0 -187
- package/dist/esm/post-footer-3e117b5a.js +0 -46
- package/dist/esm/post-linkarea-16a14609.js +0 -28
- package/dist/esm/post-menu-item-b1604fe4.js +0 -65
- package/dist/esm/post-popover-49096648.js +0 -148
- package/dist/esm/post-rating-405bee8f.js +0 -107
- package/dist/esm/post-tab-header-b228c217.js +0 -32
- package/dist/esm/post-tab-panel-98110b64.js +0 -34
- package/dist/esm/post-tabs-44d9313c.js +0 -171
- package/dist/esm/post-tag-99cc9616.js +0 -58
- package/dist/esm/post-togglebutton-ea73e63f.js +0 -4475
- package/dist/esm/post-tooltip-78cd2988.js +0 -72
- package/dist/esm/post-tooltip-trigger-bdb21c45.js +0 -4683
- package/dist/post-components/p-0889c759.js +0 -1
- package/dist/post-components/p-09dd5aa4.js +0 -1
- package/dist/post-components/p-0f9322e5.js +0 -8
- package/dist/post-components/p-11572299.js +0 -1
- package/dist/post-components/p-19a83519.entry.js +0 -1
- package/dist/post-components/p-1afb3c43.entry.js +0 -1
- package/dist/post-components/p-214cd032.js +0 -1
- package/dist/post-components/p-21e5b028.js +0 -1
- package/dist/post-components/p-2320305b.js +0 -1
- package/dist/post-components/p-247a1668.js +0 -1
- package/dist/post-components/p-2523f97b.entry.js +0 -1
- package/dist/post-components/p-2bd3a436.js +0 -1
- package/dist/post-components/p-2ce8fbf5.js +0 -1
- package/dist/post-components/p-2f879f4e.entry.js +0 -1
- package/dist/post-components/p-33e26845.entry.js +0 -1
- package/dist/post-components/p-38b1c71e.entry.js +0 -1
- package/dist/post-components/p-38d59732.js +0 -1
- package/dist/post-components/p-3a67f1ff.js +0 -1
- package/dist/post-components/p-41450b6c.entry.js +0 -1
- package/dist/post-components/p-4c23ed05.entry.js +0 -1
- package/dist/post-components/p-57746c40.js +0 -1
- package/dist/post-components/p-6313d72e.entry.js +0 -1
- package/dist/post-components/p-64e0b0fc.js +0 -1
- package/dist/post-components/p-658a2e34.entry.js +0 -1
- package/dist/post-components/p-722ffaae.js +0 -1
- package/dist/post-components/p-746d3cd3.entry.js +0 -1
- package/dist/post-components/p-79a2dad0.entry.js +0 -1
- package/dist/post-components/p-7dd1807c.js +0 -1
- package/dist/post-components/p-817fbeaf.js +0 -1
- package/dist/post-components/p-85950200.js +0 -1
- package/dist/post-components/p-8ebecf22.entry.js +0 -1
- package/dist/post-components/p-8ed1cb53.entry.js +0 -1
- package/dist/post-components/p-91244b25.js +0 -1
- package/dist/post-components/p-91675004.js +0 -1
- package/dist/post-components/p-94ebc430.js +0 -1
- package/dist/post-components/p-95727a4f.entry.js +0 -1
- package/dist/post-components/p-9e461613.js +0 -2
- package/dist/post-components/p-a844da3a.entry.js +0 -1
- package/dist/post-components/p-af900651.js +0 -1
- package/dist/post-components/p-b373659e.entry.js +0 -1
- package/dist/post-components/p-b500b245.js +0 -1
- package/dist/post-components/p-bf182745.entry.js +0 -1
- package/dist/post-components/p-c9b6f9e7.entry.js +0 -1
- package/dist/post-components/p-cb7d8f67.entry.js +0 -1
- package/dist/post-components/p-e1255160.js +0 -1
- package/dist/post-components/p-e28eb73a.js +0 -1
- package/dist/types/popover-fn.d.ts +0 -11
- package/dist/types/utils/event-guard.d.ts +0 -4
- package/loader/package.json +0 -11
- package/loaders/breakpoints.js +0 -56
- package/loaders/event-guard.js +0 -45
- package/loaders/fade.js +0 -11
- package/loaders/get-focusable-children.js +0 -35
- package/loaders/heading-levels.js +0 -3
- package/loaders/index.browser.js +0 -14
- package/loaders/index.d.ts +0 -108
- package/loaders/index.js +0 -39
- package/loaders/long-press-event.js +0 -264
- package/loaders/package.js +0 -3
- package/loaders/post-accordion-item.d.ts +0 -11
- package/loaders/post-accordion-item.js +0 -6
- package/loaders/post-accordion-item2.js +0 -103
- package/loaders/post-accordion.d.ts +0 -11
- package/loaders/post-accordion.js +0 -129
- package/loaders/post-avatar.d.ts +0 -11
- package/loaders/post-avatar.js +0 -193
- package/loaders/post-back-to-top.d.ts +0 -11
- package/loaders/post-back-to-top.js +0 -121
- package/loaders/post-banner.d.ts +0 -11
- package/loaders/post-banner.js +0 -124
- package/loaders/post-breadcrumb-item.d.ts +0 -11
- package/loaders/post-breadcrumb-item.js +0 -6
- package/loaders/post-breadcrumb-item2.js +0 -82
- package/loaders/post-breadcrumbs.d.ts +0 -11
- package/loaders/post-breadcrumbs.js +0 -187
- package/loaders/post-card-control.d.ts +0 -11
- package/loaders/post-card-control.js +0 -328
- package/loaders/post-closebutton.d.ts +0 -11
- package/loaders/post-closebutton.js +0 -42
- package/loaders/post-collapsible-trigger.d.ts +0 -11
- package/loaders/post-collapsible-trigger.js +0 -6
- package/loaders/post-collapsible.d.ts +0 -11
- package/loaders/post-collapsible.js +0 -6
- package/loaders/post-collapsible2.js +0 -108
- package/loaders/post-footer.d.ts +0 -11
- package/loaders/post-footer.js +0 -93
- package/loaders/post-header.d.ts +0 -11
- package/loaders/post-header.js +0 -400
- package/loaders/post-icon.d.ts +0 -11
- package/loaders/post-icon.js +0 -6
- package/loaders/post-language-option.d.ts +0 -11
- package/loaders/post-language-option.js +0 -105
- package/loaders/post-language-switch.d.ts +0 -11
- package/loaders/post-language-switch.js +0 -146
- package/loaders/post-linkarea.d.ts +0 -11
- package/loaders/post-linkarea.js +0 -46
- package/loaders/post-list-item.d.ts +0 -11
- package/loaders/post-list-item.js +0 -39
- package/loaders/post-list.d.ts +0 -11
- package/loaders/post-list.js +0 -57
- package/loaders/post-logo.d.ts +0 -11
- package/loaders/post-logo.js +0 -60
- package/loaders/post-mainnavigation.d.ts +0 -11
- package/loaders/post-mainnavigation.js +0 -186
- package/loaders/post-megadropdown-trigger.d.ts +0 -11
- package/loaders/post-megadropdown-trigger.js +0 -124
- package/loaders/post-megadropdown.d.ts +0 -11
- package/loaders/post-megadropdown.js +0 -193
- package/loaders/post-menu-item.d.ts +0 -11
- package/loaders/post-menu-item.js +0 -6
- package/loaders/post-menu-item2.js +0 -27
- package/loaders/post-menu-trigger.d.ts +0 -11
- package/loaders/post-menu-trigger.js +0 -6
- package/loaders/post-menu-trigger2.js +0 -109
- package/loaders/post-menu.d.ts +0 -11
- package/loaders/post-menu.js +0 -6
- package/loaders/post-menu2.js +0 -202
- package/loaders/post-popover.d.ts +0 -11
- package/loaders/post-popover.js +0 -181
- package/loaders/post-popovercontainer.d.ts +0 -11
- package/loaders/post-popovercontainer.js +0 -6
- package/loaders/post-popovercontainer2.js +0 -3051
- package/loaders/post-rating.d.ts +0 -11
- package/loaders/post-rating.js +0 -141
- package/loaders/post-tab-header.d.ts +0 -11
- package/loaders/post-tab-header.js +0 -55
- package/loaders/post-tab-panel.d.ts +0 -11
- package/loaders/post-tab-panel.js +0 -57
- package/loaders/post-tabs.d.ts +0 -11
- package/loaders/post-tabs.js +0 -192
- package/loaders/post-tag.d.ts +0 -11
- package/loaders/post-tag.js +0 -91
- package/loaders/post-togglebutton.d.ts +0 -11
- package/loaders/post-togglebutton.js +0 -54
- package/loaders/post-tooltip-trigger.d.ts +0 -11
- package/loaders/post-tooltip-trigger.js +0 -4706
- package/loaders/post-tooltip.d.ts +0 -11
- package/loaders/post-tooltip.js +0 -105
- package/loaders/slide.js +0 -25
- package/loaders/switch-variants.js +0 -3
- /package/dist/cjs/{fade-72d5ef55.js → fade-nS5zzDQS.js} +0 -0
- /package/dist/cjs/{index-2b2b85e5.js → index-DtvYdwe1.js} +0 -0
- /package/dist/cjs/{index.browser-4af21c17.js → index.browser-Doj636JV.js} +0 -0
- /package/dist/cjs/{long-press-event-6e62d113.js → long-press-event-Q8jMUNXD.js} +0 -0
- /package/dist/cjs/{placement-b2bb6ec4.js → placement-qEFR9hmI.js} +0 -0
- /package/dist/cjs/{slide-cd1f09b3.js → slide-CbBL7A8w.js} +0 -0
- /package/dist/components/{index.browser.js → p-BLchVpF6.js} +0 -0
- /package/dist/components/{slide.js → p-BuLMaH5t.js} +0 -0
- /package/dist/components/{get-focusable-children.js → p-C35MCWIp.js} +0 -0
- /package/dist/components/{long-press-event.js → p-C_2k3G1c.js} +0 -0
- /package/dist/components/{switch-variants.js → p-DjIHLduJ.js} +0 -0
- /package/dist/components/{fade.js → p-SbIC4aZX.js} +0 -0
- /package/dist/components/{heading-levels.js → p-r4txK0AC.js} +0 -0
- /package/dist/esm/{fade-1f3cacf4.js → fade-SbIC4aZX.js} +0 -0
- /package/dist/esm/{index.browser-ff103197.js → index.browser-BLchVpF6.js} +0 -0
- /package/dist/esm/{long-press-event-04d24397.js → long-press-event-C_2k3G1c.js} +0 -0
- /package/dist/esm/{placement-8d56605d.js → placement-DRiVosES.js} +0 -0
- /package/dist/esm/{slide-cd2850ee.js → slide-BuLMaH5t.js} +0 -0
- /package/dist/post-components/{p-c65f32b0.js → p-BLchVpF6.js} +0 -0
- /package/dist/post-components/{p-9b052461.js → p-BuLMaH5t.js} +0 -0
- /package/dist/post-components/{p-8db32dab.js → p-C_2k3G1c.js} +0 -0
- /package/dist/post-components/{p-59a38c23.js → p-DRiVosES.js} +0 -0
- /package/dist/post-components/{p-64e3de38.js → p-SbIC4aZX.js} +0 -0
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import { v as version } from './package.js';
|
|
3
|
-
import { b as checkRequiredAndType } from './index2.js';
|
|
4
|
-
import { b as breakpoint } from './breakpoints.js';
|
|
5
|
-
import { d as defineCustomElement$4 } from './post-accordion-item2.js';
|
|
6
|
-
import { d as defineCustomElement$3 } from './post-collapsible2.js';
|
|
7
|
-
import { d as defineCustomElement$2 } from './post-collapsible-trigger2.js';
|
|
8
|
-
import { d as defineCustomElement$1 } from './post-icon2.js';
|
|
9
|
-
|
|
10
|
-
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)}";
|
|
11
|
-
const PostFooterStyle0 = postFooterCss;
|
|
12
|
-
|
|
13
|
-
const PostFooter = /*@__PURE__*/ proxyCustomElement(class PostFooter extends HTMLElement {
|
|
14
|
-
constructor() {
|
|
15
|
-
super();
|
|
16
|
-
this.__registerHost();
|
|
17
|
-
this.__attachShadow();
|
|
18
|
-
this.breakpointChange = (e) => {
|
|
19
|
-
this.isMobile = e.detail === 'mobile';
|
|
20
|
-
};
|
|
21
|
-
this.label = undefined;
|
|
22
|
-
this.isMobile = breakpoint.get('name') === 'mobile';
|
|
23
|
-
}
|
|
24
|
-
validateLabel() {
|
|
25
|
-
checkRequiredAndType(this, 'label', 'string');
|
|
26
|
-
}
|
|
27
|
-
componentWillLoad() {
|
|
28
|
-
this.validateLabel();
|
|
29
|
-
}
|
|
30
|
-
connectedCallback() {
|
|
31
|
-
window.addEventListener('postBreakpoint:name', this.breakpointChange);
|
|
32
|
-
}
|
|
33
|
-
disconnectedCallback() {
|
|
34
|
-
window.removeEventListener('postBreakpoint:name', this.breakpointChange);
|
|
35
|
-
}
|
|
36
|
-
renderAccordion() {
|
|
37
|
-
return (h("div", { class: "footer-grid" }, h("post-accorddion", { "heading-level": "3", multiple: true }, h("post-accordion-item", { collapsed: true }, h("span", { slot: "header" }, h("slot", { name: "grid-1-title" })), h("slot", { name: "grid-1" })), h("post-accordion-item", { collapsed: true }, h("span", { slot: "header" }, h("slot", { name: "grid-2-title" })), h("slot", { name: "grid-2" })), h("post-accordion-item", { collapsed: true }, h("span", { slot: "header" }, h("slot", { name: "grid-3-title" })), h("slot", { name: "grid-3" })), h("post-accordion-item", { collapsed: true }, h("span", { slot: "header" }, h("slot", { name: "grid-4-title" })), h("slot", { name: "grid-4" })))));
|
|
38
|
-
}
|
|
39
|
-
renderGrid() {
|
|
40
|
-
return (h("div", { class: "footer-grid" }, h("div", null, h("slot", { name: "grid-1" })), h("div", null, h("slot", { name: "grid-2" })), h("div", null, h("slot", { name: "grid-3" })), h("div", null, h("slot", { name: "grid-4" }))));
|
|
41
|
-
}
|
|
42
|
-
render() {
|
|
43
|
-
return (h(Host, { key: 'bc281bf0152baa3afd8c84cffabfa30ce1e45078', "data-version": version }, h("footer", { key: '601562fd03a55f5f6c70e562fcdbd71d33806472' }, h("h2", { key: 'e2af67c5474ea7daa0f3a2d4c6e77e474cb826be', class: "visually-hidden" }, this.label), h("div", { key: '516aaf268492edc20f360ffa6e65a6cfd523212a', class: "footer-container" }, this.isMobile ? this.renderAccordion() : this.renderGrid(), h("div", { key: '9d375ab468bc83f8618e8182f9b378eed3f2f871', class: "footer-column" }, h("div", { key: '64bf6a7bbe203e585a21744323bd9e64cee2ef4f', class: "footer-socialmedia" }, h("slot", { key: 'f8c4ab3652fdbfd48db9906ea9b0a45cd9b9f034', name: "socialmedia" })), h("div", { key: '891558211351676a8917657f69c7d51d0e8d147c', class: "footer-app" }, h("slot", { key: 'e94a1a3ab56e7aa61026efa6c011fc507906147d', name: "app" }))), h("div", { key: 'dd1d69c520d0f56882c04294695dd300ed5b77a9', class: "footer-businesssectors" }, h("slot", { key: 'f2b5e4a217263815aac8ea44b30ea05081cfce53', name: "businesssectors" })), h("div", { key: '53d5f33b34c3e4a2b3563f576a16206a63a77673', class: "footer-meta" }, h("slot", { key: 'd18780dd7543d4e50f833550fcd3976d98186e86', name: "meta" })), h("div", { key: '4e057e39bf528a931de27f70d86ee938599274d8', class: "footer-copyright" }, h("slot", { key: '0dd9926c1d7ca418260f973de6eda41726ab54c0', name: "copyright" }))))));
|
|
44
|
-
}
|
|
45
|
-
get host() { return this; }
|
|
46
|
-
static get watchers() { return {
|
|
47
|
-
"label": ["validateLabel"]
|
|
48
|
-
}; }
|
|
49
|
-
static get style() { return PostFooterStyle0; }
|
|
50
|
-
}, [1, "post-footer", {
|
|
51
|
-
"label": [1],
|
|
52
|
-
"isMobile": [32]
|
|
53
|
-
}, undefined, {
|
|
54
|
-
"label": ["validateLabel"]
|
|
55
|
-
}]);
|
|
56
|
-
function defineCustomElement() {
|
|
57
|
-
if (typeof customElements === "undefined") {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
const components = ["post-footer", "post-accordion-item", "post-collapsible", "post-collapsible-trigger", "post-icon"];
|
|
61
|
-
components.forEach(tagName => { switch (tagName) {
|
|
62
|
-
case "post-footer":
|
|
63
|
-
if (!customElements.get(tagName)) {
|
|
64
|
-
customElements.define(tagName, PostFooter);
|
|
65
|
-
}
|
|
66
|
-
break;
|
|
67
|
-
case "post-accordion-item":
|
|
68
|
-
if (!customElements.get(tagName)) {
|
|
69
|
-
defineCustomElement$4();
|
|
70
|
-
}
|
|
71
|
-
break;
|
|
72
|
-
case "post-collapsible":
|
|
73
|
-
if (!customElements.get(tagName)) {
|
|
74
|
-
defineCustomElement$3();
|
|
75
|
-
}
|
|
76
|
-
break;
|
|
77
|
-
case "post-collapsible-trigger":
|
|
78
|
-
if (!customElements.get(tagName)) {
|
|
79
|
-
defineCustomElement$2();
|
|
80
|
-
}
|
|
81
|
-
break;
|
|
82
|
-
case "post-icon":
|
|
83
|
-
if (!customElements.get(tagName)) {
|
|
84
|
-
defineCustomElement$1();
|
|
85
|
-
}
|
|
86
|
-
break;
|
|
87
|
-
} });
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export { PostFooter as P, defineCustomElement as d };
|
|
@@ -1,397 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import { v as version } from './package.js';
|
|
3
|
-
import { b as breakpoint } from './breakpoints.js';
|
|
4
|
-
import { a as slideUp, s as slideDown } from './slide.js';
|
|
5
|
-
import { g as getFocusableChildren } from './get-focusable-children.js';
|
|
6
|
-
import { e as eventGuard } from './event-guard.js';
|
|
7
|
-
|
|
8
|
-
/* eslint-disable no-undefined,no-param-reassign,no-shadow */
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Throttle execution of a function. Especially useful for rate limiting
|
|
12
|
-
* execution of handlers on events like resize and scroll.
|
|
13
|
-
*
|
|
14
|
-
* @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)
|
|
15
|
-
* are most useful.
|
|
16
|
-
* @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,
|
|
17
|
-
* as-is, to `callback` when the throttled-function is executed.
|
|
18
|
-
* @param {object} [options] - An object to configure options.
|
|
19
|
-
* @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds
|
|
20
|
-
* while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed
|
|
21
|
-
* one final time after the last throttled-function call. (After the throttled-function has not been called for
|
|
22
|
-
* `delay` milliseconds, the internal counter is reset).
|
|
23
|
-
* @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback
|
|
24
|
-
* immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that
|
|
25
|
-
* callback will never executed if both noLeading = true and noTrailing = true.
|
|
26
|
-
* @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is
|
|
27
|
-
* false (at end), schedule `callback` to execute after `delay` ms.
|
|
28
|
-
*
|
|
29
|
-
* @returns {Function} A new, throttled, function.
|
|
30
|
-
*/
|
|
31
|
-
function throttle (delay, callback, options) {
|
|
32
|
-
var _ref = options || {},
|
|
33
|
-
_ref$noTrailing = _ref.noTrailing,
|
|
34
|
-
noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,
|
|
35
|
-
_ref$noLeading = _ref.noLeading,
|
|
36
|
-
noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,
|
|
37
|
-
_ref$debounceMode = _ref.debounceMode,
|
|
38
|
-
debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;
|
|
39
|
-
/*
|
|
40
|
-
* After wrapper has stopped being called, this timeout ensures that
|
|
41
|
-
* `callback` is executed at the proper times in `throttle` and `end`
|
|
42
|
-
* debounce modes.
|
|
43
|
-
*/
|
|
44
|
-
var timeoutID;
|
|
45
|
-
var cancelled = false;
|
|
46
|
-
|
|
47
|
-
// Keep track of the last time `callback` was executed.
|
|
48
|
-
var lastExec = 0;
|
|
49
|
-
|
|
50
|
-
// Function to clear existing timeout
|
|
51
|
-
function clearExistingTimeout() {
|
|
52
|
-
if (timeoutID) {
|
|
53
|
-
clearTimeout(timeoutID);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Function to cancel next exec
|
|
58
|
-
function cancel(options) {
|
|
59
|
-
var _ref2 = options || {},
|
|
60
|
-
_ref2$upcomingOnly = _ref2.upcomingOnly,
|
|
61
|
-
upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;
|
|
62
|
-
clearExistingTimeout();
|
|
63
|
-
cancelled = !upcomingOnly;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/*
|
|
67
|
-
* The `wrapper` function encapsulates all of the throttling / debouncing
|
|
68
|
-
* functionality and when executed will limit the rate at which `callback`
|
|
69
|
-
* is executed.
|
|
70
|
-
*/
|
|
71
|
-
function wrapper() {
|
|
72
|
-
for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
73
|
-
arguments_[_key] = arguments[_key];
|
|
74
|
-
}
|
|
75
|
-
var self = this;
|
|
76
|
-
var elapsed = Date.now() - lastExec;
|
|
77
|
-
if (cancelled) {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// Execute `callback` and update the `lastExec` timestamp.
|
|
82
|
-
function exec() {
|
|
83
|
-
lastExec = Date.now();
|
|
84
|
-
callback.apply(self, arguments_);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/*
|
|
88
|
-
* If `debounceMode` is true (at begin) this is used to clear the flag
|
|
89
|
-
* to allow future `callback` executions.
|
|
90
|
-
*/
|
|
91
|
-
function clear() {
|
|
92
|
-
timeoutID = undefined;
|
|
93
|
-
}
|
|
94
|
-
if (!noLeading && debounceMode && !timeoutID) {
|
|
95
|
-
/*
|
|
96
|
-
* Since `wrapper` is being called for the first time and
|
|
97
|
-
* `debounceMode` is true (at begin), execute `callback`
|
|
98
|
-
* and noLeading != true.
|
|
99
|
-
*/
|
|
100
|
-
exec();
|
|
101
|
-
}
|
|
102
|
-
clearExistingTimeout();
|
|
103
|
-
if (debounceMode === undefined && elapsed > delay) {
|
|
104
|
-
if (noLeading) {
|
|
105
|
-
/*
|
|
106
|
-
* In throttle mode with noLeading, if `delay` time has
|
|
107
|
-
* been exceeded, update `lastExec` and schedule `callback`
|
|
108
|
-
* to execute after `delay` ms.
|
|
109
|
-
*/
|
|
110
|
-
lastExec = Date.now();
|
|
111
|
-
if (!noTrailing) {
|
|
112
|
-
timeoutID = setTimeout(debounceMode ? clear : exec, delay);
|
|
113
|
-
}
|
|
114
|
-
} else {
|
|
115
|
-
/*
|
|
116
|
-
* In throttle mode without noLeading, if `delay` time has been exceeded, execute
|
|
117
|
-
* `callback`.
|
|
118
|
-
*/
|
|
119
|
-
exec();
|
|
120
|
-
}
|
|
121
|
-
} else if (noTrailing !== true) {
|
|
122
|
-
/*
|
|
123
|
-
* In trailing throttle mode, since `delay` time has not been
|
|
124
|
-
* exceeded, schedule `callback` to execute `delay` ms after most
|
|
125
|
-
* recent execution.
|
|
126
|
-
*
|
|
127
|
-
* If `debounceMode` is true (at begin), schedule `clear` to execute
|
|
128
|
-
* after `delay` ms.
|
|
129
|
-
*
|
|
130
|
-
* If `debounceMode` is false (at end), schedule `callback` to
|
|
131
|
-
* execute after `delay` ms.
|
|
132
|
-
*/
|
|
133
|
-
timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
wrapper.cancel = cancel;
|
|
137
|
-
|
|
138
|
-
// Return the wrapper function.
|
|
139
|
-
return wrapper;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
const postHeaderCss = "*,::before,::after{box-sizing:border-box}:host{z-index:1020;position:relative;--post-global-header-top:calc( (var(--post-global-header-height) - var(--post-global-header-reduced-height)) * -1 );--post-local-header-top:calc( -1 * (var(--post-local-header-height) - var(--post-main-navigation-height)) + var(--post-global-header-reduced-height) );--post-logo-height:calc(var(--post-global-header-height) - var(--post-header-scroll-top, 0px));--post-global-controls-top:calc(min((var(--post-header-scroll-top) / 4), 20px) * -1)}: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-height);--post-logo-height:var(--post-global-header-height);--post-global-controls-top:0}@media screen and (max-width: 1023.98px){:host{position:fixed;inset:0;bottom:auto}}:host(:not(:has([slot=title]))) .local-header{padding-block-start:0}:host(:not(:has([slot=title]))) .local-sub{display:none}.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-height)}@media screen and (max-width: 1023.98px){.global-header{z-index:4;inset-block-start:0;position:relative}}@media screen and (min-width: 1024px){.global-header{z-index:5;padding-inline-end:12px;inset-block-start:var(--post-global-header-top);transition:inset-block-start .2s ease-in-out}}.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)}}.align-end{align-items:flex-end}.logo{flex:1 0 auto;height:var(--post-global-header-height);width:var(--post-global-header-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;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;min-height:var(--post-local-header-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;inset-block-start:var(--post-local-header-top);padding-block-start:18px;box-shadow:var(--post-device-elevation-300);transition:box-shadow .2s ease-in-out,inset-block-start .2s ease-in-out}}@media screen and (max-width: 1023.98px){.local-header{z-index:3;position:relative;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-sub{margin-inline-end:8px}@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{display:none;flex-direction:column;padding-block:16px 24px;padding-inline:32px}.navigation.extended ::slotted(post-mainnavigation),.navigation.extended .navigation-footer{display:flex}.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}::slotted(post-mainnavigation){gap:32px}.navigation-footer{background-color:#f0efed;gap:24px}}@media screen and (max-width: 599.98px){::slotted(post-mainnavigation),.navigation-footer{padding-inline:16px}}";
|
|
143
|
-
const PostHeaderStyle0 = postHeaderCss;
|
|
144
|
-
|
|
145
|
-
const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTMLElement {
|
|
146
|
-
get scrollParent() {
|
|
147
|
-
const frozenScrollParent = document.querySelector('[data-post-scroll-locked]');
|
|
148
|
-
if (frozenScrollParent)
|
|
149
|
-
return frozenScrollParent;
|
|
150
|
-
let element = this.host.parentElement;
|
|
151
|
-
while (element) {
|
|
152
|
-
const overflow = getComputedStyle(element).overflowY;
|
|
153
|
-
if (['auto', 'scroll'].includes(overflow)) {
|
|
154
|
-
return element;
|
|
155
|
-
}
|
|
156
|
-
element = element.parentElement;
|
|
157
|
-
}
|
|
158
|
-
return document.body;
|
|
159
|
-
}
|
|
160
|
-
lockBody(newValue, _oldValue, propName) {
|
|
161
|
-
const scrollParent = this.scrollParent;
|
|
162
|
-
const mobileMenuExtended = propName === 'mobileMenuExtended' ? newValue : this.mobileMenuExtended;
|
|
163
|
-
if (this.device !== 'desktop' && mobileMenuExtended) {
|
|
164
|
-
scrollParent.setAttribute('data-post-scroll-locked', '');
|
|
165
|
-
this.host.addEventListener('keydown', this.keyboardHandler);
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
scrollParent.removeAttribute('data-post-scroll-locked');
|
|
169
|
-
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
constructor() {
|
|
173
|
-
super();
|
|
174
|
-
this.__registerHost();
|
|
175
|
-
this.__attachShadow();
|
|
176
|
-
this.throttledResize = throttle(50, () => this.updateLocalHeaderHeight());
|
|
177
|
-
this.breakpointChange = (e) => {
|
|
178
|
-
this.device = e.detail;
|
|
179
|
-
this.switchLanguageSwitchMode();
|
|
180
|
-
if (this.device === 'desktop' && this.mobileMenuExtended) {
|
|
181
|
-
this.closeMobileMenu();
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
this.megadropdownStateHandler = (event) => {
|
|
185
|
-
eventGuard(this.host, event, {
|
|
186
|
-
targetLocalName: 'post-megadropdown',
|
|
187
|
-
delegatorSelector: 'post-header',
|
|
188
|
-
}, () => {
|
|
189
|
-
this.megadropdownOpen = event.detail.isVisible;
|
|
190
|
-
});
|
|
191
|
-
};
|
|
192
|
-
this.device = breakpoint.get('name');
|
|
193
|
-
this.mobileMenuExtended = false;
|
|
194
|
-
this.megadropdownOpen = false;
|
|
195
|
-
this.handleScrollEvent = this.handleScrollEvent.bind(this);
|
|
196
|
-
this.updateScrollParentHeight = this.updateScrollParentHeight.bind(this);
|
|
197
|
-
this.updateLocalHeaderHeight = this.updateLocalHeaderHeight.bind(this);
|
|
198
|
-
this.keyboardHandler = this.keyboardHandler.bind(this);
|
|
199
|
-
this.handleLinkClick = this.handleLinkClick.bind(this);
|
|
200
|
-
}
|
|
201
|
-
connectedCallback() {
|
|
202
|
-
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
203
|
-
window.addEventListener('scroll', this.handleScrollEvent, {
|
|
204
|
-
passive: true,
|
|
205
|
-
});
|
|
206
|
-
this.scrollParent.addEventListener('scroll', this.handleScrollEvent, {
|
|
207
|
-
passive: true,
|
|
208
|
-
});
|
|
209
|
-
document.addEventListener('postToggleMegadropdown', this.megadropdownStateHandler);
|
|
210
|
-
this.host.addEventListener('click', this.handleLinkClick);
|
|
211
|
-
window.addEventListener('postBreakpoint:name', this.breakpointChange);
|
|
212
|
-
this.switchLanguageSwitchMode();
|
|
213
|
-
this.updateLocalHeaderHeight();
|
|
214
|
-
this.handleScrollParentResize();
|
|
215
|
-
this.lockBody(false, this.mobileMenuExtended, 'mobileMenuExtended');
|
|
216
|
-
}
|
|
217
|
-
componentWillRender() {
|
|
218
|
-
this.handleScrollEvent();
|
|
219
|
-
}
|
|
220
|
-
componentDidRender() {
|
|
221
|
-
this.getFocusableElements();
|
|
222
|
-
this.handleLocalHeaderResize();
|
|
223
|
-
}
|
|
224
|
-
// Clean up possible side effects when post-header is disconnected
|
|
225
|
-
disconnectedCallback() {
|
|
226
|
-
const scrollParent = this.scrollParent;
|
|
227
|
-
window.removeEventListener('postBreakpoint:name', this.breakpointChange);
|
|
228
|
-
window.removeEventListener('resize', this.throttledResize);
|
|
229
|
-
window.removeEventListener('scroll', this.handleScrollEvent);
|
|
230
|
-
scrollParent.removeEventListener('scroll', this.handleScrollEvent);
|
|
231
|
-
document.removeEventListener('postToggleMegadropdown', this.megadropdownStateHandler);
|
|
232
|
-
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
233
|
-
this.host.removeEventListener('click', this.handleLinkClick);
|
|
234
|
-
if (this.scrollParentResizeObserver) {
|
|
235
|
-
this.scrollParentResizeObserver.disconnect();
|
|
236
|
-
this.scrollParentResizeObserver = null;
|
|
237
|
-
}
|
|
238
|
-
if (this.localHeaderResizeObserver) {
|
|
239
|
-
this.localHeaderResizeObserver.disconnect();
|
|
240
|
-
this.localHeaderResizeObserver = null;
|
|
241
|
-
}
|
|
242
|
-
this.mobileMenuExtended = false;
|
|
243
|
-
}
|
|
244
|
-
async closeMobileMenu() {
|
|
245
|
-
this.mobileMenuAnimation.finish();
|
|
246
|
-
const menuButton = this.getMenuButton();
|
|
247
|
-
if (menuButton) {
|
|
248
|
-
menuButton.toggled = false;
|
|
249
|
-
}
|
|
250
|
-
this.mobileMenuExtended = false;
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Toggles the mobile navigation.
|
|
254
|
-
*/
|
|
255
|
-
async toggleMobileMenu(force) {
|
|
256
|
-
if (this.device === 'desktop')
|
|
257
|
-
return;
|
|
258
|
-
this.mobileMenuAnimation = this.mobileMenuExtended
|
|
259
|
-
? slideUp(this.mobileMenu)
|
|
260
|
-
: slideDown(this.mobileMenu);
|
|
261
|
-
// Update the state of the toggle button
|
|
262
|
-
const menuButton = this.host.querySelector('post-togglebutton');
|
|
263
|
-
menuButton.toggled = force ?? !this.mobileMenuExtended;
|
|
264
|
-
// Toggle menu visibility before it slides down and after it slides back up
|
|
265
|
-
if (this.mobileMenuExtended)
|
|
266
|
-
await this.mobileMenuAnimation.finished;
|
|
267
|
-
this.mobileMenuExtended = force ?? !this.mobileMenuExtended;
|
|
268
|
-
if (this.mobileMenuExtended === false) {
|
|
269
|
-
Array.from(this.host.querySelectorAll('post-megadropdown')).forEach(dropdown => {
|
|
270
|
-
dropdown.hide(false, true);
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
// Get all the focusable elements in the post-header mobile menu
|
|
275
|
-
getFocusableElements() {
|
|
276
|
-
// Get elements in the correct order (different as the DOM order)
|
|
277
|
-
const focusableEls = [
|
|
278
|
-
...Array.from(this.host.querySelectorAll('.list-inline:not([slot="meta-navigation"]) > li')),
|
|
279
|
-
...Array.from(this.host.querySelectorAll('nav > post-list > div > post-list-item, post-mainnavigation > .back-button, post-megadropdown-trigger')),
|
|
280
|
-
...Array.from(this.host.querySelectorAll('.list-inline[slot="meta-navigation"] > li, post-language-option')),
|
|
281
|
-
];
|
|
282
|
-
// Add the main toggle menu button to the list of focusable children
|
|
283
|
-
const focusableChildren = [
|
|
284
|
-
this.host.querySelector('post-togglebutton'),
|
|
285
|
-
...focusableEls.flatMap(el => Array.from(getFocusableChildren(el))),
|
|
286
|
-
];
|
|
287
|
-
this.firstFocusableEl = focusableChildren[0];
|
|
288
|
-
this.lastFocusableEl = focusableChildren[focusableChildren.length - 1];
|
|
289
|
-
}
|
|
290
|
-
getMenuButton() {
|
|
291
|
-
return this.host.querySelector('post-togglebutton');
|
|
292
|
-
}
|
|
293
|
-
keyboardHandler(e) {
|
|
294
|
-
if (e.key === 'Tab' && this.mobileMenuExtended) {
|
|
295
|
-
if (e.shiftKey && document.activeElement === this.firstFocusableEl) {
|
|
296
|
-
// If back tab (Tab + Shift) and first element is focused, focus goes to the last element of the megadropdown
|
|
297
|
-
e.preventDefault();
|
|
298
|
-
this.lastFocusableEl.focus();
|
|
299
|
-
}
|
|
300
|
-
else if (!e.shiftKey && document.activeElement === this.lastFocusableEl) {
|
|
301
|
-
// If Tab and last element is focused, focus goes back to the first element of the megadropdown
|
|
302
|
-
e.preventDefault();
|
|
303
|
-
this.firstFocusableEl.focus();
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
handleScrollEvent() {
|
|
308
|
-
const scrollTop = this.scrollParent === document.body ? window.scrollY : this.scrollParent.scrollTop;
|
|
309
|
-
document.documentElement.style.setProperty('--post-header-scroll-top', `${scrollTop}px`);
|
|
310
|
-
}
|
|
311
|
-
updateLocalHeaderHeight() {
|
|
312
|
-
const localHeaderHeight = this.host.shadowRoot.querySelector('.local-header')?.clientHeight || 0;
|
|
313
|
-
document.documentElement.style.setProperty('--post-local-header-height', `${localHeaderHeight}px`);
|
|
314
|
-
}
|
|
315
|
-
updateScrollParentHeight() {
|
|
316
|
-
this.host.style.setProperty('--post-header-scroll-parent-height', `${this.scrollParent.clientHeight}px`);
|
|
317
|
-
}
|
|
318
|
-
handleLinkClick(event) {
|
|
319
|
-
const target = event.target;
|
|
320
|
-
const isLinkInMainNav = target.closest('post-mainnavigation a');
|
|
321
|
-
const isLinkInMegadropdown = target.closest('post-megadropdown a');
|
|
322
|
-
if (!isLinkInMainNav && !isLinkInMegadropdown) {
|
|
323
|
-
return;
|
|
324
|
-
}
|
|
325
|
-
if (this.mobileMenuExtended && (isLinkInMainNav || isLinkInMegadropdown)) {
|
|
326
|
-
this.toggleMobileMenu(false);
|
|
327
|
-
}
|
|
328
|
-
if (this.device === 'desktop' && isLinkInMegadropdown) {
|
|
329
|
-
const megadropdownLink = target.closest('post-megadropdown a');
|
|
330
|
-
if (megadropdownLink) {
|
|
331
|
-
target.closest('post-megadropdown').hide(true);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
handleScrollParentResize() {
|
|
336
|
-
if (this.scrollParent) {
|
|
337
|
-
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight);
|
|
338
|
-
this.scrollParentResizeObserver.observe(this.scrollParent);
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
handleLocalHeaderResize() {
|
|
342
|
-
const localHeader = this.host.shadowRoot.querySelector('.local-header');
|
|
343
|
-
if (localHeader && !this.localHeaderResizeObserver) {
|
|
344
|
-
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight);
|
|
345
|
-
this.localHeaderResizeObserver.observe(localHeader);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
switchLanguageSwitchMode() {
|
|
349
|
-
const variant = this.device === 'desktop' ? 'menu' : 'list';
|
|
350
|
-
Array.from(this.host.querySelectorAll('post-language-switch')).forEach(languageSwitch => {
|
|
351
|
-
languageSwitch?.setAttribute('variant', variant);
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
renderNavigation() {
|
|
355
|
-
const navigationClasses = ['navigation'];
|
|
356
|
-
const mobileMenuScrollTop = this.mobileMenu?.scrollTop ?? 0;
|
|
357
|
-
if (this.mobileMenuExtended) {
|
|
358
|
-
navigationClasses.push('extended');
|
|
359
|
-
}
|
|
360
|
-
if (this.megadropdownOpen) {
|
|
361
|
-
navigationClasses.push('megadropdown-open');
|
|
362
|
-
}
|
|
363
|
-
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("slot", { name: "post-mainnavigation" }), (this.device === 'mobile' || this.device === 'tablet') && (h("div", { class: "navigation-footer" }, h("slot", { name: "meta-navigation" }), h("slot", { name: "post-language-switch" }))))));
|
|
364
|
-
}
|
|
365
|
-
render() {
|
|
366
|
-
return (h(Host, { key: 'f48a0da1abf27c8e9ebaf069f56b12b9705ae8ba', "data-version": version }, h("div", { key: 'f427fe866ae03d01882f983953e316db8ce61b3f', class: "global-header" }, h("div", { key: '1681be355fa453dfe8c7f4e73d74dd52a7dc847c', class: "global-sub" }, h("div", { key: '985ee91b791c24947564ac8af001d7a1b3ef04cc', class: "logo" }, h("slot", { key: 'e961d5ad800836001ba735ab482e05fe722867ee', name: "post-logo" }))), h("div", { key: '353c38aa0dffa907d1dd55c889454ae373ab656b', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: '6c1d0b4b518bd35021cf45eceb764975a1f51248', name: "meta-navigation" }), h("slot", { key: 'b814a775d1f12ec1e49e720733e90718ee0d64d3', name: "global-controls" }), this.device === 'desktop' && h("slot", { key: 'dda35455f620e178e141aca1ea103e62fe8e7fee', name: "post-language-switch" }), h("div", { key: '3c5dfdc7168af7f659b6b9ef62ba01451b257282', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, h("slot", { key: '5b90487f039ac8fe5d8fe7c20ca2851e2c2abc45', name: "post-togglebutton" })))), h("div", { key: '7efcbd5e59afafd9fc3fbbe55961bc694c3eeb88', class: 'local-header ' + (this.mobileMenuExtended ? 'local-header-mobile-extended' : '') }, h("slot", { key: '128925f3547041b2f6890ad9dde7e0c598dbcc22', name: "title" }), h("div", { key: 'eaa2bb08500efd23e1593dee585fe7d743986d5d', class: "local-sub" }, h("slot", { key: 'ddf6eed8f5303976464899c31c7cb8aa378acd37', name: "local-controls" }), h("slot", { key: 'f64f7ba2b47c267c3a52b356a48bd990b4da42d7' })), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
|
|
367
|
-
}
|
|
368
|
-
get host() { return this; }
|
|
369
|
-
static get watchers() { return {
|
|
370
|
-
"device": ["lockBody"],
|
|
371
|
-
"mobileMenuExtended": ["lockBody"]
|
|
372
|
-
}; }
|
|
373
|
-
static get style() { return PostHeaderStyle0; }
|
|
374
|
-
}, [1, "post-header", {
|
|
375
|
-
"device": [32],
|
|
376
|
-
"mobileMenuExtended": [32],
|
|
377
|
-
"megadropdownOpen": [32],
|
|
378
|
-
"toggleMobileMenu": [64]
|
|
379
|
-
}, undefined, {
|
|
380
|
-
"device": ["lockBody"],
|
|
381
|
-
"mobileMenuExtended": ["lockBody"]
|
|
382
|
-
}]);
|
|
383
|
-
function defineCustomElement() {
|
|
384
|
-
if (typeof customElements === "undefined") {
|
|
385
|
-
return;
|
|
386
|
-
}
|
|
387
|
-
const components = ["post-header"];
|
|
388
|
-
components.forEach(tagName => { switch (tagName) {
|
|
389
|
-
case "post-header":
|
|
390
|
-
if (!customElements.get(tagName)) {
|
|
391
|
-
customElements.define(tagName, PostHeader);
|
|
392
|
-
}
|
|
393
|
-
break;
|
|
394
|
-
} });
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
export { PostHeader as P, defineCustomElement as d };
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import { I as IS_BROWSER } from './breakpoints.js';
|
|
3
|
-
import { a as checkEmptyOrOneOf, d as checkEmptyOrType, b as checkRequiredAndType } from './index2.js';
|
|
4
|
-
import { v as version } from './package.js';
|
|
5
|
-
|
|
6
|
-
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)}}";
|
|
7
|
-
const PostIconStyle0 = postIconCss;
|
|
8
|
-
|
|
9
|
-
const CDN_URL = `https://unpkg.com/@swisspost/design-system-icons@${version}/public/post-icons/`;
|
|
10
|
-
const ANIMATION_NAMES = [
|
|
11
|
-
'cylon',
|
|
12
|
-
'cylon-vertical',
|
|
13
|
-
'spin',
|
|
14
|
-
'spin-reverse',
|
|
15
|
-
'fade',
|
|
16
|
-
'throb',
|
|
17
|
-
];
|
|
18
|
-
const ANIMATION_KEYS = [...ANIMATION_NAMES];
|
|
19
|
-
const PostIcon = /*@__PURE__*/ proxyCustomElement(class PostIcon extends HTMLElement {
|
|
20
|
-
constructor() {
|
|
21
|
-
super();
|
|
22
|
-
this.__registerHost();
|
|
23
|
-
this.__attachShadow();
|
|
24
|
-
this.animation = undefined;
|
|
25
|
-
this.base = undefined;
|
|
26
|
-
this.flipH = false;
|
|
27
|
-
this.flipV = false;
|
|
28
|
-
this.name = undefined;
|
|
29
|
-
this.rotate = undefined;
|
|
30
|
-
this.scale = undefined;
|
|
31
|
-
}
|
|
32
|
-
validateAnimation() {
|
|
33
|
-
checkEmptyOrOneOf(this, 'animation', ANIMATION_KEYS);
|
|
34
|
-
}
|
|
35
|
-
validateBase() {
|
|
36
|
-
checkEmptyOrType(this, 'base', 'string');
|
|
37
|
-
}
|
|
38
|
-
validateName() {
|
|
39
|
-
checkRequiredAndType(this, 'name', 'string');
|
|
40
|
-
}
|
|
41
|
-
validateRotate() {
|
|
42
|
-
checkEmptyOrType(this, 'rotate', 'number');
|
|
43
|
-
}
|
|
44
|
-
validateScale() {
|
|
45
|
-
checkEmptyOrType(this, 'scale', 'number');
|
|
46
|
-
}
|
|
47
|
-
// Construct the icon url from different possible sources
|
|
48
|
-
getUrl() {
|
|
49
|
-
let url;
|
|
50
|
-
const file = `${this.name}.svg`;
|
|
51
|
-
// the first definition object which defines a domain, will be used to set the domain of the file url
|
|
52
|
-
// the first definition object which defines a slug, will be used to set the slug of the file url
|
|
53
|
-
const urlDefinitions = [this.getUrlDefinition(this.base, 'both')];
|
|
54
|
-
if (IS_BROWSER) {
|
|
55
|
-
urlDefinitions.push(this.getUrlDefinition(document.head
|
|
56
|
-
.querySelector('meta[name="design-system-settings"][data-post-icon-base]')
|
|
57
|
-
?.getAttribute('data-post-icon-base'), 'relative'));
|
|
58
|
-
urlDefinitions.push(this.getUrlDefinition(document.querySelector('base[href]')?.getAttribute('href'), 'both'));
|
|
59
|
-
}
|
|
60
|
-
// in case no definition defines a domain, a relative url is used to load the icon
|
|
61
|
-
const origin = urlDefinitions.find(d => d.definesDomain)?.url?.origin;
|
|
62
|
-
// in case no definition defines a slug either, the cdn url is used as a fallback
|
|
63
|
-
const slug = urlDefinitions.find(d => d.definesSlug)?.url?.pathname;
|
|
64
|
-
if (origin && slug) {
|
|
65
|
-
url = `${origin}${slug}${file}`;
|
|
66
|
-
}
|
|
67
|
-
else if (!origin && slug) {
|
|
68
|
-
url = `${slug}${file}`;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
url = `${CDN_URL}${file}`;
|
|
72
|
-
}
|
|
73
|
-
return url;
|
|
74
|
-
}
|
|
75
|
-
getUrlDefinition(url, allow) {
|
|
76
|
-
return {
|
|
77
|
-
url: this.getUrlObject(url),
|
|
78
|
-
definesDomain: allow !== 'relative' ? this.definesDomain(url) : false,
|
|
79
|
-
definesSlug: allow !== 'absolute' ? this.definesSlug(url) : false,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
getUrlObject(url) {
|
|
83
|
-
if (url) {
|
|
84
|
-
url = url?.endsWith('/') ? url : `${url}/`;
|
|
85
|
-
return new URL(url, 'https://url.base');
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
definesDomain(url) {
|
|
92
|
-
return url ? /^https?:\/\//.test(url) : false;
|
|
93
|
-
}
|
|
94
|
-
definesSlug(url) {
|
|
95
|
-
return Boolean(/^\/.+/.test(this.getUrlObject(url)?.pathname));
|
|
96
|
-
}
|
|
97
|
-
getStyles() {
|
|
98
|
-
const url = this.getUrl();
|
|
99
|
-
return Object.entries({
|
|
100
|
-
'-webkit-mask-image': `url(${url})`,
|
|
101
|
-
'mask-image': `url('${url}')`,
|
|
102
|
-
'transform': (this.scale && !isNaN(Number(this.scale)) ? 'scale(' + this.scale + ')' : '') +
|
|
103
|
-
(this.rotate && !isNaN(Number(this.rotate)) ? ' rotate(' + this.rotate + 'deg)' : ''),
|
|
104
|
-
})
|
|
105
|
-
.filter(([_key, value]) => value !== null)
|
|
106
|
-
.reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
|
|
107
|
-
}
|
|
108
|
-
componentDidLoad() {
|
|
109
|
-
this.validateBase();
|
|
110
|
-
this.validateName();
|
|
111
|
-
this.validateScale();
|
|
112
|
-
this.validateRotate();
|
|
113
|
-
this.validateAnimation();
|
|
114
|
-
}
|
|
115
|
-
render() {
|
|
116
|
-
return (h(Host, { key: 'bc29680e4693c5a18416de667c826c1d57075e15', "data-version": version }, h("span", { key: 'b49082668fa3a97bba5a2ffe791c51e9c56deb4e', style: this.getStyles() })));
|
|
117
|
-
}
|
|
118
|
-
get host() { return this; }
|
|
119
|
-
static get watchers() { return {
|
|
120
|
-
"animation": ["validateAnimation"],
|
|
121
|
-
"base": ["validateBase"],
|
|
122
|
-
"name": ["validateName"],
|
|
123
|
-
"rotate": ["validateRotate"],
|
|
124
|
-
"scale": ["validateScale"]
|
|
125
|
-
}; }
|
|
126
|
-
static get style() { return PostIconStyle0; }
|
|
127
|
-
}, [1, "post-icon", {
|
|
128
|
-
"animation": [1],
|
|
129
|
-
"base": [1],
|
|
130
|
-
"flipH": [4, "flip-h"],
|
|
131
|
-
"flipV": [4, "flip-v"],
|
|
132
|
-
"name": [513],
|
|
133
|
-
"rotate": [2],
|
|
134
|
-
"scale": [2]
|
|
135
|
-
}, undefined, {
|
|
136
|
-
"animation": ["validateAnimation"],
|
|
137
|
-
"base": ["validateBase"],
|
|
138
|
-
"name": ["validateName"],
|
|
139
|
-
"rotate": ["validateRotate"],
|
|
140
|
-
"scale": ["validateScale"]
|
|
141
|
-
}]);
|
|
142
|
-
function defineCustomElement() {
|
|
143
|
-
if (typeof customElements === "undefined") {
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
const components = ["post-icon"];
|
|
147
|
-
components.forEach(tagName => { switch (tagName) {
|
|
148
|
-
case "post-icon":
|
|
149
|
-
if (!customElements.get(tagName)) {
|
|
150
|
-
customElements.define(tagName, PostIcon);
|
|
151
|
-
}
|
|
152
|
-
break;
|
|
153
|
-
} });
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export { PostIcon as P, defineCustomElement as d };
|