@swisspost/design-system-components 7.2.0 → 7.3.0
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/_commonjsHelpers-8f2c79cd.js +31 -0
- package/dist/cjs/check-type-64af82a9.js +16 -0
- package/dist/cjs/{index-0fc0bf5f.js → index-1cc8e4e1.js} +522 -224
- package/dist/cjs/{index-a1440961.js → index-f32e5185.js} +2 -15
- package/dist/cjs/index.cjs.js +21 -17
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{package-b133ab48.js → package-04f2043d.js} +1 -1
- package/dist/cjs/{post-accordion-a079c21b.js → post-accordion-37fd4f78.js} +2 -2
- package/dist/cjs/{post-accordion-item-30c6ec06.js → post-accordion-item-1c83fc7c.js} +4 -4
- package/dist/cjs/post-accordion-item.cjs.entry.js +5 -4
- package/dist/cjs/post-accordion.cjs.entry.js +3 -3
- package/dist/cjs/{post-alert-b5cfc4c6.js → post-alert-6fb69a85.js} +8 -7
- package/dist/cjs/post-alert.cjs.entry.js +5 -4
- package/dist/cjs/post-card-control-b4d765d4.js +315 -0
- package/dist/cjs/post-card-control.cjs.entry.js +3 -3
- package/dist/cjs/{post-collapsible-9bcaf6f1.js → post-collapsible-d1afbfc7.js} +14 -10
- package/dist/cjs/post-collapsible-trigger-ed6c0795.js +188280 -0
- package/dist/cjs/post-collapsible-trigger.cjs.entry.js +14 -0
- package/dist/cjs/post-collapsible.cjs.entry.js +5 -4
- package/dist/cjs/post-components.cjs.js +3 -3
- package/dist/cjs/{post-icon-87e7972e.js → post-icon-8bc01581.js} +6 -5
- package/dist/cjs/post-icon.cjs.entry.js +5 -4
- package/dist/cjs/{post-popover-0a73553e.js → post-popover-bdcc2f7d.js} +4 -4
- package/dist/cjs/post-popover.cjs.entry.js +3 -3
- package/dist/cjs/{post-popovercontainer-a1df1705.js → post-popovercontainer-e63276d4.js} +44 -37
- package/dist/cjs/post-popovercontainer.cjs.entry.js +3 -3
- package/dist/cjs/{post-rating-2337c023.js → post-rating-26fda1b8.js} +3 -3
- package/dist/cjs/post-rating.cjs.entry.js +3 -3
- package/dist/cjs/post-tab-header-b367fb5e.js +32 -0
- package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
- package/dist/cjs/{post-tab-panel-307eacef.js → post-tab-panel-68c379af.js} +3 -3
- package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
- package/dist/cjs/{post-tabs-92435b40.js → post-tabs-cb1407ec.js} +8 -10
- package/dist/cjs/post-tabs.cjs.entry.js +3 -3
- package/dist/cjs/{post-tag-0237216a.js → post-tag-8f03cbff.js} +3 -3
- package/dist/cjs/post-tag.cjs.entry.js +3 -3
- package/dist/cjs/{post-tooltip-7fcd3f15.js → post-tooltip-75b6872c.js} +25 -12
- package/dist/cjs/post-tooltip.cjs.entry.js +8 -3
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
- package/dist/collection/components/post-alert/post-alert.css +2 -2
- package/dist/collection/components/post-alert/post-alert.js +1 -1
- package/dist/collection/components/post-card-control/post-card-control.css +1 -1
- package/dist/collection/components/post-collapsible/post-collapsible.css +1 -1
- package/dist/collection/components/post-collapsible/post-collapsible.js +10 -11
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +153 -0
- package/dist/collection/components/post-icon/post-icon.js +1 -1
- package/dist/collection/components/post-popover/post-popover.css +1 -1
- package/dist/collection/components/post-popover/post-popover.js +2 -2
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +14 -17
- 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 +8 -8
- package/dist/collection/components/post-tag/post-tag.js +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +37 -2
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/debounce.js +8 -0
- package/dist/collection/utils/index.js +2 -0
- package/dist/collection/utils/timeout.js +3 -0
- package/dist/components/_commonjsHelpers.js +26 -0
- package/dist/components/check-type.js +14 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index2.js +2 -14
- package/dist/components/package.js +1 -1
- package/dist/components/post-accordion-item2.js +1 -1
- package/dist/components/post-alert2.js +4 -3
- package/dist/components/post-card-control2.js +1 -1
- package/dist/components/post-collapsible-trigger.d.ts +11 -0
- package/dist/components/post-collapsible-trigger.js +6 -0
- package/dist/components/post-collapsible-trigger2.js +188297 -0
- package/dist/components/post-collapsible2.js +12 -9
- package/dist/components/post-icon2.js +3 -2
- package/dist/components/post-popover2.js +2 -2
- package/dist/components/post-popovercontainer2.js +43 -37
- package/dist/components/post-rating2.js +1 -1
- package/dist/components/post-tab-header2.js +2 -2
- package/dist/components/post-tab-panel2.js +1 -1
- package/dist/components/post-tabs2.js +6 -8
- package/dist/components/post-tag2.js +1 -1
- package/dist/components/post-tooltip2.js +22 -6
- package/dist/docs.json +120 -15
- package/dist/esm/_commonjsHelpers-24671825.js +26 -0
- package/dist/esm/check-type-8828dbe4.js +14 -0
- package/dist/esm/{index-d1eba94c.js → index-29d17d6d.js} +2 -14
- package/dist/esm/{index-d9331ff3.js → index-9ace3232.js} +522 -224
- package/dist/esm/index.js +20 -17
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{package-37b02bc3.js → package-4d20f60f.js} +1 -1
- package/dist/esm/{post-accordion-7eaa090e.js → post-accordion-62014c92.js} +2 -2
- package/dist/esm/{post-accordion-item-d5466ca0.js → post-accordion-item-cbac29b5.js} +4 -4
- package/dist/esm/post-accordion-item.entry.js +5 -4
- package/dist/esm/post-accordion.entry.js +3 -3
- package/dist/esm/{post-alert-5bc0d11c.js → post-alert-c4debfa4.js} +6 -5
- package/dist/esm/post-alert.entry.js +5 -4
- package/dist/esm/post-card-control-00a5376b.js +313 -0
- package/dist/esm/post-card-control.entry.js +3 -3
- package/dist/esm/{post-collapsible-0bb7ca9a.js → post-collapsible-8d4694d4.js} +14 -10
- package/dist/esm/post-collapsible-trigger-84e583ca.js +188278 -0
- package/dist/esm/post-collapsible-trigger.entry.js +6 -0
- package/dist/esm/post-collapsible.entry.js +5 -4
- package/dist/esm/post-components.js +4 -4
- package/dist/esm/{post-icon-8d59faf7.js → post-icon-a7fc703c.js} +5 -4
- package/dist/esm/post-icon.entry.js +5 -4
- package/dist/esm/{post-popover-0ebc24f5.js → post-popover-e4e3c7e9.js} +4 -4
- package/dist/esm/post-popover.entry.js +3 -3
- package/dist/esm/{post-popovercontainer-5c0ba050.js → post-popovercontainer-012763bb.js} +44 -37
- package/dist/esm/post-popovercontainer.entry.js +3 -3
- package/dist/esm/{post-rating-40195437.js → post-rating-65f2a6f5.js} +3 -3
- package/dist/esm/post-rating.entry.js +3 -3
- package/dist/esm/post-tab-header-6c4e751f.js +30 -0
- package/dist/esm/post-tab-header.entry.js +3 -3
- package/dist/esm/{post-tab-panel-d40b9704.js → post-tab-panel-0a00a0db.js} +3 -3
- package/dist/esm/post-tab-panel.entry.js +3 -3
- package/dist/esm/{post-tabs-6ee5542b.js → post-tabs-ce296f51.js} +8 -10
- package/dist/esm/post-tabs.entry.js +3 -3
- package/dist/esm/{post-tag-e76f88e5.js → post-tag-08829103.js} +3 -3
- package/dist/esm/post-tag.entry.js +3 -3
- package/dist/esm/{post-tooltip-990b8b2b.js → post-tooltip-f649a3f5.js} +21 -8
- package/dist/esm/post-tooltip.entry.js +8 -3
- package/dist/post-components/index.esm.js +1 -1
- package/dist/post-components/{p-3f2c54ad.js → p-0397588f.js} +1 -1
- package/dist/post-components/p-03bd02f3.entry.js +1 -0
- package/dist/post-components/p-07e54337.js +1 -0
- package/dist/post-components/p-0a7a9ff0.entry.js +1 -0
- package/dist/post-components/p-12ad573b.entry.js +1 -0
- package/dist/post-components/p-12c4e001.entry.js +1 -0
- package/dist/post-components/p-1c2d6fa3.entry.js +1 -0
- package/dist/post-components/p-1e103e24.entry.js +1 -0
- package/dist/post-components/{p-69bd634e.js → p-28a16293.js} +1 -1
- package/dist/post-components/{p-0637689e.js → p-2bb82301.js} +1 -1
- package/dist/post-components/p-3a4c029f.js +1 -0
- package/dist/post-components/p-489390f4.js +1 -0
- package/dist/post-components/p-4a3f67ab.js +1 -0
- package/dist/post-components/p-4ced5f5f.entry.js +1 -0
- package/dist/post-components/p-5a47caeb.js +1 -0
- package/dist/post-components/p-6712c712.entry.js +1 -0
- package/dist/post-components/p-6b2156ed.js +1 -0
- package/dist/post-components/p-73a63423.js +1 -0
- package/dist/post-components/{p-aef9ee8b.js → p-7751bd1f.js} +1 -1
- package/dist/post-components/p-7f35c77d.js +1 -0
- package/dist/post-components/p-80afd42d.entry.js +1 -0
- package/dist/post-components/p-8771fd61.js +1 -0
- package/dist/post-components/p-8c7f0075.js +2 -0
- package/dist/post-components/p-94c3e483.js +20 -0
- package/dist/post-components/p-94e75021.js +15 -0
- package/dist/post-components/p-aab2780d.entry.js +1 -0
- package/dist/post-components/p-aba21874.entry.js +1 -0
- package/dist/post-components/p-ac500761.js +1 -0
- package/dist/post-components/p-b0ac8313.entry.js +1 -0
- package/dist/post-components/{p-f86b2ea1.js → p-c3abf86d.js} +1 -1
- package/dist/post-components/p-cb13d0e2.entry.js +1 -0
- package/dist/post-components/p-d8534a90.entry.js +1 -0
- package/dist/post-components/p-da8cdd71.js +1 -0
- package/dist/post-components/p-f0fbe328.entry.js +1 -0
- package/dist/post-components/p-ff86b519.js +1 -0
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/components/post-collapsible/post-collapsible.d.ts +4 -3
- package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +47 -0
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +0 -1
- package/dist/types/components/post-tabs/post-tabs.d.ts +2 -0
- package/dist/types/components/post-tooltip/post-tooltip.d.ts +6 -0
- package/dist/types/components.d.ts +33 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +0 -2
- package/dist/types/utils/debounce.d.ts +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/timeout.d.ts +1 -0
- package/loader/index.d.ts +3 -0
- package/package.json +10 -10
- package/dist/cjs/post-card-control-80ff0fbb.js +0 -315
- package/dist/cjs/post-tab-header-ac4137cb.js +0 -32
- package/dist/collection/index.spec.js +0 -27
- package/dist/esm/post-card-control-d64be740.js +0 -313
- package/dist/esm/post-tab-header-ff165ebb.js +0 -30
- package/dist/post-components/p-0ba99d76.entry.js +0 -1
- package/dist/post-components/p-0e97fb19.entry.js +0 -1
- package/dist/post-components/p-19ee1efc.entry.js +0 -1
- package/dist/post-components/p-23e7f6e3.entry.js +0 -1
- package/dist/post-components/p-287f66b9.js +0 -1
- package/dist/post-components/p-305ab60c.js +0 -1
- package/dist/post-components/p-3ce051c9.js +0 -1
- package/dist/post-components/p-62229794.entry.js +0 -1
- package/dist/post-components/p-7dc73c43.entry.js +0 -1
- package/dist/post-components/p-7e59cbd2.js +0 -1
- package/dist/post-components/p-8559d3c0.entry.js +0 -1
- package/dist/post-components/p-941e5ef0.js +0 -1
- package/dist/post-components/p-95003bde.entry.js +0 -1
- package/dist/post-components/p-a1da0539.js +0 -1
- package/dist/post-components/p-a5d9115f.entry.js +0 -1
- package/dist/post-components/p-a9aa57f0.entry.js +0 -1
- package/dist/post-components/p-c21da8cb.js +0 -1
- package/dist/post-components/p-c655db7c.entry.js +0 -1
- package/dist/post-components/p-ca2ff4bb.entry.js +0 -1
- package/dist/post-components/p-d2eafe06.entry.js +0 -1
- package/dist/post-components/p-d6e0e495.js +0 -1
- package/dist/post-components/p-d9eab6d9.js +0 -2
- package/dist/post-components/p-deb19ca0.js +0 -1
- package/dist/post-components/p-ee12644d.js +0 -15
- package/dist/post-components/p-f91c0e1b.js +0 -1
- package/dist/post-components/p-ff0b0a9a.entry.js +0 -1
|
@@ -9,7 +9,6 @@ export class PostCollapsible {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
this.isLoaded = false;
|
|
11
11
|
this.isOpen = true;
|
|
12
|
-
this.id = undefined;
|
|
13
12
|
this.collapsed = false;
|
|
14
13
|
}
|
|
15
14
|
validateCollapsed(newValue = this.collapsed) {
|
|
@@ -18,13 +17,11 @@ export class PostCollapsible {
|
|
|
18
17
|
connectedCallback() {
|
|
19
18
|
this.validateCollapsed();
|
|
20
19
|
}
|
|
21
|
-
componentWillRender() {
|
|
22
|
-
this.id = this.host.id || `c${crypto.randomUUID()}`;
|
|
23
|
-
}
|
|
24
20
|
componentDidLoad() {
|
|
25
21
|
if (this.collapsed)
|
|
26
22
|
void this.toggle(false);
|
|
27
23
|
this.isLoaded = true;
|
|
24
|
+
this.updateTriggers();
|
|
28
25
|
}
|
|
29
26
|
/**
|
|
30
27
|
* Triggers the collapse programmatically.
|
|
@@ -37,15 +34,22 @@ export class PostCollapsible {
|
|
|
37
34
|
this.isOpen = !this.isOpen;
|
|
38
35
|
if (this.isLoaded)
|
|
39
36
|
this.postToggle.emit(this.isOpen);
|
|
40
|
-
const animation = open ? expand(this.
|
|
37
|
+
const animation = open ? expand(this.host) : collapse(this.host);
|
|
41
38
|
if (!this.isLoaded || isMotionReduced())
|
|
42
39
|
animation.finish();
|
|
43
40
|
await animation.finished;
|
|
44
41
|
animation.commitStyles();
|
|
45
42
|
return this.isOpen;
|
|
46
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Update all post-collapsible-trigger elements referring to the collapsible
|
|
46
|
+
*/
|
|
47
|
+
updateTriggers() {
|
|
48
|
+
const triggers = document.querySelectorAll(`post-collapsible-trigger[for=${this.host.id}]`);
|
|
49
|
+
triggers.forEach(trigger => trigger.update());
|
|
50
|
+
}
|
|
47
51
|
render() {
|
|
48
|
-
return (h(Host, { key: '
|
|
52
|
+
return (h(Host, { key: 'c24a0524427d6ec5a3a57e12300a5af4cc047a71', "data-version": version }, h("slot", { key: '4d41b67a18ca43acfa0e9ef208c07fa7882baba2' })));
|
|
49
53
|
}
|
|
50
54
|
static get is() { return "post-collapsible"; }
|
|
51
55
|
static get encapsulation() { return "shadow"; }
|
|
@@ -81,11 +85,6 @@ export class PostCollapsible {
|
|
|
81
85
|
}
|
|
82
86
|
};
|
|
83
87
|
}
|
|
84
|
-
static get states() {
|
|
85
|
-
return {
|
|
86
|
-
"id": {}
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
88
|
static get events() {
|
|
90
89
|
return [{
|
|
91
90
|
"method": "postToggle",
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { version } from "typescript";
|
|
2
|
+
import { checkNonEmpty, checkType, debounce } from "../../utils/index";
|
|
3
|
+
export class PostCollapsibleTrigger {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.observer = new MutationObserver(() => this.setTrigger());
|
|
6
|
+
this.debouncedUpdate = debounce(() => {
|
|
7
|
+
var _a;
|
|
8
|
+
if (!this.trigger)
|
|
9
|
+
return;
|
|
10
|
+
// add the provided id to the aria-controls list
|
|
11
|
+
const ariaControls = this.trigger.getAttribute('aria-controls');
|
|
12
|
+
if (!(ariaControls === null || ariaControls === void 0 ? void 0 : ariaControls.includes(this.for))) {
|
|
13
|
+
const newAriaControls = ariaControls ? `${ariaControls} ${this.for}` : this.for;
|
|
14
|
+
this.trigger.setAttribute('aria-controls', newAriaControls);
|
|
15
|
+
}
|
|
16
|
+
// set the aria-expanded to `false` if the controlled collapsible is collapsed or undefined, set it to `true` otherwise
|
|
17
|
+
const isCollapsed = (_a = this.collapsible) === null || _a === void 0 ? void 0 : _a.collapsed;
|
|
18
|
+
const newAriaExpanded = isCollapsed !== undefined ? !isCollapsed : undefined;
|
|
19
|
+
this.trigger.setAttribute('aria-expanded', `${newAriaExpanded}`);
|
|
20
|
+
});
|
|
21
|
+
this.for = undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Set the "aria-controls" and "aria-expanded" attributes on the trigger to match the state of the controlled post-collapsible
|
|
25
|
+
*/
|
|
26
|
+
setAriaAttributes() {
|
|
27
|
+
checkNonEmpty(this.for, 'The post-collapsible-trigger "for" prop is required.');
|
|
28
|
+
checkType(this.for, 'string', 'The post-collapsible-trigger "for" prop should be a id.');
|
|
29
|
+
void this.update();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Initiate a mutation observer that updates the trigger whenever necessary
|
|
33
|
+
*/
|
|
34
|
+
connectedCallback() {
|
|
35
|
+
this.observer.observe(this.host, { childList: true, subtree: true });
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Add the "data-version" to the host element and set the trigger
|
|
39
|
+
*/
|
|
40
|
+
componentDidLoad() {
|
|
41
|
+
this.host.setAttribute('data-version', version);
|
|
42
|
+
this.setTrigger();
|
|
43
|
+
if (!this.trigger)
|
|
44
|
+
console.warn('The post-collapsible-trigger must contain a button.');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Disconnect the mutation observer
|
|
48
|
+
*/
|
|
49
|
+
disconnectedCallback() {
|
|
50
|
+
this.observer.disconnect();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Update the "aria-expanded" attribute on the trigger anytime the controlled post-collapsible is toggled
|
|
54
|
+
*/
|
|
55
|
+
setAriaExpanded(e) {
|
|
56
|
+
if (!this.trigger || !e.target.isEqualNode(this.collapsible))
|
|
57
|
+
return;
|
|
58
|
+
this.trigger.setAttribute('aria-expanded', `${e.detail}`);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Update the "aria-controls" and "aria-expanded" attributes on the trigger button
|
|
62
|
+
*/
|
|
63
|
+
async update() {
|
|
64
|
+
this.debouncedUpdate();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Toggle the post-collapsible controlled by the trigger
|
|
68
|
+
*/
|
|
69
|
+
async toggleCollapsible() {
|
|
70
|
+
var _a;
|
|
71
|
+
await ((_a = this.collapsible) === null || _a === void 0 ? void 0 : _a.toggle());
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Retrieve the post-collapsible controlled by the trigger
|
|
75
|
+
*/
|
|
76
|
+
get collapsible() {
|
|
77
|
+
const ref = document.getElementById(this.for);
|
|
78
|
+
if (ref && ref.localName === 'post-collapsible') {
|
|
79
|
+
return ref;
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Find the button and add the proper event listener and ARIA attributes to it
|
|
85
|
+
*/
|
|
86
|
+
setTrigger() {
|
|
87
|
+
const trigger = this.host.querySelector('button');
|
|
88
|
+
if (!trigger || (this.trigger && trigger.isEqualNode(this.trigger)))
|
|
89
|
+
return;
|
|
90
|
+
this.trigger = trigger;
|
|
91
|
+
this.trigger.addEventListener('click', () => this.toggleCollapsible());
|
|
92
|
+
this.setAriaAttributes();
|
|
93
|
+
}
|
|
94
|
+
static get is() { return "post-collapsible-trigger"; }
|
|
95
|
+
static get properties() {
|
|
96
|
+
return {
|
|
97
|
+
"for": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"mutable": false,
|
|
100
|
+
"complexType": {
|
|
101
|
+
"original": "string",
|
|
102
|
+
"resolved": "string",
|
|
103
|
+
"references": {}
|
|
104
|
+
},
|
|
105
|
+
"required": false,
|
|
106
|
+
"optional": false,
|
|
107
|
+
"docs": {
|
|
108
|
+
"tags": [],
|
|
109
|
+
"text": "Link the trigger to a post-collapsible with this id"
|
|
110
|
+
},
|
|
111
|
+
"attribute": "for",
|
|
112
|
+
"reflect": false
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
static get methods() {
|
|
117
|
+
return {
|
|
118
|
+
"update": {
|
|
119
|
+
"complexType": {
|
|
120
|
+
"signature": "() => Promise<void>",
|
|
121
|
+
"parameters": [],
|
|
122
|
+
"references": {
|
|
123
|
+
"Promise": {
|
|
124
|
+
"location": "global",
|
|
125
|
+
"id": "global::Promise"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"return": "Promise<void>"
|
|
129
|
+
},
|
|
130
|
+
"docs": {
|
|
131
|
+
"text": "Update the \"aria-controls\" and \"aria-expanded\" attributes on the trigger button",
|
|
132
|
+
"tags": []
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
static get elementRef() { return "host"; }
|
|
138
|
+
static get watchers() {
|
|
139
|
+
return [{
|
|
140
|
+
"propName": "for",
|
|
141
|
+
"methodName": "setAriaAttributes"
|
|
142
|
+
}];
|
|
143
|
+
}
|
|
144
|
+
static get listeners() {
|
|
145
|
+
return [{
|
|
146
|
+
"name": "postToggle",
|
|
147
|
+
"method": "setAriaExpanded",
|
|
148
|
+
"target": "document",
|
|
149
|
+
"capture": false,
|
|
150
|
+
"passive": false
|
|
151
|
+
}];
|
|
152
|
+
}
|
|
153
|
+
}
|
|
@@ -81,7 +81,7 @@ export class PostIcon {
|
|
|
81
81
|
})
|
|
82
82
|
.filter(([_key, value]) => value !== null)
|
|
83
83
|
.reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
|
|
84
|
-
return (h(Host, { key: '
|
|
84
|
+
return (h(Host, { key: 'c046b74af0d3cc42dcddfbd4aa029ca07be26bf8', "data-version": version }, h("span", { key: 'c49c4d2de0222c665acf1db46f8a13db26f6a26e', style: svgStyles })));
|
|
85
85
|
}
|
|
86
86
|
static get is() { return "post-icon"; }
|
|
87
87
|
static get encapsulation() { return "shadow"; }
|
|
@@ -28,4 +28,4 @@
|
|
|
28
28
|
* THE SOFTWARE.
|
|
29
29
|
*//*!
|
|
30
30
|
* Copyright 2021 by Swiss Post, Information Technology
|
|
31
|
-
*/.btn-close{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:4px;color:var(--post-gray-80);transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}.btn-close{outline-style:none !important;outline-offset:2px !important;outline-width:2px !important;outline-color:var(--post-focus-color) !important}.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-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: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{-webkit-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");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:1.5rem;width:1.5rem}:
|
|
31
|
+
*/.btn-close{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:4px;color:var(--post-gray-80);transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}.btn-close{outline-style:none !important;outline-offset:2px !important;outline-width:2px !important;outline-color:var(--post-focus-color) !important}.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-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: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{-webkit-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");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:1.5rem;width:1.5rem}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-close{color:var(--post-contrast-color)}.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;min-width:160px;max-width:280px}@media(max-width: 599.98px){.popover-container{max-width:100%}}.popover-content{padding:.5em;flex-grow:1}.btn-close{color:inherit}
|
|
@@ -88,7 +88,7 @@ export class PostPopover {
|
|
|
88
88
|
this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
|
|
89
89
|
}
|
|
90
90
|
render() {
|
|
91
|
-
return (h(Host, { key: '
|
|
91
|
+
return (h(Host, { key: '943dbb1a0a290d281ebe0f346ccd531f8acbbb5e', "data-version": version }, h("post-popovercontainer", { key: 'aa6bf3a2cc395ce612342b78bee23bcd1b68db5e', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '3ba6f039088615157ba47ebc448770fd9128efa0', class: "popover-container" }, h("div", { key: '0472f76d0cf51269029534c29f155e0f71d649fb', class: "popover-content" }, h("slot", { key: '1d722457c871c0aac9297b0517fe077c32e73794' })), h("button", { key: '430fa605ce81aad6b8709c22a31da62cdf6022e5', class: "btn-close", onClick: () => this.hide() }, h("span", { key: '37169089662c8ef1edd8de6389c55f9eee4e1a9e', class: "visually-hidden" }, this.closeButtonCaption))))));
|
|
92
92
|
}
|
|
93
93
|
static get is() { return "post-popover"; }
|
|
94
94
|
static get encapsulation() { return "shadow"; }
|
|
@@ -114,7 +114,7 @@ export class PostPopover {
|
|
|
114
114
|
"Placement": {
|
|
115
115
|
"location": "import",
|
|
116
116
|
"path": "@floating-ui/dom",
|
|
117
|
-
"id": "../../node_modules/.pnpm/@floating-ui+dom@1.6.
|
|
117
|
+
"id": "../../node_modules/.pnpm/@floating-ui+dom@1.6.7/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Placement"
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer polyfill{@supports not selector(:popover-open){[popover]:not(.\:popover-open){display:none}}}
|
|
1
|
+
@layer polyfill{@supports not selector(:popover-open){[popover]:not(.\:popover-open){display:none}}}:where(post-popovercontainer){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}:where(post-popovercontainer) .arrow{position:absolute;width:.5825rem;height:.5825rem;background-color:inherit;rotate:45deg;pointer-events:none;z-index:-1}:where(post-popovercontainer) .arrow.top{border-left:2px solid rgba(0,0,0,0);border-top:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.right{border-right:2px solid rgba(0,0,0,0);border-top:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.left{border-left:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.bottom{border-right:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
2
|
import { arrow, autoUpdate, computePosition, flip, inline, limitShift, offset, shift, size, } from "@floating-ui/dom";
|
|
3
3
|
// Polyfill for popovers, can be removed when https://caniuse.com/?search=popover is green
|
|
4
4
|
import "@oddbird/popover-polyfill";
|
|
@@ -18,12 +18,10 @@ export class PostPopovercontainer {
|
|
|
18
18
|
this.arrow = false;
|
|
19
19
|
}
|
|
20
20
|
componentDidLoad() {
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
21
|
+
this.host.setAttribute('popover', '');
|
|
22
|
+
this.host.addEventListener('beforetoggle', this.handleToggle.bind(this));
|
|
23
23
|
}
|
|
24
24
|
disconnectedCallback() {
|
|
25
|
-
if (this.popoverRef)
|
|
26
|
-
this.popoverRef.removeEventListener('beforetoggle', e => this.toggle(e.target));
|
|
27
25
|
if (typeof this.clearAutoUpdate === 'function')
|
|
28
26
|
this.clearAutoUpdate();
|
|
29
27
|
}
|
|
@@ -35,7 +33,7 @@ export class PostPopovercontainer {
|
|
|
35
33
|
if (!this.toggleTimeoutId) {
|
|
36
34
|
this.eventTarget = target;
|
|
37
35
|
this.calculatePosition();
|
|
38
|
-
this.
|
|
36
|
+
this.host.showPopover();
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
39
|
/**
|
|
@@ -44,7 +42,7 @@ export class PostPopovercontainer {
|
|
|
44
42
|
async hide() {
|
|
45
43
|
if (!this.toggleTimeoutId) {
|
|
46
44
|
this.eventTarget = null;
|
|
47
|
-
this.
|
|
45
|
+
this.host.hidePopover();
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
48
|
/**
|
|
@@ -57,10 +55,10 @@ export class PostPopovercontainer {
|
|
|
57
55
|
if (!this.toggleTimeoutId) {
|
|
58
56
|
this.eventTarget = target;
|
|
59
57
|
this.calculatePosition();
|
|
60
|
-
this.
|
|
58
|
+
this.host.togglePopover(force);
|
|
61
59
|
this.toggleTimeoutId = null;
|
|
62
60
|
}
|
|
63
|
-
return this.
|
|
61
|
+
return this.host.matches(':where(:popover-open, .popover-open');
|
|
64
62
|
}
|
|
65
63
|
/**
|
|
66
64
|
* Start or stop auto updates based on tooltip events.
|
|
@@ -85,7 +83,7 @@ export class PostPopovercontainer {
|
|
|
85
83
|
* an influence on tooltip positioning
|
|
86
84
|
*/
|
|
87
85
|
startAutoupdates() {
|
|
88
|
-
this.clearAutoUpdate = autoUpdate(this.eventTarget, this.
|
|
86
|
+
this.clearAutoUpdate = autoUpdate(this.eventTarget, this.host, this.calculatePosition.bind(this));
|
|
89
87
|
}
|
|
90
88
|
async calculatePosition() {
|
|
91
89
|
const middleware = [
|
|
@@ -111,14 +109,14 @@ export class PostPopovercontainer {
|
|
|
111
109
|
if (this.arrow) {
|
|
112
110
|
middleware.push(arrow({ element: this.arrowRef, padding: 8 }));
|
|
113
111
|
}
|
|
114
|
-
const { x, y, middlewareData, placement: currentPlacement, } = await computePosition(this.eventTarget, this.
|
|
112
|
+
const { x, y, middlewareData, placement: currentPlacement, } = await computePosition(this.eventTarget, this.host, {
|
|
115
113
|
placement: this.placement || 'top',
|
|
116
114
|
strategy: 'fixed',
|
|
117
115
|
middleware,
|
|
118
116
|
});
|
|
119
117
|
// Tooltip
|
|
120
|
-
this.
|
|
121
|
-
this.
|
|
118
|
+
this.host.style.left = `${x}px`;
|
|
119
|
+
this.host.style.top = `${y}px`;
|
|
122
120
|
// Arrow
|
|
123
121
|
if (this.arrow) {
|
|
124
122
|
// Tutorial: https://codesandbox.io/s/mystifying-kare-ee3hmh?file=/src/index.js
|
|
@@ -137,12 +135,11 @@ export class PostPopovercontainer {
|
|
|
137
135
|
}
|
|
138
136
|
}
|
|
139
137
|
render() {
|
|
140
|
-
return (h(Host, { key: '
|
|
138
|
+
return (h(Host, { key: '944364458c19e3a11171571402f183449dafff24', "data-version": version }, this.arrow && (h("span", { key: 'f77a61b4b6f4f4ceb861ef8eb7d16f71f45642ec', class: "arrow", ref: el => {
|
|
141
139
|
this.arrowRef = el;
|
|
142
|
-
} })), h("slot", { key: '
|
|
140
|
+
} })), h("slot", { key: 'feeedfe09388dca41ee1048c8702c68bd0a91d33' })));
|
|
143
141
|
}
|
|
144
142
|
static get is() { return "post-popovercontainer"; }
|
|
145
|
-
static get encapsulation() { return "shadow"; }
|
|
146
143
|
static get originalStyleUrls() {
|
|
147
144
|
return {
|
|
148
145
|
"$": ["post-popovercontainer.scss"]
|
|
@@ -165,7 +162,7 @@ export class PostPopovercontainer {
|
|
|
165
162
|
"Placement": {
|
|
166
163
|
"location": "import",
|
|
167
164
|
"path": "@floating-ui/dom",
|
|
168
|
-
"id": "../../node_modules/.pnpm/@floating-ui+dom@1.6.
|
|
165
|
+
"id": "../../node_modules/.pnpm/@floating-ui+dom@1.6.7/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Placement"
|
|
169
166
|
}
|
|
170
167
|
}
|
|
171
168
|
},
|
|
@@ -64,7 +64,7 @@ export class PostRating {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
render() {
|
|
67
|
-
return (h(Host, { key: '
|
|
67
|
+
return (h(Host, { key: 'b175b250377f4bf9be92ad05fb14f7e4a8f7c12f', "data-version": version }, h("div", { key: 'b12eb5ff191d5a4ac5270845f120360f61e0fce0', 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: {
|
|
68
68
|
'star': true,
|
|
69
69
|
'before-hover': i < this.hoveredIndex,
|
|
70
70
|
'active': i < Math.round(this.currentRating),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.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:var(--post-contrast-color);text-decoration:none;background-color:rgba(0,0,0,0)}.tab-title[role=tab]:focus{background-color:unset;color:var(--post-contrast-color)}.tab-title[role=tab]:hover{opacity:1;background-color:rgba(var(--post-contrast-color-rgb), 0.6);color:var(--post-contrast-color-inverted)}.tab-title[role=tab]:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:rgba(var(--post-contrast-color-rgb), 0.6);color:var(--post-contrast-color-inverted);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:var(--post-contrast-color-inverted);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}:
|
|
1
|
+
.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:var(--post-contrast-color);text-decoration:none;background-color:rgba(0,0,0,0)}.tab-title[role=tab]:focus{background-color:unset;color:var(--post-contrast-color)}.tab-title[role=tab]:hover{opacity:1;background-color:rgba(var(--post-contrast-color-rgb), 0.6);color:var(--post-contrast-color-inverted)}.tab-title[role=tab]:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:rgba(var(--post-contrast-color-rgb), 0.6);color:var(--post-contrast-color-inverted);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:var(--post-contrast-color-inverted);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}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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: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-white .tab-title{background-color:#fff}.bg-white .tab-title.active{background-color:#fff}.bg-white .nav-item{background-color:#fff}.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-black .tab-title{background-color:#000}.bg-black .tab-title.active{background-color:#000}.bg-black .nav-item{background-color:#000}.bg-primary .tab-title{background-color:#333}.bg-primary .tab-title.active{background-color:#333}.bg-primary .nav-item{background-color:#333}.bg-secondary .tab-title{background-color:#666}.bg-secondary .tab-title.active{background-color:#666}.bg-secondary .nav-item{background-color:#666}.bg-success .tab-title{background-color:#2c871d}.bg-success .tab-title.active{background-color:#2c871d}.bg-success .nav-item{background-color:#2c871d}.bg-warning .tab-title{background-color:#f49e00}.bg-warning .tab-title.active{background-color:#f49e00}.bg-warning .nav-item{background-color:#f49e00}.bg-error .tab-title{background-color:#a51728}.bg-error .tab-title.active{background-color:#a51728}.bg-error .nav-item{background-color:#a51728}.bg-info .tab-title{background-color:#cce4ee}.bg-info .tab-title.active{background-color:#cce4ee}.bg-info .nav-item{background-color:#cce4ee}.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-warning-background .tab-title{background-color:#fce2b2}.bg-warning-background .tab-title.active{background-color:#fce2b2}.bg-warning-background .nav-item{background-color:#fce2b2}.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-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}[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)}}/*!
|
|
2
2
|
* Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)
|
|
3
3
|
* Copyright 2011-2021 The Bootstrap Authors
|
|
4
4
|
* Copyright 2011-2021 Twitter, Inc.
|
|
@@ -16,7 +16,7 @@ export class PostTabHeader {
|
|
|
16
16
|
this.tabId = `tab-${this.host.id || crypto.randomUUID()}`;
|
|
17
17
|
}
|
|
18
18
|
render() {
|
|
19
|
-
return (h(Host, { key: '
|
|
19
|
+
return (h(Host, { key: '543284f0251b7edff35b0fc4f260c7ba1447d57a', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title" }, h("slot", { key: 'c8ed807ea7fbd6fd5ab0e06724fd49852c5e15bf' })));
|
|
20
20
|
}
|
|
21
21
|
static get is() { return "post-tab-header"; }
|
|
22
22
|
static get encapsulation() { return "shadow"; }
|
|
@@ -13,7 +13,7 @@ export class PostTabPanel {
|
|
|
13
13
|
this.panelId = `panel-${this.host.id || crypto.randomUUID()}`;
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
|
-
return (h(Host, { key: '
|
|
16
|
+
return (h(Host, { key: '2b7e8f1853df072796345126b60ed2b6315362a2', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: '77c2b1c1f7d141fd3f9b71c504cdd9a5ce61260b' })));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "post-tab-panel"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|
|
@@ -4,6 +4,8 @@ import { fadeIn, fadeOut } from "../../animations/index";
|
|
|
4
4
|
/**
|
|
5
5
|
* @slot tabs - Slot for placing tab headers. Each tab header should be a <post-tab-header> element.
|
|
6
6
|
* @slot default - Slot for placing tab panels. Each tab panel should be a <post-tab-panel> element.
|
|
7
|
+
* @part tabs - Add custom styles for the tab header container.
|
|
8
|
+
* @part content - Add custom styles for the tab panel container.
|
|
7
9
|
*/
|
|
8
10
|
export class PostTabs {
|
|
9
11
|
constructor() {
|
|
@@ -39,19 +41,17 @@ export class PostTabs {
|
|
|
39
41
|
this.showing.finish();
|
|
40
42
|
}
|
|
41
43
|
// hide the currently visible panel only if no other animation is running
|
|
42
|
-
if (previousTab && !this.showing && !this.hiding)
|
|
44
|
+
if (previousTab && !this.showing && !this.hiding)
|
|
43
45
|
this.hidePanel(previousTab.panel);
|
|
44
|
-
}
|
|
45
46
|
// wait for any hiding animation to complete before showing the selected tab
|
|
46
|
-
if (this.hiding)
|
|
47
|
+
if (this.hiding)
|
|
47
48
|
await this.hiding.finished;
|
|
48
|
-
}
|
|
49
49
|
this.showSelectedPanel();
|
|
50
50
|
// wait for any display animation to complete for the returned promise to fully resolve
|
|
51
|
-
if (this.showing)
|
|
51
|
+
if (this.showing)
|
|
52
52
|
await this.showing.finished;
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
if (this.isLoaded)
|
|
54
|
+
this.postChange.emit(this.activeTab.panel);
|
|
55
55
|
}
|
|
56
56
|
moveMisplacedTabs() {
|
|
57
57
|
if (!this.tabs)
|
|
@@ -141,7 +141,7 @@ export class PostTabs {
|
|
|
141
141
|
nextTab.focus();
|
|
142
142
|
}
|
|
143
143
|
render() {
|
|
144
|
-
return (h(Host, { key: '
|
|
144
|
+
return (h(Host, { key: '365b2794cfb46631277341ea23afb2070c9d3ad1', "data-version": version }, h("div", { key: '70df13385ecc9c067527b80e2dd7b3a9b245e745', class: "tabs-wrapper", part: "tabs" }, h("div", { key: 'cae4d18aff0c890e0e8d76c1b8e321322abbeccd', class: "tabs", role: "tablist" }, h("slot", { key: '2b6ca3e01e45e541950ddc2c1cdc680b28ea96b9', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: '7352582d9c738af9b8bf3b71e0a153132fd23dcd', class: "tab-content", part: "content" }, h("slot", { key: '4845c39bf9b9cbc42aa8689c7ae99cc2e75d7907', onSlotchange: () => this.moveMisplacedTabs() }))));
|
|
145
145
|
}
|
|
146
146
|
static get is() { return "post-tabs"; }
|
|
147
147
|
static get encapsulation() { return "shadow"; }
|
|
@@ -30,7 +30,7 @@ export class PostTag {
|
|
|
30
30
|
this.setClasses();
|
|
31
31
|
}
|
|
32
32
|
render() {
|
|
33
|
-
return (h(Host, { key: '
|
|
33
|
+
return (h(Host, { key: '0292c0d7a103bd987511cb67d66bc3de60800bf1', "data-version": version }, h("div", { key: 'b3b1934c9c3ec3490b1dad8829b15f63490677ba', class: this.classes }, this.icon ? h("post-icon", { name: this.icon }) : null, h("div", { key: '0cb543c65dfe1d61756aecf67de9b2cdae3f78e5', class: "tag-text" }, h("slot", { key: '020b0b7191f0b6051c958253ef6cb52bc660d5e2' })))));
|
|
34
34
|
}
|
|
35
35
|
static get is() { return "post-tag"; }
|
|
36
36
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{--post-contrast-color: #fff;--post-bg-rgb: 51, 51, 51}post-popovercontainer
|
|
1
|
+
:host{--post-contrast-color: #fff;--post-bg-rgb: 51, 51, 51}post-popovercontainer{padding:.25rem .5rem;max-width:13.5rem;min-height:1rem}post-popovercontainer[arrow]::after{position:absolute;content:"";inset:-13px;z-index:-1}
|
|
@@ -3,6 +3,8 @@ import { version } from "../../../../package";
|
|
|
3
3
|
import isFocusable from "ally.js/is/focusable";
|
|
4
4
|
import "long-press-event";
|
|
5
5
|
import { getAttributeObserver } from "../../utils/attribute-observer";
|
|
6
|
+
import { checkEmptyOrType, timeout } from "../../utils/index";
|
|
7
|
+
const OPEN_DELAY = 650; // matches HTML title delay
|
|
6
8
|
/**
|
|
7
9
|
* @slot default - Slot for the content of the tooltip.
|
|
8
10
|
*/
|
|
@@ -83,6 +85,13 @@ export class PostTooltip {
|
|
|
83
85
|
constructor() {
|
|
84
86
|
this.placement = 'top';
|
|
85
87
|
this.arrow = true;
|
|
88
|
+
this.delayed = false;
|
|
89
|
+
}
|
|
90
|
+
validateDelayed() {
|
|
91
|
+
checkEmptyOrType(this.delayed, 'boolean', 'The post-tooltip "delayed" property should be a boolean.');
|
|
92
|
+
}
|
|
93
|
+
connectedCallback() {
|
|
94
|
+
this.validateDelayed();
|
|
86
95
|
}
|
|
87
96
|
componentDidLoad() {
|
|
88
97
|
if (!this.host.id) {
|
|
@@ -135,6 +144,8 @@ export class PostTooltip {
|
|
|
135
144
|
* @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
|
|
136
145
|
*/
|
|
137
146
|
async show(target) {
|
|
147
|
+
if (this.delayed)
|
|
148
|
+
await timeout(OPEN_DELAY);
|
|
138
149
|
this.popoverRef.show(target);
|
|
139
150
|
}
|
|
140
151
|
/**
|
|
@@ -168,7 +179,7 @@ export class PostTooltip {
|
|
|
168
179
|
}
|
|
169
180
|
render() {
|
|
170
181
|
const popoverClass = `${this.arrow ? ' has-arrow' : ''}`;
|
|
171
|
-
return (h(Host, { key: '
|
|
182
|
+
return (h(Host, { key: 'de8f7f40645168240a3bcb70fd014ea2cfefbeb6', "data-version": version, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, h("post-popovercontainer", { key: '4cecbb91117c4dd46c7aea6f084a84de995c25b7', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, h("slot", { key: 'c023b8f26189ed2c0dc4573914e92ce65f50ac18' }))));
|
|
172
183
|
}
|
|
173
184
|
static get is() { return "post-tooltip"; }
|
|
174
185
|
static get encapsulation() { return "shadow"; }
|
|
@@ -194,7 +205,7 @@ export class PostTooltip {
|
|
|
194
205
|
"Placement": {
|
|
195
206
|
"location": "import",
|
|
196
207
|
"path": "@floating-ui/dom",
|
|
197
|
-
"id": "../../node_modules/.pnpm/@floating-ui+dom@1.6.
|
|
208
|
+
"id": "../../node_modules/.pnpm/@floating-ui+dom@1.6.7/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Placement"
|
|
198
209
|
}
|
|
199
210
|
}
|
|
200
211
|
},
|
|
@@ -225,6 +236,24 @@ export class PostTooltip {
|
|
|
225
236
|
"attribute": "arrow",
|
|
226
237
|
"reflect": false,
|
|
227
238
|
"defaultValue": "true"
|
|
239
|
+
},
|
|
240
|
+
"delayed": {
|
|
241
|
+
"type": "boolean",
|
|
242
|
+
"mutable": false,
|
|
243
|
+
"complexType": {
|
|
244
|
+
"original": "boolean",
|
|
245
|
+
"resolved": "boolean",
|
|
246
|
+
"references": {}
|
|
247
|
+
},
|
|
248
|
+
"required": false,
|
|
249
|
+
"optional": false,
|
|
250
|
+
"docs": {
|
|
251
|
+
"tags": [],
|
|
252
|
+
"text": "If `true`, the tooltip is displayed a few milliseconds after it is triggered"
|
|
253
|
+
},
|
|
254
|
+
"attribute": "delayed",
|
|
255
|
+
"reflect": false,
|
|
256
|
+
"defaultValue": "false"
|
|
228
257
|
}
|
|
229
258
|
};
|
|
230
259
|
}
|
|
@@ -313,4 +342,10 @@ export class PostTooltip {
|
|
|
313
342
|
};
|
|
314
343
|
}
|
|
315
344
|
static get elementRef() { return "host"; }
|
|
345
|
+
static get watchers() {
|
|
346
|
+
return [{
|
|
347
|
+
"propName": "delayed",
|
|
348
|
+
"methodName": "validateDelayed"
|
|
349
|
+
}];
|
|
350
|
+
}
|
|
316
351
|
}
|
package/dist/collection/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { PostAccordionItem } from './components/post-accordion-item/post-accordi
|
|
|
4
4
|
export { PostAlert } from './components/post-alert/post-alert';
|
|
5
5
|
export { PostCardControl } from './components/post-card-control/post-card-control';
|
|
6
6
|
export { PostCollapsible } from './components/post-collapsible/post-collapsible';
|
|
7
|
+
export { PostCollapsibleTrigger } from './components/post-collapsible-trigger/post-collapsible-trigger';
|
|
7
8
|
export { PostIcon } from './components/post-icon/post-icon';
|
|
8
9
|
export { PostPopover } from './components/post-popover/post-popover';
|
|
9
10
|
export { PostPopovercontainer } from './components/post-popovercontainer/post-popovercontainer';
|