@swisspost/design-system-components 10.0.0-next.48 → 10.0.0-next.50

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 (249) hide show
  1. package/dist/cjs/{event-from-C6kpQwhw.js → event-from-CLvtSUKf.js} +20 -6
  2. package/dist/cjs/{get-root-CfQ2PogP.js → get-root-CyMf3Vsd.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{package-CZyXYkIN.js → package-qtH-QrKv.js} +1 -1
  5. package/dist/cjs/post-accordion_2.cjs.entry.js +5 -5
  6. package/dist/cjs/post-avatar.cjs.entry.js +27 -37
  7. package/dist/cjs/post-back-to-top.cjs.entry.js +3 -3
  8. package/dist/cjs/post-banner.cjs.entry.js +5 -5
  9. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +5 -5
  10. package/dist/cjs/post-breadcrumbs.cjs.entry.js +12 -7
  11. package/dist/cjs/post-card-control.cjs.entry.js +5 -5
  12. package/dist/cjs/post-closebutton_15.cjs.entry.js +274 -134
  13. package/dist/cjs/post-collapsible_2.cjs.entry.js +6 -6
  14. package/dist/cjs/post-components.cjs.js +1 -1
  15. package/dist/cjs/post-footer.cjs.entry.js +4 -4
  16. package/dist/cjs/post-linkarea.cjs.entry.js +19 -8
  17. package/dist/cjs/post-popover.cjs.entry.js +4 -4
  18. package/dist/cjs/post-rating.cjs.entry.js +4 -4
  19. package/dist/cjs/post-tab-header.cjs.entry.js +4 -4
  20. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  21. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  22. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +3 -3
  23. package/dist/cjs/post-tooltip.cjs.entry.js +4 -4
  24. package/dist/collection/animations/pop-in.js +14 -0
  25. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  26. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  27. package/dist/collection/components/post-avatar/post-avatar.css +1 -1
  28. package/dist/collection/components/post-avatar/post-avatar.js +38 -34
  29. package/dist/collection/components/post-back-to-top/post-back-to-top.js +1 -1
  30. package/dist/collection/components/post-banner/post-banner.js +2 -2
  31. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +1 -1
  32. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
  33. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +30 -4
  34. package/dist/collection/components/post-card-control/post-card-control.css +1 -1
  35. package/dist/collection/components/post-card-control/post-card-control.js +2 -2
  36. package/dist/collection/components/post-closebutton/button-types.js +1 -0
  37. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
  38. package/dist/collection/components/post-closebutton/post-closebutton.js +65 -5
  39. package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
  40. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +1 -1
  41. package/dist/collection/components/post-footer/post-footer.css +1 -1
  42. package/dist/collection/components/post-footer/post-footer.js +1 -1
  43. package/dist/collection/components/post-header/post-header.css +1 -1
  44. package/dist/collection/components/post-header/post-header.js +19 -11
  45. package/dist/collection/components/post-icon/post-icon.js +39 -33
  46. package/dist/collection/components/post-language-option/post-language-option.css +1 -1
  47. package/dist/collection/components/post-language-option/post-language-option.js +1 -2
  48. package/dist/collection/components/post-language-switch/post-language-switch.js +1 -2
  49. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -1
  50. package/dist/collection/components/post-linkarea/post-linkarea.js +24 -6
  51. package/dist/collection/components/post-list/post-list.css +1 -1
  52. package/dist/collection/components/post-list/post-list.js +1 -1
  53. package/dist/collection/components/post-list-item/post-list-item.js +1 -1
  54. package/dist/collection/components/post-logo/post-logo.js +1 -1
  55. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  56. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +1 -1
  57. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  58. package/dist/collection/components/post-megadropdown/post-megadropdown.js +73 -11
  59. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +1 -1
  60. package/dist/collection/components/post-menu/post-menu.css +1 -1
  61. package/dist/collection/components/post-menu/post-menu.js +51 -9
  62. package/dist/collection/components/post-menu-item/post-menu-item.css +1 -1
  63. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
  64. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +1 -1
  65. package/dist/collection/components/post-popover/post-popover.css +1 -1
  66. package/dist/collection/components/post-popover/post-popover.js +1 -1
  67. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  68. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +18 -7
  69. package/dist/collection/components/post-rating/post-rating.css +1 -1
  70. package/dist/collection/components/post-rating/post-rating.js +1 -1
  71. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
  72. package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
  73. package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
  74. package/dist/collection/components/post-tabs/post-tabs.js +1 -1
  75. package/dist/collection/components/post-togglebutton/post-togglebutton.js +1 -1
  76. package/dist/collection/components/post-tooltip/post-tooltip.js +2 -2
  77. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +1 -1
  78. package/dist/collection/utils/event-from.js +20 -6
  79. package/dist/component-names.json +39 -0
  80. package/dist/components/event-from.js +20 -6
  81. package/dist/components/package.js +1 -1
  82. package/dist/components/post-accordion-item2.js +1 -1
  83. package/dist/components/post-accordion2.js +1 -1
  84. package/dist/components/post-avatar.js +28 -36
  85. package/dist/components/post-back-to-top.js +1 -1
  86. package/dist/components/post-banner.js +2 -2
  87. package/dist/components/post-breadcrumb-item2.js +1 -1
  88. package/dist/components/post-breadcrumbs.js +14 -7
  89. package/dist/components/post-card-control.js +3 -3
  90. package/dist/components/post-closebutton.js +1 -44
  91. package/dist/components/post-closebutton2.js +77 -0
  92. package/dist/components/post-collapsible-trigger2.js +1 -1
  93. package/dist/components/post-collapsible2.js +1 -1
  94. package/dist/components/post-footer.js +2 -2
  95. package/dist/components/post-header.js +17 -12
  96. package/dist/components/post-icon2.js +39 -33
  97. package/dist/components/post-language-option.js +2 -3
  98. package/dist/components/post-language-switch.js +1 -2
  99. package/dist/components/post-linkarea.js +21 -8
  100. package/dist/components/post-list-item.js +1 -1
  101. package/dist/components/post-list.js +2 -2
  102. package/dist/components/post-logo.js +1 -1
  103. package/dist/components/post-mainnavigation.js +2 -2
  104. package/dist/components/post-megadropdown-trigger.js +1 -1
  105. package/dist/components/post-megadropdown.js +74 -12
  106. package/dist/components/post-menu-item2.js +2 -2
  107. package/dist/components/post-menu-trigger2.js +1 -1
  108. package/dist/components/post-menu2.js +33 -11
  109. package/dist/components/post-popover.js +15 -3
  110. package/dist/components/post-popovercontainer2.js +30 -5
  111. package/dist/components/post-rating.js +2 -2
  112. package/dist/components/post-tab-header.js +2 -2
  113. package/dist/components/post-tab-panel.js +1 -1
  114. package/dist/components/post-tabs.js +1 -1
  115. package/dist/components/post-togglebutton.js +1 -1
  116. package/dist/components/post-tooltip-trigger.js +1 -1
  117. package/dist/components/post-tooltip.js +2 -2
  118. package/dist/components/react/{p-Tg0GNTZM.js → p-B392lG2N.js} +3 -3
  119. package/dist/components/react/{p-Dq9F2i7n.js → p-B9Y7UQKI.js} +3 -3
  120. package/dist/components/react/{p-38PqL5iD.js → p-BXPcgIqO.js} +3 -3
  121. package/dist/components/react/{p-Da5wbVP8.js → p-BcVKzjda.js} +40 -34
  122. package/dist/components/react/{p-CiYSngKM.js → p-BlOv-NDA.js} +6 -6
  123. package/dist/components/react/{p-q8Fvf8A0.js → p-BmpB1vs4.js} +2 -2
  124. package/dist/components/react/p-BuKAaKXE.js +78 -0
  125. package/dist/components/react/{p-JHuJA2Lv.js → p-Bw6vnK1I.js} +36 -14
  126. package/dist/components/react/{p-Ce7jgYmK.js → p-CDsgZHvX.js} +31 -6
  127. package/dist/components/react/{p-kraHE1r3.js → p-CzIKqBrS.js} +20 -6
  128. package/dist/components/react/p-DimG3b3P.js +3 -0
  129. package/dist/components/react/{p-DzYquz3e.js → p-DnHwlsBi.js} +3 -3
  130. package/dist/components/react/{p-CGsAj6ij.js → p-U9MTjvRU.js} +2 -2
  131. package/dist/components/react/post-accordion-item.js +1 -1
  132. package/dist/components/react/post-accordion.js +1 -1
  133. package/dist/components/react/post-avatar.js +29 -37
  134. package/dist/components/react/post-back-to-top.js +3 -3
  135. package/dist/components/react/post-banner.js +4 -4
  136. package/dist/components/react/post-breadcrumb-item.js +1 -1
  137. package/dist/components/react/post-breadcrumbs.js +21 -14
  138. package/dist/components/react/post-card-control.js +5 -5
  139. package/dist/components/react/post-closebutton.js +1 -45
  140. package/dist/components/react/post-collapsible-trigger.js +1 -1
  141. package/dist/components/react/post-collapsible.js +1 -1
  142. package/dist/components/react/post-footer.js +8 -8
  143. package/dist/components/react/post-header.js +19 -14
  144. package/dist/components/react/post-icon.js +1 -1
  145. package/dist/components/react/post-language-option.js +3 -4
  146. package/dist/components/react/post-language-switch.js +7 -8
  147. package/dist/components/react/post-linkarea.js +22 -9
  148. package/dist/components/react/post-list-item.js +2 -2
  149. package/dist/components/react/post-list.js +3 -3
  150. package/dist/components/react/post-logo.js +2 -2
  151. package/dist/components/react/post-mainnavigation.js +4 -4
  152. package/dist/components/react/post-megadropdown-trigger.js +3 -3
  153. package/dist/components/react/post-megadropdown.js +75 -13
  154. package/dist/components/react/post-menu-item.js +1 -1
  155. package/dist/components/react/post-menu-trigger.js +1 -1
  156. package/dist/components/react/post-menu.js +1 -1
  157. package/dist/components/react/post-popover.js +17 -5
  158. package/dist/components/react/post-popovercontainer.js +1 -1
  159. package/dist/components/react/post-rating.js +4 -4
  160. package/dist/components/react/post-tab-header.js +3 -3
  161. package/dist/components/react/post-tab-panel.js +2 -2
  162. package/dist/components/react/post-tabs.js +2 -2
  163. package/dist/components/react/post-togglebutton.js +2 -2
  164. package/dist/components/react/post-tooltip-trigger.js +2 -2
  165. package/dist/components/react/post-tooltip.js +4 -4
  166. package/dist/docs.json +174 -12
  167. package/dist/esm/{event-from-kraHE1r3.js → event-from-CzIKqBrS.js} +20 -6
  168. package/dist/esm/{get-root-hlzxoycr.js → get-root-BkQ3CrLq.js} +1 -1
  169. package/dist/esm/loader.js +1 -1
  170. package/dist/esm/package-DimG3b3P.js +3 -0
  171. package/dist/esm/post-accordion_2.entry.js +5 -5
  172. package/dist/esm/post-avatar.entry.js +27 -37
  173. package/dist/esm/post-back-to-top.entry.js +3 -3
  174. package/dist/esm/post-banner.entry.js +5 -5
  175. package/dist/esm/post-breadcrumb-item_2.entry.js +5 -5
  176. package/dist/esm/post-breadcrumbs.entry.js +13 -8
  177. package/dist/esm/post-card-control.entry.js +5 -5
  178. package/dist/esm/post-closebutton_15.entry.js +274 -134
  179. package/dist/esm/post-collapsible_2.entry.js +6 -6
  180. package/dist/esm/post-components.js +1 -1
  181. package/dist/esm/post-footer.entry.js +4 -4
  182. package/dist/esm/post-linkarea.entry.js +19 -8
  183. package/dist/esm/post-popover.entry.js +4 -4
  184. package/dist/esm/post-rating.entry.js +4 -4
  185. package/dist/esm/post-tab-header.entry.js +4 -4
  186. package/dist/esm/post-tab-panel.entry.js +3 -3
  187. package/dist/esm/post-tabs.entry.js +3 -3
  188. package/dist/esm/post-tooltip-trigger.entry.js +3 -3
  189. package/dist/esm/post-tooltip.entry.js +4 -4
  190. package/dist/post-components/{p-3c71f590.entry.js → p-048d2c1a.entry.js} +1 -1
  191. package/dist/post-components/p-0a4d9f33.entry.js +1 -0
  192. package/dist/post-components/p-11abb64f.entry.js +1 -0
  193. package/dist/post-components/p-1253185c.entry.js +1 -0
  194. package/dist/post-components/p-15e0d4b8.entry.js +1 -0
  195. package/dist/post-components/{p-d61bb2ff.entry.js → p-1d4252ba.entry.js} +1 -1
  196. package/dist/post-components/{p-aad86320.entry.js → p-3d30eafa.entry.js} +1 -1
  197. package/dist/post-components/p-4114fc83.entry.js +1 -0
  198. package/dist/post-components/p-5ddde390.entry.js +1 -0
  199. package/dist/post-components/p-89411986.entry.js +1 -0
  200. package/dist/post-components/{p-6777e505.entry.js → p-9bbf7271.entry.js} +1 -1
  201. package/dist/post-components/{p-BkvZk-PA.js → p-CBFgkSgY.js} +1 -1
  202. package/dist/post-components/p-CJ80BZ06.js +1 -0
  203. package/dist/post-components/p-CzIKqBrS.js +1 -0
  204. package/dist/post-components/p-DimG3b3P.js +1 -0
  205. package/dist/post-components/p-b034d196.entry.js +1 -0
  206. package/dist/post-components/p-b36c129a.entry.js +1 -0
  207. package/dist/post-components/p-b82e7cbe.entry.js +1 -0
  208. package/dist/post-components/{p-6add880f.entry.js → p-e7fbb03d.entry.js} +1 -1
  209. package/dist/post-components/p-f1d53256.entry.js +1 -0
  210. package/dist/post-components/p-f97f3a19.entry.js +1 -0
  211. package/dist/post-components/{p-16772417.entry.js → p-f9d044a3.entry.js} +1 -1
  212. package/dist/post-components/post-components.esm.js +1 -1
  213. package/dist/types/animations/pop-in.d.ts +1 -0
  214. package/dist/types/components/post-avatar/post-avatar.d.ts +5 -4
  215. package/dist/types/components/post-breadcrumbs/post-breadcrumbs.d.ts +5 -0
  216. package/dist/types/components/post-closebutton/button-types.d.ts +2 -0
  217. package/dist/types/components/post-closebutton/post-closebutton.d.ts +10 -1
  218. package/dist/types/components/post-header/post-header.d.ts +5 -0
  219. package/dist/types/components/post-icon/post-icon.d.ts +11 -0
  220. package/dist/types/components/post-linkarea/post-linkarea.d.ts +6 -0
  221. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +33 -6
  222. package/dist/types/components/post-menu/post-menu.d.ts +7 -1
  223. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +6 -2
  224. package/dist/types/components.d.ts +39 -3
  225. package/dist/types/utils/event-from.d.ts +2 -1
  226. package/hydrate/index.js +357 -184
  227. package/hydrate/index.mjs +357 -184
  228. package/package.json +8 -6
  229. package/dist/components/react/p-0Ltezq5O.js +0 -3
  230. package/dist/esm/package-0Ltezq5O.js +0 -3
  231. package/dist/post-components/p-0Ltezq5O.js +0 -1
  232. package/dist/post-components/p-38d3d441.entry.js +0 -1
  233. package/dist/post-components/p-40f21542.entry.js +0 -1
  234. package/dist/post-components/p-4243cdd1.entry.js +0 -1
  235. package/dist/post-components/p-4c18cb8c.entry.js +0 -1
  236. package/dist/post-components/p-51dc7647.entry.js +0 -1
  237. package/dist/post-components/p-8363fedb.entry.js +0 -1
  238. package/dist/post-components/p-83998038.entry.js +0 -1
  239. package/dist/post-components/p-85bb1b5e.entry.js +0 -1
  240. package/dist/post-components/p-8f4d8685.entry.js +0 -1
  241. package/dist/post-components/p-95ad536d.entry.js +0 -1
  242. package/dist/post-components/p-9d806e89.entry.js +0 -1
  243. package/dist/post-components/p-_0G7tavk.js +0 -1
  244. package/dist/post-components/p-c3e38acf.entry.js +0 -1
  245. package/dist/post-components/p-kraHE1r3.js +0 -1
  246. package/dist/prebuild.js +0 -26
  247. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/prebuild.d.ts +0 -1
  248. package/dist/cjs/{breakpoints-DmZ_BQGo.js → breakpoints-CEkeixld.js} +3 -3
  249. package/dist/esm/{breakpoints-_0G7tavk.js → breakpoints-CJ80BZ06.js} +3 -3
@@ -1,6 +1,7 @@
1
1
  import { Device } from "../../utils/breakpoints";
2
2
  /**
3
3
  * @slot post-logo - Should be used together with the `<post-logo>` component.
4
+ * @slot global-controls - Holds search button in the global header.
4
5
  * @slot meta-navigation - Holds an `<ul>` with meta navigation links.
5
6
  * @slot post-togglebutton - Holds the mobile menu toggler.
6
7
  * @slot post-language-switch - Should be used with the `<post-language-switch>` component.
@@ -8,6 +9,8 @@ import { Device } from "../../utils/breakpoints";
8
9
  * @slot default - Custom controls or content, right aligned in the local header.
9
10
  * @slot post-mainnavigation - Has a default slot because it's only meant to be used in the `<post-header>`.
10
11
  * @slot target-group - Holds the list of buttons to choose the target group.
12
+ * @slot global-login - Holds the user menu or login button in the global header.
13
+ * @slot navigation-controls - Custom controls, right aligned with the main navigation.
11
14
  */
12
15
  export declare class PostHeader {
13
16
  private firstFocusableEl;
@@ -22,6 +25,7 @@ export declare class PostHeader {
22
25
  host: HTMLPostHeaderElement;
23
26
  device: Device;
24
27
  hasNavigation: boolean;
28
+ hasTitle: boolean;
25
29
  mobileMenuExtended: boolean;
26
30
  megadropdownOpen: boolean;
27
31
  lockBody(newValue: boolean | string, _oldValue: boolean | string, propName: string): void;
@@ -33,6 +37,7 @@ export declare class PostHeader {
33
37
  componentDidLoad(): void;
34
38
  disconnectedCallback(): void;
35
39
  private checkNavigationExistence;
40
+ private checkTitleExistence;
36
41
  private closeMobileMenu;
37
42
  /**
38
43
  * Toggles the mobile navigation.
@@ -38,6 +38,17 @@ export declare class PostIcon {
38
38
  */
39
39
  readonly scale?: number;
40
40
  validateScale(): void;
41
+ /**
42
+ * Construct the icon URL according to the following rules:
43
+ * 1. `@base` (absolute URL) → use directly.
44
+ * 2. `@base` (relative URL) → resolve with `base href` and/or `origin`
45
+ * - If `base href` is absolute → use just that.
46
+ * - If `base href` is relative → prepend with `origin`.
47
+ * - If `base href` does not exist → use only `origin`.
48
+ * 3. `@meta` (absolute URL) → use directly.
49
+ * 4. `@meta` (relative URL) → resolve with `base href` and/or `origin`. (same as above)
50
+ * 5. `CDN_URL` fallback → `https://unpkg.com/...`.
51
+ **/
41
52
  private getUrl;
42
53
  private getStyles;
43
54
  componentDidLoad(): void;
@@ -1,5 +1,11 @@
1
1
  export declare class PostLinkarea {
2
+ private mutationObserver;
2
3
  host: HTMLPostLinkareaElement;
4
+ interactiveElements: NodeListOf<HTMLAnchorElement>;
3
5
  private dispatchClick;
6
+ private checkInteractiveElements;
7
+ connectedCallback(): void;
8
+ componentWillLoad(): void;
9
+ disconnectedCallback(): void;
4
10
  render(): any;
5
11
  }
@@ -3,19 +3,21 @@ import { Device } from "../../utils/breakpoints";
3
3
  export declare class PostMegadropdown {
4
4
  private firstFocusableEl;
5
5
  private lastFocusableEl;
6
- device: Device;
7
- host: HTMLPostMegadropdownElement;
8
6
  /** Tracks the currently active dropdown instance. */
9
7
  private static activeDropdown;
10
- private breakpointChange;
8
+ private defaultSlotObserver;
9
+ host: HTMLPostMegadropdownElement;
10
+ device: Device;
11
11
  /**
12
12
  * Holds the current visibility state of the dropdown.
13
13
  * This state is internally managed to track whether the dropdown is open (`true`) or closed (`false`),
14
14
  * and updates automatically when the dropdown is toggled.
15
15
  */
16
16
  isVisible: boolean;
17
+ trigger: boolean;
17
18
  /** Holds the current animation class. */
18
19
  animationClass: string | null;
20
+ private get megadropdownTrigger();
19
21
  /**
20
22
  * Emits when the dropdown is shown or hidden.
21
23
  * The event payload is an object.
@@ -26,8 +28,10 @@ export declare class PostMegadropdown {
26
28
  isVisible: boolean;
27
29
  focusParent?: boolean;
28
30
  }>;
31
+ connectedCallback(): void;
32
+ componentDidRender(): void;
33
+ componentDidLoad(): void;
29
34
  disconnectedCallback(): void;
30
- componentWillRender(): void;
31
35
  /**
32
36
  * Toggles the dropdown visibility based on its current state.
33
37
  */
@@ -44,17 +48,40 @@ export declare class PostMegadropdown {
44
48
  * Sets focus to the first focusable element within the component.
45
49
  */
46
50
  focusFirst(): Promise<void>;
47
- connectedCallback(): void;
51
+ private breakpointChange;
48
52
  /**
49
53
  * Forces the dropdown to close without animation.
50
54
  */
51
55
  private forceClose;
52
56
  private handleAnimationEnd;
53
- private handleClickOutside;
57
+ private readonly handleClickOutside;
54
58
  private addListeners;
55
59
  private removeListeners;
56
60
  private getFocusableElements;
57
61
  private keyboardHandler;
58
62
  private handleTabOutside;
63
+ /**
64
+ * Sets up a MutationObserver on the host to watch for changes
65
+ * in `aria-current` attributes.
66
+ */
67
+ private setupObserver;
68
+ /**
69
+ * Adds or removes the 'active' class on the megadropdown trigger button
70
+ * based on the active state.
71
+ *
72
+ * @param isActive - Whether the trigger should appear active
73
+ */
74
+ private setTriggerActive;
75
+ /**
76
+ * Updates the megadropdown trigger state when the megadropdown content changes.
77
+ * Checks if any element inside the megadropdown has `aria-current="page"`
78
+ * and sets the trigger as active accordingly.
79
+ */
80
+ private handleAriaCurrentChange;
81
+ /**
82
+ * Checks on initialization if any element inside the megadropdown
83
+ * has `aria-current="page"` and sets the trigger as active if so.
84
+ */
85
+ private checkInitialAriaCurrent;
59
86
  render(): any;
60
87
  }
@@ -2,7 +2,8 @@ import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { Placement } from '@floating-ui/dom';
3
3
  /**
4
4
  * @part menu - The container element that holds the list of menu items.
5
- */
5
+ * @slot header - Holds the header part of the menu.
6
+ */
6
7
  export declare class PostMenu {
7
8
  private popoverRef;
8
9
  private lastFocusedElement;
@@ -15,6 +16,11 @@ export declare class PostMenu {
15
16
  */
16
17
  readonly placement?: Placement;
17
18
  validatePlacement(): void;
19
+ /**
20
+ * An accessible name for the menu.
21
+ */
22
+ readonly label: string;
23
+ validateLabel(): void;
18
24
  /**
19
25
  * Holds the current visibility state of the menu.
20
26
  * This state is internally managed to track whether the menu is open (`true`) or closed (`false`),
@@ -17,10 +17,14 @@ export declare class PostPopovercontainer {
17
17
  private eventTarget;
18
18
  private clearAutoUpdate;
19
19
  private toggleTimeoutId;
20
+ private firstOpen;
20
21
  /**
21
- * Fires whenever the popovercontainer gets shown or hidden, passing the new state in event.details as a boolean
22
+ * Fires whenever the popovercontainer gets shown or hidden, passing in event.detail an object containing two booleans: `isOpen`, which is true if the popovercontainer was opened and false if it was closed, and `first`, which is true if it was opened for the first time.
22
23
  */
23
- postToggle: EventEmitter<boolean>;
24
+ postToggle: EventEmitter<{
25
+ isOpen: boolean;
26
+ first?: boolean;
27
+ }>;
24
28
  /**
25
29
  * Defines the placement of the popovercontainer according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.
26
30
  * Popovercontainers are automatically flipped to the opposite side if there is not enough available space and are shifted
@@ -7,10 +7,12 @@
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { HeadingLevel } from "./types/index";
9
9
  import { BannerType } from "./components/post-banner/banner-types";
10
+ import { ButtonType } from "./components/post-closebutton/button-types";
10
11
  import { SwitchVariant } from "./components/post-language-switch/switch-variants";
11
12
  import { Placement } from "@floating-ui/dom";
12
13
  export { HeadingLevel } from "./types/index";
13
14
  export { BannerType } from "./components/post-banner/banner-types";
15
+ export { ButtonType } from "./components/post-closebutton/button-types";
14
16
  export { SwitchVariant } from "./components/post-language-switch/switch-variants";
15
17
  export { Placement } from "@floating-ui/dom";
16
18
  export namespace Components {
@@ -54,6 +56,10 @@ export namespace Components {
54
56
  "toggle": (force?: boolean) => Promise<boolean>;
55
57
  }
56
58
  interface PostAvatar {
59
+ /**
60
+ * Provides a custom description for the avatar, used for accessibility purposes.
61
+ */
62
+ "description"?: string;
57
63
  /**
58
64
  * Defines the users email address associated with a gravatar profile picture.
59
65
  */
@@ -104,6 +110,10 @@ export namespace Components {
104
110
  * The URL for the home breadcrumb item.
105
111
  */
106
112
  "homeUrl": string;
113
+ /**
114
+ * The accessible label for the breadcrumb menu when breadcrumb items are concatenated.
115
+ */
116
+ "menuLabel": string;
107
117
  }
108
118
  /**
109
119
  * @class PostCardControl - representing a stencil component
@@ -157,6 +167,11 @@ export namespace Components {
157
167
  "value"?: string;
158
168
  }
159
169
  interface PostClosebutton {
170
+ /**
171
+ * Overrides the close button's type ("button" by default)
172
+ * @default 'button'
173
+ */
174
+ "buttonType"?: ButtonType;
160
175
  }
161
176
  interface PostCollapsible {
162
177
  /**
@@ -320,6 +335,10 @@ export namespace Components {
320
335
  * Hides the popover menu and restores focus to the previously focused element.
321
336
  */
322
337
  "hide": () => Promise<void>;
338
+ /**
339
+ * An accessible name for the menu.
340
+ */
341
+ "label": string;
323
342
  /**
324
343
  * Defines the position of the menu relative to its trigger. Menus are automatically flipped to the opposite side if there is not enough available space and are shifted towards the viewport if they would overlap edge boundaries. For supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement).
325
344
  * @default 'bottom'
@@ -798,7 +817,7 @@ declare global {
798
817
  new (): HTMLPostPopoverElement;
799
818
  };
800
819
  interface HTMLPostPopovercontainerElementEventMap {
801
- "postToggle": boolean;
820
+ "postToggle": { isOpen: boolean; first?: boolean };
802
821
  }
803
822
  interface HTMLPostPopovercontainerElement extends Components.PostPopovercontainer, HTMLStencilElement {
804
823
  addEventListener<K extends keyof HTMLPostPopovercontainerElementEventMap>(type: K, listener: (this: HTMLPostPopovercontainerElement, ev: PostPopovercontainerCustomEvent<HTMLPostPopovercontainerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -942,6 +961,10 @@ declare namespace LocalJSX {
942
961
  "headingLevel"?: HeadingLevel;
943
962
  }
944
963
  interface PostAvatar {
964
+ /**
965
+ * Provides a custom description for the avatar, used for accessibility purposes.
966
+ */
967
+ "description"?: string;
945
968
  /**
946
969
  * Defines the users email address associated with a gravatar profile picture.
947
970
  */
@@ -992,6 +1015,10 @@ declare namespace LocalJSX {
992
1015
  * The URL for the home breadcrumb item.
993
1016
  */
994
1017
  "homeUrl": string;
1018
+ /**
1019
+ * The accessible label for the breadcrumb menu when breadcrumb items are concatenated.
1020
+ */
1021
+ "menuLabel": string;
995
1022
  }
996
1023
  /**
997
1024
  * @class PostCardControl - representing a stencil component
@@ -1045,6 +1072,11 @@ declare namespace LocalJSX {
1045
1072
  "value"?: string;
1046
1073
  }
1047
1074
  interface PostClosebutton {
1075
+ /**
1076
+ * Overrides the close button's type ("button" by default)
1077
+ * @default 'button'
1078
+ */
1079
+ "buttonType"?: ButtonType;
1048
1080
  }
1049
1081
  interface PostCollapsible {
1050
1082
  /**
@@ -1188,6 +1220,10 @@ declare namespace LocalJSX {
1188
1220
  "for": string;
1189
1221
  }
1190
1222
  interface PostMenu {
1223
+ /**
1224
+ * An accessible name for the menu.
1225
+ */
1226
+ "label": string;
1191
1227
  /**
1192
1228
  * Emits when the menu is shown or hidden. The event payload is a boolean: `true` when the menu was opened, `false` when it was closed.
1193
1229
  */
@@ -1244,9 +1280,9 @@ declare namespace LocalJSX {
1244
1280
  */
1245
1281
  "manualClose"?: boolean;
1246
1282
  /**
1247
- * Fires whenever the popovercontainer gets shown or hidden, passing the new state in event.details as a boolean
1283
+ * Fires whenever the popovercontainer gets shown or hidden, passing in event.detail an object containing two booleans: `isOpen`, which is true if the popovercontainer was opened and false if it was closed, and `first`, which is true if it was opened for the first time.
1248
1284
  */
1249
- "onPostToggle"?: (event: PostPopovercontainerCustomEvent<boolean>) => void;
1285
+ "onPostToggle"?: (event: PostPopovercontainerCustomEvent<{ isOpen: boolean; first?: boolean }>) => void;
1250
1286
  /**
1251
1287
  * Defines the placement of the popovercontainer according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement. Popovercontainers are automatically flipped to the opposite side if there is not enough available space and are shifted towards the viewport if they would overlap edge boundaries.
1252
1288
  * @default 'top'
@@ -5,5 +5,6 @@
5
5
  * @param option.ignoreNestedComponents - Whether to ignore events from nested components
6
6
  */
7
7
  export declare function EventFrom(tag: string, option?: {
8
- ignoreNestedComponents: boolean;
8
+ ignoreNestedComponents?: boolean;
9
+ allowDescendants?: boolean;
9
10
  }): (target: object, propertyKey: string, descriptor?: PropertyDescriptor) => void;