@swisspost/design-system-components 9.0.0-next.32 → 9.0.0-next.34

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 (347) hide show
  1. package/dist/cjs/{attribute-observer-6d8b886b.js → attribute-observer-c3a805b2.js} +3 -1
  2. package/dist/cjs/{breakpoints-c6247c71.js → breakpoints-cdf1b747.js} +12 -7
  3. package/dist/cjs/event-guard-efabc84f.js +47 -0
  4. package/dist/cjs/get-root-8102fecd.js +17 -0
  5. package/dist/cjs/{index-d6bf2c66.js → index-b60129c4.js} +2 -2
  6. package/dist/cjs/index.cjs.js +25 -25
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/long-press-event-6e62d113.js +266 -0
  9. package/dist/cjs/{package-6f8f430c.js → package-3426e8f7.js} +1 -1
  10. package/dist/cjs/{post-accordion-e3a6d78e.js → post-accordion-3ac8dca8.js} +10 -12
  11. package/dist/cjs/{post-accordion-item-7ed1f630.js → post-accordion-item-aace6bc2.js} +10 -10
  12. package/dist/cjs/post-accordion-item.cjs.entry.js +5 -3
  13. package/dist/cjs/post-accordion.cjs.entry.js +5 -3
  14. package/dist/cjs/{post-avatar-de8ec197.js → post-avatar-53abd22f.js} +5 -4
  15. package/dist/cjs/post-avatar.cjs.entry.js +4 -3
  16. package/dist/cjs/post-back-to-top-b231fc1c.js +96 -0
  17. package/dist/cjs/post-back-to-top.cjs.entry.js +4 -3
  18. package/dist/cjs/{post-banner-bf523706.js → post-banner-e6d14bf1.js} +4 -8
  19. package/dist/cjs/post-banner.cjs.entry.js +4 -3
  20. package/dist/cjs/{post-breadcrumb-da55143a.js → post-breadcrumb-a929f2a6.js} +30 -22
  21. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +4 -3
  22. package/dist/cjs/post-breadcrumb.cjs.entry.js +4 -4
  23. package/dist/cjs/{post-card-control-0bcd7d16.js → post-card-control-cbee7b86.js} +26 -40
  24. package/dist/cjs/post-card-control.cjs.entry.js +4 -3
  25. package/dist/cjs/post-closebutton_15.cjs.entry.js +6 -5
  26. package/dist/cjs/{post-collapsible-trigger-a5e4451d.js → post-collapsible-trigger-d1cb592a.js} +39 -46
  27. package/dist/cjs/post-collapsible_2.cjs.entry.js +6 -5
  28. package/dist/cjs/post-components.cjs.js +2 -2
  29. package/dist/cjs/{post-footer-b15fee73.js → post-footer-4290dafc.js} +11 -11
  30. package/dist/cjs/post-footer.cjs.entry.js +4 -4
  31. package/dist/cjs/{post-linkarea-8c85bf5e.js → post-linkarea-f22f4f92.js} +5 -5
  32. package/dist/cjs/post-linkarea.cjs.entry.js +3 -3
  33. package/dist/cjs/{post-menu-item-509877cd.js → post-menu-item-afabaa61.js} +4 -4
  34. package/dist/cjs/{post-popover-1213aa19.js → post-popover-a4c72d38.js} +16 -14
  35. package/dist/cjs/post-popover.cjs.entry.js +5 -4
  36. package/dist/cjs/{post-rating-e1f8a668.js → post-rating-b87616fc.js} +4 -14
  37. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  38. package/dist/cjs/{post-tab-header-889a6c64.js → post-tab-header-45cb6bb4.js} +5 -4
  39. package/dist/cjs/post-tab-header.cjs.entry.js +4 -3
  40. package/dist/cjs/{post-tab-panel-300f39a9.js → post-tab-panel-00d16ba7.js} +4 -4
  41. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  42. package/dist/cjs/{post-tabs-dc281228.js → post-tabs-2c3a89d0.js} +5 -12
  43. package/dist/cjs/post-tabs.cjs.entry.js +4 -3
  44. package/dist/cjs/{post-tag-fd9e586f.js → post-tag-370a2f4d.js} +3 -3
  45. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  46. package/dist/cjs/{post-togglebutton-ad6ae1e4.js → post-togglebutton-2c9552e3.js} +969 -471
  47. package/dist/cjs/{post-tooltip-52d690e4.js → post-tooltip-4d4d2ea9.js} +39 -296
  48. package/dist/cjs/post-tooltip.cjs.entry.js +5 -4
  49. package/dist/collection/animations/collapse.js +3 -1
  50. package/dist/collection/components/post-accordion/post-accordion.js +6 -10
  51. package/dist/collection/components/post-accordion-item/post-accordion-item.js +6 -8
  52. package/dist/collection/components/post-avatar/post-avatar.js +3 -4
  53. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
  54. package/dist/collection/components/post-back-to-top/post-back-to-top.js +37 -19
  55. package/dist/collection/components/post-banner/post-banner.js +0 -6
  56. package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +16 -19
  57. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +0 -2
  58. package/dist/collection/components/post-card-control/post-card-control.js +24 -40
  59. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -0
  60. package/dist/collection/components/post-closebutton/post-closebutton.js +12 -2
  61. package/dist/collection/components/post-collapsible/post-collapsible.js +4 -10
  62. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +29 -32
  63. package/dist/collection/components/post-footer/post-footer.js +8 -9
  64. package/dist/collection/components/post-header/post-header.css +1 -1
  65. package/dist/collection/components/post-header/post-header.js +16 -19
  66. package/dist/collection/components/post-icon/post-icon.js +5 -7
  67. package/dist/collection/components/post-language-option/post-language-option.js +1 -10
  68. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
  69. package/dist/collection/components/post-language-switch/post-language-switch.js +25 -31
  70. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -1
  71. package/dist/collection/components/post-linkarea/post-linkarea.js +2 -2
  72. package/dist/collection/components/post-list/post-list.js +1 -3
  73. package/dist/collection/components/post-list-item/post-list-item.js +1 -2
  74. package/dist/collection/components/post-logo/post-logo.js +1 -2
  75. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  76. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +98 -182
  77. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  78. package/dist/collection/components/post-megadropdown/post-megadropdown.js +20 -30
  79. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +42 -36
  80. package/dist/collection/components/post-menu/post-menu.js +51 -52
  81. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +13 -15
  82. package/dist/collection/components/post-popover/post-popover.js +12 -12
  83. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +30 -33
  84. package/dist/collection/components/post-rating/post-rating.js +1 -12
  85. package/dist/collection/components/post-tab-header/post-tab-header.js +2 -3
  86. package/dist/collection/components/post-tab-panel/post-tab-panel.js +2 -3
  87. package/dist/collection/components/post-tabs/post-tabs.js +1 -10
  88. package/dist/collection/components/post-tag/post-tag.js +0 -1
  89. package/dist/collection/components/post-togglebutton/post-togglebutton.js +10 -11
  90. package/dist/collection/components/post-tooltip/post-tooltip.js +36 -32
  91. package/dist/collection/utils/attribute-observer.js +2 -1
  92. package/dist/collection/utils/breakpoints.js +9 -7
  93. package/dist/collection/utils/environment.js +2 -0
  94. package/dist/collection/utils/event-guard.js +43 -0
  95. package/dist/collection/utils/get-root.js +6 -1
  96. package/dist/collection/utils/index.js +5 -0
  97. package/dist/collection/utils/is-motion-reduced.js +2 -1
  98. package/dist/components/attribute-observer.js +3 -1
  99. package/dist/components/breakpoints.js +12 -8
  100. package/dist/components/event-guard.js +45 -0
  101. package/dist/components/get-root.js +7 -1
  102. package/dist/components/long-press-event.js +264 -0
  103. package/dist/components/package.js +1 -1
  104. package/dist/components/post-accordion-item2.js +8 -8
  105. package/dist/components/post-accordion2.js +8 -10
  106. package/dist/components/post-avatar2.js +4 -3
  107. package/dist/components/post-back-to-top2.js +40 -20
  108. package/dist/components/post-banner2.js +2 -6
  109. package/dist/components/post-breadcrumb-item2.js +2 -2
  110. package/dist/components/post-breadcrumb2.js +28 -20
  111. package/dist/components/post-card-control2.js +25 -39
  112. package/dist/components/post-closebutton2.js +8 -3
  113. package/dist/components/post-collapsible-trigger2.js +33 -35
  114. package/dist/components/post-collapsible2.js +9 -12
  115. package/dist/components/post-footer2.js +8 -8
  116. package/dist/components/post-header2.js +18 -20
  117. package/dist/components/post-icon2.js +6 -6
  118. package/dist/components/post-language-option2.js +3 -10
  119. package/dist/components/post-language-switch2.js +28 -31
  120. package/dist/components/post-linkarea2.js +5 -4
  121. package/dist/components/post-list-item2.js +2 -2
  122. package/dist/components/post-list2.js +2 -3
  123. package/dist/components/post-logo2.js +3 -2
  124. package/dist/components/post-mainnavigation2.js +94 -182
  125. package/dist/components/post-megadropdown-trigger2.js +44 -36
  126. package/dist/components/post-megadropdown2.js +22 -31
  127. package/dist/components/post-menu-trigger2.js +15 -15
  128. package/dist/components/post-menu2.js +53 -52
  129. package/dist/components/post-popover2.js +14 -12
  130. package/dist/components/post-popovercontainer2.js +638 -36
  131. package/dist/components/post-rating2.js +2 -12
  132. package/dist/components/post-tab-header2.js +4 -3
  133. package/dist/components/post-tab-panel2.js +3 -3
  134. package/dist/components/post-tabs2.js +3 -10
  135. package/dist/components/post-tag2.js +1 -1
  136. package/dist/components/post-togglebutton2.js +12 -11
  137. package/dist/components/post-tooltip2.js +37 -294
  138. package/dist/docs.json +21 -15
  139. package/dist/esm/{attribute-observer-2f203993.js → attribute-observer-009deee5.js} +3 -1
  140. package/dist/esm/{breakpoints-bbe0c54e.js → breakpoints-7812702e.js} +12 -8
  141. package/dist/esm/event-guard-538ee077.js +45 -0
  142. package/dist/esm/get-root-1b1af46f.js +15 -0
  143. package/dist/esm/{index-3419e46d.js → index-f4d19816.js} +2 -2
  144. package/dist/esm/index.js +25 -25
  145. package/dist/esm/loader.js +3 -3
  146. package/dist/esm/long-press-event-04d24397.js +264 -0
  147. package/dist/esm/package-8986a24c.js +3 -0
  148. package/dist/esm/{post-accordion-7b6fb9c3.js → post-accordion-577b52a0.js} +10 -12
  149. package/dist/esm/{post-accordion-item-d40c0b26.js → post-accordion-item-99053b41.js} +10 -10
  150. package/dist/esm/post-accordion-item.entry.js +5 -3
  151. package/dist/esm/post-accordion.entry.js +5 -3
  152. package/dist/esm/{post-avatar-04ca6e3e.js → post-avatar-2914706c.js} +5 -4
  153. package/dist/esm/post-avatar.entry.js +4 -3
  154. package/dist/esm/post-back-to-top-4c7b1b47.js +94 -0
  155. package/dist/esm/post-back-to-top.entry.js +4 -3
  156. package/dist/esm/{post-banner-7c37e3ef.js → post-banner-295fd0f5.js} +4 -8
  157. package/dist/esm/post-banner.entry.js +4 -3
  158. package/dist/esm/{post-breadcrumb-59e4d655.js → post-breadcrumb-1abfb312.js} +30 -22
  159. package/dist/esm/post-breadcrumb-item_2.entry.js +4 -3
  160. package/dist/esm/post-breadcrumb.entry.js +4 -4
  161. package/dist/esm/{post-card-control-5471488b.js → post-card-control-ad72d4f8.js} +26 -40
  162. package/dist/esm/post-card-control.entry.js +4 -3
  163. package/dist/esm/post-closebutton_15.entry.js +6 -5
  164. package/dist/esm/{post-collapsible-trigger-1f6d816e.js → post-collapsible-trigger-6b4ece20.js} +39 -46
  165. package/dist/esm/post-collapsible_2.entry.js +6 -5
  166. package/dist/esm/post-components.js +3 -3
  167. package/dist/esm/{post-footer-d30f4dc8.js → post-footer-a5105e66.js} +11 -11
  168. package/dist/esm/post-footer.entry.js +4 -4
  169. package/dist/esm/{post-linkarea-8e1a561e.js → post-linkarea-22f97a88.js} +5 -5
  170. package/dist/esm/post-linkarea.entry.js +3 -3
  171. package/dist/esm/{post-menu-item-0c8477eb.js → post-menu-item-9465a1f3.js} +4 -4
  172. package/dist/esm/{post-popover-c43969ca.js → post-popover-e9b4569c.js} +16 -14
  173. package/dist/esm/post-popover.entry.js +5 -4
  174. package/dist/esm/{post-rating-94148df7.js → post-rating-ae16e3c9.js} +4 -14
  175. package/dist/esm/post-rating.entry.js +3 -3
  176. package/dist/esm/{post-tab-header-82df0ba9.js → post-tab-header-11f23150.js} +5 -4
  177. package/dist/esm/post-tab-header.entry.js +4 -3
  178. package/dist/esm/{post-tab-panel-a6512f53.js → post-tab-panel-0f3a952e.js} +4 -4
  179. package/dist/esm/post-tab-panel.entry.js +3 -3
  180. package/dist/esm/{post-tabs-d26ce341.js → post-tabs-1192509c.js} +5 -12
  181. package/dist/esm/post-tabs.entry.js +4 -3
  182. package/dist/esm/{post-tag-41d1667e.js → post-tag-8be0a71c.js} +3 -3
  183. package/dist/esm/post-tag.entry.js +3 -3
  184. package/dist/esm/{post-togglebutton-4f94bddb.js → post-togglebutton-b634fc7c.js} +969 -471
  185. package/dist/esm/{post-tooltip-20f916db.js → post-tooltip-f64bd0cc.js} +39 -296
  186. package/dist/esm/post-tooltip.entry.js +5 -4
  187. package/dist/post-components/index.esm.js +1 -1
  188. package/dist/post-components/p-0889c759.js +1 -0
  189. package/dist/post-components/p-0f398677.js +1 -0
  190. package/dist/post-components/p-1038fc25.js +1 -0
  191. package/dist/post-components/p-30f94eca.entry.js +1 -0
  192. package/dist/post-components/p-31bb6dc5.entry.js +1 -0
  193. package/dist/post-components/p-32173742.js +1 -0
  194. package/dist/post-components/p-338a2507.js +1 -0
  195. package/dist/post-components/p-36540dd6.entry.js +1 -0
  196. package/dist/post-components/p-3aa766a6.js +1 -0
  197. package/dist/post-components/p-3b0158b3.js +1 -0
  198. package/dist/post-components/p-40db8cd5.js +1 -0
  199. package/dist/post-components/p-44f13ce4.entry.js +1 -0
  200. package/dist/post-components/p-46a9324f.entry.js +1 -0
  201. package/dist/post-components/p-49c5aa99.js +1 -0
  202. package/dist/post-components/p-4cd4a936.entry.js +1 -0
  203. package/dist/post-components/p-548ef2f5.entry.js +1 -0
  204. package/dist/post-components/p-58f453dd.js +1 -0
  205. package/dist/post-components/p-5f54b77f.js +1 -0
  206. package/dist/post-components/p-60bb7f26.js +1 -0
  207. package/dist/post-components/p-60bfa4be.entry.js +1 -0
  208. package/dist/post-components/p-6b31a76a.js +1 -0
  209. package/dist/post-components/p-6ee81c5d.js +1 -0
  210. package/dist/post-components/p-6faad212.entry.js +1 -0
  211. package/dist/post-components/p-722ffaae.js +1 -0
  212. package/dist/post-components/p-74a0b44c.entry.js +1 -0
  213. package/dist/post-components/{p-28e77ad3.js → p-78b4c699.js} +1 -1
  214. package/dist/post-components/p-7aa0468b.entry.js +1 -0
  215. package/dist/post-components/p-7afc495e.entry.js +1 -0
  216. package/dist/post-components/p-8db32dab.js +8 -0
  217. package/dist/post-components/p-96034ba4.entry.js +1 -0
  218. package/dist/post-components/p-9aaf9f54.js +1 -0
  219. package/dist/post-components/{p-5c758f41.js → p-9e461613.js} +1 -1
  220. package/dist/post-components/p-ab4073be.js +1 -0
  221. package/dist/post-components/p-abd7eb91.js +8 -0
  222. package/dist/post-components/p-afb8a487.entry.js +1 -0
  223. package/dist/post-components/p-b003b381.js +1 -0
  224. package/dist/post-components/p-b97dea1e.entry.js +1 -0
  225. package/dist/post-components/p-be37cf2a.js +1 -0
  226. package/dist/post-components/p-c31b56ed.js +1 -0
  227. package/dist/post-components/p-ccbb51fe.js +1 -0
  228. package/dist/post-components/p-d3900385.entry.js +1 -0
  229. package/dist/post-components/p-ef49153c.entry.js +1 -0
  230. package/dist/post-components/p-f27e5691.js +1 -0
  231. package/dist/post-components/p-f553019f.entry.js +1 -0
  232. package/dist/post-components/p-ffc1db17.entry.js +1 -0
  233. package/dist/post-components/post-components.esm.js +1 -1
  234. package/dist/types/components/post-avatar/post-avatar.d.ts +1 -1
  235. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +3 -1
  236. package/dist/types/components/post-card-control/post-card-control.d.ts +1 -1
  237. package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +9 -14
  238. package/dist/types/components/post-footer/post-footer.d.ts +2 -2
  239. package/dist/types/components/post-header/post-header.d.ts +1 -0
  240. package/dist/types/components/post-icon/post-icon.d.ts +0 -1
  241. package/dist/types/components/post-language-switch/post-language-switch.d.ts +5 -5
  242. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +14 -39
  243. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +2 -0
  244. package/dist/types/components/post-menu/post-menu.d.ts +1 -0
  245. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +1 -1
  246. package/dist/types/components/post-popover/post-popover.d.ts +3 -1
  247. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +1 -1
  248. package/dist/types/components/post-tooltip/post-tooltip.d.ts +6 -1
  249. package/dist/types/components.d.ts +4 -4
  250. package/dist/types/popover-fn.d.ts +11 -0
  251. package/dist/types/utils/environment.d.ts +2 -0
  252. package/dist/types/utils/event-guard.d.ts +4 -0
  253. package/dist/types/utils/get-root.d.ts +4 -0
  254. package/dist/types/utils/index.d.ts +5 -0
  255. package/loaders/attribute-observer.js +3 -1
  256. package/loaders/breakpoints.js +12 -8
  257. package/loaders/event-guard.js +45 -0
  258. package/loaders/get-root.js +7 -1
  259. package/loaders/index.js +3 -3
  260. package/loaders/long-press-event.js +264 -0
  261. package/loaders/package.js +1 -1
  262. package/loaders/post-accordion-item2.js +8 -8
  263. package/loaders/post-accordion.js +8 -10
  264. package/loaders/post-avatar.js +4 -3
  265. package/loaders/post-back-to-top.js +40 -20
  266. package/loaders/post-banner.js +2 -6
  267. package/loaders/post-breadcrumb-item2.js +2 -2
  268. package/loaders/post-breadcrumb.js +28 -20
  269. package/loaders/post-card-control.js +25 -39
  270. package/loaders/post-closebutton.js +8 -3
  271. package/loaders/post-collapsible-trigger2.js +33 -35
  272. package/loaders/post-collapsible2.js +9 -12
  273. package/loaders/post-footer.js +8 -8
  274. package/loaders/post-header.js +18 -20
  275. package/loaders/post-icon2.js +6 -6
  276. package/loaders/post-language-option.js +3 -10
  277. package/loaders/post-language-switch.js +28 -31
  278. package/loaders/post-linkarea.js +5 -4
  279. package/loaders/post-list-item.js +2 -2
  280. package/loaders/post-list.js +2 -3
  281. package/loaders/post-logo.js +3 -2
  282. package/loaders/post-mainnavigation.js +94 -182
  283. package/loaders/post-megadropdown-trigger.js +44 -36
  284. package/loaders/post-megadropdown.js +22 -31
  285. package/loaders/post-menu-trigger2.js +15 -15
  286. package/loaders/post-menu2.js +53 -52
  287. package/loaders/post-popover.js +14 -12
  288. package/loaders/post-popovercontainer2.js +638 -36
  289. package/loaders/post-rating.js +2 -12
  290. package/loaders/post-tab-header.js +4 -3
  291. package/loaders/post-tab-panel.js +3 -3
  292. package/loaders/post-tabs.js +3 -10
  293. package/loaders/post-tag.js +1 -1
  294. package/loaders/post-togglebutton.js +12 -11
  295. package/loaders/post-tooltip.js +37 -294
  296. package/package.json +5 -5
  297. package/dist/cjs/debounce-158fd76f.js +0 -13
  298. package/dist/cjs/get-root-7a3498ef.js +0 -11
  299. package/dist/cjs/post-back-to-top-6a1c1ba4.js +0 -76
  300. package/dist/components/debounce.js +0 -11
  301. package/dist/esm/debounce-e54c7131.js +0 -11
  302. package/dist/esm/get-root-7af2e0d1.js +0 -9
  303. package/dist/esm/package-70367d05.js +0 -3
  304. package/dist/esm/post-back-to-top-abe253c1.js +0 -74
  305. package/dist/post-components/p-015361b5.entry.js +0 -1
  306. package/dist/post-components/p-077edb8c.js +0 -1
  307. package/dist/post-components/p-08a13d05.js +0 -1
  308. package/dist/post-components/p-08c3b919.entry.js +0 -1
  309. package/dist/post-components/p-0d7b0c2e.entry.js +0 -1
  310. package/dist/post-components/p-12f9a91e.entry.js +0 -1
  311. package/dist/post-components/p-20137c6a.entry.js +0 -1
  312. package/dist/post-components/p-21254d9c.entry.js +0 -1
  313. package/dist/post-components/p-22513a27.entry.js +0 -1
  314. package/dist/post-components/p-3638e50d.js +0 -1
  315. package/dist/post-components/p-4397f28e.js +0 -1
  316. package/dist/post-components/p-494a2a31.js +0 -1
  317. package/dist/post-components/p-509987da.entry.js +0 -1
  318. package/dist/post-components/p-5aeb3656.js +0 -1
  319. package/dist/post-components/p-5d0bb74d.js +0 -1
  320. package/dist/post-components/p-5e0f6c12.js +0 -1
  321. package/dist/post-components/p-5f89f4e8.entry.js +0 -1
  322. package/dist/post-components/p-6213f0dc.entry.js +0 -1
  323. package/dist/post-components/p-6ad7bf0f.js +0 -1
  324. package/dist/post-components/p-6f058a98.js +0 -1
  325. package/dist/post-components/p-737d76cb.js +0 -15
  326. package/dist/post-components/p-753a1935.js +0 -1
  327. package/dist/post-components/p-88a2cdaa.js +0 -1
  328. package/dist/post-components/p-90935fdd.js +0 -1
  329. package/dist/post-components/p-931c4523.js +0 -1
  330. package/dist/post-components/p-9748a355.js +0 -1
  331. package/dist/post-components/p-97865e22.entry.js +0 -1
  332. package/dist/post-components/p-a200c9c7.js +0 -1
  333. package/dist/post-components/p-a35c235a.entry.js +0 -1
  334. package/dist/post-components/p-a4264a61.entry.js +0 -1
  335. package/dist/post-components/p-a54c63d0.entry.js +0 -1
  336. package/dist/post-components/p-aebe402d.entry.js +0 -1
  337. package/dist/post-components/p-b43e79e3.entry.js +0 -1
  338. package/dist/post-components/p-c0c71e37.js +0 -1
  339. package/dist/post-components/p-c0ca344d.js +0 -1
  340. package/dist/post-components/p-c554fcf3.js +0 -1
  341. package/dist/post-components/p-cff7c06f.entry.js +0 -1
  342. package/dist/post-components/p-d1f70a05.entry.js +0 -1
  343. package/dist/post-components/p-dc67e6de.entry.js +0 -1
  344. package/dist/post-components/p-e1baac59.js +0 -1
  345. package/dist/post-components/p-f1ceccf3.js +0 -1
  346. package/dist/post-components/p-fc91cbc2.js +0 -1
  347. package/loaders/debounce.js +0 -11
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-d6bf2c66.js');
4
- const _package = require('./package-6f8f430c.js');
5
- const attributeObserver = require('./attribute-observer-6d8b886b.js');
3
+ const index = require('./index-b60129c4.js');
4
+ const attributeObserver = require('./attribute-observer-c3a805b2.js');
6
5
  const index$1 = require('./index-23e36ff7.js');
6
+ const breakpoints = require('./breakpoints-cdf1b747.js');
7
+ const _package = require('./package-3426e8f7.js');
7
8
 
8
9
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
9
10
 
@@ -4509,274 +4510,14 @@ module.exports = exports['default'];
4509
4510
 
4510
4511
  const isFocusable = /*@__PURE__*/getDefaultExportFromCjs(focusable.exports);
4511
4512
 
4512
- /*!
4513
- * long-press-event - v@version@
4514
- * Pure JavaScript long-press-event
4515
- * https://github.com/john-doherty/long-press-event
4516
- * @author John Doherty <www.johndoherty.info>
4517
- * @license MIT
4518
- */
4519
- (function (window, document) {
4520
-
4521
- // local timer object based on rAF
4522
- var timer = null;
4523
-
4524
- // check if we're using a touch screen
4525
- var hasPointerEvents = (('PointerEvent' in window) || (window.navigator && 'msPointerEnabled' in window.navigator));
4526
- var isTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0));
4527
-
4528
- // switch to pointer events or touch events if using a touch screen
4529
- var mouseDown = hasPointerEvents ? 'pointerdown' : isTouch ? 'touchstart' : 'mousedown';
4530
- var mouseUp = hasPointerEvents ? 'pointerup' : isTouch ? 'touchend' : 'mouseup';
4531
- var mouseMove = hasPointerEvents ? 'pointermove' : isTouch ? 'touchmove' : 'mousemove';
4532
- var mouseLeave = hasPointerEvents ? 'pointerleave' : isTouch ? 'touchleave' : 'mouseleave';
4533
-
4534
- // track number of pixels the mouse moves during long press
4535
- var startX = 0; // mouse x position when timer started
4536
- var startY = 0; // mouse y position when timer started
4537
- var maxDiffX = 10; // max number of X pixels the mouse can move during long press before it is canceled
4538
- var maxDiffY = 10; // max number of Y pixels the mouse can move during long press before it is canceled
4539
-
4540
- // patch CustomEvent to allow constructor creation (IE/Chrome)
4541
- if (typeof window.CustomEvent !== 'function') {
4542
-
4543
- window.CustomEvent = function (event, params) {
4544
-
4545
- params = params || { bubbles: false, cancelable: false, detail: undefined };
4546
-
4547
- var evt = document.createEvent('CustomEvent');
4548
- evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
4549
- return evt;
4550
- };
4551
-
4552
- window.CustomEvent.prototype = window.Event.prototype;
4553
- }
4554
-
4555
- // requestAnimationFrame() shim by Paul Irish
4556
- window.requestAnimFrame = (function () {
4557
- return window.requestAnimationFrame ||
4558
- window.webkitRequestAnimationFrame ||
4559
- window.mozRequestAnimationFrame ||
4560
- window.oRequestAnimationFrame ||
4561
- window.msRequestAnimationFrame || function (callback) {
4562
- window.setTimeout(callback, 1000 / 60);
4563
- };
4564
- })();
4565
-
4566
- /**
4567
- * Behaves the same as setTimeout except uses requestAnimationFrame() where possible for better performance
4568
- * @param {function} fn The callback function
4569
- * @param {int} delay The delay in milliseconds
4570
- * @returns {object} handle to the timeout object
4571
- */
4572
- function requestTimeout(fn, delay) {
4573
-
4574
- if (!window.requestAnimationFrame && !window.webkitRequestAnimationFrame &&
4575
- !(window.mozRequestAnimationFrame && window.mozCancelRequestAnimationFrame) && // Firefox 5 ships without cancel support
4576
- !window.oRequestAnimationFrame && !window.msRequestAnimationFrame) return window.setTimeout(fn, delay);
4577
-
4578
- var start = new Date().getTime();
4579
- var handle = {};
4580
-
4581
- var loop = function () {
4582
- var current = new Date().getTime();
4583
- var delta = current - start;
4584
-
4585
- if (delta >= delay) {
4586
- fn.call();
4587
- }
4588
- else {
4589
- handle.value = requestAnimFrame(loop);
4590
- }
4591
- };
4592
-
4593
- handle.value = requestAnimFrame(loop);
4594
-
4595
- return handle;
4596
- }
4597
-
4598
- /**
4599
- * Behaves the same as clearTimeout except uses cancelRequestAnimationFrame() where possible for better performance
4600
- * @param {object} handle The callback function
4601
- * @returns {void}
4602
- */
4603
- function clearRequestTimeout(handle) {
4604
- if (handle) {
4605
- window.cancelAnimationFrame ? window.cancelAnimationFrame(handle.value) :
4606
- window.webkitCancelAnimationFrame ? window.webkitCancelAnimationFrame(handle.value) :
4607
- window.webkitCancelRequestAnimationFrame ? window.webkitCancelRequestAnimationFrame(handle.value) : /* Support for legacy API */
4608
- window.mozCancelRequestAnimationFrame ? window.mozCancelRequestAnimationFrame(handle.value) :
4609
- window.oCancelRequestAnimationFrame ? window.oCancelRequestAnimationFrame(handle.value) :
4610
- window.msCancelRequestAnimationFrame ? window.msCancelRequestAnimationFrame(handle.value) :
4611
- clearTimeout(handle);
4612
- }
4613
- }
4614
-
4615
- /**
4616
- * Fires the 'long-press' event on element
4617
- * @param {MouseEvent|PointerEvent|TouchEvent} originalEvent The original event being fired
4618
- * @returns {void}
4619
- */
4620
- function fireLongPressEvent(originalEvent) {
4621
-
4622
- clearLongPressTimer();
4623
-
4624
- originalEvent = unifyEvent(originalEvent);
4625
-
4626
- // fire the long-press event
4627
- var allowClickEvent = this.dispatchEvent(new CustomEvent('long-press', {
4628
- bubbles: true,
4629
- cancelable: true,
4630
-
4631
- // custom event data (legacy)
4632
- detail: {
4633
- clientX: originalEvent.clientX,
4634
- clientY: originalEvent.clientY,
4635
- offsetX: originalEvent.offsetX,
4636
- offsetY: originalEvent.offsetY,
4637
- pageX: originalEvent.pageX,
4638
- pageY: originalEvent.pageY
4639
- },
4640
-
4641
- // add coordinate data that would typically acompany a touch/click event
4642
- clientX: originalEvent.clientX,
4643
- clientY: originalEvent.clientY,
4644
- offsetX: originalEvent.offsetX,
4645
- offsetY: originalEvent.offsetY,
4646
- pageX: originalEvent.pageX,
4647
- pageY: originalEvent.pageY,
4648
- screenX: originalEvent.screenX,
4649
- screenY: originalEvent.screenY
4650
- }));
4651
-
4652
- if (!allowClickEvent) {
4653
- // suppress the next click event if e.preventDefault() was called in long-press handler
4654
- document.addEventListener('click', function suppressEvent(e) {
4655
- document.removeEventListener('click', suppressEvent, true);
4656
- cancelEvent(e);
4657
- }, true);
4658
- }
4659
- }
4660
-
4661
- /**
4662
- * consolidates mouse, touch, and Pointer events
4663
- * @param {MouseEvent|PointerEvent|TouchEvent} e The original event being fired
4664
- * @returns {MouseEvent|PointerEvent|Touch}
4665
- */
4666
- function unifyEvent(e) {
4667
- if (e.changedTouches !== undefined) {
4668
- return e.changedTouches[0];
4669
- }
4670
- return e;
4671
- }
4672
-
4673
- /**
4674
- * method responsible for starting the long press timer
4675
- * @param {event} e - event object
4676
- * @returns {void}
4677
- */
4678
- function startLongPressTimer(e) {
4679
-
4680
- clearLongPressTimer();
4681
-
4682
- var el = e.target;
4683
-
4684
- // get delay from html attribute if it exists, otherwise default to 1500
4685
- var longPressDelayInMs = parseInt(getNearestAttribute(el, 'data-long-press-delay', '1500'), 10); // default 1500
4686
-
4687
- // start the timer
4688
- timer = requestTimeout(fireLongPressEvent.bind(el, e), longPressDelayInMs);
4689
- }
4690
-
4691
- /**
4692
- * method responsible for clearing a pending long press timer
4693
- * @param {event} e - event object
4694
- * @returns {void}
4695
- */
4696
- function clearLongPressTimer(e) {
4697
- clearRequestTimeout(timer);
4698
- timer = null;
4699
- }
4700
-
4701
- /**
4702
- * Cancels the current event
4703
- * @param {object} e - browser event object
4704
- * @returns {void}
4705
- */
4706
- function cancelEvent(e) {
4707
- e.stopImmediatePropagation();
4708
- e.preventDefault();
4709
- e.stopPropagation();
4710
- }
4711
-
4712
- /**
4713
- * Starts the timer on mouse down and logs current position
4714
- * @param {object} e - browser event object
4715
- * @returns {void}
4716
- */
4717
- function mouseDownHandler(e) {
4718
- startX = e.clientX;
4719
- startY = e.clientY;
4720
- startLongPressTimer(e);
4721
- }
4722
-
4723
- /**
4724
- * If the mouse moves n pixels during long-press, cancel the timer
4725
- * @param {object} e - browser event object
4726
- * @returns {void}
4727
- */
4728
- function mouseMoveHandler(e) {
4729
-
4730
- // calculate total number of pixels the pointer has moved
4731
- var diffX = Math.abs(startX - e.clientX);
4732
- var diffY = Math.abs(startY - e.clientY);
4733
-
4734
- // if pointer has moved more than allowed, cancel the long-press timer and therefore the event
4735
- if (diffX >= maxDiffX || diffY >= maxDiffY) {
4736
- clearLongPressTimer();
4737
- }
4738
- }
4739
-
4740
- /**
4741
- * Gets attribute off HTML element or nearest parent
4742
- * @param {object} el - HTML element to retrieve attribute from
4743
- * @param {string} attributeName - name of the attribute
4744
- * @param {any} defaultValue - default value to return if no match found
4745
- * @returns {any} attribute value or defaultValue
4746
- */
4747
- function getNearestAttribute(el, attributeName, defaultValue) {
4748
-
4749
- // walk up the dom tree looking for data-action and data-trigger
4750
- while (el && el !== document.documentElement) {
4751
-
4752
- var attributeValue = el.getAttribute(attributeName);
4753
-
4754
- if (attributeValue) {
4755
- return attributeValue;
4756
- }
4757
-
4758
- el = el.parentNode;
4759
- }
4760
-
4761
- return defaultValue;
4762
- }
4763
-
4764
- // hook events that clear a pending long press event
4765
- document.addEventListener(mouseUp, clearLongPressTimer, true);
4766
- document.addEventListener(mouseLeave, clearLongPressTimer, true);
4767
- document.addEventListener(mouseMove, mouseMoveHandler, true);
4768
- document.addEventListener('wheel', clearLongPressTimer, true);
4769
- document.addEventListener('scroll', clearLongPressTimer, true);
4770
- document.addEventListener('contextmenu', clearLongPressTimer, true);
4771
-
4772
- // hook events that can trigger a long press event
4773
- document.addEventListener(mouseDown, mouseDownHandler, true); // <- start
4774
-
4775
- }(window, document));
4776
-
4777
4513
  const postTooltipCss = "post-popovercontainer[arrow]::after{position:absolute;content:\"\";inset:-13px;z-index:-1}post-popovercontainer>div{padding:var(--post-core-dimension-4) var(--post-core-dimension-8);max-width:calc(224px - var(--post-core-dimension-8));min-height:var(--post-core-dimension-16)}";
4778
4514
  const PostTooltipStyle0 = postTooltipCss;
4779
4515
 
4516
+ if (breakpoints.IS_BROWSER) {
4517
+ (async () => {
4518
+ await Promise.resolve().then(function () { return require('./long-press-event-6e62d113.js'); });
4519
+ })();
4520
+ }
4780
4521
  const OPEN_DELAY = 650; // matches HTML title delay
4781
4522
  /**
4782
4523
  * @slot default - Slot for the content of the tooltip.
@@ -4801,7 +4542,8 @@ let tooltipTimeout = null;
4801
4542
  * @returns
4802
4543
  */
4803
4544
  const globalInterestHandler = (e) => {
4804
- const targetElement = e.target.closest(tooltipTargetAttributeSelector);
4545
+ const eventTarget = e.target;
4546
+ const targetElement = eventTarget.closest(tooltipTargetAttributeSelector);
4805
4547
  globalCurrentTarget = targetElement;
4806
4548
  if (!targetElement || !('getAttribute' in targetElement)) {
4807
4549
  clearTimeout(tooltipTimeout);
@@ -4813,7 +4555,7 @@ const globalInterestHandler = (e) => {
4813
4555
  const tooltip = document.getElementById(tooltipTarget);
4814
4556
  // Determine if the tooltip was triggered by a focus event
4815
4557
  const triggeredByFocus = e.type === 'focusin';
4816
- void tooltip?.show(targetElement, triggeredByFocus);
4558
+ tooltip?.show(targetElement, triggeredByFocus);
4817
4559
  if (hideTooltipTimeout) {
4818
4560
  window.clearTimeout(hideTooltipTimeout);
4819
4561
  hideTooltipTimeout = null;
@@ -4846,35 +4588,18 @@ const globalHideTooltip = (tooltip) => {
4846
4588
  hideTooltipTimeout = null;
4847
4589
  }, 42);
4848
4590
  };
4849
- /**
4850
- * Patch some accessibility features that are hard to remember or understand
4851
- * @param {HTMLElement} trigger
4852
- */
4853
- const patchAccessibilityFeatures = (trigger) => {
4854
- const describedBy = trigger.getAttribute('aria-describedby');
4855
- const id = trigger.getAttribute(tooltipTargetAttribute);
4856
- // Add tooltip to aria-describedby
4857
- if (!describedBy?.includes(id)) {
4858
- const newDescribedBy = describedBy ? `${describedBy} ${id}` : id;
4859
- trigger.setAttribute('aria-describedby', newDescribedBy);
4860
- }
4861
- // Make element focusable
4862
- if (!isFocusable(trigger)) {
4863
- trigger.setAttribute('tabindex', '0');
4864
- }
4865
- };
4866
- // Initialize a mutation observer for patching accessibility features
4867
- const triggerObserver = attributeObserver.getAttributeObserver(tooltipTargetAttribute, patchAccessibilityFeatures);
4868
4591
  const PostTooltip = class {
4869
4592
  constructor(hostRef) {
4870
4593
  index.registerInstance(this, hostRef);
4594
+ this.wasOpenedByFocus = false;
4595
+ // Initialize a mutation observer for patching accessibility features
4596
+ this.triggerObserver = breakpoints.IS_BROWSER
4597
+ ? attributeObserver.getAttributeObserver(tooltipTargetAttribute, this.patchAccessibilityFeatures)
4598
+ : null;
4871
4599
  this.placement = 'top';
4872
4600
  this.arrow = true;
4873
4601
  this.delayed = false;
4874
4602
  }
4875
- popoverRef;
4876
- wasOpenedByFocus = false;
4877
- get host() { return index.getElement(this); }
4878
4603
  validateDelayed() {
4879
4604
  index$1.checkEmptyOrType(this, 'delayed', 'boolean');
4880
4605
  }
@@ -4901,9 +4626,9 @@ const PostTooltip = class {
4901
4626
  document.addEventListener('focusout', globalInterestLostHandler);
4902
4627
  document.addEventListener('long-press', globalInterestHandler);
4903
4628
  // Initially run the accessibility patcher on all triggers
4904
- document.querySelectorAll('[data-tooltip-target]').forEach(patchAccessibilityFeatures);
4629
+ document.querySelectorAll('[data-tooltip-target]').forEach(this.patchAccessibilityFeatures);
4905
4630
  // Start watching for future triggers
4906
- triggerObserver.observe(document.body, {
4631
+ this.triggerObserver?.observe(document.body, {
4907
4632
  subtree: true,
4908
4633
  childList: true,
4909
4634
  attributeFilter: [tooltipTargetAttribute],
@@ -4924,7 +4649,7 @@ const PostTooltip = class {
4924
4649
  document.removeEventListener('focusin', globalInterestHandler);
4925
4650
  document.removeEventListener('focusout', globalInterestLostHandler);
4926
4651
  document.removeEventListener('long-press', globalInterestHandler);
4927
- triggerObserver.disconnect();
4652
+ this.triggerObserver?.disconnect();
4928
4653
  }
4929
4654
  }
4930
4655
  /**
@@ -4988,10 +4713,28 @@ const PostTooltip = class {
4988
4713
  globalHideTooltip(this);
4989
4714
  this.host.style.pointerEvents = 'auto';
4990
4715
  }
4716
+ /**
4717
+ * Patch some accessibility features that are hard to remember or understand
4718
+ * @param {HTMLElement} trigger
4719
+ */
4720
+ patchAccessibilityFeatures(trigger) {
4721
+ const describedBy = trigger.getAttribute('aria-describedby');
4722
+ const id = trigger.getAttribute(tooltipTargetAttribute);
4723
+ // Add tooltip to aria-describedby
4724
+ if (!describedBy?.includes(id)) {
4725
+ const newDescribedBy = describedBy ? `${describedBy} ${id}` : id;
4726
+ trigger.setAttribute('aria-describedby', newDescribedBy);
4727
+ }
4728
+ // Make element focusable
4729
+ if (!isFocusable(trigger)) {
4730
+ trigger.setAttribute('tabindex', '0');
4731
+ }
4732
+ }
4991
4733
  render() {
4992
4734
  const popoverClass = `${this.arrow ? ' has-arrow' : ''}`;
4993
- return (index.h(index.Host, { key: '89b0e64fd5fde4c21d9c1eb624facff38b287e4a', "data-version": _package.version, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, index.h("post-popovercontainer", { key: '8006874c12a2eebe39682a09db677e8b315dd6bb', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, index.h("slot", { key: 'cf3bd12703885fe886f1703038437b59a4d79fd3' }))));
4735
+ return (index.h(index.Host, { key: 'f6e535d23220c3b53840913882b7302d54cc6a89', "data-version": _package.version, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, index.h("post-popovercontainer", { key: '25aaaee555958fdacd3aa204b90d09ab14289b51', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, index.h("slot", { key: '81ae53f9ab5189253a256861b6df5a2cd31fe678' }))));
4994
4736
  }
4737
+ get host() { return index.getElement(this); }
4995
4738
  static get watchers() { return {
4996
4739
  "delayed": ["validateDelayed"]
4997
4740
  }; }
@@ -2,15 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postTooltip = require('./post-tooltip-52d690e4.js');
6
- require('./index-d6bf2c66.js');
7
- require('./package-6f8f430c.js');
8
- require('./attribute-observer-6d8b886b.js');
5
+ const postTooltip = require('./post-tooltip-4d4d2ea9.js');
6
+ require('./index-b60129c4.js');
7
+ require('./attribute-observer-c3a805b2.js');
8
+ require('./breakpoints-cdf1b747.js');
9
9
  require('./index-23e36ff7.js');
10
10
  require('./constants-238701d3.js');
11
11
  require('./check-one-of-75d270b5.js');
12
12
  require('./check-type-cdbf6d29.js');
13
13
  require('./check-url-220a286c.js');
14
+ require('./package-3426e8f7.js');
14
15
 
15
16
 
16
17
 
@@ -1,3 +1,4 @@
1
+ import { IS_BROWSER } from "../utils/index";
1
2
  const collapseDuration = 350;
2
3
  const collapseEasing = 'ease';
3
4
  const collapsedKeyframe = { height: '0', overflow: 'hidden' };
@@ -7,7 +8,8 @@ const animationOptions = {
7
8
  fill: 'forwards',
8
9
  };
9
10
  export function collapse(el) {
10
- const expandedKeyframe = { height: window.getComputedStyle(el).height };
11
+ const elHeight = IS_BROWSER ? window.getComputedStyle(el).height : `${el.scrollHeight}px`;
12
+ const expandedKeyframe = { height: elHeight };
11
13
  return el.animate([expandedKeyframe, collapsedKeyframe], animationOptions);
12
14
  }
13
15
  export function expand(el) {
@@ -2,17 +2,16 @@ import { h, Host } from "@stencil/core";
2
2
  import { version } from "../../../../package";
3
3
  import { HEADING_LEVELS } from "../../types/index";
4
4
  import { checkOneOf } from "../../utils/index";
5
+ import { eventGuard } from "../../utils/event-gua"; // Import eventGuard
5
6
  /**
6
7
  * @slot default - Slot for placing post-accordion-item components.
7
8
  */
8
9
  export class PostAccordion {
9
10
  constructor() {
11
+ this.expandedItems = new Set();
10
12
  this.headingLevel = undefined;
11
13
  this.multiple = false;
12
14
  }
13
- accordionItems;
14
- expandedItems = new Set();
15
- host;
16
15
  validateHeadingLevel(newValue = this.headingLevel) {
17
16
  if (!newValue)
18
17
  return;
@@ -26,10 +25,7 @@ export class PostAccordion {
26
25
  this.validateHeadingLevel();
27
26
  }
28
27
  collapseToggleHandler(event) {
29
- event.stopPropagation();
30
- const toggledItem = event.target;
31
- const closestParentAccordion = toggledItem.closest('post-accordion');
32
- if (closestParentAccordion === this.host && toggledItem.localName === 'post-accordion-item') {
28
+ eventGuard(this.host, event, { targetLocalName: 'post-accordion-item', delegatorSelector: 'post-accordion' }, () => {
33
29
  const toggledAccordionItem = event.target;
34
30
  const isClosing = this.expandedItems.has(toggledAccordionItem);
35
31
  if (isClosing) {
@@ -40,13 +36,13 @@ export class PostAccordion {
40
36
  }
41
37
  if (this.multiple || isClosing)
42
38
  return;
43
- // close other open accordion items to have only one opened at a time
39
+ // Close other open accordion items to ensure only one is open at a time
44
40
  Array.from(this.expandedItems.values())
45
41
  .filter(item => item !== toggledAccordionItem)
46
42
  .forEach(item => {
47
43
  item.toggle(false);
48
44
  });
49
- }
45
+ });
50
46
  }
51
47
  /**
52
48
  * Toggles the `post-accordion-item` with the given id.
@@ -92,7 +88,7 @@ export class PostAccordion {
92
88
  });
93
89
  }
94
90
  render() {
95
- return (h(Host, { key: '9ec8ca1ceac6587be68272568f216c958460ac0a', "data-version": version }, h("div", { key: '99887626d105f0e8f86b24e211591e7be820738d', class: "accordion" }, h("slot", { key: '4d8a003377c3a90648818a00144fd5f3a65be084', onSlotchange: () => this.registerAccordionItems() }))));
91
+ return (h(Host, { key: '80e15cf7835f213cfee1ca7cf83cc2fd24bba3ff', "data-version": version }, h("div", { key: '1cf03d4960115b52394b5cb07cd2286747c728dd', class: "accordion" }, h("slot", { key: 'b94328a45a3cba6a8d3b418061036eb8af2cf027', onSlotchange: () => this.registerAccordionItems() }))));
96
92
  }
97
93
  static get is() { return "post-accordion"; }
98
94
  static get encapsulation() { return "shadow"; }
@@ -3,6 +3,7 @@ import { version } from "../../../../package";
3
3
  import { HEADING_LEVELS } from "../../types/index";
4
4
  import { checkEmptyOrOneOf } from "../../utils/index";
5
5
  import { nanoid } from "nanoid";
6
+ import { eventGuard } from "../../utils/event-gua";
6
7
  /**
7
8
  * @part button - The pseudo-element, used to override styles on the components internal header `button` element.
8
9
  * @part body - The pseudo-element, used to override styles on the components internal `body` element.
@@ -17,8 +18,6 @@ export class PostAccordionItem {
17
18
  this.collapsed = false;
18
19
  this.headingLevel = undefined;
19
20
  }
20
- collapsible;
21
- host;
22
21
  validateHeadingLevel() {
23
22
  checkEmptyOrOneOf(this, 'headingLevel', HEADING_LEVELS, 'The `heading-level` property of the `post-accordion-item` must be a number between 1 and 6.');
24
23
  }
@@ -28,12 +27,11 @@ export class PostAccordionItem {
28
27
  componentDidLoad() {
29
28
  this.validateHeadingLevel();
30
29
  }
31
- // capture to make sure the "collapsed" property is updated before the event is consumed
30
+ // Capture to make sure the "collapsed" property is updated before the event is consumed
32
31
  onCollapseToggle(event) {
33
- if (event.target === this.host &&
34
- event.target.localName === 'post-accordion-item') {
32
+ eventGuard(this.host, event, { targetLocalName: 'post-collapsible', delegatorSelector: 'post-accordion-item' }, () => {
35
33
  this.collapsed = !event.detail;
36
- }
34
+ });
37
35
  }
38
36
  /**
39
37
  * Triggers the collapse programmatically.
@@ -50,10 +48,10 @@ export class PostAccordionItem {
50
48
  render() {
51
49
  const headingLevel = this.host.closest('post-accordion')?.getAttribute('heading-level');
52
50
  const HeadingTag = `h${headingLevel ?? this.headingLevel ?? 2}`;
53
- return (h(Host, { key: '4c4baf7ac22c632de6b0bc332ffc275e50bb4d71', id: this.id, "data-version": version }, h("div", { key: '576529323c3adca347ec685688c071e21a2f3a76', part: "accordion-item", class: "accordion-item" }, h("post-collapsible-trigger", { key: 'cc29c396173e55168a3bec963d5e101cb3fb17b2', for: `${this.id}--collapse` }, h(HeadingTag, { key: '76f8eed33f0c84bf6e1a534b04a8ccc0c69c6380', class: "accordion-header", id: `${this.id}--header` }, h("button", { key: 'f56e67ffc94fea0452d1879d3410318b3b12c4bc', type: "button", class: `accordion-button${this.collapsed ? ' collapsed' : ''}`, part: "button" }, h("span", { key: 'd5f23318d5c498e0cd9dd1f15c13a636e49b7817', class: {
51
+ return (h(Host, { key: '725d3710f7937f82c2382938d15770001e923b61', id: this.id, "data-version": version }, h("div", { key: '679d25d8278fbf9ae68546ee50c27a86ded95999', part: "accordion-item", class: "accordion-item" }, h("post-collapsible-trigger", { key: '7c2af8dc6a1f5265b4ae2cad066be7d2e0bf6a78', for: `${this.id}--collapse` }, h(HeadingTag, { key: 'a10e59a17fdb272fe6308d2ba98f37f90490fab8', class: "accordion-header", id: `${this.id}--header` }, h("button", { key: 'e2b527850c8342a8adf99453d0ac330b6a94760f', type: "button", class: `accordion-button${this.collapsed ? ' collapsed' : ''}`, part: "button" }, h("span", { key: 'b722a4bc51757546eefa58c7c3ea3a688838298a', class: {
54
52
  'logo-container': true,
55
53
  'has-image': !!this.slottedLogo,
56
- } }, h("slot", { key: '051d48cc4201e2d954f4d4bc25c836ddc8e24d0f', name: "logo", onSlotchange: this.onSlotLogoChange.bind(this) })), h("slot", { key: 'e9f687c79fab8bd3bd94e4da022b2aea7e0bba5c', name: "header" }), h("post-icon", { key: 'c1f3486254269ab50a89bd6acf8c714cbbced3b8', name: "2051" })))), h("post-collapsible", { key: '7f3788a90e59cdb4f985fd14c64286cb938a3c23', id: `${this.id}--collapse`, collapsed: this.collapsed, ref: el => (this.collapsible = el) }, h("div", { key: 'e17ae656614ac27d4f09ebba0a7bb547f88f5728', class: "accordion-body", part: "body" }, h("slot", { key: '0387ebe5ce518bbb8b78c66d919715a78b5ae558' }))))));
54
+ } }, h("slot", { key: '1a42494db72a7b437b1d98fa2e8159d73ece22fa', name: "logo", onSlotchange: this.onSlotLogoChange.bind(this) })), h("slot", { key: '049865bb25f833780ef8e27fe8477e06476a2427', name: "header" }), h("post-icon", { key: 'da0cf7078e4f51710dbfd39c0afa90465fcb53c6', name: "2051" })))), h("post-collapsible", { key: '7c3b268e34d3e4f52820b11a6c090aefbc16e3b9', id: `${this.id}--collapse`, collapsed: this.collapsed, ref: el => (this.collapsible = el) }, h("div", { key: '993a7fffbccb557aed2842305f3927e5c3b5047a', class: "accordion-body", part: "body" }, h("slot", { key: '580eb87b1cb4f88acd7dddddecaa1c1982b7f6e3' }))))));
57
55
  }
58
56
  static get is() { return "post-accordion-item"; }
59
57
  static get encapsulation() { return "shadow"; }
@@ -28,8 +28,6 @@ export class PostAvatar {
28
28
  this.imageAlt = '';
29
29
  this.initials = '';
30
30
  }
31
- static INTERNAL_USERID_IMAGE_SRC = 'https://web.post.ch/UserProfileImage/{userid}.png';
32
- host;
33
31
  validateFirstname() {
34
32
  checkNonEmpty(this, 'firstname');
35
33
  }
@@ -160,7 +158,7 @@ export class PostAvatar {
160
158
  "text": "Defines the users firstname."
161
159
  },
162
160
  "attribute": "firstname",
163
- "reflect": false
161
+ "reflect": true
164
162
  },
165
163
  "lastname": {
166
164
  "type": "string",
@@ -191,7 +189,7 @@ export class PostAvatar {
191
189
  "optional": true,
192
190
  "docs": {
193
191
  "tags": [],
194
- "text": "Defines the company internal userId.<div className=\"mb-1 banner banner-warning banner-sm\">Can only be used on post.ch domains!</div>"
192
+ "text": "Defines the company internal userId.<div className=\"mb-4 banner banner-warning banner-sm\">Can only be used on post.ch domains!</div>"
195
193
  },
196
194
  "attribute": "userid",
197
195
  "reflect": false
@@ -232,3 +230,4 @@ export class PostAvatar {
232
230
  }];
233
231
  }
234
232
  }
233
+ PostAvatar.INTERNAL_USERID_IMAGE_SRC = 'https://web.post.ch/UserProfileImage/{userid}.png';
@@ -1 +1 @@
1
- :host{--post-floating-button-translate-y: calc(-1 * var(--post-core-dimension-112));position:fixed;inset-block-start:var(--post-device-position-4);inset-inline-end:var(--post-device-position-1)}:host .back-to-top{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;box-shadow:var(--post-device-elevation-300);cursor:pointer;border-radius:var(--post-device-border-radius-round);width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg);display:flex;align-items:center;justify-content:center}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top{background-color:ButtonFace !important}:host .back-to-top:hover{background-color:Highlight !important}}:host .back-to-top{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}:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}:host .back-to-top:hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:hover{color:HighlightText !important}}:host .back-to-top post-icon{height:var(--post-device-sizing-interactive-button-icon-3);width:var(--post-device-sizing-interactive-button-icon-3)}:host .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}
1
+ :host{--post-floating-button-position-top: var(--post-device-position-4);--post-back-to-top-position-top: calc( var(--post-header-height) + var(--post-floating-button-position-top) );--post-back-to-top-elevation: var(--post-device-elevation-300);position:fixed;inset-block-start:var(--post-back-to-top-position-top);inset-inline-end:var(--post-device-position-1)}:host .back-to-top{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;box-shadow:var(--post-back-to-top-elevation);cursor:pointer;border-radius:var(--post-device-border-radius-round);width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg);display:flex;align-items:center;justify-content:center}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top{background-color:ButtonFace !important}:host .back-to-top:hover{background-color:Highlight !important}}:host .back-to-top{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}:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}:host .back-to-top:hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:hover{color:HighlightText !important}}:host .back-to-top post-icon{height:var(--post-device-sizing-interactive-button-icon-3);width:var(--post-device-sizing-interactive-button-icon-3)}:host .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}