@swisspost/design-system-components 2.0.1 → 2.0.3
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/attribute-observer-10f08c04.js +27 -0
- package/dist/cjs/index.cjs.js +13 -12
- package/dist/cjs/{package-0645dd08.js → package-628f6e9c.js} +1 -1
- package/dist/cjs/{post-accordion-64aa88cf.js → post-accordion-da546aa2.js} +1 -1
- package/dist/cjs/{post-accordion-item-51df1dfa.js → post-accordion-item-33d5593a.js} +3 -3
- package/dist/cjs/post-accordion-item.cjs.entry.js +2 -2
- package/dist/cjs/post-accordion.cjs.entry.js +2 -2
- package/dist/cjs/post-alert-26c1bcda.js +98 -0
- package/dist/cjs/post-alert.cjs.entry.js +2 -2
- package/dist/cjs/{post-collapsible-84416953.js → post-collapsible-278b2a71.js} +1 -1
- package/dist/cjs/post-collapsible.cjs.entry.js +2 -2
- package/dist/cjs/{post-icon-5fc20211.js → post-icon-fd09bc54.js} +2 -2
- package/dist/cjs/post-icon.cjs.entry.js +2 -2
- package/dist/cjs/post-popover-1e454296.js +104 -0
- package/dist/cjs/post-popover.cjs.entry.js +3 -2
- package/dist/cjs/{post-popovercontainer-cc5fa030.js → post-popovercontainer-5e355de3.js} +26 -11
- package/dist/cjs/post-popovercontainer.cjs.entry.js +2 -2
- package/dist/cjs/post-tab-header-5c8b9a0d.js +32 -0
- package/dist/cjs/post-tab-header.cjs.entry.js +2 -2
- package/dist/cjs/{post-tab-panel-1143ea40.js → post-tab-panel-67ba226d.js} +1 -1
- package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/{post-tabs-7ef36ff6.js → post-tabs-71510ced.js} +1 -1
- package/dist/cjs/post-tabs.cjs.entry.js +2 -2
- package/dist/cjs/{post-tooltip-45784e17.js → post-tooltip-b6bbb3e4.js} +124 -42
- package/dist/cjs/post-tooltip.cjs.entry.js +3 -2
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +1 -1
- package/dist/collection/components/post-alert/post-alert.css +5 -5
- package/dist/collection/components/post-icon/post-icon.css +1 -1
- package/dist/collection/components/post-popover/post-popover.css +1 -1
- package/dist/collection/components/post-popover/post-popover.js +47 -63
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +25 -10
- package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +120 -42
- package/dist/collection/utils/attribute-observer.js +23 -0
- package/dist/components/attribute-observer.js +25 -0
- package/dist/components/package.js +1 -1
- package/dist/components/post-accordion-item2.js +2 -2
- package/dist/components/post-alert2.js +1 -1
- package/dist/components/post-icon2.js +1 -1
- package/dist/components/post-popover2.js +51 -64
- package/dist/components/post-popovercontainer2.js +25 -10
- package/dist/components/post-tab-header2.js +1 -1
- package/dist/components/post-tooltip2.js +123 -41
- package/dist/docs.json +5 -25
- package/dist/esm/attribute-observer-37fa950a.js +25 -0
- package/dist/esm/index.js +13 -12
- package/dist/esm/{package-37a68f71.js → package-15929f57.js} +1 -1
- package/dist/esm/{post-accordion-8872dc1b.js → post-accordion-be080240.js} +1 -1
- package/dist/esm/{post-accordion-item-02b9f01c.js → post-accordion-item-7b3c726b.js} +3 -3
- package/dist/esm/post-accordion-item.entry.js +2 -2
- package/dist/esm/post-accordion.entry.js +2 -2
- package/dist/esm/post-alert-37f853eb.js +96 -0
- package/dist/esm/post-alert.entry.js +2 -2
- package/dist/esm/{post-collapsible-1f23fe7d.js → post-collapsible-967bb191.js} +1 -1
- package/dist/esm/post-collapsible.entry.js +2 -2
- package/dist/esm/{post-icon-2ec2127e.js → post-icon-ba163099.js} +2 -2
- package/dist/esm/post-icon.entry.js +2 -2
- package/dist/esm/post-popover-69694fa6.js +102 -0
- package/dist/esm/post-popover.entry.js +3 -2
- package/dist/esm/{post-popovercontainer-4a48161f.js → post-popovercontainer-da870ff0.js} +26 -11
- package/dist/esm/post-popovercontainer.entry.js +2 -2
- package/dist/esm/post-tab-header-14ed99cd.js +30 -0
- package/dist/esm/post-tab-header.entry.js +2 -2
- package/dist/esm/{post-tab-panel-da24046f.js → post-tab-panel-d89c4c50.js} +1 -1
- package/dist/esm/post-tab-panel.entry.js +2 -2
- package/dist/esm/{post-tabs-21a5dfeb.js → post-tabs-e995886a.js} +1 -1
- package/dist/esm/post-tabs.entry.js +2 -2
- package/dist/esm/{post-tooltip-4f4f87b4.js → post-tooltip-0ec6a388.js} +124 -42
- package/dist/esm/post-tooltip.entry.js +3 -2
- package/dist/post-components/index.esm.js +1 -1
- package/dist/post-components/p-00ab91d9.entry.js +1 -0
- package/dist/post-components/p-04f47e54.entry.js +1 -0
- package/dist/post-components/{p-e836df41.js → p-1f284e66.js} +1 -1
- package/dist/post-components/p-209e33a5.js +1 -0
- package/dist/post-components/p-282e21c2.entry.js +1 -0
- package/dist/post-components/p-34a772e3.entry.js +1 -0
- package/dist/post-components/p-46c47aa4.entry.js +1 -0
- package/dist/post-components/{p-73a7d4f9.js → p-51fe19e0.js} +1 -1
- package/dist/post-components/p-557f0f10.entry.js +1 -0
- package/dist/post-components/p-5ecceba0.js +1 -0
- package/dist/post-components/p-61d98756.js +1 -0
- package/dist/post-components/p-6adeaa6c.js +1 -0
- package/dist/post-components/{p-aee1750c.js → p-6b3ba10a.js} +1 -1
- package/dist/post-components/p-82f4f464.entry.js +1 -0
- package/dist/post-components/p-94256868.js +15 -0
- package/dist/post-components/p-98cb0bbd.entry.js +1 -0
- package/dist/post-components/p-9ee95668.entry.js +1 -0
- package/dist/post-components/p-a0d342e4.entry.js +1 -0
- package/dist/post-components/{p-c1c8f2ec.js → p-a9d59b04.js} +1 -1
- package/dist/post-components/p-ac7b779e.js +1 -0
- package/dist/post-components/p-d9c9ed63.js +1 -0
- package/dist/post-components/p-e1bf894f.entry.js +1 -0
- package/dist/post-components/p-e8d17225.js +1 -0
- package/dist/post-components/p-f47b0207.js +1 -0
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/components/post-popover/post-popover.d.ts +3 -17
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +1 -0
- package/dist/types/components/post-tooltip/post-tooltip.d.ts +14 -9
- package/dist/types/utils/attribute-observer.d.ts +1 -0
- package/package.json +4 -3
- package/dist/cjs/post-alert-ac59385a.js +0 -98
- package/dist/cjs/post-popover-be868244.js +0 -117
- package/dist/cjs/post-tab-header-5a7070e9.js +0 -32
- package/dist/esm/post-alert-1a766c15.js +0 -96
- package/dist/esm/post-popover-f6029c96.js +0 -115
- package/dist/esm/post-tab-header-63676360.js +0 -30
- package/dist/post-components/p-0b46c9ba.entry.js +0 -1
- package/dist/post-components/p-21557c34.js +0 -15
- package/dist/post-components/p-2b67b933.js +0 -1
- package/dist/post-components/p-47fd6eb0.js +0 -1
- package/dist/post-components/p-548ee455.entry.js +0 -1
- package/dist/post-components/p-63b6c589.entry.js +0 -1
- package/dist/post-components/p-66f346fb.entry.js +0 -1
- package/dist/post-components/p-7973e3e4.js +0 -1
- package/dist/post-components/p-829f9eaf.entry.js +0 -1
- package/dist/post-components/p-82facb04.js +0 -1
- package/dist/post-components/p-8aa01298.js +0 -1
- package/dist/post-components/p-9170d84d.entry.js +0 -1
- package/dist/post-components/p-959f83c0.entry.js +0 -1
- package/dist/post-components/p-9bc7ed9e.entry.js +0 -1
- package/dist/post-components/p-a3fc7eaf.js +0 -1
- package/dist/post-components/p-a762b512.entry.js +0 -1
- package/dist/post-components/p-ccd827a1.js +0 -1
- package/dist/post-components/p-d25e401c.entry.js +0 -1
- package/dist/post-components/p-f655856d.entry.js +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host, g as getElement } from './index-1708db56.js';
|
|
2
2
|
import { c as checkEmptyOrOneOf, d as checkEmptyOrType, a as checkType } from './index-b444db27.js';
|
|
3
|
-
import { v as version } from './package-
|
|
3
|
+
import { v as version } from './package-15929f57.js';
|
|
4
4
|
import { c as checkNonEmpty } from './check-non-empty-58bd6b17.js';
|
|
5
5
|
|
|
6
|
-
const postIconCss = ":host{display:inline-block;width:1em;height:1em;vertical-align:-0.15em}span{display:block;width:100%;height:100%;fill:currentColor;background-color:currentColor;-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}:host([flip-h]:not([flip-h=false])){scale:-1 1}:host([flip-v]:not([flip-v=false])){scale:1 -1}:host([flip-h][flip-v]:not([flip-h=false],[flip-v=false])){scale:-1}:host([animation]){transform-origin:center}:host([animation=cylon]){animation:icon-animation-cylon .75s ease-in-out infinite alternate}:host([animation=cylon-vertical]){animation:icon-animation-cylon-vertical .75s ease-in-out infinite alternate}:host([animation=spin]){animation:icon-animation-spin 2s linear infinite normal}:host([animation=spin-reverse]){animation:icon-animation-spin 2s linear infinite reverse}:host([animation=fade]){animation:icon-animation-fade .75s ease-in-out infinite alternate}:host([animation=throb]){animation:icon-animation-throb .75s ease-in-out infinite alternate}@keyframes icon-animation-cylon{from{transform:translateX(-25%)}to{transform:translateX(25%)}}@keyframes icon-animation-cylon-vertical{from{transform:translateY(25%)}to{transform:translateY(-25%)}}@keyframes icon-animation-fade{from{opacity:.1}to{opacity:1}}@keyframes icon-animation-spin{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes icon-animation-throb{from{opacity:.5;transform:scale(0.5)}to{opacity:1;transform:scale(1)}}";
|
|
6
|
+
const postIconCss = ":host{display:inline-block;width:1em;height:1em;vertical-align:-0.15em}span{display:block;width:100%;height:100%;fill:currentColor;forced-color-adjust:preserve-parent-color;background-color:currentColor;-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}:host([flip-h]:not([flip-h=false])){scale:-1 1}:host([flip-v]:not([flip-v=false])){scale:1 -1}:host([flip-h][flip-v]:not([flip-h=false],[flip-v=false])){scale:-1}:host([animation]){transform-origin:center}:host([animation=cylon]){animation:icon-animation-cylon .75s ease-in-out infinite alternate}:host([animation=cylon-vertical]){animation:icon-animation-cylon-vertical .75s ease-in-out infinite alternate}:host([animation=spin]){animation:icon-animation-spin 2s linear infinite normal}:host([animation=spin-reverse]){animation:icon-animation-spin 2s linear infinite reverse}:host([animation=fade]){animation:icon-animation-fade .75s ease-in-out infinite alternate}:host([animation=throb]){animation:icon-animation-throb .75s ease-in-out infinite alternate}@keyframes icon-animation-cylon{from{transform:translateX(-25%)}to{transform:translateX(25%)}}@keyframes icon-animation-cylon-vertical{from{transform:translateY(25%)}to{transform:translateY(-25%)}}@keyframes icon-animation-fade{from{opacity:.1}to{opacity:1}}@keyframes icon-animation-spin{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes icon-animation-throb{from{opacity:.5;transform:scale(0.5)}to{opacity:1;transform:scale(1)}}";
|
|
7
7
|
const PostIconStyle0 = postIconCss;
|
|
8
8
|
|
|
9
9
|
const CDN_URL = 'https://unpkg.com/@swisspost/design-system-icons/public/post-icons';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { P as post_icon } from './post-icon-
|
|
1
|
+
export { P as post_icon } from './post-icon-ba163099.js';
|
|
2
2
|
import './index-1708db56.js';
|
|
3
3
|
import './index-b444db27.js';
|
|
4
4
|
import './constants-8d548297.js';
|
|
5
|
-
import './package-
|
|
5
|
+
import './package-15929f57.js';
|
|
6
6
|
import './check-non-empty-58bd6b17.js';
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { r as registerInstance, h, H as Host, g as getElement } from './index-1708db56.js';
|
|
2
|
+
import { v as version } from './package-15929f57.js';
|
|
3
|
+
import { g as getAttributeObserver } from './attribute-observer-37fa950a.js';
|
|
4
|
+
|
|
5
|
+
const postPopoverCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */.btn-close{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;-webkit-appearance:button;appearance:button;outline:none;outline-offset:2px;border-radius:4px;color:var(--post-gray-80);transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.btn-close::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='icon'%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/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='icon'%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/g%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;content:\"\";display:block;height:1.5rem;width:1.5rem}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:var(--post-contrast-color)}.btn-close:disabled{color:var(--post-gray-40)}@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{--post-contrast-color:#fff;--post-bg-rgb:51, 51, 51;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;max-width:min(66vw,60rem)}@media (max-width: 599.98px){.popover-container{max-width:100%}}.popover-content{padding:.5em}";
|
|
6
|
+
const PostPopoverStyle0 = postPopoverCss;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @slot default - Slot for placing content inside the popover.
|
|
10
|
+
*/
|
|
11
|
+
let popoverInstances = 0;
|
|
12
|
+
const popoverTargetAttribute = 'data-popover-target';
|
|
13
|
+
const globalToggleHandler = (e) => {
|
|
14
|
+
const target = e.target;
|
|
15
|
+
if (!target || !('getAttribute' in target))
|
|
16
|
+
return;
|
|
17
|
+
const popoverTarget = target.getAttribute(popoverTargetAttribute);
|
|
18
|
+
if (!popoverTarget || ('key' in e && e.key !== 'Enter'))
|
|
19
|
+
return;
|
|
20
|
+
const popover = document.getElementById(popoverTarget);
|
|
21
|
+
popover === null || popover === void 0 ? void 0 : popover.toggle(target);
|
|
22
|
+
};
|
|
23
|
+
// Initialize a mutation observer for patching accessibility features
|
|
24
|
+
const triggerObserver = getAttributeObserver(popoverTargetAttribute, trigger => {
|
|
25
|
+
const force = trigger.hasAttribute(popoverTargetAttribute);
|
|
26
|
+
trigger.setAttribute('aria-expanded', force ? 'false' : null);
|
|
27
|
+
});
|
|
28
|
+
const PostPopover = class {
|
|
29
|
+
constructor(hostRef) {
|
|
30
|
+
registerInstance(this, hostRef);
|
|
31
|
+
this.placement = 'top';
|
|
32
|
+
this.closeButtonCaption = undefined;
|
|
33
|
+
this.arrow = true;
|
|
34
|
+
this.localBeforeToggleHandler = this.beforeToggleHandler.bind(this);
|
|
35
|
+
}
|
|
36
|
+
connectedCallback() {
|
|
37
|
+
// Set up accessibility patcher and event listeners for the first component
|
|
38
|
+
if (popoverInstances === 0) {
|
|
39
|
+
window.addEventListener('pointerup', globalToggleHandler);
|
|
40
|
+
window.addEventListener('keydown', globalToggleHandler);
|
|
41
|
+
triggerObserver.observe(document.body, {
|
|
42
|
+
subtree: true,
|
|
43
|
+
childList: true,
|
|
44
|
+
attributeFilter: [popoverTargetAttribute],
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
popoverInstances++;
|
|
48
|
+
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
49
|
+
}
|
|
50
|
+
componentDidLoad() {
|
|
51
|
+
this.popoverRef.addEventListener('beforetoggle', this.localBeforeToggleHandler);
|
|
52
|
+
}
|
|
53
|
+
disconnectedCallback() {
|
|
54
|
+
popoverInstances--;
|
|
55
|
+
// Remove listeners and observer after the last popover has been destructed
|
|
56
|
+
if (popoverInstances === 0) {
|
|
57
|
+
window.removeEventListener('click', globalToggleHandler);
|
|
58
|
+
window.removeEventListener('keydown', globalToggleHandler);
|
|
59
|
+
triggerObserver.disconnect();
|
|
60
|
+
}
|
|
61
|
+
this.popoverRef.removeEventListener('beforetoggle', this.localBeforeToggleHandler);
|
|
62
|
+
this.triggers.forEach(trigger => trigger.removeAttribute('aria-expanded'));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Programmatically display the popover
|
|
66
|
+
* @param target An element with [data-popover-target="id"] where the popover should be shown
|
|
67
|
+
*/
|
|
68
|
+
async show(target) {
|
|
69
|
+
this.popoverRef.show(target);
|
|
70
|
+
target.setAttribute('aria-expanded', 'true');
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Programmatically hide this popover
|
|
74
|
+
*/
|
|
75
|
+
async hide() {
|
|
76
|
+
this.popoverRef.hide();
|
|
77
|
+
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Toggle popover display
|
|
81
|
+
* @param target An element with [data-popover-target="id"] where the popover should be anchored to
|
|
82
|
+
* @param force Pass true to always show or false to always hide
|
|
83
|
+
*/
|
|
84
|
+
async toggle(target, force) {
|
|
85
|
+
const newState = await this.popoverRef.toggle(target, force);
|
|
86
|
+
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
87
|
+
target.setAttribute('aria-expanded', `${newState}`);
|
|
88
|
+
}
|
|
89
|
+
get triggers() {
|
|
90
|
+
return document.querySelectorAll(`[${popoverTargetAttribute}="${this.host.id}"]`);
|
|
91
|
+
}
|
|
92
|
+
beforeToggleHandler() {
|
|
93
|
+
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
94
|
+
}
|
|
95
|
+
render() {
|
|
96
|
+
return (h(Host, { key: '90cd97eedfdecb6666c5825cd09bb323cf857cbb', "data-version": version }, h("post-popovercontainer", { key: 'fe555322454124f4b9a618c634f2ae504ec89c07', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'd6e30229dd8d38c95e165d1fc55b1c7af5c7b5e2', class: "popover-container" }, h("div", { key: 'c43c1347bb6bfe3532387693b1761b53533584ec', class: "popover-content" }, h("slot", { key: '24a4aa1df86497a4fe4b72adaac76f6e69db9d9e' })), h("button", { key: '3a5e52f480ddd1ef41d068e476d2a8c5f7d77c4a', class: "btn-close", onClick: () => this.hide() }, h("span", { key: '493310100d3f76dfe5bf6cf1d64250b7551be43c', class: "visually-hidden" }, this.closeButtonCaption))))));
|
|
97
|
+
}
|
|
98
|
+
get host() { return getElement(this); }
|
|
99
|
+
};
|
|
100
|
+
PostPopover.style = PostPopoverStyle0;
|
|
101
|
+
|
|
102
|
+
export { PostPopover as P };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { P as post_popover } from './post-popover-
|
|
1
|
+
export { P as post_popover } from './post-popover-69694fa6.js';
|
|
2
2
|
import './index-1708db56.js';
|
|
3
|
-
import './package-
|
|
3
|
+
import './package-15929f57.js';
|
|
4
|
+
import './attribute-observer-37fa950a.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-1708db56.js';
|
|
2
|
-
import { v as version } from './package-
|
|
2
|
+
import { v as version } from './package-15929f57.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Custom positioning reference element.
|
|
@@ -1832,7 +1832,7 @@ const computePosition = (reference, floating, options) => {
|
|
|
1832
1832
|
}
|
|
1833
1833
|
`,E=null;function I(e){if(E===null)try{E=new CSSStyleSheet,E.replaceSync(C);}catch{E=!1;}if(E===!1){let t=document.createElement("style");t.textContent=C,e instanceof Document?e.head.prepend(t):e.prepend(t);}else e.adoptedStyleSheets=[E,...e.adoptedStyleSheets];}function K(){window.ToggleEvent=window.ToggleEvent||c;function e(n){return n?.includes(":popover-open")&&(n=n.replace(J,"$1.\\:popover-open")),n}f(Document.prototype,"querySelector",e),f(Document.prototype,"querySelectorAll",e),f(Element.prototype,"querySelector",e),f(Element.prototype,"querySelectorAll",e),f(Element.prototype,"matches",e),f(Element.prototype,"closest",e),f(DocumentFragment.prototype,"querySelectorAll",e),f(DocumentFragment.prototype,"querySelectorAll",e),Object.defineProperties(HTMLElement.prototype,{popover:{enumerable:!0,configurable:!0,get(){if(!this.hasAttribute("popover"))return null;let n=(this.getAttribute("popover")||"").toLowerCase();return n===""||n=="auto"?"auto":"manual"},set(n){this.setAttribute("popover",n);}},showPopover:{enumerable:!0,configurable:!0,value(){S(this);}},hidePopover:{enumerable:!0,configurable:!0,value(){m(this,!0,!0);}},togglePopover:{enumerable:!0,configurable:!0,value(n){h.get(this)==="showing"&&n===void 0||n===!1?m(this,!0,!0):(n===void 0||n===!0)&&S(this);}}});let t=Element.prototype.attachShadow;t&&Object.defineProperties(Element.prototype,{attachShadow:{enumerable:!0,configurable:!0,writable:!0,value(n){let s=t.call(this,n);return I(s),s}}});let o=HTMLElement.prototype.attachInternals;o&&Object.defineProperties(HTMLElement.prototype,{attachInternals:{enumerable:!0,configurable:!0,writable:!0,value(){let n=o.call(this);return n.shadowRoot&&I(n.shadowRoot),n}}});let r=new WeakMap;function i(n){Object.defineProperties(n.prototype,{popoverTargetElement:{enumerable:!0,configurable:!0,set(s){if(s===null)this.removeAttribute("popovertarget"),r.delete(this);else if(s instanceof Element)this.setAttribute("popovertarget",""),r.set(this,s);else throw new TypeError("popoverTargetElement must be an element or null")},get(){if(this.localName!=="button"&&this.localName!=="input"||this.localName==="input"&&this.type!=="reset"&&this.type!=="image"&&this.type!=="button"||this.disabled||this.form&&this.type==="submit")return null;let s=r.get(this);if(s&&s.isConnected)return s;if(s&&!s.isConnected)return r.delete(this),null;let u=v(this),w=this.getAttribute("popovertarget");return (u instanceof Document||u instanceof B)&&w&&u.getElementById(w)||null}},popoverTargetAction:{enumerable:!0,configurable:!0,get(){let s=(this.getAttribute("popovertargetaction")||"").toLowerCase();return s==="show"||s==="hide"?s:"toggle"},set(s){this.setAttribute("popovertargetaction",s);}}});}i(HTMLButtonElement),i(HTMLInputElement);let l=n=>{if(!n.isTrusted)return;let s=n.composedPath()[0];if(!(s instanceof Element)||s?.shadowRoot)return;let u=v(s);if(!(u instanceof B||u instanceof Document))return;let w=s.closest("[popovertargetaction],[popovertarget]");if(w){O(w),n.preventDefault();return}},a=n=>{let s=n.key,u=n.target;!n.defaultPrevented&&u&&(s==="Escape"||s==="Esc")&&T(u.ownerDocument,!0,!0);};(n=>{n.addEventListener("click",l),n.addEventListener("keydown",a),n.addEventListener("pointerdown",x),n.addEventListener("pointerup",x);})(document),I(document);}j()||K();})();
|
|
1834
1834
|
|
|
1835
|
-
const postPopovercontainerCss = "@layer polyfill{@supports not selector(:popover-open){[popover]:not(.\\:popover-open){display:none}}}.popover{box-shadow:.5px 3px 4px rgba(0,0,0,.1),2px 4px 10px 4px rgba(0,0,0,.12);position:fixed;z-index:1060;width:max-content;margin:0;padding:0;box-sizing:border-box;color:var(--post-contrast-color);background-color:rgb(var(--post-bg-rgb));border:
|
|
1835
|
+
const postPopovercontainerCss = "@layer polyfill{@supports not selector(:popover-open){[popover]:not(.\\:popover-open){display:none}}}.popover{box-shadow:.5px 3px 4px rgba(0,0,0,.1),2px 4px 10px 4px rgba(0,0,0,.12);position:fixed;z-index:1060;width:max-content;margin:0;padding:0;box-sizing:border-box;color:var(--post-contrast-color);background-color:rgb(var(--post-bg-rgb));border:2px solid rgba(0,0,0,0);border-radius:4px;overflow:visible}.arrow{position:absolute;width:.7071067812rem;height:.7071067812rem;background-color:inherit;rotate:45deg;pointer-events:none;z-index:-1}.arrow.top{border-left:2px solid rgba(0,0,0,0);border-top:2px solid rgba(0,0,0,0)}.arrow.right{border-right:2px solid rgba(0,0,0,0);border-top:2px solid rgba(0,0,0,0)}.arrow.left{border-left:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0)}.arrow.bottom{border-right:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0)}";
|
|
1836
1836
|
const PostPopovercontainerStyle0 = postPopovercontainerCss;
|
|
1837
1837
|
|
|
1838
1838
|
const SIDE_MAP = {
|
|
@@ -1863,15 +1863,20 @@ const PostPopovercontainer = class {
|
|
|
1863
1863
|
* @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
|
|
1864
1864
|
*/
|
|
1865
1865
|
async show(target) {
|
|
1866
|
-
this.
|
|
1867
|
-
|
|
1866
|
+
if (!this.toggleTimeoutId) {
|
|
1867
|
+
this.eventTarget = target;
|
|
1868
|
+
this.calculatePosition();
|
|
1869
|
+
this.popoverRef.showPopover();
|
|
1870
|
+
}
|
|
1868
1871
|
}
|
|
1869
1872
|
/**
|
|
1870
1873
|
* Programmatically hide this tooltip
|
|
1871
1874
|
*/
|
|
1872
1875
|
async hide() {
|
|
1873
|
-
this.
|
|
1874
|
-
|
|
1876
|
+
if (!this.toggleTimeoutId) {
|
|
1877
|
+
this.eventTarget = null;
|
|
1878
|
+
this.popoverRef.hidePopover();
|
|
1879
|
+
}
|
|
1875
1880
|
}
|
|
1876
1881
|
/**
|
|
1877
1882
|
* Toggle tooltip display
|
|
@@ -1879,8 +1884,13 @@ const PostPopovercontainer = class {
|
|
|
1879
1884
|
* @param force Pass true to always show or false to always hide
|
|
1880
1885
|
*/
|
|
1881
1886
|
async toggle(target, force) {
|
|
1882
|
-
|
|
1883
|
-
this.
|
|
1887
|
+
// Prevent instant double toggle
|
|
1888
|
+
if (!this.toggleTimeoutId) {
|
|
1889
|
+
this.eventTarget = target;
|
|
1890
|
+
this.calculatePosition();
|
|
1891
|
+
this.popoverRef.togglePopover(force);
|
|
1892
|
+
this.toggleTimeoutId = null;
|
|
1893
|
+
}
|
|
1884
1894
|
return this.popoverRef.matches(':popover-open');
|
|
1885
1895
|
}
|
|
1886
1896
|
/**
|
|
@@ -1890,6 +1900,7 @@ const PostPopovercontainer = class {
|
|
|
1890
1900
|
* @param e ToggleEvent
|
|
1891
1901
|
*/
|
|
1892
1902
|
handleToggle(e) {
|
|
1903
|
+
this.toggleTimeoutId = window.setTimeout(() => (this.toggleTimeoutId = null), 10);
|
|
1893
1904
|
const isOpen = e.newState === 'open';
|
|
1894
1905
|
if (isOpen) {
|
|
1895
1906
|
this.startAutoupdates();
|
|
@@ -1945,17 +1956,21 @@ const PostPopovercontainer = class {
|
|
|
1945
1956
|
const side = currentPlacement.split('-')[0];
|
|
1946
1957
|
const { x: arrowX, y: arrowY } = middlewareData.arrow;
|
|
1947
1958
|
const staticSide = SIDE_MAP[side];
|
|
1959
|
+
const offsetBorderLineJoin = 2;
|
|
1948
1960
|
Object.assign(this.arrowRef.style, {
|
|
1949
1961
|
top: arrowY ? `${arrowY}px` : '',
|
|
1950
1962
|
left: arrowX ? `${arrowX}px` : '',
|
|
1951
|
-
[staticSide]: `${-this.arrowRef.offsetWidth / 2}px`,
|
|
1963
|
+
[staticSide]: `${-this.arrowRef.offsetWidth / 2 - offsetBorderLineJoin}px`,
|
|
1952
1964
|
});
|
|
1965
|
+
// Add position as a class to be able to style arrow for HCM
|
|
1966
|
+
this.arrowRef.classList.remove(...Object.values(SIDE_MAP));
|
|
1967
|
+
this.arrowRef.classList.add(staticSide);
|
|
1953
1968
|
}
|
|
1954
1969
|
}
|
|
1955
1970
|
render() {
|
|
1956
|
-
return (h(Host, { key: '
|
|
1971
|
+
return (h(Host, { key: '8049387a5ba6eefb3165e84c098ba4ae5b8f443f', "data-version": version }, h("div", { key: '63d3095a7992baf46fbc74b5c595654cbdeaba66', class: "popover", part: "popover", ref: (el) => (this.popoverRef = el) }, this.arrow && (h("span", { class: "arrow", ref: el => {
|
|
1957
1972
|
this.arrowRef = el;
|
|
1958
|
-
} })), h("slot", { key: '
|
|
1973
|
+
} })), h("slot", { key: '74b1746bf48f8aa915c443721c1c2af1c1a3df5d' }))));
|
|
1959
1974
|
}
|
|
1960
1975
|
get host() { return getElement(this); }
|
|
1961
1976
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { P as post_popovercontainer } from './post-popovercontainer-
|
|
1
|
+
export { P as post_popovercontainer } from './post-popovercontainer-da870ff0.js';
|
|
2
2
|
import './index-1708db56.js';
|
|
3
|
-
import './package-
|
|
3
|
+
import './package-15929f57.js';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { r as registerInstance, h, H as Host, g as getElement } from './index-1708db56.js';
|
|
2
|
+
import { v as version } from './package-15929f57.js';
|
|
3
|
+
import { c as checkNonEmpty } from './check-non-empty-58bd6b17.js';
|
|
4
|
+
|
|
5
|
+
const postTabHeaderCss = ".tab-title[role=tab]{display:inline-block;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:var(--post-contrast-color);text-decoration:none}.tab-title[role=tab]:focus{background-color:unset;color:var(--post-contrast-color)}.tab-title[role=tab]:hover{opacity:1;background-color:#fff;color:var(--post-contrast-color)}.tab-title[role=tab]:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:#fff;color:var(--post-contrast-color);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:var(--post-contrast-color);font-weight:700}.tab-title[role=tab].active::before{content:\"\";display:block;position:absolute;top:0;right:-1px;left:-1px;height:.25rem;background-color:#fc0}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-success-green,.bg-error-red) .tab-title[role=tab]:hover{background-color:rgba(255,255,255,.2)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-success-green,.bg-error-red) .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:2px solid Highlight;outline-offset:-0.25rem}.tab-title[role=tab].active{border-left-color:ButtonText;border-right-color:ButtonText;color:Highlight}.tab-title[role=tab].active::before{background-color:Highlight}}.bg-yellow .tab-title{background-color:#fc0}.bg-yellow .tab-title.active{background-color:#fc0}.bg-yellow .nav-item{background-color:#fc0}.bg-light .tab-title{background-color:#faf9f8}.bg-light .tab-title.active{background-color:#faf9f8}.bg-light .nav-item{background-color:#faf9f8}.bg-gray .tab-title{background-color:#f4f3f1}.bg-gray .tab-title.active{background-color:#f4f3f1}.bg-gray .nav-item{background-color:#f4f3f1}.bg-dark .tab-title{background-color:#333}.bg-dark .tab-title.active{background-color:#333}.bg-dark .nav-item{background-color:#333}.bg-primary .tab-title{background-color:#333}.bg-primary .tab-title.active{background-color:#333}.bg-primary .nav-item{background-color:#333}.bg-white .tab-title{background-color:#fff}.bg-white .tab-title.active{background-color:#fff}.bg-white .nav-item{background-color:#fff}.bg-black .tab-title{background-color:#000}.bg-black .tab-title.active{background-color:#000}.bg-black .nav-item{background-color:#000}.bg-info .tab-title{background-color:#cce4ee}.bg-info .tab-title.active{background-color:#cce4ee}.bg-info .nav-item{background-color:#cce4ee}.bg-success .tab-title{background-color:#2c911c}.bg-success .tab-title.active{background-color:#2c911c}.bg-success .nav-item{background-color:#2c911c}.bg-warning .tab-title{background-color:#f49e00}.bg-warning .tab-title.active{background-color:#f49e00}.bg-warning .nav-item{background-color:#f49e00}.bg-danger .tab-title{background-color:#a51728}.bg-danger .tab-title.active{background-color:#a51728}.bg-danger .nav-item{background-color:#a51728}.bg-nightblue .tab-title{background-color:#004976}.bg-nightblue .tab-title.active{background-color:#004976}.bg-nightblue .nav-item{background-color:#004976}.bg-nightblue-bright .tab-title{background-color:#0076a8}.bg-nightblue-bright .tab-title.active{background-color:#0076a8}.bg-nightblue-bright .nav-item{background-color:#0076a8}.bg-petrol .tab-title{background-color:#006d68}.bg-petrol .tab-title.active{background-color:#006d68}.bg-petrol .nav-item{background-color:#006d68}.bg-petrol-bright .tab-title{background-color:#00968f}.bg-petrol-bright .tab-title.active{background-color:#00968f}.bg-petrol-bright .nav-item{background-color:#00968f}.bg-coral .tab-title{background-color:#9e2a2f}.bg-coral .tab-title.active{background-color:#9e2a2f}.bg-coral .nav-item{background-color:#9e2a2f}.bg-coral-bright .tab-title{background-color:#e03c31}.bg-coral-bright .tab-title.active{background-color:#e03c31}.bg-coral-bright .nav-item{background-color:#e03c31}.bg-olive .tab-title{background-color:#716135}.bg-olive .tab-title.active{background-color:#716135}.bg-olive .nav-item{background-color:#716135}.bg-olive-bright .tab-title{background-color:#aa9d2e}.bg-olive-bright .tab-title.active{background-color:#aa9d2e}.bg-olive-bright .nav-item{background-color:#aa9d2e}.bg-purple .tab-title{background-color:#80276c}.bg-purple .tab-title.active{background-color:#80276c}.bg-purple .nav-item{background-color:#80276c}.bg-purple-bright .tab-title{background-color:#c5299b}.bg-purple-bright .tab-title.active{background-color:#c5299b}.bg-purple-bright .nav-item{background-color:#c5299b}.bg-aubergine .tab-title{background-color:#523178}.bg-aubergine .tab-title.active{background-color:#523178}.bg-aubergine .nav-item{background-color:#523178}.bg-aubergine-bright .tab-title{background-color:#7566a0}.bg-aubergine-bright .tab-title.active{background-color:#7566a0}.bg-aubergine-bright .nav-item{background-color:#7566a0}.bg-success-green .tab-title{background-color:#2c871d}.bg-success-green .tab-title.active{background-color:#2c871d}.bg-success-green .nav-item{background-color:#2c871d}.bg-error-red .tab-title{background-color:#a51728}.bg-error-red .tab-title.active{background-color:#a51728}.bg-error-red .nav-item{background-color:#a51728}.bg-warning-orange .tab-title{background-color:#f49e00}.bg-warning-orange .tab-title.active{background-color:#f49e00}.bg-warning-orange .nav-item{background-color:#f49e00}.bg-success-background .tab-title{background-color:#c0debb}.bg-success-background .tab-title.active{background-color:#c0debb}.bg-success-background .nav-item{background-color:#c0debb}.bg-error-background .tab-title{background-color:#ffdade}.bg-error-background .tab-title.active{background-color:#ffdade}.bg-error-background .nav-item{background-color:#ffdade}.bg-warning-background .tab-title{background-color:#fce2b2}.bg-warning-background .tab-title.active{background-color:#fce2b2}.bg-warning-background .nav-item{background-color:#fce2b2}[class*=bg-] .tab-title.active:focus::after{background-color:rgba(255,255,255,.2)}@supports selector(*:focus-visible){[class*=bg-] .tab-title.active:focus::after{background-color:unset}[class*=bg-] .tab-title.active:focus-visible::after{background-color:rgba(255,255,255,.2)}}/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{display:block}.tab-title{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;-webkit-appearance:button;appearance:button}";
|
|
6
|
+
const PostTabHeaderStyle0 = postTabHeaderCss;
|
|
7
|
+
|
|
8
|
+
const PostTabHeader = class {
|
|
9
|
+
constructor(hostRef) {
|
|
10
|
+
registerInstance(this, hostRef);
|
|
11
|
+
this.tabId = undefined;
|
|
12
|
+
this.panel = undefined;
|
|
13
|
+
}
|
|
14
|
+
validateFor(newValue) {
|
|
15
|
+
checkNonEmpty(newValue, 'The "panel" prop is required for the post-tab-header.');
|
|
16
|
+
}
|
|
17
|
+
componentWillLoad() {
|
|
18
|
+
this.tabId = `tab-${this.host.id || crypto.randomUUID()}`;
|
|
19
|
+
}
|
|
20
|
+
render() {
|
|
21
|
+
return (h(Host, { key: '5685ea424c0e59351a7df7e6b990740067f7e986', "data-version": version }, h("button", { key: 'f32ebddafa7450b081c88e44405f59396a0e6b97', "aria-selected": "false", class: "tab-title", id: this.tabId, role: "tab", tabindex: "-1", type: "button" }, h("slot", { key: '95022af953bbbaf41b5eac4594bf00dc4b12fb37' }))));
|
|
22
|
+
}
|
|
23
|
+
get host() { return getElement(this); }
|
|
24
|
+
static get watchers() { return {
|
|
25
|
+
"panel": ["validateFor"]
|
|
26
|
+
}; }
|
|
27
|
+
};
|
|
28
|
+
PostTabHeader.style = PostTabHeaderStyle0;
|
|
29
|
+
|
|
30
|
+
export { PostTabHeader as P };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { P as post_tab_header } from './post-tab-header-
|
|
1
|
+
export { P as post_tab_header } from './post-tab-header-14ed99cd.js';
|
|
2
2
|
import './index-1708db56.js';
|
|
3
|
-
import './package-
|
|
3
|
+
import './package-15929f57.js';
|
|
4
4
|
import './check-non-empty-58bd6b17.js';
|
|
5
5
|
import './constants-8d548297.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host, g as getElement } from './index-1708db56.js';
|
|
2
|
-
import { v as version } from './package-
|
|
2
|
+
import { v as version } from './package-15929f57.js';
|
|
3
3
|
|
|
4
4
|
const postTabPanelCss = ":host{display:none}";
|
|
5
5
|
const PostTabPanelStyle0 = postTabPanelCss;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { P as post_tab_panel } from './post-tab-panel-
|
|
1
|
+
export { P as post_tab_panel } from './post-tab-panel-d89c4c50.js';
|
|
2
2
|
import './index-1708db56.js';
|
|
3
|
-
import './package-
|
|
3
|
+
import './package-15929f57.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-1708db56.js';
|
|
2
|
-
import { v as version } from './package-
|
|
2
|
+
import { v as version } from './package-15929f57.js';
|
|
3
3
|
import { f as fadeOut, a as fadeIn } from './fade-7fd71785.js';
|
|
4
4
|
|
|
5
5
|
const postTabsCss = ".tabs-wrapper{position:relative;padding-top:1rem;border:0;background-color:#faf9f8}.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{margin:0;padding:0;list-style:none;display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;white-space:nowrap}.tabs::after{content:\"\";display:block;flex:1 0 auto;width:1rem}.tab-content{margin-block:1rem}.bg-yellow .tabs-wrapper{background-color:#fc0}.bg-light .tabs-wrapper{background-color:#faf9f8}.bg-gray .tabs-wrapper{background-color:#f4f3f1}.bg-dark .tabs-wrapper{background-color:#333}.bg-primary .tabs-wrapper{background-color:#333}.bg-white .tabs-wrapper{background-color:#fff}.bg-black .tabs-wrapper{background-color:#000}.bg-info .tabs-wrapper{background-color:#cce4ee}.bg-success .tabs-wrapper{background-color:#2c911c}.bg-warning .tabs-wrapper{background-color:#f49e00}.bg-danger .tabs-wrapper{background-color:#a51728}.bg-nightblue .tabs-wrapper{background-color:#004976}.bg-nightblue-bright .tabs-wrapper{background-color:#0076a8}.bg-petrol .tabs-wrapper{background-color:#006d68}.bg-petrol-bright .tabs-wrapper{background-color:#00968f}.bg-coral .tabs-wrapper{background-color:#9e2a2f}.bg-coral-bright .tabs-wrapper{background-color:#e03c31}.bg-olive .tabs-wrapper{background-color:#716135}.bg-olive-bright .tabs-wrapper{background-color:#aa9d2e}.bg-purple .tabs-wrapper{background-color:#80276c}.bg-purple-bright .tabs-wrapper{background-color:#c5299b}.bg-aubergine .tabs-wrapper{background-color:#523178}.bg-aubergine-bright .tabs-wrapper{background-color:#7566a0}.bg-success-green .tabs-wrapper{background-color:#2c871d}.bg-error-red .tabs-wrapper{background-color:#a51728}.bg-warning-orange .tabs-wrapper{background-color:#f49e00}.bg-success-background .tabs-wrapper{background-color:#c0debb}.bg-error-background .tabs-wrapper{background-color:#ffdade}.bg-warning-background .tabs-wrapper{background-color:#fce2b2}:host{display:block}";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host, g as getElement } from './index-1708db56.js';
|
|
2
|
-
import { v as version$1 } from './package-
|
|
2
|
+
import { v as version$1 } from './package-15929f57.js';
|
|
3
|
+
import { g as getAttributeObserver } from './attribute-observer-37fa950a.js';
|
|
3
4
|
|
|
4
5
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
5
6
|
|
|
@@ -4769,18 +4770,87 @@ const isFocusable = /*@__PURE__*/getDefaultExportFromCjs(focusable.exports);
|
|
|
4769
4770
|
|
|
4770
4771
|
}(window, document));
|
|
4771
4772
|
|
|
4772
|
-
const postTooltipCss = ":host{--post-contrast-color:#fff;--post-bg-rgb:51, 51, 51}post-popovercontainer::part(popover){padding:.25rem .5rem;max-width:13.5rem;min-height:1rem}";
|
|
4773
|
+
const postTooltipCss = ":host{--post-contrast-color:#fff;--post-bg-rgb:51, 51, 51}post-popovercontainer::part(popover){padding:.25rem .5rem;max-width:13.5rem;min-height:1rem}post-popovercontainer.has-arrow::part(popover)::after{position:absolute;content:\"\";inset:-13px;z-index:-1}";
|
|
4773
4774
|
const PostTooltipStyle0 = postTooltipCss;
|
|
4774
4775
|
|
|
4776
|
+
/**
|
|
4777
|
+
* @slot default - Slot for the content of the tooltip.
|
|
4778
|
+
*/
|
|
4779
|
+
/**
|
|
4780
|
+
* Track how many instances remain on the page. Used for removing global event listeners
|
|
4781
|
+
*/
|
|
4782
|
+
let tooltipInstances = 0;
|
|
4783
|
+
let hideTooltipTimeout = null;
|
|
4784
|
+
const tooltipTargetAttribute = 'data-tooltip-target';
|
|
4785
|
+
/**
|
|
4786
|
+
* Global event listener to show tooltips. This is globalized so that triggers that are rendered
|
|
4787
|
+
* async will still work without the need to set listeners on the element itself
|
|
4788
|
+
* @param e Event
|
|
4789
|
+
* @returns
|
|
4790
|
+
*/
|
|
4791
|
+
const globalInterestHandler = (e) => {
|
|
4792
|
+
const target = e.target;
|
|
4793
|
+
if (!target || !('getAttribute' in target))
|
|
4794
|
+
return;
|
|
4795
|
+
const tooltipTarget = target.getAttribute(tooltipTargetAttribute);
|
|
4796
|
+
if (!tooltipTarget || tooltipTarget === '')
|
|
4797
|
+
return;
|
|
4798
|
+
const tooltip = document.getElementById(tooltipTarget);
|
|
4799
|
+
tooltip === null || tooltip === void 0 ? void 0 : tooltip.show(target);
|
|
4800
|
+
if (hideTooltipTimeout) {
|
|
4801
|
+
window.clearTimeout(hideTooltipTimeout);
|
|
4802
|
+
hideTooltipTimeout = null;
|
|
4803
|
+
}
|
|
4804
|
+
};
|
|
4805
|
+
/**
|
|
4806
|
+
* Global event listener to hide tooltips. This is globalized so that triggers that are rendered
|
|
4807
|
+
* async will still work without the need to set listeners on the element itself
|
|
4808
|
+
* @param e Event
|
|
4809
|
+
* @returns
|
|
4810
|
+
*/
|
|
4811
|
+
const globalInterestLostHandler = (e) => {
|
|
4812
|
+
const target = e.target;
|
|
4813
|
+
const tooltipTarget = target.getAttribute(tooltipTargetAttribute);
|
|
4814
|
+
if (!tooltipTarget || tooltipTarget === '')
|
|
4815
|
+
return;
|
|
4816
|
+
const tooltip = document.getElementById(tooltipTarget);
|
|
4817
|
+
globalHideTooltip(tooltip);
|
|
4818
|
+
};
|
|
4819
|
+
/**
|
|
4820
|
+
* Start the hiding process through a timeout to give other interest events a chance to
|
|
4821
|
+
* intervene and cancel the hide event.
|
|
4822
|
+
* @param {HTMLPostTooltipElement} tooltip
|
|
4823
|
+
*/
|
|
4824
|
+
const globalHideTooltip = (tooltip) => {
|
|
4825
|
+
hideTooltipTimeout = window.setTimeout(() => {
|
|
4826
|
+
tooltip.hide();
|
|
4827
|
+
hideTooltipTimeout = null;
|
|
4828
|
+
}, 42);
|
|
4829
|
+
};
|
|
4830
|
+
/**
|
|
4831
|
+
* Patch some accessibility features that are hard to remember or understand
|
|
4832
|
+
* @param {HTMLElement} trigger
|
|
4833
|
+
*/
|
|
4834
|
+
const patchAccessibilityFeatures = (trigger) => {
|
|
4835
|
+
const describedBy = trigger.getAttribute('aria-describedby');
|
|
4836
|
+
const id = trigger.getAttribute(tooltipTargetAttribute);
|
|
4837
|
+
// Add tooltip to aria-describedby
|
|
4838
|
+
if (!(describedBy === null || describedBy === void 0 ? void 0 : describedBy.includes(id))) {
|
|
4839
|
+
const newDescribedBy = describedBy ? `${describedBy} ${id}` : id;
|
|
4840
|
+
trigger.setAttribute('aria-describedby', newDescribedBy);
|
|
4841
|
+
}
|
|
4842
|
+
// Make element focusable
|
|
4843
|
+
if (!isFocusable(trigger)) {
|
|
4844
|
+
trigger.setAttribute('tabindex', '0');
|
|
4845
|
+
}
|
|
4846
|
+
};
|
|
4847
|
+
// Initialize a mutation observer for patching accessibility features
|
|
4848
|
+
const triggerObserver = getAttributeObserver(tooltipTargetAttribute, patchAccessibilityFeatures);
|
|
4775
4849
|
const PostTooltip = class {
|
|
4776
4850
|
constructor(hostRef) {
|
|
4777
4851
|
registerInstance(this, hostRef);
|
|
4778
4852
|
this.placement = 'top';
|
|
4779
4853
|
this.arrow = true;
|
|
4780
|
-
// Create local versions of event handlers for de-registration
|
|
4781
|
-
// https://stackoverflow.com/questions/33859113/javascript-removeeventlistener-not-working-inside-a-class
|
|
4782
|
-
this.localShowTooltip = e => this.show(e.target);
|
|
4783
|
-
this.localHideTooltip = this.hide.bind(this);
|
|
4784
4854
|
}
|
|
4785
4855
|
connectedCallback() {
|
|
4786
4856
|
if (!this.host.id) {
|
|
@@ -4788,29 +4858,45 @@ const PostTooltip = class {
|
|
|
4788
4858
|
/*prettier-ignore*/
|
|
4789
4859
|
'No id set: <post-tooltip> must have an id, linking it to it\'s target element using the data-tooltip-target attribute.');
|
|
4790
4860
|
}
|
|
4791
|
-
|
|
4792
|
-
|
|
4861
|
+
}
|
|
4862
|
+
/**
|
|
4863
|
+
* Add interest event listeners, but only once, and start
|
|
4864
|
+
* the accessibility patcher
|
|
4865
|
+
*/
|
|
4866
|
+
componentWillLoad() {
|
|
4867
|
+
if (tooltipInstances === 0) {
|
|
4868
|
+
// This is the first tooltip on the page, add event listeners
|
|
4869
|
+
document.addEventListener('pointerover', globalInterestHandler);
|
|
4870
|
+
document.addEventListener('pointerout', globalInterestLostHandler);
|
|
4871
|
+
document.addEventListener('focusin', globalInterestHandler);
|
|
4872
|
+
document.addEventListener('focusout', globalInterestLostHandler);
|
|
4873
|
+
document.addEventListener('long-press', globalInterestHandler);
|
|
4874
|
+
// Initially run the accessibility patcher on all triggers
|
|
4875
|
+
document.querySelectorAll('[data-tooltip-target]').forEach(patchAccessibilityFeatures);
|
|
4876
|
+
// Start watching for future triggers
|
|
4877
|
+
triggerObserver.observe(document.body, {
|
|
4878
|
+
subtree: true,
|
|
4879
|
+
childList: true,
|
|
4880
|
+
attributeFilter: [tooltipTargetAttribute],
|
|
4881
|
+
});
|
|
4793
4882
|
}
|
|
4794
|
-
|
|
4795
|
-
// https://github.com/openui/open-ui/issues/767#issuecomment-1654177227
|
|
4796
|
-
this.triggers.forEach(trigger => this.patchPopoverTargetActionInterest(trigger));
|
|
4883
|
+
tooltipInstances++;
|
|
4797
4884
|
}
|
|
4798
4885
|
/**
|
|
4799
4886
|
* Remove a bunch of event listeners if the tooltip gets removed from the DOM
|
|
4887
|
+
* and disconnect the accessibility patcher
|
|
4800
4888
|
*/
|
|
4801
4889
|
disconnectedCallback() {
|
|
4802
|
-
|
|
4803
|
-
|
|
4804
|
-
|
|
4805
|
-
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
|
|
4811
|
-
|
|
4812
|
-
// for browsers that don't support popover yet
|
|
4813
|
-
document.body.appendChild(this.host);
|
|
4890
|
+
tooltipInstances--;
|
|
4891
|
+
if (tooltipInstances <= 0) {
|
|
4892
|
+
// The last tooltip has been removed, stop listening for these kind of events
|
|
4893
|
+
document.removeEventListener('pointerover', globalInterestHandler);
|
|
4894
|
+
document.removeEventListener('pointerout', globalInterestLostHandler);
|
|
4895
|
+
document.removeEventListener('focusin', globalInterestHandler);
|
|
4896
|
+
document.removeEventListener('focusout', globalInterestLostHandler);
|
|
4897
|
+
document.removeEventListener('long-press', globalInterestHandler);
|
|
4898
|
+
triggerObserver.disconnect();
|
|
4899
|
+
}
|
|
4814
4900
|
}
|
|
4815
4901
|
/**
|
|
4816
4902
|
* Programmatically display the tooltip
|
|
@@ -4833,28 +4919,24 @@ const PostTooltip = class {
|
|
|
4833
4919
|
async toggle(target, force) {
|
|
4834
4920
|
this.popoverRef.toggle(target, force);
|
|
4835
4921
|
}
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
|
|
4841
|
-
|
|
4842
|
-
|
|
4843
|
-
trigger.addEventListener('blur', this.localHideTooltip);
|
|
4844
|
-
trigger.addEventListener('long-press', this.localShowTooltip);
|
|
4845
|
-
// Patch missing aria-describedby attribute on the trigger without overriding existing values
|
|
4846
|
-
const describedBy = trigger.getAttribute('aria-describedby');
|
|
4847
|
-
if (!(describedBy === null || describedBy === void 0 ? void 0 : describedBy.includes(this.host.id))) {
|
|
4848
|
-
const newDescribedBy = describedBy ? `${describedBy} ${this.host.id}` : this.host.id;
|
|
4849
|
-
trigger.setAttribute('aria-describedby', newDescribedBy);
|
|
4850
|
-
}
|
|
4851
|
-
// Patch missing focus ability on the trigger element
|
|
4852
|
-
if (!isFocusable(trigger)) {
|
|
4853
|
-
trigger.setAttribute('tabindex', '0');
|
|
4922
|
+
/**
|
|
4923
|
+
* Pointer or focus is on the tooltip, stop the tooltip from disappearing
|
|
4924
|
+
*/
|
|
4925
|
+
handleInterest() {
|
|
4926
|
+
if (hideTooltipTimeout) {
|
|
4927
|
+
window.clearTimeout(hideTooltipTimeout);
|
|
4928
|
+
hideTooltipTimeout = null;
|
|
4854
4929
|
}
|
|
4855
4930
|
}
|
|
4931
|
+
/**
|
|
4932
|
+
* Pointer or focus left the tooltip, initiate the hiding process
|
|
4933
|
+
*/
|
|
4934
|
+
handleInterestLost() {
|
|
4935
|
+
globalHideTooltip(this);
|
|
4936
|
+
}
|
|
4856
4937
|
render() {
|
|
4857
|
-
|
|
4938
|
+
const popoverClass = `${this.arrow ? ' has-arrow' : ''}`;
|
|
4939
|
+
return (h(Host, { key: 'cf89d38b05fbb49ecfcfd339baf325a4fb850f3a', "data-version": version$1, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, h("post-popovercontainer", { key: '2f6f473007ae8d4fc7ef3bcec38a8f19222eaf5d', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, h("slot", { key: '84bfd25818068ce1fb644b3b0e6858f9cb1bd605' }))));
|
|
4858
4940
|
}
|
|
4859
4941
|
get host() { return getElement(this); }
|
|
4860
4942
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { P as post_tooltip } from './post-tooltip-
|
|
1
|
+
export { P as post_tooltip } from './post-tooltip-0ec6a388.js';
|
|
2
2
|
import './index-1708db56.js';
|
|
3
|
-
import './package-
|
|
3
|
+
import './package-15929f57.js';
|
|
4
|
+
import './attribute-observer-37fa950a.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{P as PostAccordion}from"./p-
|
|
1
|
+
export{P as PostAccordion}from"./p-a9d59b04.js";export{P as PostAccordionItem}from"./p-e8d17225.js";export{P as PostAlert}from"./p-ac7b779e.js";export{P as PostCollapsible}from"./p-6b3ba10a.js";export{P as PostIcon}from"./p-d9c9ed63.js";export{P as PostPopover}from"./p-5ecceba0.js";export{P as PostPopovercontainer}from"./p-1f284e66.js";export{P as PostTabs}from"./p-51fe19e0.js";export{P as PostTabHeader}from"./p-209e33a5.js";export{P as PostTabPanel}from"./p-61d98756.js";export{P as PostTooltip}from"./p-94256868.js";import"./p-10b4cf7a.js";import"./p-f47b0207.js";import"./p-f0e82e63.js";import"./p-440193f4.js";import"./p-2737eaf5.js";import"./p-b095519d.js";import"./p-6adeaa6c.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{P as post_tabs}from"./p-51fe19e0.js";import"./p-10b4cf7a.js";import"./p-f47b0207.js";import"./p-2737eaf5.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{P as post_popover}from"./p-5ecceba0.js";import"./p-10b4cf7a.js";import"./p-f47b0207.js";import"./p-6adeaa6c.js";
|