@swisspost/design-system-components 9.0.0-next.27 → 9.0.0-next.29
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/index.cjs.js +20 -20
- package/dist/cjs/{package-9cf8a0c0.js → package-4af5d3ea.js} +1 -1
- package/dist/cjs/{post-accordion-0c2b22de.js → post-accordion-420ef8ad.js} +1 -1
- package/dist/cjs/{post-accordion-item-0406f5d1.js → post-accordion-item-717b167f.js} +1 -1
- 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-avatar-1a8d1d89.js → post-avatar-076ca249.js} +1 -1
- package/dist/cjs/post-avatar.cjs.entry.js +2 -2
- package/dist/cjs/{post-back-to-top-ad7e72ff.js → post-back-to-top-91f47fda.js} +1 -1
- package/dist/cjs/post-back-to-top.cjs.entry.js +2 -2
- package/dist/cjs/{post-banner-808c8133.js → post-banner-bf13ead3.js} +1 -1
- package/dist/cjs/post-banner.cjs.entry.js +2 -2
- package/dist/cjs/{post-breadcrumb-a13449c1.js → post-breadcrumb-6435b6fa.js} +1 -1
- package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +2 -2
- package/dist/cjs/post-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/{post-card-control-77e137dc.js → post-card-control-f3893ba8.js} +1 -1
- package/dist/cjs/post-card-control.cjs.entry.js +2 -2
- package/dist/cjs/post-closebutton_15.cjs.entry.js +2 -2
- package/dist/cjs/{post-collapsible-trigger-8771476a.js → post-collapsible-trigger-0d9a3df8.js} +1 -1
- package/dist/cjs/post-collapsible_2.cjs.entry.js +2 -2
- package/dist/cjs/{post-footer-b0b17145.js → post-footer-cde89a81.js} +1 -1
- package/dist/cjs/post-footer.cjs.entry.js +2 -2
- package/dist/cjs/{post-linkarea-b9537644.js → post-linkarea-4676e740.js} +1 -1
- package/dist/cjs/post-linkarea.cjs.entry.js +2 -2
- package/dist/cjs/{post-menu-item-9cb418ca.js → post-menu-item-85ad65fb.js} +1 -1
- package/dist/cjs/{post-popover-fa272852.js → post-popover-83532b40.js} +1 -1
- package/dist/cjs/post-popover.cjs.entry.js +2 -2
- package/dist/cjs/{post-rating-2b2cb15d.js → post-rating-21990c8b.js} +1 -1
- package/dist/cjs/post-rating.cjs.entry.js +2 -2
- package/dist/cjs/{post-tab-header-9fe90c68.js → post-tab-header-81fbf5ff.js} +1 -1
- package/dist/cjs/post-tab-header.cjs.entry.js +2 -2
- package/dist/cjs/{post-tab-panel-1684d593.js → post-tab-panel-71ebb3cf.js} +1 -1
- package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/{post-tabs-1f41e858.js → post-tabs-be435e00.js} +1 -1
- package/dist/cjs/post-tabs.cjs.entry.js +2 -2
- package/dist/cjs/{post-tag-c456d90b.js → post-tag-ed81e114.js} +1 -1
- package/dist/cjs/post-tag.cjs.entry.js +2 -2
- package/dist/cjs/{post-togglebutton-4f3e0976.js → post-togglebutton-6c99f2a8.js} +45 -34
- package/dist/cjs/{post-tooltip-bae7ee46.js → post-tooltip-3d847af6.js} +1 -1
- package/dist/cjs/post-tooltip.cjs.entry.js +2 -2
- package/dist/collection/components/post-header/post-header.js +48 -33
- package/dist/components/package.js +1 -1
- package/dist/components/post-header2.js +46 -35
- package/dist/docs.json +17 -5
- package/dist/esm/index.js +20 -20
- package/dist/esm/package-08c623bf.js +3 -0
- package/dist/esm/{post-accordion-317dbe7e.js → post-accordion-465529b0.js} +1 -1
- package/dist/esm/{post-accordion-item-5d1b4d58.js → post-accordion-item-dcb8a6b3.js} +1 -1
- package/dist/esm/post-accordion-item.entry.js +2 -2
- package/dist/esm/post-accordion.entry.js +2 -2
- package/dist/esm/{post-avatar-db4e7dfe.js → post-avatar-fb92d451.js} +1 -1
- package/dist/esm/post-avatar.entry.js +2 -2
- package/dist/esm/{post-back-to-top-56edc0cb.js → post-back-to-top-29c2ecbc.js} +1 -1
- package/dist/esm/post-back-to-top.entry.js +2 -2
- package/dist/esm/{post-banner-3363f6ca.js → post-banner-ae82b42f.js} +1 -1
- package/dist/esm/post-banner.entry.js +2 -2
- package/dist/esm/{post-breadcrumb-d36a58fe.js → post-breadcrumb-3951ef10.js} +1 -1
- package/dist/esm/post-breadcrumb-item_2.entry.js +2 -2
- package/dist/esm/post-breadcrumb.entry.js +2 -2
- package/dist/esm/{post-card-control-01b26f14.js → post-card-control-1cee4a72.js} +1 -1
- package/dist/esm/post-card-control.entry.js +2 -2
- package/dist/esm/post-closebutton_15.entry.js +2 -2
- package/dist/esm/{post-collapsible-trigger-129cb03c.js → post-collapsible-trigger-def32fc5.js} +1 -1
- package/dist/esm/post-collapsible_2.entry.js +2 -2
- package/dist/esm/{post-footer-16975a8b.js → post-footer-2ec383ec.js} +1 -1
- package/dist/esm/post-footer.entry.js +2 -2
- package/dist/esm/{post-linkarea-4e80fa68.js → post-linkarea-d440a2b4.js} +1 -1
- package/dist/esm/post-linkarea.entry.js +2 -2
- package/dist/esm/{post-menu-item-6b1c6d97.js → post-menu-item-0f81dbc5.js} +1 -1
- package/dist/esm/{post-popover-c0be9a01.js → post-popover-4552c29a.js} +1 -1
- package/dist/esm/post-popover.entry.js +2 -2
- package/dist/esm/{post-rating-0a703f5f.js → post-rating-abfeeacf.js} +1 -1
- package/dist/esm/post-rating.entry.js +2 -2
- package/dist/esm/{post-tab-header-e84a8bbc.js → post-tab-header-ebbeb215.js} +1 -1
- package/dist/esm/post-tab-header.entry.js +2 -2
- package/dist/esm/{post-tab-panel-8fcce852.js → post-tab-panel-c2e834d4.js} +1 -1
- package/dist/esm/post-tab-panel.entry.js +2 -2
- package/dist/esm/{post-tabs-a79dd589.js → post-tabs-25ba69ea.js} +1 -1
- package/dist/esm/post-tabs.entry.js +2 -2
- package/dist/esm/{post-tag-b36a49e8.js → post-tag-95663466.js} +1 -1
- package/dist/esm/post-tag.entry.js +2 -2
- package/dist/esm/{post-togglebutton-d1736d7e.js → post-togglebutton-f076a2bb.js} +45 -34
- package/dist/esm/{post-tooltip-91b0d59c.js → post-tooltip-dc49483f.js} +1 -1
- package/dist/esm/post-tooltip.entry.js +2 -2
- package/dist/post-components/index.esm.js +1 -1
- package/dist/post-components/{p-7d0485dd.js → p-01c29d19.js} +1 -1
- package/dist/post-components/{p-05aafa59.js → p-029cbf1c.js} +1 -1
- package/dist/post-components/p-04f18b43.entry.js +1 -0
- package/dist/post-components/{p-84e36629.js → p-1d9ceda1.js} +1 -1
- package/dist/post-components/p-22378e65.entry.js +1 -0
- package/dist/post-components/{p-9459fcb6.js → p-26ca0eb8.js} +1 -1
- package/dist/post-components/{p-e3514559.js → p-283466d7.js} +1 -1
- package/dist/post-components/p-4e60f6b9.entry.js +1 -0
- package/dist/post-components/p-53a611ba.entry.js +1 -0
- package/dist/post-components/p-55242ffc.entry.js +1 -0
- package/dist/post-components/p-56259a41.entry.js +1 -0
- package/dist/post-components/p-57595392.js +1 -0
- package/dist/post-components/p-580fd9c5.entry.js +1 -0
- package/dist/post-components/{p-a95070d0.js → p-5dd40f83.js} +1 -1
- package/dist/post-components/{p-ae2347e9.js → p-610b4050.js} +1 -1
- package/dist/post-components/{p-294a2a02.entry.js → p-699f78b5.entry.js} +1 -1
- package/dist/post-components/p-70e6769b.js +1 -0
- package/dist/post-components/p-7335c94a.entry.js +1 -0
- package/dist/post-components/p-7e5fbf2b.entry.js +1 -0
- package/dist/post-components/p-8098c26c.entry.js +1 -0
- package/dist/post-components/p-8515ab59.entry.js +1 -0
- package/dist/post-components/{p-1ce770a4.js → p-8d906ba2.js} +1 -1
- package/dist/post-components/{p-50e59106.js → p-8d9b499b.js} +1 -1
- package/dist/post-components/{p-567947cb.js → p-a56dad38.js} +1 -1
- package/dist/post-components/{p-a82cec53.entry.js → p-a9e01ce6.entry.js} +1 -1
- package/dist/post-components/{p-c2dbd7a1.js → p-bceb500f.js} +1 -1
- package/dist/post-components/p-bdad79f6.entry.js +1 -0
- package/dist/post-components/{p-184194f6.js → p-c617e1cb.js} +1 -1
- package/dist/post-components/p-c7944519.entry.js +1 -0
- package/dist/post-components/{p-13f55660.js → p-ccd83c09.js} +1 -1
- package/dist/post-components/p-cddbd32f.entry.js +1 -0
- package/dist/post-components/{p-c94d2e70.js → p-ce852695.js} +1 -1
- package/dist/post-components/p-db8093a9.entry.js +1 -0
- package/dist/post-components/p-dd973323.entry.js +1 -0
- package/dist/post-components/p-e6038029.js +1 -0
- package/dist/post-components/{p-944aa9cf.js → p-eaa3937a.js} +1 -1
- package/dist/post-components/{p-7c62736e.js → p-f1012812.js} +1 -1
- package/dist/post-components/p-f93e5fc0.entry.js +1 -0
- package/dist/post-components/{p-f9b3addd.js → p-fecb2d59.js} +1 -1
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/components/post-header/post-header.d.ts +4 -2
- package/dist/types/components.d.ts +1 -1
- package/loaders/package.js +1 -1
- package/loaders/post-header.js +46 -35
- package/package.json +3 -3
- package/dist/esm/package-f5f8e879.js +0 -3
- package/dist/post-components/p-3df87c0f.entry.js +0 -1
- package/dist/post-components/p-3fb27af8.entry.js +0 -1
- package/dist/post-components/p-4a3b4622.entry.js +0 -1
- package/dist/post-components/p-4e63b8c5.entry.js +0 -1
- package/dist/post-components/p-4edd87cd.entry.js +0 -1
- package/dist/post-components/p-508df448.entry.js +0 -1
- package/dist/post-components/p-56385120.entry.js +0 -1
- package/dist/post-components/p-5a0e93e1.entry.js +0 -1
- package/dist/post-components/p-5f39bad2.entry.js +0 -1
- package/dist/post-components/p-61c6163d.entry.js +0 -1
- package/dist/post-components/p-680fa79f.js +0 -1
- package/dist/post-components/p-7303cf62.entry.js +0 -1
- package/dist/post-components/p-7c90497e.js +0 -1
- package/dist/post-components/p-89b6df16.entry.js +0 -1
- package/dist/post-components/p-b3f51771.entry.js +0 -1
- package/dist/post-components/p-c7bb0317.entry.js +0 -1
- package/dist/post-components/p-ce88568e.entry.js +0 -1
- package/dist/post-components/p-d489cb8f.js +0 -1
- package/dist/post-components/p-e33d83f4.entry.js +0 -1
- package/dist/post-components/p-f186908f.entry.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const index = require('./index-d6bf2c66.js');
|
|
4
|
-
const _package = require('./package-
|
|
4
|
+
const _package = require('./package-4af5d3ea.js');
|
|
5
5
|
const slide = require('./slide-cd1f09b3.js');
|
|
6
6
|
const index$1 = require('./index-23e36ff7.js');
|
|
7
7
|
const checkNonEmpty = require('./check-non-empty-bd99d236.js');
|
|
@@ -192,13 +192,6 @@ const postHeaderCss = "*,::before,::after{box-sizing:border-box}:host{z-index:10
|
|
|
192
192
|
const PostHeaderStyle0 = postHeaderCss;
|
|
193
193
|
|
|
194
194
|
const PostHeader = class {
|
|
195
|
-
constructor(hostRef) {
|
|
196
|
-
index.registerInstance(this, hostRef);
|
|
197
|
-
this.postUpdateDevice = index.createEvent(this, "postUpdateDevice", 7);
|
|
198
|
-
this.device = null;
|
|
199
|
-
this.mobileMenuExtended = false;
|
|
200
|
-
this.megadropdownOpen = false;
|
|
201
|
-
}
|
|
202
195
|
firstFocusableEl;
|
|
203
196
|
lastFocusableEl;
|
|
204
197
|
mobileMenu;
|
|
@@ -226,58 +219,76 @@ const PostHeader = class {
|
|
|
226
219
|
if (isMobileMenuExtended) {
|
|
227
220
|
scrollParent.setAttribute('data-is-post-header-scroll-parent', '');
|
|
228
221
|
scrollParent.style.overflow = 'hidden';
|
|
229
|
-
this.host.addEventListener('keydown', this.keyboardHandler
|
|
222
|
+
this.host.addEventListener('keydown', this.keyboardHandler);
|
|
230
223
|
}
|
|
231
224
|
else {
|
|
232
225
|
scrollParent.style.overflow = '';
|
|
233
226
|
scrollParent.removeAttribute('data-is-post-header-scroll-parent');
|
|
234
|
-
this.host.removeEventListener('keydown', this.keyboardHandler
|
|
227
|
+
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
235
228
|
}
|
|
236
229
|
}
|
|
237
230
|
/**
|
|
238
231
|
* An event emitted when the device has changed
|
|
239
232
|
*/
|
|
240
233
|
postUpdateDevice;
|
|
241
|
-
|
|
234
|
+
constructor(hostRef) {
|
|
235
|
+
index.registerInstance(this, hostRef);
|
|
236
|
+
this.postUpdateDevice = index.createEvent(this, "postUpdateDevice", 7);
|
|
237
|
+
this.device = null;
|
|
238
|
+
this.mobileMenuExtended = false;
|
|
239
|
+
this.megadropdownOpen = false;
|
|
240
|
+
this.handleScrollEvent = this.handleScrollEvent.bind(this);
|
|
241
|
+
this.updateScrollParentHeight = this.updateScrollParentHeight.bind(this);
|
|
242
|
+
this.updateLocalHeaderHeight = this.updateLocalHeaderHeight.bind(this);
|
|
243
|
+
this.megedropdownStateHandler = this.megedropdownStateHandler.bind(this);
|
|
244
|
+
this.keyboardHandler = this.keyboardHandler.bind(this);
|
|
245
|
+
this.handleLinkClick = this.handleLinkClick.bind(this);
|
|
246
|
+
}
|
|
247
|
+
connectedCallback() {
|
|
242
248
|
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
243
|
-
window.addEventListener('scroll', this.handleScrollEvent
|
|
249
|
+
window.addEventListener('scroll', this.handleScrollEvent, {
|
|
244
250
|
passive: true,
|
|
245
251
|
});
|
|
246
|
-
this.scrollParent.addEventListener('scroll', this.handleScrollEvent
|
|
252
|
+
this.scrollParent.addEventListener('scroll', this.handleScrollEvent, {
|
|
247
253
|
passive: true,
|
|
248
254
|
});
|
|
255
|
+
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
|
|
256
|
+
this.host.addEventListener('click', this.handleLinkClick);
|
|
257
|
+
this.frozeBody(false);
|
|
249
258
|
this.handleResize();
|
|
250
259
|
this.handleScrollEvent();
|
|
260
|
+
this.handleScrollParentResize();
|
|
261
|
+
}
|
|
262
|
+
componentDidRender() {
|
|
251
263
|
this.getFocusableElements();
|
|
264
|
+
this.handleLocalHeaderResize();
|
|
252
265
|
}
|
|
253
266
|
componentDidLoad() {
|
|
254
267
|
// Check if the mega dropdown is expanded
|
|
255
|
-
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler.bind(this));
|
|
256
|
-
this.host.addEventListener('click', this.handleLinkClick.bind(this));
|
|
257
|
-
this.handleScrollParentResize();
|
|
258
|
-
this.handleLocalHeaderResize();
|
|
259
268
|
}
|
|
260
269
|
// Clean up possible side effects when post-header is disconnected
|
|
261
270
|
disconnectedCallback() {
|
|
262
271
|
const scrollParent = this.scrollParent;
|
|
263
272
|
window.removeEventListener('resize', this.throttledResize);
|
|
264
|
-
window.removeEventListener('scroll', this.handleScrollEvent
|
|
265
|
-
scrollParent.removeEventListener('scroll', this.handleScrollEvent
|
|
266
|
-
document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler
|
|
267
|
-
this.host.removeEventListener('keydown', this.keyboardHandler
|
|
268
|
-
this.host.removeEventListener('click', this.handleLinkClick
|
|
269
|
-
if (this.scrollParentResizeObserver)
|
|
273
|
+
window.removeEventListener('scroll', this.handleScrollEvent);
|
|
274
|
+
scrollParent.removeEventListener('scroll', this.handleScrollEvent);
|
|
275
|
+
document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
|
|
276
|
+
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
277
|
+
this.host.removeEventListener('click', this.handleLinkClick);
|
|
278
|
+
if (this.scrollParentResizeObserver) {
|
|
270
279
|
this.scrollParentResizeObserver.disconnect();
|
|
271
|
-
|
|
280
|
+
this.scrollParentResizeObserver = null;
|
|
281
|
+
}
|
|
282
|
+
if (this.localHeaderResizeObserver) {
|
|
272
283
|
this.localHeaderResizeObserver.disconnect();
|
|
284
|
+
this.localHeaderResizeObserver = null;
|
|
285
|
+
}
|
|
273
286
|
this.mobileMenuExtended = false;
|
|
274
|
-
scrollParent.style.overflow = '';
|
|
275
|
-
scrollParent.removeAttribute('data-is-post-header-scroll-parent');
|
|
276
287
|
}
|
|
277
288
|
/**
|
|
278
289
|
* Toggles the mobile navigation.
|
|
279
290
|
*/
|
|
280
|
-
async toggleMobileMenu() {
|
|
291
|
+
async toggleMobileMenu(force) {
|
|
281
292
|
if (this.device === 'desktop')
|
|
282
293
|
return;
|
|
283
294
|
this.mobileMenuAnimation = this.mobileMenuExtended
|
|
@@ -285,11 +296,11 @@ const PostHeader = class {
|
|
|
285
296
|
: slide.slideDown(this.mobileMenu);
|
|
286
297
|
// Update the state of the toggle button
|
|
287
298
|
const menuButton = this.host.querySelector('post-togglebutton');
|
|
288
|
-
menuButton.toggled = !this.mobileMenuExtended;
|
|
299
|
+
menuButton.toggled = force ?? !this.mobileMenuExtended;
|
|
289
300
|
// Toggle menu visibility before it slides down and after it slides back up
|
|
290
301
|
if (this.mobileMenuExtended)
|
|
291
302
|
await this.mobileMenuAnimation.finished;
|
|
292
|
-
this.mobileMenuExtended = !this.mobileMenuExtended;
|
|
303
|
+
this.mobileMenuExtended = force ?? !this.mobileMenuExtended;
|
|
293
304
|
if (!this.mobileMenuExtended)
|
|
294
305
|
await this.mobileMenuAnimation.finished;
|
|
295
306
|
}
|
|
@@ -344,7 +355,7 @@ const PostHeader = class {
|
|
|
344
355
|
return;
|
|
345
356
|
}
|
|
346
357
|
if (this.mobileMenuExtended && (isLinkInMainNav || isLinkInMegadropdown)) {
|
|
347
|
-
this.toggleMobileMenu();
|
|
358
|
+
this.toggleMobileMenu(false);
|
|
348
359
|
}
|
|
349
360
|
if (this.device === 'desktop' && isLinkInMegadropdown) {
|
|
350
361
|
const megadropdownLink = target.closest('post-megadropdown a');
|
|
@@ -382,14 +393,14 @@ const PostHeader = class {
|
|
|
382
393
|
}
|
|
383
394
|
handleScrollParentResize() {
|
|
384
395
|
if (this.scrollParent) {
|
|
385
|
-
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight
|
|
396
|
+
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight);
|
|
386
397
|
this.scrollParentResizeObserver.observe(this.scrollParent);
|
|
387
398
|
}
|
|
388
399
|
}
|
|
389
400
|
handleLocalHeaderResize() {
|
|
390
401
|
const localHeader = this.host.shadowRoot.querySelector('.local-header');
|
|
391
|
-
if (localHeader) {
|
|
392
|
-
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight
|
|
402
|
+
if (localHeader && !this.localHeaderResizeObserver) {
|
|
403
|
+
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight);
|
|
393
404
|
this.localHeaderResizeObserver.observe(localHeader);
|
|
394
405
|
}
|
|
395
406
|
}
|
|
@@ -410,7 +421,7 @@ const PostHeader = class {
|
|
|
410
421
|
return (index.h("div", { class: navigationClasses.join(' ') }, index.h("div", { ref: el => (this.mobileMenu = el) }, index.h("slot", { name: "post-mainnavigation" }), (this.device === 'mobile' || this.device === 'tablet') && (index.h("div", { class: "navigation-footer" }, index.h("slot", { name: "meta-navigation" }), index.h("slot", { name: "post-language-switch" }))))));
|
|
411
422
|
}
|
|
412
423
|
render() {
|
|
413
|
-
return (index.h(index.Host, { key: '
|
|
424
|
+
return (index.h(index.Host, { key: '9cf9cfd3c09958b60be5492f226766098aa4c3fb', version: _package.version }, index.h("div", { key: '11eff51b1d3b5da81af282b12d7c621d9d389dd0', class: "global-header" }, index.h("div", { key: 'e80d3e7726329c6902f414fd6d74f3d74f54e8ca', class: "global-sub" }, index.h("div", { key: '9c7fad8991432ca8f23193566285cb6948a9efbd', class: "logo" }, index.h("slot", { key: 'cd993961cc68757155a6408f9a1ce903cf64bb98', name: "post-logo" }))), index.h("div", { key: '0ebe23b40ed941eb743caaa68767c1e8dbab6f9e', class: "global-sub" }, this.device === 'desktop' && index.h("slot", { key: 'e972a93266f2240e1f66248c8f00fcc9fafd6b8c', name: "meta-navigation" }), index.h("slot", { key: '5ddac1faa808b043705e9f8d654b6610e230484b', name: "global-controls" }), this.device === 'desktop' && index.h("slot", { key: '86dec5106e34b14cbc6f5fa5c7cac98e0a571ef4', name: "post-language-switch" }), index.h("div", { key: '5eb98bbabfaa86c20974c9ede677bf31aa1afbc7', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, index.h("slot", { key: '3a35856948852d880be939b6f66b5c38e921c19a', name: "post-togglebutton" })))), index.h("div", { key: 'e2749e94aad4b6174b28dbab5d64c6bc2bd614ca', class: 'local-header ' + (this.mobileMenuExtended ? 'local-header-mobile-extended' : '') }, index.h("slot", { key: 'e767a608ecca1199554c25f86188ca3d74ec1f95', name: "title" }), index.h("div", { key: 'bedb62571e462b89948fafa319faa5937fc6b8c3', class: "local-sub" }, index.h("slot", { key: '2e051bd52a90b8f806ca3caaec2ed67c16f887f0', name: "local-controls" }), index.h("slot", { key: '5d1dc41591db297b1d4c9e1622fad2ac5376de87' })), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
|
|
414
425
|
}
|
|
415
426
|
static get watchers() { return {
|
|
416
427
|
"mobileMenuExtended": ["frozeBody"]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const index = require('./index-d6bf2c66.js');
|
|
4
|
-
const _package = require('./package-
|
|
4
|
+
const _package = require('./package-4af5d3ea.js');
|
|
5
5
|
const attributeObserver = require('./attribute-observer-6d8b886b.js');
|
|
6
6
|
const index$1 = require('./index-23e36ff7.js');
|
|
7
7
|
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const postTooltip = require('./post-tooltip-
|
|
5
|
+
const postTooltip = require('./post-tooltip-3d847af6.js');
|
|
6
6
|
require('./index-d6bf2c66.js');
|
|
7
|
-
require('./package-
|
|
7
|
+
require('./package-4af5d3ea.js');
|
|
8
8
|
require('./attribute-observer-6d8b886b.js');
|
|
9
9
|
require('./index-23e36ff7.js');
|
|
10
10
|
require('./constants-238701d3.js');
|
|
@@ -13,11 +13,6 @@ import { getFocusableChildren } from "../../utils/get-focusable-children";
|
|
|
13
13
|
* @slot post-mainnavigation - Has a default slot because it's only meant to be used in the `<post-header>`.
|
|
14
14
|
*/
|
|
15
15
|
export class PostHeader {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.device = null;
|
|
18
|
-
this.mobileMenuExtended = false;
|
|
19
|
-
this.megadropdownOpen = false;
|
|
20
|
-
}
|
|
21
16
|
firstFocusableEl;
|
|
22
17
|
lastFocusableEl;
|
|
23
18
|
mobileMenu;
|
|
@@ -45,58 +40,74 @@ export class PostHeader {
|
|
|
45
40
|
if (isMobileMenuExtended) {
|
|
46
41
|
scrollParent.setAttribute('data-is-post-header-scroll-parent', '');
|
|
47
42
|
scrollParent.style.overflow = 'hidden';
|
|
48
|
-
this.host.addEventListener('keydown', this.keyboardHandler
|
|
43
|
+
this.host.addEventListener('keydown', this.keyboardHandler);
|
|
49
44
|
}
|
|
50
45
|
else {
|
|
51
46
|
scrollParent.style.overflow = '';
|
|
52
47
|
scrollParent.removeAttribute('data-is-post-header-scroll-parent');
|
|
53
|
-
this.host.removeEventListener('keydown', this.keyboardHandler
|
|
48
|
+
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
54
49
|
}
|
|
55
50
|
}
|
|
56
51
|
/**
|
|
57
52
|
* An event emitted when the device has changed
|
|
58
53
|
*/
|
|
59
54
|
postUpdateDevice;
|
|
60
|
-
|
|
55
|
+
constructor() {
|
|
56
|
+
this.device = null;
|
|
57
|
+
this.mobileMenuExtended = false;
|
|
58
|
+
this.megadropdownOpen = false;
|
|
59
|
+
this.handleScrollEvent = this.handleScrollEvent.bind(this);
|
|
60
|
+
this.updateScrollParentHeight = this.updateScrollParentHeight.bind(this);
|
|
61
|
+
this.updateLocalHeaderHeight = this.updateLocalHeaderHeight.bind(this);
|
|
62
|
+
this.megedropdownStateHandler = this.megedropdownStateHandler.bind(this);
|
|
63
|
+
this.keyboardHandler = this.keyboardHandler.bind(this);
|
|
64
|
+
this.handleLinkClick = this.handleLinkClick.bind(this);
|
|
65
|
+
}
|
|
66
|
+
connectedCallback() {
|
|
61
67
|
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
62
|
-
window.addEventListener('scroll', this.handleScrollEvent
|
|
68
|
+
window.addEventListener('scroll', this.handleScrollEvent, {
|
|
63
69
|
passive: true,
|
|
64
70
|
});
|
|
65
|
-
this.scrollParent.addEventListener('scroll', this.handleScrollEvent
|
|
71
|
+
this.scrollParent.addEventListener('scroll', this.handleScrollEvent, {
|
|
66
72
|
passive: true,
|
|
67
73
|
});
|
|
74
|
+
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
|
|
75
|
+
this.host.addEventListener('click', this.handleLinkClick);
|
|
76
|
+
this.frozeBody(false);
|
|
68
77
|
this.handleResize();
|
|
69
78
|
this.handleScrollEvent();
|
|
79
|
+
this.handleScrollParentResize();
|
|
80
|
+
}
|
|
81
|
+
componentDidRender() {
|
|
70
82
|
this.getFocusableElements();
|
|
83
|
+
this.handleLocalHeaderResize();
|
|
71
84
|
}
|
|
72
85
|
componentDidLoad() {
|
|
73
86
|
// Check if the mega dropdown is expanded
|
|
74
|
-
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler.bind(this));
|
|
75
|
-
this.host.addEventListener('click', this.handleLinkClick.bind(this));
|
|
76
|
-
this.handleScrollParentResize();
|
|
77
|
-
this.handleLocalHeaderResize();
|
|
78
87
|
}
|
|
79
88
|
// Clean up possible side effects when post-header is disconnected
|
|
80
89
|
disconnectedCallback() {
|
|
81
90
|
const scrollParent = this.scrollParent;
|
|
82
91
|
window.removeEventListener('resize', this.throttledResize);
|
|
83
|
-
window.removeEventListener('scroll', this.handleScrollEvent
|
|
84
|
-
scrollParent.removeEventListener('scroll', this.handleScrollEvent
|
|
85
|
-
document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler
|
|
86
|
-
this.host.removeEventListener('keydown', this.keyboardHandler
|
|
87
|
-
this.host.removeEventListener('click', this.handleLinkClick
|
|
88
|
-
if (this.scrollParentResizeObserver)
|
|
92
|
+
window.removeEventListener('scroll', this.handleScrollEvent);
|
|
93
|
+
scrollParent.removeEventListener('scroll', this.handleScrollEvent);
|
|
94
|
+
document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
|
|
95
|
+
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
96
|
+
this.host.removeEventListener('click', this.handleLinkClick);
|
|
97
|
+
if (this.scrollParentResizeObserver) {
|
|
89
98
|
this.scrollParentResizeObserver.disconnect();
|
|
90
|
-
|
|
99
|
+
this.scrollParentResizeObserver = null;
|
|
100
|
+
}
|
|
101
|
+
if (this.localHeaderResizeObserver) {
|
|
91
102
|
this.localHeaderResizeObserver.disconnect();
|
|
103
|
+
this.localHeaderResizeObserver = null;
|
|
104
|
+
}
|
|
92
105
|
this.mobileMenuExtended = false;
|
|
93
|
-
scrollParent.style.overflow = '';
|
|
94
|
-
scrollParent.removeAttribute('data-is-post-header-scroll-parent');
|
|
95
106
|
}
|
|
96
107
|
/**
|
|
97
108
|
* Toggles the mobile navigation.
|
|
98
109
|
*/
|
|
99
|
-
async toggleMobileMenu() {
|
|
110
|
+
async toggleMobileMenu(force) {
|
|
100
111
|
if (this.device === 'desktop')
|
|
101
112
|
return;
|
|
102
113
|
this.mobileMenuAnimation = this.mobileMenuExtended
|
|
@@ -104,11 +115,11 @@ export class PostHeader {
|
|
|
104
115
|
: slideDown(this.mobileMenu);
|
|
105
116
|
// Update the state of the toggle button
|
|
106
117
|
const menuButton = this.host.querySelector('post-togglebutton');
|
|
107
|
-
menuButton.toggled = !this.mobileMenuExtended;
|
|
118
|
+
menuButton.toggled = force ?? !this.mobileMenuExtended;
|
|
108
119
|
// Toggle menu visibility before it slides down and after it slides back up
|
|
109
120
|
if (this.mobileMenuExtended)
|
|
110
121
|
await this.mobileMenuAnimation.finished;
|
|
111
|
-
this.mobileMenuExtended = !this.mobileMenuExtended;
|
|
122
|
+
this.mobileMenuExtended = force ?? !this.mobileMenuExtended;
|
|
112
123
|
if (!this.mobileMenuExtended)
|
|
113
124
|
await this.mobileMenuAnimation.finished;
|
|
114
125
|
}
|
|
@@ -163,7 +174,7 @@ export class PostHeader {
|
|
|
163
174
|
return;
|
|
164
175
|
}
|
|
165
176
|
if (this.mobileMenuExtended && (isLinkInMainNav || isLinkInMegadropdown)) {
|
|
166
|
-
this.toggleMobileMenu();
|
|
177
|
+
this.toggleMobileMenu(false);
|
|
167
178
|
}
|
|
168
179
|
if (this.device === 'desktop' && isLinkInMegadropdown) {
|
|
169
180
|
const megadropdownLink = target.closest('post-megadropdown a');
|
|
@@ -201,14 +212,14 @@ export class PostHeader {
|
|
|
201
212
|
}
|
|
202
213
|
handleScrollParentResize() {
|
|
203
214
|
if (this.scrollParent) {
|
|
204
|
-
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight
|
|
215
|
+
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight);
|
|
205
216
|
this.scrollParentResizeObserver.observe(this.scrollParent);
|
|
206
217
|
}
|
|
207
218
|
}
|
|
208
219
|
handleLocalHeaderResize() {
|
|
209
220
|
const localHeader = this.host.shadowRoot.querySelector('.local-header');
|
|
210
|
-
if (localHeader) {
|
|
211
|
-
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight
|
|
221
|
+
if (localHeader && !this.localHeaderResizeObserver) {
|
|
222
|
+
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight);
|
|
212
223
|
this.localHeaderResizeObserver.observe(localHeader);
|
|
213
224
|
}
|
|
214
225
|
}
|
|
@@ -229,7 +240,7 @@ export class PostHeader {
|
|
|
229
240
|
return (h("div", { class: navigationClasses.join(' ') }, h("div", { ref: el => (this.mobileMenu = el) }, h("slot", { name: "post-mainnavigation" }), (this.device === 'mobile' || this.device === 'tablet') && (h("div", { class: "navigation-footer" }, h("slot", { name: "meta-navigation" }), h("slot", { name: "post-language-switch" }))))));
|
|
230
241
|
}
|
|
231
242
|
render() {
|
|
232
|
-
return (h(Host, { key: '
|
|
243
|
+
return (h(Host, { key: '9cf9cfd3c09958b60be5492f226766098aa4c3fb', version: version }, h("div", { key: '11eff51b1d3b5da81af282b12d7c621d9d389dd0', class: "global-header" }, h("div", { key: 'e80d3e7726329c6902f414fd6d74f3d74f54e8ca', class: "global-sub" }, h("div", { key: '9c7fad8991432ca8f23193566285cb6948a9efbd', class: "logo" }, h("slot", { key: 'cd993961cc68757155a6408f9a1ce903cf64bb98', name: "post-logo" }))), h("div", { key: '0ebe23b40ed941eb743caaa68767c1e8dbab6f9e', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: 'e972a93266f2240e1f66248c8f00fcc9fafd6b8c', name: "meta-navigation" }), h("slot", { key: '5ddac1faa808b043705e9f8d654b6610e230484b', name: "global-controls" }), this.device === 'desktop' && h("slot", { key: '86dec5106e34b14cbc6f5fa5c7cac98e0a571ef4', name: "post-language-switch" }), h("div", { key: '5eb98bbabfaa86c20974c9ede677bf31aa1afbc7', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, h("slot", { key: '3a35856948852d880be939b6f66b5c38e921c19a', name: "post-togglebutton" })))), h("div", { key: 'e2749e94aad4b6174b28dbab5d64c6bc2bd614ca', class: 'local-header ' + (this.mobileMenuExtended ? 'local-header-mobile-extended' : '') }, h("slot", { key: 'e767a608ecca1199554c25f86188ca3d74ec1f95', name: "title" }), h("div", { key: 'bedb62571e462b89948fafa319faa5937fc6b8c3', class: "local-sub" }, h("slot", { key: '2e051bd52a90b8f806ca3caaec2ed67c16f887f0', name: "local-controls" }), h("slot", { key: '5d1dc41591db297b1d4c9e1622fad2ac5376de87' })), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
|
|
233
244
|
}
|
|
234
245
|
static get is() { return "post-header"; }
|
|
235
246
|
static get encapsulation() { return "shadow"; }
|
|
@@ -278,8 +289,12 @@ export class PostHeader {
|
|
|
278
289
|
return {
|
|
279
290
|
"toggleMobileMenu": {
|
|
280
291
|
"complexType": {
|
|
281
|
-
"signature": "() => Promise<void>",
|
|
282
|
-
"parameters": [
|
|
292
|
+
"signature": "(force?: boolean) => Promise<void>",
|
|
293
|
+
"parameters": [{
|
|
294
|
+
"name": "force",
|
|
295
|
+
"type": "boolean",
|
|
296
|
+
"docs": ""
|
|
297
|
+
}],
|
|
283
298
|
"references": {
|
|
284
299
|
"Promise": {
|
|
285
300
|
"location": "global",
|
|
@@ -141,15 +141,6 @@ const postHeaderCss = "*,::before,::after{box-sizing:border-box}:host{z-index:10
|
|
|
141
141
|
const PostHeaderStyle0 = postHeaderCss;
|
|
142
142
|
|
|
143
143
|
const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTMLElement {
|
|
144
|
-
constructor() {
|
|
145
|
-
super();
|
|
146
|
-
this.__registerHost();
|
|
147
|
-
this.__attachShadow();
|
|
148
|
-
this.postUpdateDevice = createEvent(this, "postUpdateDevice", 7);
|
|
149
|
-
this.device = null;
|
|
150
|
-
this.mobileMenuExtended = false;
|
|
151
|
-
this.megadropdownOpen = false;
|
|
152
|
-
}
|
|
153
144
|
firstFocusableEl;
|
|
154
145
|
lastFocusableEl;
|
|
155
146
|
mobileMenu;
|
|
@@ -177,58 +168,78 @@ const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTM
|
|
|
177
168
|
if (isMobileMenuExtended) {
|
|
178
169
|
scrollParent.setAttribute('data-is-post-header-scroll-parent', '');
|
|
179
170
|
scrollParent.style.overflow = 'hidden';
|
|
180
|
-
this.host.addEventListener('keydown', this.keyboardHandler
|
|
171
|
+
this.host.addEventListener('keydown', this.keyboardHandler);
|
|
181
172
|
}
|
|
182
173
|
else {
|
|
183
174
|
scrollParent.style.overflow = '';
|
|
184
175
|
scrollParent.removeAttribute('data-is-post-header-scroll-parent');
|
|
185
|
-
this.host.removeEventListener('keydown', this.keyboardHandler
|
|
176
|
+
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
186
177
|
}
|
|
187
178
|
}
|
|
188
179
|
/**
|
|
189
180
|
* An event emitted when the device has changed
|
|
190
181
|
*/
|
|
191
182
|
postUpdateDevice;
|
|
192
|
-
|
|
183
|
+
constructor() {
|
|
184
|
+
super();
|
|
185
|
+
this.__registerHost();
|
|
186
|
+
this.__attachShadow();
|
|
187
|
+
this.postUpdateDevice = createEvent(this, "postUpdateDevice", 7);
|
|
188
|
+
this.device = null;
|
|
189
|
+
this.mobileMenuExtended = false;
|
|
190
|
+
this.megadropdownOpen = false;
|
|
191
|
+
this.handleScrollEvent = this.handleScrollEvent.bind(this);
|
|
192
|
+
this.updateScrollParentHeight = this.updateScrollParentHeight.bind(this);
|
|
193
|
+
this.updateLocalHeaderHeight = this.updateLocalHeaderHeight.bind(this);
|
|
194
|
+
this.megedropdownStateHandler = this.megedropdownStateHandler.bind(this);
|
|
195
|
+
this.keyboardHandler = this.keyboardHandler.bind(this);
|
|
196
|
+
this.handleLinkClick = this.handleLinkClick.bind(this);
|
|
197
|
+
}
|
|
198
|
+
connectedCallback() {
|
|
193
199
|
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
194
|
-
window.addEventListener('scroll', this.handleScrollEvent
|
|
200
|
+
window.addEventListener('scroll', this.handleScrollEvent, {
|
|
195
201
|
passive: true,
|
|
196
202
|
});
|
|
197
|
-
this.scrollParent.addEventListener('scroll', this.handleScrollEvent
|
|
203
|
+
this.scrollParent.addEventListener('scroll', this.handleScrollEvent, {
|
|
198
204
|
passive: true,
|
|
199
205
|
});
|
|
206
|
+
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
|
|
207
|
+
this.host.addEventListener('click', this.handleLinkClick);
|
|
208
|
+
this.frozeBody(false);
|
|
200
209
|
this.handleResize();
|
|
201
210
|
this.handleScrollEvent();
|
|
211
|
+
this.handleScrollParentResize();
|
|
212
|
+
}
|
|
213
|
+
componentDidRender() {
|
|
202
214
|
this.getFocusableElements();
|
|
215
|
+
this.handleLocalHeaderResize();
|
|
203
216
|
}
|
|
204
217
|
componentDidLoad() {
|
|
205
218
|
// Check if the mega dropdown is expanded
|
|
206
|
-
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler.bind(this));
|
|
207
|
-
this.host.addEventListener('click', this.handleLinkClick.bind(this));
|
|
208
|
-
this.handleScrollParentResize();
|
|
209
|
-
this.handleLocalHeaderResize();
|
|
210
219
|
}
|
|
211
220
|
// Clean up possible side effects when post-header is disconnected
|
|
212
221
|
disconnectedCallback() {
|
|
213
222
|
const scrollParent = this.scrollParent;
|
|
214
223
|
window.removeEventListener('resize', this.throttledResize);
|
|
215
|
-
window.removeEventListener('scroll', this.handleScrollEvent
|
|
216
|
-
scrollParent.removeEventListener('scroll', this.handleScrollEvent
|
|
217
|
-
document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler
|
|
218
|
-
this.host.removeEventListener('keydown', this.keyboardHandler
|
|
219
|
-
this.host.removeEventListener('click', this.handleLinkClick
|
|
220
|
-
if (this.scrollParentResizeObserver)
|
|
224
|
+
window.removeEventListener('scroll', this.handleScrollEvent);
|
|
225
|
+
scrollParent.removeEventListener('scroll', this.handleScrollEvent);
|
|
226
|
+
document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
|
|
227
|
+
this.host.removeEventListener('keydown', this.keyboardHandler);
|
|
228
|
+
this.host.removeEventListener('click', this.handleLinkClick);
|
|
229
|
+
if (this.scrollParentResizeObserver) {
|
|
221
230
|
this.scrollParentResizeObserver.disconnect();
|
|
222
|
-
|
|
231
|
+
this.scrollParentResizeObserver = null;
|
|
232
|
+
}
|
|
233
|
+
if (this.localHeaderResizeObserver) {
|
|
223
234
|
this.localHeaderResizeObserver.disconnect();
|
|
235
|
+
this.localHeaderResizeObserver = null;
|
|
236
|
+
}
|
|
224
237
|
this.mobileMenuExtended = false;
|
|
225
|
-
scrollParent.style.overflow = '';
|
|
226
|
-
scrollParent.removeAttribute('data-is-post-header-scroll-parent');
|
|
227
238
|
}
|
|
228
239
|
/**
|
|
229
240
|
* Toggles the mobile navigation.
|
|
230
241
|
*/
|
|
231
|
-
async toggleMobileMenu() {
|
|
242
|
+
async toggleMobileMenu(force) {
|
|
232
243
|
if (this.device === 'desktop')
|
|
233
244
|
return;
|
|
234
245
|
this.mobileMenuAnimation = this.mobileMenuExtended
|
|
@@ -236,11 +247,11 @@ const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTM
|
|
|
236
247
|
: slideDown(this.mobileMenu);
|
|
237
248
|
// Update the state of the toggle button
|
|
238
249
|
const menuButton = this.host.querySelector('post-togglebutton');
|
|
239
|
-
menuButton.toggled = !this.mobileMenuExtended;
|
|
250
|
+
menuButton.toggled = force ?? !this.mobileMenuExtended;
|
|
240
251
|
// Toggle menu visibility before it slides down and after it slides back up
|
|
241
252
|
if (this.mobileMenuExtended)
|
|
242
253
|
await this.mobileMenuAnimation.finished;
|
|
243
|
-
this.mobileMenuExtended = !this.mobileMenuExtended;
|
|
254
|
+
this.mobileMenuExtended = force ?? !this.mobileMenuExtended;
|
|
244
255
|
if (!this.mobileMenuExtended)
|
|
245
256
|
await this.mobileMenuAnimation.finished;
|
|
246
257
|
}
|
|
@@ -295,7 +306,7 @@ const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTM
|
|
|
295
306
|
return;
|
|
296
307
|
}
|
|
297
308
|
if (this.mobileMenuExtended && (isLinkInMainNav || isLinkInMegadropdown)) {
|
|
298
|
-
this.toggleMobileMenu();
|
|
309
|
+
this.toggleMobileMenu(false);
|
|
299
310
|
}
|
|
300
311
|
if (this.device === 'desktop' && isLinkInMegadropdown) {
|
|
301
312
|
const megadropdownLink = target.closest('post-megadropdown a');
|
|
@@ -333,14 +344,14 @@ const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTM
|
|
|
333
344
|
}
|
|
334
345
|
handleScrollParentResize() {
|
|
335
346
|
if (this.scrollParent) {
|
|
336
|
-
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight
|
|
347
|
+
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight);
|
|
337
348
|
this.scrollParentResizeObserver.observe(this.scrollParent);
|
|
338
349
|
}
|
|
339
350
|
}
|
|
340
351
|
handleLocalHeaderResize() {
|
|
341
352
|
const localHeader = this.host.shadowRoot.querySelector('.local-header');
|
|
342
|
-
if (localHeader) {
|
|
343
|
-
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight
|
|
353
|
+
if (localHeader && !this.localHeaderResizeObserver) {
|
|
354
|
+
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight);
|
|
344
355
|
this.localHeaderResizeObserver.observe(localHeader);
|
|
345
356
|
}
|
|
346
357
|
}
|
|
@@ -361,7 +372,7 @@ const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTM
|
|
|
361
372
|
return (h("div", { class: navigationClasses.join(' ') }, h("div", { ref: el => (this.mobileMenu = el) }, h("slot", { name: "post-mainnavigation" }), (this.device === 'mobile' || this.device === 'tablet') && (h("div", { class: "navigation-footer" }, h("slot", { name: "meta-navigation" }), h("slot", { name: "post-language-switch" }))))));
|
|
362
373
|
}
|
|
363
374
|
render() {
|
|
364
|
-
return (h(Host, { key: '
|
|
375
|
+
return (h(Host, { key: '9cf9cfd3c09958b60be5492f226766098aa4c3fb', version: version }, h("div", { key: '11eff51b1d3b5da81af282b12d7c621d9d389dd0', class: "global-header" }, h("div", { key: 'e80d3e7726329c6902f414fd6d74f3d74f54e8ca', class: "global-sub" }, h("div", { key: '9c7fad8991432ca8f23193566285cb6948a9efbd', class: "logo" }, h("slot", { key: 'cd993961cc68757155a6408f9a1ce903cf64bb98', name: "post-logo" }))), h("div", { key: '0ebe23b40ed941eb743caaa68767c1e8dbab6f9e', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: 'e972a93266f2240e1f66248c8f00fcc9fafd6b8c', name: "meta-navigation" }), h("slot", { key: '5ddac1faa808b043705e9f8d654b6610e230484b', name: "global-controls" }), this.device === 'desktop' && h("slot", { key: '86dec5106e34b14cbc6f5fa5c7cac98e0a571ef4', name: "post-language-switch" }), h("div", { key: '5eb98bbabfaa86c20974c9ede677bf31aa1afbc7', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, h("slot", { key: '3a35856948852d880be939b6f66b5c38e921c19a', name: "post-togglebutton" })))), h("div", { key: 'e2749e94aad4b6174b28dbab5d64c6bc2bd614ca', class: 'local-header ' + (this.mobileMenuExtended ? 'local-header-mobile-extended' : '') }, h("slot", { key: 'e767a608ecca1199554c25f86188ca3d74ec1f95', name: "title" }), h("div", { key: 'bedb62571e462b89948fafa319faa5937fc6b8c3', class: "local-sub" }, h("slot", { key: '2e051bd52a90b8f806ca3caaec2ed67c16f887f0', name: "local-controls" }), h("slot", { key: '5d1dc41591db297b1d4c9e1622fad2ac5376de87' })), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
|
|
365
376
|
}
|
|
366
377
|
static get watchers() { return {
|
|
367
378
|
"mobileMenuExtended": ["frozeBody"]
|
package/dist/docs.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2025-02-
|
|
2
|
+
"timestamp": "2025-02-26T18:43:34",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.19.2",
|
|
@@ -1600,8 +1600,14 @@
|
|
|
1600
1600
|
"docs": ""
|
|
1601
1601
|
},
|
|
1602
1602
|
"complexType": {
|
|
1603
|
-
"signature": "() => Promise<void>",
|
|
1604
|
-
"parameters": [
|
|
1603
|
+
"signature": "(force?: boolean) => Promise<void>",
|
|
1604
|
+
"parameters": [
|
|
1605
|
+
{
|
|
1606
|
+
"name": "force",
|
|
1607
|
+
"type": "boolean",
|
|
1608
|
+
"docs": ""
|
|
1609
|
+
}
|
|
1610
|
+
],
|
|
1605
1611
|
"references": {
|
|
1606
1612
|
"Promise": {
|
|
1607
1613
|
"location": "global",
|
|
@@ -1614,8 +1620,14 @@
|
|
|
1614
1620
|
},
|
|
1615
1621
|
"return": "Promise<void>"
|
|
1616
1622
|
},
|
|
1617
|
-
"signature": "toggleMobileMenu() => Promise<void>",
|
|
1618
|
-
"parameters": [
|
|
1623
|
+
"signature": "toggleMobileMenu(force?: boolean) => Promise<void>",
|
|
1624
|
+
"parameters": [
|
|
1625
|
+
{
|
|
1626
|
+
"name": "force",
|
|
1627
|
+
"type": "boolean",
|
|
1628
|
+
"docs": ""
|
|
1629
|
+
}
|
|
1630
|
+
],
|
|
1619
1631
|
"docs": "Toggles the mobile navigation.",
|
|
1620
1632
|
"docsTags": []
|
|
1621
1633
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export { P as PostAccordion } from './post-accordion-
|
|
2
|
-
export { P as PostAccordionItem } from './post-accordion-item-
|
|
3
|
-
export { P as PostAvatar } from './post-avatar-
|
|
4
|
-
export { P as PostBackToTop } from './post-back-to-top-
|
|
5
|
-
export { P as PostBanner } from './post-banner-
|
|
6
|
-
export { P as PostBreadcrumb } from './post-breadcrumb-
|
|
7
|
-
export { P as PostBreadcrumbItem, a as PostMenuItem } from './post-menu-item-
|
|
8
|
-
export { P as PostCardControl } from './post-card-control-
|
|
9
|
-
export { P as PostClosebutton, a as PostHeader, b as PostIcon, c as PostLanguageOption, d as PostLanguageSwitch, e as PostList, f as PostListItem, g as PostLogo, h as PostMainnavigation, i as PostMegadropdown, j as PostMegadropdownTrigger, k as PostMenu, l as PostMenuTrigger, m as PostPopovercontainer, n as PostTogglebutton } from './post-togglebutton-
|
|
10
|
-
export { P as PostCollapsible, a as PostCollapsibleTrigger } from './post-collapsible-trigger-
|
|
11
|
-
export { P as PostFooter } from './post-footer-
|
|
12
|
-
export { P as PostLinkarea } from './post-linkarea-
|
|
13
|
-
export { P as PostPopover } from './post-popover-
|
|
14
|
-
export { P as PostRating } from './post-rating-
|
|
15
|
-
export { P as PostTabs } from './post-tabs-
|
|
16
|
-
export { P as PostTabHeader } from './post-tab-header-
|
|
17
|
-
export { P as PostTabPanel } from './post-tab-panel-
|
|
18
|
-
export { P as PostTag } from './post-tag-
|
|
19
|
-
export { P as PostTooltip } from './post-tooltip-
|
|
1
|
+
export { P as PostAccordion } from './post-accordion-465529b0.js';
|
|
2
|
+
export { P as PostAccordionItem } from './post-accordion-item-dcb8a6b3.js';
|
|
3
|
+
export { P as PostAvatar } from './post-avatar-fb92d451.js';
|
|
4
|
+
export { P as PostBackToTop } from './post-back-to-top-29c2ecbc.js';
|
|
5
|
+
export { P as PostBanner } from './post-banner-ae82b42f.js';
|
|
6
|
+
export { P as PostBreadcrumb } from './post-breadcrumb-3951ef10.js';
|
|
7
|
+
export { P as PostBreadcrumbItem, a as PostMenuItem } from './post-menu-item-0f81dbc5.js';
|
|
8
|
+
export { P as PostCardControl } from './post-card-control-1cee4a72.js';
|
|
9
|
+
export { P as PostClosebutton, a as PostHeader, b as PostIcon, c as PostLanguageOption, d as PostLanguageSwitch, e as PostList, f as PostListItem, g as PostLogo, h as PostMainnavigation, i as PostMegadropdown, j as PostMegadropdownTrigger, k as PostMenu, l as PostMenuTrigger, m as PostPopovercontainer, n as PostTogglebutton } from './post-togglebutton-f076a2bb.js';
|
|
10
|
+
export { P as PostCollapsible, a as PostCollapsibleTrigger } from './post-collapsible-trigger-def32fc5.js';
|
|
11
|
+
export { P as PostFooter } from './post-footer-2ec383ec.js';
|
|
12
|
+
export { P as PostLinkarea } from './post-linkarea-d440a2b4.js';
|
|
13
|
+
export { P as PostPopover } from './post-popover-4552c29a.js';
|
|
14
|
+
export { P as PostRating } from './post-rating-abfeeacf.js';
|
|
15
|
+
export { P as PostTabs } from './post-tabs-25ba69ea.js';
|
|
16
|
+
export { P as PostTabHeader } from './post-tab-header-ebbeb215.js';
|
|
17
|
+
export { P as PostTabPanel } from './post-tab-panel-c2e834d4.js';
|
|
18
|
+
export { P as PostTag } from './post-tag-95663466.js';
|
|
19
|
+
export { P as PostTooltip } from './post-tooltip-dc49483f.js';
|
|
20
20
|
import './index-3419e46d.js';
|
|
21
|
-
import './package-
|
|
21
|
+
import './package-08c623bf.js';
|
|
22
22
|
import './heading-levels-5b7b4349.js';
|
|
23
23
|
import './check-one-of-0bee20f5.js';
|
|
24
24
|
import './index-8f8fe5b0.js';
|