@swisspost/design-system-components 10.0.0-next.47 → 10.0.0-next.49

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 (317) hide show
  1. package/dist/cjs/{event-from-AKK8RQrn.js → event-from-C6kpQwhw.js} +2 -2
  2. package/dist/cjs/index-CpDyH7Ww.js +4 -4
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{package-wsZ6ig4j.js → package-CR0YynRY.js} +1 -1
  5. package/dist/cjs/post-accordion_2.cjs.entry.js +6 -6
  6. package/dist/cjs/post-avatar.cjs.entry.js +107 -80
  7. package/dist/cjs/post-back-to-top.cjs.entry.js +2 -2
  8. package/dist/cjs/post-banner.cjs.entry.js +3 -3
  9. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +3 -3
  10. package/dist/cjs/post-breadcrumbs.cjs.entry.js +4 -4
  11. package/dist/cjs/post-card-control.cjs.entry.js +4 -4
  12. package/dist/cjs/post-closebutton_15.cjs.entry.js +133 -74
  13. package/dist/cjs/post-collapsible_2.cjs.entry.js +4 -4
  14. package/dist/cjs/post-components.cjs.js +1 -1
  15. package/dist/cjs/post-footer.cjs.entry.js +3 -3
  16. package/dist/cjs/post-linkarea.cjs.entry.js +19 -8
  17. package/dist/cjs/post-popover.cjs.entry.js +3 -3
  18. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  19. package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
  20. package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
  21. package/dist/cjs/post-tabs.cjs.entry.js +2 -2
  22. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +2 -2
  23. package/dist/cjs/post-tooltip.cjs.entry.js +3 -3
  24. package/dist/collection/animations/pop-in.js +14 -0
  25. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  26. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  27. package/dist/collection/components/post-accordion-item/post-accordion-item.js +5 -5
  28. package/dist/collection/components/post-avatar/avatar-utils.js +16 -0
  29. package/dist/collection/components/post-avatar/post-avatar.css +1 -1
  30. package/dist/collection/components/post-avatar/post-avatar.js +119 -82
  31. package/dist/collection/components/post-back-to-top/post-back-to-top.js +1 -1
  32. package/dist/collection/components/post-banner/post-banner.js +2 -2
  33. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +1 -1
  34. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
  35. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +2 -2
  36. package/dist/collection/components/post-card-control/post-card-control.css +1 -1
  37. package/dist/collection/components/post-card-control/post-card-control.js +2 -2
  38. package/dist/collection/components/post-closebutton/post-closebutton.js +1 -19
  39. package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
  40. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +1 -1
  41. package/dist/collection/components/post-footer/post-footer.css +1 -1
  42. package/dist/collection/components/post-footer/post-footer.js +1 -1
  43. package/dist/collection/components/post-header/post-header.css +1 -1
  44. package/dist/collection/components/post-header/post-header.js +11 -2
  45. package/dist/collection/components/post-icon/post-icon.js +39 -33
  46. package/dist/collection/components/post-language-option/post-language-option.css +1 -1
  47. package/dist/collection/components/post-language-option/post-language-option.js +1 -2
  48. package/dist/collection/components/post-language-switch/post-language-switch.js +1 -2
  49. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -1
  50. package/dist/collection/components/post-linkarea/post-linkarea.js +24 -6
  51. package/dist/collection/components/post-list/post-list.css +1 -1
  52. package/dist/collection/components/post-list/post-list.js +1 -1
  53. package/dist/collection/components/post-list-item/post-list-item.js +1 -1
  54. package/dist/collection/components/post-logo/post-logo.js +1 -1
  55. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  56. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +1 -1
  57. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  58. package/dist/collection/components/post-megadropdown/post-megadropdown.js +12 -2
  59. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +1 -1
  60. package/dist/collection/components/post-menu/post-menu.css +1 -1
  61. package/dist/collection/components/post-menu/post-menu.js +41 -5
  62. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
  63. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +1 -1
  64. package/dist/collection/components/post-popover/post-popover.css +1 -1
  65. package/dist/collection/components/post-popover/post-popover.js +1 -1
  66. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  67. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +18 -7
  68. package/dist/collection/components/post-rating/post-rating.css +1 -1
  69. package/dist/collection/components/post-rating/post-rating.js +1 -1
  70. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
  71. package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
  72. package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
  73. package/dist/collection/components/post-tabs/post-tabs.js +3 -3
  74. package/dist/collection/components/post-togglebutton/post-togglebutton.js +1 -1
  75. package/dist/collection/components/post-tooltip/post-tooltip.js +2 -2
  76. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +1 -1
  77. package/dist/collection/utils/event-from.js +2 -2
  78. package/dist/component-names.json +39 -0
  79. package/dist/{esm/event-from-8U5GFtQP.js → components/event-from.js} +2 -2
  80. package/dist/components/get-root.js +15 -0
  81. package/dist/components/index.d.ts +73 -0
  82. package/dist/components/index.js +36 -2315
  83. package/dist/components/package.js +3 -0
  84. package/dist/components/post-accordion-item.js +1 -1
  85. package/dist/components/post-accordion-item2.js +113 -0
  86. package/dist/components/post-accordion.js +1 -1
  87. package/dist/components/post-accordion2.js +138 -0
  88. package/dist/components/post-avatar.js +117 -88
  89. package/dist/components/post-back-to-top.js +7 -8
  90. package/dist/components/post-banner.js +10 -11
  91. package/dist/components/post-breadcrumb-item.js +1 -1
  92. package/dist/components/post-breadcrumb-item2.js +79 -0
  93. package/dist/components/post-breadcrumbs.js +16 -17
  94. package/dist/components/post-card-control.js +11 -12
  95. package/dist/components/post-closebutton.js +5 -7
  96. package/dist/components/post-collapsible-trigger.js +1 -1
  97. package/dist/components/post-collapsible-trigger2.js +135 -0
  98. package/dist/components/post-collapsible.js +1 -1
  99. package/dist/components/post-collapsible2.js +110 -0
  100. package/dist/components/post-footer.js +12 -13
  101. package/dist/components/post-header.js +18 -10
  102. package/dist/components/post-icon.js +1 -1
  103. package/dist/components/post-icon2.js +159 -0
  104. package/dist/components/post-language-option.js +10 -12
  105. package/dist/components/post-language-switch.js +13 -15
  106. package/dist/components/post-linkarea.js +24 -12
  107. package/dist/components/post-list-item.js +4 -5
  108. package/dist/components/post-list.js +6 -7
  109. package/dist/components/post-logo.js +6 -7
  110. package/dist/components/post-mainnavigation.js +6 -7
  111. package/dist/components/post-megadropdown-trigger.js +7 -8
  112. package/dist/components/post-megadropdown.js +20 -11
  113. package/dist/components/post-menu-item.js +1 -1
  114. package/dist/components/post-menu-item2.js +30 -0
  115. package/dist/components/post-menu-trigger.js +1 -1
  116. package/dist/components/post-menu-trigger2.js +110 -0
  117. package/dist/components/post-menu.js +1 -1
  118. package/dist/components/post-menu2.js +237 -0
  119. package/dist/components/post-popover.js +8 -9
  120. package/dist/components/post-popovercontainer.js +1 -1
  121. package/dist/components/post-popovercontainer2.js +3043 -0
  122. package/dist/components/post-rating.js +10 -11
  123. package/dist/components/post-tab-header.js +8 -9
  124. package/dist/components/post-tab-panel.js +7 -8
  125. package/dist/components/post-tabs.js +7 -8
  126. package/dist/components/post-togglebutton.js +4 -5
  127. package/dist/components/post-tooltip-trigger.js +7 -8
  128. package/dist/components/post-tooltip.js +8 -9
  129. package/dist/components/react/index.d.ts +33 -0
  130. package/dist/components/react/index.js +2315 -0
  131. package/dist/components/{p-Cxrx7SXz.js → react/p-Amg0f2Yo.js} +40 -34
  132. package/dist/components/{p-C0H2ohSv.js → react/p-B6vPT8S3.js} +3 -3
  133. package/dist/components/{p-336Lbkey.js → react/p-BDs0pvkX.js} +2 -2
  134. package/dist/components/react/p-BLchVpF6.js +14 -0
  135. package/dist/components/{p-BM8mtEfS.js → react/p-BMdFdJWl.js} +2 -2
  136. package/dist/components/{p-DP5pj8mq.js → react/p-BS0ZqwA-.js} +31 -6
  137. package/dist/components/react/p-C35MCWIp.js +35 -0
  138. package/dist/components/react/p-CJ80BZ06.js +178 -0
  139. package/dist/{esm/index-BWC0gtGU.js → components/react/p-CV7fm1rW.js} +1 -1
  140. package/dist/components/react/p-C_2k3G1c.js +264 -0
  141. package/dist/components/{p-DVGX_JCp.js → react/p-D1oOccKr.js} +3 -3
  142. package/dist/components/{p-pHxypsHK.js → react/p-D50E7y6E.js} +24 -9
  143. package/dist/components/react/p-DO48NanC.js +3 -0
  144. package/dist/components/{p-i0-mizzM.js → react/p-DOo9tmN-.js} +2 -2
  145. package/dist/components/{p-DEi5TIMq.js → react/p-Do9awHW7.js} +3 -3
  146. package/dist/components/react/p-SbIC4aZX.js +11 -0
  147. package/dist/components/{p-8U5GFtQP.js → react/p-kraHE1r3.js} +2 -2
  148. package/dist/components/react/p-r4txK0AC.js +3 -0
  149. package/dist/components/{p-BSvy4uym.js → react/p-xelWyg_P.js} +8 -8
  150. package/dist/components/react/post-accordion-item.d.ts +11 -0
  151. package/dist/components/react/post-accordion-item.js +6 -0
  152. package/dist/components/react/post-accordion.d.ts +11 -0
  153. package/dist/components/react/post-accordion.js +6 -0
  154. package/dist/components/react/post-avatar.d.ts +11 -0
  155. package/dist/components/react/post-avatar.js +218 -0
  156. package/dist/components/react/post-back-to-top.d.ts +11 -0
  157. package/dist/components/react/post-back-to-top.js +145 -0
  158. package/dist/components/react/post-banner.d.ts +11 -0
  159. package/dist/components/react/post-banner.js +99 -0
  160. package/dist/components/react/post-breadcrumb-item.d.ts +11 -0
  161. package/dist/components/react/post-breadcrumb-item.js +6 -0
  162. package/dist/components/react/post-breadcrumbs.d.ts +11 -0
  163. package/dist/components/react/post-breadcrumbs.js +187 -0
  164. package/dist/components/react/post-card-control.d.ts +11 -0
  165. package/dist/components/react/post-card-control.js +327 -0
  166. package/dist/components/react/post-closebutton.d.ts +11 -0
  167. package/dist/components/react/post-closebutton.js +50 -0
  168. package/dist/components/react/post-collapsible-trigger.d.ts +11 -0
  169. package/dist/components/react/post-collapsible-trigger.js +6 -0
  170. package/dist/components/react/post-collapsible.d.ts +11 -0
  171. package/dist/components/react/post-collapsible.js +6 -0
  172. package/dist/components/react/post-footer.d.ts +11 -0
  173. package/dist/components/react/post-footer.js +117 -0
  174. package/dist/components/react/post-header.d.ts +11 -0
  175. package/dist/components/react/post-header.js +342 -0
  176. package/dist/components/react/post-icon.d.ts +11 -0
  177. package/dist/components/react/post-icon.js +6 -0
  178. package/dist/components/react/post-language-option.d.ts +11 -0
  179. package/dist/components/react/post-language-option.js +100 -0
  180. package/dist/components/react/post-language-switch.d.ts +11 -0
  181. package/dist/components/react/post-language-switch.js +158 -0
  182. package/dist/components/react/post-linkarea.d.ts +11 -0
  183. package/dist/components/react/post-linkarea.js +59 -0
  184. package/dist/components/react/post-list-item.d.ts +11 -0
  185. package/dist/components/react/post-list-item.js +39 -0
  186. package/dist/components/react/post-list.d.ts +11 -0
  187. package/dist/components/react/post-list.js +62 -0
  188. package/dist/components/react/post-logo.d.ts +11 -0
  189. package/dist/components/react/post-logo.js +59 -0
  190. package/dist/components/react/post-mainnavigation.d.ts +11 -0
  191. package/dist/components/react/post-mainnavigation.js +181 -0
  192. package/dist/components/react/post-megadropdown-trigger.d.ts +11 -0
  193. package/dist/components/react/post-megadropdown-trigger.js +137 -0
  194. package/dist/components/react/post-megadropdown.d.ts +11 -0
  195. package/dist/components/react/post-megadropdown.js +207 -0
  196. package/dist/components/react/post-menu-item.d.ts +11 -0
  197. package/dist/components/react/post-menu-item.js +6 -0
  198. package/dist/components/react/post-menu-trigger.d.ts +11 -0
  199. package/dist/components/react/post-menu-trigger.js +6 -0
  200. package/dist/components/react/post-menu.d.ts +11 -0
  201. package/dist/components/react/post-menu.js +6 -0
  202. package/dist/components/react/post-popover.d.ts +11 -0
  203. package/dist/components/react/post-popover.js +189 -0
  204. package/dist/components/react/post-popovercontainer.d.ts +11 -0
  205. package/dist/components/react/post-popovercontainer.js +6 -0
  206. package/dist/components/react/post-rating.d.ts +11 -0
  207. package/dist/components/react/post-rating.js +153 -0
  208. package/dist/components/react/post-tab-header.d.ts +11 -0
  209. package/dist/components/react/post-tab-header.js +53 -0
  210. package/dist/components/react/post-tab-panel.d.ts +11 -0
  211. package/dist/components/react/post-tab-panel.js +55 -0
  212. package/dist/components/react/post-tabs.d.ts +11 -0
  213. package/dist/components/react/post-tabs.js +197 -0
  214. package/dist/components/react/post-togglebutton.d.ts +11 -0
  215. package/dist/components/react/post-togglebutton.js +57 -0
  216. package/dist/components/react/post-tooltip-trigger.d.ts +11 -0
  217. package/dist/components/react/post-tooltip-trigger.js +5223 -0
  218. package/dist/components/react/post-tooltip.d.ts +11 -0
  219. package/dist/components/react/post-tooltip.js +115 -0
  220. package/dist/components/switch-variants.js +3 -0
  221. package/dist/docs.json +71 -35
  222. package/dist/esm/event-from-kraHE1r3.js +105 -0
  223. package/dist/esm/index-C8a0ddDa.js +4 -4
  224. package/dist/esm/index-VmK3ABCB.js +88 -0
  225. package/dist/esm/loader.js +1 -1
  226. package/dist/esm/package-DO48NanC.js +3 -0
  227. package/dist/esm/post-accordion_2.entry.js +7 -7
  228. package/dist/esm/post-avatar.entry.js +108 -81
  229. package/dist/esm/post-back-to-top.entry.js +3 -3
  230. package/dist/esm/post-banner.entry.js +4 -4
  231. package/dist/esm/post-breadcrumb-item_2.entry.js +4 -4
  232. package/dist/esm/post-breadcrumbs.entry.js +5 -5
  233. package/dist/esm/post-card-control.entry.js +5 -5
  234. package/dist/esm/post-closebutton_15.entry.js +135 -76
  235. package/dist/esm/post-collapsible_2.entry.js +5 -5
  236. package/dist/esm/post-components.js +1 -1
  237. package/dist/esm/post-footer.entry.js +4 -4
  238. package/dist/esm/post-linkarea.entry.js +19 -8
  239. package/dist/esm/post-popover.entry.js +4 -4
  240. package/dist/esm/post-rating.entry.js +4 -4
  241. package/dist/esm/post-tab-header.entry.js +4 -4
  242. package/dist/esm/post-tab-panel.entry.js +3 -3
  243. package/dist/esm/post-tabs.entry.js +2 -2
  244. package/dist/esm/post-tooltip-trigger.entry.js +3 -3
  245. package/dist/esm/post-tooltip.entry.js +4 -4
  246. package/dist/loader/cdn.js +1 -0
  247. package/dist/loader/index.cjs.js +1 -0
  248. package/{loader → dist/loader}/index.d.ts +1 -1
  249. package/dist/loader/index.es2017.js +1 -0
  250. package/{loader → dist/loader}/index.js +1 -1
  251. package/dist/post-components/p-01bc39c2.entry.js +1 -0
  252. package/dist/post-components/p-0dc1e940.entry.js +1 -0
  253. package/dist/post-components/p-16da91bc.entry.js +1 -0
  254. package/dist/post-components/p-26a04741.entry.js +1 -0
  255. package/dist/post-components/p-2f2f9b22.entry.js +1 -0
  256. package/dist/post-components/{p-45007aac.entry.js → p-33008981.entry.js} +1 -1
  257. package/dist/post-components/p-36358cd4.entry.js +1 -0
  258. package/dist/post-components/p-71c48d48.entry.js +1 -0
  259. package/dist/post-components/{p-e9802b56.entry.js → p-84395e1d.entry.js} +1 -1
  260. package/dist/post-components/p-848c10ac.entry.js +1 -0
  261. package/dist/post-components/{p-ab8017bb.entry.js → p-8d2e5814.entry.js} +1 -1
  262. package/dist/post-components/{p-a2fa5ce4.entry.js → p-9dbe6595.entry.js} +1 -1
  263. package/dist/post-components/p-DO48NanC.js +1 -0
  264. package/dist/post-components/{p-BWC0gtGU.js → p-VmK3ABCB.js} +1 -1
  265. package/dist/post-components/p-a982458f.entry.js +1 -0
  266. package/dist/post-components/{p-f67b616a.entry.js → p-b0aaa058.entry.js} +1 -1
  267. package/dist/post-components/{p-bbe02ba3.entry.js → p-bdeef760.entry.js} +1 -1
  268. package/dist/post-components/{p-2f698af4.entry.js → p-d221395c.entry.js} +1 -1
  269. package/dist/post-components/{p-57703aee.entry.js → p-e49aa78e.entry.js} +1 -1
  270. package/dist/post-components/p-eb405167.entry.js +1 -0
  271. package/dist/post-components/p-kraHE1r3.js +1 -0
  272. package/dist/post-components/post-components.esm.js +1 -1
  273. package/dist/types/animations/pop-in.d.ts +1 -0
  274. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +3 -3
  275. package/dist/types/components/post-avatar/avatar-utils.d.ts +3 -0
  276. package/dist/types/components/post-avatar/post-avatar.d.ts +17 -13
  277. package/dist/types/components/post-closebutton/post-closebutton.d.ts +0 -6
  278. package/dist/types/components/post-header/post-header.d.ts +2 -0
  279. package/dist/types/components/post-icon/post-icon.d.ts +11 -0
  280. package/dist/types/components/post-linkarea/post-linkarea.d.ts +6 -0
  281. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +2 -1
  282. package/dist/types/components/post-menu/post-menu.d.ts +7 -0
  283. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +6 -2
  284. package/dist/types/components/post-tabs/post-tabs.d.ts +2 -2
  285. package/dist/types/components.d.ts +19 -22
  286. package/dist/types/utils/component-on-ready.d.ts +2 -2
  287. package/hydrate/index.js +308 -201
  288. package/hydrate/index.mjs +308 -201
  289. package/package.json +24 -12
  290. package/dist/components/p-Z01QMrov.js +0 -3
  291. package/dist/esm/package-Z01QMrov.js +0 -3
  292. package/dist/post-components/p-031f7489.entry.js +0 -1
  293. package/dist/post-components/p-1e6a068a.entry.js +0 -1
  294. package/dist/post-components/p-2ca196d6.entry.js +0 -1
  295. package/dist/post-components/p-3adbdda7.entry.js +0 -1
  296. package/dist/post-components/p-7b8ab026.entry.js +0 -1
  297. package/dist/post-components/p-8U5GFtQP.js +0 -1
  298. package/dist/post-components/p-9428231b.entry.js +0 -1
  299. package/dist/post-components/p-Z01QMrov.js +0 -1
  300. package/dist/post-components/p-ac73ab00.entry.js +0 -1
  301. package/dist/post-components/p-c1cf39cb.entry.js +0 -1
  302. package/dist/post-components/p-d0d92071.entry.js +0 -1
  303. package/dist/post-components/p-e96239c4.entry.js +0 -1
  304. package/dist/prebuild.js +0 -26
  305. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/prebuild.d.ts +0 -1
  306. package/loader/cdn.js +0 -1
  307. package/loader/index.cjs.js +0 -1
  308. package/loader/index.es2017.js +0 -1
  309. /package/dist/components/{p-CJ80BZ06.js → breakpoints.js} +0 -0
  310. /package/dist/components/{p-SbIC4aZX.js → fade.js} +0 -0
  311. /package/dist/components/{p-C35MCWIp.js → get-focusable-children.js} +0 -0
  312. /package/dist/components/{p-r4txK0AC.js → heading-levels.js} +0 -0
  313. /package/dist/components/{p-BLchVpF6.js → index.browser.js} +0 -0
  314. /package/dist/components/{p-CV7fm1rW.js → index2.js} +0 -0
  315. /package/dist/components/{p-C_2k3G1c.js → long-press-event.js} +0 -0
  316. /package/dist/components/{p-CBFgkSgY.js → react/p-CBFgkSgY.js} +0 -0
  317. /package/dist/components/{p-DjIHLduJ.js → react/p-DjIHLduJ.js} +0 -0
@@ -13,6 +13,9 @@ import { PLACEMENT_TYPES } from "../../types/index";
13
13
  import { version } from "../../../../package";
14
14
  import { getFocusableChildren } from "../../utils/get-focusable-children";
15
15
  import { getRoot, checkEmptyOrOneOf, EventFrom } from "../../utils/index";
16
+ /**
17
+ * @part menu - The container element that holds the list of menu items.
18
+ */
16
19
  export class PostMenu {
17
20
  constructor() {
18
21
  this.lastFocusedElement = null;
@@ -49,18 +52,32 @@ export class PostMenu {
49
52
  }
50
53
  };
51
54
  this.handlePostToggle = (event) => {
52
- this.isVisible = event.detail;
55
+ this.isVisible = event.detail.isOpen;
53
56
  this.toggleMenu.emit(this.isVisible);
54
57
  requestAnimationFrame(() => {
55
58
  if (this.isVisible) {
56
59
  this.lastFocusedElement = this.root?.activeElement;
57
60
  const menuItems = this.getSlottedItems();
58
- if (menuItems.length > 0) {
59
- menuItems[0].focus();
61
+ if (event.detail.first) {
62
+ if (menuItems.length > 0) {
63
+ // Add role="menu" to the popovercontainer
64
+ this.host.setAttribute('role', 'menu');
65
+ // Add role="menuitem" to the focusable elements
66
+ menuItems.forEach(item => {
67
+ item.setAttribute('role', 'menuitem');
68
+ });
69
+ // Add aria-label to the menu
70
+ if (this.label)
71
+ this.host.setAttribute('aria-label', this.label);
72
+ }
60
73
  }
74
+ menuItems[0].focus();
61
75
  }
62
76
  else if (this.lastFocusedElement) {
63
- this.lastFocusedElement.focus();
77
+ setTimeout(() => {
78
+ // This timeout is added for NVDA to announce the menu as collapsed
79
+ this.lastFocusedElement.focus();
80
+ }, 0);
64
81
  }
65
82
  });
66
83
  };
@@ -173,7 +190,7 @@ export class PostMenu {
173
190
  .flatMap(el => Array.from(getFocusableChildren(el))));
174
191
  }
175
192
  render() {
176
- return (h(Host, { key: 'bca8873f7f98b03d3e6952bce4990d1c435bd5ec', "data-version": version, role: "menu" }, h("post-popovercontainer", { key: '805c1e528c4af6e35b7881395b2f9de9e430f8c8', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'f534119e208f2bb387f39824736aee766f550fa8', part: "menu" }, h("slot", { key: 'ec9ae42dab9aebd93aafdbebd15d8c39736c84df' })))));
193
+ return (h(Host, { key: '7b7fe6fccd27d3ff12eae3094b1a55b9b9778eb1', "data-version": version }, h("post-popovercontainer", { key: '6dae2883febd1e96ae1b34518dd2e9c634fafecb', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'e19c107831b020aa0039ea7a18465e4bb72380c4', part: "menu" }, h("slot", { key: '9d9862e73dd222435d196e67c540bf8266952d94' })))));
177
194
  }
178
195
  static get is() { return "post-menu"; }
179
196
  static get encapsulation() { return "shadow"; }
@@ -214,6 +231,25 @@ export class PostMenu {
214
231
  "setter": false,
215
232
  "reflect": false,
216
233
  "defaultValue": "'bottom'"
234
+ },
235
+ "label": {
236
+ "type": "string",
237
+ "attribute": "label",
238
+ "mutable": false,
239
+ "complexType": {
240
+ "original": "string",
241
+ "resolved": "string",
242
+ "references": {}
243
+ },
244
+ "required": false,
245
+ "optional": true,
246
+ "docs": {
247
+ "tags": [],
248
+ "text": "An accessible name for the menu."
249
+ },
250
+ "getter": false,
251
+ "setter": false,
252
+ "reflect": false
217
253
  }
218
254
  };
219
255
  }
@@ -2,7 +2,7 @@ import { h, Host } from "@stencil/core";
2
2
  import { version } from "../../../../package";
3
3
  export class PostMenuItem {
4
4
  render() {
5
- return (h(Host, { key: '6be606f22288f655320c5ef58f3d0f4bf39d7f62', role: "menuitem", "data-version": version }, h("slot", { key: 'a6d4b48b8cb09e27b19cc14def007e3754ff06c0' })));
5
+ return (h(Host, { key: '9d6015291b82728739de4263a62a59ad4a99c94d', "data-version": version }, h("slot", { key: '51f5ff356cddffc806639cc343437500f898065e' })));
6
6
  }
7
7
  static get is() { return "post-menu-item"; }
8
8
  static get originalStyleUrls() {
@@ -73,7 +73,7 @@ export class PostMenuTrigger {
73
73
  }
74
74
  }
75
75
  render() {
76
- return (h(Host, { key: '76b3c59cdae5c78cefaaf1ea2a9668a77bddd37e', "data-version": version, "tab-index": "-1" }, h("slot", { key: '3835d87c3795e694f7493ceb735bd638bdd2dea1' })));
76
+ return (h(Host, { key: '14592f9564fdb09b2e809374d5794bf71f576dbb', "data-version": version, "tab-index": "-1" }, h("slot", { key: 'a0f463000420df39035cc5a48369d230394b5e04' })));
77
77
  }
78
78
  static get is() { return "post-menu-trigger"; }
79
79
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- @keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}.btn-close{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:var(--post-device-border-radius-round);color:#000;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{background-color:ButtonFace !important}.btn-close:hover{background-color:Highlight !important}}.btn-close{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.btn-close::before{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16.267 16.667 6.667-6.533-.933-1.067-6.667 6.667-6.667-6.667-.933 1.067 6.667 6.533-6.667 6.667 1.067.933 6.533-6.667 6.667 6.667.933-1.067z'/%3E%3C/svg%3E");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;content:"";display:block;height:var(--post-core-dimension-24);width:var(--post-core-dimension-24)}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:#000}.btn-close:disabled{color:#999}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{color:CanvasText;forced-color-adjust:none}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:Highlight}}.btn-close-white{color:#e6e6e6}.btn-close-white:focus,.btn-close-white:not(:disabled):hover,.btn-close-white.pretend-hover{color:#fff}.btn-close-white:disabled{color:#999}*{box-sizing:border-box}:host{display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{color:var(--post-current-fg);background-color:var(--post-current-bg);display:flex;align-items:self-start;padding:.5em;min-width:160px;max-width:min(var(--post-popover-max-width, 280px),100vw)}.popover-content{padding:.5em;flex-grow:1}.btn-close{color:var(--post-current-fg)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:hover{color:HighlightText !important}}
1
+ .btn-close{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:var(--post-device-border-radius-round);color:#000;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{background-color:ButtonFace !important}.btn-close:hover{background-color:Highlight !important}}.btn-close{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.btn-close::before{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16.267 16.667 6.667-6.533-.933-1.067-6.667 6.667-6.667-6.667-.933 1.067 6.667 6.533-6.667 6.667 1.067.933 6.533-6.667 6.667 6.667.933-1.067z'/%3E%3C/svg%3E");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;content:"";display:block;height:var(--post-core-dimension-24);width:var(--post-core-dimension-24)}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:#000}.btn-close:disabled{color:#999}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{color:CanvasText;forced-color-adjust:none}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:Highlight}}.btn-close-white{color:#e6e6e6}.btn-close-white:focus,.btn-close-white:not(:disabled):hover,.btn-close-white.pretend-hover{color:#fff}.btn-close-white:disabled{color:#999}*{box-sizing:border-box}:host{display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{color:var(--post-current-fg);background-color:var(--post-current-bg);display:flex;align-items:self-start;padding:.5em;min-width:160px;max-width:min(var(--post-popover-max-width, 280px),100vw)}.popover-content{padding:.5em;flex-grow:1}.btn-close{color:var(--post-current-fg)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:hover{color:HighlightText !important}}
@@ -113,7 +113,7 @@ export class PostPopover {
113
113
  trigger.setAttribute('aria-expanded', force ? 'false' : null);
114
114
  }
115
115
  render() {
116
- return (h(Host, { key: 'fe756429b10af594a621b5769f129ee82b1aa6eb', "data-version": version }, h("post-popovercontainer", { key: '437b8c75fc878b3edb916887cfab3933ed08c7b2', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '082e00cb11a042cad036252743261395874b0a86', class: "popover-container" }, h("div", { key: 'be2e39304472bf351a524dc4f6eeb3ec9da8fc58', class: "popover-content" }, h("slot", { key: 'e1cd722828d3b136ad96553d81334b31de3289f9' })), h("button", { key: 'b6fa750860d95bf223da9224d6fa8531e577b3a5', class: "btn-close", onClick: () => this.hide() }, h("span", { key: 'dd3fb8e0e0e15c58df5b1aacfe5d4a6b90ec3843', class: "visually-hidden" }, this.closeButtonCaption))))));
116
+ return (h(Host, { key: 'c0a36766203f4b2f6350c9c92b304eb9052d2ceb', "data-version": version }, h("post-popovercontainer", { key: 'ec9d9e8af53408fd3d2d5aaedab10ccee94322fd', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '4edb0a99f660f5b4c1b35a934cc2d21bb84b1c44', class: "popover-container" }, h("div", { key: '96d3fc664e0a8c5d0b877cf46df9e80433909f5e', class: "popover-content" }, h("slot", { key: '978e3335f1214bed829042cfdf6bd7a23ae9229a' })), h("button", { key: 'b42d5a48ba83d6e1b592b0607e837e8036e0cf54', class: "btn-close", onClick: () => this.hide() }, h("span", { key: '95a7cfd1c4b6c30e04a86e58d4cf9a70eec885c8', class: "visually-hidden" }, this.closeButtonCaption))))));
117
117
  }
118
118
  static get is() { return "post-popover"; }
119
119
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- @keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}@layer polyfill{@supports not selector(:popover-open){[popover]:not(.\:popover-open){display:none}}}:where(post-popovercontainer){background-color:rgba(0,0,0,0);border:rgba(0,0,0,0);position:fixed;margin:0;padding:0;overflow:visible}:where(post-popovercontainer)>div{box-shadow:var(--post-device-elevation-300);width:max-content;max-width:100%;color:var(--post-current-fg);background-color:var(--post-current-bg);border-radius:4px}:where(post-popovercontainer)>div.animate-pop-in{animation:popIn .25s ease-out forwards}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(post-popovercontainer)>div{border:2px solid rgba(0,0,0,0)}}:where(post-popovercontainer)[tooltip]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}:where(post-popovercontainer)[safe-space]::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:auto}:where(post-popovercontainer)[safe-space=triangle]::after{clip-path:polygon(var(--post-safe-space-cursor-x, 0) var(--post-safe-space-cursor-y, 0), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)))}:where(post-popovercontainer)[safe-space=trapezoid]::after{clip-path:polygon(var(--post-safe-space-trigger-x-start, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-start, 0)), var(--post-safe-space-trigger-x-end, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-end, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)))}:where(post-popovercontainer):not(:has(.arrow))>div{box-shadow:var(--post-device-elevation-300)}:where(post-popovercontainer):has(.arrow)>div{filter:drop-shadow(1px 2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(2px 4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(4px 8px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.top)>div{filter:drop-shadow(0px -2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(0px -4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(0px -8px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.left)>div{filter:drop-shadow(-2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(-4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(-8px 0px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.right)>div{filter:drop-shadow(2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(8px 0px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer) .arrow{position:absolute;width:.5825rem;height:.5825rem;background-color:inherit;rotate:45deg;pointer-events:none;z-index:-1}:where(post-popovercontainer) .arrow.top{border-block-start:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.right{border-block-start:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.left{border-block-end:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.bottom{border-block-end:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0)}
1
+ @layer polyfill{@supports not selector(:popover-open){[popover]:not(.\:popover-open){display:none}}}:where(post-popovercontainer){background-color:rgba(0,0,0,0);border:rgba(0,0,0,0);position:fixed;margin:0;padding:0;overflow:visible}:where(post-popovercontainer)>div{box-shadow:var(--post-device-elevation-300);width:max-content;max-width:100%;color:var(--post-current-fg);background-color:var(--post-current-bg);border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(post-popovercontainer)>div{border:2px solid rgba(0,0,0,0)}}:where(post-popovercontainer)[tooltip]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}:where(post-popovercontainer)[safe-space]::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:auto}:where(post-popovercontainer)[safe-space=triangle]::after{clip-path:polygon(var(--post-safe-space-cursor-x, 0) var(--post-safe-space-cursor-y, 0), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)))}:where(post-popovercontainer)[safe-space=trapezoid]::after{clip-path:polygon(var(--post-safe-space-trigger-x-start, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-start, 0)), var(--post-safe-space-trigger-x-end, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-end, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)))}:where(post-popovercontainer):not(:has(.arrow))>div{box-shadow:var(--post-device-elevation-300)}:where(post-popovercontainer):has(.arrow)>div{filter:drop-shadow(1px 2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(2px 4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(4px 8px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.top)>div{filter:drop-shadow(0px -2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(0px -4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(0px -8px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.left)>div{filter:drop-shadow(-2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(-4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(-8px 0px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.right)>div{filter:drop-shadow(2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(8px 0px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer) .arrow{position:absolute;width:.5825rem;height:.5825rem;background-color:inherit;rotate:45deg;pointer-events:none;z-index:-1}:where(post-popovercontainer) .arrow.top{border-block-start:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.right{border-block-start:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.left{border-block-end:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.bottom{border-block-end:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0)}
@@ -5,11 +5,13 @@ import { arrow, autoUpdate, computePosition, flip, inline, limitShift, offset, s
5
5
  import { PLACEMENT_TYPES } from "../../types/index";
6
6
  // Polyfill for popovers, can be removed when https://caniuse.com/?search=popover is green
7
7
  import { apply, isSupported } from "@oddbird/popover-polyfill/fn";
8
+ import { popIn } from "../../animations/pop-in";
8
9
  /**
9
10
  * @slot - Default slot for placing content inside the popovercontainer.
10
11
  */
11
12
  export class PostPopovercontainer {
12
13
  constructor() {
14
+ this.firstOpen = true;
13
15
  /**
14
16
  * Defines the placement of the popovercontainer according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.
15
17
  * Popovercontainers are automatically flipped to the opposite side if there is not enough available space and are shifted
@@ -109,9 +111,19 @@ export class PostPopovercontainer {
109
111
  this.toggleTimeoutId = window.setTimeout(() => (this.toggleTimeoutId = null), 10);
110
112
  const isOpen = e.newState === 'open';
111
113
  if (isOpen) {
114
+ const content = this.host.querySelector('.popover-content');
112
115
  this.startAutoupdates();
116
+ if (content && this.animation === 'pop-in') {
117
+ popIn(content);
118
+ }
113
119
  if (this.safeSpace)
114
120
  window.addEventListener('mousemove', this.mouseTrackingHandler.bind(this));
121
+ // Emit event with `first` flag only true on the first open
122
+ if (this.firstOpen) {
123
+ this.postToggle.emit({ isOpen, first: this.firstOpen });
124
+ this.firstOpen = false;
125
+ return;
126
+ }
115
127
  }
116
128
  else {
117
129
  if (typeof this.clearAutoUpdate === 'function')
@@ -119,7 +131,7 @@ export class PostPopovercontainer {
119
131
  if (this.safeSpace)
120
132
  window.removeEventListener('mousemove', this.mouseTrackingHandler.bind(this));
121
133
  }
122
- this.postToggle.emit(isOpen);
134
+ this.postToggle.emit({ isOpen: isOpen, first: false });
123
135
  }
124
136
  /**
125
137
  * Start listening for DOM updates, scroll events etc. that have
@@ -250,10 +262,9 @@ export class PostPopovercontainer {
250
262
  }
251
263
  }
252
264
  render() {
253
- const animationClass = this.animation ? `animate-${this.animation}` : '';
254
- return (h(Host, { key: '357f53696ca28ab2c137d47e2192038dc756c289', "data-version": version, popover: this.manualClose ? 'manual' : 'auto' }, h("div", { key: '9c40bdc5034ccf14157ee1ae8ce33fe58a9049e4', class: animationClass }, this.arrow && (h("span", { key: '6133ab54aaea6f198560ca5cb30f5604318203f6', class: "arrow", ref: el => {
265
+ return (h(Host, { key: '1594b782ac56ae23eba2df3f452ad40015ace67d', "data-version": version, popover: this.manualClose ? 'manual' : 'auto' }, h("div", { key: '565cbf870aca9abbc665525a627922d1cfdb9195', class: "popover-content" }, this.arrow && (h("span", { key: 'add7d6f7b176e7365b5a0c25fa81dd2a9520e7f3', class: "arrow", ref: el => {
255
266
  this.arrowRef = el;
256
- } })), h("slot", { key: '39f53833a3f570b2c8807a5903b531c6733b0ada' }))));
267
+ } })), h("slot", { key: '308138890a4148c5c94b675e2a6b911fef1c31b5' }))));
257
268
  }
258
269
  static get is() { return "post-popovercontainer"; }
259
270
  static get originalStyleUrls() {
@@ -404,11 +415,11 @@ export class PostPopovercontainer {
404
415
  "composed": true,
405
416
  "docs": {
406
417
  "tags": [],
407
- "text": "Fires whenever the popovercontainer gets shown or hidden, passing the new state in event.details as a boolean"
418
+ "text": "Fires whenever the popovercontainer gets shown or hidden, passing in event.detail an object containing two booleans: `isOpen`, which is true if the popovercontainer was opened and false if it was closed, and `first`, which is true if it was opened for the first time."
408
419
  },
409
420
  "complexType": {
410
- "original": "boolean",
411
- "resolved": "boolean",
421
+ "original": "{ isOpen: boolean; first?: boolean }",
422
+ "resolved": "{ isOpen: boolean; first?: boolean; }",
412
423
  "references": {}
413
424
  }
414
425
  }];
@@ -1 +1 @@
1
- @keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}:host{display:inline-block}.rating{display:flex;flex-wrap:wrap;overflow:hidden;margin:0 calc(var(--post-core-dimension-4)*-1);border-radius:4px}.rating .star{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fff;position:relative;width:2rem;height:2rem;cursor:pointer}.rating .star .stroke,.rating .star .fill{display:block;width:100%;height:100%;transition:all ease 100ms}.rating .star .stroke{position:absolute;inset:auto;z-index:1;color:var(--post-rating-star-stroke)}.rating .star .fill{margin:1px;width:calc(100% - 2px);height:calc(100% - 2px);color:var(--post-rating-star-fill)}.rating .star.before-hover{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fc0}.rating .star.active{--post-rating-star-stroke: hsl(0, 0%, 20%);--post-rating-star-fill: #fc0}.rating .star.hover{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fc0}.rating .star.after-active{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: hsl(0, 0%, 80%)}.rating :focus{outline:none}.rating:focus-visible{outline-offset:var(--post-core-dimension-2);outline:var(--post-core-dimension-2) solid #1976c8}.rating[aria-readonly=true] .star,.rating[aria-disabled=true] .star{cursor:default}.rating[aria-disabled=true] .star{--post-rating-star-stroke: hsl(0, 0%, 60%);--post-rating-star-fill: #fff}.rating[aria-disabled=true] .star.active{cursor:default;--post-rating-star-stroke: hsl(0, 0%, 60%);--post-rating-star-fill: hsl(0, 0%, 90%)}
1
+ :host{display:inline-block}.rating{display:flex;flex-wrap:wrap;overflow:hidden;margin:0 calc(var(--post-core-dimension-4)*-1);border-radius:4px}.rating .star{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fff;position:relative;width:2rem;height:2rem;cursor:pointer}.rating .star .stroke,.rating .star .fill{display:block;width:100%;height:100%;transition:all ease 100ms}.rating .star .stroke{position:absolute;inset:auto;z-index:1;color:var(--post-rating-star-stroke)}.rating .star .fill{margin:1px;width:calc(100% - 2px);height:calc(100% - 2px);color:var(--post-rating-star-fill)}.rating .star.before-hover{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fc0}.rating .star.active{--post-rating-star-stroke: hsl(0, 0%, 20%);--post-rating-star-fill: #fc0}.rating .star.hover{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fc0}.rating .star.after-active{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: hsl(0, 0%, 80%)}.rating :focus{outline:none}.rating:focus-visible{outline-offset:var(--post-core-dimension-2);outline:var(--post-core-dimension-2) solid #1976c8}.rating[aria-readonly=true] .star,.rating[aria-disabled=true] .star{cursor:default}.rating[aria-disabled=true] .star{--post-rating-star-stroke: hsl(0, 0%, 60%);--post-rating-star-fill: #fff}.rating[aria-disabled=true] .star.active{cursor:default;--post-rating-star-stroke: hsl(0, 0%, 60%);--post-rating-star-fill: hsl(0, 0%, 90%)}
@@ -91,7 +91,7 @@ export class PostRating {
91
91
  }
92
92
  }
93
93
  render() {
94
- return (h(Host, { key: '588c5d3c4600faa939cab4b673e27d08182323da', "data-version": version }, h("div", { key: '8fced4724505cdc2f3fb3160cf276ed1280b5431', role: "slider", class: "rating", tabindex: "0", "aria-label": this.label, "aria-valuemin": "0", "aria-valuemax": this.stars, "aria-valuenow": this.currentRating, "aria-valuetext": `${this.currentRating} out of ${this.stars}`, "aria-readonly": this.readonly ? 'true' : 'false', onKeyDown: this.keydownHandler, onBlur: this.blurHandler }, Array.from({ length: this.stars }).map((v, i) => (h("div", { key: `star-${v}`, "aria-hidden": "true", class: {
94
+ return (h(Host, { key: 'b7dcf175b548433023ea3344be40b1b34f366f3c', "data-version": version }, h("div", { key: '1ec0c35a4ec969f489196116c4fdbaf89f203bed', role: "slider", class: "rating", tabindex: "0", "aria-label": this.label, "aria-valuemin": "0", "aria-valuemax": this.stars, "aria-valuenow": this.currentRating, "aria-valuetext": `${this.currentRating} out of ${this.stars}`, "aria-readonly": this.readonly ? 'true' : 'false', onKeyDown: this.keydownHandler, onBlur: this.blurHandler }, Array.from({ length: this.stars }).map((v, i) => (h("div", { key: `star-${v}`, "aria-hidden": "true", class: {
95
95
  'star': true,
96
96
  'before-hover': i < this.hoveredIndex,
97
97
  'active': i < Math.round(this.currentRating),
@@ -1 +1 @@
1
- .tab-title[role=tab]{display:inline-block;cursor:pointer;position:relative;box-sizing:border-box;padding:1rem;transition:background-color 100ms;border-right:1px solid rgba(0,0,0,0);border-left:1px solid rgba(0,0,0,0);outline-color:currentColor;opacity:.7;color:#000;text-decoration:none;background-color:rgba(0,0,0,0)}.tab-title[role=tab]:focus{background-color:unset;color:#000}.tab-title[role=tab]:hover{opacity:1;background-color:rgba(0,0,0,.6);color:#fff}.tab-title[role=tab]:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:rgba(0,0,0,.6);color:#fff;box-shadow:none}.tab-title[role=tab]:focus-visible::after{content:"";display:block;position:absolute;top:2px;right:1px;bottom:0;left:1px;box-shadow:0 0 0 1px #fff,0 0 0 2px #333}.tab-title[role=tab].active{z-index:1;border-right-color:#ccc;border-left-color:#ccc;opacity:1;background-color:#fff;color:#000;font-weight:700}.tab-title[role=tab].active::before{content:"";display:block;position:absolute;top:0;right:-1px;left:-1px;height:var(--post-core-dimension-4);background-color:#fc0}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:hover{background-color:rgba(255,255,255,.2)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:focus-visible{background-color:rgba(255,255,255,.2)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title[role=tab]{opacity:1;border-left-color:Canvas;border-right-color:Canvas;color:LinkText}.tab-title[role=tab]:hover,.tab-title[role=tab]:focus,.tab-title[role=tab]:focus-within,.tab-title[role=tab]:focus-visible{outline:var(--post-core-dimension-2) solid Highlight;outline-offset:calc(var(--post-core-dimension-4)*-1)}.tab-title[role=tab].active{border-left-color:ButtonText;border-right-color:ButtonText;color:Highlight}.tab-title[role=tab].active::before{background-color:Highlight}}@keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}:host{display:block}.tab-title{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title{background-color:ButtonFace !important}.tab-title:hover{background-color:Highlight !important}}
1
+ .tab-title[role=tab]{display:inline-block;cursor:pointer;position:relative;box-sizing:border-box;padding:1rem;transition:background-color 100ms;border-right:1px solid rgba(0,0,0,0);border-left:1px solid rgba(0,0,0,0);outline-color:currentColor;opacity:.7;color:#000;text-decoration:none;background-color:rgba(0,0,0,0)}.tab-title[role=tab]:focus{background-color:unset;color:#000}.tab-title[role=tab]:hover{opacity:1;background-color:rgba(0,0,0,.6);color:#fff}.tab-title[role=tab]:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:rgba(0,0,0,.6);color:#fff;box-shadow:none}.tab-title[role=tab]:focus-visible::after{content:"";display:block;position:absolute;top:2px;right:1px;bottom:0;left:1px;box-shadow:0 0 0 1px #fff,0 0 0 2px #333}.tab-title[role=tab].active{z-index:1;border-right-color:#ccc;border-left-color:#ccc;opacity:1;background-color:#fff;color:#000;font-weight:700}.tab-title[role=tab].active::before{content:"";display:block;position:absolute;top:0;right:-1px;left:-1px;height:var(--post-core-dimension-4);background-color:#fc0}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:hover{background-color:rgba(255,255,255,.2)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:focus-visible{background-color:rgba(255,255,255,.2)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title[role=tab]{opacity:1;border-left-color:Canvas;border-right-color:Canvas;color:LinkText}.tab-title[role=tab]:hover,.tab-title[role=tab]:focus,.tab-title[role=tab]:focus-within,.tab-title[role=tab]:focus-visible{outline:var(--post-core-dimension-2) solid Highlight;outline-offset:calc(var(--post-core-dimension-4)*-1)}.tab-title[role=tab].active{border-left-color:ButtonText;border-right-color:ButtonText;color:Highlight}.tab-title[role=tab].active::before{background-color:Highlight}}:host{display:block}.tab-title{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title{background-color:ButtonFace !important}.tab-title:hover{background-color:Highlight !important}}
@@ -13,7 +13,7 @@ export class PostTabHeader {
13
13
  this.tabId = `tab-${this.host.id || nanoid(6)}`;
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: 'd5f6cd0ceb819b475ec49f8ea66e6b4b25f04f8e', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '8a87fef31572674981dab80e56e6b20163b448ae' })));
16
+ return (h(Host, { key: '11b7499afb05a1d7e6f9af548667ec93f7c2af77', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '589c626bd31aed39c1f90b74ee81b2d9fdf3b7c0' })));
17
17
  }
18
18
  static get is() { return "post-tab-header"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -15,7 +15,7 @@ export class PostTabPanel {
15
15
  this.panelId = `panel-${this.host.id || nanoid(6)}`;
16
16
  }
17
17
  render() {
18
- return (h(Host, { key: '609dd2b8bf26e58e92a1dbc827e4479ac416d95b', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: '121538878e0298f1f16f6e20eeb15d5da8a5ba9c' })));
18
+ return (h(Host, { key: '3f4af71d9dcd4c8d3a25514c4decf322b0297e0f', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: 'fb2106769715676d200722103855cb3f82f30b83' })));
19
19
  }
20
20
  static get is() { return "post-tab-panel"; }
21
21
  static get encapsulation() { return "shadow"; }
@@ -5,8 +5,8 @@ import { componentOnReady } from "../../utils/index";
5
5
  /**
6
6
  * @slot tabs - Slot for placing tab headers. Each tab header should be a <post-tab-header> element.
7
7
  * @slot default - Slot for placing tab panels. Each tab panel should be a <post-tab-panel> element.
8
- * @part tabs - Add custom styles for the tab header container.
9
- * @part content - Add custom styles for the tab panel container.
8
+ * @part tabs - The container element that holds the set of tabs.
9
+ * @part content - The container element that displays the content of the currently active tab.
10
10
  */
11
11
  export class PostTabs {
12
12
  constructor() {
@@ -145,7 +145,7 @@ export class PostTabs {
145
145
  nextTab.focus();
146
146
  }
147
147
  render() {
148
- return (h(Host, { key: '467959e964a6d7f44ac3eee09f9c7d2b501af4fe', "data-version": version }, h("div", { key: '7ce4c0428360124f6937d123a4664d6f22e1110c', class: "tabs-wrapper", part: "tabs" }, h("div", { key: 'c41b073b855cb12a789c8656d12b0f6e9e20ea6f', class: "tabs", role: "tablist" }, h("slot", { key: '37935aa4c4d1ca4e71931e9e50d91e77075d2b64', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: 'bb84a728572c00256e219b5dd28322cbab699932', class: "tab-content", part: "content" }, h("slot", { key: 'e2aa9cf6a9faa9f5ded6018def77b9b818b2b986', onSlotchange: () => this.moveMisplacedTabs() }))));
148
+ return (h(Host, { key: '8e205e26a016d6370919723522dc993befbc110a', "data-version": version }, h("div", { key: '1bd1b1064c87ab7dd04731a945a6169ace2ac203', class: "tabs-wrapper", part: "tabs" }, h("div", { key: 'e9d7989ae0488ed8c9d8d225c9b6f95e29de15aa', class: "tabs", role: "tablist" }, h("slot", { key: '381baa02f41fc07b6ae777fdcc47040ceaa553ea', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: 'aef6b1b4608e2b006ac808f7fc674dbc85011faa', class: "tab-content", part: "content" }, h("slot", { key: '4b98797972204262b1ebf29fe368ea90e2ccbce7', onSlotchange: () => this.moveMisplacedTabs() }))));
149
149
  }
150
150
  static get is() { return "post-tabs"; }
151
151
  static get encapsulation() { return "shadow"; }
@@ -26,7 +26,7 @@ export class PostTogglebutton {
26
26
  this.host.addEventListener('keydown', (e) => this.handleKeydown(e));
27
27
  }
28
28
  render() {
29
- return (h(Host, { key: '1cebe1d1314e2c89f141869e07521e7f30e58617', "data-version": version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, h("slot", { key: '8b8c33befde8e93eca73a6239170c3786e2cf2f2' })));
29
+ return (h(Host, { key: 'f6b56dc64dbff8ef94e4104eebe845a04f113c75', "data-version": version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, h("slot", { key: '2846bb617c7a68ba6390fe27b043265569a9fd55' })));
30
30
  }
31
31
  static get is() { return "post-togglebutton"; }
32
32
  static get encapsulation() { return "shadow"; }
@@ -60,11 +60,11 @@ export class PostTooltip {
60
60
  * @param e Popovercontainer toggle event
61
61
  */
62
62
  handleToggle(e) {
63
- this.open = e.detail;
63
+ this.open = e.detail.isOpen;
64
64
  }
65
65
  render() {
66
66
  const popoverClass = `${this.arrow ? 'has-arrow' : ''}`;
67
- return (h(Host, { key: 'c5f293812e33520ea5a2c9224e93fe5e5e41cbe0', "data-version": version }, h("post-popovercontainer", { key: '7ec57e1a2315d95e7cb696cf6d2d1a1d8ae77257', safeSpace: "trapezoid", class: popoverClass, role: "tooltip", arrow: this.arrow, animation: this.animation, placement: this.placement, onPostToggle: e => this.handleToggle(e), ref: (el) => (this.popoverRef = el) }, h("slot", { key: '79c91307707c56345acb136a45acdae859d54c2b' }))));
67
+ return (h(Host, { key: 'b2e72e54ae7c21cc8d47749269dea98cd5cd4fdf', "data-version": version }, h("post-popovercontainer", { key: '4280b99b2b919d07b40f6112ee514907eeff7211', safeSpace: "trapezoid", class: popoverClass, role: "tooltip", arrow: this.arrow, animation: this.animation, placement: this.placement, onPostToggle: e => this.handleToggle(e), ref: (el) => (this.popoverRef = el) }, h("slot", { key: 'da25daf633dc82191f0002c54f29b35731e35082' }))));
68
68
  }
69
69
  static get is() { return "post-tooltip"; }
70
70
  static get encapsulation() { return "shadow"; }
@@ -169,7 +169,7 @@ export class PostTooltipTrigger {
169
169
  this.tooltip?.hide();
170
170
  }
171
171
  render() {
172
- return (h(Host, { key: '6106c5a0bbe8d19da424e3c9389829009543b6d5', "data-version": version }, h("slot", { key: 'c7358b9b796f287bd165951664a1dd61a0372dc4', onSlotchange: () => this.handleSlotChange() })));
172
+ return (h(Host, { key: '4890519cbc8f200cd5f2d6ef79822ec17776c7f0', "data-version": version }, h("slot", { key: '54e5d33bf2aae19f493aaff312f574b6e5fb55e6', onSlotchange: () => this.handleSlotChange() })));
173
173
  }
174
174
  static get is() { return "post-tooltip-trigger"; }
175
175
  static get encapsulation() { return "shadow"; }
@@ -7,7 +7,7 @@
7
7
  * @returns true if the event should be processed, false otherwise
8
8
  */
9
9
  function shouldProcessEvent(event, tag, host, ignoreNestedComponents) {
10
- if (!(event instanceof CustomEvent && event.target instanceof HTMLElement))
10
+ if (!(event instanceof Event && event.target instanceof HTMLElement))
11
11
  return false;
12
12
  const eventTarget = event.target;
13
13
  if (eventTarget.localName !== tag)
@@ -38,7 +38,7 @@ export function EventFrom(tag, option = { ignoreNestedComponents: true }) {
38
38
  };
39
39
  }
40
40
  else {
41
- // Creates a hidden storage property for the original method using a
41
+ // Creates a hidden storage property for the original method using a
42
42
  // modified key format (__[property]_original) to avoid naming conflicts
43
43
  const privateKey = `__${propertyKey}_original`;
44
44
  // Create hidden storage for original method
@@ -0,0 +1,39 @@
1
+ {
2
+ "componentNames": [
3
+ "post-accordion",
4
+ "post-accordion-item",
5
+ "post-avatar",
6
+ "post-back-to-top",
7
+ "post-banner",
8
+ "post-breadcrumb-item",
9
+ "post-breadcrumbs",
10
+ "post-card-control",
11
+ "post-closebutton",
12
+ "post-collapsible",
13
+ "post-collapsible-trigger",
14
+ "post-footer",
15
+ "post-header",
16
+ "post-icon",
17
+ "post-language-option",
18
+ "post-language-switch",
19
+ "post-linkarea",
20
+ "post-list",
21
+ "post-list-item",
22
+ "post-logo",
23
+ "post-mainnavigation",
24
+ "post-megadropdown",
25
+ "post-megadropdown-trigger",
26
+ "post-menu",
27
+ "post-menu-item",
28
+ "post-menu-trigger",
29
+ "post-popover",
30
+ "post-popovercontainer",
31
+ "post-rating",
32
+ "post-tab-header",
33
+ "post-tab-panel",
34
+ "post-tabs",
35
+ "post-togglebutton",
36
+ "post-tooltip",
37
+ "post-tooltip-trigger"
38
+ ]
39
+ }
@@ -7,7 +7,7 @@
7
7
  * @returns true if the event should be processed, false otherwise
8
8
  */
9
9
  function shouldProcessEvent(event, tag, host, ignoreNestedComponents) {
10
- if (!(event instanceof CustomEvent && event.target instanceof HTMLElement))
10
+ if (!(event instanceof Event && event.target instanceof HTMLElement))
11
11
  return false;
12
12
  const eventTarget = event.target;
13
13
  if (eventTarget.localName !== tag)
@@ -38,7 +38,7 @@ function EventFrom(tag, option = { ignoreNestedComponents: true }) {
38
38
  };
39
39
  }
40
40
  else {
41
- // Creates a hidden storage property for the original method using a
41
+ // Creates a hidden storage property for the original method using a
42
42
  // modified key format (__[property]_original) to avoid naming conflicts
43
43
  const privateKey = `__${propertyKey}_original`;
44
44
  // Create hidden storage for original method
@@ -0,0 +1,15 @@
1
+ import { I as IS_BROWSER } from './breakpoints.js';
2
+
3
+ /**
4
+ * getRootNode() can only be used after the element has been attached to the document!
5
+ * So use it for example in the componentDidLoad lifecycle hook.
6
+ */
7
+ function getRoot(element) {
8
+ const root = IS_BROWSER ? element.getRootNode() : element;
9
+ if (root instanceof Document || root instanceof ShadowRoot) {
10
+ return root;
11
+ }
12
+ throw new Error('Attempting to access root node before the element is attached to the document or shadow tree.');
13
+ }
14
+
15
+ export { getRoot as g };
@@ -1,3 +1,75 @@
1
+ /* PostComponents custom elements */
2
+ export { PostAccordion as PostAccordion } from '../types/components/post-accordion/post-accordion';
3
+ export { defineCustomElement as defineCustomElementPostAccordion } from './post-accordion';
4
+ export { PostAccordionItem as PostAccordionItem } from '../types/components/post-accordion-item/post-accordion-item';
5
+ export { defineCustomElement as defineCustomElementPostAccordionItem } from './post-accordion-item';
6
+ export { PostAvatar as PostAvatar } from '../types/components/post-avatar/post-avatar';
7
+ export { defineCustomElement as defineCustomElementPostAvatar } from './post-avatar';
8
+ export { PostBackToTop as PostBackToTop } from '../types/components/post-back-to-top/post-back-to-top';
9
+ export { defineCustomElement as defineCustomElementPostBackToTop } from './post-back-to-top';
10
+ export { PostBanner as PostBanner } from '../types/components/post-banner/post-banner';
11
+ export { defineCustomElement as defineCustomElementPostBanner } from './post-banner';
12
+ export { PostBreadcrumbItem as PostBreadcrumbItem } from '../types/components/post-breadcrumb-item/post-breadcrumb-item';
13
+ export { defineCustomElement as defineCustomElementPostBreadcrumbItem } from './post-breadcrumb-item';
14
+ export { PostBreadcrumbs as PostBreadcrumbs } from '../types/components/post-breadcrumbs/post-breadcrumbs';
15
+ export { defineCustomElement as defineCustomElementPostBreadcrumbs } from './post-breadcrumbs';
16
+ export { PostCardControl as PostCardControl } from '../types/components/post-card-control/post-card-control';
17
+ export { defineCustomElement as defineCustomElementPostCardControl } from './post-card-control';
18
+ export { PostClosebutton as PostClosebutton } from '../types/components/post-closebutton/post-closebutton';
19
+ export { defineCustomElement as defineCustomElementPostClosebutton } from './post-closebutton';
20
+ export { PostCollapsible as PostCollapsible } from '../types/components/post-collapsible/post-collapsible';
21
+ export { defineCustomElement as defineCustomElementPostCollapsible } from './post-collapsible';
22
+ export { PostCollapsibleTrigger as PostCollapsibleTrigger } from '../types/components/post-collapsible-trigger/post-collapsible-trigger';
23
+ export { defineCustomElement as defineCustomElementPostCollapsibleTrigger } from './post-collapsible-trigger';
24
+ export { PostFooter as PostFooter } from '../types/components/post-footer/post-footer';
25
+ export { defineCustomElement as defineCustomElementPostFooter } from './post-footer';
26
+ export { PostHeader as PostHeader } from '../types/components/post-header/post-header';
27
+ export { defineCustomElement as defineCustomElementPostHeader } from './post-header';
28
+ export { PostIcon as PostIcon } from '../types/components/post-icon/post-icon';
29
+ export { defineCustomElement as defineCustomElementPostIcon } from './post-icon';
30
+ export { PostLanguageOption as PostLanguageOption } from '../types/components/post-language-option/post-language-option';
31
+ export { defineCustomElement as defineCustomElementPostLanguageOption } from './post-language-option';
32
+ export { PostLanguageSwitch as PostLanguageSwitch } from '../types/components/post-language-switch/post-language-switch';
33
+ export { defineCustomElement as defineCustomElementPostLanguageSwitch } from './post-language-switch';
34
+ export { PostLinkarea as PostLinkarea } from '../types/components/post-linkarea/post-linkarea';
35
+ export { defineCustomElement as defineCustomElementPostLinkarea } from './post-linkarea';
36
+ export { PostList as PostList } from '../types/components/post-list/post-list';
37
+ export { defineCustomElement as defineCustomElementPostList } from './post-list';
38
+ export { PostListItem as PostListItem } from '../types/components/post-list-item/post-list-item';
39
+ export { defineCustomElement as defineCustomElementPostListItem } from './post-list-item';
40
+ export { PostLogo as PostLogo } from '../types/components/post-logo/post-logo';
41
+ export { defineCustomElement as defineCustomElementPostLogo } from './post-logo';
42
+ export { PostMainnavigation as PostMainnavigation } from '../types/components/post-mainnavigation/post-mainnavigation';
43
+ export { defineCustomElement as defineCustomElementPostMainnavigation } from './post-mainnavigation';
44
+ export { PostMegadropdown as PostMegadropdown } from '../types/components/post-megadropdown/post-megadropdown';
45
+ export { defineCustomElement as defineCustomElementPostMegadropdown } from './post-megadropdown';
46
+ export { PostMegadropdownTrigger as PostMegadropdownTrigger } from '../types/components/post-megadropdown-trigger/post-megadropdown-trigger';
47
+ export { defineCustomElement as defineCustomElementPostMegadropdownTrigger } from './post-megadropdown-trigger';
48
+ export { PostMenu as PostMenu } from '../types/components/post-menu/post-menu';
49
+ export { defineCustomElement as defineCustomElementPostMenu } from './post-menu';
50
+ export { PostMenuItem as PostMenuItem } from '../types/components/post-menu-item/post-menu-item';
51
+ export { defineCustomElement as defineCustomElementPostMenuItem } from './post-menu-item';
52
+ export { PostMenuTrigger as PostMenuTrigger } from '../types/components/post-menu-trigger/post-menu-trigger';
53
+ export { defineCustomElement as defineCustomElementPostMenuTrigger } from './post-menu-trigger';
54
+ export { PostPopover as PostPopover } from '../types/components/post-popover/post-popover';
55
+ export { defineCustomElement as defineCustomElementPostPopover } from './post-popover';
56
+ export { PostPopovercontainer as PostPopovercontainer } from '../types/components/post-popovercontainer/post-popovercontainer';
57
+ export { defineCustomElement as defineCustomElementPostPopovercontainer } from './post-popovercontainer';
58
+ export { PostRating as PostRating } from '../types/components/post-rating/post-rating';
59
+ export { defineCustomElement as defineCustomElementPostRating } from './post-rating';
60
+ export { PostTabHeader as PostTabHeader } from '../types/components/post-tab-header/post-tab-header';
61
+ export { defineCustomElement as defineCustomElementPostTabHeader } from './post-tab-header';
62
+ export { PostTabPanel as PostTabPanel } from '../types/components/post-tab-panel/post-tab-panel';
63
+ export { defineCustomElement as defineCustomElementPostTabPanel } from './post-tab-panel';
64
+ export { PostTabs as PostTabs } from '../types/components/post-tabs/post-tabs';
65
+ export { defineCustomElement as defineCustomElementPostTabs } from './post-tabs';
66
+ export { PostTogglebutton as PostTogglebutton } from '../types/components/post-togglebutton/post-togglebutton';
67
+ export { defineCustomElement as defineCustomElementPostTogglebutton } from './post-togglebutton';
68
+ export { PostTooltip as PostTooltip } from '../types/components/post-tooltip/post-tooltip';
69
+ export { defineCustomElement as defineCustomElementPostTooltip } from './post-tooltip';
70
+ export { PostTooltipTrigger as PostTooltipTrigger } from '../types/components/post-tooltip-trigger/post-tooltip-trigger';
71
+ export { defineCustomElement as defineCustomElementPostTooltipTrigger } from './post-tooltip-trigger';
72
+
1
73
  /**
2
74
  * Get the base path to where the assets can be found. Use "setAssetPath(path)"
3
75
  * if the path needs to be customized.
@@ -31,3 +103,4 @@ export interface SetPlatformOptions {
31
103
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
32
104
  }
33
105
  export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
106
+ export * from '../types';