@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
@@ -3,9 +3,10 @@ import { s as slideDown, a as slideUp } from './slide.js';
3
3
  import { v as version } from './package.js';
4
4
  import { c as checkType } from './check-type.js';
5
5
  import { c as checkNonEmpty } from './check-non-empty.js';
6
+ import './breakpoints.js';
6
7
  import { d as defineCustomElement$1 } from './post-icon2.js';
7
8
 
8
- const postBackToTopCss = ":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}";
9
+ const postBackToTopCss = ":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}";
9
10
  const PostBackToTopStyle0 = postBackToTopCss;
10
11
 
11
12
  const PostBackToTop = /*@__PURE__*/ proxyCustomElement(class PostBackToTop extends HTMLElement {
@@ -13,18 +14,16 @@ const PostBackToTop = /*@__PURE__*/ proxyCustomElement(class PostBackToTop exten
13
14
  super();
14
15
  this.__registerHost();
15
16
  this.__attachShadow();
17
+ this.handleScroll = () => {
18
+ this.belowFold = this.isBelowFold();
19
+ };
16
20
  this.label = undefined;
17
21
  this.belowFold = false;
18
22
  }
19
- get host() { return this; }
20
- translateY;
21
23
  isBelowFold() {
22
24
  return window.scrollY > window.innerHeight;
23
25
  }
24
- handleScroll = () => {
25
- this.belowFold = this.isBelowFold();
26
- };
27
- // Watch for changes in belowFold
26
+ /*Watch for changes in belowFold to show/hide the back to top button*/
28
27
  watchBelowFold(newValue) {
29
28
  if (newValue) {
30
29
  slideDown(this.host, this.translateY);
@@ -36,12 +35,41 @@ const PostBackToTop = /*@__PURE__*/ proxyCustomElement(class PostBackToTop exten
36
35
  scrollToTop() {
37
36
  window.scrollTo({
38
37
  top: 0,
38
+ behavior: 'smooth',
39
39
  });
40
40
  }
41
+ getSecondPixelValue(parts) {
42
+ for (const part of parts) {
43
+ const pixelValues = part.match(/\b\d+px\b/g);
44
+ if (pixelValues && pixelValues.length > 1) {
45
+ return pixelValues[1];
46
+ }
47
+ }
48
+ }
49
+ animateButton() {
50
+ // Get the back-to-top button top postiion
51
+ const positionTop = window.getComputedStyle(this.host).getPropertyValue('top');
52
+ const buttonElement = this.host.shadowRoot.querySelector('button');
53
+ // Extract the elevation height from the back-to-top button elevation token
54
+ const elevation = getComputedStyle(buttonElement).getPropertyValue('--post-back-to-top-elevation');
55
+ const elevationParts = elevation.split(',');
56
+ const elevationHeight = this.getSecondPixelValue(elevationParts);
57
+ // The translateY is calculated as => -100% (btt button height) - topPosition - elevationHeight
58
+ this.translateY =
59
+ String((-1 * 100) / 100 -
60
+ parseFloat(positionTop.replace('px', '')) -
61
+ parseFloat(elevationHeight.replace('px', ''))) + 'px';
62
+ if (this.belowFold) {
63
+ slideDown(this.host, this.translateY);
64
+ }
65
+ if (!this.belowFold) {
66
+ this.host.style.transform = `translateY(${this.translateY})`;
67
+ }
68
+ }
41
69
  // Validate the label
42
70
  validateLabel() {
43
- checkType(this, 'label', 'string');
44
71
  checkNonEmpty(this, 'label');
72
+ checkType(this, 'label', 'string');
45
73
  }
46
74
  // Set the initial state
47
75
  componentWillLoad() {
@@ -49,31 +77,23 @@ const PostBackToTop = /*@__PURE__*/ proxyCustomElement(class PostBackToTop exten
49
77
  }
50
78
  componentDidLoad() {
51
79
  window.addEventListener('scroll', this.handleScroll, false);
52
- this.translateY = window
53
- .getComputedStyle(this.host)
54
- .getPropertyValue('--post-floating-button-translate-y');
55
- if (!this.belowFold) {
56
- this.host.style.transform = `translateY(${this.translateY})`;
57
- }
58
- // Initial load
59
- if (this.belowFold) {
60
- slideUp(this.host, this.translateY);
61
- }
80
+ this.animateButton();
62
81
  this.validateLabel();
63
82
  }
64
83
  disconnectedCallback() {
65
84
  window.removeEventListener('scroll', this.handleScroll);
66
85
  }
67
86
  render() {
68
- return (h(Host, { key: '4d8c4e05ebcdd088c924ac0329b2238eb1d3c6ca', "data-version": version }, h("button", { key: 'fc37aff8558d7eb4b27a870f11133fc6984f4e11', class: "back-to-top", "aria-hidden": this.belowFold ? 'false' : 'true', tabindex: this.belowFold ? '0' : '-1', onClick: this.scrollToTop }, h("post-icon", { key: '4b978c44982ec0b02798ce75766b2acdd8497412', "aria-hidden": "true", name: "3026" }), h("span", { key: '4a899be348a6c8721696c634970773cd77f685d9', class: "visually-hidden" }, this.label))));
87
+ return (h(Host, { key: 'c1ab6c5e7619ad829d64aea16c59a923310cf091', "data-version": version }, h("button", { key: '99e10e4d16c8d82521b001c3b3d902d8ba47ee92', class: "back-to-top", "aria-hidden": this.belowFold ? 'false' : 'true', tabindex: this.belowFold ? '0' : '-1', onClick: this.scrollToTop }, h("post-icon", { key: '5a6a1b472b45fcc466127ece7091617e4700ee16', "aria-hidden": "true", name: "3026" }), h("span", { key: 'c8502e4822347d48034f6a936203e3314c7ae91e', class: "visually-hidden" }, this.label))));
69
88
  }
89
+ get host() { return this; }
70
90
  static get watchers() { return {
71
91
  "belowFold": ["watchBelowFold"],
72
92
  "label": ["validateLabel"]
73
93
  }; }
74
94
  static get style() { return PostBackToTopStyle0; }
75
95
  }, [1, "post-back-to-top", {
76
- "label": [1],
96
+ "label": [513],
77
97
  "belowFold": [32]
78
98
  }, undefined, {
79
99
  "belowFold": ["watchBelowFold"],
@@ -2,6 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { v as version } from './package.js';
3
3
  import { f as fadeOut } from './fade.js';
4
4
  import { a as checkEmptyOrPattern, c as checkEmptyOrOneOf } from './index2.js';
5
+ import './breakpoints.js';
5
6
  import { n as nanoid } from './index.browser.js';
6
7
  import { d as defineCustomElement$1 } from './post-icon2.js';
7
8
  import { c as checkType } from './check-type.js';
@@ -28,7 +29,6 @@ const PostBanner = /*@__PURE__*/ proxyCustomElement(class PostBanner extends HTM
28
29
  this.icon = undefined;
29
30
  this.type = 'neutral';
30
31
  }
31
- get host() { return this; }
32
32
  validateDismissible() {
33
33
  checkType(this, 'dismissible', 'boolean');
34
34
  setTimeout(() => this.validateDismissLabel());
@@ -44,11 +44,6 @@ const PostBanner = /*@__PURE__*/ proxyCustomElement(class PostBanner extends HTM
44
44
  validateType() {
45
45
  checkEmptyOrOneOf(this, 'type', BANNER_TYPES);
46
46
  }
47
- /**
48
- * An event emitted when the banner element is dismissed, after the transition.
49
- * It has no payload and only relevant for dismissible banners.
50
- */
51
- postDismissed;
52
47
  componentDidLoad() {
53
48
  this.validateDismissible();
54
49
  this.validateIcon();
@@ -85,6 +80,7 @@ const PostBanner = /*@__PURE__*/ proxyCustomElement(class PostBanner extends HTM
85
80
  ];
86
81
  return (h(Host, { key: 'ec72012fa82e03b0dca2368025449e1942731c21', "data-version": version }, h("div", { key: 'acae7ac34af951ca9176769ab4bcdc388d769931', role: "alert", class: this.classes, part: this.classes }, this.dismissible && (h("button", { key: '23cc4d77c2825bc76cedcdc321b80b9b0f333e71', class: "btn-close", onClick: this.onDismissButtonClick }, h("span", { key: '2f0753d49fc86f19df743f33a086c14b2a0686f7', class: "visually-hidden" }, this.dismissLabel))), this.icon && this.icon !== 'none' && (h("post-icon", { key: `${this.bannerId}-icon`, name: this.icon })), this.hasActions ? actionBannerContent : defaultBannerContent)));
87
82
  }
83
+ get host() { return this; }
88
84
  static get watchers() { return {
89
85
  "dismissible": ["validateDismissible"],
90
86
  "dismissLabel": ["validateDismissLabel"],
@@ -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 { d as checkEmptyOrUrl } from './index2.js';
4
+ import './breakpoints.js';
4
5
  import { d as defineCustomElement$1 } from './post-icon2.js';
5
6
 
6
7
  const postBreadcrumbItemCss = ":host{display:flex;align-items:center;justify-content:start;gap:var(--post-device-spacing-gap-inline-5)}:host post-icon{box-sizing:border-box;height:var(--post-core-dimension-24);width:var(--post-core-dimension-24);padding-block:var(--post-core-dimension-4);padding-inline:var(--post-core-dimension-4)}.breadcrumb-item{white-space:nowrap;line-height:150%;padding-block:var(--post-device-spacing-padding-block-7);color:var(--post-scheme-color-interactive-primary-enabled-fg1);text-decoration:var(--post-core-text-decoration-none)}.breadcrumb-item{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}.breadcrumb-item: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){.breadcrumb-item:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.breadcrumb-item: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){.breadcrumb-item:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.breadcrumb-item:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);text-decoration:var(--post-core-text-decoration-underline)}.breadcrumb-item:focus-visible{border-radius:var(--post-device-border-radius-focus)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.breadcrumb-item,.breadcrumb-item:focus,.breadcrumb-item:hover{color:LinkText !important}.breadcrumb-item:visited{color:VisitedText !important}}";
@@ -14,8 +15,6 @@ const PostBreadcrumbItem = /*@__PURE__*/ proxyCustomElement(class PostBreadcrumb
14
15
  this.url = undefined;
15
16
  this.fullUrl = undefined;
16
17
  }
17
- get host() { return this; }
18
- validUrl;
19
18
  validateUrl() {
20
19
  try {
21
20
  this.validUrl = this.constructUrl(this.url);
@@ -50,6 +49,7 @@ const PostBreadcrumbItem = /*@__PURE__*/ proxyCustomElement(class PostBreadcrumb
50
49
  const BreadcrumbTag = this.validUrl ? 'a' : 'span';
51
50
  return (h(Host, { key: 'd0444118aa031f4cf6f5161d7aa21900e9768348', "data-version": version }, h("post-icon", { key: '719a76e6e86bbb02526c4610acefb3ad253454af', name: "2111", class: "breadcrumb-item-icon" }), h(BreadcrumbTag, { key: '3f5ffb9c77567dba35efa7938029cd519de55474', class: "breadcrumb-item", ...(this.validUrl ? { href: this.validUrl } : {}), onKeyDown: event => this.handleKeyDown(event) }, h("slot", { key: 'bb1be29905c1533f2238a47a346fb35d6a7645fd' }))));
52
51
  }
52
+ get host() { return this; }
53
53
  static get watchers() { return {
54
54
  "url": ["validateUrl"]
55
55
  }; }
@@ -1,7 +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 { b as checkUrl } from './index2.js';
4
- import { d as debounce } from './debounce.js';
4
+ import './breakpoints.js';
5
5
  import { d as defineCustomElement$6 } from './post-breadcrumb-item2.js';
6
6
  import { d as defineCustomElement$5 } from './post-icon2.js';
7
7
  import { d as defineCustomElement$4 } from './post-menu2.js';
@@ -9,6 +9,16 @@ import { d as defineCustomElement$3 } from './post-menu-item2.js';
9
9
  import { d as defineCustomElement$2 } from './post-menu-trigger2.js';
10
10
  import { d as defineCustomElement$1 } from './post-popovercontainer2.js';
11
11
 
12
+ function debounce(callback, timeout = 200) {
13
+ let id;
14
+ return (...args) => {
15
+ if (id) {
16
+ clearTimeout(id);
17
+ }
18
+ id = setTimeout(callback, timeout, ...args);
19
+ };
20
+ }
21
+
12
22
  const postBreadcrumbCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{display:flex;align-items:center}.breadcrumbs-nav{display:flex;align-items:center}.hidden-items{gap:var(--post-device-spacing-gap-inline-4);position:absolute;height:0;overflow:hidden;white-space:nowrap}.breadcrumbs-list{display:flex;flex-wrap:nowrap;position:relative;margin:0;padding:0;list-style:none;align-items:center;height:100%;gap:var(--post-device-spacing-gap-inline-4)}post-icon{display:inline-block;box-sizing:border-box;color:var(--post-scheme-color-interactive-primary-enabled-fg1);height:var(--post-core-dimension-24);width:var(--post-core-dimension-24)}.breadcrumb-item-icon{padding-block:var(--post-core-dimension-4);padding-inline:var(--post-core-dimension-4)}li a{display:flex;align-items:center}li a{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}li a: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){li a:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){li a: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){li a:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}li a:focus{border-radius:var(--post-device-border-radius-focus)}li a .home-icon{padding-block:var(--post-device-spacing-padding-4);padding-inline:var(--post-device-spacing-padding-4)}li a .home-icon:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){li a .home-icon a,li a .home-icon:focus,li a .home-icon:hover{color:CanvasText !important}}.menu-trigger-wrapper{display:flex;align-items:center;gap:var(--post-device-spacing-gap-inline-5)}.actual-menu{display:flex;align-items:center}post-menu-trigger{display:flex;align-items:center;padding-block:var(--post-device-spacing-padding-block-7)}post-menu-trigger{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}post-menu-trigger: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){post-menu-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-menu-trigger: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){post-menu-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-menu-trigger:focus{border-radius:var(--post-device-border-radius-focus)}post-menu-trigger button{background:none;border:none;line-height:150%;font-size:var(--post-device-font-size-6);cursor:pointer;padding:0;color:var(--post-scheme-color-interactive-primary-enabled-fg1)}post-menu-trigger button:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-menu-trigger button a,post-menu-trigger button:focus,post-menu-trigger button:hover{color:LinkText !important}}post-menu::part(popover-container){display:flex;flex-direction:column;align-items:start;padding:.6rem;gap:var(--post-device-spacing-gap-inline-4)}post-menu::part(popover-container) ::slotted(post-menu-item:not(:last-child)){margin-block-end:var(--post-device-spacing-gap-inline-4)}.breadcrumb-item{display:flex;align-items:center;justify-content:center;gap:var(--post-device-spacing-gap-inline-5)}.breadcrumb-item a{text-decoration:none;color:var(--post-scheme-color-surface-default-fg);line-height:150%;padding-block:var(--post-device-spacing-padding-block-7);font-size:var(--post-device-font-size-6)}.breadcrumb-item a{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}.breadcrumb-item a: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){.breadcrumb-item a:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.breadcrumb-item a: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){.breadcrumb-item a:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.breadcrumb-item a:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);text-decoration:var(--post-core-text-decoration-underline)}.breadcrumb-item a:focus-visible{border-radius:var(--post-device-border-radius-focus)}.breadcrumb-item span:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);text-decoration:var(--post-core-text-decoration-underline)}.breadcrumb-item span:focus-visible{border-radius:var(--post-device-border-radius-focus)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.breadcrumb-item a,.breadcrumb-item:focus,.breadcrumb-item:hover{color:LinkText !important}.breadcrumb-item:visited{color:VisitedText !important}}post-breadcrumb-item:last-of-type{pointer-events:none;color:var(--post-scheme-color-interactive-primary-selected-fg1);font-weight:var(--post-device-font-weight-bold);text-decoration:var(--post-core-text-decoration-none)}post-breadcrumb-item:last-of-type:hover{color:var(--post-scheme-color-interactive-primary-selected-fg1);text-decoration:none}.visually-hidden{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}.visually-hidden:not(caption){position:absolute !important}";
13
23
  const PostBreadcrumbStyle0 = postBreadcrumbCss;
14
24
 
@@ -17,15 +27,28 @@ const PostBreadcrumb = /*@__PURE__*/ proxyCustomElement(class PostBreadcrumb ext
17
27
  super();
18
28
  this.__registerHost();
19
29
  this.__attachShadow();
30
+ // Waits for breadcrumb navigation reference to be available
31
+ this.waitForBreadcrumbRef = debounce(() => {
32
+ if (this.breadcrumbNavRef?.clientWidth > 0) {
33
+ this.checkConcatenation();
34
+ }
35
+ else {
36
+ this.waitForBreadcrumbRef();
37
+ }
38
+ }, 50);
39
+ // Handles resizing to check concatenation
40
+ this.handleResize = () => {
41
+ if (window.innerWidth === this.lastWindowWidth)
42
+ return;
43
+ this.lastWindowWidth = window.innerWidth;
44
+ this.checkConcatenation();
45
+ };
20
46
  this.homeUrl = undefined;
21
47
  this.homeText = 'Home';
22
48
  this.breadcrumbItems = [];
23
49
  this.isConcatenated = undefined;
24
50
  this.lastWindowWidth = undefined;
25
51
  }
26
- get host() { return this; }
27
- breadcrumbNavRef;
28
- lastItem;
29
52
  validateUrl() {
30
53
  checkUrl(this, 'homeUrl');
31
54
  }
@@ -39,15 +62,6 @@ const PostBreadcrumb = /*@__PURE__*/ proxyCustomElement(class PostBreadcrumb ext
39
62
  disconnectedCallback() {
40
63
  window.removeEventListener('resize', this.handleResize);
41
64
  }
42
- // Waits for breadcrumb navigation reference to be available
43
- waitForBreadcrumbRef = debounce(() => {
44
- if (this.breadcrumbNavRef?.clientWidth > 0) {
45
- this.checkConcatenation();
46
- }
47
- else {
48
- this.waitForBreadcrumbRef();
49
- }
50
- }, 50);
51
65
  // Updates breadcrumb items and sets the last item
52
66
  updateBreadcrumbItems() {
53
67
  this.breadcrumbItems = Array.from(this.host.querySelectorAll('post-breadcrumb-item')).map(item => ({
@@ -56,13 +70,6 @@ const PostBreadcrumb = /*@__PURE__*/ proxyCustomElement(class PostBreadcrumb ext
56
70
  }));
57
71
  this.lastItem = this.breadcrumbItems[this.breadcrumbItems.length - 1];
58
72
  }
59
- // Handles resizing to check concatenation
60
- handleResize = () => {
61
- if (window.innerWidth === this.lastWindowWidth)
62
- return;
63
- this.lastWindowWidth = window.innerWidth;
64
- this.checkConcatenation();
65
- };
66
73
  // Determines parent width for concatenation logic
67
74
  getParentWidth() {
68
75
  let parent = this.host.parentNode;
@@ -109,6 +116,7 @@ const PostBreadcrumb = /*@__PURE__*/ proxyCustomElement(class PostBreadcrumb ext
109
116
  }
110
117
  } }, item.url ? h("a", { href: item.url }, item.text) : h("span", null, item.text)))))))) : (visibleItems.map(item => (h("post-breadcrumb-item", { url: item.url, key: item.url || item.text }, item.text)))), this.lastItem && (h("post-breadcrumb-item", { key: '31d86d933720b5f6f6928ccfd251443261e9479e', url: this.lastItem.url, "aria-current": "page", tabindex: -1 }, this.lastItem.text))), h("div", { key: '3248d32aa6a73c97c3071be85174fb8634d4e722', class: "hidden-items" }, h("a", { key: '05b0231d3a5793588aa9ede628a7b1e6d2e2faf0', href: this.homeUrl, class: "hidden-breadcrumb-item" }, h("span", { key: '15a63a894124717cfb2be61779c3971772c38397', class: "visually-hidden" }, this.homeText), h("post-icon", { key: '6c893c56b6a34f311fa66d71c4cb523b00535458', name: "home", class: "home-icon" })), this.breadcrumbItems.map(item => (h("post-breadcrumb-item", { url: item.url, key: `hidden-${item.url || item.text}`, class: "hidden-breadcrumb-item" }, item.text)))))));
111
118
  }
119
+ get host() { return this; }
112
120
  static get watchers() { return {
113
121
  "homeUrl": ["validateUrl"]
114
122
  }; }
@@ -1,6 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as checkOneOf } from './check-one-of.js';
3
3
  import { c as checkNonEmpty } from './check-non-empty.js';
4
+ import './breakpoints.js';
4
5
  import { v as version } from './package.js';
5
6
  import { d as defineCustomElement$1 } from './post-icon2.js';
6
7
 
@@ -9,42 +10,6 @@ const PostCardControlStyle0 = postCardControlCss;
9
10
 
10
11
  let cardControlIds = 0;
11
12
  const PostCardControl = /*@__PURE__*/ proxyCustomElement(class PostCardControl extends HTMLElement {
12
- EVENT_MAP = {
13
- input: 'postInput',
14
- change: 'postChange',
15
- };
16
- KEYCODES = {
17
- SPACE: 'Space',
18
- LEFT: 'ArrowLeft',
19
- UP: 'ArrowUp',
20
- RIGHT: 'ArrowRight',
21
- DOWN: 'ArrowDown',
22
- };
23
- group = {
24
- hosts: [],
25
- members: [],
26
- first: null,
27
- last: null,
28
- checked: null,
29
- focused: null,
30
- };
31
- control;
32
- controlId = `PostCardControl_${cardControlIds++}`;
33
- initialChecked;
34
- hasIcon;
35
- get host() { return this; }
36
- internals;
37
- /**
38
- * An event emitted whenever the components checked state is toggled.
39
- * The event payload (emitted under `event.detail.state`) is a boolean: `true` if the component is checked, `false` if it is unchecked.
40
- */
41
- postInput;
42
- /**
43
- * An event emitted whenever the components checked state is toggled.
44
- * The event payload (emitted under `event.detail.state`) is a boolean: `true` if the component is checked, `false` if it is unchecked.
45
- * <span className="banner banner-sm banner-info">If the component is used with type `radio`, it will only emit this event, when the checked state is changing to `true`.</span>
46
- */
47
- postChange;
48
13
  /**
49
14
  * A public method to reset the controls `checked` and `validity` state.
50
15
  * The validity state is set to `null`, so it's neither valid nor invalid.
@@ -80,6 +45,26 @@ const PostCardControl = /*@__PURE__*/ proxyCustomElement(class PostCardControl e
80
45
  this.postInput = createEvent(this, "postInput", 7);
81
46
  this.postChange = createEvent(this, "postChange", 7);
82
47
  this.internals = this.attachInternals();
48
+ this.EVENT_MAP = {
49
+ input: 'postInput',
50
+ change: 'postChange',
51
+ };
52
+ this.KEYCODES = {
53
+ SPACE: 'Space',
54
+ LEFT: 'ArrowLeft',
55
+ UP: 'ArrowUp',
56
+ RIGHT: 'ArrowRight',
57
+ DOWN: 'ArrowDown',
58
+ };
59
+ this.group = {
60
+ hosts: [],
61
+ members: [],
62
+ first: null,
63
+ last: null,
64
+ checked: null,
65
+ focused: null,
66
+ };
67
+ this.controlId = `PostCardControl_${cardControlIds++}`;
83
68
  this.focused = false;
84
69
  this.label = undefined;
85
70
  this.description = null;
@@ -236,14 +221,14 @@ const PostCardControl = /*@__PURE__*/ proxyCustomElement(class PostCardControl e
236
221
  this.hasIcon = Boolean(this.host.querySelector('[slot="icon"]') || this.icon);
237
222
  }
238
223
  render() {
239
- return (h(Host, { key: '6d243226748befc5cdc25f567672859700b04825', "data-version": version, onClick: this.cardClickHandler }, h("div", { key: '0e974eed3c642ca13fa86883c27c0c1e6344d7fd', class: {
224
+ return (h(Host, { key: '9172642a4424a3393c0738feba3a3ef8dcea43e8', "data-version": version, onClick: this.cardClickHandler }, h("div", { key: 'd6e47613dfe9d33647fd2379010275d70cbcbdcb', class: {
240
225
  'card-control': true,
241
226
  'is-checked': this.checked,
242
227
  'is-disabled': this.disabled,
243
228
  'is-focused': this.focused,
244
229
  'is-valid': this.validity !== null && this.validity !== 'false',
245
230
  'is-invalid': this.validity === 'false',
246
- } }, h("input", { key: 'bd2a44b835eef5ad2927b3d39721e430deccaf9d', ref: el => (this.control = el), id: this.controlId, class: "card-control--input", type: this.type, name: this.name, value: this.value, checked: this.checked, "aria-describedby": `${this.controlId}_content`, "aria-disabled": this.disabled, "aria-invalid": this.validity === 'false', onClick: this.controlClickHandler, onInput: this.controlChangeHandler, onChange: this.controlChangeHandler, onFocus: this.controlFocusHandler, onBlur: this.controlFocusHandler, onKeyDown: this.controlKeyDownHandler }), h("label", { key: 'a05fc353909de0be2cde8c306bfdc6e7248a59bf', id: `${this.controlId}_label`, htmlFor: this.controlId, class: "card-control--label" }, this.label, this.description ? (h("div", { class: "card-control--description" }, this.description)) : null), this.hasIcon ? (h("div", { class: "card-control--icon" }, h("slot", { name: "icon" }, this.icon ? h("post-icon", { name: this.icon }) : null))) : null, h("div", { key: '348dc3bea78771041ad19530c7265fba2ea189dd', id: `${this.controlId}_content`, class: "card-control--content" }, h("slot", { key: '7e6198e8e3ec1d2aec677be55c5fe8828198e9d7' })))));
231
+ } }, h("input", { key: '44b0e5d5c2c6a759300979a5c33c2a65afaaa27d', ref: el => (this.control = el), id: this.controlId, class: "card-control--input", type: this.type, name: this.name, value: this.value, checked: this.checked, "aria-describedby": `${this.controlId}_content`, "aria-disabled": this.disabled, "aria-invalid": this.validity === 'false', onClick: this.controlClickHandler, onInput: this.controlChangeHandler, onChange: this.controlChangeHandler, onFocus: this.controlFocusHandler, onBlur: this.controlFocusHandler, onKeyDown: this.controlKeyDownHandler }), h("label", { key: 'fd3106562bfcb5ca0e7e5704272f927bfb201af5', id: `${this.controlId}_label`, htmlFor: this.controlId, class: "card-control--label" }, this.label, this.description ? (h("div", { class: "card-control--description" }, this.description)) : null), this.hasIcon ? (h("div", { class: "card-control--icon" }, h("slot", { name: "icon" }, this.icon ? h("post-icon", { name: this.icon }) : null))) : null, h("div", { key: 'ebfa245a0e2b6e45384586408614ce85494fbc58', id: `${this.controlId}_content`, class: "card-control--content" }, h("slot", { key: '99b406bc58fbfcd054f1b551a453a7ac1f4276f6' })))));
247
232
  }
248
233
  componentDidRender() {
249
234
  this.setHostContext();
@@ -266,6 +251,7 @@ const PostCardControl = /*@__PURE__*/ proxyCustomElement(class PostCardControl e
266
251
  this.reset();
267
252
  }
268
253
  static get formAssociated() { return true; }
254
+ get host() { return this; }
269
255
  static get watchers() { return {
270
256
  "label": ["validateControlLabel"],
271
257
  "type": ["validateControlType"],
@@ -274,7 +260,7 @@ const PostCardControl = /*@__PURE__*/ proxyCustomElement(class PostCardControl e
274
260
  }; }
275
261
  static get style() { return PostCardControlStyle0; }
276
262
  }, [65, "post-card-control", {
277
- "label": [1],
263
+ "label": [513],
278
264
  "description": [1],
279
265
  "type": [1],
280
266
  "name": [1],
@@ -2,16 +2,21 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { v as version } from './package.js';
3
3
  import { d as defineCustomElement$1 } from './post-icon2.js';
4
4
 
5
+ const postClosebuttonCss = ".btn-icon-close{padding:0;border:unset;min-height:unset;min-width:unset;width:var(--post-device-sizing-notification-1);height:var(--post-device-sizing-notification-1);border-radius:var(--post-device-border-radius-round);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}.btn-icon-close>post-icon{min-width:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);height:var(--post-device-sizing-interactive-icon-size4)}.btn-icon-close:not(:disabled):hover,.btn-icon-close.pretend-hover{cursor:pointer;background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-icon-close:not(:disabled):hover,.btn-icon-close.pretend-hover{color:HighlightText !important}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}";
6
+ const PostClosebuttonStyle0 = postClosebuttonCss;
7
+
5
8
  const PostClosebutton = /*@__PURE__*/ proxyCustomElement(class PostClosebutton extends HTMLElement {
6
9
  constructor() {
7
10
  super();
8
11
  this.__registerHost();
12
+ this.__attachShadow();
9
13
  }
10
- get host() { return this; }
11
14
  render() {
12
- return (h(Host, { key: 'c03f50379252ba13992bc3d021989ac07dba9f79', "data-version": version }, h("button", { key: 'e97a86bb6e1eace89a1a3a78fb231047f065dd5e', class: "btn btn-icon-close", type: "button" }, h("post-icon", { key: 'aca522d4c251a8183c91c2bd4d810d0716a2fe13', "aria-hidden": "true", name: "closex" }), h("span", { key: '6873522961b1683d1261163b07ee022f93eed836', class: "visually-hidden" }, h("slot", { key: 'bf4b13356c9a0164f1481d1fedc3a78a53e5f8e0' })))));
15
+ return (h(Host, { key: 'cfa55f799fdf9ad0f3ac1eb296e063b5001de997', "data-version": version }, h("button", { key: '7c8a084f6d7278329ddfb5fc4b2b8f992a185666', class: "btn btn-icon-close", type: "button" }, h("post-icon", { key: 'fc74ccb4f0c4c091a02a41cdef918d6c3b065c8c', "aria-hidden": "true", name: "closex" }), h("span", { key: '98478b013714df6d82c6c2f533ac8ecd2abae778', class: "visually-hidden" }, h("slot", { key: '109e2bca4436986dd037d8c29088cc79395bc200' })))));
13
16
  }
14
- }, [4, "post-closebutton"]);
17
+ get host() { return this; }
18
+ static get style() { return PostClosebuttonStyle0; }
19
+ }, [1, "post-closebutton"]);
15
20
  function defineCustomElement() {
16
21
  if (typeof customElements === "undefined") {
17
22
  return;
@@ -1,68 +1,62 @@
1
- import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
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 checkType } from './check-type.js';
4
4
  import { c as checkNonEmpty } from './check-non-empty.js';
5
- import { d as debounce } from './debounce.js';
5
+ import './breakpoints.js';
6
+ import { e as eventGuard } from './event-guard.js';
6
7
  import { g as getRoot } from './get-root.js';
7
8
 
8
9
  const PostCollapsibleTrigger = /*@__PURE__*/ proxyCustomElement(class PostCollapsibleTrigger extends HTMLElement {
9
10
  constructor() {
10
11
  super();
11
12
  this.__registerHost();
13
+ this.__attachShadow();
14
+ this.observer = new MutationObserver(() => this.setTrigger());
12
15
  this.for = undefined;
13
16
  }
14
- trigger;
15
- observer = new MutationObserver(() => this.setTrigger());
16
- root;
17
- get host() { return this; }
18
17
  /**
19
18
  * Set the "aria-controls" and "aria-expanded" attributes on the trigger to match the state of the controlled post-collapsible
20
19
  */
21
- setAriaAttributes() {
20
+ validateAriaAttributes() {
22
21
  checkNonEmpty(this, 'for');
23
22
  checkType(this, 'for', 'string', 'The post-collapsible-trigger "for" prop should be a id.');
24
- void this.update();
25
23
  }
26
24
  /**
27
25
  * Initiate a mutation observer that updates the trigger whenever necessary
28
26
  */
29
27
  connectedCallback() {
30
- this.observer.observe(this.host, { childList: true, subtree: true });
31
- }
32
- /**
33
- * Attach a "postToggle" event listener to the root node
34
- * to update the trigger's "aria-expanded" attribute whenever the controlled post-collapsible is toggled
35
- */
36
- componentWillLoad() {
37
28
  this.root = getRoot(this.host);
38
- this.root.addEventListener('postToggle', (e) => {
39
- if (!this.trigger || !e.target.isEqualNode(this.collapsible))
40
- return;
41
- this.trigger.setAttribute('aria-expanded', `${e.detail}`);
42
- });
29
+ this.root.addEventListener('postToggle', this.handlePostToggle);
30
+ this.observer.observe(this.host, { childList: true, subtree: true });
43
31
  }
44
- /**
45
- * Add the "data-version" to the host element and set the trigger
46
- */
47
32
  componentDidLoad() {
48
- this.host.setAttribute('data-version', version);
49
33
  this.setTrigger();
50
34
  if (!this.trigger)
51
35
  console.warn('The post-collapsible-trigger must contain a button.');
36
+ this.validateAriaAttributes();
52
37
  }
53
- /**
54
- * Disconnect the mutation observer
55
- */
56
38
  disconnectedCallback() {
57
39
  this.observer.disconnect();
40
+ this.root.removeEventListener('postToggle', this.handlePostToggle);
58
41
  }
59
42
  /**
60
43
  * Update the "aria-controls" and "aria-expanded" attributes on the trigger button
61
44
  */
62
45
  async update() {
63
- this.debouncedUpdate();
46
+ this.updateAriaAttributes();
64
47
  }
65
- debouncedUpdate = debounce(() => {
48
+ /**
49
+ * Private handler for the 'postToggle' event.
50
+ * This updates the trigger's "aria-expanded" attribute based on the event detail.
51
+ */
52
+ handlePostToggle(e) {
53
+ eventGuard(this.host, e, { targetLocalName: 'post-collapsible' }, () => {
54
+ if (this.trigger) {
55
+ this.trigger.setAttribute('aria-expanded', `${e.detail}`);
56
+ }
57
+ });
58
+ }
59
+ updateAriaAttributes() {
66
60
  if (!this.trigger)
67
61
  return;
68
62
  // add the provided id to the aria-controls list
@@ -75,7 +69,7 @@ const PostCollapsibleTrigger = /*@__PURE__*/ proxyCustomElement(class PostCollap
75
69
  const isCollapsed = this.collapsible?.collapsed;
76
70
  const newAriaExpanded = isCollapsed !== undefined ? !isCollapsed : undefined;
77
71
  this.trigger.setAttribute('aria-expanded', `${newAriaExpanded}`);
78
- });
72
+ }
79
73
  /**
80
74
  * Toggle the post-collapsible controlled by the trigger
81
75
  */
@@ -101,16 +95,20 @@ const PostCollapsibleTrigger = /*@__PURE__*/ proxyCustomElement(class PostCollap
101
95
  return;
102
96
  this.trigger = trigger;
103
97
  this.trigger.addEventListener('click', () => this.toggleCollapsible());
104
- this.setAriaAttributes();
98
+ this.updateAriaAttributes();
105
99
  }
100
+ render() {
101
+ return (h(Host, { key: 'cd703fe34b8c82afc5956b58724d36b06054bc0b', "data-version": version }, h("slot", { key: '5abe4ba2b8922b941cc8aebbc7039e34e1853855' })));
102
+ }
103
+ get host() { return this; }
106
104
  static get watchers() { return {
107
- "for": ["setAriaAttributes"]
105
+ "for": ["validateAriaAttributes"]
108
106
  }; }
109
- }, [0, "post-collapsible-trigger", {
110
- "for": [1],
107
+ }, [1, "post-collapsible-trigger", {
108
+ "for": [513],
111
109
  "update": [64]
112
110
  }, undefined, {
113
- "for": ["setAriaAttributes"]
111
+ "for": ["validateAriaAttributes"]
114
112
  }]);
115
113
  function defineCustomElement() {
116
114
  if (typeof customElements === "undefined") {
@@ -1,9 +1,10 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { v as version } from './package.js';
3
+ import { I as IS_BROWSER } from './breakpoints.js';
3
4
  import { e as checkEmptyOrType } from './index2.js';
4
5
 
5
6
  function isMotionReduced() {
6
- return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
7
+ return IS_BROWSER ? window.matchMedia('(prefers-reduced-motion: reduce)').matches : false;
7
8
  }
8
9
 
9
10
  const collapseDuration = 350;
@@ -15,7 +16,8 @@ const animationOptions = {
15
16
  fill: 'forwards',
16
17
  };
17
18
  function collapse(el) {
18
- const expandedKeyframe = { height: window.getComputedStyle(el).height };
19
+ const elHeight = IS_BROWSER ? window.getComputedStyle(el).height : `${el.scrollHeight}px`;
20
+ const expandedKeyframe = { height: elHeight };
19
21
  return el.animate([expandedKeyframe, collapsedKeyframe], animationOptions);
20
22
  }
21
23
  function expand(el) {
@@ -33,21 +35,14 @@ const PostCollapsible = /*@__PURE__*/ proxyCustomElement(class PostCollapsible e
33
35
  this.__registerHost();
34
36
  this.__attachShadow();
35
37
  this.postToggle = createEvent(this, "postToggle", 7);
38
+ this.isLoaded = false;
39
+ this.isOpen = true;
36
40
  this.collapsed = false;
37
41
  }
38
- isLoaded = false;
39
- isOpen = true;
40
- get host() { return this; }
41
42
  collapsedChange() {
42
43
  checkEmptyOrType(this, 'collapsed', 'boolean');
43
44
  void this.toggle(!this.collapsed);
44
45
  }
45
- /**
46
- * An event emitted when the collapse element is shown or hidden, before the transition.
47
- *
48
- * The event payload is a boolean: `true` if the collapsible was opened, `false` if it was closed.
49
- */
50
- postToggle;
51
46
  componentDidLoad() {
52
47
  this.collapsedChange();
53
48
  this.isLoaded = true;
@@ -72,6 +67,7 @@ const PostCollapsible = /*@__PURE__*/ proxyCustomElement(class PostCollapsible e
72
67
  const isHostRendered = this.host.offsetParent;
73
68
  if (isHostRendered)
74
69
  animation.commitStyles();
70
+ this.updateTriggers();
75
71
  return open;
76
72
  }
77
73
  /**
@@ -82,8 +78,9 @@ const PostCollapsible = /*@__PURE__*/ proxyCustomElement(class PostCollapsible e
82
78
  triggers.forEach(trigger => trigger.update());
83
79
  }
84
80
  render() {
85
- return (h(Host, { key: 'a43e25138933a758759b4adcca249757db75cc4b', "data-version": version, tabindex: this.collapsed ? -1 : undefined }, h("slot", { key: '2936f71a6fb3ddedda372e8da4a19dbceecaefa6' })));
81
+ return (h(Host, { key: 'a678bc639dfd7686d8e1bd57ca0f09984a24ab61', "data-version": version, tabindex: this.collapsed ? -1 : undefined }, h("slot", { key: 'e0b88ac152fa09314b4bc01c9abdb11480e2cb4d' })));
86
82
  }
83
+ get host() { return this; }
87
84
  static get watchers() { return {
88
85
  "collapsed": ["collapsedChange"]
89
86
  }; }