@swisspost/design-system-components 10.0.0-next.47 → 10.0.0-next.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{event-from-AKK8RQrn.js → event-from-C6kpQwhw.js} +2 -2
- package/dist/cjs/index-CpDyH7Ww.js +4 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{package-wsZ6ig4j.js → package-CR0YynRY.js} +1 -1
- package/dist/cjs/post-accordion_2.cjs.entry.js +6 -6
- package/dist/cjs/post-avatar.cjs.entry.js +107 -80
- package/dist/cjs/post-back-to-top.cjs.entry.js +2 -2
- package/dist/cjs/post-banner.cjs.entry.js +3 -3
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +3 -3
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +4 -4
- package/dist/cjs/post-card-control.cjs.entry.js +4 -4
- package/dist/cjs/post-closebutton_15.cjs.entry.js +133 -74
- package/dist/cjs/post-collapsible_2.cjs.entry.js +4 -4
- package/dist/cjs/post-components.cjs.js +1 -1
- package/dist/cjs/post-footer.cjs.entry.js +3 -3
- package/dist/cjs/post-linkarea.cjs.entry.js +19 -8
- package/dist/cjs/post-popover.cjs.entry.js +3 -3
- package/dist/cjs/post-rating.cjs.entry.js +3 -3
- package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
- package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/post-tabs.cjs.entry.js +2 -2
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +2 -2
- package/dist/cjs/post-tooltip.cjs.entry.js +3 -3
- package/dist/collection/animations/pop-in.js +14 -0
- package/dist/collection/components/post-accordion/post-accordion.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +5 -5
- package/dist/collection/components/post-avatar/avatar-utils.js +16 -0
- package/dist/collection/components/post-avatar/post-avatar.css +1 -1
- package/dist/collection/components/post-avatar/post-avatar.js +119 -82
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +1 -1
- package/dist/collection/components/post-banner/post-banner.js +2 -2
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +2 -2
- package/dist/collection/components/post-card-control/post-card-control.css +1 -1
- package/dist/collection/components/post-card-control/post-card-control.js +2 -2
- package/dist/collection/components/post-closebutton/post-closebutton.js +1 -19
- package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +1 -1
- package/dist/collection/components/post-footer/post-footer.css +1 -1
- package/dist/collection/components/post-footer/post-footer.js +1 -1
- package/dist/collection/components/post-header/post-header.css +1 -1
- package/dist/collection/components/post-header/post-header.js +11 -2
- package/dist/collection/components/post-icon/post-icon.js +39 -33
- package/dist/collection/components/post-language-option/post-language-option.css +1 -1
- package/dist/collection/components/post-language-option/post-language-option.js +1 -2
- package/dist/collection/components/post-language-switch/post-language-switch.js +1 -2
- package/dist/collection/components/post-linkarea/post-linkarea.css +1 -1
- package/dist/collection/components/post-linkarea/post-linkarea.js +24 -6
- package/dist/collection/components/post-list/post-list.css +1 -1
- package/dist/collection/components/post-list/post-list.js +1 -1
- package/dist/collection/components/post-list-item/post-list-item.js +1 -1
- package/dist/collection/components/post-logo/post-logo.js +1 -1
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +12 -2
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +1 -1
- package/dist/collection/components/post-menu/post-menu.css +1 -1
- package/dist/collection/components/post-menu/post-menu.js +41 -5
- package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +1 -1
- package/dist/collection/components/post-popover/post-popover.css +1 -1
- package/dist/collection/components/post-popover/post-popover.js +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +18 -7
- package/dist/collection/components/post-rating/post-rating.css +1 -1
- package/dist/collection/components/post-rating/post-rating.js +1 -1
- package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
- package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
- package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
- package/dist/collection/components/post-tabs/post-tabs.js +3 -3
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +2 -2
- package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +1 -1
- package/dist/collection/utils/event-from.js +2 -2
- package/dist/component-names.json +39 -0
- package/dist/{esm/event-from-8U5GFtQP.js → components/event-from.js} +2 -2
- package/dist/components/get-root.js +15 -0
- package/dist/components/index.d.ts +73 -0
- package/dist/components/index.js +36 -2315
- package/dist/components/package.js +3 -0
- package/dist/components/post-accordion-item.js +1 -1
- package/dist/components/post-accordion-item2.js +113 -0
- package/dist/components/post-accordion.js +1 -1
- package/dist/components/post-accordion2.js +138 -0
- package/dist/components/post-avatar.js +117 -88
- package/dist/components/post-back-to-top.js +7 -8
- package/dist/components/post-banner.js +10 -11
- package/dist/components/post-breadcrumb-item.js +1 -1
- package/dist/components/post-breadcrumb-item2.js +79 -0
- package/dist/components/post-breadcrumbs.js +16 -17
- package/dist/components/post-card-control.js +11 -12
- package/dist/components/post-closebutton.js +5 -7
- package/dist/components/post-collapsible-trigger.js +1 -1
- package/dist/components/post-collapsible-trigger2.js +135 -0
- package/dist/components/post-collapsible.js +1 -1
- package/dist/components/post-collapsible2.js +110 -0
- package/dist/components/post-footer.js +12 -13
- package/dist/components/post-header.js +18 -10
- package/dist/components/post-icon.js +1 -1
- package/dist/components/post-icon2.js +159 -0
- package/dist/components/post-language-option.js +10 -12
- package/dist/components/post-language-switch.js +13 -15
- package/dist/components/post-linkarea.js +24 -12
- package/dist/components/post-list-item.js +4 -5
- package/dist/components/post-list.js +6 -7
- package/dist/components/post-logo.js +6 -7
- package/dist/components/post-mainnavigation.js +6 -7
- package/dist/components/post-megadropdown-trigger.js +7 -8
- package/dist/components/post-megadropdown.js +20 -11
- package/dist/components/post-menu-item.js +1 -1
- package/dist/components/post-menu-item2.js +30 -0
- package/dist/components/post-menu-trigger.js +1 -1
- package/dist/components/post-menu-trigger2.js +110 -0
- package/dist/components/post-menu.js +1 -1
- package/dist/components/post-menu2.js +237 -0
- package/dist/components/post-popover.js +8 -9
- package/dist/components/post-popovercontainer.js +1 -1
- package/dist/components/post-popovercontainer2.js +3043 -0
- package/dist/components/post-rating.js +10 -11
- package/dist/components/post-tab-header.js +8 -9
- package/dist/components/post-tab-panel.js +7 -8
- package/dist/components/post-tabs.js +7 -8
- package/dist/components/post-togglebutton.js +4 -5
- package/dist/components/post-tooltip-trigger.js +7 -8
- package/dist/components/post-tooltip.js +8 -9
- package/dist/components/react/index.d.ts +33 -0
- package/dist/components/react/index.js +2315 -0
- package/dist/components/{p-Cxrx7SXz.js → react/p-Amg0f2Yo.js} +40 -34
- package/dist/components/{p-C0H2ohSv.js → react/p-B6vPT8S3.js} +3 -3
- package/dist/components/{p-336Lbkey.js → react/p-BDs0pvkX.js} +2 -2
- package/dist/components/react/p-BLchVpF6.js +14 -0
- package/dist/components/{p-BM8mtEfS.js → react/p-BMdFdJWl.js} +2 -2
- package/dist/components/{p-DP5pj8mq.js → react/p-BS0ZqwA-.js} +31 -6
- package/dist/components/react/p-C35MCWIp.js +35 -0
- package/dist/components/react/p-CJ80BZ06.js +178 -0
- package/dist/{esm/index-BWC0gtGU.js → components/react/p-CV7fm1rW.js} +1 -1
- package/dist/components/react/p-C_2k3G1c.js +264 -0
- package/dist/components/{p-DVGX_JCp.js → react/p-D1oOccKr.js} +3 -3
- package/dist/components/{p-pHxypsHK.js → react/p-D50E7y6E.js} +24 -9
- package/dist/components/react/p-DO48NanC.js +3 -0
- package/dist/components/{p-i0-mizzM.js → react/p-DOo9tmN-.js} +2 -2
- package/dist/components/{p-DEi5TIMq.js → react/p-Do9awHW7.js} +3 -3
- package/dist/components/react/p-SbIC4aZX.js +11 -0
- package/dist/components/{p-8U5GFtQP.js → react/p-kraHE1r3.js} +2 -2
- package/dist/components/react/p-r4txK0AC.js +3 -0
- package/dist/components/{p-BSvy4uym.js → react/p-xelWyg_P.js} +8 -8
- package/dist/components/react/post-accordion-item.d.ts +11 -0
- package/dist/components/react/post-accordion-item.js +6 -0
- package/dist/components/react/post-accordion.d.ts +11 -0
- package/dist/components/react/post-accordion.js +6 -0
- package/dist/components/react/post-avatar.d.ts +11 -0
- package/dist/components/react/post-avatar.js +218 -0
- package/dist/components/react/post-back-to-top.d.ts +11 -0
- package/dist/components/react/post-back-to-top.js +145 -0
- package/dist/components/react/post-banner.d.ts +11 -0
- package/dist/components/react/post-banner.js +99 -0
- package/dist/components/react/post-breadcrumb-item.d.ts +11 -0
- package/dist/components/react/post-breadcrumb-item.js +6 -0
- package/dist/components/react/post-breadcrumbs.d.ts +11 -0
- package/dist/components/react/post-breadcrumbs.js +187 -0
- package/dist/components/react/post-card-control.d.ts +11 -0
- package/dist/components/react/post-card-control.js +327 -0
- package/dist/components/react/post-closebutton.d.ts +11 -0
- package/dist/components/react/post-closebutton.js +50 -0
- package/dist/components/react/post-collapsible-trigger.d.ts +11 -0
- package/dist/components/react/post-collapsible-trigger.js +6 -0
- package/dist/components/react/post-collapsible.d.ts +11 -0
- package/dist/components/react/post-collapsible.js +6 -0
- package/dist/components/react/post-footer.d.ts +11 -0
- package/dist/components/react/post-footer.js +117 -0
- package/dist/components/react/post-header.d.ts +11 -0
- package/dist/components/react/post-header.js +342 -0
- package/dist/components/react/post-icon.d.ts +11 -0
- package/dist/components/react/post-icon.js +6 -0
- package/dist/components/react/post-language-option.d.ts +11 -0
- package/dist/components/react/post-language-option.js +100 -0
- package/dist/components/react/post-language-switch.d.ts +11 -0
- package/dist/components/react/post-language-switch.js +158 -0
- package/dist/components/react/post-linkarea.d.ts +11 -0
- package/dist/components/react/post-linkarea.js +59 -0
- package/dist/components/react/post-list-item.d.ts +11 -0
- package/dist/components/react/post-list-item.js +39 -0
- package/dist/components/react/post-list.d.ts +11 -0
- package/dist/components/react/post-list.js +62 -0
- package/dist/components/react/post-logo.d.ts +11 -0
- package/dist/components/react/post-logo.js +59 -0
- package/dist/components/react/post-mainnavigation.d.ts +11 -0
- package/dist/components/react/post-mainnavigation.js +181 -0
- package/dist/components/react/post-megadropdown-trigger.d.ts +11 -0
- package/dist/components/react/post-megadropdown-trigger.js +137 -0
- package/dist/components/react/post-megadropdown.d.ts +11 -0
- package/dist/components/react/post-megadropdown.js +207 -0
- package/dist/components/react/post-menu-item.d.ts +11 -0
- package/dist/components/react/post-menu-item.js +6 -0
- package/dist/components/react/post-menu-trigger.d.ts +11 -0
- package/dist/components/react/post-menu-trigger.js +6 -0
- package/dist/components/react/post-menu.d.ts +11 -0
- package/dist/components/react/post-menu.js +6 -0
- package/dist/components/react/post-popover.d.ts +11 -0
- package/dist/components/react/post-popover.js +189 -0
- package/dist/components/react/post-popovercontainer.d.ts +11 -0
- package/dist/components/react/post-popovercontainer.js +6 -0
- package/dist/components/react/post-rating.d.ts +11 -0
- package/dist/components/react/post-rating.js +153 -0
- package/dist/components/react/post-tab-header.d.ts +11 -0
- package/dist/components/react/post-tab-header.js +53 -0
- package/dist/components/react/post-tab-panel.d.ts +11 -0
- package/dist/components/react/post-tab-panel.js +55 -0
- package/dist/components/react/post-tabs.d.ts +11 -0
- package/dist/components/react/post-tabs.js +197 -0
- package/dist/components/react/post-togglebutton.d.ts +11 -0
- package/dist/components/react/post-togglebutton.js +57 -0
- package/dist/components/react/post-tooltip-trigger.d.ts +11 -0
- package/dist/components/react/post-tooltip-trigger.js +5223 -0
- package/dist/components/react/post-tooltip.d.ts +11 -0
- package/dist/components/react/post-tooltip.js +115 -0
- package/dist/components/switch-variants.js +3 -0
- package/dist/docs.json +71 -35
- package/dist/esm/event-from-kraHE1r3.js +105 -0
- package/dist/esm/index-C8a0ddDa.js +4 -4
- package/dist/esm/index-VmK3ABCB.js +88 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/package-DO48NanC.js +3 -0
- package/dist/esm/post-accordion_2.entry.js +7 -7
- package/dist/esm/post-avatar.entry.js +108 -81
- package/dist/esm/post-back-to-top.entry.js +3 -3
- package/dist/esm/post-banner.entry.js +4 -4
- package/dist/esm/post-breadcrumb-item_2.entry.js +4 -4
- package/dist/esm/post-breadcrumbs.entry.js +5 -5
- package/dist/esm/post-card-control.entry.js +5 -5
- package/dist/esm/post-closebutton_15.entry.js +135 -76
- package/dist/esm/post-collapsible_2.entry.js +5 -5
- package/dist/esm/post-components.js +1 -1
- package/dist/esm/post-footer.entry.js +4 -4
- package/dist/esm/post-linkarea.entry.js +19 -8
- package/dist/esm/post-popover.entry.js +4 -4
- package/dist/esm/post-rating.entry.js +4 -4
- package/dist/esm/post-tab-header.entry.js +4 -4
- package/dist/esm/post-tab-panel.entry.js +3 -3
- package/dist/esm/post-tabs.entry.js +2 -2
- package/dist/esm/post-tooltip-trigger.entry.js +3 -3
- package/dist/esm/post-tooltip.entry.js +4 -4
- package/dist/loader/cdn.js +1 -0
- package/dist/loader/index.cjs.js +1 -0
- package/{loader → dist/loader}/index.d.ts +1 -1
- package/dist/loader/index.es2017.js +1 -0
- package/{loader → dist/loader}/index.js +1 -1
- package/dist/post-components/p-01bc39c2.entry.js +1 -0
- package/dist/post-components/p-0dc1e940.entry.js +1 -0
- package/dist/post-components/p-16da91bc.entry.js +1 -0
- package/dist/post-components/p-26a04741.entry.js +1 -0
- package/dist/post-components/p-2f2f9b22.entry.js +1 -0
- package/dist/post-components/{p-45007aac.entry.js → p-33008981.entry.js} +1 -1
- package/dist/post-components/p-36358cd4.entry.js +1 -0
- package/dist/post-components/p-71c48d48.entry.js +1 -0
- package/dist/post-components/{p-e9802b56.entry.js → p-84395e1d.entry.js} +1 -1
- package/dist/post-components/p-848c10ac.entry.js +1 -0
- package/dist/post-components/{p-ab8017bb.entry.js → p-8d2e5814.entry.js} +1 -1
- package/dist/post-components/{p-a2fa5ce4.entry.js → p-9dbe6595.entry.js} +1 -1
- package/dist/post-components/p-DO48NanC.js +1 -0
- package/dist/post-components/{p-BWC0gtGU.js → p-VmK3ABCB.js} +1 -1
- package/dist/post-components/p-a982458f.entry.js +1 -0
- package/dist/post-components/{p-f67b616a.entry.js → p-b0aaa058.entry.js} +1 -1
- package/dist/post-components/{p-bbe02ba3.entry.js → p-bdeef760.entry.js} +1 -1
- package/dist/post-components/{p-2f698af4.entry.js → p-d221395c.entry.js} +1 -1
- package/dist/post-components/{p-57703aee.entry.js → p-e49aa78e.entry.js} +1 -1
- package/dist/post-components/p-eb405167.entry.js +1 -0
- package/dist/post-components/p-kraHE1r3.js +1 -0
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/animations/pop-in.d.ts +1 -0
- package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +3 -3
- package/dist/types/components/post-avatar/avatar-utils.d.ts +3 -0
- package/dist/types/components/post-avatar/post-avatar.d.ts +17 -13
- package/dist/types/components/post-closebutton/post-closebutton.d.ts +0 -6
- package/dist/types/components/post-header/post-header.d.ts +2 -0
- package/dist/types/components/post-icon/post-icon.d.ts +11 -0
- package/dist/types/components/post-linkarea/post-linkarea.d.ts +6 -0
- package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +2 -1
- package/dist/types/components/post-menu/post-menu.d.ts +7 -0
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +6 -2
- package/dist/types/components/post-tabs/post-tabs.d.ts +2 -2
- package/dist/types/components.d.ts +19 -22
- package/dist/types/utils/component-on-ready.d.ts +2 -2
- package/hydrate/index.js +308 -201
- package/hydrate/index.mjs +308 -201
- package/package.json +24 -12
- package/dist/components/p-Z01QMrov.js +0 -3
- package/dist/esm/package-Z01QMrov.js +0 -3
- package/dist/post-components/p-031f7489.entry.js +0 -1
- package/dist/post-components/p-1e6a068a.entry.js +0 -1
- package/dist/post-components/p-2ca196d6.entry.js +0 -1
- package/dist/post-components/p-3adbdda7.entry.js +0 -1
- package/dist/post-components/p-7b8ab026.entry.js +0 -1
- package/dist/post-components/p-8U5GFtQP.js +0 -1
- package/dist/post-components/p-9428231b.entry.js +0 -1
- package/dist/post-components/p-Z01QMrov.js +0 -1
- package/dist/post-components/p-ac73ab00.entry.js +0 -1
- package/dist/post-components/p-c1cf39cb.entry.js +0 -1
- package/dist/post-components/p-d0d92071.entry.js +0 -1
- package/dist/post-components/p-e96239c4.entry.js +0 -1
- package/dist/prebuild.js +0 -26
- package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/prebuild.d.ts +0 -1
- package/loader/cdn.js +0 -1
- package/loader/index.cjs.js +0 -1
- package/loader/index.es2017.js +0 -1
- /package/dist/components/{p-CJ80BZ06.js → breakpoints.js} +0 -0
- /package/dist/components/{p-SbIC4aZX.js → fade.js} +0 -0
- /package/dist/components/{p-C35MCWIp.js → get-focusable-children.js} +0 -0
- /package/dist/components/{p-r4txK0AC.js → heading-levels.js} +0 -0
- /package/dist/components/{p-BLchVpF6.js → index.browser.js} +0 -0
- /package/dist/components/{p-CV7fm1rW.js → index2.js} +0 -0
- /package/dist/components/{p-C_2k3G1c.js → long-press-event.js} +0 -0
- /package/dist/components/{p-CBFgkSgY.js → react/p-CBFgkSgY.js} +0 -0
- /package/dist/components/{p-DjIHLduJ.js → react/p-DjIHLduJ.js} +0 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, a as Host } from './index.js';
|
|
2
|
+
import { d as defineCustomElement$2, a as PLACEMENT_TYPES } from './p-BS0ZqwA-.js';
|
|
3
|
+
import { v as version } from './p-DO48NanC.js';
|
|
4
|
+
import { I as IS_BROWSER } from './p-CJ80BZ06.js';
|
|
5
|
+
import { d as checkEmptyOrOneOf, c as checkRequiredAndType } from './p-CV7fm1rW.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 = ".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{color:var(--post-current-fg);background-color:var(--post-current-bg);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-current-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:hover{color:HighlightText !important}}";
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @slot default - Slot for placing content inside the popover.
|
|
35
|
+
*/
|
|
36
|
+
let popoverInstances = 0;
|
|
37
|
+
const popoverTargetAttribute = 'data-popover-target';
|
|
38
|
+
const globalToggleHandler = (e) => {
|
|
39
|
+
let currentElement = e.target;
|
|
40
|
+
// Traverse up the DOM tree to find if any parent has the popover target attribute
|
|
41
|
+
while (currentElement && !currentElement.getAttribute(popoverTargetAttribute)) {
|
|
42
|
+
if (currentElement === document.body || !currentElement.parentElement)
|
|
43
|
+
break;
|
|
44
|
+
currentElement = currentElement.parentElement;
|
|
45
|
+
}
|
|
46
|
+
const popoverTarget = currentElement?.getAttribute(popoverTargetAttribute);
|
|
47
|
+
if (!popoverTarget || ('key' in e && e.key !== 'Enter'))
|
|
48
|
+
return;
|
|
49
|
+
const popover = document.getElementById(popoverTarget);
|
|
50
|
+
popover?.toggle(currentElement);
|
|
51
|
+
};
|
|
52
|
+
const PostPopover$1 = /*@__PURE__*/ proxyCustomElement(class PostPopover extends H {
|
|
53
|
+
validatePlacement() {
|
|
54
|
+
checkEmptyOrOneOf(this, 'placement', PLACEMENT_TYPES);
|
|
55
|
+
}
|
|
56
|
+
validateCloseButtonCaption() {
|
|
57
|
+
checkRequiredAndType(this, 'closeButtonCaption', 'string');
|
|
58
|
+
}
|
|
59
|
+
constructor() {
|
|
60
|
+
super();
|
|
61
|
+
this.__registerHost();
|
|
62
|
+
this.__attachShadow();
|
|
63
|
+
// Initialize a mutation observer for patching accessibility features
|
|
64
|
+
this.triggerObserver = IS_BROWSER
|
|
65
|
+
? getAttributeObserver(popoverTargetAttribute, this.patchAccessibilityFeatures)
|
|
66
|
+
: null;
|
|
67
|
+
/**
|
|
68
|
+
* Defines the position of the popover relative to its trigger.
|
|
69
|
+
* Popovers are automatically flipped to the opposite side if there is not enough available space and are shifted towards the viewport if they would overlap edge boundaries.
|
|
70
|
+
* For supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement).
|
|
71
|
+
*/
|
|
72
|
+
this.placement = 'top';
|
|
73
|
+
/**
|
|
74
|
+
* Show a little indicator arrow
|
|
75
|
+
*/
|
|
76
|
+
// eslint-disable-next-line @stencil-community/ban-default-true
|
|
77
|
+
this.arrow = true;
|
|
78
|
+
this.localBeforeToggleHandler = this.beforeToggleHandler.bind(this);
|
|
79
|
+
}
|
|
80
|
+
connectedCallback() {
|
|
81
|
+
// Set up accessibility patcher and event listeners for the first component
|
|
82
|
+
if (popoverInstances === 0) {
|
|
83
|
+
window.addEventListener('pointerup', globalToggleHandler);
|
|
84
|
+
window.addEventListener('keydown', globalToggleHandler);
|
|
85
|
+
this.triggerObserver?.observe(document.body, {
|
|
86
|
+
subtree: true,
|
|
87
|
+
childList: true,
|
|
88
|
+
attributeFilter: [popoverTargetAttribute],
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
popoverInstances++;
|
|
92
|
+
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
93
|
+
}
|
|
94
|
+
componentDidLoad() {
|
|
95
|
+
this.validatePlacement();
|
|
96
|
+
this.validateCloseButtonCaption();
|
|
97
|
+
this.popoverRef.addEventListener('beforetoggle', this.localBeforeToggleHandler);
|
|
98
|
+
}
|
|
99
|
+
disconnectedCallback() {
|
|
100
|
+
popoverInstances--;
|
|
101
|
+
// Remove listeners and observer after the last popover has been destructed
|
|
102
|
+
if (popoverInstances === 0) {
|
|
103
|
+
window.removeEventListener('click', globalToggleHandler);
|
|
104
|
+
window.removeEventListener('keydown', globalToggleHandler);
|
|
105
|
+
this.triggerObserver?.disconnect();
|
|
106
|
+
}
|
|
107
|
+
this.popoverRef.removeEventListener('beforetoggle', this.localBeforeToggleHandler);
|
|
108
|
+
this.triggers.forEach(trigger => trigger.removeAttribute('aria-expanded'));
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Programmatically display the popover
|
|
112
|
+
* @param target An element with [data-popover-target="id"] where the popover should be shown
|
|
113
|
+
*/
|
|
114
|
+
async show(target) {
|
|
115
|
+
this.popoverRef.show(target);
|
|
116
|
+
console.log(this.popoverRef);
|
|
117
|
+
target.setAttribute('aria-expanded', 'true');
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Programmatically hide this popover
|
|
121
|
+
*/
|
|
122
|
+
async hide() {
|
|
123
|
+
this.popoverRef.hide();
|
|
124
|
+
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Toggle popover display
|
|
128
|
+
* @param target An element with [data-popover-target="id"] where the popover should be anchored to
|
|
129
|
+
* @param force Pass true to always show or false to always hide
|
|
130
|
+
*/
|
|
131
|
+
async toggle(target, force) {
|
|
132
|
+
const newState = await this.popoverRef.toggle(target, force);
|
|
133
|
+
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
134
|
+
target.setAttribute('aria-expanded', `${newState}`);
|
|
135
|
+
}
|
|
136
|
+
get triggers() {
|
|
137
|
+
return document.querySelectorAll(`[${popoverTargetAttribute}="${this.host.id}"]`);
|
|
138
|
+
}
|
|
139
|
+
beforeToggleHandler() {
|
|
140
|
+
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
141
|
+
}
|
|
142
|
+
patchAccessibilityFeatures(trigger) {
|
|
143
|
+
const force = trigger.hasAttribute(popoverTargetAttribute);
|
|
144
|
+
trigger.setAttribute('aria-expanded', force ? 'false' : null);
|
|
145
|
+
}
|
|
146
|
+
render() {
|
|
147
|
+
return (h(Host, { key: 'c0a36766203f4b2f6350c9c92b304eb9052d2ceb', "data-version": version }, h("post-popovercontainer", { key: 'ec9d9e8af53408fd3d2d5aaedab10ccee94322fd', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '4edb0a99f660f5b4c1b35a934cc2d21bb84b1c44', class: "popover-container" }, h("div", { key: '96d3fc664e0a8c5d0b877cf46df9e80433909f5e', class: "popover-content" }, h("slot", { key: '978e3335f1214bed829042cfdf6bd7a23ae9229a' })), h("button", { key: 'b42d5a48ba83d6e1b592b0607e837e8036e0cf54', class: "btn-close", onClick: () => this.hide() }, h("span", { key: '95a7cfd1c4b6c30e04a86e58d4cf9a70eec885c8', class: "visually-hidden" }, this.closeButtonCaption))))));
|
|
148
|
+
}
|
|
149
|
+
get host() { return this; }
|
|
150
|
+
static get watchers() { return {
|
|
151
|
+
"placement": ["validatePlacement"],
|
|
152
|
+
"closeButtonCaption": ["validateCloseButtonCaption"]
|
|
153
|
+
}; }
|
|
154
|
+
static get style() { return postPopoverCss; }
|
|
155
|
+
}, [1, "post-popover", {
|
|
156
|
+
"placement": [1],
|
|
157
|
+
"closeButtonCaption": [1, "close-button-caption"],
|
|
158
|
+
"arrow": [4],
|
|
159
|
+
"show": [64],
|
|
160
|
+
"hide": [64],
|
|
161
|
+
"toggle": [64]
|
|
162
|
+
}, undefined, {
|
|
163
|
+
"placement": ["validatePlacement"],
|
|
164
|
+
"closeButtonCaption": ["validateCloseButtonCaption"]
|
|
165
|
+
}]);
|
|
166
|
+
function defineCustomElement$1() {
|
|
167
|
+
if (typeof customElements === "undefined") {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const components = ["post-popover", "post-popovercontainer"];
|
|
171
|
+
components.forEach(tagName => { switch (tagName) {
|
|
172
|
+
case "post-popover":
|
|
173
|
+
if (!customElements.get(tagName)) {
|
|
174
|
+
customElements.define(tagName, PostPopover$1);
|
|
175
|
+
}
|
|
176
|
+
break;
|
|
177
|
+
case "post-popovercontainer":
|
|
178
|
+
if (!customElements.get(tagName)) {
|
|
179
|
+
defineCustomElement$2();
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
} });
|
|
183
|
+
}
|
|
184
|
+
defineCustomElement$1();
|
|
185
|
+
|
|
186
|
+
const PostPopover = PostPopover$1;
|
|
187
|
+
const defineCustomElement = defineCustomElement$1;
|
|
188
|
+
|
|
189
|
+
export { PostPopover, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostPopovercontainer extends Components.PostPopovercontainer, HTMLElement {}
|
|
4
|
+
export const PostPopovercontainer: {
|
|
5
|
+
prototype: PostPopovercontainer;
|
|
6
|
+
new (): PostPopovercontainer;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostRating extends Components.PostRating, HTMLElement {}
|
|
4
|
+
export const PostRating: {
|
|
5
|
+
prototype: PostRating;
|
|
6
|
+
new (): PostRating;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, c as createEvent, h, a as Host } from './index.js';
|
|
2
|
+
import { v as version } from './p-DO48NanC.js';
|
|
3
|
+
import { c as checkRequiredAndType } from './p-CV7fm1rW.js';
|
|
4
|
+
import './p-CJ80BZ06.js';
|
|
5
|
+
import { d as defineCustomElement$2 } from './p-Amg0f2Yo.js';
|
|
6
|
+
|
|
7
|
+
const postRatingCss = ":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
|
+
|
|
9
|
+
const PostRating$1 = /*@__PURE__*/ proxyCustomElement(class PostRating extends H {
|
|
10
|
+
validateLabel() {
|
|
11
|
+
checkRequiredAndType(this, 'label', 'string');
|
|
12
|
+
}
|
|
13
|
+
validateStars() {
|
|
14
|
+
checkRequiredAndType(this, 'stars', 'number');
|
|
15
|
+
}
|
|
16
|
+
validateCurrentRating() {
|
|
17
|
+
checkRequiredAndType(this, 'currentRating', 'number');
|
|
18
|
+
}
|
|
19
|
+
componentWillLoad() {
|
|
20
|
+
this.validateLabel();
|
|
21
|
+
this.validateStars();
|
|
22
|
+
this.validateCurrentRating();
|
|
23
|
+
}
|
|
24
|
+
constructor() {
|
|
25
|
+
super();
|
|
26
|
+
this.__registerHost();
|
|
27
|
+
this.__attachShadow();
|
|
28
|
+
this.postInput = createEvent(this, "postInput");
|
|
29
|
+
this.postChange = createEvent(this, "postChange");
|
|
30
|
+
this.hasChanged = false;
|
|
31
|
+
/**
|
|
32
|
+
* Defines a hidden label for the component.
|
|
33
|
+
*/
|
|
34
|
+
this.label = 'Rating';
|
|
35
|
+
/**
|
|
36
|
+
* Defines the total amount of stars rendered in the component.
|
|
37
|
+
*/
|
|
38
|
+
this.stars = 5;
|
|
39
|
+
/**
|
|
40
|
+
* Defines the rating that the component should show.
|
|
41
|
+
*/
|
|
42
|
+
this.currentRating = 0;
|
|
43
|
+
/**
|
|
44
|
+
* Defines if the component is readonly or not.
|
|
45
|
+
* This usually should be used together with the `currentRating` property.
|
|
46
|
+
*/
|
|
47
|
+
this.readonly = false;
|
|
48
|
+
this.keydownHandler = this.keydownHandler.bind(this);
|
|
49
|
+
this.blurHandler = this.blurHandler.bind(this);
|
|
50
|
+
this.hoverHandler = this.hoverHandler.bind(this);
|
|
51
|
+
}
|
|
52
|
+
update(value) {
|
|
53
|
+
if (this.readonly || value < 0 || value > this.stars)
|
|
54
|
+
return;
|
|
55
|
+
this.currentRating = this.currentRating !== value ? value : 0; // If a star is clicked the second time, the rating gets set to 0.
|
|
56
|
+
this.postInput.emit({ value: this.currentRating });
|
|
57
|
+
this.hasChanged = true;
|
|
58
|
+
}
|
|
59
|
+
keydownHandler(e) {
|
|
60
|
+
switch (e.key) {
|
|
61
|
+
case 'ArrowDown':
|
|
62
|
+
case 'ArrowLeft':
|
|
63
|
+
e.preventDefault();
|
|
64
|
+
this.update(this.currentRating - 1);
|
|
65
|
+
break;
|
|
66
|
+
case 'ArrowUp':
|
|
67
|
+
case 'ArrowRight':
|
|
68
|
+
e.preventDefault();
|
|
69
|
+
this.update(this.currentRating + 1);
|
|
70
|
+
break;
|
|
71
|
+
case 'Home':
|
|
72
|
+
e.preventDefault();
|
|
73
|
+
this.update(0);
|
|
74
|
+
break;
|
|
75
|
+
case 'End':
|
|
76
|
+
e.preventDefault();
|
|
77
|
+
this.update(this.stars);
|
|
78
|
+
break;
|
|
79
|
+
case 'Enter':
|
|
80
|
+
case ' ':
|
|
81
|
+
this.blurHandler();
|
|
82
|
+
break;
|
|
83
|
+
default:
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
blurHandler() {
|
|
88
|
+
if (this.hasChanged) {
|
|
89
|
+
this.postChange.emit({ value: this.currentRating });
|
|
90
|
+
this.hasChanged = false;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
hoverHandler(index, e) {
|
|
94
|
+
if (this.readonly)
|
|
95
|
+
return;
|
|
96
|
+
if (e.type === 'mouseenter') {
|
|
97
|
+
this.hoveredIndex = index;
|
|
98
|
+
}
|
|
99
|
+
else if (e.type === 'mouseleave') {
|
|
100
|
+
this.hoveredIndex = undefined;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
render() {
|
|
104
|
+
return (h(Host, { key: 'b7dcf175b548433023ea3344be40b1b34f366f3c', "data-version": version }, h("div", { key: '1ec0c35a4ec969f489196116c4fdbaf89f203bed', 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: {
|
|
105
|
+
'star': true,
|
|
106
|
+
'before-hover': i < this.hoveredIndex,
|
|
107
|
+
'active': i < Math.round(this.currentRating),
|
|
108
|
+
'hover': i === this.hoveredIndex,
|
|
109
|
+
'after-active': i > this.hoveredIndex && i < this.currentRating,
|
|
110
|
+
}, 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" })))))));
|
|
111
|
+
}
|
|
112
|
+
get host() { return this; }
|
|
113
|
+
static get watchers() { return {
|
|
114
|
+
"label": ["validateLabel"],
|
|
115
|
+
"stars": ["validateStars"],
|
|
116
|
+
"currentRating": ["validateCurrentRating"]
|
|
117
|
+
}; }
|
|
118
|
+
static get style() { return postRatingCss; }
|
|
119
|
+
}, [1, "post-rating", {
|
|
120
|
+
"label": [1],
|
|
121
|
+
"stars": [2],
|
|
122
|
+
"currentRating": [1026, "current-rating"],
|
|
123
|
+
"readonly": [4],
|
|
124
|
+
"hoveredIndex": [32]
|
|
125
|
+
}, undefined, {
|
|
126
|
+
"label": ["validateLabel"],
|
|
127
|
+
"stars": ["validateStars"],
|
|
128
|
+
"currentRating": ["validateCurrentRating"]
|
|
129
|
+
}]);
|
|
130
|
+
function defineCustomElement$1() {
|
|
131
|
+
if (typeof customElements === "undefined") {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const components = ["post-rating", "post-icon"];
|
|
135
|
+
components.forEach(tagName => { switch (tagName) {
|
|
136
|
+
case "post-rating":
|
|
137
|
+
if (!customElements.get(tagName)) {
|
|
138
|
+
customElements.define(tagName, PostRating$1);
|
|
139
|
+
}
|
|
140
|
+
break;
|
|
141
|
+
case "post-icon":
|
|
142
|
+
if (!customElements.get(tagName)) {
|
|
143
|
+
defineCustomElement$2();
|
|
144
|
+
}
|
|
145
|
+
break;
|
|
146
|
+
} });
|
|
147
|
+
}
|
|
148
|
+
defineCustomElement$1();
|
|
149
|
+
|
|
150
|
+
const PostRating = PostRating$1;
|
|
151
|
+
const defineCustomElement = defineCustomElement$1;
|
|
152
|
+
|
|
153
|
+
export { PostRating, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostTabHeader extends Components.PostTabHeader, HTMLElement {}
|
|
4
|
+
export const PostTabHeader: {
|
|
5
|
+
prototype: PostTabHeader;
|
|
6
|
+
new (): PostTabHeader;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, a as Host } from './index.js';
|
|
2
|
+
import { v as version } from './p-DO48NanC.js';
|
|
3
|
+
import { c as checkRequiredAndType } from './p-CV7fm1rW.js';
|
|
4
|
+
import './p-CJ80BZ06.js';
|
|
5
|
+
import { n as nanoid } from './p-BLchVpF6.js';
|
|
6
|
+
|
|
7
|
+
const postTabHeaderCss = ".tab-title[role=tab]{display:inline-block;cursor:pointer;position:relative;box-sizing:border-box;padding:1rem;transition:background-color 100ms;border-right:1px solid rgba(0,0,0,0);border-left:1px solid rgba(0,0,0,0);outline-color:currentColor;opacity:.7;color:#000;text-decoration:none;background-color:rgba(0,0,0,0)}.tab-title[role=tab]:focus{background-color:unset;color:#000}.tab-title[role=tab]:hover{opacity:1;background-color:rgba(0,0,0,.6);color:#fff}.tab-title[role=tab]:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:rgba(0,0,0,.6);color:#fff;box-shadow:none}.tab-title[role=tab]:focus-visible::after{content:\"\";display:block;position:absolute;top:2px;right:1px;bottom:0;left:1px;box-shadow:0 0 0 1px #fff,0 0 0 2px #333}.tab-title[role=tab].active{z-index:1;border-right-color:#ccc;border-left-color:#ccc;opacity:1;background-color:#fff;color:#000;font-weight:700}.tab-title[role=tab].active::before{content:\"\";display:block;position:absolute;top:0;right:-1px;left:-1px;height:var(--post-core-dimension-4);background-color:#fc0}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:hover{background-color:rgba(255,255,255,.2)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:focus-visible{background-color:rgba(255,255,255,.2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title[role=tab]{opacity:1;border-left-color:Canvas;border-right-color:Canvas;color:LinkText}.tab-title[role=tab]:hover,.tab-title[role=tab]:focus,.tab-title[role=tab]:focus-within,.tab-title[role=tab]:focus-visible{outline:var(--post-core-dimension-2) solid Highlight;outline-offset:calc(var(--post-core-dimension-4)*-1)}.tab-title[role=tab].active{border-left-color:ButtonText;border-right-color:ButtonText;color:Highlight}.tab-title[role=tab].active::before{background-color:Highlight}}:host{display:block}.tab-title{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title{background-color:ButtonFace !important}.tab-title:hover{background-color:Highlight !important}}";
|
|
8
|
+
|
|
9
|
+
const PostTabHeader$1 = /*@__PURE__*/ proxyCustomElement(class PostTabHeader extends H {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.__registerHost();
|
|
13
|
+
this.__attachShadow();
|
|
14
|
+
}
|
|
15
|
+
validateFor() {
|
|
16
|
+
checkRequiredAndType(this, 'panel', 'string');
|
|
17
|
+
}
|
|
18
|
+
componentWillLoad() {
|
|
19
|
+
this.tabId = `tab-${this.host.id || nanoid(6)}`;
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
return (h(Host, { key: '11b7499afb05a1d7e6f9af548667ec93f7c2af77', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '589c626bd31aed39c1f90b74ee81b2d9fdf3b7c0' })));
|
|
23
|
+
}
|
|
24
|
+
get host() { return this; }
|
|
25
|
+
static get watchers() { return {
|
|
26
|
+
"panel": ["validateFor"]
|
|
27
|
+
}; }
|
|
28
|
+
static get style() { return postTabHeaderCss; }
|
|
29
|
+
}, [1, "post-tab-header", {
|
|
30
|
+
"panel": [513],
|
|
31
|
+
"tabId": [32]
|
|
32
|
+
}, undefined, {
|
|
33
|
+
"panel": ["validateFor"]
|
|
34
|
+
}]);
|
|
35
|
+
function defineCustomElement$1() {
|
|
36
|
+
if (typeof customElements === "undefined") {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const components = ["post-tab-header"];
|
|
40
|
+
components.forEach(tagName => { switch (tagName) {
|
|
41
|
+
case "post-tab-header":
|
|
42
|
+
if (!customElements.get(tagName)) {
|
|
43
|
+
customElements.define(tagName, PostTabHeader$1);
|
|
44
|
+
}
|
|
45
|
+
break;
|
|
46
|
+
} });
|
|
47
|
+
}
|
|
48
|
+
defineCustomElement$1();
|
|
49
|
+
|
|
50
|
+
const PostTabHeader = PostTabHeader$1;
|
|
51
|
+
const defineCustomElement = defineCustomElement$1;
|
|
52
|
+
|
|
53
|
+
export { PostTabHeader, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostTabPanel extends Components.PostTabPanel, HTMLElement {}
|
|
4
|
+
export const PostTabPanel: {
|
|
5
|
+
prototype: PostTabPanel;
|
|
6
|
+
new (): PostTabPanel;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, a as Host } from './index.js';
|
|
2
|
+
import { v as version } from './p-DO48NanC.js';
|
|
3
|
+
import { n as nanoid } from './p-BLchVpF6.js';
|
|
4
|
+
import { c as checkRequiredAndType } from './p-CV7fm1rW.js';
|
|
5
|
+
import './p-CJ80BZ06.js';
|
|
6
|
+
|
|
7
|
+
const postTabPanelCss = ":host{display:none}";
|
|
8
|
+
|
|
9
|
+
const PostTabPanel$1 = /*@__PURE__*/ proxyCustomElement(class PostTabPanel extends H {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.__registerHost();
|
|
13
|
+
this.__attachShadow();
|
|
14
|
+
}
|
|
15
|
+
validateName() {
|
|
16
|
+
checkRequiredAndType(this, 'name', 'string');
|
|
17
|
+
}
|
|
18
|
+
componentWillLoad() {
|
|
19
|
+
this.validateName();
|
|
20
|
+
// get the id set on the host element or use a random id by default
|
|
21
|
+
this.panelId = `panel-${this.host.id || nanoid(6)}`;
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
return (h(Host, { key: '3f4af71d9dcd4c8d3a25514c4decf322b0297e0f', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: 'fb2106769715676d200722103855cb3f82f30b83' })));
|
|
25
|
+
}
|
|
26
|
+
get host() { return this; }
|
|
27
|
+
static get watchers() { return {
|
|
28
|
+
"name": ["validateName"]
|
|
29
|
+
}; }
|
|
30
|
+
static get style() { return postTabPanelCss; }
|
|
31
|
+
}, [1, "post-tab-panel", {
|
|
32
|
+
"name": [513],
|
|
33
|
+
"panelId": [32]
|
|
34
|
+
}, undefined, {
|
|
35
|
+
"name": ["validateName"]
|
|
36
|
+
}]);
|
|
37
|
+
function defineCustomElement$1() {
|
|
38
|
+
if (typeof customElements === "undefined") {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const components = ["post-tab-panel"];
|
|
42
|
+
components.forEach(tagName => { switch (tagName) {
|
|
43
|
+
case "post-tab-panel":
|
|
44
|
+
if (!customElements.get(tagName)) {
|
|
45
|
+
customElements.define(tagName, PostTabPanel$1);
|
|
46
|
+
}
|
|
47
|
+
break;
|
|
48
|
+
} });
|
|
49
|
+
}
|
|
50
|
+
defineCustomElement$1();
|
|
51
|
+
|
|
52
|
+
const PostTabPanel = PostTabPanel$1;
|
|
53
|
+
const defineCustomElement = defineCustomElement$1;
|
|
54
|
+
|
|
55
|
+
export { PostTabPanel, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostTabs extends Components.PostTabs, HTMLElement {}
|
|
4
|
+
export const PostTabs: {
|
|
5
|
+
prototype: PostTabs;
|
|
6
|
+
new (): PostTabs;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|