@swisspost/design-system-components 9.0.0-next.9 → 10.0.0-next.37

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 (516) hide show
  1. package/dist/.config/bindings.angular.js +4 -0
  2. package/dist/cjs/breakpoints-cdf1b747.js +59 -0
  3. package/dist/cjs/check-non-empty-bd99d236.js +15 -0
  4. package/dist/cjs/check-one-of-75d270b5.js +13 -0
  5. package/dist/cjs/check-type-cdbf6d29.js +21 -0
  6. package/dist/cjs/check-url-220a286c.js +19 -0
  7. package/dist/cjs/event-guard-efabc84f.js +47 -0
  8. package/dist/cjs/fade-72d5ef55.js +14 -0
  9. package/dist/cjs/get-root-8102fecd.js +17 -0
  10. package/dist/cjs/index-23e36ff7.js +37 -0
  11. package/dist/cjs/{index-010dc207.js → index-b60129c4.js} +17 -10
  12. package/dist/cjs/index.browser-4af21c17.js +16 -0
  13. package/dist/cjs/index.cjs.js +36 -31
  14. package/dist/cjs/loader.cjs.js +2 -2
  15. package/dist/cjs/long-press-event-6e62d113.js +266 -0
  16. package/dist/cjs/{package-8e810a59.js → package-8121f093.js} +1 -1
  17. package/dist/cjs/{post-accordion-b9df8522.js → post-accordion-beac7c9f.js} +11 -12
  18. package/dist/cjs/post-accordion-item-4846fbee.js +64 -0
  19. package/dist/cjs/post-accordion-item.cjs.entry.js +10 -7
  20. package/dist/cjs/post-accordion.cjs.entry.js +6 -4
  21. package/dist/cjs/{post-avatar-f7236084.js → post-avatar-a36991fb.js} +10 -13
  22. package/dist/cjs/post-avatar.cjs.entry.js +5 -4
  23. package/dist/cjs/post-back-to-top-32aa9017.js +96 -0
  24. package/dist/cjs/post-back-to-top.cjs.entry.js +7 -6
  25. package/dist/cjs/post-banner-be0e8909.js +92 -0
  26. package/dist/cjs/post-banner.cjs.entry.js +11 -9
  27. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +8 -7
  28. package/dist/cjs/post-breadcrumbs-6ef82a41.js +120 -0
  29. package/dist/cjs/post-breadcrumbs.cjs.entry.js +13 -0
  30. package/dist/cjs/post-card-control-fe919333.js +269 -0
  31. package/dist/cjs/post-card-control.cjs.entry.js +6 -5
  32. package/dist/cjs/post-closebutton_15.cjs.entry.js +13 -10
  33. package/dist/cjs/{post-collapsible-trigger-143cf84a.js → post-collapsible-trigger-f42be607.js} +59 -60
  34. package/dist/cjs/post-collapsible_2.cjs.entry.js +11 -10
  35. package/dist/cjs/post-components.cjs.js +2 -2
  36. package/dist/cjs/{post-footer-5f7fdf96.js → post-footer-5179aa17.js} +11 -57
  37. package/dist/cjs/post-footer.cjs.entry.js +4 -3
  38. package/dist/cjs/post-linkarea-27125078.js +30 -0
  39. package/dist/cjs/post-linkarea.cjs.entry.js +11 -0
  40. package/dist/cjs/{post-menu-item-bb0b0b9e.js → post-menu-item-d78a9121.js} +11 -17
  41. package/dist/cjs/post-popover-feb1e773.js +135 -0
  42. package/dist/cjs/post-popover.cjs.entry.js +4 -4
  43. package/dist/cjs/{post-rating-1082197c.js → post-rating-6d153a2c.js} +4 -4
  44. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  45. package/dist/cjs/post-tab-header-e4532918.js +34 -0
  46. package/dist/cjs/post-tab-header.cjs.entry.js +6 -4
  47. package/dist/cjs/{post-tab-panel-60f211a5.js → post-tab-panel-40df21ad.js} +5 -4
  48. package/dist/cjs/post-tab-panel.cjs.entry.js +4 -3
  49. package/dist/cjs/{post-tabs-1f797ce4.js → post-tabs-45db2696.js} +13 -15
  50. package/dist/cjs/post-tabs.cjs.entry.js +5 -4
  51. package/dist/cjs/post-tag-0967bb1e.js +47 -0
  52. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  53. package/dist/cjs/post-togglebutton-42b7d166.js +4494 -0
  54. package/dist/cjs/post-tooltip-f833d51d.js +73 -0
  55. package/dist/cjs/{post-tooltip-38c839a4.js → post-tooltip-trigger-3ceac010.js} +143 -456
  56. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +13 -0
  57. package/dist/cjs/post-tooltip.cjs.entry.js +5 -9
  58. package/dist/cjs/{slide-5d51abe8.js → slide-cd1f09b3.js} +8 -8
  59. package/dist/collection/animations/collapse.js +8 -6
  60. package/dist/collection/animations/fade.js +6 -2
  61. package/dist/collection/animations/slide.js +8 -8
  62. package/dist/collection/collection-manifest.json +5 -3
  63. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  64. package/dist/collection/components/post-accordion/post-accordion.js +6 -8
  65. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  66. package/dist/collection/components/post-accordion-item/post-accordion-item.js +12 -12
  67. package/dist/collection/components/post-avatar/post-avatar.css +1 -3
  68. package/dist/collection/components/post-avatar/post-avatar.js +7 -11
  69. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
  70. package/dist/collection/components/post-back-to-top/post-back-to-top.js +38 -18
  71. package/dist/collection/components/post-banner/post-banner.css +1 -3
  72. package/dist/collection/components/post-banner/post-banner.js +13 -12
  73. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +11 -8
  74. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -0
  75. package/dist/collection/components/{post-breadcrumb/post-breadcrumb.js → post-breadcrumbs/post-breadcrumbs.js} +20 -21
  76. package/dist/collection/components/post-card-control/post-card-control.css +1 -3
  77. package/dist/collection/components/post-card-control/post-card-control.js +15 -19
  78. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -0
  79. package/dist/collection/components/post-closebutton/post-closebutton.js +12 -1
  80. package/dist/collection/components/post-collapsible/post-collapsible.css +1 -1
  81. package/dist/collection/components/post-collapsible/post-collapsible.js +3 -2
  82. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +43 -45
  83. package/dist/collection/components/post-footer/post-footer.js +8 -8
  84. package/dist/collection/components/post-header/post-header.css +1 -1
  85. package/dist/collection/components/post-header/post-header.js +212 -52
  86. package/dist/collection/components/post-icon/post-icon.css +1 -1
  87. package/dist/collection/components/post-icon/post-icon.js +71 -29
  88. package/dist/collection/components/post-language-option/post-language-option.css +1 -3
  89. package/dist/collection/components/post-language-option/post-language-option.js +34 -12
  90. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
  91. package/dist/collection/components/post-language-switch/post-language-switch.js +56 -33
  92. package/dist/collection/components/post-language-switch/switch-variants.js +1 -1
  93. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -0
  94. package/dist/collection/components/post-linkarea/post-linkarea.js +30 -0
  95. package/dist/collection/components/post-list/post-list.css +1 -3
  96. package/dist/collection/components/post-list/post-list.js +4 -3
  97. package/dist/collection/components/post-list-item/post-list-item.js +2 -1
  98. package/dist/collection/components/post-logo/post-logo.css +1 -1
  99. package/dist/collection/components/post-logo/post-logo.js +2 -2
  100. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  101. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +157 -25
  102. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  103. package/dist/collection/components/post-megadropdown/post-megadropdown.js +179 -55
  104. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  105. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +41 -12
  106. package/dist/collection/components/post-menu/post-menu.css +1 -3
  107. package/dist/collection/components/post-menu/post-menu.js +44 -30
  108. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -13
  109. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +16 -10
  110. package/dist/collection/components/post-popover/post-popover.css +1 -3
  111. package/dist/collection/components/post-popover/post-popover.js +23 -16
  112. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  113. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +217 -56
  114. package/dist/collection/components/post-rating/post-rating.css +1 -3
  115. package/dist/collection/components/post-rating/post-rating.js +1 -1
  116. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -3
  117. package/dist/collection/components/post-tab-header/post-tab-header.js +6 -5
  118. package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -3
  119. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  120. package/dist/collection/components/post-tabs/post-tabs.js +6 -14
  121. package/dist/collection/components/post-tag/post-tag.css +1 -3
  122. package/dist/collection/components/post-tag/post-tag.js +2 -2
  123. package/dist/collection/components/post-togglebutton/post-togglebutton.js +3 -3
  124. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  125. package/dist/collection/components/post-tooltip/post-tooltip.js +62 -212
  126. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.css +1 -0
  127. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +230 -0
  128. package/dist/collection/index.js +3 -1
  129. package/dist/collection/utils/attribute-observer.js +6 -5
  130. package/dist/collection/utils/breakpoints.js +21 -15
  131. package/dist/collection/utils/component-on-ready.js +4 -4
  132. package/dist/collection/utils/debounce.js +2 -1
  133. package/dist/collection/utils/environment.js +2 -0
  134. package/dist/collection/utils/event-guard.js +43 -0
  135. package/dist/collection/utils/{is-focusable.js → get-focusable-children.js} +10 -3
  136. package/dist/collection/utils/get-root.js +6 -1
  137. package/dist/collection/utils/index.js +5 -0
  138. package/dist/collection/utils/is-motion-reduced.js +2 -1
  139. package/dist/collection/utils/property-checkers/check-non-empty.js +6 -2
  140. package/dist/collection/utils/property-checkers/check-one-of.js +8 -3
  141. package/dist/collection/utils/property-checkers/check-pattern.js +8 -3
  142. package/dist/collection/utils/property-checkers/check-type.js +11 -6
  143. package/dist/collection/utils/property-checkers/check-url.js +11 -6
  144. package/dist/collection/utils/property-checkers/empty-or.js +5 -2
  145. package/dist/collection/utils/sass-export.js +8 -5
  146. package/dist/components/breakpoints.js +56 -0
  147. package/dist/components/check-non-empty.js +6 -2
  148. package/dist/components/check-one-of.js +8 -3
  149. package/dist/components/check-type.js +11 -6
  150. package/dist/components/event-guard.js +45 -0
  151. package/dist/components/fade.js +6 -2
  152. package/dist/components/get-focusable-children.js +35 -0
  153. package/dist/components/get-root.js +7 -1
  154. package/dist/components/index.browser.js +14 -0
  155. package/dist/components/index.js +3 -1
  156. package/dist/components/index2.js +24 -11
  157. package/dist/components/long-press-event.js +264 -0
  158. package/dist/components/package.js +1 -1
  159. package/dist/components/post-accordion-item2.js +14 -13
  160. package/dist/components/post-accordion2.js +8 -9
  161. package/dist/components/post-avatar2.js +8 -11
  162. package/dist/components/post-back-to-top2.js +41 -20
  163. package/dist/components/post-banner2.js +15 -13
  164. package/dist/components/post-breadcrumb-item2.js +9 -9
  165. package/dist/components/post-breadcrumbs.d.ts +11 -0
  166. package/dist/components/post-breadcrumbs.js +6 -0
  167. package/dist/components/post-breadcrumbs2.js +177 -0
  168. package/dist/components/post-card-control2.js +16 -19
  169. package/dist/components/post-closebutton2.js +7 -2
  170. package/dist/components/post-collapsible-trigger2.js +46 -48
  171. package/dist/components/post-collapsible2.js +13 -10
  172. package/dist/components/post-footer2.js +8 -54
  173. package/dist/components/post-header2.js +174 -51
  174. package/dist/components/post-icon2.js +72 -29
  175. package/dist/components/post-language-option2.js +21 -12
  176. package/dist/components/post-language-switch2.js +44 -45
  177. package/dist/components/{post-breadcrumb.d.ts → post-linkarea.d.ts} +4 -4
  178. package/dist/components/post-linkarea.js +6 -0
  179. package/dist/components/post-linkarea2.js +43 -0
  180. package/dist/components/post-list-item2.js +2 -1
  181. package/dist/components/post-list2.js +5 -4
  182. package/dist/components/post-logo2.js +4 -3
  183. package/dist/components/post-mainnavigation2.js +150 -15
  184. package/dist/components/post-megadropdown-trigger2.js +43 -13
  185. package/dist/components/post-megadropdown2.js +136 -39
  186. package/dist/components/post-menu-item2.js +2 -8
  187. package/dist/components/post-menu-trigger2.js +17 -10
  188. package/dist/components/post-menu2.js +43 -54
  189. package/dist/components/post-popover2.js +46 -15
  190. package/dist/components/post-popovercontainer2.js +921 -111
  191. package/dist/components/post-rating2.js +2 -2
  192. package/dist/components/post-tab-header2.js +8 -6
  193. package/dist/components/post-tab-panel2.js +4 -3
  194. package/dist/components/post-tabs2.js +10 -12
  195. package/dist/components/post-tag2.js +2 -2
  196. package/dist/components/post-togglebutton2.js +4 -3
  197. package/dist/components/post-tooltip-trigger.d.ts +11 -0
  198. package/dist/components/post-tooltip-trigger.js +6 -0
  199. package/dist/components/post-tooltip-trigger2.js +4705 -0
  200. package/dist/components/post-tooltip2.js +34 -4960
  201. package/dist/components/slide.js +9 -9
  202. package/dist/docs.json +567 -252
  203. package/dist/esm/breakpoints-7812702e.js +56 -0
  204. package/dist/esm/check-non-empty-258a56b3.js +13 -0
  205. package/dist/esm/check-one-of-0bee20f5.js +11 -0
  206. package/dist/esm/check-type-37d5d307.js +19 -0
  207. package/dist/esm/check-url-17962bc8.js +17 -0
  208. package/dist/esm/event-guard-538ee077.js +45 -0
  209. package/dist/esm/fade-1f3cacf4.js +11 -0
  210. package/dist/esm/get-root-1b1af46f.js +15 -0
  211. package/dist/esm/index-8f8fe5b0.js +32 -0
  212. package/dist/esm/{index-fb8d6be7.js → index-f4d19816.js} +17 -10
  213. package/dist/esm/index.browser-ff103197.js +14 -0
  214. package/dist/esm/index.js +33 -30
  215. package/dist/esm/loader.js +3 -3
  216. package/dist/esm/long-press-event-04d24397.js +264 -0
  217. package/dist/esm/package-d9237b44.js +3 -0
  218. package/dist/esm/{post-accordion-ee54a3ef.js → post-accordion-fdcf7205.js} +11 -12
  219. package/dist/esm/post-accordion-item-e11e3804.js +62 -0
  220. package/dist/esm/post-accordion-item.entry.js +10 -7
  221. package/dist/esm/post-accordion.entry.js +6 -4
  222. package/dist/esm/{post-avatar-5572fa73.js → post-avatar-d360c6d2.js} +10 -13
  223. package/dist/esm/post-avatar.entry.js +5 -4
  224. package/dist/esm/post-back-to-top-85796c8b.js +94 -0
  225. package/dist/esm/post-back-to-top.entry.js +7 -6
  226. package/dist/esm/post-banner-a3090f67.js +90 -0
  227. package/dist/esm/post-banner.entry.js +11 -9
  228. package/dist/esm/post-breadcrumb-item_2.entry.js +8 -7
  229. package/dist/esm/post-breadcrumbs-15ec5a26.js +118 -0
  230. package/dist/esm/post-breadcrumbs.entry.js +5 -0
  231. package/dist/esm/post-card-control-6142534e.js +267 -0
  232. package/dist/esm/post-card-control.entry.js +6 -5
  233. package/dist/esm/post-closebutton_15.entry.js +13 -10
  234. package/dist/esm/{post-collapsible-trigger-1c7833f8.js → post-collapsible-trigger-68306358.js} +59 -60
  235. package/dist/esm/post-collapsible_2.entry.js +11 -10
  236. package/dist/esm/post-components.js +3 -3
  237. package/dist/esm/{post-footer-b18875e7.js → post-footer-d2a3270e.js} +10 -56
  238. package/dist/esm/post-footer.entry.js +4 -3
  239. package/dist/esm/post-linkarea-64998c67.js +28 -0
  240. package/dist/esm/post-linkarea.entry.js +3 -0
  241. package/dist/esm/{post-menu-item-2906384b.js → post-menu-item-95a0a647.js} +11 -17
  242. package/dist/esm/post-popover-c5f81087.js +133 -0
  243. package/dist/esm/post-popover.entry.js +4 -4
  244. package/dist/esm/{post-rating-95cbdbb8.js → post-rating-7bfedafb.js} +4 -4
  245. package/dist/esm/post-rating.entry.js +3 -3
  246. package/dist/esm/post-tab-header-08033da4.js +32 -0
  247. package/dist/esm/post-tab-header.entry.js +6 -4
  248. package/dist/esm/{post-tab-panel-cafd9e04.js → post-tab-panel-be701793.js} +5 -4
  249. package/dist/esm/post-tab-panel.entry.js +4 -3
  250. package/dist/esm/{post-tabs-beef8eae.js → post-tabs-c69e2842.js} +13 -15
  251. package/dist/esm/post-tabs.entry.js +5 -4
  252. package/dist/esm/post-tag-ebac7f3e.js +45 -0
  253. package/dist/esm/post-tag.entry.js +3 -3
  254. package/dist/esm/post-togglebutton-706e3af0.js +4478 -0
  255. package/dist/esm/post-tooltip-9a195d47.js +71 -0
  256. package/dist/esm/{post-tooltip-b298039a.js → post-tooltip-trigger-7d6f234b.js} +143 -456
  257. package/dist/esm/post-tooltip-trigger.entry.js +5 -0
  258. package/dist/esm/post-tooltip.entry.js +5 -9
  259. package/dist/esm/{slide-3422b8a3.js → slide-cd2850ee.js} +9 -9
  260. package/dist/post-components/index.esm.js +1 -1
  261. package/dist/post-components/p-034715ec.js +1 -0
  262. package/dist/post-components/p-0717fe4c.js +1 -0
  263. package/dist/post-components/p-0889c759.js +1 -0
  264. package/dist/post-components/p-0c03547b.js +1 -0
  265. package/dist/post-components/p-0de8d05f.js +1 -0
  266. package/dist/post-components/p-1373a79b.entry.js +1 -0
  267. package/dist/post-components/{p-4f9746f6.js → p-17dc4170.js} +2 -9
  268. package/dist/post-components/p-181c73d5.js +1 -0
  269. package/dist/post-components/p-1a21fd8d.js +1 -0
  270. package/dist/post-components/p-1ab3eba4.entry.js +1 -0
  271. package/dist/post-components/p-2d6c0670.js +1 -0
  272. package/dist/post-components/p-2dc0a2d0.js +1 -0
  273. package/dist/post-components/p-35ad2e11.entry.js +1 -0
  274. package/dist/post-components/p-368c473a.js +1 -0
  275. package/dist/post-components/p-38f778a7.entry.js +1 -0
  276. package/dist/post-components/p-39a8df3c.entry.js +1 -0
  277. package/dist/post-components/p-3c7f6003.js +1 -0
  278. package/dist/post-components/p-474a41bc.entry.js +1 -0
  279. package/dist/post-components/p-64e3de38.js +1 -0
  280. package/dist/post-components/p-69bc8eaf.entry.js +1 -0
  281. package/dist/post-components/p-6b31a76a.js +1 -0
  282. package/dist/post-components/p-722ffaae.js +1 -0
  283. package/dist/post-components/p-72310bf0.entry.js +1 -0
  284. package/dist/post-components/p-7709c14a.js +1 -0
  285. package/dist/post-components/p-804b61b7.entry.js +1 -0
  286. package/dist/post-components/p-85fdc2d3.js +1 -0
  287. package/dist/post-components/p-89247caa.js +1 -0
  288. package/dist/post-components/p-89dc67c7.entry.js +1 -0
  289. package/dist/post-components/p-8db32dab.js +8 -0
  290. package/dist/post-components/p-8f7f5200.entry.js +1 -0
  291. package/dist/post-components/p-964f9581.js +1 -0
  292. package/dist/post-components/p-9b052461.js +1 -0
  293. package/dist/post-components/{p-c0ae9886.js → p-9e461613.js} +2 -2
  294. package/dist/post-components/p-a52b2d34.js +1 -0
  295. package/dist/post-components/p-ab566526.js +1 -0
  296. package/dist/post-components/p-b648e537.entry.js +1 -0
  297. package/dist/post-components/p-bc33a6d9.js +1 -0
  298. package/dist/post-components/p-bcfdbd0b.entry.js +1 -0
  299. package/dist/post-components/p-beb67979.js +1 -0
  300. package/dist/post-components/p-c41868b1.js +1 -0
  301. package/dist/post-components/p-c65f32b0.js +1 -0
  302. package/dist/post-components/p-c71700a7.js +1 -0
  303. package/dist/post-components/p-cb027003.js +1 -0
  304. package/dist/post-components/p-cc5b1437.js +1 -0
  305. package/dist/post-components/p-ceda889e.entry.js +1 -0
  306. package/dist/post-components/p-d45df336.js +1 -0
  307. package/dist/post-components/p-de4d4274.js +1 -0
  308. package/dist/post-components/p-deb9efcf.entry.js +1 -0
  309. package/dist/post-components/p-e585c6fe.js +1 -0
  310. package/dist/post-components/p-e9f1cc46.entry.js +1 -0
  311. package/dist/post-components/p-ee4e776d.entry.js +1 -0
  312. package/dist/post-components/p-ee7c3bcc.entry.js +1 -0
  313. package/dist/post-components/p-f56482fa.entry.js +1 -0
  314. package/dist/post-components/p-f8c652ce.entry.js +1 -0
  315. package/dist/post-components/post-components.esm.js +1 -1
  316. package/dist/types/animations/collapse.d.ts +2 -2
  317. package/dist/types/animations/fade.d.ts +2 -2
  318. package/dist/types/animations/slide.d.ts +2 -2
  319. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +1 -1
  320. package/dist/types/components/post-avatar/post-avatar.d.ts +1 -1
  321. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +4 -2
  322. package/dist/types/components/post-banner/post-banner.d.ts +5 -5
  323. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +4 -0
  324. package/dist/types/components/{post-breadcrumb/post-breadcrumb.d.ts → post-breadcrumbs/post-breadcrumbs.d.ts} +4 -4
  325. package/dist/types/components/post-card-control/post-card-control.d.ts +3 -3
  326. package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +9 -14
  327. package/dist/types/components/post-footer/post-footer.d.ts +2 -2
  328. package/dist/types/components/post-header/post-header.d.ts +38 -10
  329. package/dist/types/components/post-icon/post-icon.d.ts +11 -7
  330. package/dist/types/components/post-language-option/post-language-option.d.ts +9 -5
  331. package/dist/types/components/post-language-switch/post-language-switch.d.ts +16 -8
  332. package/dist/types/components/post-language-switch/switch-variants.d.ts +1 -1
  333. package/dist/types/components/post-linkarea/post-linkarea.d.ts +5 -0
  334. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +36 -9
  335. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +37 -13
  336. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +9 -1
  337. package/dist/types/components/post-menu/post-menu.d.ts +4 -3
  338. package/dist/types/components/post-menu-item/post-menu-item.d.ts +0 -1
  339. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +4 -3
  340. package/dist/types/components/post-popover/post-popover.d.ts +6 -4
  341. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +40 -14
  342. package/dist/types/components/post-tab-header/post-tab-header.d.ts +1 -1
  343. package/dist/types/components/post-tabs/post-tabs.d.ts +1 -1
  344. package/dist/types/components/post-tag/post-tag.d.ts +1 -1
  345. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +1 -1
  346. package/dist/types/components/post-tooltip/post-tooltip.d.ts +21 -34
  347. package/dist/types/components/post-tooltip-trigger/post-tooltip-trigger.d.ts +46 -0
  348. package/dist/types/components.d.ts +181 -94
  349. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/.config/bindings.angular.d.ts +2 -0
  350. package/dist/types/index.d.ts +5 -3
  351. package/dist/types/popover-fn.d.ts +11 -0
  352. package/dist/types/utils/attribute-observer.d.ts +1 -1
  353. package/dist/types/utils/breakpoints.d.ts +1 -0
  354. package/dist/types/utils/component-on-ready.d.ts +1 -1
  355. package/dist/types/utils/environment.d.ts +2 -0
  356. package/dist/types/utils/event-guard.d.ts +4 -0
  357. package/dist/types/utils/get-focusable-children.d.ts +1 -0
  358. package/dist/types/utils/get-root.d.ts +5 -1
  359. package/dist/types/utils/index.d.ts +5 -0
  360. package/dist/types/utils/property-checkers/check-non-empty.d.ts +3 -1
  361. package/dist/types/utils/property-checkers/check-one-of.d.ts +3 -1
  362. package/dist/types/utils/property-checkers/check-pattern.d.ts +3 -1
  363. package/dist/types/utils/property-checkers/check-type.d.ts +3 -1
  364. package/dist/types/utils/property-checkers/check-url.d.ts +3 -1
  365. package/dist/types/utils/property-checkers/index.d.ts +12 -4
  366. package/dist/types/utils/sass-export.d.ts +5 -1
  367. package/loaders/breakpoints.js +56 -0
  368. package/loaders/check-non-empty.js +6 -2
  369. package/loaders/check-one-of.js +8 -3
  370. package/loaders/check-type.js +11 -6
  371. package/loaders/event-guard.js +45 -0
  372. package/loaders/fade.js +6 -2
  373. package/loaders/get-focusable-children.js +35 -0
  374. package/loaders/get-root.js +7 -1
  375. package/loaders/index.browser.js +14 -0
  376. package/loaders/index.d.ts +6 -2
  377. package/loaders/index.js +8 -5
  378. package/loaders/index2.js +25 -12
  379. package/loaders/long-press-event.js +264 -0
  380. package/loaders/package.js +1 -1
  381. package/loaders/post-accordion-item2.js +15 -14
  382. package/loaders/post-accordion.js +8 -9
  383. package/loaders/post-avatar.js +8 -11
  384. package/loaders/post-back-to-top.js +41 -20
  385. package/loaders/post-banner.js +16 -14
  386. package/loaders/post-breadcrumb-item2.js +9 -9
  387. package/loaders/post-breadcrumbs.d.ts +11 -0
  388. package/loaders/post-breadcrumbs.js +180 -0
  389. package/loaders/post-card-control.js +16 -19
  390. package/loaders/post-closebutton.js +7 -2
  391. package/loaders/post-collapsible-trigger2.js +46 -48
  392. package/loaders/post-collapsible2.js +14 -11
  393. package/loaders/post-footer.js +8 -54
  394. package/loaders/post-header.js +174 -51
  395. package/loaders/post-icon2.js +73 -30
  396. package/loaders/post-language-option.js +22 -13
  397. package/loaders/post-language-switch.js +45 -46
  398. package/loaders/{post-breadcrumb.d.ts → post-linkarea.d.ts} +4 -4
  399. package/loaders/post-linkarea.js +46 -0
  400. package/loaders/post-list-item.js +2 -1
  401. package/loaders/post-list.js +5 -4
  402. package/loaders/post-logo.js +4 -3
  403. package/loaders/post-mainnavigation.js +150 -15
  404. package/loaders/post-megadropdown-trigger.js +43 -13
  405. package/loaders/post-megadropdown.js +136 -39
  406. package/loaders/post-menu-item2.js +2 -8
  407. package/loaders/post-menu-trigger2.js +17 -10
  408. package/loaders/post-menu2.js +43 -54
  409. package/loaders/post-popover.js +46 -15
  410. package/loaders/post-popovercontainer2.js +921 -111
  411. package/loaders/post-rating.js +2 -2
  412. package/loaders/post-tab-header.js +8 -6
  413. package/loaders/post-tab-panel.js +4 -3
  414. package/loaders/post-tabs.js +10 -12
  415. package/loaders/post-tag.js +2 -2
  416. package/loaders/post-togglebutton.js +4 -3
  417. package/loaders/post-tooltip-trigger.d.ts +11 -0
  418. package/loaders/post-tooltip-trigger.js +4708 -0
  419. package/loaders/post-tooltip.js +34 -4960
  420. package/loaders/slide.js +9 -9
  421. package/package.json +41 -32
  422. package/dist/cjs/attribute-observer-10f08c04.js +0 -27
  423. package/dist/cjs/check-non-empty-eeaa8f77.js +0 -11
  424. package/dist/cjs/check-one-of-f4f5d0c0.js +0 -8
  425. package/dist/cjs/check-type-64af82a9.js +0 -16
  426. package/dist/cjs/check-url-3ffdd2fb.js +0 -14
  427. package/dist/cjs/debounce-1151afe3.js +0 -12
  428. package/dist/cjs/fade-35a3633a.js +0 -10
  429. package/dist/cjs/get-root-7a3498ef.js +0 -11
  430. package/dist/cjs/index-5d4e0aed.js +0 -29
  431. package/dist/cjs/post-accordion-item-ecc6749f.js +0 -63
  432. package/dist/cjs/post-back-to-top-60762f8e.js +0 -75
  433. package/dist/cjs/post-banner-9662f22c.js +0 -90
  434. package/dist/cjs/post-breadcrumb-b40732fc.js +0 -111
  435. package/dist/cjs/post-breadcrumb.cjs.entry.js +0 -13
  436. package/dist/cjs/post-card-control-039c9a4b.js +0 -272
  437. package/dist/cjs/post-popover-d0ce9dc6.js +0 -104
  438. package/dist/cjs/post-tab-header-4b6d8d54.js +0 -32
  439. package/dist/cjs/post-tag-ddaaaedc.js +0 -47
  440. package/dist/cjs/post-togglebutton-0984a694.js +0 -3239
  441. package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +0 -3
  442. package/dist/collection/components/post-menu-item/post-menu-item.css +0 -1
  443. package/dist/components/attribute-observer.js +0 -25
  444. package/dist/components/debounce.js +0 -10
  445. package/dist/components/post-breadcrumb.js +0 -6
  446. package/dist/components/post-breadcrumb2.js +0 -168
  447. package/dist/esm/attribute-observer-37fa950a.js +0 -25
  448. package/dist/esm/check-non-empty-58bd6b17.js +0 -9
  449. package/dist/esm/check-one-of-6b3ef8eb.js +0 -6
  450. package/dist/esm/check-type-8828dbe4.js +0 -14
  451. package/dist/esm/check-url-a974431e.js +0 -12
  452. package/dist/esm/debounce-abe98cc2.js +0 -10
  453. package/dist/esm/fade-7fd71785.js +0 -7
  454. package/dist/esm/get-root-7af2e0d1.js +0 -9
  455. package/dist/esm/index-b49c9904.js +0 -24
  456. package/dist/esm/package-4d81f3c2.js +0 -3
  457. package/dist/esm/post-accordion-item-e10452dc.js +0 -61
  458. package/dist/esm/post-back-to-top-1d823c43.js +0 -73
  459. package/dist/esm/post-banner-78480475.js +0 -88
  460. package/dist/esm/post-breadcrumb-aaa77f74.js +0 -109
  461. package/dist/esm/post-breadcrumb.entry.js +0 -5
  462. package/dist/esm/post-card-control-862aa961.js +0 -270
  463. package/dist/esm/post-popover-2432bb3f.js +0 -102
  464. package/dist/esm/post-tab-header-dfea00ea.js +0 -30
  465. package/dist/esm/post-tag-a77e7af6.js +0 -45
  466. package/dist/esm/post-togglebutton-395bf3f0.js +0 -3223
  467. package/dist/post-components/p-0711f76d.entry.js +0 -1
  468. package/dist/post-components/p-095a06f6.entry.js +0 -1
  469. package/dist/post-components/p-0b5a5f32.js +0 -1
  470. package/dist/post-components/p-135fa60f.js +0 -1
  471. package/dist/post-components/p-18e38d8a.js +0 -1
  472. package/dist/post-components/p-2737eaf5.js +0 -1
  473. package/dist/post-components/p-2e1ec074.entry.js +0 -1
  474. package/dist/post-components/p-4202b433.entry.js +0 -1
  475. package/dist/post-components/p-45773f59.js +0 -1
  476. package/dist/post-components/p-4953de7e.js +0 -1
  477. package/dist/post-components/p-4a3f67ab.js +0 -1
  478. package/dist/post-components/p-4f67c5f5.entry.js +0 -1
  479. package/dist/post-components/p-5075c672.entry.js +0 -1
  480. package/dist/post-components/p-515e0f96.js +0 -1
  481. package/dist/post-components/p-5467b223.js +0 -1
  482. package/dist/post-components/p-611b3c41.js +0 -1
  483. package/dist/post-components/p-67036798.entry.js +0 -1
  484. package/dist/post-components/p-6adeaa6c.js +0 -1
  485. package/dist/post-components/p-6d953fb2.js +0 -1
  486. package/dist/post-components/p-6edb0ac5.js +0 -1
  487. package/dist/post-components/p-6f8f39ca.js +0 -1
  488. package/dist/post-components/p-7503a623.js +0 -1
  489. package/dist/post-components/p-761b24c7.entry.js +0 -1
  490. package/dist/post-components/p-77c4c1d2.js +0 -1
  491. package/dist/post-components/p-7cf0c2ad.js +0 -1
  492. package/dist/post-components/p-856c14d6.entry.js +0 -1
  493. package/dist/post-components/p-866bf50a.entry.js +0 -1
  494. package/dist/post-components/p-8d621781.js +0 -1
  495. package/dist/post-components/p-8fe2d72c.entry.js +0 -1
  496. package/dist/post-components/p-9ad5088f.entry.js +0 -1
  497. package/dist/post-components/p-a1d2b90e.js +0 -1
  498. package/dist/post-components/p-a521419d.entry.js +0 -1
  499. package/dist/post-components/p-aa538648.js +0 -1
  500. package/dist/post-components/p-afdbee2f.js +0 -1
  501. package/dist/post-components/p-b02817f2.entry.js +0 -1
  502. package/dist/post-components/p-b095519d.js +0 -1
  503. package/dist/post-components/p-b157dcba.entry.js +0 -1
  504. package/dist/post-components/p-b22656b1.js +0 -1
  505. package/dist/post-components/p-bdbd11cb.js +0 -1
  506. package/dist/post-components/p-c537e196.entry.js +0 -1
  507. package/dist/post-components/p-d4f93f2b.js +0 -1
  508. package/dist/post-components/p-dca4246a.entry.js +0 -1
  509. package/dist/post-components/p-f319b026.js +0 -1
  510. package/dist/post-components/p-f4b7b379.js +0 -1
  511. package/dist/post-components/p-fac66087.entry.js +0 -1
  512. package/dist/post-components/p-fc91cbc2.js +0 -1
  513. package/dist/types/utils/is-focusable.d.ts +0 -1
  514. package/loaders/attribute-observer.js +0 -25
  515. package/loaders/debounce.js +0 -10
  516. package/loaders/post-breadcrumb.js +0 -171
@@ -1,24 +1,52 @@
1
- type DEVICE_SIZE = 'mobile' | 'tablet' | 'desktop' | null;
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export type DEVICE_SIZE = 'mobile' | 'tablet' | 'desktop' | null;
3
+ /**
4
+ * @slot post-logo - Should be used together with the `<post-logo>` component.
5
+ * @slot meta-navigation - Holds an `<ul>` with meta navigation links.
6
+ * @slot post-togglebutton - Holds the mobile menu toggler.
7
+ * @slot post-language-switch - Should be used with the `<post-language-switch>` component.
8
+ * @slot title - Holds the application title.
9
+ * @slot default - Custom controls or content, right aligned in the local header.
10
+ * @slot post-mainnavigation - Has a default slot because it's only meant to be used in the `<post-header>`.
11
+ */
2
12
  export declare class PostHeader {
3
- private scrollParent;
13
+ private firstFocusableEl;
14
+ private lastFocusableEl;
4
15
  private mobileMenu;
5
16
  private mobileMenuAnimation;
6
- private throttledScroll;
7
- private throttledResize;
8
- componentWillRender(): void;
17
+ private readonly throttledResize;
18
+ private scrollParentResizeObserver;
19
+ private localHeaderResizeObserver;
20
+ get scrollParent(): HTMLElement;
9
21
  host: HTMLPostHeaderElement;
10
22
  device: DEVICE_SIZE;
11
23
  mobileMenuExtended: boolean;
12
- frozeBody(isMobileMenuExtended: boolean): void;
24
+ megadropdownOpen: boolean;
25
+ lockBody(newValue: boolean | string, _oldValue: boolean | string, propName: string): void;
26
+ /**
27
+ * An event emitted when the device has changed
28
+ */
29
+ postUpdateDevice: EventEmitter<DEVICE_SIZE>;
30
+ constructor();
31
+ connectedCallback(): void;
32
+ componentWillRender(): void;
33
+ componentDidRender(): void;
34
+ disconnectedCallback(): void;
13
35
  /**
14
36
  * Toggles the mobile navigation.
15
37
  */
16
- toggleMobileMenu(): Promise<void>;
38
+ toggleMobileMenu(force?: boolean): Promise<void>;
39
+ private megedropdownStateHandler;
40
+ private getFocusableElements;
41
+ private keyboardHandler;
17
42
  private handleScrollEvent;
18
- private getScrollParent;
19
- private isScrollable;
43
+ private updateLocalHeaderHeight;
44
+ private updateScrollParentHeight;
45
+ private handleLinkClick;
20
46
  private handleResize;
47
+ private handleScrollParentResize;
48
+ private handleLocalHeaderResize;
21
49
  private switchLanguageSwitchMode;
50
+ private renderNavigation;
22
51
  render(): any;
23
52
  }
24
- export {};
@@ -14,33 +14,37 @@ export declare class PostIcon {
14
14
  * The base path, where the icons are located (must be a public url).<br/>Leave this field empty to use the default cdn url.
15
15
  */
16
16
  readonly base?: string | null;
17
- validateBase(newValue?: string): void;
17
+ validateBase(): void;
18
18
  /**
19
19
  * When set to `true`, the icon will be flipped horizontally.
20
20
  */
21
21
  readonly flipH?: boolean;
22
- validateFlipH(newValue?: boolean): void;
22
+ validateFlipH(): void;
23
23
  /**
24
24
  * When set to `true`, the icon will be flipped vertically.
25
25
  */
26
26
  readonly flipV?: boolean;
27
- validateFlipV(newValue?: boolean): void;
27
+ validateFlipV(): void;
28
28
  /**
29
29
  * The name/id of the icon (e.g. 1000, 1001, ...).
30
30
  */
31
31
  readonly name: string;
32
- validateName(newValue?: string): void;
32
+ validateName(): void;
33
33
  /**
34
34
  * The number of degree for the css rotate transformation.
35
35
  */
36
36
  readonly rotate?: number | null;
37
- validateRotate(newValue?: number): void;
37
+ validateRotate(): void;
38
38
  /**
39
39
  * The number for the css scale transformation.
40
40
  */
41
41
  readonly scale?: number | null;
42
- validateScale(newValue?: number): void;
43
- private getPath;
42
+ validateScale(): void;
43
+ private getUrl;
44
+ private getUrlDefinition;
45
+ private getUrlObject;
46
+ private definesDomain;
47
+ private definesSlug;
44
48
  private getStyles;
45
49
  componentDidLoad(): void;
46
50
  render(): any;
@@ -9,32 +9,36 @@ export declare class PostLanguageOption {
9
9
  * The ISO 639 language code, formatted according to [RFC 5646 (also known as BCP 47)](https://datatracker.ietf.org/doc/html/rfc5646). For example, "de".
10
10
  */
11
11
  code: string;
12
- validateCode(value?: string): void;
12
+ validateCode(): void;
13
13
  /**
14
14
  * If set to `true`, the language option is considered the current language for the page.
15
15
  */
16
16
  active: boolean;
17
- validateActiveProp(value?: boolean): void;
17
+ validateActiveProp(): void;
18
18
  /**
19
- * The variant of the post-language-switch parent (dynamically set by the parent)
19
+ * To communicate the variant prop from the parent (post-language-switch) component to the child (post-language-option) component. See parent docs for a description about the property itself.
20
20
  */
21
21
  variant?: SwitchVariant | null;
22
22
  /**
23
23
  * The full name of the language. For example, "Deutsch".
24
24
  */
25
25
  name: string;
26
- validateName(value?: string): void;
26
+ validateName(): void;
27
27
  /**
28
28
  * The URL used for the href attribute of the internal anchor.
29
29
  * This field is optional; if not provided, a button will be used internally instead of an anchor.
30
30
  */
31
31
  url: string;
32
- validateUrl(value?: string): void;
32
+ validateUrl(): void;
33
33
  componentDidLoad(): void;
34
34
  /**
35
35
  * An event emitted when the language option is clicked. The payload is the ISO 639 code of the language.
36
36
  */
37
37
  postChange: EventEmitter<string>;
38
+ /**
39
+ * An event emitted when the language option is initially active. The payload is the ISO 639 code of the language.
40
+ */
41
+ postLanguageOptionInitiallyActive: EventEmitter<string>;
38
42
  /**
39
43
  * Selects the language option programmatically.
40
44
  */
@@ -1,30 +1,38 @@
1
1
  import { SwitchVariant } from './switch-variants';
2
2
  export declare class PostLanguageSwitch {
3
+ private readonly menuId;
4
+ private get languageOptions();
3
5
  host: HTMLPostLanguageSwitchElement;
4
6
  /**
5
7
  * A title for the list of language options
6
8
  */
7
9
  caption: string;
8
- validateCaption(value?: string): void;
10
+ validateCaption(): void;
9
11
  /**
10
12
  * A descriptive text for the list of language options
11
13
  */
12
14
  description: string;
13
- validateDescription(value?: string): void;
15
+ validateDescription(): void;
14
16
  /**
15
- * Variant that determines the rendering of the language switch either as a list (used on mobile in the header) or a dropdown (used on desktop in the header)
17
+ * Whether the component is rendered as a list or a menu
16
18
  */
17
19
  variant: SwitchVariant;
18
- validateVariant(value?: "list" | "dropdown"): void;
20
+ validateVariant(): void;
19
21
  /**
20
22
  * The active language of the language switch
21
23
  */
22
24
  activeLang: string;
23
- connectedCallback(): void;
24
- private updateChildrenVariant;
25
- componentShouldUpdate(): void;
26
25
  componentDidLoad(): void;
27
- private menuId;
26
+ /**
27
+ * Listen for the postChange event and guard it to run only for events originating from a <post-language-option> element.
28
+ */
29
+ handlePostChange(event: CustomEvent<string>): void;
30
+ /**
31
+ * Handles cases where the language switch is being rendered before options are available
32
+ * @param event Initially emitted by <post-langauge-option>
33
+ */
34
+ handleInitiallyActive(event: CustomEvent<string>): void;
35
+ private updateChildrenVariant;
28
36
  private renderList;
29
37
  private renderDropdown;
30
38
  render(): any;
@@ -1,2 +1,2 @@
1
- export declare const SWITCH_VARIANTS: readonly ["list", "dropdown"];
1
+ export declare const SWITCH_VARIANTS: readonly ["list", "menu"];
2
2
  export type SwitchVariant = (typeof SWITCH_VARIANTS)[number];
@@ -0,0 +1,5 @@
1
+ export declare class PostLinkarea {
2
+ host: HTMLPostLinkareaElement;
3
+ private dispatchClick;
4
+ render(): any;
5
+ }
@@ -1,19 +1,46 @@
1
- import { EventEmitter } from '../../stencil-public-runtime';
2
1
  export declare class PostMainnavigation {
3
- private header;
4
- host: HTMLPostMainnavigationElement;
2
+ private navbar;
3
+ private scrollRepeatInterval;
4
+ private navbarDisableTimer;
5
+ private resizeObserver;
6
+ private mutationObserver;
7
+ canScrollLeft: boolean;
8
+ canScrollRight: boolean;
9
+ constructor();
10
+ componentDidLoad(): void;
5
11
  /**
6
- * Gets emitted when a user closes the main navigation on mobile
12
+ * Disconnects observers and remove event listeners when the main navigation is removed from the DOM.
7
13
  */
8
- postToggle: EventEmitter;
14
+ disconnectedCallback(): void;
9
15
  /**
10
- * Retrieves a reference to the closest 'post-header' element when the main navigation is added to the DOM.
16
+ * Stops the repeated scrolling when the mouse button is released.
11
17
  */
12
- connectedCallback(): void;
18
+ stopScrolling(): void;
19
+ private handleMutations;
20
+ private get navigationItems();
13
21
  /**
14
- * Cleans up references and disconnects the MutationObserver when the main navigation is removed from the DOM.
22
+ * Hack to fix the layout shift due to bold text on active elements
15
23
  */
16
- disconnectedCallback(): void;
24
+ private fixLayoutShift;
17
25
  private handleBackButtonClick;
26
+ /**
27
+ * Returns whether scrolling is enabled in either the left or right direction.
28
+ */
29
+ private get canScroll();
30
+ /**
31
+ * Checks if scrolling is possible in either direction (left or right) and updates the state accordingly.
32
+ */
33
+ private checkScrollability;
34
+ /**
35
+ * Handles the scrolling behavior when a user clicks on the left or right scroll buttons.
36
+ */
37
+ private handleScrollButtonClick;
38
+ private scrollRight;
39
+ private scrollLeft;
40
+ /**
41
+ * Temporarily disables interactions with the navbar during scrolling to prevent accidental clicks.
42
+ * Re-enables interactions after a brief delay to avoid blocking the user entirely.
43
+ */
44
+ private temporarilyDisableNavbar;
18
45
  render(): any;
19
46
  }
@@ -1,35 +1,59 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  export declare class PostMegadropdown {
3
- private popoverRef;
3
+ private firstFocusableEl;
4
+ private lastFocusableEl;
5
+ device: string;
4
6
  host: HTMLPostMegadropdownElement;
7
+ /** Tracks the currently active dropdown instance. */
8
+ private static activeDropdown;
9
+ private breakpointChange;
5
10
  /**
6
11
  * Holds the current visibility state of the dropdown.
7
12
  * This state is internally managed to track whether the dropdown is open (`true`) or closed (`false`),
8
13
  * and updates automatically when the dropdown is toggled.
9
14
  */
10
15
  isVisible: boolean;
16
+ /** Holds the current animation class. */
11
17
  animationClass: string | null;
12
18
  /**
13
19
  * Emits when the dropdown is shown or hidden.
14
- * The event payload is a boolean: `true` when the dropdown was opened, `false` when it was closed.
20
+ * The event payload is an object.
21
+ * `isVisible` is true when the dropdown gets opened and false when it gets closed
22
+ * `focusParent` determines whether after the closing of the mega dropdown, the focus should go back to the trigger parent or naturally go to the next focusable element in the page
15
23
  **/
16
- postToggleMegadropdown: EventEmitter<boolean>;
17
- componentDidLoad(): void;
24
+ postToggleMegadropdown: EventEmitter<{
25
+ isVisible: boolean;
26
+ focusParent?: boolean;
27
+ }>;
28
+ disconnectedCallback(): void;
29
+ componentWillRender(): void;
18
30
  /**
19
31
  * Toggles the dropdown visibility based on its current state.
20
32
  */
21
- toggle(target: HTMLElement): Promise<void>;
33
+ toggle(): Promise<void>;
22
34
  /**
23
- * Displays the popover dropdown
24
- *
25
- * @param target - The HTML element relative to which the popover dropdown should be displayed.
35
+ * Displays the dropdown.
26
36
  */
27
- show(target: HTMLElement): Promise<void>;
37
+ show(): Promise<void>;
28
38
  /**
29
- * Hides the popover dropdown
39
+ * Hides the dropdown with an animation.
30
40
  */
31
- private hide;
32
- private handleBackButtonClick;
33
- private handleCloseButtonClick;
41
+ hide(focusParent?: boolean, forceClose?: boolean): Promise<void>;
42
+ /**
43
+ * Sets focus to the first focusable element within the component.
44
+ */
45
+ focusFirst(): Promise<void>;
46
+ connectedCallback(): void;
47
+ /**
48
+ * Forces the dropdown to close without animation.
49
+ */
50
+ private forceClose;
51
+ private handleAnimationEnd;
52
+ private handleClickOutside;
53
+ private addListeners;
54
+ private removeListeners;
55
+ private getFocusableElements;
56
+ private keyboardHandler;
57
+ private handleTabOutside;
34
58
  render(): any;
35
59
  }
@@ -13,13 +13,21 @@ export declare class PostMegadropdownTrigger {
13
13
  * Used to manage click and key events for mega dropdown control.
14
14
  */
15
15
  private slottedButton;
16
+ /**
17
+ * Tracks whether this trigger's dropdown was expanded before a state change.
18
+ * Used to determine if this trigger should handle focus when its dropdown closes.
19
+ */
20
+ private wasExpanded;
16
21
  /**
17
22
  * Watch for changes to the `for` property to validate its type and ensure it is a string.
18
23
  * @param forValue - The new value of the `for` property.
19
24
  */
20
- validateControlFor(forValue?: string): void;
25
+ validateControlFor(): void;
21
26
  private get megadropdown();
22
27
  private handleToggle;
28
+ private handleKeyDown;
29
+ private handleToggleMegadropdown;
23
30
  componentDidLoad(): void;
31
+ disconnectedCallback(): void;
24
32
  render(): any;
25
33
  }
@@ -6,9 +6,9 @@ export declare class PostMenu {
6
6
  private readonly KEYCODES;
7
7
  host: HTMLPostMenuElement;
8
8
  /**
9
- * Defines the placement of the tooltip according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.
10
- * Tooltips are automatically flipped to the opposite side if there is not enough available space and are shifted
11
- * towards the viewport if they would overlap edge boundaries.
9
+ * Defines the position of the menu relative to its trigger.
10
+ * 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.
11
+ * For supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement).
12
12
  */
13
13
  readonly placement?: Placement;
14
14
  /**
@@ -41,6 +41,7 @@ export declare class PostMenu {
41
41
  */
42
42
  hide(): Promise<void>;
43
43
  private handleKeyDown;
44
+ private handlePostToggle;
44
45
  private handleClick;
45
46
  private controlKeyDownHandler;
46
47
  private getSlottedItems;
@@ -1,4 +1,3 @@
1
1
  export declare class PostMenuItem {
2
- host: HTMLPostMenuItemElement;
3
2
  render(): any;
4
3
  }
@@ -13,15 +13,16 @@ export declare class PostMenuTrigger {
13
13
  * Used to manage click and key events for menu control.
14
14
  */
15
15
  private slottedButton;
16
- private root?;
16
+ private root;
17
17
  /**
18
18
  * Watch for changes to the `for` property to validate its type and ensure it is a string.
19
19
  * @param forValue - The new value of the `for` property.
20
20
  */
21
- validateControlFor(forValue?: string): void;
21
+ validateControlFor(): void;
22
22
  private get menu();
23
23
  private handleToggle;
24
- private handleKeyDown;
24
+ private readonly handleKeyDown;
25
+ connectedCallback(): void;
25
26
  componentDidLoad(): void;
26
27
  render(): any;
27
28
  }
@@ -1,12 +1,13 @@
1
1
  import { Placement } from '@floating-ui/dom';
2
2
  export declare class PostPopover {
3
3
  private popoverRef;
4
- private localBeforeToggleHandler;
4
+ private readonly localBeforeToggleHandler;
5
+ private readonly triggerObserver;
5
6
  host: HTMLPostPopoverElement;
6
7
  /**
7
- * Defines the placement of the popover according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.
8
- * Popoverss are automatically flipped to the opposite side if there is not enough available space and are shifted
9
- * towards the viewport if they would overlap edge boundaries.
8
+ * Defines the position of the popover relative to its trigger.
9
+ * Popovers 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.
10
+ * For supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement).
10
11
  */
11
12
  readonly placement?: Placement;
12
13
  /**
@@ -38,5 +39,6 @@ export declare class PostPopover {
38
39
  toggle(target: HTMLElement, force?: boolean): Promise<void>;
39
40
  private get triggers();
40
41
  private beforeToggleHandler;
42
+ private patchAccessibilityFeatures;
41
43
  render(): any;
42
44
  }
@@ -1,6 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { Placement } from '@floating-ui/dom';
3
- import '@oddbird/popover-polyfill';
4
3
  interface PopoverElement {
5
4
  showPopover: () => void;
6
5
  hidePopover: () => void;
@@ -11,59 +10,86 @@ export type PostPopoverElement = HTMLElement & PopoverElement;
11
10
  * @slot - Default slot for placing content inside the popovercontainer.
12
11
  */
13
12
  export declare class PostPopovercontainer {
13
+ private static readonly STATIC_SIDES;
14
+ private static readonly PROPERTIES_TO_CLEAR;
14
15
  host: HTMLPostPopovercontainerElement;
15
16
  private arrowRef;
16
17
  private eventTarget;
17
18
  private clearAutoUpdate;
18
19
  private toggleTimeoutId;
19
20
  /**
20
- * Fires whenever the popover gets shown or hidden, passing the new state in event.details as a boolean
21
+ * Fires whenever the popovercontainer gets shown or hidden, passing the new state in event.details as a boolean
21
22
  */
22
23
  postToggle: EventEmitter<boolean>;
23
24
  /**
24
- * Defines the placement of the tooltip according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.
25
- * Tooltips are automatically flipped to the opposite side if there is not enough available space and are shifted
25
+ * Defines the placement of the popovercontainer according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.
26
+ * Popovercontainers are automatically flipped to the opposite side if there is not enough available space and are shifted
26
27
  * towards the viewport if they would overlap edge boundaries.
27
28
  */
28
29
  readonly placement?: Placement;
29
30
  /**
30
- * Gap between the edge of the page and the popover
31
+ * Gap between the edge of the page and the popovercontainer
31
32
  */
32
33
  readonly edgeGap?: number;
33
34
  /**
34
- * Wheter or not to display a little pointer arrow
35
+ * Animation style
36
+ */
37
+ readonly animation?: 'pop-in' | null;
38
+ /**
39
+ * Whether or not to display a little pointer arrow
35
40
  */
36
41
  readonly arrow?: boolean;
42
+ /**
43
+ * Whether or not the popovercontainer should close when user clicks outside of it
44
+ */
45
+ manualClose: boolean;
46
+ /**
47
+ * Enables a safespace through which the cursor can be moved without the popover being disabled
48
+ */
49
+ readonly safeSpace?: 'triangle' | 'trapezoid';
50
+ /**
51
+ * Updates cursor position for safe space feature when popover is open.
52
+ * Sets CSS custom properties for dynamic styling of safe area.
53
+ * @param event MouseEvent with cursor position
54
+ */
55
+ private mouseTrackingHandler;
56
+ connectedCallback(): void;
37
57
  componentDidLoad(): void;
38
58
  disconnectedCallback(): void;
39
59
  /**
40
- * Programmatically display the tooltip
41
- * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
60
+ * Programmatically display the popovercontainer
61
+ * @param target An element with [data-popover-target="id"] where the popovercontainer should be shown
42
62
  */
43
63
  show(target: HTMLElement): Promise<void>;
44
64
  /**
45
- * Programmatically hide this tooltip
65
+ * Programmatically hide the popovercontainer
46
66
  */
47
67
  hide(): Promise<void>;
48
68
  /**
49
- * Toggle tooltip display
50
- * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
69
+ * Toggle popovercontainer display
70
+ * @param target An element with [data-popover-target="id"] where the popovercontainer should be shown
51
71
  * @param force Pass true to always show or false to always hide
52
72
  */
53
73
  toggle(target: HTMLElement, force?: boolean): Promise<boolean>;
54
74
  /**
55
- * Start or stop auto updates based on tooltip events.
56
- * Tooltips can be closed or opened with other methods than class members,
75
+ * Start or stop auto updates based on popovercontainer events.
76
+ * Popovercontainers can be closed or opened with other methods than class members,
57
77
  * therefore listening to the toggle event is safer for cleaning up.
58
78
  * @param e ToggleEvent
59
79
  */
60
80
  private handleToggle;
61
81
  /**
62
82
  * Start listening for DOM updates, scroll events etc. that have
63
- * an influence on tooltip positioning
83
+ * an influence on popovercontainer positioning
64
84
  */
65
85
  private startAutoupdates;
86
+ /**
87
+ * Retrieves the dynamic height of the header
88
+ */
89
+ private getHeaderHeight;
66
90
  private calculatePosition;
91
+ private computeMainPosition;
92
+ private updateSafeSpaceBoundaries;
67
93
  render(): any;
68
94
  }
69
95
  export {};
@@ -8,7 +8,7 @@ export declare class PostTabHeader {
8
8
  * The name of the panel controlled by the tab header.
9
9
  */
10
10
  readonly panel: HTMLPostTabPanelElement['name'];
11
- validateFor(newValue: HTMLPostTabPanelElement['name']): void;
11
+ validateFor(): void;
12
12
  componentWillLoad(): void;
13
13
  render(): any;
14
14
  }
@@ -23,7 +23,7 @@ export declare class PostTabs {
23
23
  * An event emitted after the active tab changes, when the fade in transition of its associated panel is finished.
24
24
  * The payload is the name of the newly shown panel.
25
25
  */
26
- postChange: EventEmitter<HTMLPostTabPanelElement['name']>;
26
+ postChange: EventEmitter<string>;
27
27
  componentDidLoad(): void;
28
28
  /**
29
29
  * Shows the panel with the given name and selects its associated tab.
@@ -15,7 +15,7 @@ export declare class PostTag {
15
15
  /**
16
16
  * Defines the icon `name` inside of the component.
17
17
  * <span className="banner banner-sm banner-info">If not set the icon will not show up.</span>
18
- * To learn which icons are available, please visit our <a href="/?path=/docs/5704bdc4-c5b5-45e6-b123-c54d01fce2f1--docs">icon library</a>.
18
+ * To learn which icons are available, please visit our <a href="/?path=/docs/0dcfe3c0-bfc0-4107-b43b-7e9d825b805f--docs">icon library</a>.
19
19
  */
20
20
  readonly icon: null | string;
21
21
  constructor();
@@ -7,7 +7,7 @@ export declare class PostTogglebutton {
7
7
  * If `true`, the button is in the "on" state, otherwise it is in the "off" state.
8
8
  */
9
9
  toggled: boolean;
10
- validateToggled(value?: boolean): void;
10
+ validateToggled(): void;
11
11
  componentWillLoad(): void;
12
12
  private handleClick;
13
13
  private handleKeydown;