@swisspost/design-system-components 9.0.0-next.28 → 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-4a02ad6d.js → package-4af5d3ea.js} +1 -1
- package/dist/cjs/{post-accordion-d3f17c0d.js → post-accordion-420ef8ad.js} +1 -1
- package/dist/cjs/{post-accordion-item-190be662.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-f80c6920.js → post-avatar-076ca249.js} +1 -1
- package/dist/cjs/post-avatar.cjs.entry.js +2 -2
- package/dist/cjs/{post-back-to-top-42b834e5.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-bd4a9d42.js → post-banner-bf13ead3.js} +1 -1
- package/dist/cjs/post-banner.cjs.entry.js +2 -2
- package/dist/cjs/{post-breadcrumb-b1244910.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-5f84741e.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-69c6f478.js → post-collapsible-trigger-0d9a3df8.js} +1 -1
- package/dist/cjs/post-collapsible_2.cjs.entry.js +2 -2
- package/dist/cjs/{post-footer-f9a42c07.js → post-footer-cde89a81.js} +1 -1
- package/dist/cjs/post-footer.cjs.entry.js +2 -2
- package/dist/cjs/{post-linkarea-7fb24c32.js → post-linkarea-4676e740.js} +1 -1
- package/dist/cjs/post-linkarea.cjs.entry.js +2 -2
- package/dist/cjs/{post-menu-item-dcd80934.js → post-menu-item-85ad65fb.js} +1 -1
- package/dist/cjs/{post-popover-1c0d832e.js → post-popover-83532b40.js} +1 -1
- package/dist/cjs/post-popover.cjs.entry.js +2 -2
- package/dist/cjs/{post-rating-d0550507.js → post-rating-21990c8b.js} +1 -1
- package/dist/cjs/post-rating.cjs.entry.js +2 -2
- package/dist/cjs/{post-tab-header-ffd43a70.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-faf3d709.js → post-tab-panel-71ebb3cf.js} +1 -1
- package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/{post-tabs-efe7d7ac.js → post-tabs-be435e00.js} +1 -1
- package/dist/cjs/post-tabs.cjs.entry.js +2 -2
- package/dist/cjs/{post-tag-63992366.js → post-tag-ed81e114.js} +1 -1
- package/dist/cjs/post-tag.cjs.entry.js +2 -2
- package/dist/cjs/{post-togglebutton-88f6efd9.js → post-togglebutton-6c99f2a8.js} +44 -40
- package/dist/cjs/{post-tooltip-61fbe2aa.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 +47 -39
- package/dist/components/package.js +1 -1
- package/dist/components/post-header2.js +45 -41
- 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-c5d29a8a.js → post-accordion-465529b0.js} +1 -1
- package/dist/esm/{post-accordion-item-02cb14cf.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-938ba966.js → post-avatar-fb92d451.js} +1 -1
- package/dist/esm/post-avatar.entry.js +2 -2
- package/dist/esm/{post-back-to-top-1b683d68.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-bba21993.js → post-banner-ae82b42f.js} +1 -1
- package/dist/esm/post-banner.entry.js +2 -2
- package/dist/esm/{post-breadcrumb-d7de5be8.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-7bae2d03.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-f0388a5d.js → post-collapsible-trigger-def32fc5.js} +1 -1
- package/dist/esm/post-collapsible_2.entry.js +2 -2
- package/dist/esm/{post-footer-2208bbc1.js → post-footer-2ec383ec.js} +1 -1
- package/dist/esm/post-footer.entry.js +2 -2
- package/dist/esm/{post-linkarea-6c4ae7d9.js → post-linkarea-d440a2b4.js} +1 -1
- package/dist/esm/post-linkarea.entry.js +2 -2
- package/dist/esm/{post-menu-item-12537d9f.js → post-menu-item-0f81dbc5.js} +1 -1
- package/dist/esm/{post-popover-a21da0fb.js → post-popover-4552c29a.js} +1 -1
- package/dist/esm/post-popover.entry.js +2 -2
- package/dist/esm/{post-rating-a22c63ad.js → post-rating-abfeeacf.js} +1 -1
- package/dist/esm/post-rating.entry.js +2 -2
- package/dist/esm/{post-tab-header-a6890c45.js → post-tab-header-ebbeb215.js} +1 -1
- package/dist/esm/post-tab-header.entry.js +2 -2
- package/dist/esm/{post-tab-panel-5b17d7dc.js → post-tab-panel-c2e834d4.js} +1 -1
- package/dist/esm/post-tab-panel.entry.js +2 -2
- package/dist/esm/{post-tabs-76a962ed.js → post-tabs-25ba69ea.js} +1 -1
- package/dist/esm/post-tabs.entry.js +2 -2
- package/dist/esm/{post-tag-c109721b.js → post-tag-95663466.js} +1 -1
- package/dist/esm/post-tag.entry.js +2 -2
- package/dist/esm/{post-togglebutton-62c82006.js → post-togglebutton-f076a2bb.js} +44 -40
- package/dist/esm/{post-tooltip-60b99658.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-9bc767bf.js → p-01c29d19.js} +1 -1
- package/dist/post-components/{p-8eacdd0a.js → p-029cbf1c.js} +1 -1
- package/dist/post-components/p-04f18b43.entry.js +1 -0
- package/dist/post-components/{p-d1fdb83e.js → p-1d9ceda1.js} +1 -1
- package/dist/post-components/p-22378e65.entry.js +1 -0
- package/dist/post-components/{p-4434614d.js → p-26ca0eb8.js} +1 -1
- package/dist/post-components/{p-7890857b.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-a0977ac3.js → p-57595392.js} +1 -1
- package/dist/post-components/p-580fd9c5.entry.js +1 -0
- package/dist/post-components/{p-4117cb81.js → p-5dd40f83.js} +1 -1
- package/dist/post-components/{p-bf645bb3.js → p-610b4050.js} +1 -1
- package/dist/post-components/{p-a0a558f4.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-5a527719.js → p-8d906ba2.js} +1 -1
- package/dist/post-components/{p-bf3eed5c.js → p-8d9b499b.js} +1 -1
- package/dist/post-components/{p-76b6be0b.js → p-a56dad38.js} +1 -1
- package/dist/post-components/{p-098d15c8.entry.js → p-a9e01ce6.entry.js} +1 -1
- package/dist/post-components/{p-40d54769.js → p-bceb500f.js} +1 -1
- package/dist/post-components/p-bdad79f6.entry.js +1 -0
- package/dist/post-components/{p-f0efe890.js → p-c617e1cb.js} +1 -1
- package/dist/post-components/p-c7944519.entry.js +1 -0
- package/dist/post-components/{p-02edd21e.js → p-ccd83c09.js} +1 -1
- package/dist/post-components/p-cddbd32f.entry.js +1 -0
- package/dist/post-components/{p-922fa512.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-4ea7563e.js → p-eaa3937a.js} +1 -1
- package/dist/post-components/{p-fcd57aa0.js → p-f1012812.js} +1 -1
- package/dist/post-components/p-f93e5fc0.entry.js +1 -0
- package/dist/post-components/{p-72cb4a59.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 +3 -2
- package/dist/types/components.d.ts +1 -1
- package/loaders/package.js +1 -1
- package/loaders/post-header.js +45 -41
- package/package.json +3 -3
- package/dist/esm/package-5427a051.js +0 -3
- package/dist/post-components/p-01155190.entry.js +0 -1
- package/dist/post-components/p-0d93cdbb.entry.js +0 -1
- package/dist/post-components/p-27ba60ce.entry.js +0 -1
- package/dist/post-components/p-28d97d97.entry.js +0 -1
- package/dist/post-components/p-3328ea8c.entry.js +0 -1
- package/dist/post-components/p-3c2ff88e.entry.js +0 -1
- package/dist/post-components/p-458e8300.entry.js +0 -1
- package/dist/post-components/p-4aa6c733.entry.js +0 -1
- package/dist/post-components/p-510f2ba4.js +0 -1
- package/dist/post-components/p-518f78cd.entry.js +0 -1
- package/dist/post-components/p-541eb870.entry.js +0 -1
- package/dist/post-components/p-55dc30da.entry.js +0 -1
- package/dist/post-components/p-830261c4.entry.js +0 -1
- package/dist/post-components/p-869b2f3d.entry.js +0 -1
- package/dist/post-components/p-958b1ff0.entry.js +0 -1
- package/dist/post-components/p-a6c1efcb.entry.js +0 -1
- package/dist/post-components/p-b5e256a9.entry.js +0 -1
- package/dist/post-components/p-d0d63856.js +0 -1
- package/dist/post-components/p-e474ae4e.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,65 +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
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
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
246
|
}
|
|
247
|
-
|
|
247
|
+
connectedCallback() {
|
|
248
248
|
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
249
|
-
window.addEventListener('scroll', this.handleScrollEvent
|
|
249
|
+
window.addEventListener('scroll', this.handleScrollEvent, {
|
|
250
250
|
passive: true,
|
|
251
251
|
});
|
|
252
|
-
this.scrollParent.addEventListener('scroll', this.handleScrollEvent
|
|
252
|
+
this.scrollParent.addEventListener('scroll', this.handleScrollEvent, {
|
|
253
253
|
passive: true,
|
|
254
254
|
});
|
|
255
|
+
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
|
|
256
|
+
this.host.addEventListener('click', this.handleLinkClick);
|
|
257
|
+
this.frozeBody(false);
|
|
255
258
|
this.handleResize();
|
|
256
259
|
this.handleScrollEvent();
|
|
260
|
+
this.handleScrollParentResize();
|
|
261
|
+
}
|
|
262
|
+
componentDidRender() {
|
|
257
263
|
this.getFocusableElements();
|
|
264
|
+
this.handleLocalHeaderResize();
|
|
258
265
|
}
|
|
259
266
|
componentDidLoad() {
|
|
260
267
|
// Check if the mega dropdown is expanded
|
|
261
|
-
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler.bind(this));
|
|
262
|
-
this.host.addEventListener('click', this.handleLinkClick.bind(this));
|
|
263
|
-
this.handleScrollParentResize();
|
|
264
|
-
this.handleLocalHeaderResize();
|
|
265
268
|
}
|
|
266
269
|
// Clean up possible side effects when post-header is disconnected
|
|
267
270
|
disconnectedCallback() {
|
|
268
271
|
const scrollParent = this.scrollParent;
|
|
269
272
|
window.removeEventListener('resize', this.throttledResize);
|
|
270
|
-
window.removeEventListener('scroll', this.handleScrollEvent
|
|
271
|
-
scrollParent.removeEventListener('scroll', this.handleScrollEvent
|
|
272
|
-
document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler
|
|
273
|
-
this.host.removeEventListener('keydown', this.keyboardHandler
|
|
274
|
-
this.host.removeEventListener('click', this.handleLinkClick
|
|
275
|
-
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) {
|
|
276
279
|
this.scrollParentResizeObserver.disconnect();
|
|
277
|
-
|
|
280
|
+
this.scrollParentResizeObserver = null;
|
|
281
|
+
}
|
|
282
|
+
if (this.localHeaderResizeObserver) {
|
|
278
283
|
this.localHeaderResizeObserver.disconnect();
|
|
284
|
+
this.localHeaderResizeObserver = null;
|
|
285
|
+
}
|
|
279
286
|
this.mobileMenuExtended = false;
|
|
280
|
-
scrollParent.style.overflow = '';
|
|
281
|
-
scrollParent.removeAttribute('data-is-post-header-scroll-parent');
|
|
282
|
-
console.log('disconnectedCallback', this.mobileMenuExtended, this.scrollParent, this.scrollParent.style.overflow, this.scrollParent.hasAttribute('data-is-post-header-scroll-parent'));
|
|
283
287
|
}
|
|
284
288
|
/**
|
|
285
289
|
* Toggles the mobile navigation.
|
|
286
290
|
*/
|
|
287
|
-
async toggleMobileMenu() {
|
|
291
|
+
async toggleMobileMenu(force) {
|
|
288
292
|
if (this.device === 'desktop')
|
|
289
293
|
return;
|
|
290
294
|
this.mobileMenuAnimation = this.mobileMenuExtended
|
|
@@ -292,11 +296,11 @@ const PostHeader = class {
|
|
|
292
296
|
: slide.slideDown(this.mobileMenu);
|
|
293
297
|
// Update the state of the toggle button
|
|
294
298
|
const menuButton = this.host.querySelector('post-togglebutton');
|
|
295
|
-
menuButton.toggled = !this.mobileMenuExtended;
|
|
299
|
+
menuButton.toggled = force ?? !this.mobileMenuExtended;
|
|
296
300
|
// Toggle menu visibility before it slides down and after it slides back up
|
|
297
301
|
if (this.mobileMenuExtended)
|
|
298
302
|
await this.mobileMenuAnimation.finished;
|
|
299
|
-
this.mobileMenuExtended = !this.mobileMenuExtended;
|
|
303
|
+
this.mobileMenuExtended = force ?? !this.mobileMenuExtended;
|
|
300
304
|
if (!this.mobileMenuExtended)
|
|
301
305
|
await this.mobileMenuAnimation.finished;
|
|
302
306
|
}
|
|
@@ -351,7 +355,7 @@ const PostHeader = class {
|
|
|
351
355
|
return;
|
|
352
356
|
}
|
|
353
357
|
if (this.mobileMenuExtended && (isLinkInMainNav || isLinkInMegadropdown)) {
|
|
354
|
-
this.toggleMobileMenu();
|
|
358
|
+
this.toggleMobileMenu(false);
|
|
355
359
|
}
|
|
356
360
|
if (this.device === 'desktop' && isLinkInMegadropdown) {
|
|
357
361
|
const megadropdownLink = target.closest('post-megadropdown a');
|
|
@@ -389,14 +393,14 @@ const PostHeader = class {
|
|
|
389
393
|
}
|
|
390
394
|
handleScrollParentResize() {
|
|
391
395
|
if (this.scrollParent) {
|
|
392
|
-
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight
|
|
396
|
+
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight);
|
|
393
397
|
this.scrollParentResizeObserver.observe(this.scrollParent);
|
|
394
398
|
}
|
|
395
399
|
}
|
|
396
400
|
handleLocalHeaderResize() {
|
|
397
401
|
const localHeader = this.host.shadowRoot.querySelector('.local-header');
|
|
398
|
-
if (localHeader) {
|
|
399
|
-
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight
|
|
402
|
+
if (localHeader && !this.localHeaderResizeObserver) {
|
|
403
|
+
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight);
|
|
400
404
|
this.localHeaderResizeObserver.observe(localHeader);
|
|
401
405
|
}
|
|
402
406
|
}
|
|
@@ -417,7 +421,7 @@ const PostHeader = class {
|
|
|
417
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" }))))));
|
|
418
422
|
}
|
|
419
423
|
render() {
|
|
420
|
-
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()));
|
|
421
425
|
}
|
|
422
426
|
static get watchers() { return {
|
|
423
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,65 +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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
65
|
}
|
|
66
|
-
|
|
66
|
+
connectedCallback() {
|
|
67
67
|
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
68
|
-
window.addEventListener('scroll', this.handleScrollEvent
|
|
68
|
+
window.addEventListener('scroll', this.handleScrollEvent, {
|
|
69
69
|
passive: true,
|
|
70
70
|
});
|
|
71
|
-
this.scrollParent.addEventListener('scroll', this.handleScrollEvent
|
|
71
|
+
this.scrollParent.addEventListener('scroll', this.handleScrollEvent, {
|
|
72
72
|
passive: true,
|
|
73
73
|
});
|
|
74
|
+
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
|
|
75
|
+
this.host.addEventListener('click', this.handleLinkClick);
|
|
76
|
+
this.frozeBody(false);
|
|
74
77
|
this.handleResize();
|
|
75
78
|
this.handleScrollEvent();
|
|
79
|
+
this.handleScrollParentResize();
|
|
80
|
+
}
|
|
81
|
+
componentDidRender() {
|
|
76
82
|
this.getFocusableElements();
|
|
83
|
+
this.handleLocalHeaderResize();
|
|
77
84
|
}
|
|
78
85
|
componentDidLoad() {
|
|
79
86
|
// Check if the mega dropdown is expanded
|
|
80
|
-
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler.bind(this));
|
|
81
|
-
this.host.addEventListener('click', this.handleLinkClick.bind(this));
|
|
82
|
-
this.handleScrollParentResize();
|
|
83
|
-
this.handleLocalHeaderResize();
|
|
84
87
|
}
|
|
85
88
|
// Clean up possible side effects when post-header is disconnected
|
|
86
89
|
disconnectedCallback() {
|
|
87
90
|
const scrollParent = this.scrollParent;
|
|
88
91
|
window.removeEventListener('resize', this.throttledResize);
|
|
89
|
-
window.removeEventListener('scroll', this.handleScrollEvent
|
|
90
|
-
scrollParent.removeEventListener('scroll', this.handleScrollEvent
|
|
91
|
-
document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler
|
|
92
|
-
this.host.removeEventListener('keydown', this.keyboardHandler
|
|
93
|
-
this.host.removeEventListener('click', this.handleLinkClick
|
|
94
|
-
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) {
|
|
95
98
|
this.scrollParentResizeObserver.disconnect();
|
|
96
|
-
|
|
99
|
+
this.scrollParentResizeObserver = null;
|
|
100
|
+
}
|
|
101
|
+
if (this.localHeaderResizeObserver) {
|
|
97
102
|
this.localHeaderResizeObserver.disconnect();
|
|
103
|
+
this.localHeaderResizeObserver = null;
|
|
104
|
+
}
|
|
98
105
|
this.mobileMenuExtended = false;
|
|
99
|
-
scrollParent.style.overflow = '';
|
|
100
|
-
scrollParent.removeAttribute('data-is-post-header-scroll-parent');
|
|
101
|
-
console.log('disconnectedCallback', this.mobileMenuExtended, this.scrollParent, this.scrollParent.style.overflow, this.scrollParent.hasAttribute('data-is-post-header-scroll-parent'));
|
|
102
106
|
}
|
|
103
107
|
/**
|
|
104
108
|
* Toggles the mobile navigation.
|
|
105
109
|
*/
|
|
106
|
-
async toggleMobileMenu() {
|
|
110
|
+
async toggleMobileMenu(force) {
|
|
107
111
|
if (this.device === 'desktop')
|
|
108
112
|
return;
|
|
109
113
|
this.mobileMenuAnimation = this.mobileMenuExtended
|
|
@@ -111,11 +115,11 @@ export class PostHeader {
|
|
|
111
115
|
: slideDown(this.mobileMenu);
|
|
112
116
|
// Update the state of the toggle button
|
|
113
117
|
const menuButton = this.host.querySelector('post-togglebutton');
|
|
114
|
-
menuButton.toggled = !this.mobileMenuExtended;
|
|
118
|
+
menuButton.toggled = force ?? !this.mobileMenuExtended;
|
|
115
119
|
// Toggle menu visibility before it slides down and after it slides back up
|
|
116
120
|
if (this.mobileMenuExtended)
|
|
117
121
|
await this.mobileMenuAnimation.finished;
|
|
118
|
-
this.mobileMenuExtended = !this.mobileMenuExtended;
|
|
122
|
+
this.mobileMenuExtended = force ?? !this.mobileMenuExtended;
|
|
119
123
|
if (!this.mobileMenuExtended)
|
|
120
124
|
await this.mobileMenuAnimation.finished;
|
|
121
125
|
}
|
|
@@ -170,7 +174,7 @@ export class PostHeader {
|
|
|
170
174
|
return;
|
|
171
175
|
}
|
|
172
176
|
if (this.mobileMenuExtended && (isLinkInMainNav || isLinkInMegadropdown)) {
|
|
173
|
-
this.toggleMobileMenu();
|
|
177
|
+
this.toggleMobileMenu(false);
|
|
174
178
|
}
|
|
175
179
|
if (this.device === 'desktop' && isLinkInMegadropdown) {
|
|
176
180
|
const megadropdownLink = target.closest('post-megadropdown a');
|
|
@@ -208,14 +212,14 @@ export class PostHeader {
|
|
|
208
212
|
}
|
|
209
213
|
handleScrollParentResize() {
|
|
210
214
|
if (this.scrollParent) {
|
|
211
|
-
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight
|
|
215
|
+
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight);
|
|
212
216
|
this.scrollParentResizeObserver.observe(this.scrollParent);
|
|
213
217
|
}
|
|
214
218
|
}
|
|
215
219
|
handleLocalHeaderResize() {
|
|
216
220
|
const localHeader = this.host.shadowRoot.querySelector('.local-header');
|
|
217
|
-
if (localHeader) {
|
|
218
|
-
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight
|
|
221
|
+
if (localHeader && !this.localHeaderResizeObserver) {
|
|
222
|
+
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight);
|
|
219
223
|
this.localHeaderResizeObserver.observe(localHeader);
|
|
220
224
|
}
|
|
221
225
|
}
|
|
@@ -236,7 +240,7 @@ export class PostHeader {
|
|
|
236
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" }))))));
|
|
237
241
|
}
|
|
238
242
|
render() {
|
|
239
|
-
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()));
|
|
240
244
|
}
|
|
241
245
|
static get is() { return "post-header"; }
|
|
242
246
|
static get encapsulation() { return "shadow"; }
|
|
@@ -285,8 +289,12 @@ export class PostHeader {
|
|
|
285
289
|
return {
|
|
286
290
|
"toggleMobileMenu": {
|
|
287
291
|
"complexType": {
|
|
288
|
-
"signature": "() => Promise<void>",
|
|
289
|
-
"parameters": [
|
|
292
|
+
"signature": "(force?: boolean) => Promise<void>",
|
|
293
|
+
"parameters": [{
|
|
294
|
+
"name": "force",
|
|
295
|
+
"type": "boolean",
|
|
296
|
+
"docs": ""
|
|
297
|
+
}],
|
|
290
298
|
"references": {
|
|
291
299
|
"Promise": {
|
|
292
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,65 +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
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
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
197
|
}
|
|
198
|
-
|
|
198
|
+
connectedCallback() {
|
|
199
199
|
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
200
|
-
window.addEventListener('scroll', this.handleScrollEvent
|
|
200
|
+
window.addEventListener('scroll', this.handleScrollEvent, {
|
|
201
201
|
passive: true,
|
|
202
202
|
});
|
|
203
|
-
this.scrollParent.addEventListener('scroll', this.handleScrollEvent
|
|
203
|
+
this.scrollParent.addEventListener('scroll', this.handleScrollEvent, {
|
|
204
204
|
passive: true,
|
|
205
205
|
});
|
|
206
|
+
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
|
|
207
|
+
this.host.addEventListener('click', this.handleLinkClick);
|
|
208
|
+
this.frozeBody(false);
|
|
206
209
|
this.handleResize();
|
|
207
210
|
this.handleScrollEvent();
|
|
211
|
+
this.handleScrollParentResize();
|
|
212
|
+
}
|
|
213
|
+
componentDidRender() {
|
|
208
214
|
this.getFocusableElements();
|
|
215
|
+
this.handleLocalHeaderResize();
|
|
209
216
|
}
|
|
210
217
|
componentDidLoad() {
|
|
211
218
|
// Check if the mega dropdown is expanded
|
|
212
|
-
document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler.bind(this));
|
|
213
|
-
this.host.addEventListener('click', this.handleLinkClick.bind(this));
|
|
214
|
-
this.handleScrollParentResize();
|
|
215
|
-
this.handleLocalHeaderResize();
|
|
216
219
|
}
|
|
217
220
|
// Clean up possible side effects when post-header is disconnected
|
|
218
221
|
disconnectedCallback() {
|
|
219
222
|
const scrollParent = this.scrollParent;
|
|
220
223
|
window.removeEventListener('resize', this.throttledResize);
|
|
221
|
-
window.removeEventListener('scroll', this.handleScrollEvent
|
|
222
|
-
scrollParent.removeEventListener('scroll', this.handleScrollEvent
|
|
223
|
-
document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler
|
|
224
|
-
this.host.removeEventListener('keydown', this.keyboardHandler
|
|
225
|
-
this.host.removeEventListener('click', this.handleLinkClick
|
|
226
|
-
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) {
|
|
227
230
|
this.scrollParentResizeObserver.disconnect();
|
|
228
|
-
|
|
231
|
+
this.scrollParentResizeObserver = null;
|
|
232
|
+
}
|
|
233
|
+
if (this.localHeaderResizeObserver) {
|
|
229
234
|
this.localHeaderResizeObserver.disconnect();
|
|
235
|
+
this.localHeaderResizeObserver = null;
|
|
236
|
+
}
|
|
230
237
|
this.mobileMenuExtended = false;
|
|
231
|
-
scrollParent.style.overflow = '';
|
|
232
|
-
scrollParent.removeAttribute('data-is-post-header-scroll-parent');
|
|
233
|
-
console.log('disconnectedCallback', this.mobileMenuExtended, this.scrollParent, this.scrollParent.style.overflow, this.scrollParent.hasAttribute('data-is-post-header-scroll-parent'));
|
|
234
238
|
}
|
|
235
239
|
/**
|
|
236
240
|
* Toggles the mobile navigation.
|
|
237
241
|
*/
|
|
238
|
-
async toggleMobileMenu() {
|
|
242
|
+
async toggleMobileMenu(force) {
|
|
239
243
|
if (this.device === 'desktop')
|
|
240
244
|
return;
|
|
241
245
|
this.mobileMenuAnimation = this.mobileMenuExtended
|
|
@@ -243,11 +247,11 @@ const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTM
|
|
|
243
247
|
: slideDown(this.mobileMenu);
|
|
244
248
|
// Update the state of the toggle button
|
|
245
249
|
const menuButton = this.host.querySelector('post-togglebutton');
|
|
246
|
-
menuButton.toggled = !this.mobileMenuExtended;
|
|
250
|
+
menuButton.toggled = force ?? !this.mobileMenuExtended;
|
|
247
251
|
// Toggle menu visibility before it slides down and after it slides back up
|
|
248
252
|
if (this.mobileMenuExtended)
|
|
249
253
|
await this.mobileMenuAnimation.finished;
|
|
250
|
-
this.mobileMenuExtended = !this.mobileMenuExtended;
|
|
254
|
+
this.mobileMenuExtended = force ?? !this.mobileMenuExtended;
|
|
251
255
|
if (!this.mobileMenuExtended)
|
|
252
256
|
await this.mobileMenuAnimation.finished;
|
|
253
257
|
}
|
|
@@ -302,7 +306,7 @@ const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTM
|
|
|
302
306
|
return;
|
|
303
307
|
}
|
|
304
308
|
if (this.mobileMenuExtended && (isLinkInMainNav || isLinkInMegadropdown)) {
|
|
305
|
-
this.toggleMobileMenu();
|
|
309
|
+
this.toggleMobileMenu(false);
|
|
306
310
|
}
|
|
307
311
|
if (this.device === 'desktop' && isLinkInMegadropdown) {
|
|
308
312
|
const megadropdownLink = target.closest('post-megadropdown a');
|
|
@@ -340,14 +344,14 @@ const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTM
|
|
|
340
344
|
}
|
|
341
345
|
handleScrollParentResize() {
|
|
342
346
|
if (this.scrollParent) {
|
|
343
|
-
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight
|
|
347
|
+
this.scrollParentResizeObserver = new ResizeObserver(this.updateScrollParentHeight);
|
|
344
348
|
this.scrollParentResizeObserver.observe(this.scrollParent);
|
|
345
349
|
}
|
|
346
350
|
}
|
|
347
351
|
handleLocalHeaderResize() {
|
|
348
352
|
const localHeader = this.host.shadowRoot.querySelector('.local-header');
|
|
349
|
-
if (localHeader) {
|
|
350
|
-
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight
|
|
353
|
+
if (localHeader && !this.localHeaderResizeObserver) {
|
|
354
|
+
this.localHeaderResizeObserver = new ResizeObserver(this.updateLocalHeaderHeight);
|
|
351
355
|
this.localHeaderResizeObserver.observe(localHeader);
|
|
352
356
|
}
|
|
353
357
|
}
|
|
@@ -368,7 +372,7 @@ const PostHeader = /*@__PURE__*/ proxyCustomElement(class PostHeader extends HTM
|
|
|
368
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" }))))));
|
|
369
373
|
}
|
|
370
374
|
render() {
|
|
371
|
-
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()));
|
|
372
376
|
}
|
|
373
377
|
static get watchers() { return {
|
|
374
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
|
}
|