@swisspost/design-system-components 10.0.0-next.46 → 10.0.0-next.48
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 +8 -8
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{package-Din0le0Q.js → package-CZyXYkIN.js} +1 -1
- package/dist/cjs/post-accordion_2.cjs.entry.js +4 -4
- package/dist/cjs/post-avatar.cjs.entry.js +91 -54
- package/dist/cjs/post-back-to-top.cjs.entry.js +32 -7
- package/dist/cjs/post-banner.cjs.entry.js +31 -35
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +1 -1
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/post-card-control.cjs.entry.js +3 -3
- package/dist/cjs/post-closebutton_15.cjs.entry.js +39 -8
- package/dist/cjs/post-collapsible_2.cjs.entry.js +2 -2
- package/dist/cjs/post-components.cjs.js +1 -1
- package/dist/cjs/post-footer.cjs.entry.js +1 -1
- package/dist/cjs/post-linkarea.cjs.entry.js +1 -1
- package/dist/cjs/post-popover.cjs.entry.js +1 -1
- package/dist/cjs/post-rating.cjs.entry.js +1 -1
- package/dist/cjs/post-tab-header.cjs.entry.js +1 -1
- package/dist/cjs/post-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/post-tabs.cjs.entry.js +2 -2
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +1 -1
- package/dist/cjs/post-tooltip.cjs.entry.js +1 -1
- package/dist/collection/animations/slide-and-fade.js +25 -0
- 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.js +91 -58
- package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +5 -5
- package/dist/collection/components/post-banner/post-banner.css +1 -1
- package/dist/collection/components/post-banner/post-banner.js +41 -81
- package/dist/collection/components/post-card-control/post-card-control.js +8 -8
- package/dist/collection/components/post-closebutton/post-closebutton.js +9 -1
- package/dist/collection/components/post-menu/post-menu.js +4 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +1 -1
- package/dist/collection/components/post-tabs/post-tabs.js +3 -3
- package/dist/collection/utils/event-from.js +2 -2
- package/dist/components/{p-8U5GFtQP.js → 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 +99 -62
- package/dist/components/post-back-to-top.js +37 -13
- package/dist/components/post-banner.js +39 -51
- package/dist/components/post-breadcrumb-item.js +1 -1
- package/dist/components/post-breadcrumb-item2.js +79 -0
- package/dist/components/post-breadcrumbs.js +13 -14
- package/dist/components/post-card-control.js +10 -11
- package/dist/components/post-closebutton.js +13 -6
- 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 +10 -11
- package/dist/components/post-header.js +30 -8
- package/dist/components/post-icon.js +1 -1
- package/dist/components/post-icon2.js +153 -0
- package/dist/components/post-language-option.js +8 -9
- package/dist/components/post-language-switch.js +12 -13
- package/dist/components/post-linkarea.js +3 -4
- package/dist/components/post-list-item.js +3 -4
- package/dist/components/post-list.js +4 -5
- package/dist/components/post-logo.js +5 -6
- package/dist/components/post-mainnavigation.js +4 -5
- package/dist/components/post-megadropdown-trigger.js +6 -7
- package/dist/components/post-megadropdown.js +7 -8
- 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 +222 -0
- package/dist/components/post-popover.js +6 -7
- package/dist/components/post-popovercontainer.js +1 -1
- package/dist/components/post-popovercontainer2.js +3018 -0
- package/dist/components/post-rating.js +8 -9
- package/dist/components/post-tab-header.js +6 -7
- package/dist/components/post-tab-panel.js +6 -7
- package/dist/components/post-tabs.js +7 -8
- package/dist/components/post-togglebutton.js +3 -4
- package/dist/components/post-tooltip-trigger.js +6 -7
- package/dist/components/post-tooltip.js +6 -7
- package/dist/components/react/index.d.ts +33 -0
- package/dist/components/react/index.js +2315 -0
- package/dist/components/react/p-0Ltezq5O.js +3 -0
- package/dist/components/{p-C8YtuR96.js → react/p-38PqL5iD.js} +1 -1
- package/dist/components/react/p-BLchVpF6.js +14 -0
- package/dist/components/react/p-C35MCWIp.js +35 -0
- package/dist/components/{p-Dg6sSnLv.js → react/p-CGsAj6ij.js} +1 -1
- 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-D1Ldeko3.js → react/p-Ce7jgYmK.js} +2 -2
- package/dist/components/{p-DNnYEFO6.js → react/p-CiYSngKM.js} +7 -7
- package/dist/components/{p-Cpy7mEQb.js → react/p-Da5wbVP8.js} +1 -1
- package/dist/components/{p-9rHPmDn6.js → react/p-Dq9F2i7n.js} +2 -2
- package/dist/components/{p-jLh9Y0sO.js → react/p-DzYquz3e.js} +2 -2
- package/dist/components/{p-C1i4rB_c.js → react/p-JHuJA2Lv.js} +4 -4
- package/dist/components/react/p-SbIC4aZX.js +11 -0
- package/dist/components/{p-Cd5RHPSU.js → react/p-Tg0GNTZM.js} +2 -2
- package/dist/{esm/event-from-8U5GFtQP.js → components/react/p-kraHE1r3.js} +2 -2
- package/dist/components/{p-DQE6fqIb.js → react/p-q8Fvf8A0.js} +1 -1
- package/dist/components/react/p-r4txK0AC.js +3 -0
- 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 +226 -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 +333 -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 +101 -0
- package/dist/components/react/post-language-switch.d.ts +11 -0
- package/dist/components/react/post-language-switch.js +159 -0
- package/dist/components/react/post-linkarea.d.ts +11 -0
- package/dist/components/react/post-linkarea.js +46 -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 +197 -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 +43 -76
- package/dist/esm/event-from-kraHE1r3.js +105 -0
- package/dist/esm/index-C8a0ddDa.js +8 -8
- package/dist/esm/index-VmK3ABCB.js +88 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/package-0Ltezq5O.js +3 -0
- package/dist/esm/post-accordion_2.entry.js +5 -5
- package/dist/esm/post-avatar.entry.js +92 -55
- package/dist/esm/post-back-to-top.entry.js +33 -8
- package/dist/esm/post-banner.entry.js +32 -36
- package/dist/esm/post-breadcrumb-item_2.entry.js +2 -2
- package/dist/esm/post-breadcrumbs.entry.js +2 -2
- package/dist/esm/post-card-control.entry.js +4 -4
- package/dist/esm/post-closebutton_15.entry.js +38 -7
- package/dist/esm/post-collapsible_2.entry.js +3 -3
- package/dist/esm/post-components.js +1 -1
- package/dist/esm/post-footer.entry.js +2 -2
- package/dist/esm/post-linkarea.entry.js +1 -1
- package/dist/esm/post-popover.entry.js +2 -2
- package/dist/esm/post-rating.entry.js +2 -2
- package/dist/esm/post-tab-header.entry.js +2 -2
- package/dist/esm/post-tab-panel.entry.js +2 -2
- package/dist/esm/post-tabs.entry.js +2 -2
- package/dist/esm/post-tooltip-trigger.entry.js +2 -2
- package/dist/esm/post-tooltip.entry.js +2 -2
- 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-0Ltezq5O.js +1 -0
- package/dist/post-components/{p-eddb07df.entry.js → p-16772417.entry.js} +1 -1
- package/dist/post-components/{p-1dee733a.entry.js → p-38d3d441.entry.js} +1 -1
- package/dist/post-components/{p-470750be.entry.js → p-3c71f590.entry.js} +1 -1
- package/dist/post-components/p-40f21542.entry.js +1 -0
- package/dist/post-components/{p-30f12b7c.entry.js → p-4243cdd1.entry.js} +1 -1
- package/dist/post-components/p-4c18cb8c.entry.js +1 -0
- package/dist/post-components/{p-7819009b.entry.js → p-51dc7647.entry.js} +1 -1
- package/dist/post-components/{p-80bad606.entry.js → p-6777e505.entry.js} +1 -1
- package/dist/post-components/{p-7689015e.entry.js → p-6add880f.entry.js} +1 -1
- package/dist/post-components/{p-74a9aafc.entry.js → p-8363fedb.entry.js} +1 -1
- package/dist/post-components/p-83998038.entry.js +1 -0
- package/dist/post-components/{p-cb937e6b.entry.js → p-85bb1b5e.entry.js} +1 -1
- package/dist/post-components/{p-a0a1cab6.entry.js → p-8f4d8685.entry.js} +1 -1
- package/dist/post-components/{p-a69c874a.entry.js → p-95ad536d.entry.js} +1 -1
- package/dist/post-components/{p-3789cf50.entry.js → p-9d806e89.entry.js} +1 -1
- package/dist/post-components/{p-BWC0gtGU.js → p-VmK3ABCB.js} +1 -1
- package/dist/post-components/p-aad86320.entry.js +1 -0
- package/dist/post-components/p-c3e38acf.entry.js +1 -0
- package/dist/post-components/{p-ba13450e.entry.js → p-d61bb2ff.entry.js} +1 -1
- package/dist/post-components/p-kraHE1r3.js +1 -0
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/animations/slide-and-fade.d.ts +2 -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 +14 -11
- package/dist/types/components/post-banner/post-banner.d.ts +6 -14
- package/dist/types/components/post-card-control/post-card-control.d.ts +7 -7
- package/dist/types/components/post-closebutton/post-closebutton.d.ts +2 -0
- package/dist/types/components/post-menu/post-menu.d.ts +3 -0
- package/dist/types/components/post-tabs/post-tabs.d.ts +2 -2
- package/dist/types/components.d.ts +9 -27
- package/dist/types/utils/component-on-ready.d.ts +2 -2
- package/hydrate/index.js +208 -142
- package/hydrate/index.mjs +208 -142
- package/package.json +20 -10
- package/dist/cjs/slide-CbBL7A8w.js +0 -28
- package/dist/components/p-7hVD-I9l.js +0 -3
- package/dist/components/p-BuLMaH5t.js +0 -25
- package/dist/esm/package-7hVD-I9l.js +0 -3
- package/dist/esm/slide-BuLMaH5t.js +0 -25
- package/dist/post-components/p-26730afe.entry.js +0 -1
- package/dist/post-components/p-2d3fb75c.entry.js +0 -1
- package/dist/post-components/p-2ed74834.entry.js +0 -1
- package/dist/post-components/p-7hVD-I9l.js +0 -1
- package/dist/post-components/p-8U5GFtQP.js +0 -1
- package/dist/post-components/p-BuLMaH5t.js +0 -1
- package/dist/post-components/p-cb5af9d8.entry.js +0 -1
- package/dist/post-components/p-ea9ae6b7.entry.js +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,197 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, c as createEvent, h, a as Host } from './index.js';
|
|
2
|
+
import { v as version } from './p-0Ltezq5O.js';
|
|
3
|
+
import { f as fadeOut, a as fadeIn } from './p-SbIC4aZX.js';
|
|
4
|
+
import './p-CJ80BZ06.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Invoke the `componentOnReady` method if it is available, simulate it otherwise
|
|
8
|
+
* @see https://stenciljs.com/docs/api#componentonready
|
|
9
|
+
*/
|
|
10
|
+
function componentOnReady(el) {
|
|
11
|
+
if (typeof el.componentOnReady === 'function') {
|
|
12
|
+
return el.componentOnReady();
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return new Promise(resolve => customOnReady(() => {
|
|
16
|
+
resolve(el);
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function customOnReady(callback) {
|
|
21
|
+
if (typeof requestAnimationFrame === 'function') {
|
|
22
|
+
return requestAnimationFrame(callback);
|
|
23
|
+
}
|
|
24
|
+
return setTimeout(callback);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const postTabsCss = ".tabs-wrapper{position:relative;padding-top:1rem;border:0;background-color:rgba(0,0,0,.02)}.tabs-wrapper::after{content:\"\";position:absolute;bottom:0;width:100%;height:1px;background-color:#ccc}.tabs-wrapper .tabs{background-color:rgba(0,0,0,0) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tabs-wrapper::after{background-color:ButtonBorder}}.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;white-space:nowrap;margin-block:0;padding-inline-start:0;list-style:none}.tabs::after{content:\"\";display:block;flex:1 0 auto;width:1rem}.tab-content{padding-top:1rem}:host{display:block}:host([full-width=true]) .tabs-wrapper{margin-inline:calc(-1*var(--post-container-offset))}:host([full-width=true]) .tabs-wrapper .tabs{padding-inline:var(--post-container-offset)}";
|
|
28
|
+
|
|
29
|
+
const PostTabs$1 = /*@__PURE__*/ proxyCustomElement(class PostTabs extends H {
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
this.__registerHost();
|
|
33
|
+
this.__attachShadow();
|
|
34
|
+
this.postChange = createEvent(this, "postChange");
|
|
35
|
+
this.isLoaded = false;
|
|
36
|
+
/**
|
|
37
|
+
* When set to true, this property allows the tabs container to span the
|
|
38
|
+
* full width of the screen, from edge to edge.
|
|
39
|
+
*/
|
|
40
|
+
this.fullWidth = false;
|
|
41
|
+
}
|
|
42
|
+
get tabs() {
|
|
43
|
+
return Array.from(this.host.querySelectorAll('post-tab-header')).filter(tab => tab.closest('post-tabs') === this.host);
|
|
44
|
+
}
|
|
45
|
+
componentDidLoad() {
|
|
46
|
+
this.moveMisplacedTabs();
|
|
47
|
+
this.enableTabs();
|
|
48
|
+
const initiallyActivePanel = this.activePanel || this.tabs[0]?.panel;
|
|
49
|
+
void this.show(initiallyActivePanel);
|
|
50
|
+
this.isLoaded = true;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Shows the panel with the given name and selects its associated tab.
|
|
54
|
+
* Any other panel that was previously shown becomes hidden and its associated tab is unselected.
|
|
55
|
+
*/
|
|
56
|
+
async show(panelName) {
|
|
57
|
+
// do nothing if the tab is already active
|
|
58
|
+
if (panelName === this.activeTab?.panel) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const previousTab = this.activeTab;
|
|
62
|
+
const newTab = this.host.querySelector(`post-tab-header[panel=${panelName}]`);
|
|
63
|
+
this.activateTab(newTab);
|
|
64
|
+
// if a panel is currently being displayed, remove it from the view and complete the associated animation
|
|
65
|
+
if (this.showing) {
|
|
66
|
+
this.showing.effect['target'].style.display = 'none';
|
|
67
|
+
this.showing.finish();
|
|
68
|
+
}
|
|
69
|
+
// hide the currently visible panel only if no other animation is running
|
|
70
|
+
if (previousTab && !this.showing && !this.hiding)
|
|
71
|
+
this.hidePanel(previousTab.panel);
|
|
72
|
+
// wait for any hiding animation to complete before showing the selected tab
|
|
73
|
+
if (this.hiding)
|
|
74
|
+
await this.hiding.finished;
|
|
75
|
+
this.showSelectedPanel();
|
|
76
|
+
// wait for any display animation to complete for the returned promise to fully resolve
|
|
77
|
+
if (this.showing)
|
|
78
|
+
await this.showing.finished;
|
|
79
|
+
if (this.isLoaded)
|
|
80
|
+
this.postChange.emit(this.activeTab.panel);
|
|
81
|
+
}
|
|
82
|
+
moveMisplacedTabs() {
|
|
83
|
+
if (!this.tabs)
|
|
84
|
+
return;
|
|
85
|
+
this.tabs.forEach(tab => {
|
|
86
|
+
if (tab.getAttribute('slot') === 'tabs')
|
|
87
|
+
return;
|
|
88
|
+
tab.setAttribute('slot', 'tabs');
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
enableTabs() {
|
|
92
|
+
if (!this.tabs)
|
|
93
|
+
return;
|
|
94
|
+
this.tabs.forEach(async (tab) => {
|
|
95
|
+
await componentOnReady(tab);
|
|
96
|
+
// if the tab has an "aria-controls" attribute it was already linked to its panel: do nothing
|
|
97
|
+
if (tab.getAttribute('aria-controls'))
|
|
98
|
+
return;
|
|
99
|
+
const tabPanel = this.getPanel(tab.panel);
|
|
100
|
+
tab.setAttribute('aria-controls', tabPanel.id);
|
|
101
|
+
tabPanel.setAttribute('aria-labelledby', tab.id);
|
|
102
|
+
tab.addEventListener('click', () => {
|
|
103
|
+
void this.show(tab.panel);
|
|
104
|
+
});
|
|
105
|
+
tab.addEventListener('keydown', (e) => {
|
|
106
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
107
|
+
e.preventDefault();
|
|
108
|
+
void this.show(tab.panel);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
tab.addEventListener('keydown', (e) => {
|
|
112
|
+
if (e.key === 'ArrowRight' || e.key === 'ArrowLeft')
|
|
113
|
+
this.navigateTabs(tab, e.key);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
// if the currently active tab was removed from the DOM then select the first one
|
|
117
|
+
if (this.activeTab && !this.activeTab.isConnected) {
|
|
118
|
+
void this.show(this.tabs[0]?.panel);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
activateTab(tab) {
|
|
122
|
+
if (this.activeTab) {
|
|
123
|
+
this.activeTab.setAttribute('aria-selected', 'false');
|
|
124
|
+
this.activeTab.setAttribute('tabindex', '-1');
|
|
125
|
+
this.activeTab.classList.remove('active');
|
|
126
|
+
}
|
|
127
|
+
tab.setAttribute('aria-selected', 'true');
|
|
128
|
+
tab.setAttribute('tabindex', '0');
|
|
129
|
+
tab.classList.add('active');
|
|
130
|
+
this.activeTab = tab;
|
|
131
|
+
}
|
|
132
|
+
hidePanel(panelName) {
|
|
133
|
+
const previousPanel = this.getPanel(panelName);
|
|
134
|
+
if (!previousPanel)
|
|
135
|
+
return;
|
|
136
|
+
this.hiding = fadeOut(previousPanel);
|
|
137
|
+
this.hiding.onfinish = () => {
|
|
138
|
+
previousPanel.style.display = 'none';
|
|
139
|
+
this.hiding = null;
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
showSelectedPanel() {
|
|
143
|
+
const panel = this.getPanel(this.activeTab.panel);
|
|
144
|
+
panel.style.display = 'block';
|
|
145
|
+
// prevent the initially selected panel from fading in
|
|
146
|
+
if (!this.isLoaded)
|
|
147
|
+
return;
|
|
148
|
+
this.showing = fadeIn(panel);
|
|
149
|
+
this.showing.onfinish = () => {
|
|
150
|
+
this.showing = null;
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
getPanel(name) {
|
|
154
|
+
return this.host.querySelector(`post-tab-panel[name=${name}]`);
|
|
155
|
+
}
|
|
156
|
+
navigateTabs(tab, key) {
|
|
157
|
+
const activeTabIndex = Array.from(this.tabs).indexOf(tab);
|
|
158
|
+
let nextTab;
|
|
159
|
+
if (key === 'ArrowRight') {
|
|
160
|
+
nextTab = this.tabs[activeTabIndex + 1] || this.tabs[0];
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
nextTab = this.tabs[activeTabIndex - 1] || this.tabs[this.tabs.length - 1];
|
|
164
|
+
}
|
|
165
|
+
if (!nextTab)
|
|
166
|
+
return;
|
|
167
|
+
nextTab.focus();
|
|
168
|
+
}
|
|
169
|
+
render() {
|
|
170
|
+
return (h(Host, { key: 'dc7228c840d65e3546e0d13e5bcaa78819b5aeb9', "data-version": version }, h("div", { key: '377d592f7c00f3ec0c7aba2a4a8ca2b88cd37927', class: "tabs-wrapper", part: "tabs" }, h("div", { key: '6e79f33d6cd82d55ba9fad2f09f6163ce7e0a372', class: "tabs", role: "tablist" }, h("slot", { key: '65fbf3cb6525f2f2ae97eb60dad313811db4c585', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: '675a59a27e79bad06ea2b70c4fc7b0a6f4b020ff', class: "tab-content", part: "content" }, h("slot", { key: 'b559af0fa652e352673fbabb6829a62a5630e809', onSlotchange: () => this.moveMisplacedTabs() }))));
|
|
171
|
+
}
|
|
172
|
+
get host() { return this; }
|
|
173
|
+
static get style() { return postTabsCss; }
|
|
174
|
+
}, [1, "post-tabs", {
|
|
175
|
+
"activePanel": [1, "active-panel"],
|
|
176
|
+
"fullWidth": [516, "full-width"],
|
|
177
|
+
"show": [64]
|
|
178
|
+
}]);
|
|
179
|
+
function defineCustomElement$1() {
|
|
180
|
+
if (typeof customElements === "undefined") {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const components = ["post-tabs"];
|
|
184
|
+
components.forEach(tagName => { switch (tagName) {
|
|
185
|
+
case "post-tabs":
|
|
186
|
+
if (!customElements.get(tagName)) {
|
|
187
|
+
customElements.define(tagName, PostTabs$1);
|
|
188
|
+
}
|
|
189
|
+
break;
|
|
190
|
+
} });
|
|
191
|
+
}
|
|
192
|
+
defineCustomElement$1();
|
|
193
|
+
|
|
194
|
+
const PostTabs = PostTabs$1;
|
|
195
|
+
const defineCustomElement = defineCustomElement$1;
|
|
196
|
+
|
|
197
|
+
export { PostTabs, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostTogglebutton extends Components.PostTogglebutton, HTMLElement {}
|
|
4
|
+
export const PostTogglebutton: {
|
|
5
|
+
prototype: PostTogglebutton;
|
|
6
|
+
new (): PostTogglebutton;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, a as Host } from './index.js';
|
|
2
|
+
import { v as version } from './p-0Ltezq5O.js';
|
|
3
|
+
|
|
4
|
+
const postTogglebuttonCss = ":host{cursor:pointer;outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host(:focus-visible){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:focus-visible){outline-color:Highlight !important}}:host([aria-pressed=true]) ::slotted([data-showwhen=untoggled]){display:none}:host([aria-pressed=false]) ::slotted([data-showwhen=toggled]){display:none}";
|
|
5
|
+
|
|
6
|
+
const PostTogglebutton$1 = /*@__PURE__*/ proxyCustomElement(class PostTogglebutton extends H {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
this.__attachShadow();
|
|
11
|
+
/**
|
|
12
|
+
* If `true`, the button is in the "on" state, otherwise it is in the "off" state.
|
|
13
|
+
*/
|
|
14
|
+
this.toggled = false;
|
|
15
|
+
this.handleClick = () => {
|
|
16
|
+
this.toggled = !this.toggled;
|
|
17
|
+
};
|
|
18
|
+
this.handleKeydown = (event) => {
|
|
19
|
+
// perform a click when enter or spaced are pressed to mimic the button behavior
|
|
20
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
21
|
+
event.preventDefault(); // prevents the page from scrolling when space is pressed
|
|
22
|
+
this.host.click();
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
componentWillLoad() {
|
|
27
|
+
// add event listener to not override listener that might be set on the host
|
|
28
|
+
this.host.addEventListener('click', () => this.handleClick());
|
|
29
|
+
this.host.addEventListener('keydown', (e) => this.handleKeydown(e));
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
return (h(Host, { key: '1cebe1d1314e2c89f141869e07521e7f30e58617', "data-version": version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, h("slot", { key: '8b8c33befde8e93eca73a6239170c3786e2cf2f2' })));
|
|
33
|
+
}
|
|
34
|
+
get host() { return this; }
|
|
35
|
+
static get style() { return postTogglebuttonCss; }
|
|
36
|
+
}, [1, "post-togglebutton", {
|
|
37
|
+
"toggled": [1028]
|
|
38
|
+
}]);
|
|
39
|
+
function defineCustomElement$1() {
|
|
40
|
+
if (typeof customElements === "undefined") {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const components = ["post-togglebutton"];
|
|
44
|
+
components.forEach(tagName => { switch (tagName) {
|
|
45
|
+
case "post-togglebutton":
|
|
46
|
+
if (!customElements.get(tagName)) {
|
|
47
|
+
customElements.define(tagName, PostTogglebutton$1);
|
|
48
|
+
}
|
|
49
|
+
break;
|
|
50
|
+
} });
|
|
51
|
+
}
|
|
52
|
+
defineCustomElement$1();
|
|
53
|
+
|
|
54
|
+
const PostTogglebutton = PostTogglebutton$1;
|
|
55
|
+
const defineCustomElement = defineCustomElement$1;
|
|
56
|
+
|
|
57
|
+
export { PostTogglebutton, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../../types/components";
|
|
2
|
+
|
|
3
|
+
interface PostTooltipTrigger extends Components.PostTooltipTrigger, HTMLElement {}
|
|
4
|
+
export const PostTooltipTrigger: {
|
|
5
|
+
prototype: PostTooltipTrigger;
|
|
6
|
+
new (): PostTooltipTrigger;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|