@swisspost/design-system-components 9.0.0-next.22 → 9.0.0-next.24

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 (190) hide show
  1. package/dist/cjs/breakpoints-c6247c71.js +54 -0
  2. package/dist/cjs/{index-5acef487.js → index-d6bf2c66.js} +1 -5
  3. package/dist/cjs/index.cjs.js +22 -21
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/{package-9e5d66fe.js → package-be30a2ae.js} +1 -1
  6. package/dist/cjs/{post-accordion-4c8cf3b8.js → post-accordion-980e3707.js} +2 -2
  7. package/dist/cjs/{post-accordion-item-36111a96.js → post-accordion-item-34526ddd.js} +2 -2
  8. package/dist/cjs/post-accordion-item.cjs.entry.js +3 -3
  9. package/dist/cjs/post-accordion.cjs.entry.js +3 -3
  10. package/dist/cjs/{post-avatar-9a6a7525.js → post-avatar-ed964ac4.js} +2 -2
  11. package/dist/cjs/post-avatar.cjs.entry.js +3 -3
  12. package/dist/cjs/{post-back-to-top-f886c6cf.js → post-back-to-top-12ee9182.js} +2 -2
  13. package/dist/cjs/post-back-to-top.cjs.entry.js +3 -3
  14. package/dist/cjs/{post-banner-9a9e1cce.js → post-banner-13755850.js} +2 -2
  15. package/dist/cjs/post-banner.cjs.entry.js +3 -3
  16. package/dist/cjs/{post-breadcrumb-7c692ae9.js → post-breadcrumb-d6d9f5a4.js} +2 -2
  17. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +3 -3
  18. package/dist/cjs/post-breadcrumb.cjs.entry.js +3 -3
  19. package/dist/cjs/{post-card-control-f0a4378d.js → post-card-control-4a6fbf19.js} +2 -2
  20. package/dist/cjs/post-card-control.cjs.entry.js +3 -3
  21. package/dist/cjs/post-closebutton_15.cjs.entry.js +4 -3
  22. package/dist/cjs/{post-collapsible-trigger-aec05c5d.js → post-collapsible-trigger-5bdd97f1.js} +2 -2
  23. package/dist/cjs/post-collapsible_2.cjs.entry.js +3 -3
  24. package/dist/cjs/post-components.cjs.js +2 -2
  25. package/dist/cjs/{post-footer-3f1dc457.js → post-footer-f2217a34.js} +4 -54
  26. package/dist/cjs/post-footer.cjs.entry.js +4 -3
  27. package/dist/cjs/{post-linkarea-1ed9fad9.js → post-linkarea-ced4f6ad.js} +2 -2
  28. package/dist/cjs/post-linkarea.cjs.entry.js +3 -3
  29. package/dist/cjs/{post-menu-item-3e5cb472.js → post-menu-item-4ef32029.js} +2 -2
  30. package/dist/cjs/{post-popover-bc5529dc.js → post-popover-1a5b1f4c.js} +2 -2
  31. package/dist/cjs/post-popover.cjs.entry.js +3 -3
  32. package/dist/cjs/{post-rating-af2d2b71.js → post-rating-9a9ce431.js} +2 -2
  33. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  34. package/dist/cjs/{post-tab-header-7f2ae48c.js → post-tab-header-43c52a57.js} +2 -2
  35. package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
  36. package/dist/cjs/{post-tab-panel-6011421e.js → post-tab-panel-16064007.js} +2 -2
  37. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  38. package/dist/cjs/{post-tabs-542781af.js → post-tabs-e4739459.js} +2 -2
  39. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  40. package/dist/cjs/{post-tag-d307f6c5.js → post-tag-e1ed422b.js} +2 -2
  41. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  42. package/dist/cjs/{post-togglebutton-da429049.js → post-togglebutton-38ec151e.js} +140 -85
  43. package/dist/cjs/{post-tooltip-dd3831df.js → post-tooltip-463eaaf6.js} +2 -2
  44. package/dist/cjs/post-tooltip.cjs.entry.js +3 -3
  45. package/dist/collection/components/post-header/post-header.css +1 -1
  46. package/dist/collection/components/post-header/post-header.js +50 -33
  47. package/dist/collection/components/post-language-option/post-language-option.css +1 -1
  48. package/dist/collection/components/post-language-option/post-language-option.js +23 -1
  49. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
  50. package/dist/collection/components/post-language-switch/post-language-switch.js +61 -33
  51. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  52. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +16 -4
  53. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  54. package/dist/collection/components/post-megadropdown/post-megadropdown.js +15 -10
  55. package/dist/components/breakpoints.js +52 -0
  56. package/dist/components/package.js +1 -1
  57. package/dist/components/post-footer2.js +1 -51
  58. package/dist/components/post-header2.js +184 -34
  59. package/dist/components/post-language-option2.js +10 -2
  60. package/dist/components/post-language-switch2.js +48 -35
  61. package/dist/components/post-mainnavigation2.js +17 -5
  62. package/dist/components/post-megadropdown2.js +15 -10
  63. package/dist/docs.json +28 -3
  64. package/dist/esm/breakpoints-bbe0c54e.js +52 -0
  65. package/dist/esm/{index-40846676.js → index-3419e46d.js} +1 -5
  66. package/dist/esm/index.js +22 -21
  67. package/dist/esm/loader.js +3 -3
  68. package/dist/esm/package-7deeece6.js +3 -0
  69. package/dist/esm/{post-accordion-53dcc1c9.js → post-accordion-7f239aa6.js} +2 -2
  70. package/dist/esm/{post-accordion-item-fb1a11ab.js → post-accordion-item-bac98792.js} +2 -2
  71. package/dist/esm/post-accordion-item.entry.js +3 -3
  72. package/dist/esm/post-accordion.entry.js +3 -3
  73. package/dist/esm/{post-avatar-8427e294.js → post-avatar-f74f6de0.js} +2 -2
  74. package/dist/esm/post-avatar.entry.js +3 -3
  75. package/dist/esm/{post-back-to-top-d56ea86e.js → post-back-to-top-6fdad155.js} +2 -2
  76. package/dist/esm/post-back-to-top.entry.js +3 -3
  77. package/dist/esm/{post-banner-df65a6d6.js → post-banner-8448d770.js} +2 -2
  78. package/dist/esm/post-banner.entry.js +3 -3
  79. package/dist/esm/{post-breadcrumb-e40f49b1.js → post-breadcrumb-d35e27a0.js} +2 -2
  80. package/dist/esm/post-breadcrumb-item_2.entry.js +3 -3
  81. package/dist/esm/post-breadcrumb.entry.js +3 -3
  82. package/dist/esm/{post-card-control-3f59d947.js → post-card-control-9233ca52.js} +2 -2
  83. package/dist/esm/post-card-control.entry.js +3 -3
  84. package/dist/esm/post-closebutton_15.entry.js +4 -3
  85. package/dist/esm/{post-collapsible-trigger-215a882d.js → post-collapsible-trigger-f98e1f9a.js} +2 -2
  86. package/dist/esm/post-collapsible_2.entry.js +3 -3
  87. package/dist/esm/post-components.js +3 -3
  88. package/dist/esm/{post-footer-df686ae9.js → post-footer-f4be2a31.js} +3 -53
  89. package/dist/esm/post-footer.entry.js +4 -3
  90. package/dist/esm/{post-linkarea-4693db66.js → post-linkarea-c9d8d2be.js} +2 -2
  91. package/dist/esm/post-linkarea.entry.js +3 -3
  92. package/dist/esm/{post-menu-item-de38e803.js → post-menu-item-1ea9397a.js} +2 -2
  93. package/dist/esm/{post-popover-9295cb93.js → post-popover-aa961cc7.js} +2 -2
  94. package/dist/esm/post-popover.entry.js +3 -3
  95. package/dist/esm/{post-rating-d3bc1867.js → post-rating-17ecd4f4.js} +2 -2
  96. package/dist/esm/post-rating.entry.js +3 -3
  97. package/dist/esm/{post-tab-header-9f53d387.js → post-tab-header-6f9449f1.js} +2 -2
  98. package/dist/esm/post-tab-header.entry.js +3 -3
  99. package/dist/esm/{post-tab-panel-418d3afb.js → post-tab-panel-fcecd935.js} +2 -2
  100. package/dist/esm/post-tab-panel.entry.js +3 -3
  101. package/dist/esm/{post-tabs-82aa3550.js → post-tabs-008c118d.js} +2 -2
  102. package/dist/esm/post-tabs.entry.js +3 -3
  103. package/dist/esm/{post-tag-5480a808.js → post-tag-1e709fe5.js} +2 -2
  104. package/dist/esm/post-tag.entry.js +3 -3
  105. package/dist/esm/{post-togglebutton-2f4c8c69.js → post-togglebutton-a932d770.js} +140 -85
  106. package/dist/esm/{post-tooltip-3bfddb7d.js → post-tooltip-ad5b722d.js} +2 -2
  107. package/dist/esm/post-tooltip.entry.js +3 -3
  108. package/dist/post-components/index.esm.js +1 -1
  109. package/dist/post-components/p-0e6ce700.entry.js +1 -0
  110. package/dist/post-components/{p-006ba886.entry.js → p-12d7344a.entry.js} +1 -1
  111. package/dist/post-components/{p-42973b90.js → p-1382d4c9.js} +1 -1
  112. package/dist/post-components/p-20e07b4f.entry.js +1 -0
  113. package/dist/post-components/{p-0b838792.js → p-23c2b420.js} +1 -1
  114. package/dist/post-components/p-3b7f8717.entry.js +1 -0
  115. package/dist/post-components/{p-9e71ce43.js → p-43b10fa7.js} +1 -1
  116. package/dist/post-components/p-453aa3c8.js +1 -0
  117. package/dist/post-components/{p-4288d499.js → p-53dd7a51.js} +1 -1
  118. package/dist/post-components/p-5aeb3656.js +1 -0
  119. package/dist/post-components/{p-ff95dcd3.js → p-5c758f41.js} +2 -2
  120. package/dist/post-components/{p-afae9c2f.js → p-5e4d5df5.js} +1 -1
  121. package/dist/post-components/p-6239b8f8.entry.js +1 -0
  122. package/dist/post-components/{p-c28ee459.js → p-637b619c.js} +1 -1
  123. package/dist/post-components/p-64ba9026.entry.js +1 -0
  124. package/dist/post-components/{p-6bd6eb89.js → p-6545ed83.js} +1 -1
  125. package/dist/post-components/p-6a79800f.entry.js +1 -0
  126. package/dist/post-components/p-6eaba4b6.entry.js +1 -0
  127. package/dist/post-components/p-73acda40.entry.js +1 -0
  128. package/dist/post-components/p-7796d5c5.entry.js +1 -0
  129. package/dist/post-components/{p-f639c5c2.entry.js → p-78d9d13e.entry.js} +1 -1
  130. package/dist/post-components/{p-cbb36d4d.js → p-7daa1a9c.js} +1 -1
  131. package/dist/post-components/p-87c82919.entry.js +1 -0
  132. package/dist/post-components/p-8f80c6f8.entry.js +1 -0
  133. package/dist/post-components/p-9184781c.entry.js +1 -0
  134. package/dist/post-components/{p-ecaf1cb0.js → p-923793ff.js} +1 -1
  135. package/dist/post-components/p-96e3823e.entry.js +1 -0
  136. package/dist/post-components/p-9b4b416c.entry.js +1 -0
  137. package/dist/post-components/{p-b7d3e076.js → p-a0345520.js} +1 -1
  138. package/dist/post-components/p-a5682a18.entry.js +1 -0
  139. package/dist/post-components/p-ac46ccd1.entry.js +1 -0
  140. package/dist/post-components/p-bd957c85.js +1 -0
  141. package/dist/post-components/{p-88132343.js → p-c1307879.js} +1 -1
  142. package/dist/post-components/p-c8bfefed.js +1 -0
  143. package/dist/post-components/{p-2309c7c1.js → p-cfe29403.js} +1 -1
  144. package/dist/post-components/p-d6757696.entry.js +1 -0
  145. package/dist/post-components/{p-d5f0d08e.js → p-e47d9a2b.js} +1 -1
  146. package/dist/post-components/{p-7946b01d.js → p-edcc075c.js} +1 -1
  147. package/dist/post-components/{p-7bf6457c.js → p-f0719685.js} +1 -1
  148. package/dist/post-components/{p-f0861b8d.js → p-f4c60bbb.js} +1 -1
  149. package/dist/post-components/p-fbe84d70.js +1 -0
  150. package/dist/post-components/post-components.esm.js +1 -1
  151. package/dist/types/components/post-header/post-header.d.ts +7 -5
  152. package/dist/types/components/post-language-option/post-language-option.d.ts +4 -0
  153. package/dist/types/components/post-language-switch/post-language-switch.d.ts +11 -3
  154. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +1 -0
  155. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +5 -3
  156. package/dist/types/components.d.ts +8 -0
  157. package/loaders/breakpoints.js +52 -0
  158. package/loaders/index.js +2 -1
  159. package/loaders/package.js +1 -1
  160. package/loaders/post-footer.js +1 -51
  161. package/loaders/post-header.js +184 -34
  162. package/loaders/post-language-option.js +10 -2
  163. package/loaders/post-language-switch.js +48 -35
  164. package/loaders/post-mainnavigation.js +17 -5
  165. package/loaders/post-megadropdown.js +15 -10
  166. package/package.json +3 -3
  167. package/dist/components/index3.js +0 -135
  168. package/dist/esm/package-ee29a6d2.js +0 -3
  169. package/dist/post-components/p-0812e30a.entry.js +0 -1
  170. package/dist/post-components/p-0fdb3f15.entry.js +0 -1
  171. package/dist/post-components/p-21a17ca1.entry.js +0 -1
  172. package/dist/post-components/p-22dc4f9f.js +0 -1
  173. package/dist/post-components/p-3c5f33fd.entry.js +0 -1
  174. package/dist/post-components/p-4dfc81f4.entry.js +0 -1
  175. package/dist/post-components/p-5c3e0a79.entry.js +0 -1
  176. package/dist/post-components/p-635dd49e.entry.js +0 -1
  177. package/dist/post-components/p-65631fa5.entry.js +0 -1
  178. package/dist/post-components/p-688a5091.entry.js +0 -1
  179. package/dist/post-components/p-6ca7be80.js +0 -1
  180. package/dist/post-components/p-6ff734ee.entry.js +0 -1
  181. package/dist/post-components/p-741467ac.js +0 -1
  182. package/dist/post-components/p-b58c37db.entry.js +0 -1
  183. package/dist/post-components/p-cc9e78dc.entry.js +0 -1
  184. package/dist/post-components/p-d19a975a.entry.js +0 -1
  185. package/dist/post-components/p-de40a67a.entry.js +0 -1
  186. package/dist/post-components/p-e8cea97f.entry.js +0 -1
  187. package/dist/post-components/p-eae51100.entry.js +0 -1
  188. package/dist/post-components/p-ebce9cd7.js +0 -1
  189. package/dist/post-components/p-fc676fad.entry.js +0 -1
  190. package/loaders/index3.js +0 -135
@@ -3,7 +3,7 @@ import { c as checkEmptyOrType } from './index2.js';
3
3
  import { v as version } from './package.js';
4
4
  import { c as checkType } from './check-type.js';
5
5
 
6
- const postLanguageOptionCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */post-language-option{display:inline-block}post-language-option button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option button{background-color:ButtonFace !important}post-language-option button:hover{background-color:Highlight !important}}post-language-option a{color:inherit;text-decoration:none}post-language-option :is(a,button){cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:2px;text-transform:uppercase}post-language-option :is(a,button){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}post-language-option :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-language-option :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-language-option:where([variant=list]) :is(a,button){padding-inline:0;width:40px;height:40px;border-radius:2px}post-language-option:where([variant=list]) :is(a,button):hover{color:#504f4b}post-language-option:where([variant=list]):not([active=false]) :is(a,button){background-color:#050400 !important;color:#fff;pointer-events:none}post-language-option:where([variant=list]):not([active=false]) :hover{color:#fff}post-language-option:where([variant=menu]){width:100%}post-language-option:where([variant=menu]):not([active=false]){display:none}post-language-option:where([variant=menu]) :is(a,button){padding-block:13px;padding-inline:24px;box-sizing:border-box;position:relative;width:100%}post-language-option:where([variant=menu]) :is(a,button):hover{color:#fff;background-color:#504f4b}";
6
+ const postLanguageOptionCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */post-language-option{display:inline-block}post-language-option button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option button{background-color:ButtonFace !important}post-language-option button:hover{background-color:Highlight !important}}post-language-option a{color:inherit;text-decoration:none}post-language-option :is(a,button){cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:2px;text-transform:uppercase}post-language-option :is(a,button){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}post-language-option :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-language-option :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-language-option:where([variant=list]) :is(a,button){padding-inline:0;width:40px;height:40px;border-radius:2px}post-language-option:where([variant=list]) :is(a,button):hover{color:#504f4b}post-language-option:where([variant=list])[active]:not([active=false]) :is(a,button){background-color:#050400 !important;color:#fff;pointer-events:none}post-language-option:where([variant=menu]){width:100%}post-language-option:where([variant=menu])[active]:not([active=false]){display:none}post-language-option:where([variant=menu]) :is(a,button){padding-block:13px;padding-inline:24px;box-sizing:border-box;position:relative;width:100%}post-language-option:where([variant=menu]) :is(a,button):hover{color:#fff;background-color:#504f4b}";
7
7
  const PostLanguageOptionStyle0 = postLanguageOptionCss;
8
8
 
9
9
  const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguageOption extends HTMLElement {
@@ -11,6 +11,7 @@ const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
11
11
  super();
12
12
  this.__registerHost();
13
13
  this.postChange = createEvent(this, "postChange", 7);
14
+ this.postLanguageOptionInitiallyActive = createEvent(this, "postLanguageOptionInitiallyActive", 7);
14
15
  this.code = undefined;
15
16
  this.active = undefined;
16
17
  this.variant = undefined;
@@ -38,11 +39,18 @@ const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
38
39
  if (!this.name && this.isNameRequired()) {
39
40
  throw new Error('The "name" property of the post-language-option component is required when the full language name is not displayed.');
40
41
  }
42
+ if (this.active) {
43
+ this.postLanguageOptionInitiallyActive.emit(this.code);
44
+ }
41
45
  }
42
46
  /**
43
47
  * An event emitted when the language option is clicked. The payload is the ISO 639 code of the language.
44
48
  */
45
49
  postChange;
50
+ /**
51
+ * An event emitted when the language option is initially active. The payload is the ISO 639 code of the language.
52
+ */
53
+ postLanguageOptionInitiallyActive;
46
54
  /**
47
55
  * Selects the language option programmatically.
48
56
  */
@@ -63,7 +71,7 @@ const PostLanguageOption$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
63
71
  this.emitChange();
64
72
  }
65
73
  };
66
- return (h(Host, { key: 'f987cfc18bb86866781e0668516e86f89be6241b', "data-version": version, role: this.variant ? `${this.variant}item` : null }, this.url ? (h("a", { "aria-current": this.active ? 'page' : undefined, "aria-label": this.name, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null))) : (h("button", { "aria-current": this.active ? 'true' : undefined, "aria-label": this.name, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null)))));
74
+ return (h(Host, { key: '23bf186d9cc718b2697cbc5bc54b44f6c9ead54f', "data-version": version, role: this.variant ? `${this.variant}item` : null }, this.url ? (h("a", { "aria-current": this.active ? 'page' : undefined, "aria-label": this.name, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null))) : (h("button", { "aria-current": this.active ? 'true' : undefined, "aria-label": this.name, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null)))));
67
75
  }
68
76
  static get watchers() { return {
69
77
  "code": ["validateCode"],
@@ -10,7 +10,7 @@ import { c as checkType } from './check-type.js';
10
10
 
11
11
  const SWITCH_VARIANTS = ['list', 'menu'];
12
12
 
13
- const postLanguageSwitchCss = ":host{display:flex !important;flex-wrap:wrap;gap:.5rem}.post-language-switch-dropdown-container{display:flex;flex-direction:column}.post-language-switch-dropdown-container>*{width:100%}.post-language-switch-trigger{cursor:pointer;text-transform:uppercase;padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-radius:24px;font-size:16px;padding:3px 10px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger{background-color:ButtonFace !important}.post-language-switch-trigger:hover{background-color:Highlight !important}}.post-language-switch-trigger{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.post-language-switch-trigger:not(:disabled):hover,.post-language-switch-trigger.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.post-language-switch-trigger post-icon{height:16px;width:16px}.post-language-switch-trigger[aria-expanded=true]{background-color:#050400;color:#fff}.post-language-switch-trigger[aria-expanded=true] post-icon{transform:rotate(180deg)}.post-language-switch-trigger[aria-expanded=true]:hover{background-color:#504f4b;color:#fff}";
13
+ const postLanguageSwitchCss = ":host{display:flex !important;flex-wrap:wrap;gap:.5rem}.post-language-switch-dropdown-container{display:flex;flex-direction:column}.post-language-switch-dropdown-container>*{width:100%}.post-language-switch-trigger{cursor:pointer;text-transform:uppercase;padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-radius:24px;font-size:16px;padding:3px 10px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger{background-color:ButtonFace !important}.post-language-switch-trigger:hover{background-color:Highlight !important}}.post-language-switch-trigger{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.post-language-switch-trigger:not(:disabled):hover,.post-language-switch-trigger.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.post-language-switch-trigger post-icon{height:24px;width:24px}.post-language-switch-trigger[aria-expanded=true]{background-color:#050400;color:#fff}.post-language-switch-trigger[aria-expanded=true] post-icon{transform:rotate(180deg)}.post-language-switch-trigger[aria-expanded=true]:hover{background-color:#504f4b;color:#fff}";
14
14
  const PostLanguageSwitchStyle0 = postLanguageSwitchCss;
15
15
 
16
16
  const PostLanguageSwitch$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguageSwitch extends HTMLElement {
@@ -32,52 +32,65 @@ const PostLanguageSwitch$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
32
32
  }
33
33
  validateVariant() {
34
34
  checkEmptyOrOneOf(this, 'variant', SWITCH_VARIANTS);
35
- }
36
- connectedCallback() {
37
- this.updateChildrenVariant();
38
- // Get the active language based on children's active state
39
- const activeLanguageOption = this.host.querySelector('post-language-option[active]:not([active="false"])');
40
- if (activeLanguageOption)
41
- this.activeLang = activeLanguageOption.getAttribute('code');
42
- }
43
- // Update post-language-option variant to have the correct style
44
- updateChildrenVariant() {
45
- this.host.querySelectorAll('post-language-option').forEach(el => {
46
- el.setAttribute('variant', this.variant);
47
- });
48
- }
49
- componentWillUpdate() {
50
35
  this.updateChildrenVariant();
51
36
  }
52
37
  componentDidLoad() {
53
38
  this.validateCaption();
54
39
  this.validateDescription();
55
40
  this.validateVariant();
56
- // Detects a change in the active language
57
- this.host.addEventListener('postChange', (el) => {
58
- this.activeLang = el.detail;
59
- // Update the active state in the children post-language-option components
60
- this.host.querySelectorAll('post-language-option').forEach(lang => {
61
- if (lang.code && lang.code === this.activeLang) {
62
- lang.setAttribute('active', 'true');
63
- }
64
- else {
65
- lang.setAttribute('active', 'false');
66
- }
67
- });
68
- // Hides the dropdown when an option has been clicked
69
- if (this.variant === 'menu') {
70
- const menu = this.host.shadowRoot.querySelector('post-menu');
71
- menu.toggle(menu);
41
+ // Initially set variants and active language
42
+ // Handles cases where the language-switch is rendered after the language-options have been rendered
43
+ this.updateChildrenVariant();
44
+ this.updateActiveLanguage();
45
+ }
46
+ handlePostChange(event) {
47
+ this.activeLang = event.detail;
48
+ // Update the active state in the children post-language-option components
49
+ this.languageOptions.forEach(lang => {
50
+ if (lang.code && lang.code === this.activeLang) {
51
+ lang.setAttribute('active', '');
52
+ }
53
+ else {
54
+ lang.removeAttribute('active');
72
55
  }
73
56
  });
57
+ // Hides the dropdown when an option has been clicked
58
+ if (this.variant === 'menu') {
59
+ const menu = this.host.shadowRoot.querySelector('post-menu');
60
+ menu.hide();
61
+ }
62
+ }
63
+ /**
64
+ * Handles cases where the language switch is being rendered before options are available
65
+ * @param event Initially emitted by <post-langauge-option>
66
+ */
67
+ handleInitiallyActive(event) {
68
+ this.activeLang = event.detail;
69
+ }
70
+ get languageOptions() {
71
+ return this.host.querySelectorAll('post-language-option');
72
+ }
73
+ get activeLanguageOption() {
74
+ return this.host.querySelector('post-language-option[active]:not([active="false"])');
75
+ }
76
+ handleSlotChange() {
77
+ this.updateActiveLanguage();
78
+ }
79
+ updateActiveLanguage() {
80
+ this.activeLang = this.activeLanguageOption.getAttribute('code');
81
+ }
82
+ // Update post-language-option variant to have the correct style
83
+ updateChildrenVariant() {
84
+ this.languageOptions.forEach(el => {
85
+ el.setAttribute('variant', this.variant);
86
+ });
74
87
  }
75
88
  menuId = `p${nanoid(11)}`;
76
89
  renderList() {
77
- return (h(Host, { "data-version": version, role: "list", "aria-label": this.caption }, h("div", { class: "post-language-switch-list", role: "group", "aria-label": this.description }, h("slot", null))));
90
+ return (h(Host, { "data-version": version, role: "list", "aria-label": this.caption }, h("div", { class: "post-language-switch-list", role: "group", "aria-label": this.description }, h("slot", { onSlotchange: () => this.handleSlotChange() }))));
78
91
  }
79
92
  renderDropdown() {
80
- return (h(Host, { "data-version": version }, h("post-menu-trigger", { for: this.menuId }, h("button", { class: "post-language-switch-trigger", "aria-label": this.description }, this.activeLang, h("post-icon", { "aria-hidden": "true", name: "chevrondown" }))), h("post-menu", { id: this.menuId, class: "post-language-switch-dropdown-container", "aria-label": this.caption }, h("slot", null))));
93
+ return (h(Host, { "data-version": version }, h("post-menu-trigger", { for: this.menuId }, h("button", { class: "post-language-switch-trigger", "aria-label": this.description }, this.activeLang, h("post-icon", { "aria-hidden": "true", name: "chevrondown" }))), h("post-menu", { id: this.menuId, class: "post-language-switch-dropdown-container", "aria-label": this.caption }, h("slot", { onSlotchange: () => this.handleSlotChange() }))));
81
94
  }
82
95
  render() {
83
96
  return this.variant === 'list' ? this.renderList() : this.renderDropdown();
@@ -93,7 +106,7 @@ const PostLanguageSwitch$1 = /*@__PURE__*/ proxyCustomElement(class PostLanguage
93
106
  "description": [1],
94
107
  "variant": [1],
95
108
  "activeLang": [32]
96
- }, undefined, {
109
+ }, [[0, "postChange", "handlePostChange"], [0, "postLanguageOptionInitiallyActive", "handleInitiallyActive"]], {
97
110
  "caption": ["validateCaption"],
98
111
  "description": ["validateDescription"],
99
112
  "variant": ["validateVariant"]
@@ -1,8 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { t as throttle } from './index3.js';
3
2
  import { d as defineCustomElement$2 } from './post-icon2.js';
4
3
 
5
- const postMainnavigationCss = "post-mainnavigation post-list-item>a{text-decoration:none;border-radius:0}post-mainnavigation post-list-item post-megadropdown-trigger button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;text-align:start}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-mainnavigation post-list-item post-megadropdown-trigger button{background-color:ButtonFace !important}post-mainnavigation post-list-item post-megadropdown-trigger button:hover{background-color:Highlight !important}}post-mainnavigation post-list-item post-megadropdown-trigger button{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-mainnavigation post-list-item>a,post-mainnavigation post-list-item post-megadropdown-trigger button{flex:0 0 fit-content;white-space:nowrap;display:flex;align-items:center;justify-content:space-between}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item post-megadropdown-trigger button:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}post-mainnavigation post-list-item>a:focus-visible,post-mainnavigation post-list-item post-megadropdown-trigger button:focus-visible{border-radius:4px}post-mainnavigation .back-button post-icon{transform:rotate(180deg)}@media screen and (max-width: 1023.98px){post-mainnavigation .back-button{font-size:16px}}@media screen and (max-width: 599.98px){post-mainnavigation .back-button{font-size:14px}}post-mainnavigation>button::after,post-mainnavigation post-megadropdown-trigger button::after{content:\"\";mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 13.2-7.5 7.6-7.6-7.6.9-.9 6.6 6.6 6.6-6.6z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;height:24px;width:24px}@media screen and (min-width: 1024px){post-mainnavigation{display:block}post-mainnavigation nav{max-width:100vw;background:#fff;max-height:var(--main-navigation-height);user-select:none;transition:margin 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation .left-scroll-button,post-mainnavigation .right-scroll-button{z-index:4;position:absolute;inset-block-end:0;overflow:hidden}post-mainnavigation .left-scroll-button button,post-mainnavigation .right-scroll-button button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;background:#fff;padding:16px;box-shadow:var(--post-device-elevation-500);line-height:100%;height:var(--main-navigation-height)}}@media screen and (min-width: 1024px)and (forced-colors: active),screen and (min-width: 1024px)and (-ms-high-contrast: active),screen and (min-width: 1024px)and (-ms-high-contrast: white-on-black){post-mainnavigation .left-scroll-button button,post-mainnavigation .right-scroll-button button{background-color:ButtonFace !important}post-mainnavigation .left-scroll-button button:hover,post-mainnavigation .right-scroll-button button:hover{background-color:Highlight !important}}@media screen and (min-width: 1024px){post-mainnavigation .left-scroll-button button post-icon,post-mainnavigation .right-scroll-button button post-icon{font-size:1rem}}@media screen and (min-width: 1024px){post-mainnavigation .left-scroll-button.d-none,post-mainnavigation .right-scroll-button.d-none{display:none}}@media screen and (min-width: 1024px){post-mainnavigation .left-scroll-button{inset-inline-start:0;padding-inline-end:2rem}}@media screen and (min-width: 1024px){post-mainnavigation .right-scroll-button{inset-inline-end:0;padding-inline-start:2rem}}@media screen and (min-width: 1024px){post-mainnavigation post-list>[role=list]{flex-direction:row;max-width:100vw}}@media screen and (min-width: 1024px){post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{position:sticky;padding-inline:12px;height:var(--main-navigation-height);gap:4px;font-size:16px;z-index:4}post-mainnavigation post-list-item>a .nav-el-active,post-mainnavigation post-list-item>button .nav-el-active,post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-active{font-weight:700;text-align:center;opacity:0}post-mainnavigation post-list-item>a .nav-el-inactive,post-mainnavigation post-list-item>button .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-inactive{position:absolute;opacity:1;text-align:center;width:100%;left:0}post-mainnavigation post-list-item>a.selected,post-mainnavigation post-list-item>a[aria-expanded=true],post-mainnavigation post-list-item>button.selected,post-mainnavigation post-list-item>button[aria-expanded=true],post-mainnavigation post-list-item post-megadropdown-trigger button.selected,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]{background-color:#050400;color:#fff;font-weight:700}post-mainnavigation post-list-item>a.selected .nav-el-active,post-mainnavigation post-list-item>a[aria-expanded=true] .nav-el-active,post-mainnavigation post-list-item>button.selected .nav-el-active,post-mainnavigation post-list-item>button[aria-expanded=true] .nav-el-active,post-mainnavigation post-list-item post-megadropdown-trigger button.selected .nav-el-active,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true] .nav-el-active{opacity:1}post-mainnavigation post-list-item>a.selected .nav-el-inactive,post-mainnavigation post-list-item>a[aria-expanded=true] .nav-el-inactive,post-mainnavigation post-list-item>button.selected .nav-el-inactive,post-mainnavigation post-list-item>button[aria-expanded=true] .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button.selected .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true] .nav-el-inactive{opacity:0}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item>button:hover,post-mainnavigation post-list-item post-megadropdown-trigger button:hover{background-color:#504f4b;color:#fff}}@media screen and (min-width: 1024px)and (max-width: 599.98px){post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{font-size:14px}}@media screen and (min-width: 1024px){post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{padding-inline-end:12px;transition:border-block-end-color 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation post-list-item>button .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-inactive{width:calc(100% - 28px)}post-mainnavigation post-list-item>button::after,post-mainnavigation post-list-item post-megadropdown-trigger button::after{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation post-list-item>button.selected::after,post-mainnavigation post-list-item>button[aria-expanded=true]::after,post-mainnavigation post-list-item post-megadropdown-trigger button.selected::after,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]::after{transform:rotate(180deg)}}@media screen and (min-width: 1024px){post-mainnavigation post-megadropdown button:not(.btn-icon-close),post-mainnavigation post-megadropdown a{width:100%;min-width:100%;height:48px;padding-inline:8px 12px;gap:16px;font-weight:400;position:relative}post-mainnavigation post-megadropdown button:not(.btn-icon-close)::before,post-mainnavigation post-megadropdown a::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:1px;position:absolute;left:0}post-mainnavigation post-megadropdown button:not(.btn-icon-close).selected,post-mainnavigation post-megadropdown button:not(.btn-icon-close)[aria-expanded=true],post-mainnavigation post-megadropdown a.selected,post-mainnavigation post-megadropdown a[aria-expanded=true]{background-color:#050400;color:#fff}post-mainnavigation post-megadropdown button:not(.btn-icon-close):hover,post-mainnavigation post-megadropdown a:hover{background-color:#504f4b;color:#fff}post-mainnavigation post-megadropdown button:not(.btn-icon-close):hover::before,post-mainnavigation post-megadropdown a:hover::before{background-color:#504f4b}}@media screen and (min-width: 1024px){post-mainnavigation [slot=back-button]{display:none}}@media screen and (max-width: 1023.98px){post-mainnavigation nav{transform:none !important}post-mainnavigation .left-scroll-button,post-mainnavigation .right-scroll-button{display:none}post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{width:100%;min-width:100%;height:48px;padding-inline:8px 12px;gap:16px;font-weight:400;position:relative}post-mainnavigation post-list-item>a::before,post-mainnavigation post-list-item>button::before,post-mainnavigation post-list-item post-megadropdown-trigger button::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:1px;position:absolute;left:0}post-mainnavigation post-list-item>a.selected,post-mainnavigation post-list-item>a[aria-expanded=true],post-mainnavigation post-list-item>button.selected,post-mainnavigation post-list-item>button[aria-expanded=true],post-mainnavigation post-list-item post-megadropdown-trigger button.selected,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]{background-color:#050400;color:#fff}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item>button:hover,post-mainnavigation post-list-item post-megadropdown-trigger button:hover{background-color:#504f4b;color:#fff}post-mainnavigation post-list-item>a:hover::before,post-mainnavigation post-list-item>button:hover::before,post-mainnavigation post-list-item post-megadropdown-trigger button:hover::before{background-color:#504f4b}post-mainnavigation post-list-item>a .nav-el-inactive,post-mainnavigation post-list-item>button .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-inactive{display:none}post-mainnavigation>button::after,post-mainnavigation post-megadropdown-trigger button::after{transform:rotate(-90deg)}}post-mainnavigation .back-button .btn{padding-inline:0}";
4
+ const postMainnavigationCss = "post-mainnavigation post-list-item>a{text-decoration:none;border-radius:0}post-mainnavigation post-list-item post-megadropdown-trigger button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;text-align:start}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-mainnavigation post-list-item post-megadropdown-trigger button{background-color:ButtonFace !important}post-mainnavigation post-list-item post-megadropdown-trigger button:hover{background-color:Highlight !important}}post-mainnavigation post-list-item post-megadropdown-trigger button{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-mainnavigation post-list-item post-megadropdown-trigger button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-mainnavigation post-list-item>a,post-mainnavigation post-list-item post-megadropdown-trigger button{flex:0 0 fit-content;white-space:nowrap;display:flex;align-items:center;justify-content:space-between}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item post-megadropdown-trigger button:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}post-mainnavigation post-list-item>a:focus-visible,post-mainnavigation post-list-item post-megadropdown-trigger button:focus-visible{border-radius:4px}post-mainnavigation .back-button post-icon{transform:rotate(180deg)}@media screen and (max-width: 1023.98px){post-mainnavigation .back-button{font-size:16px}}@media screen and (max-width: 599.98px){post-mainnavigation .back-button{font-size:14px}}post-mainnavigation>button::after,post-mainnavigation post-megadropdown-trigger button::after{content:\"\";mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 13.2-7.5 7.6-7.6-7.6.9-.9 6.6 6.6 6.6-6.6z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;height:24px;width:24px}@media screen and (min-width: 1024px){post-mainnavigation{display:block}post-mainnavigation nav{max-width:100%;background:#fff;max-height:var(--main-navigation-height);user-select:none;transition:margin 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation .left-scroll-button,post-mainnavigation .right-scroll-button{z-index:4;position:absolute;inset-block-end:0;overflow:hidden}post-mainnavigation .left-scroll-button button,post-mainnavigation .right-scroll-button button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;background:#fff;padding:16px;box-shadow:var(--post-device-elevation-500);line-height:100%;height:var(--main-navigation-height)}}@media screen and (min-width: 1024px)and (forced-colors: active),screen and (min-width: 1024px)and (-ms-high-contrast: active),screen and (min-width: 1024px)and (-ms-high-contrast: white-on-black){post-mainnavigation .left-scroll-button button,post-mainnavigation .right-scroll-button button{background-color:ButtonFace !important}post-mainnavigation .left-scroll-button button:hover,post-mainnavigation .right-scroll-button button:hover{background-color:Highlight !important}}@media screen and (min-width: 1024px){post-mainnavigation .left-scroll-button button post-icon,post-mainnavigation .right-scroll-button button post-icon{font-size:1rem}}@media screen and (min-width: 1024px){post-mainnavigation .left-scroll-button.d-none,post-mainnavigation .right-scroll-button.d-none{display:none}}@media screen and (min-width: 1024px){post-mainnavigation .left-scroll-button{inset-inline-start:0;padding-inline-end:2rem}}@media screen and (min-width: 1024px){post-mainnavigation .right-scroll-button{inset-inline-end:0;padding-inline-start:2rem}}@media screen and (min-width: 1024px){post-mainnavigation post-list>[role=list]{flex-direction:row;max-width:100vw}}@media screen and (min-width: 1024px){post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{position:sticky;padding-inline:12px;height:var(--main-navigation-height);gap:4px;font-size:16px;z-index:4}post-mainnavigation post-list-item>a .nav-el-active,post-mainnavigation post-list-item>button .nav-el-active,post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-active{font-weight:700;text-align:center;opacity:0}post-mainnavigation post-list-item>a .nav-el-inactive,post-mainnavigation post-list-item>button .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-inactive{position:absolute;opacity:1;text-align:center;width:100%;left:0}post-mainnavigation post-list-item>a.selected,post-mainnavigation post-list-item>a[aria-expanded=true],post-mainnavigation post-list-item>button.selected,post-mainnavigation post-list-item>button[aria-expanded=true],post-mainnavigation post-list-item post-megadropdown-trigger button.selected,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]{background-color:#050400;color:#fff;font-weight:700}post-mainnavigation post-list-item>a.selected .nav-el-active,post-mainnavigation post-list-item>a[aria-expanded=true] .nav-el-active,post-mainnavigation post-list-item>button.selected .nav-el-active,post-mainnavigation post-list-item>button[aria-expanded=true] .nav-el-active,post-mainnavigation post-list-item post-megadropdown-trigger button.selected .nav-el-active,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true] .nav-el-active{opacity:1}post-mainnavigation post-list-item>a.selected .nav-el-inactive,post-mainnavigation post-list-item>a[aria-expanded=true] .nav-el-inactive,post-mainnavigation post-list-item>button.selected .nav-el-inactive,post-mainnavigation post-list-item>button[aria-expanded=true] .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button.selected .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true] .nav-el-inactive{opacity:0}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item>button:hover,post-mainnavigation post-list-item post-megadropdown-trigger button:hover{background-color:#504f4b;color:#fff}}@media screen and (min-width: 1024px)and (max-width: 599.98px){post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{font-size:14px}}@media screen and (min-width: 1024px){post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{padding-inline-end:12px;transition:border-block-end-color 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation post-list-item>button .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-inactive{width:calc(100% - 28px)}post-mainnavigation post-list-item>button::after,post-mainnavigation post-list-item post-megadropdown-trigger button::after{transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}post-mainnavigation post-list-item>button.selected::after,post-mainnavigation post-list-item>button[aria-expanded=true]::after,post-mainnavigation post-list-item post-megadropdown-trigger button.selected::after,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]::after{transform:rotate(180deg)}}@media screen and (min-width: 1024px){post-mainnavigation post-megadropdown button:not(.btn-icon-close),post-mainnavigation post-megadropdown a{width:100%;min-width:100%;height:48px;padding-inline:8px 12px;gap:16px;font-weight:400;position:relative}post-mainnavigation post-megadropdown button:not(.btn-icon-close)::before,post-mainnavigation post-megadropdown a::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:1px;position:absolute;left:0}post-mainnavigation post-megadropdown button:not(.btn-icon-close).selected,post-mainnavigation post-megadropdown button:not(.btn-icon-close)[aria-expanded=true],post-mainnavigation post-megadropdown a.selected,post-mainnavigation post-megadropdown a[aria-expanded=true]{background-color:#050400;color:#fff}post-mainnavigation post-megadropdown button:not(.btn-icon-close):hover,post-mainnavigation post-megadropdown a:hover{background-color:#504f4b;color:#fff}post-mainnavigation post-megadropdown button:not(.btn-icon-close):hover::before,post-mainnavigation post-megadropdown a:hover::before{background-color:#504f4b}}@media screen and (min-width: 1024px){post-mainnavigation [slot=back-button]{display:none}}@media screen and (max-width: 1023.98px){post-mainnavigation nav{transform:none !important}post-mainnavigation .left-scroll-button,post-mainnavigation .right-scroll-button{display:none}post-mainnavigation post-list-item>a,post-mainnavigation post-list-item>button,post-mainnavigation post-list-item post-megadropdown-trigger button{width:100%;min-width:100%;height:48px;padding-inline:8px 12px;gap:16px;font-weight:400;position:relative}post-mainnavigation post-list-item>a::before,post-mainnavigation post-list-item>button::before,post-mainnavigation post-list-item post-megadropdown-trigger button::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:1px;position:absolute;left:0}post-mainnavigation post-list-item>a.selected,post-mainnavigation post-list-item>a[aria-expanded=true],post-mainnavigation post-list-item>button.selected,post-mainnavigation post-list-item>button[aria-expanded=true],post-mainnavigation post-list-item post-megadropdown-trigger button.selected,post-mainnavigation post-list-item post-megadropdown-trigger button[aria-expanded=true]{background-color:#050400;color:#fff}post-mainnavigation post-list-item>a:hover,post-mainnavigation post-list-item>button:hover,post-mainnavigation post-list-item post-megadropdown-trigger button:hover{background-color:#504f4b;color:#fff}post-mainnavigation post-list-item>a:hover::before,post-mainnavigation post-list-item>button:hover::before,post-mainnavigation post-list-item post-megadropdown-trigger button:hover::before{background-color:#504f4b}post-mainnavigation post-list-item>a .nav-el-inactive,post-mainnavigation post-list-item>button .nav-el-inactive,post-mainnavigation post-list-item post-megadropdown-trigger button .nav-el-inactive{display:none}post-mainnavigation>button::after,post-mainnavigation post-megadropdown-trigger button::after{transform:rotate(-90deg)}}post-mainnavigation .back-button .btn{padding-inline:0}";
6
5
  const PostMainnavigationStyle0 = postMainnavigationCss;
7
6
 
8
7
  const SCROLL_REPEAT_INTERVAL = 100; // Interval for repeated scrolling when holding down scroll button
@@ -23,6 +22,7 @@ const PostMainnavigation$1 = /*@__PURE__*/ proxyCustomElement(class PostMainnavi
23
22
  leftScrollButton;
24
23
  scrollRepeatInterval;
25
24
  navbarDisableTimer;
25
+ resizeObserver;
26
26
  mutationObserver = new MutationObserver(async (mutations) => {
27
27
  // Wait for all elements to be hydrated
28
28
  await Promise.all(mutations
@@ -52,13 +52,25 @@ const PostMainnavigation$1 = /*@__PURE__*/ proxyCustomElement(class PostMainnavi
52
52
  disconnectedCallback() {
53
53
  this.header = null;
54
54
  this.mutationObserver.disconnect();
55
+ if (this.resizeObserver) {
56
+ this.resizeObserver.disconnect();
57
+ }
55
58
  }
56
59
  componentDidLoad() {
57
60
  setTimeout(() => this.checkScrollability()); // Initial check to determine if scrolling is needed
61
+ this.resizeObserver = new ResizeObserver(() => {
62
+ this.checkScrollability();
63
+ });
64
+ // Observe the navbar and the navigation list for size changes
65
+ if (this.navbar) {
66
+ this.resizeObserver.observe(this.navbar);
67
+ const navList = this.navigationList;
68
+ if (navList) {
69
+ this.resizeObserver.observe(navList);
70
+ }
71
+ }
58
72
  this.mutationObserver.observe(this.navigationList, { subtree: true, childList: true }); // Recheck scrollability when navigation list changes
59
73
  this.fixLayoutShift();
60
- window.addEventListener('resize', // Recheck scrollability on window resize
61
- throttle(100, () => this.checkScrollability()));
62
74
  // Handle focus changes and adjust scroll as needed
63
75
  this.navbar.addEventListener('focusin', e => this.adjustTranslation(e));
64
76
  }
@@ -223,7 +235,7 @@ const PostMainnavigation$1 = /*@__PURE__*/ proxyCustomElement(class PostMainnavi
223
235
  });
224
236
  }
225
237
  render() {
226
- return (h(Host, { key: 'd9be56167f714c041eb05283832986ec38c451cd', slot: "post-mainnavigation" }, h("div", { key: '5852c66b93a6eb9697fd7c7b1379e748804c6917', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: '0d4d98897fb5a8f8cf1c0871037ac01023c41cc2', name: "back-button" })), h("nav", { key: 'c60635b5db5a54b9e7661b92eeec29ed6d453cfe', ref: el => (this.navbar = el) }, h("slot", { key: 'd83facd6cb8c2a892ad432e42357123660c647ed' })), h("div", { key: 'e9afc48596b3e877d9efb9a4189abb8c84aadb6d', class: `left-scroll-button${this.canScrollLeft ? '' : ' d-none'}`, "aria-hidden": "true" }, h("button", { key: 'ef11720ec4f6d7811eb10027871a336e46ba6b84', type: "button", tabindex: "-1", ref: el => (this.leftScrollButton = el), onMouseDown: () => this.handleScrollButtonClick('left') }, h("post-icon", { key: 'f85ff2ef87841409f4b4f6c33e6d0dca4c764cc6', "aria-hidden": "true", name: "chevronleft" }))), h("div", { key: '181dc100ddedcba3f07b5f0ff9aedf165499f74f', class: `right-scroll-button${this.canScrollRight ? '' : ' d-none'}`, "aria-hidden": "true" }, h("button", { key: '83a8a824fcfe499207f6030e11381e68d530c67d', type: "button", tabindex: "-1", ref: el => (this.rightScrollButton = el), onMouseDown: () => this.handleScrollButtonClick('right') }, h("post-icon", { key: '52caec8a9a8c15e97ea5702ec3fe30bd4777c728', "aria-hidden": "true", name: "chevronright" })))));
238
+ return (h(Host, { key: '3c740536fd968e22d22a8117766df12800e6eb6e', slot: "post-mainnavigation" }, h("div", { key: '113602ca8b5ee48c290b31b77329b34d85df40bd', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: '6cd5e18449f1a9340a6c35c0b97385f0a4bf6ede', name: "back-button" })), h("nav", { key: '6fb39c4a929f973468407928b43f877233fa9326', ref: el => (this.navbar = el) }, h("slot", { key: 'dd9957b2dea293bc7153239f817ac76f37db3728' })), h("div", { key: '3942637952cec7095dbbcfa16aea1a3768a52fdb', class: `left-scroll-button${this.canScrollLeft ? '' : ' d-none'}`, "aria-hidden": "true" }, h("button", { key: '381b0aef119a161e6e3ac8f396ef8a214df0c439', type: "button", tabindex: "-1", ref: el => (this.leftScrollButton = el), onMouseDown: () => this.handleScrollButtonClick('left') }, h("post-icon", { key: '632835cf735a1d5487d1e18861622318041b9fb3', "aria-hidden": "true", name: "chevronleft" }))), h("div", { key: '2cb6c7222c5e755ba1fdfc8c9e68d73299efe0de', class: `right-scroll-button${this.canScrollRight ? '' : ' d-none'}`, "aria-hidden": "true" }, h("button", { key: 'd665cde32ea285134522a00689accf3cc40c927c', type: "button", tabindex: "-1", ref: el => (this.rightScrollButton = el), onMouseDown: () => this.handleScrollButtonClick('right') }, h("post-icon", { key: '13530078ad9aa9b48bdfd5bd78c8aa8d6ea910d0', "aria-hidden": "true", name: "chevronright" })))));
227
239
  }
228
240
  static get watchers() { return {
229
241
  "translationAmount": ["onTranslateAmountChanges"]
@@ -1,7 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { g as getFocusableChildren } from './get-focusable-children.js';
3
+ import { b as breakpoint } from './breakpoints.js';
3
4
 
4
- const postMegadropdownCss = "@keyframes slide-in{0%{transform:translateX(100%)}100%{transform:translateX(0%)}}@keyframes slide-out{from{transform:translateX(0%)}to{transform:translateX(100%)}}@keyframes slide-down{from{transform:translateY(-100%)}to{transform:translateY(0%)}}@keyframes slide-up{0%{transform:translateY(0%)}100%{transform:translateY(-100%)}}*,::before,::after{box-sizing:border-box}.megadropdown-container{box-shadow:0 8px 6px rgba(0,0,0,.16);position:absolute;background-color:#fafafa;border:none;z-index:1;border-top:1px solid #e1e0dc;width:100%;top:100%;left:0;border-radius:0}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.megadropdown-container{border-block-end:1px solid CanvasText}}.megadropdown-container.slide-in{animation:slide-down 350ms forwards}.megadropdown-container.slide-out{animation:slide-up 350ms forwards}@media screen and (max-width: 1023.98px){.megadropdown-container{z-index:4;top:0 !important;left:0;width:100%;position:fixed;height:calc(100dvh - var(--header-height));max-height:calc(100dvh - var(--header-height));border-top:unset;overflow:auto}.megadropdown-container.slide-in{animation:slide-in 350ms forwards}.megadropdown-container.slide-out{animation:slide-out 350ms forwards}}.megadropdown{padding:31px 40px 40px;background-color:#fafafa}@media screen and (max-width: 1023.98px){.megadropdown{display:flex;flex-direction:column;width:inherit;padding:16px 32px 24px}}@media screen and (max-width: 599.98px){.megadropdown{padding-inline:16px}}.megadropdown .megadropdown-content{gap:1.5rem;display:grid;grid-template-columns:repeat(auto-fit, minmax(min(15vw, 100%), 1fr));grid-auto-rows:1fr auto;grid-auto-flow:dense}@media screen and (max-width: 1023.98px){.megadropdown .megadropdown-content{grid-template-columns:repeat(auto-fit, minmax(min(35vw, 100%), 1fr))}}@media screen and (max-width: 599.98px){.megadropdown .megadropdown-content{grid-template-columns:1fr}}.megadropdown h2{display:none;margin-top:0;margin-bottom:8px;font-weight:900}.megadropdown h2 a{text-decoration:none;display:none;font-weight:inherit;border-bottom:0;border-top:0}@media screen and (max-width: 1023.98px){.megadropdown h2{display:block;font-size:1.25rem}}@media screen and (max-width: 599.98px){.megadropdown h2{font-size:1.125rem}}.megadropdown post-list{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0px}.megadropdown post-list>[role=list]{flex-direction:unset;display:unset}.megadropdown post-list>*{width:100%}.megadropdown post-list .list-title{display:flex;flex-direction:column-reverse;height:100%}.megadropdown post-list .list-title h3{font-size:20px;display:block;font-weight:900}.megadropdown post-list .list-title h3:not(:has(a)),.megadropdown post-list .list-title h3 a{padding:16px 12px 14px 8px}.megadropdown post-list .list-title h3:not(:has(a)){position:relative}.megadropdown post-list .list-title h3:not(:has(a))::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:2px;position:absolute;left:0}.megadropdown post-list .list-title h3 a{border-radius:0;text-decoration:none;font-size:inherit;display:flex;align-items:center;justify-content:space-between;min-height:53px;width:100%;min-width:100%;height:48px;padding-inline:8px 12px;gap:16px;font-weight:400;position:relative;height:unset;font-weight:900}.megadropdown post-list .list-title h3 a::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:1px;position:absolute;left:0}.megadropdown post-list .list-title h3 a.selected,.megadropdown post-list .list-title h3 a[aria-expanded=true]{background-color:#050400;color:#fff}.megadropdown post-list .list-title h3 a:hover{background-color:#504f4b;color:#fff}.megadropdown post-list .list-title h3 a:hover::before{background-color:#504f4b}.megadropdown post-list .list-title h3 a::before{height:2px}@media screen and (max-width: 1023.98px){.megadropdown post-list .list-title h3{font-size:1rem}.megadropdown post-list .list-title h3:not(:has(a)),.megadropdown post-list .list-title h3 a{padding:14px 12px 12px 8px}}@media screen and (max-width: 599.98px){.megadropdown post-list .list-title h3{font-size:.875rem}}.megadropdown post-list-item>a{padding-block:13px 12px;padding-inline-start:8px;display:flex;text-decoration:none;width:100%;min-width:100%;height:auto;min-height:48px}.megadropdown post-list-item>a:hover{border-block-width:0}@media screen and (min-width: 1024px){.megadropdown post-list-item>a{font-size:1.25rem}}@media screen and (max-width: 1023.98px){.megadropdown post-list-item>a{padding-block:12px 11px}}@media screen and (max-width: 599.98px){.megadropdown post-list-item>a{font-size:.875rem}}.megadropdown .back-button{display:none;margin-bottom:2rem}.megadropdown .back-button .btn{width:auto}@media screen and (max-width: 1023.98px){.megadropdown .back-button{order:-1;display:block}}.megadropdown .close-button{position:absolute;top:1rem;right:1rem}@media screen and (max-width: 1023.98px){.megadropdown .close-button{display:none}}";
5
+ const postMegadropdownCss = "@keyframes slide-in{0%{transform:translateX(100%)}100%{transform:translateX(0%)}}@keyframes slide-out{from{transform:translateX(0%)}to{transform:translateX(100%)}}@keyframes slide-down{from{transform:translateY(-100%)}to{transform:translateY(0%)}}@keyframes slide-up{0%{transform:translateY(0%)}100%{transform:translateY(-100%)}}*,::before,::after{box-sizing:border-box}.megadropdown-container{box-shadow:0 8px 6px rgba(0,0,0,.16);position:absolute;background-color:#fafafa;border:none;z-index:1;width:100%;top:100%;left:0;border-radius:0}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.megadropdown-container{border-block-end:1px solid CanvasText}}.megadropdown-container.slide-in{animation:slide-down 350ms forwards}.megadropdown-container.slide-out{animation:slide-up 350ms forwards}@media screen and (max-width: 1023.98px){.megadropdown-container{z-index:4;top:0 !important;left:0;width:100%;position:fixed;height:calc(100dvh - var(--header-height));max-height:calc(100dvh - var(--header-height));border-top:unset;overflow:auto}.megadropdown-container.slide-in{animation:slide-in 350ms forwards}.megadropdown-container.slide-out{animation:slide-out 350ms forwards}}.megadropdown{padding:31px 40px 40px;background-color:#fafafa}@media screen and (max-width: 1023.98px){.megadropdown{display:flex;flex-direction:column;width:inherit;padding:16px 32px 24px}}@media screen and (max-width: 599.98px){.megadropdown{padding-inline:16px}}.megadropdown .megadropdown-content{gap:1.5rem;display:grid;grid-template-columns:repeat(auto-fit, minmax(min(15vw, 100%), 1fr));grid-auto-rows:1fr auto;grid-auto-flow:dense}@media screen and (max-width: 1023.98px){.megadropdown .megadropdown-content{grid-template-columns:repeat(auto-fit, minmax(min(35vw, 100%), 1fr))}}@media screen and (max-width: 599.98px){.megadropdown .megadropdown-content{grid-template-columns:1fr}}.megadropdown h2{display:none;margin-top:0;margin-bottom:8px;font-weight:900}.megadropdown h2 a{text-decoration:none;display:none;font-weight:inherit;border-bottom:0;border-top:0}@media screen and (max-width: 1023.98px){.megadropdown h2{display:block;font-size:1.25rem}}@media screen and (max-width: 599.98px){.megadropdown h2{font-size:1.125rem}}.megadropdown post-list{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0px}.megadropdown post-list>[role=list]{flex-direction:unset;display:unset}.megadropdown post-list>*{width:100%}.megadropdown post-list .list-title{display:flex;flex-direction:column-reverse;height:100%}.megadropdown post-list .list-title h3{font-size:20px;display:block;font-weight:900}.megadropdown post-list .list-title h3:not(:has(a)),.megadropdown post-list .list-title h3 a{padding:16px 12px 14px 8px}.megadropdown post-list .list-title h3:not(:has(a)){position:relative}.megadropdown post-list .list-title h3:not(:has(a))::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:2px;position:absolute;left:0}.megadropdown post-list .list-title h3 a{border-radius:0;text-decoration:none;font-size:inherit;display:flex;align-items:center;justify-content:space-between;min-height:53px;width:100%;min-width:100%;height:48px;padding-inline:8px 12px;gap:16px;font-weight:400;position:relative;height:unset;font-weight:900}.megadropdown post-list .list-title h3 a::before{content:\"\";background-color:#050400;bottom:0;width:100%;height:1px;position:absolute;left:0}.megadropdown post-list .list-title h3 a.selected,.megadropdown post-list .list-title h3 a[aria-expanded=true]{background-color:#050400;color:#fff}.megadropdown post-list .list-title h3 a:hover{background-color:#504f4b;color:#fff}.megadropdown post-list .list-title h3 a:hover::before{background-color:#504f4b}.megadropdown post-list .list-title h3 a::before{height:2px}@media screen and (max-width: 1023.98px){.megadropdown post-list .list-title h3{font-size:1rem}.megadropdown post-list .list-title h3:not(:has(a)),.megadropdown post-list .list-title h3 a{padding:14px 12px 12px 8px}}@media screen and (max-width: 599.98px){.megadropdown post-list .list-title h3{font-size:.875rem}}.megadropdown post-list-item>a{padding-block:13px 12px;padding-inline-start:8px;display:flex;text-decoration:none;width:100%;min-width:100%;height:auto;min-height:48px;white-space:normal;word-break:break-word}.megadropdown post-list-item>a:hover{border-block-width:0}@media screen and (min-width: 1024px){.megadropdown post-list-item>a{font-size:1.25rem}}@media screen and (max-width: 1023.98px){.megadropdown post-list-item>a{padding-block:12px 11px}}@media screen and (max-width: 599.98px){.megadropdown post-list-item>a{font-size:.875rem}}.megadropdown .back-button{display:none;margin-bottom:2rem}.megadropdown .back-button .btn{width:auto}@media screen and (max-width: 1023.98px){.megadropdown .back-button{order:-1;display:block}}.megadropdown .close-button{position:absolute;top:1rem;right:1rem}@media screen and (max-width: 1023.98px){.megadropdown .close-button{display:none}}";
5
6
  const PostMegadropdownStyle0 = postMegadropdownCss;
6
7
 
7
8
  const PostMegadropdown$1 = /*@__PURE__*/ proxyCustomElement(class PostMegadropdown extends HTMLElement {
@@ -9,16 +10,21 @@ const PostMegadropdown$1 = /*@__PURE__*/ proxyCustomElement(class PostMegadropdo
9
10
  super();
10
11
  this.__registerHost();
11
12
  this.postToggleMegadropdown = createEvent(this, "postToggleMegadropdown", 7);
12
- this.device = undefined;
13
+ this.device = breakpoint.get('name');
13
14
  this.isVisible = false;
14
15
  this.animationClass = null;
15
16
  }
16
- header;
17
17
  firstFocusableEl;
18
18
  lastFocusableEl;
19
19
  get host() { return this; }
20
20
  /** Tracks the currently active dropdown instance. */
21
21
  static activeDropdown = null;
22
+ breakpointChange(e) {
23
+ this.device = e.detail;
24
+ if (this.device === 'desktop' && this.isVisible) {
25
+ this.animationClass = null;
26
+ }
27
+ }
22
28
  /**
23
29
  * Emits when the dropdown is shown or hidden.
24
30
  * The event payload is an object.
@@ -28,6 +34,7 @@ const PostMegadropdown$1 = /*@__PURE__*/ proxyCustomElement(class PostMegadropdo
28
34
  postToggleMegadropdown;
29
35
  disconnectedCallback() {
30
36
  this.removeListeners();
37
+ window.removeEventListener('postBreakpoint:name', this.breakpointChange.bind(this));
31
38
  if (PostMegadropdown.activeDropdown === this) {
32
39
  PostMegadropdown.activeDropdown = null;
33
40
  }
@@ -73,16 +80,14 @@ const PostMegadropdown$1 = /*@__PURE__*/ proxyCustomElement(class PostMegadropdo
73
80
  this.postToggleMegadropdown.emit({ isVisible: false, focusParent: focusParent });
74
81
  this.animationClass = 'slide-out';
75
82
  }
83
+ /**
84
+ * Sets focus to the first focusable element within the component.
85
+ */
76
86
  async focusFirst() {
77
87
  this.firstFocusableEl?.focus();
78
88
  }
79
89
  connectedCallback() {
80
- this.header = this.host.closest('post-header');
81
- if (this.header) {
82
- this.header.addEventListener('postUpdateDevice', (event) => {
83
- this.device = event.detail;
84
- });
85
- }
90
+ window.addEventListener('postBreakpoint:name', this.breakpointChange.bind(this));
86
91
  }
87
92
  /**
88
93
  * Forces the dropdown to close without animation.
@@ -157,7 +162,7 @@ const PostMegadropdown$1 = /*@__PURE__*/ proxyCustomElement(class PostMegadropdo
157
162
  }
158
163
  render() {
159
164
  const containerStyle = this.isVisible ? {} : { display: 'none' };
160
- return (h(Host, { key: '1475e9ff941f5333d5cfe4f00157f8b2fc826b5e' }, h("div", { key: 'f3da1ec8abc7d00be7020821be69ea3af16f3ad2', class: `megadropdown-container ${this.animationClass || ''}`, style: containerStyle, onAnimationEnd: () => this.handleAnimationEnd() }, h("div", { key: 'f02279d454c7413080ce52711fe0cb923950d066', class: "megadropdown" }, h("slot", { key: '87da859d1a8408c3a49ea1ab050ea5f27de45ec2', name: "megadropdown-title" }), h("div", { key: 'c389959cf97c2ea69dd7b3f6945071e0c1793458', class: "megadropdown-content" }, h("slot", { key: '1a1241624a5b5421de0e4a3a54ddba3eb1e0834f' })), h("div", { key: 'f8fad723719e1505730f679dfff6428f3a5f1340', onClick: () => this.hide(true), class: "back-button" }, h("slot", { key: '6ca62ac352810b6d3642ee69433de4aac4089117', name: "back-button" })), h("div", { key: '16200fc7dee7d5535399e0450e39a816f04dffd6', onClick: () => this.hide(true), class: "close-button" }, h("slot", { key: 'e9478713c07f69011f397af3e3ffa6a3b8b7fb6a', name: "close-button" }))))));
165
+ return (h(Host, { key: '56fa590bb7f9f96a235ac867e5fa813d3af85e0e' }, h("div", { key: 'b2c7b68296103caa71a2a50f5637b7ffb6c07439', class: `megadropdown-container ${this.animationClass || ''}`, style: containerStyle, onAnimationEnd: () => this.handleAnimationEnd() }, h("div", { key: 'adb9e8e0017c030c7b2d296c50ac6f7a0807c0cd', class: "megadropdown" }, h("slot", { key: '081e04f3a23c1f1578d1a57e3c4485627b3370bf', name: "megadropdown-title" }), h("div", { key: 'ce46885e7c2992cbee84ed4712cac476c37d764a', class: "megadropdown-content" }, h("slot", { key: '57aa14b27969ab85d078ea42b440fc689d602ffa' })), h("div", { key: 'bfbd760c4f8ef244adf9f51517df22065e0b6cf7', onClick: () => this.hide(true), class: "back-button" }, h("slot", { key: '5cab958bc29dca98b1eeac97b844d26324f045bf', name: "back-button" })), h("div", { key: '8a959443f689a9bb318bedd2089493d291529250', onClick: () => this.hide(true), class: "close-button" }, h("slot", { key: '212685a6a63c5af4eccec78a80d6a8c3d7a2bbe9', name: "close-button" }))))));
161
166
  }
162
167
  static get style() { return PostMegadropdownStyle0; }
163
168
  }, [4, "post-megadropdown", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swisspost/design-system-components",
3
- "version": "9.0.0-next.22",
3
+ "version": "9.0.0-next.24",
4
4
  "description": "A collection of web components built with Stencil JS for the Swiss Post Design System.",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.cjs.js",
@@ -26,8 +26,8 @@
26
26
  "dependencies": {
27
27
  "@floating-ui/dom": "1.6.13",
28
28
  "@oddbird/popover-polyfill": "0.3.7",
29
- "@swisspost/design-system-icons": "9.0.0-next.22",
30
- "@swisspost/design-system-styles": "9.0.0-next.22",
29
+ "@swisspost/design-system-icons": "9.0.0-next.24",
30
+ "@swisspost/design-system-styles": "9.0.0-next.24",
31
31
  "ally.js": "1.4.1",
32
32
  "long-press-event": "2.5.0",
33
33
  "nanoid": "5.0.9"
@@ -1,135 +0,0 @@
1
- /* eslint-disable no-undefined,no-param-reassign,no-shadow */
2
-
3
- /**
4
- * Throttle execution of a function. Especially useful for rate limiting
5
- * execution of handlers on events like resize and scroll.
6
- *
7
- * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)
8
- * are most useful.
9
- * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,
10
- * as-is, to `callback` when the throttled-function is executed.
11
- * @param {object} [options] - An object to configure options.
12
- * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds
13
- * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed
14
- * one final time after the last throttled-function call. (After the throttled-function has not been called for
15
- * `delay` milliseconds, the internal counter is reset).
16
- * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback
17
- * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that
18
- * callback will never executed if both noLeading = true and noTrailing = true.
19
- * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is
20
- * false (at end), schedule `callback` to execute after `delay` ms.
21
- *
22
- * @returns {Function} A new, throttled, function.
23
- */
24
- function throttle (delay, callback, options) {
25
- var _ref = options || {},
26
- _ref$noTrailing = _ref.noTrailing,
27
- noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,
28
- _ref$noLeading = _ref.noLeading,
29
- noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,
30
- _ref$debounceMode = _ref.debounceMode,
31
- debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;
32
- /*
33
- * After wrapper has stopped being called, this timeout ensures that
34
- * `callback` is executed at the proper times in `throttle` and `end`
35
- * debounce modes.
36
- */
37
- var timeoutID;
38
- var cancelled = false;
39
-
40
- // Keep track of the last time `callback` was executed.
41
- var lastExec = 0;
42
-
43
- // Function to clear existing timeout
44
- function clearExistingTimeout() {
45
- if (timeoutID) {
46
- clearTimeout(timeoutID);
47
- }
48
- }
49
-
50
- // Function to cancel next exec
51
- function cancel(options) {
52
- var _ref2 = options || {},
53
- _ref2$upcomingOnly = _ref2.upcomingOnly,
54
- upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;
55
- clearExistingTimeout();
56
- cancelled = !upcomingOnly;
57
- }
58
-
59
- /*
60
- * The `wrapper` function encapsulates all of the throttling / debouncing
61
- * functionality and when executed will limit the rate at which `callback`
62
- * is executed.
63
- */
64
- function wrapper() {
65
- for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
66
- arguments_[_key] = arguments[_key];
67
- }
68
- var self = this;
69
- var elapsed = Date.now() - lastExec;
70
- if (cancelled) {
71
- return;
72
- }
73
-
74
- // Execute `callback` and update the `lastExec` timestamp.
75
- function exec() {
76
- lastExec = Date.now();
77
- callback.apply(self, arguments_);
78
- }
79
-
80
- /*
81
- * If `debounceMode` is true (at begin) this is used to clear the flag
82
- * to allow future `callback` executions.
83
- */
84
- function clear() {
85
- timeoutID = undefined;
86
- }
87
- if (!noLeading && debounceMode && !timeoutID) {
88
- /*
89
- * Since `wrapper` is being called for the first time and
90
- * `debounceMode` is true (at begin), execute `callback`
91
- * and noLeading != true.
92
- */
93
- exec();
94
- }
95
- clearExistingTimeout();
96
- if (debounceMode === undefined && elapsed > delay) {
97
- if (noLeading) {
98
- /*
99
- * In throttle mode with noLeading, if `delay` time has
100
- * been exceeded, update `lastExec` and schedule `callback`
101
- * to execute after `delay` ms.
102
- */
103
- lastExec = Date.now();
104
- if (!noTrailing) {
105
- timeoutID = setTimeout(debounceMode ? clear : exec, delay);
106
- }
107
- } else {
108
- /*
109
- * In throttle mode without noLeading, if `delay` time has been exceeded, execute
110
- * `callback`.
111
- */
112
- exec();
113
- }
114
- } else if (noTrailing !== true) {
115
- /*
116
- * In trailing throttle mode, since `delay` time has not been
117
- * exceeded, schedule `callback` to execute `delay` ms after most
118
- * recent execution.
119
- *
120
- * If `debounceMode` is true (at begin), schedule `clear` to execute
121
- * after `delay` ms.
122
- *
123
- * If `debounceMode` is false (at end), schedule `callback` to
124
- * execute after `delay` ms.
125
- */
126
- timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
127
- }
128
- }
129
- wrapper.cancel = cancel;
130
-
131
- // Return the wrapper function.
132
- return wrapper;
133
- }
134
-
135
- export { throttle as t };
@@ -1,3 +0,0 @@
1
- const version = "9.0.0-next.22";
2
-
3
- export { version as v };
@@ -1 +0,0 @@
1
- export{P as post_accordion_item}from"./p-88132343.js";import"./p-ff95dcd3.js";import"./p-22dc4f9f.js";import"./p-247a1668.js";import"./p-e585c6fe.js";import"./p-440193f4.js";import"./p-d45df336.js";import"./p-7709c14a.js";import"./p-85fdc2d3.js";import"./p-5959f2bd.js";
@@ -1 +0,0 @@
1
- export{P as post_tabs}from"./p-afae9c2f.js";import"./p-ff95dcd3.js";import"./p-22dc4f9f.js";import"./p-64e3de38.js";
@@ -1 +0,0 @@
1
- export{P as post_banner}from"./p-0b838792.js";import"./p-ff95dcd3.js";import"./p-22dc4f9f.js";import"./p-64e3de38.js";import"./p-e585c6fe.js";import"./p-440193f4.js";import"./p-d45df336.js";import"./p-7709c14a.js";import"./p-85fdc2d3.js";import"./p-5959f2bd.js";import"./p-181c73d5.js";
@@ -1 +0,0 @@
1
- const t="9.0.0-next.22";export{t as v}
@@ -1 +0,0 @@
1
- export{P as post_tab_panel}from"./p-ebce9cd7.js";import"./p-ff95dcd3.js";import"./p-22dc4f9f.js";import"./p-5959f2bd.js";
@@ -1 +0,0 @@
1
- export{P as post_popover}from"./p-ecaf1cb0.js";import"./p-ff95dcd3.js";import"./p-22dc4f9f.js";import"./p-9748a355.js";
@@ -1 +0,0 @@
1
- export{P as post_avatar}from"./p-9e71ce43.js";import"./p-ff95dcd3.js";import"./p-22dc4f9f.js";import"./p-181c73d5.js";import"./p-440193f4.js";
@@ -1 +0,0 @@
1
- export{P as post_breadcrumb_item,a as post_menu_item}from"./p-4288d499.js";import"./p-ff95dcd3.js";import"./p-22dc4f9f.js";import"./p-e585c6fe.js";import"./p-440193f4.js";import"./p-d45df336.js";import"./p-7709c14a.js";import"./p-85fdc2d3.js";
@@ -1 +0,0 @@
1
- export{P as post_rating}from"./p-b7d3e076.js";import"./p-ff95dcd3.js";import"./p-22dc4f9f.js";
@@ -1 +0,0 @@
1
- export{P as post_footer}from"./p-741467ac.js";import"./p-ff95dcd3.js";import"./p-22dc4f9f.js";