@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.
Files changed (151) hide show
  1. package/dist/cjs/index.cjs.js +20 -20
  2. package/dist/cjs/{package-9cf8a0c0.js → package-4af5d3ea.js} +1 -1
  3. package/dist/cjs/{post-accordion-0c2b22de.js → post-accordion-420ef8ad.js} +1 -1
  4. package/dist/cjs/{post-accordion-item-0406f5d1.js → post-accordion-item-717b167f.js} +1 -1
  5. package/dist/cjs/post-accordion-item.cjs.entry.js +2 -2
  6. package/dist/cjs/post-accordion.cjs.entry.js +2 -2
  7. package/dist/cjs/{post-avatar-1a8d1d89.js → post-avatar-076ca249.js} +1 -1
  8. package/dist/cjs/post-avatar.cjs.entry.js +2 -2
  9. package/dist/cjs/{post-back-to-top-ad7e72ff.js → post-back-to-top-91f47fda.js} +1 -1
  10. package/dist/cjs/post-back-to-top.cjs.entry.js +2 -2
  11. package/dist/cjs/{post-banner-808c8133.js → post-banner-bf13ead3.js} +1 -1
  12. package/dist/cjs/post-banner.cjs.entry.js +2 -2
  13. package/dist/cjs/{post-breadcrumb-a13449c1.js → post-breadcrumb-6435b6fa.js} +1 -1
  14. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +2 -2
  15. package/dist/cjs/post-breadcrumb.cjs.entry.js +2 -2
  16. package/dist/cjs/{post-card-control-77e137dc.js → post-card-control-f3893ba8.js} +1 -1
  17. package/dist/cjs/post-card-control.cjs.entry.js +2 -2
  18. package/dist/cjs/post-closebutton_15.cjs.entry.js +2 -2
  19. package/dist/cjs/{post-collapsible-trigger-8771476a.js → post-collapsible-trigger-0d9a3df8.js} +1 -1
  20. package/dist/cjs/post-collapsible_2.cjs.entry.js +2 -2
  21. package/dist/cjs/{post-footer-b0b17145.js → post-footer-cde89a81.js} +1 -1
  22. package/dist/cjs/post-footer.cjs.entry.js +2 -2
  23. package/dist/cjs/{post-linkarea-b9537644.js → post-linkarea-4676e740.js} +1 -1
  24. package/dist/cjs/post-linkarea.cjs.entry.js +2 -2
  25. package/dist/cjs/{post-menu-item-9cb418ca.js → post-menu-item-85ad65fb.js} +1 -1
  26. package/dist/cjs/{post-popover-fa272852.js → post-popover-83532b40.js} +1 -1
  27. package/dist/cjs/post-popover.cjs.entry.js +2 -2
  28. package/dist/cjs/{post-rating-2b2cb15d.js → post-rating-21990c8b.js} +1 -1
  29. package/dist/cjs/post-rating.cjs.entry.js +2 -2
  30. package/dist/cjs/{post-tab-header-9fe90c68.js → post-tab-header-81fbf5ff.js} +1 -1
  31. package/dist/cjs/post-tab-header.cjs.entry.js +2 -2
  32. package/dist/cjs/{post-tab-panel-1684d593.js → post-tab-panel-71ebb3cf.js} +1 -1
  33. package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
  34. package/dist/cjs/{post-tabs-1f41e858.js → post-tabs-be435e00.js} +1 -1
  35. package/dist/cjs/post-tabs.cjs.entry.js +2 -2
  36. package/dist/cjs/{post-tag-c456d90b.js → post-tag-ed81e114.js} +1 -1
  37. package/dist/cjs/post-tag.cjs.entry.js +2 -2
  38. package/dist/cjs/{post-togglebutton-4f3e0976.js → post-togglebutton-6c99f2a8.js} +45 -34
  39. package/dist/cjs/{post-tooltip-bae7ee46.js → post-tooltip-3d847af6.js} +1 -1
  40. package/dist/cjs/post-tooltip.cjs.entry.js +2 -2
  41. package/dist/collection/components/post-header/post-header.js +48 -33
  42. package/dist/components/package.js +1 -1
  43. package/dist/components/post-header2.js +46 -35
  44. package/dist/docs.json +17 -5
  45. package/dist/esm/index.js +20 -20
  46. package/dist/esm/package-08c623bf.js +3 -0
  47. package/dist/esm/{post-accordion-317dbe7e.js → post-accordion-465529b0.js} +1 -1
  48. package/dist/esm/{post-accordion-item-5d1b4d58.js → post-accordion-item-dcb8a6b3.js} +1 -1
  49. package/dist/esm/post-accordion-item.entry.js +2 -2
  50. package/dist/esm/post-accordion.entry.js +2 -2
  51. package/dist/esm/{post-avatar-db4e7dfe.js → post-avatar-fb92d451.js} +1 -1
  52. package/dist/esm/post-avatar.entry.js +2 -2
  53. package/dist/esm/{post-back-to-top-56edc0cb.js → post-back-to-top-29c2ecbc.js} +1 -1
  54. package/dist/esm/post-back-to-top.entry.js +2 -2
  55. package/dist/esm/{post-banner-3363f6ca.js → post-banner-ae82b42f.js} +1 -1
  56. package/dist/esm/post-banner.entry.js +2 -2
  57. package/dist/esm/{post-breadcrumb-d36a58fe.js → post-breadcrumb-3951ef10.js} +1 -1
  58. package/dist/esm/post-breadcrumb-item_2.entry.js +2 -2
  59. package/dist/esm/post-breadcrumb.entry.js +2 -2
  60. package/dist/esm/{post-card-control-01b26f14.js → post-card-control-1cee4a72.js} +1 -1
  61. package/dist/esm/post-card-control.entry.js +2 -2
  62. package/dist/esm/post-closebutton_15.entry.js +2 -2
  63. package/dist/esm/{post-collapsible-trigger-129cb03c.js → post-collapsible-trigger-def32fc5.js} +1 -1
  64. package/dist/esm/post-collapsible_2.entry.js +2 -2
  65. package/dist/esm/{post-footer-16975a8b.js → post-footer-2ec383ec.js} +1 -1
  66. package/dist/esm/post-footer.entry.js +2 -2
  67. package/dist/esm/{post-linkarea-4e80fa68.js → post-linkarea-d440a2b4.js} +1 -1
  68. package/dist/esm/post-linkarea.entry.js +2 -2
  69. package/dist/esm/{post-menu-item-6b1c6d97.js → post-menu-item-0f81dbc5.js} +1 -1
  70. package/dist/esm/{post-popover-c0be9a01.js → post-popover-4552c29a.js} +1 -1
  71. package/dist/esm/post-popover.entry.js +2 -2
  72. package/dist/esm/{post-rating-0a703f5f.js → post-rating-abfeeacf.js} +1 -1
  73. package/dist/esm/post-rating.entry.js +2 -2
  74. package/dist/esm/{post-tab-header-e84a8bbc.js → post-tab-header-ebbeb215.js} +1 -1
  75. package/dist/esm/post-tab-header.entry.js +2 -2
  76. package/dist/esm/{post-tab-panel-8fcce852.js → post-tab-panel-c2e834d4.js} +1 -1
  77. package/dist/esm/post-tab-panel.entry.js +2 -2
  78. package/dist/esm/{post-tabs-a79dd589.js → post-tabs-25ba69ea.js} +1 -1
  79. package/dist/esm/post-tabs.entry.js +2 -2
  80. package/dist/esm/{post-tag-b36a49e8.js → post-tag-95663466.js} +1 -1
  81. package/dist/esm/post-tag.entry.js +2 -2
  82. package/dist/esm/{post-togglebutton-d1736d7e.js → post-togglebutton-f076a2bb.js} +45 -34
  83. package/dist/esm/{post-tooltip-91b0d59c.js → post-tooltip-dc49483f.js} +1 -1
  84. package/dist/esm/post-tooltip.entry.js +2 -2
  85. package/dist/post-components/index.esm.js +1 -1
  86. package/dist/post-components/{p-7d0485dd.js → p-01c29d19.js} +1 -1
  87. package/dist/post-components/{p-05aafa59.js → p-029cbf1c.js} +1 -1
  88. package/dist/post-components/p-04f18b43.entry.js +1 -0
  89. package/dist/post-components/{p-84e36629.js → p-1d9ceda1.js} +1 -1
  90. package/dist/post-components/p-22378e65.entry.js +1 -0
  91. package/dist/post-components/{p-9459fcb6.js → p-26ca0eb8.js} +1 -1
  92. package/dist/post-components/{p-e3514559.js → p-283466d7.js} +1 -1
  93. package/dist/post-components/p-4e60f6b9.entry.js +1 -0
  94. package/dist/post-components/p-53a611ba.entry.js +1 -0
  95. package/dist/post-components/p-55242ffc.entry.js +1 -0
  96. package/dist/post-components/p-56259a41.entry.js +1 -0
  97. package/dist/post-components/p-57595392.js +1 -0
  98. package/dist/post-components/p-580fd9c5.entry.js +1 -0
  99. package/dist/post-components/{p-a95070d0.js → p-5dd40f83.js} +1 -1
  100. package/dist/post-components/{p-ae2347e9.js → p-610b4050.js} +1 -1
  101. package/dist/post-components/{p-294a2a02.entry.js → p-699f78b5.entry.js} +1 -1
  102. package/dist/post-components/p-70e6769b.js +1 -0
  103. package/dist/post-components/p-7335c94a.entry.js +1 -0
  104. package/dist/post-components/p-7e5fbf2b.entry.js +1 -0
  105. package/dist/post-components/p-8098c26c.entry.js +1 -0
  106. package/dist/post-components/p-8515ab59.entry.js +1 -0
  107. package/dist/post-components/{p-1ce770a4.js → p-8d906ba2.js} +1 -1
  108. package/dist/post-components/{p-50e59106.js → p-8d9b499b.js} +1 -1
  109. package/dist/post-components/{p-567947cb.js → p-a56dad38.js} +1 -1
  110. package/dist/post-components/{p-a82cec53.entry.js → p-a9e01ce6.entry.js} +1 -1
  111. package/dist/post-components/{p-c2dbd7a1.js → p-bceb500f.js} +1 -1
  112. package/dist/post-components/p-bdad79f6.entry.js +1 -0
  113. package/dist/post-components/{p-184194f6.js → p-c617e1cb.js} +1 -1
  114. package/dist/post-components/p-c7944519.entry.js +1 -0
  115. package/dist/post-components/{p-13f55660.js → p-ccd83c09.js} +1 -1
  116. package/dist/post-components/p-cddbd32f.entry.js +1 -0
  117. package/dist/post-components/{p-c94d2e70.js → p-ce852695.js} +1 -1
  118. package/dist/post-components/p-db8093a9.entry.js +1 -0
  119. package/dist/post-components/p-dd973323.entry.js +1 -0
  120. package/dist/post-components/p-e6038029.js +1 -0
  121. package/dist/post-components/{p-944aa9cf.js → p-eaa3937a.js} +1 -1
  122. package/dist/post-components/{p-7c62736e.js → p-f1012812.js} +1 -1
  123. package/dist/post-components/p-f93e5fc0.entry.js +1 -0
  124. package/dist/post-components/{p-f9b3addd.js → p-fecb2d59.js} +1 -1
  125. package/dist/post-components/post-components.esm.js +1 -1
  126. package/dist/types/components/post-header/post-header.d.ts +4 -2
  127. package/dist/types/components.d.ts +1 -1
  128. package/loaders/package.js +1 -1
  129. package/loaders/post-header.js +46 -35
  130. package/package.json +3 -3
  131. package/dist/esm/package-f5f8e879.js +0 -3
  132. package/dist/post-components/p-3df87c0f.entry.js +0 -1
  133. package/dist/post-components/p-3fb27af8.entry.js +0 -1
  134. package/dist/post-components/p-4a3b4622.entry.js +0 -1
  135. package/dist/post-components/p-4e63b8c5.entry.js +0 -1
  136. package/dist/post-components/p-4edd87cd.entry.js +0 -1
  137. package/dist/post-components/p-508df448.entry.js +0 -1
  138. package/dist/post-components/p-56385120.entry.js +0 -1
  139. package/dist/post-components/p-5a0e93e1.entry.js +0 -1
  140. package/dist/post-components/p-5f39bad2.entry.js +0 -1
  141. package/dist/post-components/p-61c6163d.entry.js +0 -1
  142. package/dist/post-components/p-680fa79f.js +0 -1
  143. package/dist/post-components/p-7303cf62.entry.js +0 -1
  144. package/dist/post-components/p-7c90497e.js +0 -1
  145. package/dist/post-components/p-89b6df16.entry.js +0 -1
  146. package/dist/post-components/p-b3f51771.entry.js +0 -1
  147. package/dist/post-components/p-c7bb0317.entry.js +0 -1
  148. package/dist/post-components/p-ce88568e.entry.js +0 -1
  149. package/dist/post-components/p-d489cb8f.js +0 -1
  150. package/dist/post-components/p-e33d83f4.entry.js +0 -1
  151. 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-9cf8a0c0.js');
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.bind(this));
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.bind(this));
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
- componentWillRender() {
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.bind(this), {
249
+ window.addEventListener('scroll', this.handleScrollEvent, {
244
250
  passive: true,
245
251
  });
246
- this.scrollParent.addEventListener('scroll', this.handleScrollEvent.bind(this), {
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.bind(this));
265
- scrollParent.removeEventListener('scroll', this.handleScrollEvent.bind(this));
266
- document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler.bind(this));
267
- this.host.removeEventListener('keydown', this.keyboardHandler.bind(this));
268
- this.host.removeEventListener('click', this.handleLinkClick.bind(this));
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
- if (this.localHeaderResizeObserver)
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.bind(this));
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.bind(this));
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: '866b6378652ff5860c8b046f249411941e3510ca', version: _package.version }, index.h("div", { key: '4f834e011faf12f0e9629c442172153a5d710f6a', class: "global-header" }, index.h("div", { key: '16acea9aa91b071f4ee25b00e19a0d23f5765ffa', class: "global-sub" }, index.h("div", { key: '1aea872a00166aeada3538f25c8d5b1afb0595a5', class: "logo" }, index.h("slot", { key: '343ed3f016295d025196841260fc501795f211ec', name: "post-logo" }))), index.h("div", { key: '47e2d3df5973d8cf542051c9da6b2b7f077d202c', class: "global-sub" }, this.device === 'desktop' && index.h("slot", { key: '2000cf588d06f28b1d25bca60842d05e01635e7c', name: "meta-navigation" }), index.h("slot", { key: '40d62c75e080bbee36b4a5f75ee0d6a727b0153a', name: "global-controls" }), this.device === 'desktop' && index.h("slot", { key: '531b27a3332a6f91491b0e04efce42037edf7384', name: "post-language-switch" }), index.h("div", { key: '427b869f050400509ec17b1ed8aa539a3efb8fef', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, index.h("slot", { key: '3d824c0b31cc55f4279944e02c4fa3f26bce9b7e', name: "post-togglebutton" })))), index.h("div", { key: 'bd23ea8c42abf93d343f4579b1a433d7224a3631', class: 'local-header ' + (this.mobileMenuExtended ? 'local-header-mobile-extended' : '') }, index.h("slot", { key: '25ee29386c66395371dd1fa7c61794fefc220b85', name: "title" }), index.h("div", { key: 'e8b11280d2664a8d19935fe7fc095830d0ff4a1c', class: "local-sub" }, index.h("slot", { key: 'af10ad2f82146d10af525dd6a83871f428d09953', name: "local-controls" }), index.h("slot", { key: '311f3b2ef20794fae57d8354bd4a06552e90703e' })), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
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-9cf8a0c0.js');
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-bae7ee46.js');
5
+ const postTooltip = require('./post-tooltip-3d847af6.js');
6
6
  require('./index-d6bf2c66.js');
7
- require('./package-9cf8a0c0.js');
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.bind(this));
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.bind(this));
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
- componentWillRender() {
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.bind(this), {
68
+ window.addEventListener('scroll', this.handleScrollEvent, {
63
69
  passive: true,
64
70
  });
65
- this.scrollParent.addEventListener('scroll', this.handleScrollEvent.bind(this), {
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.bind(this));
84
- scrollParent.removeEventListener('scroll', this.handleScrollEvent.bind(this));
85
- document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler.bind(this));
86
- this.host.removeEventListener('keydown', this.keyboardHandler.bind(this));
87
- this.host.removeEventListener('click', this.handleLinkClick.bind(this));
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
- if (this.localHeaderResizeObserver)
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.bind(this));
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.bind(this));
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: '866b6378652ff5860c8b046f249411941e3510ca', version: version }, h("div", { key: '4f834e011faf12f0e9629c442172153a5d710f6a', class: "global-header" }, h("div", { key: '16acea9aa91b071f4ee25b00e19a0d23f5765ffa', class: "global-sub" }, h("div", { key: '1aea872a00166aeada3538f25c8d5b1afb0595a5', class: "logo" }, h("slot", { key: '343ed3f016295d025196841260fc501795f211ec', name: "post-logo" }))), h("div", { key: '47e2d3df5973d8cf542051c9da6b2b7f077d202c', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: '2000cf588d06f28b1d25bca60842d05e01635e7c', name: "meta-navigation" }), h("slot", { key: '40d62c75e080bbee36b4a5f75ee0d6a727b0153a', name: "global-controls" }), this.device === 'desktop' && h("slot", { key: '531b27a3332a6f91491b0e04efce42037edf7384', name: "post-language-switch" }), h("div", { key: '427b869f050400509ec17b1ed8aa539a3efb8fef', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, h("slot", { key: '3d824c0b31cc55f4279944e02c4fa3f26bce9b7e', name: "post-togglebutton" })))), h("div", { key: 'bd23ea8c42abf93d343f4579b1a433d7224a3631', class: 'local-header ' + (this.mobileMenuExtended ? 'local-header-mobile-extended' : '') }, h("slot", { key: '25ee29386c66395371dd1fa7c61794fefc220b85', name: "title" }), h("div", { key: 'e8b11280d2664a8d19935fe7fc095830d0ff4a1c', class: "local-sub" }, h("slot", { key: 'af10ad2f82146d10af525dd6a83871f428d09953', name: "local-controls" }), h("slot", { key: '311f3b2ef20794fae57d8354bd4a06552e90703e' })), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
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",
@@ -1,3 +1,3 @@
1
- const version = "9.0.0-next.27";
1
+ const version = "9.0.0-next.29";
2
2
 
3
3
  export { version as v };
@@ -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.bind(this));
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.bind(this));
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
- componentWillRender() {
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.bind(this), {
200
+ window.addEventListener('scroll', this.handleScrollEvent, {
195
201
  passive: true,
196
202
  });
197
- this.scrollParent.addEventListener('scroll', this.handleScrollEvent.bind(this), {
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.bind(this));
216
- scrollParent.removeEventListener('scroll', this.handleScrollEvent.bind(this));
217
- document.removeEventListener('postToggleMegadropdown', this.megedropdownStateHandler.bind(this));
218
- this.host.removeEventListener('keydown', this.keyboardHandler.bind(this));
219
- this.host.removeEventListener('click', this.handleLinkClick.bind(this));
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
- if (this.localHeaderResizeObserver)
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.bind(this));
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.bind(this));
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: '866b6378652ff5860c8b046f249411941e3510ca', version: version }, h("div", { key: '4f834e011faf12f0e9629c442172153a5d710f6a', class: "global-header" }, h("div", { key: '16acea9aa91b071f4ee25b00e19a0d23f5765ffa', class: "global-sub" }, h("div", { key: '1aea872a00166aeada3538f25c8d5b1afb0595a5', class: "logo" }, h("slot", { key: '343ed3f016295d025196841260fc501795f211ec', name: "post-logo" }))), h("div", { key: '47e2d3df5973d8cf542051c9da6b2b7f077d202c', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: '2000cf588d06f28b1d25bca60842d05e01635e7c', name: "meta-navigation" }), h("slot", { key: '40d62c75e080bbee36b4a5f75ee0d6a727b0153a', name: "global-controls" }), this.device === 'desktop' && h("slot", { key: '531b27a3332a6f91491b0e04efce42037edf7384', name: "post-language-switch" }), h("div", { key: '427b869f050400509ec17b1ed8aa539a3efb8fef', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, h("slot", { key: '3d824c0b31cc55f4279944e02c4fa3f26bce9b7e', name: "post-togglebutton" })))), h("div", { key: 'bd23ea8c42abf93d343f4579b1a433d7224a3631', class: 'local-header ' + (this.mobileMenuExtended ? 'local-header-mobile-extended' : '') }, h("slot", { key: '25ee29386c66395371dd1fa7c61794fefc220b85', name: "title" }), h("div", { key: 'e8b11280d2664a8d19935fe7fc095830d0ff4a1c', class: "local-sub" }, h("slot", { key: 'af10ad2f82146d10af525dd6a83871f428d09953', name: "local-controls" }), h("slot", { key: '311f3b2ef20794fae57d8354bd4a06552e90703e' })), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
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-26T14:48: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-317dbe7e.js';
2
- export { P as PostAccordionItem } from './post-accordion-item-5d1b4d58.js';
3
- export { P as PostAvatar } from './post-avatar-db4e7dfe.js';
4
- export { P as PostBackToTop } from './post-back-to-top-56edc0cb.js';
5
- export { P as PostBanner } from './post-banner-3363f6ca.js';
6
- export { P as PostBreadcrumb } from './post-breadcrumb-d36a58fe.js';
7
- export { P as PostBreadcrumbItem, a as PostMenuItem } from './post-menu-item-6b1c6d97.js';
8
- export { P as PostCardControl } from './post-card-control-01b26f14.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-d1736d7e.js';
10
- export { P as PostCollapsible, a as PostCollapsibleTrigger } from './post-collapsible-trigger-129cb03c.js';
11
- export { P as PostFooter } from './post-footer-16975a8b.js';
12
- export { P as PostLinkarea } from './post-linkarea-4e80fa68.js';
13
- export { P as PostPopover } from './post-popover-c0be9a01.js';
14
- export { P as PostRating } from './post-rating-0a703f5f.js';
15
- export { P as PostTabs } from './post-tabs-a79dd589.js';
16
- export { P as PostTabHeader } from './post-tab-header-e84a8bbc.js';
17
- export { P as PostTabPanel } from './post-tab-panel-8fcce852.js';
18
- export { P as PostTag } from './post-tag-b36a49e8.js';
19
- export { P as PostTooltip } from './post-tooltip-91b0d59c.js';
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-f5f8e879.js';
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';