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

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 (363) hide show
  1. package/dist/cjs/check-url-3ffdd2fb.js +14 -0
  2. package/dist/cjs/debounce-1151afe3.js +12 -0
  3. package/dist/cjs/{index-e1f32cce.js → index-010dc207.js} +24 -27
  4. package/dist/cjs/{index-824d2b71.js → index-5d4e0aed.js} +2 -12
  5. package/dist/cjs/index.cjs.js +47 -42
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/{package-bc44930e.js → package-8e810a59.js} +1 -1
  8. package/dist/cjs/{post-accordion-c55fef06.js → post-accordion-b9df8522.js} +3 -3
  9. package/dist/cjs/post-accordion-item-ecc6749f.js +63 -0
  10. package/dist/cjs/post-accordion-item.cjs.entry.js +5 -4
  11. package/dist/cjs/post-accordion.cjs.entry.js +3 -3
  12. package/dist/cjs/{post-avatar-10d7b5c0.js → post-avatar-f7236084.js} +2 -2
  13. package/dist/cjs/post-avatar.cjs.entry.js +3 -3
  14. package/dist/cjs/post-back-to-top-60762f8e.js +75 -0
  15. package/dist/cjs/post-back-to-top.cjs.entry.js +15 -0
  16. package/dist/cjs/{post-banner-b286d37f.js → post-banner-9662f22c.js} +6 -6
  17. package/dist/cjs/post-banner.cjs.entry.js +5 -4
  18. package/dist/cjs/post-breadcrumb-b40732fc.js +111 -0
  19. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +17 -0
  20. package/dist/cjs/post-breadcrumb.cjs.entry.js +13 -0
  21. package/dist/cjs/post-card-control-039c9a4b.js +272 -0
  22. package/dist/cjs/post-card-control.cjs.entry.js +3 -3
  23. package/dist/cjs/post-closebutton_15.cjs.entry.js +33 -0
  24. package/dist/cjs/{post-collapsible-trigger-c8b3e767.js → post-collapsible-trigger-143cf84a.js} +6 -14
  25. package/dist/cjs/post-collapsible_2.cjs.entry.js +6 -4
  26. package/dist/cjs/post-components.cjs.js +2 -2
  27. package/dist/cjs/post-footer-5f7fdf96.js +84 -0
  28. package/dist/cjs/post-footer.cjs.entry.js +11 -0
  29. package/dist/cjs/post-menu-item-bb0b0b9e.js +74 -0
  30. package/dist/cjs/{post-popover-91a83e9d.js → post-popover-d0ce9dc6.js} +3 -3
  31. package/dist/cjs/post-popover.cjs.entry.js +3 -3
  32. package/dist/cjs/{post-rating-57fcf949.js → post-rating-1082197c.js} +3 -3
  33. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  34. package/dist/cjs/{post-tab-header-ce56b760.js → post-tab-header-4b6d8d54.js} +3 -3
  35. package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
  36. package/dist/cjs/{post-tab-panel-70e49260.js → post-tab-panel-60f211a5.js} +3 -3
  37. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  38. package/dist/cjs/{post-tabs-39262e55.js → post-tabs-1f797ce4.js} +8 -6
  39. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  40. package/dist/cjs/{post-tag-b6bc5785.js → post-tag-ddaaaedc.js} +3 -3
  41. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  42. package/dist/cjs/{post-megadropdown-trigger-9b9f1036.js → post-togglebutton-0984a694.js} +1789 -1234
  43. package/dist/cjs/{post-tooltip-8be3b2aa.js → post-tooltip-38c839a4.js} +4 -4
  44. package/dist/cjs/post-tooltip.cjs.entry.js +5 -4
  45. package/dist/cjs/slide-5d51abe8.js +28 -0
  46. package/dist/collection/animations/slide.js +23 -0
  47. package/dist/collection/collection-manifest.json +13 -9
  48. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  49. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  50. package/dist/collection/components/post-accordion-item/post-accordion-item.js +22 -7
  51. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -0
  52. package/dist/collection/components/post-back-to-top/post-back-to-top.js +107 -0
  53. package/dist/collection/components/post-banner/post-banner.js +3 -3
  54. package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +3 -0
  55. package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +161 -0
  56. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -1
  57. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +11 -1
  58. package/dist/collection/components/post-card-control/post-card-control.css +1 -1
  59. package/dist/collection/components/post-card-control/post-card-control.js +2 -2
  60. package/dist/collection/components/post-closebutton/post-closebutton.js +1 -1
  61. package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
  62. package/dist/collection/components/post-footer/post-footer.css +1 -0
  63. package/dist/collection/components/post-footer/post-footer.js +75 -0
  64. package/dist/collection/components/post-header/post-header.css +1 -1
  65. package/dist/collection/components/post-header/post-header.js +74 -17
  66. package/dist/collection/components/post-icon/post-icon.js +1 -1
  67. package/dist/collection/components/post-language-option/post-language-option.css +1 -1
  68. package/dist/collection/components/post-language-option/post-language-option.js +25 -1
  69. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -0
  70. package/dist/collection/components/post-language-switch/post-language-switch.js +163 -0
  71. package/dist/collection/components/post-language-switch/switch-variants.js +1 -0
  72. package/dist/collection/components/post-list/post-list.css +1 -1
  73. package/dist/collection/components/post-list/post-list.js +3 -3
  74. package/dist/collection/components/post-list-item/post-list-item.js +1 -1
  75. package/dist/collection/components/post-logo/post-logo.js +1 -1
  76. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  77. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +15 -24
  78. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  79. package/dist/collection/components/post-megadropdown/post-megadropdown.js +82 -68
  80. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  81. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +80 -24
  82. package/dist/collection/components/post-menu/post-menu.js +6 -4
  83. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
  84. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +11 -1
  85. package/dist/collection/components/post-popover/post-popover.js +1 -1
  86. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +2 -2
  87. package/dist/collection/components/post-rating/post-rating.js +1 -1
  88. package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
  89. package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
  90. package/dist/collection/components/post-tabs/post-tabs.js +6 -4
  91. package/dist/collection/components/post-tag/post-tag.js +1 -1
  92. package/dist/collection/components/post-togglebutton/post-togglebutton.css +1 -1
  93. package/dist/collection/components/post-togglebutton/post-togglebutton.js +24 -6
  94. package/dist/collection/components/post-tooltip/post-tooltip.js +1 -1
  95. package/dist/collection/index.js +13 -9
  96. package/dist/collection/utils/breakpoints.js +46 -0
  97. package/dist/components/debounce.js +10 -0
  98. package/dist/components/index.js +13 -9
  99. package/dist/components/index2.js +1 -1
  100. package/dist/components/package.js +1 -1
  101. package/dist/components/post-accordion-item2.js +29 -11
  102. package/dist/components/post-accordion2.js +1 -1
  103. package/dist/components/post-back-to-top.d.ts +11 -0
  104. package/dist/components/post-back-to-top.js +6 -0
  105. package/dist/components/post-back-to-top2.js +100 -0
  106. package/dist/components/post-banner2.js +3 -3
  107. package/dist/components/post-breadcrumb-item2.js +13 -3
  108. package/dist/components/post-breadcrumb.d.ts +11 -0
  109. package/dist/components/post-breadcrumb.js +6 -0
  110. package/dist/components/post-breadcrumb2.js +168 -0
  111. package/dist/components/post-card-control2.js +3 -3
  112. package/dist/components/post-closebutton2.js +1 -1
  113. package/dist/components/post-collapsible-trigger2.js +1 -9
  114. package/dist/components/post-collapsible2.js +2 -2
  115. package/dist/components/post-footer.d.ts +11 -0
  116. package/dist/components/post-footer.js +6 -0
  117. package/dist/components/post-footer2.js +124 -0
  118. package/dist/components/post-header2.js +55 -14
  119. package/dist/components/post-icon2.js +2 -2
  120. package/dist/components/post-language-option2.js +5 -3
  121. package/dist/components/post-language-switch.d.ts +11 -0
  122. package/dist/components/post-language-switch.js +6 -0
  123. package/dist/components/post-language-switch2.js +146 -0
  124. package/dist/components/post-list-item2.js +1 -1
  125. package/dist/components/post-list2.js +4 -4
  126. package/dist/components/post-logo2.js +2 -2
  127. package/dist/components/post-mainnavigation2.js +17 -17
  128. package/dist/components/post-megadropdown-trigger2.js +63 -11
  129. package/dist/components/post-megadropdown2.js +48 -22
  130. package/dist/components/post-menu-item2.js +1 -1
  131. package/dist/components/post-menu-trigger2.js +11 -1
  132. package/dist/components/post-menu2.js +6 -4
  133. package/dist/components/post-popover2.js +1 -1
  134. package/dist/components/post-popovercontainer2.js +2 -2
  135. package/dist/components/post-rating2.js +1 -1
  136. package/dist/components/post-tab-header2.js +1 -1
  137. package/dist/components/post-tab-panel2.js +1 -1
  138. package/dist/components/post-tabs2.js +6 -4
  139. package/dist/components/post-tag2.js +1 -1
  140. package/dist/components/post-togglebutton2.js +23 -5
  141. package/dist/components/post-tooltip2.js +2 -2
  142. package/dist/components/slide.js +25 -0
  143. package/dist/docs.json +565 -123
  144. package/dist/esm/check-url-a974431e.js +12 -0
  145. package/dist/esm/debounce-abe98cc2.js +10 -0
  146. package/dist/esm/{index-f8a00dc0.js → index-b49c9904.js} +1 -11
  147. package/dist/esm/{index-e1b64755.js → index-fb8d6be7.js} +24 -27
  148. package/dist/esm/index.js +25 -24
  149. package/dist/esm/loader.js +3 -3
  150. package/dist/esm/package-4d81f3c2.js +3 -0
  151. package/dist/esm/{post-accordion-7268e29b.js → post-accordion-ee54a3ef.js} +3 -3
  152. package/dist/esm/post-accordion-item-e10452dc.js +61 -0
  153. package/dist/esm/post-accordion-item.entry.js +5 -4
  154. package/dist/esm/post-accordion.entry.js +3 -3
  155. package/dist/esm/{post-avatar-19162f90.js → post-avatar-5572fa73.js} +2 -2
  156. package/dist/esm/post-avatar.entry.js +3 -3
  157. package/dist/esm/post-back-to-top-1d823c43.js +73 -0
  158. package/dist/esm/post-back-to-top.entry.js +7 -0
  159. package/dist/esm/{post-banner-132709ad.js → post-banner-78480475.js} +6 -6
  160. package/dist/esm/post-banner.entry.js +5 -4
  161. package/dist/esm/post-breadcrumb-aaa77f74.js +109 -0
  162. package/dist/esm/post-breadcrumb-item_2.entry.js +8 -0
  163. package/dist/esm/post-breadcrumb.entry.js +5 -0
  164. package/dist/esm/post-card-control-862aa961.js +270 -0
  165. package/dist/esm/post-card-control.entry.js +3 -3
  166. package/dist/esm/post-closebutton_15.entry.js +11 -0
  167. package/dist/esm/{post-collapsible-trigger-43fbbf03.js → post-collapsible-trigger-1c7833f8.js} +5 -13
  168. package/dist/esm/post-collapsible_2.entry.js +6 -4
  169. package/dist/esm/post-components.js +3 -3
  170. package/dist/esm/post-footer-b18875e7.js +82 -0
  171. package/dist/esm/post-footer.entry.js +3 -0
  172. package/dist/esm/post-menu-item-2906384b.js +71 -0
  173. package/dist/esm/{post-popover-abae1f3a.js → post-popover-2432bb3f.js} +3 -3
  174. package/dist/esm/post-popover.entry.js +3 -3
  175. package/dist/esm/{post-rating-b963d4f2.js → post-rating-95cbdbb8.js} +3 -3
  176. package/dist/esm/post-rating.entry.js +3 -3
  177. package/dist/esm/{post-tab-header-c16feb72.js → post-tab-header-dfea00ea.js} +3 -3
  178. package/dist/esm/post-tab-header.entry.js +3 -3
  179. package/dist/esm/{post-tab-panel-cb02df49.js → post-tab-panel-cafd9e04.js} +3 -3
  180. package/dist/esm/post-tab-panel.entry.js +3 -3
  181. package/dist/esm/{post-tabs-81085d7b.js → post-tabs-beef8eae.js} +8 -6
  182. package/dist/esm/post-tabs.entry.js +3 -3
  183. package/dist/esm/{post-tag-103bfff5.js → post-tag-a77e7af6.js} +3 -3
  184. package/dist/esm/post-tag.entry.js +3 -3
  185. package/dist/esm/{post-megadropdown-trigger-813b5140.js → post-togglebutton-395bf3f0.js} +1785 -1235
  186. package/dist/esm/{post-tooltip-2c5ff736.js → post-tooltip-b298039a.js} +4 -4
  187. package/dist/esm/post-tooltip.entry.js +5 -4
  188. package/dist/esm/slide-3422b8a3.js +25 -0
  189. package/dist/post-components/index.esm.js +1 -1
  190. package/dist/post-components/p-0711f76d.entry.js +1 -0
  191. package/dist/post-components/p-095a06f6.entry.js +1 -0
  192. package/dist/post-components/p-0b5a5f32.js +1 -0
  193. package/dist/post-components/p-135fa60f.js +1 -0
  194. package/dist/post-components/p-18e38d8a.js +1 -0
  195. package/dist/post-components/p-2e1ec074.entry.js +1 -0
  196. package/dist/post-components/p-4202b433.entry.js +1 -0
  197. package/dist/post-components/p-45773f59.js +1 -0
  198. package/dist/post-components/{p-bb103905.js → p-4953de7e.js} +1 -1
  199. package/dist/post-components/p-4f67c5f5.entry.js +1 -0
  200. package/dist/post-components/{p-6f56a13d.js → p-4f9746f6.js} +2 -2
  201. package/dist/post-components/p-5075c672.entry.js +1 -0
  202. package/dist/post-components/p-515e0f96.js +1 -0
  203. package/dist/post-components/p-5467b223.js +1 -0
  204. package/dist/post-components/p-67036798.entry.js +1 -0
  205. package/dist/post-components/{p-c819933c.js → p-6d953fb2.js} +1 -1
  206. package/dist/post-components/p-6edb0ac5.js +1 -0
  207. package/dist/post-components/{p-fa7af203.js → p-6f8f39ca.js} +1 -1
  208. package/dist/post-components/p-7503a623.js +1 -0
  209. package/dist/post-components/p-761b24c7.entry.js +1 -0
  210. package/dist/post-components/{p-0f699dbc.js → p-77c4c1d2.js} +1 -1
  211. package/dist/post-components/p-7cf0c2ad.js +1 -0
  212. package/dist/post-components/p-856c14d6.entry.js +1 -0
  213. package/dist/post-components/p-866bf50a.entry.js +1 -0
  214. package/dist/post-components/p-8d621781.js +1 -0
  215. package/dist/post-components/p-8fe2d72c.entry.js +1 -0
  216. package/dist/post-components/p-9ad5088f.entry.js +1 -0
  217. package/dist/post-components/{p-8b6f7f04.js → p-a1d2b90e.js} +1 -1
  218. package/dist/post-components/p-a521419d.entry.js +1 -0
  219. package/dist/post-components/p-aa538648.js +1 -0
  220. package/dist/post-components/p-afdbee2f.js +1 -0
  221. package/dist/post-components/p-b02817f2.entry.js +1 -0
  222. package/dist/post-components/p-b157dcba.entry.js +1 -0
  223. package/dist/post-components/p-b22656b1.js +1 -0
  224. package/dist/post-components/{p-ed834dde.js → p-bdbd11cb.js} +1 -1
  225. package/dist/post-components/{p-3eab790d.js → p-c0ae9886.js} +1 -1
  226. package/dist/post-components/p-c537e196.entry.js +1 -0
  227. package/dist/post-components/p-d4f93f2b.js +1 -0
  228. package/dist/post-components/p-dca4246a.entry.js +1 -0
  229. package/dist/post-components/p-f319b026.js +1 -0
  230. package/dist/post-components/p-f4b7b379.js +1 -0
  231. package/dist/post-components/p-fac66087.entry.js +1 -0
  232. package/dist/post-components/post-components.esm.js +1 -1
  233. package/dist/types/animations/slide.d.ts +2 -0
  234. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +7 -1
  235. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +19 -0
  236. package/dist/types/components/post-breadcrumb/post-breadcrumb.d.ts +30 -0
  237. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +1 -0
  238. package/dist/types/components/post-footer/post-footer.d.ts +23 -0
  239. package/dist/types/components/post-header/post-header.d.ts +13 -5
  240. package/dist/types/components/post-language-option/post-language-option.d.ts +5 -0
  241. package/dist/types/components/post-language-switch/post-language-switch.d.ts +31 -0
  242. package/dist/types/components/post-language-switch/switch-variants.d.ts +2 -0
  243. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +10 -1
  244. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +24 -12
  245. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +20 -5
  246. package/dist/types/components/post-menu/post-menu.d.ts +1 -0
  247. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +4 -2
  248. package/dist/types/components.d.ts +150 -29
  249. package/dist/types/index.d.ts +13 -9
  250. package/dist/types/utils/breakpoints.d.ts +11 -0
  251. package/loaders/debounce.js +10 -0
  252. package/loaders/index.d.ts +8 -0
  253. package/loaders/index.js +4 -0
  254. package/loaders/index2.js +1 -1
  255. package/loaders/package.js +1 -1
  256. package/loaders/post-accordion-item.js +1 -82
  257. package/loaders/post-accordion-item2.js +102 -0
  258. package/loaders/post-accordion.js +1 -1
  259. package/loaders/post-back-to-top.d.ts +11 -0
  260. package/loaders/post-back-to-top.js +103 -0
  261. package/loaders/post-banner.js +4 -4
  262. package/loaders/post-breadcrumb-item.js +1 -70
  263. package/loaders/post-breadcrumb-item2.js +82 -0
  264. package/loaders/post-breadcrumb.d.ts +11 -0
  265. package/loaders/post-breadcrumb.js +171 -0
  266. package/loaders/post-card-control.js +3 -3
  267. package/loaders/post-closebutton.js +1 -1
  268. package/loaders/post-collapsible-trigger2.js +1 -9
  269. package/loaders/post-collapsible2.js +1 -1
  270. package/loaders/post-footer.d.ts +11 -0
  271. package/loaders/post-footer.js +127 -0
  272. package/loaders/post-header.js +55 -14
  273. package/loaders/post-icon2.js +2 -2
  274. package/loaders/post-language-option.js +4 -2
  275. package/loaders/post-language-switch.d.ts +11 -0
  276. package/loaders/post-language-switch.js +149 -0
  277. package/loaders/post-list-item.js +1 -1
  278. package/loaders/post-list.js +4 -4
  279. package/loaders/post-logo.js +2 -2
  280. package/loaders/post-mainnavigation.js +17 -17
  281. package/loaders/post-megadropdown-trigger.js +63 -11
  282. package/loaders/post-megadropdown.js +48 -22
  283. package/loaders/post-menu-item.js +1 -31
  284. package/loaders/post-menu-item2.js +33 -0
  285. package/loaders/post-menu-trigger.js +1 -90
  286. package/{dist/esm/post-menu-trigger-b84f728d.js → loaders/post-menu-trigger2.js} +41 -12
  287. package/loaders/post-menu.js +1 -199
  288. package/{dist/esm/post-menu-62c3e49a.js → loaders/post-menu2.js} +42 -13
  289. package/loaders/post-popover.js +1 -1
  290. package/loaders/post-popovercontainer2.js +2 -2
  291. package/loaders/post-rating.js +1 -1
  292. package/loaders/post-tab-header.js +1 -1
  293. package/loaders/post-tab-panel.js +1 -1
  294. package/loaders/post-tabs.js +6 -4
  295. package/loaders/post-tag.js +1 -1
  296. package/loaders/post-togglebutton.js +23 -5
  297. package/loaders/post-tooltip.js +1 -1
  298. package/loaders/slide.js +25 -0
  299. package/package.json +6 -4
  300. package/dist/cjs/post-accordion-item-641f0b42.js +0 -52
  301. package/dist/cjs/post-breadcrumb-item-8cdc59a8.js +0 -49
  302. package/dist/cjs/post-breadcrumb-item.cjs.entry.js +0 -15
  303. package/dist/cjs/post-card-control-fc4aca2a.js +0 -272
  304. package/dist/cjs/post-closebutton_10.cjs.entry.js +0 -25
  305. package/dist/cjs/post-language-option-8c1ec4fd.js +0 -68
  306. package/dist/cjs/post-language-option.cjs.entry.js +0 -15
  307. package/dist/cjs/post-menu-5a71a6fe.js +0 -176
  308. package/dist/cjs/post-menu-item-5c5c1aaf.js +0 -20
  309. package/dist/cjs/post-menu-item.cjs.entry.js +0 -11
  310. package/dist/cjs/post-menu-trigger-02d128c4.js +0 -75
  311. package/dist/cjs/post-menu-trigger.cjs.entry.js +0 -13
  312. package/dist/cjs/post-menu.cjs.entry.js +0 -11
  313. package/dist/cjs/post-togglebutton-2f39442e.js +0 -28
  314. package/dist/cjs/post-togglebutton.cjs.entry.js +0 -11
  315. package/dist/esm/package-180da9f3.js +0 -3
  316. package/dist/esm/post-accordion-item-a5a76abb.js +0 -50
  317. package/dist/esm/post-breadcrumb-item-5a77f988.js +0 -47
  318. package/dist/esm/post-breadcrumb-item.entry.js +0 -7
  319. package/dist/esm/post-card-control-5be9c80a.js +0 -270
  320. package/dist/esm/post-closebutton_10.entry.js +0 -8
  321. package/dist/esm/post-language-option-f41240c3.js +0 -66
  322. package/dist/esm/post-language-option.entry.js +0 -7
  323. package/dist/esm/post-menu-item-f63a1521.js +0 -18
  324. package/dist/esm/post-menu-item.entry.js +0 -3
  325. package/dist/esm/post-menu-trigger.entry.js +0 -5
  326. package/dist/esm/post-menu.entry.js +0 -3
  327. package/dist/esm/post-togglebutton-0e714838.js +0 -26
  328. package/dist/esm/post-togglebutton.entry.js +0 -3
  329. package/dist/post-components/p-0338f9da.js +0 -1
  330. package/dist/post-components/p-06980a04.js +0 -1
  331. package/dist/post-components/p-0af7dfbb.js +0 -1
  332. package/dist/post-components/p-12262945.entry.js +0 -1
  333. package/dist/post-components/p-2504dace.entry.js +0 -1
  334. package/dist/post-components/p-27343d32.entry.js +0 -1
  335. package/dist/post-components/p-2a456317.js +0 -1
  336. package/dist/post-components/p-2c3980d2.js +0 -1
  337. package/dist/post-components/p-31d38040.js +0 -1
  338. package/dist/post-components/p-339e000e.entry.js +0 -1
  339. package/dist/post-components/p-3b325360.entry.js +0 -1
  340. package/dist/post-components/p-3e65ba47.js +0 -1
  341. package/dist/post-components/p-3f417208.entry.js +0 -1
  342. package/dist/post-components/p-4922deaf.entry.js +0 -1
  343. package/dist/post-components/p-6c7546b8.entry.js +0 -1
  344. package/dist/post-components/p-7eee2b6a.js +0 -1
  345. package/dist/post-components/p-816623f0.entry.js +0 -1
  346. package/dist/post-components/p-83cd3885.entry.js +0 -1
  347. package/dist/post-components/p-9abe554b.js +0 -1
  348. package/dist/post-components/p-9ea6103e.entry.js +0 -1
  349. package/dist/post-components/p-a0a7c2c1.entry.js +0 -1
  350. package/dist/post-components/p-abf9ffdc.entry.js +0 -1
  351. package/dist/post-components/p-b4a2c7b7.entry.js +0 -1
  352. package/dist/post-components/p-b7ef401f.js +0 -1
  353. package/dist/post-components/p-b8a9cf2d.js +0 -1
  354. package/dist/post-components/p-ccd8a221.entry.js +0 -1
  355. package/dist/post-components/p-cfc1727f.entry.js +0 -1
  356. package/dist/post-components/p-d4465c2b.js +0 -1
  357. package/dist/post-components/p-d4cef624.js +0 -1
  358. package/dist/post-components/p-da449573.js +0 -1
  359. package/dist/post-components/p-df5bdda5.entry.js +0 -1
  360. package/dist/post-components/p-f1416918.entry.js +0 -1
  361. package/dist/post-components/p-f171b18b.entry.js +0 -1
  362. package/dist/post-components/p-f4dbd35f.entry.js +0 -1
  363. package/dist/post-components/p-f6b44820.js +0 -1
@@ -1,49 +1,75 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { d as defineCustomElement$2 } from './post-popovercontainer2.js';
3
3
 
4
- const postMegadropdownCss = "*,::before,::after{box-sizing:border-box}post-popovercontainer{background-color:#fafafa;width:100%;border-bottom:1px solid #000}@media screen and (max-width: 1023.99px){post-popovercontainer{position:absolute;top:var(--header-height) !important;bottom:0;left:0;width:100%;height:auto}}.megadropdown{display:flex;gap:1rem;padding:1.5rem;border-radius:0 0 3px 3px}@media screen and (max-width: 1023.99px){.megadropdown{flex-direction:column}}.megadropdown post-list{display:flex;flex-direction:column;gap:.5rem}.megadropdown post-list-item{border-bottom:1px solid gray}.megadropdown post-list-item>a{padding-block:.25rem;display:block;text-decoration:none}.back-button{display:none}@media screen and (max-width: 1023.99px){.back-button{display:block}}post-closebutton{margin-left:auto}@media screen and (max-width: 1023.99px){post-closebutton{display:none}}h3{font-size:20px}";
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%)}}*,::before,::after{box-sizing:border-box}post-popovercontainer{--post-global-header-height:72px;--post-main-header-height:56px;--post-header-height:calc(var(--post-global-header-height) + var(--post-main-header-height));background-color:#fafafa;border:none;border-top:1px solid #e1e0dc;width:100%;border-radius:0;box-shadow:0 8px 6px rgba(0,0,0,.16)}@media screen and (max-width: 1023.99px){post-popovercontainer{--post-global-header-height:64px;position:absolute;top:var(--post-header-height) !important;bottom:0;left:0;width:100%;height:auto}post-popovercontainer.slide-in{animation:slide-in;animation-duration:350ms;animation-fill-mode:forwards}post-popovercontainer.slide-out{animation:slide-out;animation-duration:350ms;animation-fill-mode:forwards}}.megadropdown{padding:31px 40px 40px}@media screen and (max-width: 1023.99px){.megadropdown{padding:16px 32px 24px}}.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.99px){.megadropdown .megadropdown-content{grid-template-columns:repeat(auto-fit, minmax(min(35vw, 100%), 1fr))}}@media screen and (max-width: 599.99px){.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;font-weight:inherit;border-bottom:0;border-top:0}@media screen and (max-width: 1023.99px){.megadropdown h2{display:block;font-size:20px}}.megadropdown a:hover{border-block-width:0}.megadropdown a:hover::after{content:unset}.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;border-bottom:1px solid #050400;padding:15px 12px 14px 0;display:block;font-weight:900}.megadropdown post-list .list-title h3 a{text-decoration:none;width:100%;font-size:inherit;display:inline-block;font-weight:inherit;height:unset;padding:0;border:0}@media screen and (max-width: 1023.99px){.megadropdown post-list .list-title h3{font-size:16px;padding:12px 12px 11px 0}}.megadropdown post-list-item{border-bottom:1px solid #050400}.megadropdown post-list-item>a{padding:13px 12px 12px 0;display:block;text-decoration:none;width:100%;border-bottom:0;height:auto;border-top:0}@media screen and (max-width: 1023.99px){.megadropdown post-list-item>a{padding:12px 12px 11px 0}}.megadropdown .back-button{display:none;margin-bottom:2rem}.megadropdown .back-button .btn{width:auto}.megadropdown .back-button post-icon{transform:rotate(180deg)}@media screen and (max-width: 1023.99px){.megadropdown .back-button{display:block}}.megadropdown .close-button{position:absolute;top:1rem;right:1rem}@media screen and (max-width: 1023.99px){.megadropdown .close-button{display:none}}";
5
5
  const PostMegadropdownStyle0 = postMegadropdownCss;
6
6
 
7
7
  const PostMegadropdown$1 = /*@__PURE__*/ proxyCustomElement(class PostMegadropdown extends HTMLElement {
8
8
  constructor() {
9
9
  super();
10
10
  this.__registerHost();
11
+ this.postToggleMegadropdown = createEvent(this, "postToggleMegadropdown", 7);
12
+ this.isVisible = false;
13
+ this.animationClass = null;
14
+ }
15
+ componentDidLoad() {
16
+ this.popoverRef.addEventListener('postToggle', (event) => {
17
+ this.isVisible = event.detail;
18
+ this.postToggleMegadropdown.emit(this.isVisible);
19
+ });
20
+ this.popoverRef.addEventListener('animationend', () => {
21
+ if (this.animationClass === 'slide-out') {
22
+ this.hide();
23
+ }
24
+ });
11
25
  }
12
26
  /**
13
- * Show megadropdown
14
- * @param element HTMLElement
15
- * @returns boolean
27
+ * Toggles the dropdown visibility based on its current state.
16
28
  */
17
- async show(element) {
18
- return this.popoverRef.show(element);
29
+ async toggle(target) {
30
+ this.isVisible ? this.hide() : await this.show(target);
19
31
  }
20
32
  /**
21
- * Hide megadropdown
22
- * @returns boolean
33
+ * Displays the popover dropdown
34
+ *
35
+ * @param target - The HTML element relative to which the popover dropdown should be displayed.
23
36
  */
24
- async hide() {
25
- return this.popoverRef.hide();
37
+ async show(target) {
38
+ if (this.popoverRef) {
39
+ await this.popoverRef.show(target);
40
+ this.animationClass = 'slide-in';
41
+ }
42
+ else {
43
+ console.error('show: popoverRef is null or undefined');
44
+ }
26
45
  }
27
46
  /**
28
- * Toggle megadropdown
29
- * @param element HTMLElement
30
- * @param force boolean
31
- * @returns boolean
47
+ * Hides the popover dropdown
32
48
  */
33
- async toggle(element, force) {
34
- return this.popoverRef.toggle(element, force !== null && force !== void 0 ? force : undefined);
49
+ hide() {
50
+ if (this.popoverRef) {
51
+ this.popoverRef.hide();
52
+ }
53
+ else {
54
+ console.error('hide: popoverRef is null or undefined');
55
+ }
35
56
  }
36
57
  handleBackButtonClick() {
37
- this.hide();
58
+ this.animationClass = 'slide-out';
59
+ }
60
+ handleCloseButtonClick() {
61
+ this.popoverRef.hide();
38
62
  }
39
63
  render() {
40
- return (h(Host, { key: '96d71da6b3cfcd8980d7e60cb383d545c754d7b3', slot: "post-mainnavigation" }, h("post-popovercontainer", { key: 'ec27bcdae9da77299d59d8869be60c08816eef85', placement: "bottom", "edge-gap": "0", ref: el => (this.popoverRef = el) }, h("div", { key: '0b97d183a5fad18401aa876cf19d3975a1757d18', class: "megadropdown" }, h("div", { key: '4eb9715d7cf88898dddae702f71d430f1e3810af', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: 'a21d4b50b1d04211ecfb5d0b145452a6bbae0ae0', name: "back-button" })), h("slot", { key: '5a4dd77f0f91bf6a61ef1cf9bdd4371875a52d2e' })))));
64
+ return (h(Host, { key: 'cfd4e6c7bb87c50e471d304a4b4f086266e1c2fe' }, h("post-popovercontainer", { key: '31dc3a5e98a5c60a4db8d47375491a6f3957af0b', class: this.animationClass, placement: "bottom", "edge-gap": "0", ref: el => (this.popoverRef = el) }, h("div", { key: '7001d0e108544a0244af088be0bde49f90a3dea3', class: "megadropdown" }, h("div", { key: '513b0710163e8f58677b6b50d2ba2d241cf9ff35', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: '5457c0b9bfff045f39f470e600b5aa31036c0807', name: "back-button" })), h("div", { key: 'c3314a4ae4f386224a2db7fe32203f72f6a1b284', onClick: () => this.handleCloseButtonClick(), class: "close-button" }, h("slot", { key: '8feeec24fe5f2522ba1a54ab0b7c682d3a152086', name: "close-button" })), h("slot", { key: '6d9426756a809ed26045c9cd56cacf0f36aa9400', name: "megadropdown-title" }), h("div", { key: 'fd3b0ac7998eec76700ccc6668d8b2e3fcc4c63a', class: "megadropdown-content" }, h("slot", { key: '23638936fdffa224de9631bfd599c0872202a30d' }))))));
41
65
  }
66
+ get host() { return this; }
42
67
  static get style() { return PostMegadropdownStyle0; }
43
68
  }, [4, "post-megadropdown", {
44
- "show": [64],
45
- "hide": [64],
46
- "toggle": [64]
69
+ "isVisible": [32],
70
+ "animationClass": [32],
71
+ "toggle": [64],
72
+ "show": [64]
47
73
  }]);
48
74
  function defineCustomElement$1() {
49
75
  if (typeof customElements === "undefined") {
@@ -1,34 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { v as version } from './package.js';
3
-
4
- const postMenuItemCss = ":host{display:block}";
5
- const PostMenuItemStyle0 = postMenuItemCss;
6
-
7
- const PostMenuItem$1 = /*@__PURE__*/ proxyCustomElement(class PostMenuItem extends HTMLElement {
8
- constructor() {
9
- super();
10
- this.__registerHost();
11
- this.__attachShadow();
12
- }
13
- render() {
14
- return (h(Host, { key: '48720f09bc2ab4a979d215f590dcb80e39422e46', role: "menuitem", "data-version": version }, h("slot", { key: '5a0c1aeb2c96a02c2e4567d3e1e83fd6e3a3aace' })));
15
- }
16
- get host() { return this; }
17
- static get style() { return PostMenuItemStyle0; }
18
- }, [1, "post-menu-item"]);
19
- function defineCustomElement$1() {
20
- if (typeof customElements === "undefined") {
21
- return;
22
- }
23
- const components = ["post-menu-item"];
24
- components.forEach(tagName => { switch (tagName) {
25
- case "post-menu-item":
26
- if (!customElements.get(tagName)) {
27
- customElements.define(tagName, PostMenuItem$1);
28
- }
29
- break;
30
- } });
31
- }
1
+ import { P as PostMenuItem$1, d as defineCustomElement$1 } from './post-menu-item2.js';
32
2
 
33
3
  const PostMenuItem = PostMenuItem$1;
34
4
  const defineCustomElement = defineCustomElement$1;
@@ -0,0 +1,33 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { v as version } from './package.js';
3
+
4
+ const postMenuItemCss = ":host{display:block}";
5
+ const PostMenuItemStyle0 = postMenuItemCss;
6
+
7
+ const PostMenuItem = /*@__PURE__*/ proxyCustomElement(class PostMenuItem extends HTMLElement {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ this.__attachShadow();
12
+ }
13
+ render() {
14
+ return (h(Host, { key: '0f53b8f818c87c59b0ec56e522852af0966e37ad', role: "menuitem", "data-version": version }, h("slot", { key: '4b821e1282df9bcfd297d74af56dfd5605baa0ee' })));
15
+ }
16
+ get host() { return this; }
17
+ static get style() { return PostMenuItemStyle0; }
18
+ }, [1, "post-menu-item"]);
19
+ function defineCustomElement() {
20
+ if (typeof customElements === "undefined") {
21
+ return;
22
+ }
23
+ const components = ["post-menu-item"];
24
+ components.forEach(tagName => { switch (tagName) {
25
+ case "post-menu-item":
26
+ if (!customElements.get(tagName)) {
27
+ customElements.define(tagName, PostMenuItem);
28
+ }
29
+ break;
30
+ } });
31
+ }
32
+
33
+ export { PostMenuItem as P, defineCustomElement as d };
@@ -1,93 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { v as version } from './package.js';
3
- import { c as checkType } from './check-type.js';
4
- import { g as getRoot } from './get-root.js';
5
-
6
- const postMenuTriggerCss = ":host{display:inline-block}";
7
- const PostMenuTriggerStyle0 = postMenuTriggerCss;
8
-
9
- const PostMenuTrigger$1 = /*@__PURE__*/ proxyCustomElement(class PostMenuTrigger extends HTMLElement {
10
- constructor() {
11
- super();
12
- this.__registerHost();
13
- /**
14
- * Reference to the slotted button within the trigger, if present.
15
- * Used to manage click and key events for menu control.
16
- */
17
- this.slottedButton = null;
18
- this.handleKeyDown = (e) => {
19
- if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
20
- e.preventDefault();
21
- this.handleToggle();
22
- }
23
- };
24
- this.for = undefined;
25
- this.ariaExpanded = false;
26
- }
27
- /**
28
- * Watch for changes to the `for` property to validate its type and ensure it is a string.
29
- * @param forValue - The new value of the `for` property.
30
- */
31
- validateControlFor(forValue = this.for) {
32
- checkType(forValue, 'string', 'The "for" property is required and should be a string.');
33
- }
34
- get menu() {
35
- const ref = this.root.getElementById(this.for);
36
- return ref && ref.localName === 'post-menu' ? ref : null;
37
- }
38
- handleToggle() {
39
- const menu = this.menu;
40
- if (menu && this.slottedButton) {
41
- this.ariaExpanded = !this.ariaExpanded;
42
- this.slottedButton.setAttribute('aria-expanded', this.ariaExpanded.toString());
43
- menu.toggle(this.host);
44
- }
45
- else {
46
- console.warn(`No post-menu found with ID: ${this.for}`);
47
- }
48
- }
49
- componentDidLoad() {
50
- this.root = getRoot(this.host);
51
- this.validateControlFor();
52
- this.slottedButton = this.host.querySelector('button');
53
- if (this.slottedButton) {
54
- this.slottedButton.setAttribute('aria-haspopup', 'menu');
55
- this.slottedButton.addEventListener('click', () => {
56
- this.handleToggle();
57
- });
58
- this.slottedButton.addEventListener('keydown', this.handleKeyDown);
59
- }
60
- else {
61
- console.warn('No button found within post-menu-trigger');
62
- }
63
- }
64
- render() {
65
- return (h(Host, { key: '5c07c2a808f5048b870d77f1f65d84bc2007431f', "data-version": version, "tab-index": "-1" }, h("slot", { key: 'ab779f01983e2c88f09707ab8b12eb326ac6946b' })));
66
- }
67
- get host() { return this; }
68
- static get watchers() { return {
69
- "for": ["validateControlFor"]
70
- }; }
71
- static get style() { return PostMenuTriggerStyle0; }
72
- }, [4, "post-menu-trigger", {
73
- "for": [1],
74
- "ariaExpanded": [32]
75
- }, undefined, {
76
- "for": ["validateControlFor"]
77
- }]);
78
- function defineCustomElement$1() {
79
- if (typeof customElements === "undefined") {
80
- return;
81
- }
82
- const components = ["post-menu-trigger"];
83
- components.forEach(tagName => { switch (tagName) {
84
- case "post-menu-trigger":
85
- if (!customElements.get(tagName)) {
86
- customElements.define(tagName, PostMenuTrigger$1);
87
- }
88
- break;
89
- } });
90
- }
1
+ import { P as PostMenuTrigger$1, d as defineCustomElement$1 } from './post-menu-trigger2.js';
91
2
 
92
3
  const PostMenuTrigger = PostMenuTrigger$1;
93
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,14 +1,15 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-e1b64755.js';
2
- import { v as version } from './package-180da9f3.js';
3
- import { c as checkType } from './check-type-8828dbe4.js';
4
- import { g as getRoot } from './get-root-7af2e0d1.js';
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { v as version } from './package.js';
3
+ import { c as checkType } from './check-type.js';
4
+ import { g as getRoot } from './get-root.js';
5
5
 
6
6
  const postMenuTriggerCss = ":host{display:inline-block}";
7
7
  const PostMenuTriggerStyle0 = postMenuTriggerCss;
8
8
 
9
- const PostMenuTrigger = class {
10
- constructor(hostRef) {
11
- registerInstance(this, hostRef);
9
+ const PostMenuTrigger = /*@__PURE__*/ proxyCustomElement(class PostMenuTrigger extends HTMLElement {
10
+ constructor() {
11
+ super();
12
+ this.__registerHost();
12
13
  /**
13
14
  * Reference to the slotted button within the trigger, if present.
14
15
  * Used to manage click and key events for menu control.
@@ -49,6 +50,16 @@ const PostMenuTrigger = class {
49
50
  this.root = getRoot(this.host);
50
51
  this.validateControlFor();
51
52
  this.slottedButton = this.host.querySelector('button');
53
+ // Check if the slottedButton is within a web component
54
+ if (!this.slottedButton) {
55
+ const webComponent = this.host.querySelector('.menu-trigger-webc');
56
+ if (webComponent.shadowRoot) {
57
+ const slottedButton = webComponent.shadowRoot.querySelector('button');
58
+ if (slottedButton) {
59
+ this.slottedButton = slottedButton;
60
+ }
61
+ }
62
+ }
52
63
  if (this.slottedButton) {
53
64
  this.slottedButton.setAttribute('aria-haspopup', 'menu');
54
65
  this.slottedButton.addEventListener('click', () => {
@@ -61,13 +72,31 @@ const PostMenuTrigger = class {
61
72
  }
62
73
  }
63
74
  render() {
64
- return (h(Host, { key: '5c07c2a808f5048b870d77f1f65d84bc2007431f', "data-version": version, "tab-index": "-1" }, h("slot", { key: 'ab779f01983e2c88f09707ab8b12eb326ac6946b' })));
75
+ return (h(Host, { key: '64e9e7e6448160c7b52fc732b5107e94e9776678', "data-version": version, "tab-index": "-1" }, h("slot", { key: '711d641147cec0c26c7a3917f9302f1bbbee0d73' })));
65
76
  }
66
- get host() { return getElement(this); }
77
+ get host() { return this; }
67
78
  static get watchers() { return {
68
79
  "for": ["validateControlFor"]
69
80
  }; }
70
- };
71
- PostMenuTrigger.style = PostMenuTriggerStyle0;
81
+ static get style() { return PostMenuTriggerStyle0; }
82
+ }, [4, "post-menu-trigger", {
83
+ "for": [1],
84
+ "ariaExpanded": [32]
85
+ }, undefined, {
86
+ "for": ["validateControlFor"]
87
+ }]);
88
+ function defineCustomElement() {
89
+ if (typeof customElements === "undefined") {
90
+ return;
91
+ }
92
+ const components = ["post-menu-trigger"];
93
+ components.forEach(tagName => { switch (tagName) {
94
+ case "post-menu-trigger":
95
+ if (!customElements.get(tagName)) {
96
+ customElements.define(tagName, PostMenuTrigger);
97
+ }
98
+ break;
99
+ } });
100
+ }
72
101
 
73
- export { PostMenuTrigger as P };
102
+ export { PostMenuTrigger as P, defineCustomElement as d };
@@ -1,202 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { v as version } from './package.js';
3
- import { d as defineCustomElement$2 } from './post-popovercontainer2.js';
4
-
5
- const focusableSelector = `:where(${[
6
- 'button',
7
- 'input:not([type="hidden"])',
8
- '[tabindex]',
9
- 'select',
10
- 'textarea',
11
- '[contenteditable]',
12
- 'a[href]',
13
- 'iframe',
14
- 'audio[controls]',
15
- 'video[controls]',
16
- 'area[href]',
17
- 'details > summary:first-of-type',
18
- ].join(',')})`;
19
- const focusDisablingSelector = `:where(${[
20
- '[inert]',
21
- '[inert] *',
22
- ':disabled',
23
- 'dialog:not([open]) *',
24
- '[popover]:not(:popover-open) *',
25
- 'details:not([open]) > *:not(details > summary:first-of-type)',
26
- 'details:not([open]) > *:not(details > summary:first-of-type) *',
27
- ].join(',')})`;
28
- const isFocusable = (element) => {
29
- return (element === null || element === void 0 ? void 0 : element.matches(focusableSelector)) && !(element === null || element === void 0 ? void 0 : element.matches(focusDisablingSelector));
30
- };
31
-
32
- const postMenuCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{display:block}post-popovercontainer{padding:var(--post-menu-padding);background-color:var(--post-menu-bg, #ffffff);border-color:var(--post-menu-bg, #ffffff)}";
33
- const PostMenuStyle0 = postMenuCss;
34
-
35
- const PostMenu$1 = /*@__PURE__*/ proxyCustomElement(class PostMenu extends HTMLElement {
36
- constructor() {
37
- super();
38
- this.__registerHost();
39
- this.__attachShadow();
40
- this.toggleMenu = createEvent(this, "toggleMenu", 7);
41
- this.lastFocusedElement = null;
42
- this.KEYCODES = {
43
- SPACE: ' ',
44
- ENTER: 'Enter',
45
- UP: 'ArrowUp',
46
- DOWN: 'ArrowDown',
47
- TAB: 'Tab',
48
- HOME: 'Home',
49
- END: 'End',
50
- ESCAPE: 'Escape'
51
- };
52
- this.handleKeyDown = (e) => {
53
- e.stopPropagation();
54
- if (e.key === this.KEYCODES.ESCAPE) {
55
- this.toggle(this.host);
56
- return;
57
- }
58
- if (Object.values(this.KEYCODES).includes(e.key)) {
59
- this.controlKeyDownHandler(e);
60
- }
61
- };
62
- this.handleClick = (e) => {
63
- const target = e.target;
64
- if (['BUTTON', 'A', 'INPUT', 'SELECT', 'TEXTAREA'].includes(target.tagName)) {
65
- this.toggle(this.host);
66
- }
67
- };
68
- this.placement = 'bottom';
69
- this.isVisible = false;
70
- }
71
- connectedCallback() {
72
- this.host.addEventListener('keydown', this.handleKeyDown);
73
- this.host.addEventListener('click', this.handleClick);
74
- }
75
- disconnectedCallback() {
76
- this.host.removeEventListener('keydown', this.handleKeyDown);
77
- this.host.removeEventListener('click', this.handleClick);
78
- }
79
- componentDidLoad() {
80
- this.popoverRef.addEventListener('postToggle', (event) => {
81
- this.isVisible = event.detail;
82
- this.toggleMenu.emit(this.isVisible);
83
- });
84
- }
85
- /**
86
- * Toggles the menu visibility based on its current state.
87
- */
88
- async toggle(target) {
89
- this.isVisible ? await this.hide() : await this.show(target);
90
- }
91
- /**
92
- * Displays the popover menu, focusing the first menu item.
93
- *
94
- * @param target - The HTML element relative to which the popover menu should be displayed.
95
- */
96
- async show(target) {
97
- if (this.popoverRef) {
98
- await this.popoverRef.show(target);
99
- this.lastFocusedElement = document.activeElement;
100
- const menuItems = this.getSlottedItems();
101
- if (menuItems.length > 0) {
102
- menuItems[0].focus();
103
- }
104
- }
105
- else {
106
- console.error('show: popoverRef is null or undefined');
107
- }
108
- }
109
- /**
110
- * Hides the popover menu and restores focus to the previously focused element.
111
- */
112
- async hide() {
113
- if (this.popoverRef) {
114
- await this.popoverRef.hide();
115
- if (this.lastFocusedElement) {
116
- this.lastFocusedElement.focus();
117
- }
118
- }
119
- else {
120
- console.error('hide: popoverRef is null or undefined');
121
- }
122
- }
123
- controlKeyDownHandler(e) {
124
- const menuItems = this.getSlottedItems();
125
- if (!menuItems.length) {
126
- return;
127
- }
128
- const currentFocusedElement = document.activeElement;
129
- let currentIndex = menuItems.findIndex(el => el === currentFocusedElement);
130
- switch (e.key) {
131
- case this.KEYCODES.UP:
132
- e.preventDefault();
133
- currentIndex = (currentIndex - 1 + menuItems.length) % menuItems.length;
134
- break;
135
- case this.KEYCODES.DOWN:
136
- e.preventDefault();
137
- currentIndex = (currentIndex + 1) % menuItems.length;
138
- break;
139
- case this.KEYCODES.HOME:
140
- currentIndex = 0;
141
- break;
142
- case this.KEYCODES.END:
143
- currentIndex = menuItems.length - 1;
144
- break;
145
- case this.KEYCODES.SPACE:
146
- case this.KEYCODES.ENTER:
147
- this.toggle(this.host);
148
- return;
149
- case this.KEYCODES.TAB:
150
- this.toggle(this.host);
151
- break;
152
- }
153
- if (menuItems[currentIndex]) {
154
- menuItems[currentIndex].focus();
155
- }
156
- }
157
- getSlottedItems() {
158
- const slot = this.host.shadowRoot.querySelector('slot');
159
- const slottedElements = slot ? slot.assignedElements() : [];
160
- const menuItems = slottedElements
161
- .filter(el => el.tagName === 'POST-MENU-ITEM')
162
- .map(el => {
163
- const slot = el.shadowRoot.querySelector('slot');
164
- const assignedElements = slot ? slot.assignedElements() : [];
165
- return assignedElements.filter(isFocusable);
166
- })
167
- .flat();
168
- return menuItems;
169
- }
170
- render() {
171
- return (h(Host, { key: '80720b7f1d029833de466c84c9fe931460a5b9b1', "data-version": version }, h("post-popovercontainer", { key: 'b1e610ad0c0f33a09ac3fee5954567e957653e76', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'a9cd7f6efcd762b548acb7c8d3bf614ccdedd504', class: "popover-container" }, h("slot", { key: 'e278c4020b70c8bd5f6a1e4a3ac8cbaf37f2b786' })))));
172
- }
173
- get host() { return this; }
174
- static get style() { return PostMenuStyle0; }
175
- }, [1, "post-menu", {
176
- "placement": [1],
177
- "isVisible": [32],
178
- "toggle": [64],
179
- "show": [64],
180
- "hide": [64]
181
- }]);
182
- function defineCustomElement$1() {
183
- if (typeof customElements === "undefined") {
184
- return;
185
- }
186
- const components = ["post-menu", "post-popovercontainer"];
187
- components.forEach(tagName => { switch (tagName) {
188
- case "post-menu":
189
- if (!customElements.get(tagName)) {
190
- customElements.define(tagName, PostMenu$1);
191
- }
192
- break;
193
- case "post-popovercontainer":
194
- if (!customElements.get(tagName)) {
195
- defineCustomElement$2();
196
- }
197
- break;
198
- } });
199
- }
1
+ import { P as PostMenu$1, d as defineCustomElement$1 } from './post-menu2.js';
200
2
 
201
3
  const PostMenu = PostMenu$1;
202
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,5 +1,7 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-e1b64755.js';
2
- import { v as version } from './package-180da9f3.js';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { v as version } from './package.js';
3
+ import { g as getRoot } from './get-root.js';
4
+ import { d as defineCustomElement$1 } from './post-popovercontainer2.js';
3
5
 
4
6
  const focusableSelector = `:where(${[
5
7
  'button',
@@ -31,9 +33,11 @@ const isFocusable = (element) => {
31
33
  const postMenuCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{display:block}post-popovercontainer{padding:var(--post-menu-padding);background-color:var(--post-menu-bg, #ffffff);border-color:var(--post-menu-bg, #ffffff)}";
32
34
  const PostMenuStyle0 = postMenuCss;
33
35
 
34
- const PostMenu = class {
35
- constructor(hostRef) {
36
- registerInstance(this, hostRef);
36
+ const PostMenu = /*@__PURE__*/ proxyCustomElement(class PostMenu extends HTMLElement {
37
+ constructor() {
38
+ super();
39
+ this.__registerHost();
40
+ this.__attachShadow();
37
41
  this.toggleMenu = createEvent(this, "toggleMenu", 7);
38
42
  this.lastFocusedElement = null;
39
43
  this.KEYCODES = {
@@ -44,7 +48,7 @@ const PostMenu = class {
44
48
  TAB: 'Tab',
45
49
  HOME: 'Home',
46
50
  END: 'End',
47
- ESCAPE: 'Escape'
51
+ ESCAPE: 'Escape',
48
52
  };
49
53
  this.handleKeyDown = (e) => {
50
54
  e.stopPropagation();
@@ -66,6 +70,7 @@ const PostMenu = class {
66
70
  this.isVisible = false;
67
71
  }
68
72
  connectedCallback() {
73
+ this.root = getRoot(this.host);
69
74
  this.host.addEventListener('keydown', this.handleKeyDown);
70
75
  this.host.addEventListener('click', this.handleClick);
71
76
  }
@@ -93,7 +98,7 @@ const PostMenu = class {
93
98
  async show(target) {
94
99
  if (this.popoverRef) {
95
100
  await this.popoverRef.show(target);
96
- this.lastFocusedElement = document.activeElement;
101
+ this.lastFocusedElement = this.root.activeElement; // Use root's activeElement
97
102
  const menuItems = this.getSlottedItems();
98
103
  if (menuItems.length > 0) {
99
104
  menuItems[0].focus();
@@ -122,7 +127,7 @@ const PostMenu = class {
122
127
  if (!menuItems.length) {
123
128
  return;
124
129
  }
125
- const currentFocusedElement = document.activeElement;
130
+ const currentFocusedElement = this.root.activeElement; // Use root's activeElement
126
131
  let currentIndex = menuItems.findIndex(el => el === currentFocusedElement);
127
132
  switch (e.key) {
128
133
  case this.KEYCODES.UP:
@@ -165,10 +170,34 @@ const PostMenu = class {
165
170
  return menuItems;
166
171
  }
167
172
  render() {
168
- return (h(Host, { key: '80720b7f1d029833de466c84c9fe931460a5b9b1', "data-version": version }, h("post-popovercontainer", { key: 'b1e610ad0c0f33a09ac3fee5954567e957653e76', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'a9cd7f6efcd762b548acb7c8d3bf614ccdedd504', class: "popover-container" }, h("slot", { key: 'e278c4020b70c8bd5f6a1e4a3ac8cbaf37f2b786' })))));
173
+ return (h(Host, { key: '48e04f36dc7a3d8ed81b9570d1a4c931ace3cadd', "data-version": version }, h("post-popovercontainer", { key: '58532143bd7a8be7ea77cbd0a929fa74ee0ee890', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '967bf8aa936611ac6d533d9a8a1e176ee84b2a73', class: "popover-container", part: "popover-container" }, h("slot", { key: '4eb6b7fe34e8ea1df0d7cd8de31b57452442c3bb' })))));
169
174
  }
170
- get host() { return getElement(this); }
171
- };
172
- PostMenu.style = PostMenuStyle0;
175
+ get host() { return this; }
176
+ static get style() { return PostMenuStyle0; }
177
+ }, [1, "post-menu", {
178
+ "placement": [1],
179
+ "isVisible": [32],
180
+ "toggle": [64],
181
+ "show": [64],
182
+ "hide": [64]
183
+ }]);
184
+ function defineCustomElement() {
185
+ if (typeof customElements === "undefined") {
186
+ return;
187
+ }
188
+ const components = ["post-menu", "post-popovercontainer"];
189
+ components.forEach(tagName => { switch (tagName) {
190
+ case "post-menu":
191
+ if (!customElements.get(tagName)) {
192
+ customElements.define(tagName, PostMenu);
193
+ }
194
+ break;
195
+ case "post-popovercontainer":
196
+ if (!customElements.get(tagName)) {
197
+ defineCustomElement$1();
198
+ }
199
+ break;
200
+ } });
201
+ }
173
202
 
174
- export { PostMenu as P };
203
+ export { PostMenu as P, defineCustomElement as d };
@@ -96,7 +96,7 @@ const PostPopover$1 = /*@__PURE__*/ proxyCustomElement(class PostPopover extends
96
96
  this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
97
97
  }
98
98
  render() {
99
- return (h(Host, { key: 'e716f0b45da8a21c43afba019dbf84a87bc49fab', "data-version": version }, h("post-popovercontainer", { key: '530ffbd07a0f2b2edc26db0c5667c9de372edf01', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '4d7420876786f835aef9decf92030651f5117f52', class: "popover-container" }, h("div", { key: 'e557e3e1f4566fc81b1255ef628e7c58d59fc596', class: "popover-content" }, h("slot", { key: 'ea5e3407ec41868471d388a02cb8a4ba32889d6c' })), h("button", { key: 'af21850867d713f7c5a825d4ac824b12ce40f3e7', class: "btn-close", onClick: () => this.hide() }, h("span", { key: 'b2f85d5efd0fd424448efa73ee9ad07c5bab2947', class: "visually-hidden" }, this.closeButtonCaption))))));
99
+ return (h(Host, { key: 'fefbc18d8ca6246199a7843edb3e05b2bc134b52', "data-version": version }, h("post-popovercontainer", { key: 'bf0d5fad73c87674c0f7d5b0a3a84836e8f5126c', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '08aa8cd87c49f87ee72bf98dd6d07dea52bb49c8', class: "popover-container" }, h("div", { key: '7fae463b6633d105ab8e112c3b564256ea574721', class: "popover-content" }, h("slot", { key: '47a529a55502ccf290c1bf7fcebc68502fbac569' })), h("button", { key: 'ede2f23b3435fec596b0e73c285eda6c1a4fa449', class: "btn-close", onClick: () => this.hide() }, h("span", { key: '4df83539eb8f5cd80f0f7548db217e17a8474d8d', class: "visually-hidden" }, this.closeButtonCaption))))));
100
100
  }
101
101
  get host() { return this; }
102
102
  static get style() { return PostPopoverStyle0; }