@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
@@ -0,0 +1,43 @@
1
+ export function eventGuard(host, event, options, callback) {
2
+ const target = event.target;
3
+ if (!target)
4
+ return;
5
+ if (target.localName === options.targetLocalName) {
6
+ if (!options.delegatorSelector || shadowClosest(target, options.delegatorSelector) === host) {
7
+ callback();
8
+ }
9
+ }
10
+ }
11
+ /**
12
+ * Traverses up the DOM (including crossing shadow DOM boundaries) starting from the given element
13
+ * to find and return the closest ancestor that matches the specified CSS selector.
14
+ * If no matching element is found, returns null.
15
+ *
16
+ * @param element - The starting element from which the search begins.
17
+ * @param selector - The CSS selector used to test each ancestor element.
18
+ * @returns The closest matching ancestor element or null if none is found.
19
+ */
20
+ function shadowClosest(element, selector) {
21
+ let currentElement = element;
22
+ while (currentElement) {
23
+ if (currentElement.matches(selector)) {
24
+ return currentElement;
25
+ }
26
+ const parent = currentElement.parentElement;
27
+ if (parent) {
28
+ currentElement = parent;
29
+ }
30
+ else {
31
+ const parentNode = currentElement.parentNode;
32
+ // When no parentElement exists, check if the current element is inside a shadow DOM.
33
+ // If so, move up to the shadow host to continue the search outside the shadow boundary.
34
+ if (parentNode instanceof ShadowRoot) {
35
+ currentElement = parentNode.host;
36
+ }
37
+ else {
38
+ currentElement = null;
39
+ }
40
+ }
41
+ }
42
+ return null;
43
+ }
@@ -1,5 +1,10 @@
1
+ import { IS_BROWSER } from "./environment";
2
+ /**
3
+ * getRootNode() can only be used after the element has been attached to the document!
4
+ * So use it for example in the componentDidLoad lifecycle hook.
5
+ */
1
6
  export function getRoot(element) {
2
- const root = element.getRootNode();
7
+ const root = IS_BROWSER ? element.getRootNode() : element;
3
8
  if (root instanceof Document || root instanceof ShadowRoot) {
4
9
  return root;
5
10
  }
@@ -1,7 +1,12 @@
1
+ export * from './get-focusable-children';
2
+ export * from './attribute-observer';
1
3
  export * from './component-on-ready';
2
4
  export * from './property-checkers';
5
+ export * from './breakpoints';
3
6
  export * from './debounce';
7
+ export * from './event-guard';
4
8
  export * from './get-root';
5
9
  export * from './is-motion-reduced';
6
10
  export * from './sass-export';
7
11
  export * from './timeout';
12
+ export * from './environment';
@@ -1,3 +1,4 @@
1
+ import { IS_BROWSER } from "./environment";
1
2
  export function isMotionReduced() {
2
- return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
3
+ return IS_BROWSER ? window.matchMedia('(prefers-reduced-motion: reduce)').matches : false;
3
4
  }
@@ -1,3 +1,5 @@
1
+ import { I as IS_BROWSER } from './breakpoints.js';
2
+
1
3
  function getAttributeObserver(attribute, handler) {
2
4
  /**
3
5
  * Handle attribute changes and childList changes from the observer
@@ -19,7 +21,7 @@ function getAttributeObserver(attribute, handler) {
19
21
  });
20
22
  }
21
23
  // Initialize a mutation observer for patching accessibility features
22
- return new MutationObserver(observerHandler);
24
+ return IS_BROWSER ? new MutationObserver(observerHandler) : null;
23
25
  }
24
26
 
25
27
  export { getAttributeObserver as g };
@@ -1,11 +1,13 @@
1
+ const IS_SERVER = typeof window === 'undefined';
2
+ const IS_BROWSER = !IS_SERVER;
3
+
1
4
  class Breakpoint {
2
- breakpointMap;
3
- current = {
4
- key: '',
5
- name: '',
6
- };
7
5
  constructor() {
8
- if (!this.breakpointMap) {
6
+ this.current = {
7
+ key: '',
8
+ name: '',
9
+ };
10
+ if (IS_BROWSER && !this.breakpointMap) {
9
11
  const keys = this.getStyles('--post-breakpoint-keys');
10
12
  const names = this.getStyles('--post-breakpoint-names');
11
13
  const widths = this.getStyles('--post-breakpoint-widths');
@@ -40,7 +42,9 @@ class Breakpoint {
40
42
  }
41
43
  }
42
44
  dispatchEvent(type) {
43
- window.dispatchEvent(new CustomEvent(`postBreakpoint:${type}`, { detail: this.current[type] }));
45
+ if (IS_BROWSER) {
46
+ window.dispatchEvent(new CustomEvent(`postBreakpoint:${type}`, { detail: this.current[type] }));
47
+ }
44
48
  }
45
49
  get(type) {
46
50
  this.updateHandler(false);
@@ -49,4 +53,4 @@ class Breakpoint {
49
53
  }
50
54
  const breakpoint = new Breakpoint();
51
55
 
52
- export { breakpoint as b };
56
+ export { IS_BROWSER as I, breakpoint as b };
@@ -0,0 +1,45 @@
1
+ function eventGuard(host, event, options, callback) {
2
+ const target = event.target;
3
+ if (!target)
4
+ return;
5
+ if (target.localName === options.targetLocalName) {
6
+ if (!options.delegatorSelector || shadowClosest(target, options.delegatorSelector) === host) {
7
+ callback();
8
+ }
9
+ }
10
+ }
11
+ /**
12
+ * Traverses up the DOM (including crossing shadow DOM boundaries) starting from the given element
13
+ * to find and return the closest ancestor that matches the specified CSS selector.
14
+ * If no matching element is found, returns null.
15
+ *
16
+ * @param element - The starting element from which the search begins.
17
+ * @param selector - The CSS selector used to test each ancestor element.
18
+ * @returns The closest matching ancestor element or null if none is found.
19
+ */
20
+ function shadowClosest(element, selector) {
21
+ let currentElement = element;
22
+ while (currentElement) {
23
+ if (currentElement.matches(selector)) {
24
+ return currentElement;
25
+ }
26
+ const parent = currentElement.parentElement;
27
+ if (parent) {
28
+ currentElement = parent;
29
+ }
30
+ else {
31
+ const parentNode = currentElement.parentNode;
32
+ // When no parentElement exists, check if the current element is inside a shadow DOM.
33
+ // If so, move up to the shadow host to continue the search outside the shadow boundary.
34
+ if (parentNode instanceof ShadowRoot) {
35
+ currentElement = parentNode.host;
36
+ }
37
+ else {
38
+ currentElement = null;
39
+ }
40
+ }
41
+ }
42
+ return null;
43
+ }
44
+
45
+ export { eventGuard as e };
@@ -1,5 +1,11 @@
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
+ */
1
7
  function getRoot(element) {
2
- const root = element.getRootNode();
8
+ const root = IS_BROWSER ? element.getRootNode() : element;
3
9
  if (root instanceof Document || root instanceof ShadowRoot) {
4
10
  return root;
5
11
  }
@@ -0,0 +1,264 @@
1
+ /*!
2
+ * long-press-event - v@version@
3
+ * Pure JavaScript long-press-event
4
+ * https://github.com/john-doherty/long-press-event
5
+ * @author John Doherty <www.johndoherty.info>
6
+ * @license MIT
7
+ */
8
+ (function (window, document) {
9
+
10
+ // local timer object based on rAF
11
+ var timer = null;
12
+
13
+ // check if we're using a touch screen
14
+ var hasPointerEvents = (('PointerEvent' in window) || (window.navigator && 'msPointerEnabled' in window.navigator));
15
+ var isTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0));
16
+
17
+ // switch to pointer events or touch events if using a touch screen
18
+ var mouseDown = hasPointerEvents ? 'pointerdown' : isTouch ? 'touchstart' : 'mousedown';
19
+ var mouseUp = hasPointerEvents ? 'pointerup' : isTouch ? 'touchend' : 'mouseup';
20
+ var mouseMove = hasPointerEvents ? 'pointermove' : isTouch ? 'touchmove' : 'mousemove';
21
+ var mouseLeave = hasPointerEvents ? 'pointerleave' : isTouch ? 'touchleave' : 'mouseleave';
22
+
23
+ // track number of pixels the mouse moves during long press
24
+ var startX = 0; // mouse x position when timer started
25
+ var startY = 0; // mouse y position when timer started
26
+ var maxDiffX = 10; // max number of X pixels the mouse can move during long press before it is canceled
27
+ var maxDiffY = 10; // max number of Y pixels the mouse can move during long press before it is canceled
28
+
29
+ // patch CustomEvent to allow constructor creation (IE/Chrome)
30
+ if (typeof window.CustomEvent !== 'function') {
31
+
32
+ window.CustomEvent = function (event, params) {
33
+
34
+ params = params || { bubbles: false, cancelable: false, detail: undefined };
35
+
36
+ var evt = document.createEvent('CustomEvent');
37
+ evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
38
+ return evt;
39
+ };
40
+
41
+ window.CustomEvent.prototype = window.Event.prototype;
42
+ }
43
+
44
+ // requestAnimationFrame() shim by Paul Irish
45
+ window.requestAnimFrame = (function () {
46
+ return window.requestAnimationFrame ||
47
+ window.webkitRequestAnimationFrame ||
48
+ window.mozRequestAnimationFrame ||
49
+ window.oRequestAnimationFrame ||
50
+ window.msRequestAnimationFrame || function (callback) {
51
+ window.setTimeout(callback, 1000 / 60);
52
+ };
53
+ })();
54
+
55
+ /**
56
+ * Behaves the same as setTimeout except uses requestAnimationFrame() where possible for better performance
57
+ * @param {function} fn The callback function
58
+ * @param {int} delay The delay in milliseconds
59
+ * @returns {object} handle to the timeout object
60
+ */
61
+ function requestTimeout(fn, delay) {
62
+
63
+ if (!window.requestAnimationFrame && !window.webkitRequestAnimationFrame &&
64
+ !(window.mozRequestAnimationFrame && window.mozCancelRequestAnimationFrame) && // Firefox 5 ships without cancel support
65
+ !window.oRequestAnimationFrame && !window.msRequestAnimationFrame) return window.setTimeout(fn, delay);
66
+
67
+ var start = new Date().getTime();
68
+ var handle = {};
69
+
70
+ var loop = function () {
71
+ var current = new Date().getTime();
72
+ var delta = current - start;
73
+
74
+ if (delta >= delay) {
75
+ fn.call();
76
+ }
77
+ else {
78
+ handle.value = requestAnimFrame(loop);
79
+ }
80
+ };
81
+
82
+ handle.value = requestAnimFrame(loop);
83
+
84
+ return handle;
85
+ }
86
+
87
+ /**
88
+ * Behaves the same as clearTimeout except uses cancelRequestAnimationFrame() where possible for better performance
89
+ * @param {object} handle The callback function
90
+ * @returns {void}
91
+ */
92
+ function clearRequestTimeout(handle) {
93
+ if (handle) {
94
+ window.cancelAnimationFrame ? window.cancelAnimationFrame(handle.value) :
95
+ window.webkitCancelAnimationFrame ? window.webkitCancelAnimationFrame(handle.value) :
96
+ window.webkitCancelRequestAnimationFrame ? window.webkitCancelRequestAnimationFrame(handle.value) : /* Support for legacy API */
97
+ window.mozCancelRequestAnimationFrame ? window.mozCancelRequestAnimationFrame(handle.value) :
98
+ window.oCancelRequestAnimationFrame ? window.oCancelRequestAnimationFrame(handle.value) :
99
+ window.msCancelRequestAnimationFrame ? window.msCancelRequestAnimationFrame(handle.value) :
100
+ clearTimeout(handle);
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Fires the 'long-press' event on element
106
+ * @param {MouseEvent|PointerEvent|TouchEvent} originalEvent The original event being fired
107
+ * @returns {void}
108
+ */
109
+ function fireLongPressEvent(originalEvent) {
110
+
111
+ clearLongPressTimer();
112
+
113
+ originalEvent = unifyEvent(originalEvent);
114
+
115
+ // fire the long-press event
116
+ var allowClickEvent = this.dispatchEvent(new CustomEvent('long-press', {
117
+ bubbles: true,
118
+ cancelable: true,
119
+
120
+ // custom event data (legacy)
121
+ detail: {
122
+ clientX: originalEvent.clientX,
123
+ clientY: originalEvent.clientY,
124
+ offsetX: originalEvent.offsetX,
125
+ offsetY: originalEvent.offsetY,
126
+ pageX: originalEvent.pageX,
127
+ pageY: originalEvent.pageY
128
+ },
129
+
130
+ // add coordinate data that would typically acompany a touch/click event
131
+ clientX: originalEvent.clientX,
132
+ clientY: originalEvent.clientY,
133
+ offsetX: originalEvent.offsetX,
134
+ offsetY: originalEvent.offsetY,
135
+ pageX: originalEvent.pageX,
136
+ pageY: originalEvent.pageY,
137
+ screenX: originalEvent.screenX,
138
+ screenY: originalEvent.screenY
139
+ }));
140
+
141
+ if (!allowClickEvent) {
142
+ // suppress the next click event if e.preventDefault() was called in long-press handler
143
+ document.addEventListener('click', function suppressEvent(e) {
144
+ document.removeEventListener('click', suppressEvent, true);
145
+ cancelEvent(e);
146
+ }, true);
147
+ }
148
+ }
149
+
150
+ /**
151
+ * consolidates mouse, touch, and Pointer events
152
+ * @param {MouseEvent|PointerEvent|TouchEvent} e The original event being fired
153
+ * @returns {MouseEvent|PointerEvent|Touch}
154
+ */
155
+ function unifyEvent(e) {
156
+ if (e.changedTouches !== undefined) {
157
+ return e.changedTouches[0];
158
+ }
159
+ return e;
160
+ }
161
+
162
+ /**
163
+ * method responsible for starting the long press timer
164
+ * @param {event} e - event object
165
+ * @returns {void}
166
+ */
167
+ function startLongPressTimer(e) {
168
+
169
+ clearLongPressTimer();
170
+
171
+ var el = e.target;
172
+
173
+ // get delay from html attribute if it exists, otherwise default to 1500
174
+ var longPressDelayInMs = parseInt(getNearestAttribute(el, 'data-long-press-delay', '1500'), 10); // default 1500
175
+
176
+ // start the timer
177
+ timer = requestTimeout(fireLongPressEvent.bind(el, e), longPressDelayInMs);
178
+ }
179
+
180
+ /**
181
+ * method responsible for clearing a pending long press timer
182
+ * @param {event} e - event object
183
+ * @returns {void}
184
+ */
185
+ function clearLongPressTimer(e) {
186
+ clearRequestTimeout(timer);
187
+ timer = null;
188
+ }
189
+
190
+ /**
191
+ * Cancels the current event
192
+ * @param {object} e - browser event object
193
+ * @returns {void}
194
+ */
195
+ function cancelEvent(e) {
196
+ e.stopImmediatePropagation();
197
+ e.preventDefault();
198
+ e.stopPropagation();
199
+ }
200
+
201
+ /**
202
+ * Starts the timer on mouse down and logs current position
203
+ * @param {object} e - browser event object
204
+ * @returns {void}
205
+ */
206
+ function mouseDownHandler(e) {
207
+ startX = e.clientX;
208
+ startY = e.clientY;
209
+ startLongPressTimer(e);
210
+ }
211
+
212
+ /**
213
+ * If the mouse moves n pixels during long-press, cancel the timer
214
+ * @param {object} e - browser event object
215
+ * @returns {void}
216
+ */
217
+ function mouseMoveHandler(e) {
218
+
219
+ // calculate total number of pixels the pointer has moved
220
+ var diffX = Math.abs(startX - e.clientX);
221
+ var diffY = Math.abs(startY - e.clientY);
222
+
223
+ // if pointer has moved more than allowed, cancel the long-press timer and therefore the event
224
+ if (diffX >= maxDiffX || diffY >= maxDiffY) {
225
+ clearLongPressTimer();
226
+ }
227
+ }
228
+
229
+ /**
230
+ * Gets attribute off HTML element or nearest parent
231
+ * @param {object} el - HTML element to retrieve attribute from
232
+ * @param {string} attributeName - name of the attribute
233
+ * @param {any} defaultValue - default value to return if no match found
234
+ * @returns {any} attribute value or defaultValue
235
+ */
236
+ function getNearestAttribute(el, attributeName, defaultValue) {
237
+
238
+ // walk up the dom tree looking for data-action and data-trigger
239
+ while (el && el !== document.documentElement) {
240
+
241
+ var attributeValue = el.getAttribute(attributeName);
242
+
243
+ if (attributeValue) {
244
+ return attributeValue;
245
+ }
246
+
247
+ el = el.parentNode;
248
+ }
249
+
250
+ return defaultValue;
251
+ }
252
+
253
+ // hook events that clear a pending long press event
254
+ document.addEventListener(mouseUp, clearLongPressTimer, true);
255
+ document.addEventListener(mouseLeave, clearLongPressTimer, true);
256
+ document.addEventListener(mouseMove, mouseMoveHandler, true);
257
+ document.addEventListener('wheel', clearLongPressTimer, true);
258
+ document.addEventListener('scroll', clearLongPressTimer, true);
259
+ document.addEventListener('contextmenu', clearLongPressTimer, true);
260
+
261
+ // hook events that can trigger a long press event
262
+ document.addEventListener(mouseDown, mouseDownHandler, true); // <- start
263
+
264
+ }(window, document));
@@ -1,3 +1,3 @@
1
- const version = "9.0.0-next.32";
1
+ const version = "9.0.0-next.34";
2
2
 
3
3
  export { version as v };
@@ -2,6 +2,8 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { v as version } from './package.js';
3
3
  import { H as HEADING_LEVELS } from './heading-levels.js';
4
4
  import { c as checkEmptyOrOneOf } from './index2.js';
5
+ import './breakpoints.js';
6
+ import { e as eventGuard } from './event-guard.js';
5
7
  import { n as nanoid } from './index.browser.js';
6
8
  import { d as defineCustomElement$3 } from './post-collapsible2.js';
7
9
  import { d as defineCustomElement$2 } from './post-collapsible-trigger2.js';
@@ -20,8 +22,6 @@ const PostAccordionItem = /*@__PURE__*/ proxyCustomElement(class PostAccordionIt
20
22
  this.collapsed = false;
21
23
  this.headingLevel = undefined;
22
24
  }
23
- collapsible;
24
- get host() { return this; }
25
25
  validateHeadingLevel() {
26
26
  checkEmptyOrOneOf(this, 'headingLevel', HEADING_LEVELS, 'The `heading-level` property of the `post-accordion-item` must be a number between 1 and 6.');
27
27
  }
@@ -31,12 +31,11 @@ const PostAccordionItem = /*@__PURE__*/ proxyCustomElement(class PostAccordionIt
31
31
  componentDidLoad() {
32
32
  this.validateHeadingLevel();
33
33
  }
34
- // capture to make sure the "collapsed" property is updated before the event is consumed
34
+ // Capture to make sure the "collapsed" property is updated before the event is consumed
35
35
  onCollapseToggle(event) {
36
- if (event.target === this.host &&
37
- event.target.localName === 'post-accordion-item') {
36
+ eventGuard(this.host, event, { targetLocalName: 'post-collapsible', delegatorSelector: 'post-accordion-item' }, () => {
38
37
  this.collapsed = !event.detail;
39
- }
38
+ });
40
39
  }
41
40
  /**
42
41
  * Triggers the collapse programmatically.
@@ -53,11 +52,12 @@ const PostAccordionItem = /*@__PURE__*/ proxyCustomElement(class PostAccordionIt
53
52
  render() {
54
53
  const headingLevel = this.host.closest('post-accordion')?.getAttribute('heading-level');
55
54
  const HeadingTag = `h${headingLevel ?? this.headingLevel ?? 2}`;
56
- 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: {
55
+ 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: {
57
56
  'logo-container': true,
58
57
  'has-image': !!this.slottedLogo,
59
- } }, 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' }))))));
58
+ } }, 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' }))))));
60
59
  }
60
+ get host() { return this; }
61
61
  static get watchers() { return {
62
62
  "headingLevel": ["validateHeadingLevel"]
63
63
  }; }
@@ -2,6 +2,8 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { v as version } from './package.js';
3
3
  import { H as HEADING_LEVELS } from './heading-levels.js';
4
4
  import { c as checkOneOf } from './check-one-of.js';
5
+ import './breakpoints.js';
6
+ import { e as eventGuard } from './event-guard.js';
5
7
 
6
8
  const postAccordionCss = ":host{display:block}::slotted(post-accordion-item){display:block}::slotted(post-accordion-item:not(:only-of-type:first-of-type)){margin-block-start:calc(var(--post-device-border-width-default)*-1)}::slotted(post-accordion-item:not(:only-of-type):first-of-type){--post-accordion-button-border-top:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke)}";
7
9
  const PostAccordionStyle0 = postAccordionCss;
@@ -11,12 +13,10 @@ const PostAccordion = /*@__PURE__*/ proxyCustomElement(class PostAccordion exten
11
13
  super();
12
14
  this.__registerHost();
13
15
  this.__attachShadow();
16
+ this.expandedItems = new Set();
14
17
  this.headingLevel = undefined;
15
18
  this.multiple = false;
16
19
  }
17
- accordionItems;
18
- expandedItems = new Set();
19
- get host() { return this; }
20
20
  validateHeadingLevel(newValue = this.headingLevel) {
21
21
  if (!newValue)
22
22
  return;
@@ -30,10 +30,7 @@ const PostAccordion = /*@__PURE__*/ proxyCustomElement(class PostAccordion exten
30
30
  this.validateHeadingLevel();
31
31
  }
32
32
  collapseToggleHandler(event) {
33
- event.stopPropagation();
34
- const toggledItem = event.target;
35
- const closestParentAccordion = toggledItem.closest('post-accordion');
36
- if (closestParentAccordion === this.host && toggledItem.localName === 'post-accordion-item') {
33
+ eventGuard(this.host, event, { targetLocalName: 'post-accordion-item', delegatorSelector: 'post-accordion' }, () => {
37
34
  const toggledAccordionItem = event.target;
38
35
  const isClosing = this.expandedItems.has(toggledAccordionItem);
39
36
  if (isClosing) {
@@ -44,13 +41,13 @@ const PostAccordion = /*@__PURE__*/ proxyCustomElement(class PostAccordion exten
44
41
  }
45
42
  if (this.multiple || isClosing)
46
43
  return;
47
- // close other open accordion items to have only one opened at a time
44
+ // Close other open accordion items to ensure only one is open at a time
48
45
  Array.from(this.expandedItems.values())
49
46
  .filter(item => item !== toggledAccordionItem)
50
47
  .forEach(item => {
51
48
  item.toggle(false);
52
49
  });
53
- }
50
+ });
54
51
  }
55
52
  /**
56
53
  * Toggles the `post-accordion-item` with the given id.
@@ -96,8 +93,9 @@ const PostAccordion = /*@__PURE__*/ proxyCustomElement(class PostAccordion exten
96
93
  });
97
94
  }
98
95
  render() {
99
- return (h(Host, { key: '9ec8ca1ceac6587be68272568f216c958460ac0a', "data-version": version }, h("div", { key: '99887626d105f0e8f86b24e211591e7be820738d', class: "accordion" }, h("slot", { key: '4d8a003377c3a90648818a00144fd5f3a65be084', onSlotchange: () => this.registerAccordionItems() }))));
96
+ return (h(Host, { key: '80e15cf7835f213cfee1ca7cf83cc2fd24bba3ff', "data-version": version }, h("div", { key: '1cf03d4960115b52394b5cb07cd2286747c728dd', class: "accordion" }, h("slot", { key: 'b94328a45a3cba6a8d3b418061036eb8af2cf027', onSlotchange: () => this.registerAccordionItems() }))));
100
97
  }
98
+ get host() { return this; }
101
99
  static get watchers() { return {
102
100
  "headingLevel": ["validateHeadingLevel"]
103
101
  }; }
@@ -1,6 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { v as version } from './package.js';
3
3
  import { c as checkNonEmpty } from './check-non-empty.js';
4
+ import './breakpoints.js';
4
5
 
5
6
  const postAvatarCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{--post-avatar-bg:var(--post-scheme-color-interactive-primary-enabled-bg2);--post-avatar-fg:var(--post-scheme-color-interactive-primary-enabled-fg3);display:inline-flex;position:relative;width:var(--post-device-sizing-interactive-icon-size3);height:var(--post-device-sizing-interactive-icon-size3);background-color:var(--post-scheme-color-interactive-primary-enabled-stroke3);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-enabled-stroke3);border-radius:var(--post-device-border-radius-round);font-size:var(--post-device-font-size-8);vertical-align:top;line-height:1}:host::after{display:block;content:\"\";position:absolute;inset:0;z-index:1;border-radius:inherit}*,*::before,*::after{box-sizing:border-box}slot,img,::slotted(img){display:block;width:100%;height:100%}img,::slotted(img){border-radius:var(--post-device-border-radius-round)}::slotted(:not(img)){display:none !important}.initials{display:flex;justify-content:center;align-items:center;position:relative;z-index:2;width:100%;height:100%;background-color:var(--post-avatar-bg);border-radius:var(--post-device-border-radius-round);color:var(--post-avatar-fg);text-transform:uppercase}.initials span{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.initials span:not(caption){position:absolute !important}";
6
7
  const PostAvatarStyle0 = postAvatarCss;
@@ -32,8 +33,6 @@ const PostAvatar = /*@__PURE__*/ proxyCustomElement(class PostAvatar extends HTM
32
33
  this.imageAlt = '';
33
34
  this.initials = '';
34
35
  }
35
- static INTERNAL_USERID_IMAGE_SRC = 'https://web.post.ch/UserProfileImage/{userid}.png';
36
- get host() { return this; }
37
36
  validateFirstname() {
38
37
  checkNonEmpty(this, 'firstname');
39
38
  }
@@ -135,12 +134,13 @@ const PostAvatar = /*@__PURE__*/ proxyCustomElement(class PostAvatar extends HTM
135
134
  }, []);
136
135
  return (h(Host, { "data-version": version }, h("slot", { onSlotchange: this.onSlotDefaultChange.bind(this) }, this.avatarType === 'image' && h("img", { src: this.imageUrl, alt: this.imageAlt }), this.avatarType === 'initials' && h("div", { class: "initials" }, initials))));
137
136
  }
137
+ get host() { return this; }
138
138
  static get watchers() { return {
139
139
  "firstname": ["validateFirstname"]
140
140
  }; }
141
141
  static get style() { return PostAvatarStyle0; }
142
142
  }, [1, "post-avatar", {
143
- "firstname": [1],
143
+ "firstname": [513],
144
144
  "lastname": [1],
145
145
  "userid": [1],
146
146
  "email": [1],
@@ -152,6 +152,7 @@ const PostAvatar = /*@__PURE__*/ proxyCustomElement(class PostAvatar extends HTM
152
152
  }, undefined, {
153
153
  "firstname": ["validateFirstname"]
154
154
  }]);
155
+ PostAvatar.INTERNAL_USERID_IMAGE_SRC = 'https://web.post.ch/UserProfileImage/{userid}.png';
155
156
  function defineCustomElement() {
156
157
  if (typeof customElements === "undefined") {
157
158
  return;