@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,121 +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 './breakpoints.js';
|
|
5
|
-
import { e as eventGuard } from './event-guard.js';
|
|
6
|
-
|
|
7
|
-
const postMegadropdownTriggerCss = "post-megadropdown-trigger{width:100%;position:relative;z-index:3}@media screen and (max-width: 1023.98px){post-megadropdown-trigger{z-index:4}}";
|
|
8
|
-
const PostMegadropdownTriggerStyle0 = postMegadropdownTriggerCss;
|
|
9
|
-
|
|
10
|
-
const PostMegadropdownTrigger = /*@__PURE__*/ proxyCustomElement(class PostMegadropdownTrigger extends HTMLElement {
|
|
11
|
-
constructor() {
|
|
12
|
-
super();
|
|
13
|
-
this.__registerHost();
|
|
14
|
-
/**
|
|
15
|
-
* Reference to the slotted button within the trigger, if present.
|
|
16
|
-
* Used to manage click and key events for mega dropdown control.
|
|
17
|
-
*/
|
|
18
|
-
this.slottedButton = null;
|
|
19
|
-
/**
|
|
20
|
-
* Tracks whether this trigger's dropdown was expanded before a state change.
|
|
21
|
-
* Used to determine if this trigger should handle focus when its dropdown closes.
|
|
22
|
-
*/
|
|
23
|
-
this.wasExpanded = false;
|
|
24
|
-
this.handleKeyDown = (event) => {
|
|
25
|
-
if (event.key === 'Enter' || event.key === ' ') {
|
|
26
|
-
event.preventDefault();
|
|
27
|
-
this.handleToggle();
|
|
28
|
-
if (this.megadropdown && !this.ariaExpanded) {
|
|
29
|
-
setTimeout(() => this.megadropdown.focusFirst(), 100);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
this.handleToggleMegadropdown = (event) => {
|
|
34
|
-
eventGuard(this.host, event, { targetLocalName: 'post-megadropdown' }, () => {
|
|
35
|
-
if (event.target.id === this.for) {
|
|
36
|
-
this.ariaExpanded = event.detail.isVisible;
|
|
37
|
-
// Focus on the trigger parent of the dropdown after it's closed if the close button had been clicked
|
|
38
|
-
if (this.wasExpanded && !this.ariaExpanded && event.detail.focusParent) {
|
|
39
|
-
setTimeout(() => {
|
|
40
|
-
this.slottedButton?.focus();
|
|
41
|
-
}, 100);
|
|
42
|
-
}
|
|
43
|
-
this.wasExpanded = this.ariaExpanded;
|
|
44
|
-
if (this.slottedButton) {
|
|
45
|
-
this.slottedButton.setAttribute('aria-expanded', this.ariaExpanded.toString());
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
this.for = undefined;
|
|
51
|
-
this.ariaExpanded = false;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Watch for changes to the `for` property to validate its type and ensure it is a string.
|
|
55
|
-
* @param forValue - The new value of the `for` property.
|
|
56
|
-
*/
|
|
57
|
-
validateControlFor() {
|
|
58
|
-
checkRequiredAndType(this, 'for', 'string');
|
|
59
|
-
}
|
|
60
|
-
get megadropdown() {
|
|
61
|
-
const ref = document.getElementById(this.for);
|
|
62
|
-
return ref && ref.localName === 'post-megadropdown'
|
|
63
|
-
? ref
|
|
64
|
-
: null;
|
|
65
|
-
}
|
|
66
|
-
handleToggle() {
|
|
67
|
-
if (this.megadropdown) {
|
|
68
|
-
this.megadropdown.toggle();
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
console.warn(`No post-megadropdown found with ID: ${this.for}`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
componentDidLoad() {
|
|
75
|
-
this.validateControlFor();
|
|
76
|
-
// Check if the mega dropdown attached to the trigger is expanded or not
|
|
77
|
-
document.addEventListener('postToggleMegadropdown', this.handleToggleMegadropdown);
|
|
78
|
-
this.slottedButton = this.host.querySelector('button');
|
|
79
|
-
if (this.slottedButton) {
|
|
80
|
-
this.slottedButton.setAttribute('aria-haspopup', 'menu');
|
|
81
|
-
this.slottedButton.addEventListener('click', () => {
|
|
82
|
-
this.handleToggle();
|
|
83
|
-
});
|
|
84
|
-
this.slottedButton.addEventListener('keydown', this.handleKeyDown);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
console.warn('No button found within post-megadropdown-trigger');
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
disconnectedCallback() {
|
|
91
|
-
document.removeEventListener('postToggleMegadropdown', this.handleToggleMegadropdown);
|
|
92
|
-
}
|
|
93
|
-
render() {
|
|
94
|
-
return (h(Host, { key: 'a6b452393957a1468493ef1b8f56d398479a3245', "data-version": version, "tab-index": "-1" }, h("button", { key: 'bf9565005a58bbae0dd2424819548c4b635791c1' }, h("slot", { key: 'c52d356902e2b38056f2feea0fc90cf5493c8752' }))));
|
|
95
|
-
}
|
|
96
|
-
get host() { return this; }
|
|
97
|
-
static get watchers() { return {
|
|
98
|
-
"for": ["validateControlFor"]
|
|
99
|
-
}; }
|
|
100
|
-
static get style() { return PostMegadropdownTriggerStyle0; }
|
|
101
|
-
}, [4, "post-megadropdown-trigger", {
|
|
102
|
-
"for": [1],
|
|
103
|
-
"ariaExpanded": [32]
|
|
104
|
-
}, undefined, {
|
|
105
|
-
"for": ["validateControlFor"]
|
|
106
|
-
}]);
|
|
107
|
-
function defineCustomElement() {
|
|
108
|
-
if (typeof customElements === "undefined") {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
const components = ["post-megadropdown-trigger"];
|
|
112
|
-
components.forEach(tagName => { switch (tagName) {
|
|
113
|
-
case "post-megadropdown-trigger":
|
|
114
|
-
if (!customElements.get(tagName)) {
|
|
115
|
-
customElements.define(tagName, PostMegadropdownTrigger);
|
|
116
|
-
}
|
|
117
|
-
break;
|
|
118
|
-
} });
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
export { PostMegadropdownTrigger as P, defineCustomElement as d };
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import { g as getFocusableChildren } from './get-focusable-children.js';
|
|
3
|
-
import { v as version } from './package.js';
|
|
4
|
-
import { b as breakpoint } from './breakpoints.js';
|
|
5
|
-
|
|
6
|
-
const postMegadropdownCss = "@keyframes slide-in{0%{transform:translateX(100%)}100%{transform:translateX(0%)}}@keyframes slide-out{from{transform:translateX(0%)}to{transform:translateX(100%)}}@keyframes slide-down{from{transform:translateY(-100%)}to{transform:translateY(0%)}}@keyframes slide-up{0%{transform:translateY(0%)}100%{transform:translateY(-100%)}}*,::before,::after{box-sizing:border-box}.megadropdown-container{box-shadow:0 8px 6px rgba(0,0,0,.16);position:absolute;background-color:#fafafa;border:none;z-index:1;width:100%;inset-block-start:100%;inset-inline-start:0;border-radius:0}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.megadropdown-container{border-block-end:1px solid CanvasText}}.megadropdown-container.slide-in{animation:slide-down 350ms forwards}.megadropdown-container.slide-out{animation:slide-up 350ms forwards}@media screen and (max-width: 1023.98px){.megadropdown-container{z-index:5;position:fixed;inset-block-start:var(--post-header-navigation-current-inset);inset-inline:0;height:calc(min(var(--post-header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height));border-block-start:unset;overflow-y:auto;overscroll-behavior:contain}.megadropdown-container.slide-in{animation:slide-in 350ms forwards}.megadropdown-container.slide-out{animation:slide-out 350ms forwards}}@media screen and (min-width: 1024px){.megadropdown-container{max-height:calc(100vh - var(--post-header-height) - 48px);overflow-y:auto}}.megadropdown{padding:31px 40px 40px;background-color:#fafafa}@media screen and (max-width: 1023.98px){.megadropdown{display:flex;flex-direction:column;width:inherit;padding:16px 32px 24px}}@media screen and (max-width: 599.98px){.megadropdown{padding-inline:16px}}.megadropdown .megadropdown-content{gap:1.5rem;display:grid;grid-template-columns:repeat(auto-fit, minmax(min(15vw, 100%), 1fr));grid-auto-rows:1fr auto;grid-auto-flow:dense}@media screen and (max-width: 1023.98px){.megadropdown .megadropdown-content{grid-template-columns:repeat(auto-fit, minmax(min(35vw, 100%), 1fr))}}@media screen and (max-width: 599.98px){.megadropdown .megadropdown-content{grid-template-columns:1fr}}.megadropdown h2{display:none;margin-block:0 8px;font-weight:900}.megadropdown h2 a{text-decoration:none;display:none;font-weight:inherit;border-block:0}@media screen and (max-width: 1023.98px){.megadropdown h2{display:block;font-size:1.25rem}}@media screen and (max-width: 599.98px){.megadropdown h2{font-size:1.125rem}}.megadropdown post-list{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0px}.megadropdown post-list>[role=list]{flex-direction:unset;display:unset}.megadropdown post-list>*{width:100%}.megadropdown post-list .list-title{display:flex;flex-direction:column-reverse;height:100%}.megadropdown post-list .list-title h3{font-size:20px;display:block;font-weight:900}.megadropdown post-list .list-title h3:not(:has(a)),.megadropdown post-list .list-title h3 a{padding:16px 12px 14px 8px}.megadropdown post-list .list-title h3:not(:has(a)){position:relative}.megadropdown post-list .list-title h3:not(:has(a))::before{content:\"\";background-color:#050400;inset-block-end:0;inset-inline-start:0;width:100%;height:2px;position:absolute}.megadropdown post-list .list-title h3 a{border-radius:0;text-decoration:none;font-size:inherit;display:flex;align-items:center;justify-content:space-between;min-height:53px;width:100%;min-width:100%;height:48px;padding-inline:8px 12px;gap:16px;font-weight:400;position:relative;height:unset;font-weight:900}.megadropdown post-list .list-title h3 a::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:1px;position:absolute;left:0}.megadropdown post-list .list-title h3 a.selected,.megadropdown post-list .list-title h3 a[aria-expanded=true]{background-color:#050400;color:#fff}.megadropdown post-list .list-title h3 a:hover{background-color:#504f4b;color:#fff}.megadropdown post-list .list-title h3 a:hover::before{background-color:#504f4b}.megadropdown post-list .list-title h3 a::before{height:2px}@media screen and (max-width: 1023.98px){.megadropdown post-list .list-title h3{font-size:1rem}.megadropdown post-list .list-title h3:not(:has(a)),.megadropdown post-list .list-title h3 a{padding:14px 12px 12px 8px}}@media screen and (max-width: 599.98px){.megadropdown post-list .list-title h3{font-size:.875rem}}.megadropdown post-list-item>a{padding-block:13px 12px;padding-inline-start:8px;display:flex;text-decoration:none;width:100%;min-width:100%;height:auto;min-height:48px;white-space:normal;word-break:break-word}.megadropdown post-list-item>a:hover{border-block-width:0}@media screen and (min-width: 1024px){.megadropdown post-list-item>a{font-size:1.25rem}}@media screen and (max-width: 1023.98px){.megadropdown post-list-item>a{padding-block:12px 11px}}@media screen and (max-width: 599.98px){.megadropdown post-list-item>a{font-size:.875rem}}.megadropdown .back-button{display:none;margin-block-end:2rem}.megadropdown .back-button .btn{width:auto}@media screen and (max-width: 1023.98px){.megadropdown .back-button{order:-1;display:block}}.megadropdown .close-button{position:absolute;inset-block-start:1rem;inset-inline-end:1rem}@media screen and (max-width: 1023.98px){.megadropdown .close-button{display:none}}";
|
|
7
|
-
const PostMegadropdownStyle0 = postMegadropdownCss;
|
|
8
|
-
|
|
9
|
-
const PostMegadropdown = /*@__PURE__*/ proxyCustomElement(class PostMegadropdown extends HTMLElement {
|
|
10
|
-
constructor() {
|
|
11
|
-
super();
|
|
12
|
-
this.__registerHost();
|
|
13
|
-
this.postToggleMegadropdown = createEvent(this, "postToggleMegadropdown", 7);
|
|
14
|
-
this.handleClickOutside = (event) => {
|
|
15
|
-
if (this.device !== 'desktop')
|
|
16
|
-
return;
|
|
17
|
-
const target = event.target;
|
|
18
|
-
if (this.host.contains(target)) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
if (target instanceof HTMLElement) {
|
|
22
|
-
const trigger = target.closest('post-megadropdown-trigger');
|
|
23
|
-
if (trigger) {
|
|
24
|
-
const targetDropdownId = trigger.getAttribute('for');
|
|
25
|
-
if (targetDropdownId !== this.host.id) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
this.hide(false);
|
|
31
|
-
};
|
|
32
|
-
this.device = breakpoint.get('name');
|
|
33
|
-
this.isVisible = false;
|
|
34
|
-
this.animationClass = null;
|
|
35
|
-
}
|
|
36
|
-
breakpointChange(e) {
|
|
37
|
-
this.device = e.detail;
|
|
38
|
-
if (this.device === 'desktop' && this.isVisible) {
|
|
39
|
-
this.animationClass = null;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
disconnectedCallback() {
|
|
43
|
-
this.removeListeners();
|
|
44
|
-
window.removeEventListener('postBreakpoint:name', this.breakpointChange.bind(this));
|
|
45
|
-
if (PostMegadropdown.activeDropdown === this) {
|
|
46
|
-
PostMegadropdown.activeDropdown = null;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
componentWillRender() {
|
|
50
|
-
this.getFocusableElements();
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Toggles the dropdown visibility based on its current state.
|
|
54
|
-
*/
|
|
55
|
-
async toggle() {
|
|
56
|
-
if (this.isVisible) {
|
|
57
|
-
this.hide();
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
await this.show();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Displays the dropdown.
|
|
65
|
-
*/
|
|
66
|
-
async show() {
|
|
67
|
-
if (PostMegadropdown.activeDropdown && PostMegadropdown.activeDropdown !== this) {
|
|
68
|
-
// Close the previously active dropdown without animation
|
|
69
|
-
PostMegadropdown.activeDropdown.forceClose();
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
this.animationClass = 'slide-in';
|
|
73
|
-
}
|
|
74
|
-
this.isVisible = true;
|
|
75
|
-
PostMegadropdown.activeDropdown = this;
|
|
76
|
-
this.postToggleMegadropdown.emit({ isVisible: this.isVisible });
|
|
77
|
-
if (this.firstFocusableEl &&
|
|
78
|
-
window.getComputedStyle(this.firstFocusableEl).display !== 'none') {
|
|
79
|
-
this.firstFocusableEl.focus();
|
|
80
|
-
}
|
|
81
|
-
this.addListeners();
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Hides the dropdown with an animation.
|
|
85
|
-
*/
|
|
86
|
-
async hide(focusParent = true, forceClose = false) {
|
|
87
|
-
this.postToggleMegadropdown.emit({ isVisible: false, focusParent: focusParent });
|
|
88
|
-
if (forceClose) {
|
|
89
|
-
this.forceClose();
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
this.animationClass = 'slide-out';
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Sets focus to the first focusable element within the component.
|
|
97
|
-
*/
|
|
98
|
-
async focusFirst() {
|
|
99
|
-
this.firstFocusableEl?.focus();
|
|
100
|
-
}
|
|
101
|
-
connectedCallback() {
|
|
102
|
-
window.addEventListener('postBreakpoint:name', this.breakpointChange.bind(this));
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Forces the dropdown to close without animation.
|
|
106
|
-
*/
|
|
107
|
-
forceClose() {
|
|
108
|
-
this.isVisible = false;
|
|
109
|
-
this.animationClass = null;
|
|
110
|
-
this.postToggleMegadropdown.emit({ isVisible: this.isVisible, focusParent: false });
|
|
111
|
-
this.removeListeners();
|
|
112
|
-
}
|
|
113
|
-
handleAnimationEnd() {
|
|
114
|
-
if (this.animationClass === 'slide-out') {
|
|
115
|
-
this.isVisible = false;
|
|
116
|
-
this.animationClass = null;
|
|
117
|
-
PostMegadropdown.activeDropdown = null;
|
|
118
|
-
this.removeListeners();
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
addListeners() {
|
|
122
|
-
this.host.addEventListener('keydown', e => this.keyboardHandler(e));
|
|
123
|
-
document.addEventListener('keyup', e => this.handleTabOutside(e));
|
|
124
|
-
document.addEventListener('mousedown', this.handleClickOutside);
|
|
125
|
-
}
|
|
126
|
-
removeListeners() {
|
|
127
|
-
this.host.removeEventListener('keydown', e => this.keyboardHandler(e));
|
|
128
|
-
document.removeEventListener('keyup', e => this.handleTabOutside(e));
|
|
129
|
-
document.removeEventListener('mousedown', this.handleClickOutside);
|
|
130
|
-
}
|
|
131
|
-
getFocusableElements() {
|
|
132
|
-
const focusableEls = Array.from(this.host.querySelectorAll('post-list-item, h3, .back-button'));
|
|
133
|
-
const focusableChildren = focusableEls.flatMap(el => Array.from(getFocusableChildren(el)));
|
|
134
|
-
this.firstFocusableEl = focusableChildren[0];
|
|
135
|
-
this.lastFocusableEl = focusableChildren[focusableChildren.length - 1];
|
|
136
|
-
}
|
|
137
|
-
// Loop through the focusable children
|
|
138
|
-
keyboardHandler(e) {
|
|
139
|
-
if (e.key === 'Tab' && this.device !== 'desktop') {
|
|
140
|
-
if (e.shiftKey && document.activeElement === this.firstFocusableEl) {
|
|
141
|
-
// If back tab (TAB + Shift) and first element is focused, focus goes to the last element of the megadropdown
|
|
142
|
-
e.preventDefault();
|
|
143
|
-
this.lastFocusableEl.focus();
|
|
144
|
-
}
|
|
145
|
-
else if (!e.shiftKey && document.activeElement === this.lastFocusableEl) {
|
|
146
|
-
// If TAB and last element is focused, focus goes back to the first element of the megadropdown
|
|
147
|
-
e.preventDefault();
|
|
148
|
-
this.firstFocusableEl.focus();
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
handleTabOutside(e) {
|
|
153
|
-
if (e.key === 'Tab' && this.device === 'desktop') {
|
|
154
|
-
if (!this.host.contains(e.target)) {
|
|
155
|
-
this.hide(false);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
render() {
|
|
160
|
-
const containerStyle = this.isVisible ? {} : { display: 'none' };
|
|
161
|
-
return (h(Host, { key: '7426a12ebaeac0ce3b8402c3da4d5393daca059b', version: version }, h("div", { key: 'd47b60c334577f5662f19912f12ce941b4b52d94', class: `megadropdown-container ${this.animationClass || ''}`, style: containerStyle, onAnimationEnd: () => this.handleAnimationEnd() }, h("div", { key: '2798f217b2b3e43c3c63072884bbbbe7d99ed62f', class: "megadropdown" }, h("slot", { key: 'b61f82bbc7f87f65d9b6957e7a4e5d6790b6dd00', name: "megadropdown-title" }), h("div", { key: 'f4996a819511cb59185faeedbdcec4be6e6f8a24', class: "megadropdown-content" }, h("slot", { key: '54f695c3b3d30a6a1aae7f7dc6f65f4d4d27de68' })), h("div", { key: 'b1334295c7d758e20c85b6c6c8cefc31dcf09e20', onClick: () => this.hide(true), class: "back-button" }, h("slot", { key: 'c4db69fa3207ce4cb47b725e37b1993820a2a64c', name: "back-button" })), h("div", { key: '68b22a3222382586fc749dec63e36edae84360c1', onClick: () => this.hide(true), class: "close-button" }, h("slot", { key: '8023b75c931a95dbd9552c1a713790e77e40f526', name: "close-button" }))))));
|
|
162
|
-
}
|
|
163
|
-
get host() { return this; }
|
|
164
|
-
static get style() { return PostMegadropdownStyle0; }
|
|
165
|
-
}, [4, "post-megadropdown", {
|
|
166
|
-
"device": [32],
|
|
167
|
-
"isVisible": [32],
|
|
168
|
-
"animationClass": [32],
|
|
169
|
-
"toggle": [64],
|
|
170
|
-
"show": [64],
|
|
171
|
-
"hide": [64],
|
|
172
|
-
"focusFirst": [64]
|
|
173
|
-
}]);
|
|
174
|
-
/** Tracks the currently active dropdown instance. */
|
|
175
|
-
PostMegadropdown.activeDropdown = null;
|
|
176
|
-
function defineCustomElement() {
|
|
177
|
-
if (typeof customElements === "undefined") {
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
const components = ["post-megadropdown"];
|
|
181
|
-
components.forEach(tagName => { switch (tagName) {
|
|
182
|
-
case "post-megadropdown":
|
|
183
|
-
if (!customElements.get(tagName)) {
|
|
184
|
-
customElements.define(tagName, PostMegadropdown);
|
|
185
|
-
}
|
|
186
|
-
break;
|
|
187
|
-
} });
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
export { PostMegadropdown as P, defineCustomElement as d };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import { v as version } from './package.js';
|
|
3
|
-
|
|
4
|
-
const PostMenuItem = /*@__PURE__*/ proxyCustomElement(class PostMenuItem extends HTMLElement {
|
|
5
|
-
constructor() {
|
|
6
|
-
super();
|
|
7
|
-
this.__registerHost();
|
|
8
|
-
}
|
|
9
|
-
render() {
|
|
10
|
-
return (h(Host, { key: '376ce17a520b6cb74c55c009843df878f99ef411', role: "menuitem", "data-version": version }, h("slot", { key: 'e489c5c09f1527e527e052e9f4349c5b26db6ea9' })));
|
|
11
|
-
}
|
|
12
|
-
}, [4, "post-menu-item"]);
|
|
13
|
-
function defineCustomElement() {
|
|
14
|
-
if (typeof customElements === "undefined") {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const components = ["post-menu-item"];
|
|
18
|
-
components.forEach(tagName => { switch (tagName) {
|
|
19
|
-
case "post-menu-item":
|
|
20
|
-
if (!customElements.get(tagName)) {
|
|
21
|
-
customElements.define(tagName, PostMenuItem);
|
|
22
|
-
}
|
|
23
|
-
break;
|
|
24
|
-
} });
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export { PostMenuItem as P, defineCustomElement as d };
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import { a as PLACEMENT_TYPES, d as defineCustomElement$1 } from './post-popovercontainer2.js';
|
|
3
|
-
import { v as version } from './package.js';
|
|
4
|
-
import { I as IS_BROWSER } from './breakpoints.js';
|
|
5
|
-
import { a as checkEmptyOrOneOf, b as checkRequiredAndType } from './index2.js';
|
|
6
|
-
|
|
7
|
-
function getAttributeObserver(attribute, handler) {
|
|
8
|
-
/**
|
|
9
|
-
* Handle attribute changes and childList changes from the observer
|
|
10
|
-
* @param {MutationRecord[]} mutationList
|
|
11
|
-
*/
|
|
12
|
-
function observerHandler(mutationList) {
|
|
13
|
-
mutationList.forEach(mutation => {
|
|
14
|
-
if (mutation.type === 'attributes' && mutation.attributeName === attribute) {
|
|
15
|
-
handler(mutation.target);
|
|
16
|
-
}
|
|
17
|
-
if (mutation.type === 'childList') {
|
|
18
|
-
mutation.addedNodes.forEach(node => {
|
|
19
|
-
if (node.nodeType === Node.ELEMENT_NODE &&
|
|
20
|
-
node.hasAttribute(attribute)) {
|
|
21
|
-
handler(node);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
// Initialize a mutation observer for patching accessibility features
|
|
28
|
-
return IS_BROWSER ? new MutationObserver(observerHandler) : null;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const postPopoverCss = "@keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}.btn-close{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:var(--post-device-border-radius-round);color:#000;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{background-color:ButtonFace !important}.btn-close:hover{background-color:Highlight !important}}.btn-close{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.btn-close::before{mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16.267 16.667 6.667-6.533-.933-1.067-6.667 6.667-6.667-6.667-.933 1.067 6.667 6.533-6.667 6.667 1.067.933 6.533-6.667 6.667 6.667.933-1.067z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;content:\"\";display:block;height:var(--post-core-dimension-24);width:var(--post-core-dimension-24)}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:#000}.btn-close:disabled{color:#999}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{color:CanvasText;forced-color-adjust:none}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:Highlight}}.btn-close-white{color:#e6e6e6}.btn-close-white:focus,.btn-close-white:not(:disabled):hover,.btn-close-white.pretend-hover{color:#fff}.btn-close-white:disabled{color:#999}*{box-sizing:border-box}:host{display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{display:flex;align-items:self-start;padding:.5em;min-width:160px;max-width:min(var(--post-popover-max-width, 280px),100vw)}.popover-content{padding:.5em;flex-grow:1}.btn-close{color:var(--post-scheme-color-surface-default-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:hover{color:HighlightText !important}}";
|
|
32
|
-
const PostPopoverStyle0 = postPopoverCss;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @slot default - Slot for placing content inside the popover.
|
|
36
|
-
*/
|
|
37
|
-
let popoverInstances = 0;
|
|
38
|
-
const popoverTargetAttribute = 'data-popover-target';
|
|
39
|
-
const globalToggleHandler = (e) => {
|
|
40
|
-
let currentElement = e.target;
|
|
41
|
-
// Traverse up the DOM tree to find if any parent has the popover target attribute
|
|
42
|
-
while (currentElement && !currentElement.getAttribute(popoverTargetAttribute)) {
|
|
43
|
-
if (currentElement === document.body || !currentElement.parentElement)
|
|
44
|
-
break;
|
|
45
|
-
currentElement = currentElement.parentElement;
|
|
46
|
-
}
|
|
47
|
-
const popoverTarget = currentElement?.getAttribute(popoverTargetAttribute);
|
|
48
|
-
if (!popoverTarget || ('key' in e && e.key !== 'Enter'))
|
|
49
|
-
return;
|
|
50
|
-
const popover = document.getElementById(popoverTarget);
|
|
51
|
-
popover?.toggle(currentElement);
|
|
52
|
-
};
|
|
53
|
-
const PostPopover = /*@__PURE__*/ proxyCustomElement(class PostPopover extends HTMLElement {
|
|
54
|
-
validatePlacement() {
|
|
55
|
-
checkEmptyOrOneOf(this, 'placement', PLACEMENT_TYPES);
|
|
56
|
-
}
|
|
57
|
-
validateCloseButtonCaption() {
|
|
58
|
-
checkRequiredAndType(this, 'closeButtonCaption', 'string');
|
|
59
|
-
}
|
|
60
|
-
constructor() {
|
|
61
|
-
super();
|
|
62
|
-
this.__registerHost();
|
|
63
|
-
this.__attachShadow();
|
|
64
|
-
// Initialize a mutation observer for patching accessibility features
|
|
65
|
-
this.triggerObserver = IS_BROWSER
|
|
66
|
-
? getAttributeObserver(popoverTargetAttribute, this.patchAccessibilityFeatures)
|
|
67
|
-
: null;
|
|
68
|
-
this.placement = 'top';
|
|
69
|
-
this.closeButtonCaption = undefined;
|
|
70
|
-
this.arrow = true;
|
|
71
|
-
this.localBeforeToggleHandler = this.beforeToggleHandler.bind(this);
|
|
72
|
-
}
|
|
73
|
-
connectedCallback() {
|
|
74
|
-
// Set up accessibility patcher and event listeners for the first component
|
|
75
|
-
if (popoverInstances === 0) {
|
|
76
|
-
window.addEventListener('pointerup', globalToggleHandler);
|
|
77
|
-
window.addEventListener('keydown', globalToggleHandler);
|
|
78
|
-
this.triggerObserver?.observe(document.body, {
|
|
79
|
-
subtree: true,
|
|
80
|
-
childList: true,
|
|
81
|
-
attributeFilter: [popoverTargetAttribute],
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
popoverInstances++;
|
|
85
|
-
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
86
|
-
}
|
|
87
|
-
componentDidLoad() {
|
|
88
|
-
this.validatePlacement();
|
|
89
|
-
this.validateCloseButtonCaption();
|
|
90
|
-
this.popoverRef.addEventListener('beforetoggle', this.localBeforeToggleHandler);
|
|
91
|
-
}
|
|
92
|
-
disconnectedCallback() {
|
|
93
|
-
popoverInstances--;
|
|
94
|
-
// Remove listeners and observer after the last popover has been destructed
|
|
95
|
-
if (popoverInstances === 0) {
|
|
96
|
-
window.removeEventListener('click', globalToggleHandler);
|
|
97
|
-
window.removeEventListener('keydown', globalToggleHandler);
|
|
98
|
-
this.triggerObserver?.disconnect();
|
|
99
|
-
}
|
|
100
|
-
this.popoverRef.removeEventListener('beforetoggle', this.localBeforeToggleHandler);
|
|
101
|
-
this.triggers.forEach(trigger => trigger.removeAttribute('aria-expanded'));
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Programmatically display the popover
|
|
105
|
-
* @param target An element with [data-popover-target="id"] where the popover should be shown
|
|
106
|
-
*/
|
|
107
|
-
async show(target) {
|
|
108
|
-
this.popoverRef.show(target);
|
|
109
|
-
console.log(this.popoverRef);
|
|
110
|
-
target.setAttribute('aria-expanded', 'true');
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Programmatically hide this popover
|
|
114
|
-
*/
|
|
115
|
-
async hide() {
|
|
116
|
-
this.popoverRef.hide();
|
|
117
|
-
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Toggle popover display
|
|
121
|
-
* @param target An element with [data-popover-target="id"] where the popover should be anchored to
|
|
122
|
-
* @param force Pass true to always show or false to always hide
|
|
123
|
-
*/
|
|
124
|
-
async toggle(target, force) {
|
|
125
|
-
const newState = await this.popoverRef.toggle(target, force);
|
|
126
|
-
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
127
|
-
target.setAttribute('aria-expanded', `${newState}`);
|
|
128
|
-
}
|
|
129
|
-
get triggers() {
|
|
130
|
-
return document.querySelectorAll(`[${popoverTargetAttribute}="${this.host.id}"]`);
|
|
131
|
-
}
|
|
132
|
-
beforeToggleHandler() {
|
|
133
|
-
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
134
|
-
}
|
|
135
|
-
patchAccessibilityFeatures(trigger) {
|
|
136
|
-
const force = trigger.hasAttribute(popoverTargetAttribute);
|
|
137
|
-
trigger.setAttribute('aria-expanded', force ? 'false' : null);
|
|
138
|
-
}
|
|
139
|
-
render() {
|
|
140
|
-
return (h(Host, { key: '3dc7041d2208523956f62fedcf1dfbdee5302006', "data-version": version }, h("post-popovercontainer", { key: 'c4a93a401ab5f6605dec49e509c5188bf05004be', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '9c4d4c36c811ac443e98716c3b013de97eaa624d', class: "popover-container" }, h("div", { key: 'e256d82cb50ddfd7af6368c707afd0b1e5c8e7aa', class: "popover-content" }, h("slot", { key: '7da07c358162b0e5bfd13561d5ac1e94d028a917' })), h("button", { key: 'c1fef4bf8383e92d34367966ae980983c77e15e4', class: "btn-close", onClick: () => this.hide() }, h("span", { key: '066b77e1883d64b937319a20e0e6e35fa0168d48', class: "visually-hidden" }, this.closeButtonCaption))))));
|
|
141
|
-
}
|
|
142
|
-
get host() { return this; }
|
|
143
|
-
static get watchers() { return {
|
|
144
|
-
"placement": ["validatePlacement"],
|
|
145
|
-
"closeButtonCaption": ["validateCloseButtonCaption"]
|
|
146
|
-
}; }
|
|
147
|
-
static get style() { return PostPopoverStyle0; }
|
|
148
|
-
}, [1, "post-popover", {
|
|
149
|
-
"placement": [1],
|
|
150
|
-
"closeButtonCaption": [1, "close-button-caption"],
|
|
151
|
-
"arrow": [4],
|
|
152
|
-
"show": [64],
|
|
153
|
-
"hide": [64],
|
|
154
|
-
"toggle": [64]
|
|
155
|
-
}, undefined, {
|
|
156
|
-
"placement": ["validatePlacement"],
|
|
157
|
-
"closeButtonCaption": ["validateCloseButtonCaption"]
|
|
158
|
-
}]);
|
|
159
|
-
function defineCustomElement() {
|
|
160
|
-
if (typeof customElements === "undefined") {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
const components = ["post-popover", "post-popovercontainer"];
|
|
164
|
-
components.forEach(tagName => { switch (tagName) {
|
|
165
|
-
case "post-popover":
|
|
166
|
-
if (!customElements.get(tagName)) {
|
|
167
|
-
customElements.define(tagName, PostPopover);
|
|
168
|
-
}
|
|
169
|
-
break;
|
|
170
|
-
case "post-popovercontainer":
|
|
171
|
-
if (!customElements.get(tagName)) {
|
|
172
|
-
defineCustomElement$1();
|
|
173
|
-
}
|
|
174
|
-
break;
|
|
175
|
-
} });
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
export { PostPopover as P, defineCustomElement as d };
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, createEvent, 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 './breakpoints.js';
|
|
5
|
-
import { d as defineCustomElement$1 } from './post-icon2.js';
|
|
6
|
-
|
|
7
|
-
const postRatingCss = "@keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}:host{display:inline-block}.rating{display:flex;flex-wrap:wrap;overflow:hidden;margin:0 calc(var(--post-core-dimension-4)*-1);border-radius:4px}.rating .star{--post-rating-star-stroke:hsl(0, 0%, 40%);--post-rating-star-fill:#fff;position:relative;width:2rem;height:2rem;cursor:pointer}.rating .star .stroke,.rating .star .fill{display:block;width:100%;height:100%;transition:all ease 100ms}.rating .star .stroke{position:absolute;inset:auto;z-index:1;color:var(--post-rating-star-stroke)}.rating .star .fill{margin:1px;width:calc(100% - 2px);height:calc(100% - 2px);color:var(--post-rating-star-fill)}.rating .star.before-hover{--post-rating-star-stroke:hsl(0, 0%, 40%);--post-rating-star-fill:#fc0}.rating .star.active{--post-rating-star-stroke:hsl(0, 0%, 20%);--post-rating-star-fill:#fc0}.rating .star.hover{--post-rating-star-stroke:hsl(0, 0%, 40%);--post-rating-star-fill:#fc0}.rating .star.after-active{--post-rating-star-stroke:hsl(0, 0%, 40%);--post-rating-star-fill:hsl(0, 0%, 80%)}.rating :focus{outline:none}.rating:focus-visible{outline-offset:var(--post-core-dimension-2);outline:var(--post-core-dimension-2) solid #1976c8}.rating[aria-readonly=true] .star,.rating[aria-disabled=true] .star{cursor:default}.rating[aria-disabled=true] .star{--post-rating-star-stroke:hsl(0, 0%, 60%);--post-rating-star-fill:#fff}.rating[aria-disabled=true] .star.active{cursor:default;--post-rating-star-stroke:hsl(0, 0%, 60%);--post-rating-star-fill:hsl(0, 0%, 90%)}";
|
|
8
|
-
const PostRatingStyle0 = postRatingCss;
|
|
9
|
-
|
|
10
|
-
const PostRating = /*@__PURE__*/ proxyCustomElement(class PostRating extends HTMLElement {
|
|
11
|
-
validateLabel() {
|
|
12
|
-
checkRequiredAndType(this, 'label', 'string');
|
|
13
|
-
}
|
|
14
|
-
validateStars() {
|
|
15
|
-
checkRequiredAndType(this, 'stars', 'number');
|
|
16
|
-
}
|
|
17
|
-
validateCurrentRating() {
|
|
18
|
-
checkRequiredAndType(this, 'currentRating', 'number');
|
|
19
|
-
}
|
|
20
|
-
componentWillLoad() {
|
|
21
|
-
this.validateLabel();
|
|
22
|
-
this.validateStars();
|
|
23
|
-
this.validateCurrentRating();
|
|
24
|
-
}
|
|
25
|
-
constructor() {
|
|
26
|
-
super();
|
|
27
|
-
this.__registerHost();
|
|
28
|
-
this.__attachShadow();
|
|
29
|
-
this.postInput = createEvent(this, "postInput", 7);
|
|
30
|
-
this.postChange = createEvent(this, "postChange", 7);
|
|
31
|
-
this.hasChanged = false;
|
|
32
|
-
this.hoveredIndex = undefined;
|
|
33
|
-
this.label = 'Rating';
|
|
34
|
-
this.stars = 5;
|
|
35
|
-
this.currentRating = 0;
|
|
36
|
-
this.readonly = false;
|
|
37
|
-
this.keydownHandler = this.keydownHandler.bind(this);
|
|
38
|
-
this.blurHandler = this.blurHandler.bind(this);
|
|
39
|
-
this.hoverHandler = this.hoverHandler.bind(this);
|
|
40
|
-
}
|
|
41
|
-
update(value) {
|
|
42
|
-
if (this.readonly || value < 0 || value > this.stars)
|
|
43
|
-
return;
|
|
44
|
-
this.currentRating = this.currentRating !== value ? value : 0; // If a star is clicked the second time, the rating gets set to 0.
|
|
45
|
-
this.postInput.emit({ value: this.currentRating });
|
|
46
|
-
this.hasChanged = true;
|
|
47
|
-
}
|
|
48
|
-
keydownHandler(e) {
|
|
49
|
-
switch (e.key) {
|
|
50
|
-
case 'ArrowDown':
|
|
51
|
-
case 'ArrowLeft':
|
|
52
|
-
e.preventDefault();
|
|
53
|
-
this.update(this.currentRating - 1);
|
|
54
|
-
break;
|
|
55
|
-
case 'ArrowUp':
|
|
56
|
-
case 'ArrowRight':
|
|
57
|
-
e.preventDefault();
|
|
58
|
-
this.update(this.currentRating + 1);
|
|
59
|
-
break;
|
|
60
|
-
case 'Home':
|
|
61
|
-
e.preventDefault();
|
|
62
|
-
this.update(0);
|
|
63
|
-
break;
|
|
64
|
-
case 'End':
|
|
65
|
-
e.preventDefault();
|
|
66
|
-
this.update(this.stars);
|
|
67
|
-
break;
|
|
68
|
-
case 'Enter':
|
|
69
|
-
case ' ':
|
|
70
|
-
this.blurHandler();
|
|
71
|
-
break;
|
|
72
|
-
default:
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
blurHandler() {
|
|
77
|
-
if (this.hasChanged) {
|
|
78
|
-
this.postChange.emit({ value: this.currentRating });
|
|
79
|
-
this.hasChanged = false;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
hoverHandler(index, e) {
|
|
83
|
-
if (this.readonly)
|
|
84
|
-
return;
|
|
85
|
-
if (e.type === 'mouseenter') {
|
|
86
|
-
this.hoveredIndex = index;
|
|
87
|
-
}
|
|
88
|
-
else if (e.type === 'mouseleave') {
|
|
89
|
-
this.hoveredIndex = undefined;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
render() {
|
|
93
|
-
return (h(Host, { key: '91f3a00b43c003fdeae8c56df2aff30218d44974', "data-version": version }, h("div", { key: '02b0c4a6cce70faf47f0cbed806c0cec02eae56b', role: "slider", class: "rating", tabindex: "0", "aria-label": this.label, "aria-valuemin": "0", "aria-valuemax": this.stars, "aria-valuenow": this.currentRating, "aria-valuetext": `${this.currentRating} out of ${this.stars}`, "aria-readonly": this.readonly ? 'true' : 'false', onKeyDown: this.keydownHandler, onBlur: this.blurHandler }, Array.from({ length: this.stars }).map((v, i) => (h("div", { key: `star-${v}`, "aria-hidden": "true", class: {
|
|
94
|
-
'star': true,
|
|
95
|
-
'before-hover': i < this.hoveredIndex,
|
|
96
|
-
'active': i < Math.round(this.currentRating),
|
|
97
|
-
'hover': i === this.hoveredIndex,
|
|
98
|
-
'after-active': i > this.hoveredIndex && i < this.currentRating,
|
|
99
|
-
}, onClick: () => this.update(i + 1), onMouseEnter: e => this.hoverHandler(i, e), onMouseLeave: e => this.hoverHandler(i, e) }, h("post-icon", { name: "2062", class: "stroke" }), h("post-icon", { name: "2574", class: "fill" })))))));
|
|
100
|
-
}
|
|
101
|
-
get host() { return this; }
|
|
102
|
-
static get watchers() { return {
|
|
103
|
-
"label": ["validateLabel"],
|
|
104
|
-
"stars": ["validateStars"],
|
|
105
|
-
"currentRating": ["validateCurrentRating"]
|
|
106
|
-
}; }
|
|
107
|
-
static get style() { return PostRatingStyle0; }
|
|
108
|
-
}, [1, "post-rating", {
|
|
109
|
-
"label": [1],
|
|
110
|
-
"stars": [2],
|
|
111
|
-
"currentRating": [1026, "current-rating"],
|
|
112
|
-
"readonly": [4],
|
|
113
|
-
"hoveredIndex": [32]
|
|
114
|
-
}, undefined, {
|
|
115
|
-
"label": ["validateLabel"],
|
|
116
|
-
"stars": ["validateStars"],
|
|
117
|
-
"currentRating": ["validateCurrentRating"]
|
|
118
|
-
}]);
|
|
119
|
-
function defineCustomElement() {
|
|
120
|
-
if (typeof customElements === "undefined") {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
const components = ["post-rating", "post-icon"];
|
|
124
|
-
components.forEach(tagName => { switch (tagName) {
|
|
125
|
-
case "post-rating":
|
|
126
|
-
if (!customElements.get(tagName)) {
|
|
127
|
-
customElements.define(tagName, PostRating);
|
|
128
|
-
}
|
|
129
|
-
break;
|
|
130
|
-
case "post-icon":
|
|
131
|
-
if (!customElements.get(tagName)) {
|
|
132
|
-
defineCustomElement$1();
|
|
133
|
-
}
|
|
134
|
-
break;
|
|
135
|
-
} });
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export { PostRating as P, defineCustomElement as d };
|