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

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 (516) hide show
  1. package/dist/.config/bindings.angular.js +4 -0
  2. package/dist/cjs/breakpoints-cdf1b747.js +59 -0
  3. package/dist/cjs/check-non-empty-bd99d236.js +15 -0
  4. package/dist/cjs/check-one-of-75d270b5.js +13 -0
  5. package/dist/cjs/check-type-cdbf6d29.js +21 -0
  6. package/dist/cjs/check-url-220a286c.js +19 -0
  7. package/dist/cjs/event-guard-efabc84f.js +47 -0
  8. package/dist/cjs/fade-72d5ef55.js +14 -0
  9. package/dist/cjs/get-root-8102fecd.js +17 -0
  10. package/dist/cjs/index-23e36ff7.js +37 -0
  11. package/dist/cjs/{index-010dc207.js → index-b60129c4.js} +17 -10
  12. package/dist/cjs/index.browser-4af21c17.js +16 -0
  13. package/dist/cjs/index.cjs.js +36 -31
  14. package/dist/cjs/loader.cjs.js +2 -2
  15. package/dist/cjs/long-press-event-6e62d113.js +266 -0
  16. package/dist/cjs/{package-8e810a59.js → package-8121f093.js} +1 -1
  17. package/dist/cjs/{post-accordion-b9df8522.js → post-accordion-beac7c9f.js} +11 -12
  18. package/dist/cjs/post-accordion-item-4846fbee.js +64 -0
  19. package/dist/cjs/post-accordion-item.cjs.entry.js +10 -7
  20. package/dist/cjs/post-accordion.cjs.entry.js +6 -4
  21. package/dist/cjs/{post-avatar-f7236084.js → post-avatar-a36991fb.js} +10 -13
  22. package/dist/cjs/post-avatar.cjs.entry.js +5 -4
  23. package/dist/cjs/post-back-to-top-32aa9017.js +96 -0
  24. package/dist/cjs/post-back-to-top.cjs.entry.js +7 -6
  25. package/dist/cjs/post-banner-be0e8909.js +92 -0
  26. package/dist/cjs/post-banner.cjs.entry.js +11 -9
  27. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +8 -7
  28. package/dist/cjs/post-breadcrumbs-6ef82a41.js +120 -0
  29. package/dist/cjs/post-breadcrumbs.cjs.entry.js +13 -0
  30. package/dist/cjs/post-card-control-fe919333.js +269 -0
  31. package/dist/cjs/post-card-control.cjs.entry.js +6 -5
  32. package/dist/cjs/post-closebutton_15.cjs.entry.js +13 -10
  33. package/dist/cjs/{post-collapsible-trigger-143cf84a.js → post-collapsible-trigger-f42be607.js} +59 -60
  34. package/dist/cjs/post-collapsible_2.cjs.entry.js +11 -10
  35. package/dist/cjs/post-components.cjs.js +2 -2
  36. package/dist/cjs/{post-footer-5f7fdf96.js → post-footer-5179aa17.js} +11 -57
  37. package/dist/cjs/post-footer.cjs.entry.js +4 -3
  38. package/dist/cjs/post-linkarea-27125078.js +30 -0
  39. package/dist/cjs/post-linkarea.cjs.entry.js +11 -0
  40. package/dist/cjs/{post-menu-item-bb0b0b9e.js → post-menu-item-d78a9121.js} +11 -17
  41. package/dist/cjs/post-popover-feb1e773.js +135 -0
  42. package/dist/cjs/post-popover.cjs.entry.js +4 -4
  43. package/dist/cjs/{post-rating-1082197c.js → post-rating-6d153a2c.js} +4 -4
  44. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  45. package/dist/cjs/post-tab-header-e4532918.js +34 -0
  46. package/dist/cjs/post-tab-header.cjs.entry.js +6 -4
  47. package/dist/cjs/{post-tab-panel-60f211a5.js → post-tab-panel-40df21ad.js} +5 -4
  48. package/dist/cjs/post-tab-panel.cjs.entry.js +4 -3
  49. package/dist/cjs/{post-tabs-1f797ce4.js → post-tabs-45db2696.js} +13 -15
  50. package/dist/cjs/post-tabs.cjs.entry.js +5 -4
  51. package/dist/cjs/post-tag-0967bb1e.js +47 -0
  52. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  53. package/dist/cjs/post-togglebutton-42b7d166.js +4494 -0
  54. package/dist/cjs/post-tooltip-f833d51d.js +73 -0
  55. package/dist/cjs/{post-tooltip-38c839a4.js → post-tooltip-trigger-3ceac010.js} +143 -456
  56. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +13 -0
  57. package/dist/cjs/post-tooltip.cjs.entry.js +5 -9
  58. package/dist/cjs/{slide-5d51abe8.js → slide-cd1f09b3.js} +8 -8
  59. package/dist/collection/animations/collapse.js +8 -6
  60. package/dist/collection/animations/fade.js +6 -2
  61. package/dist/collection/animations/slide.js +8 -8
  62. package/dist/collection/collection-manifest.json +5 -3
  63. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  64. package/dist/collection/components/post-accordion/post-accordion.js +6 -8
  65. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  66. package/dist/collection/components/post-accordion-item/post-accordion-item.js +12 -12
  67. package/dist/collection/components/post-avatar/post-avatar.css +1 -3
  68. package/dist/collection/components/post-avatar/post-avatar.js +7 -11
  69. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
  70. package/dist/collection/components/post-back-to-top/post-back-to-top.js +38 -18
  71. package/dist/collection/components/post-banner/post-banner.css +1 -3
  72. package/dist/collection/components/post-banner/post-banner.js +13 -12
  73. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +11 -8
  74. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -0
  75. package/dist/collection/components/{post-breadcrumb/post-breadcrumb.js → post-breadcrumbs/post-breadcrumbs.js} +20 -21
  76. package/dist/collection/components/post-card-control/post-card-control.css +1 -3
  77. package/dist/collection/components/post-card-control/post-card-control.js +15 -19
  78. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -0
  79. package/dist/collection/components/post-closebutton/post-closebutton.js +12 -1
  80. package/dist/collection/components/post-collapsible/post-collapsible.css +1 -1
  81. package/dist/collection/components/post-collapsible/post-collapsible.js +3 -2
  82. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +43 -45
  83. package/dist/collection/components/post-footer/post-footer.js +8 -8
  84. package/dist/collection/components/post-header/post-header.css +1 -1
  85. package/dist/collection/components/post-header/post-header.js +212 -52
  86. package/dist/collection/components/post-icon/post-icon.css +1 -1
  87. package/dist/collection/components/post-icon/post-icon.js +71 -29
  88. package/dist/collection/components/post-language-option/post-language-option.css +1 -3
  89. package/dist/collection/components/post-language-option/post-language-option.js +34 -12
  90. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
  91. package/dist/collection/components/post-language-switch/post-language-switch.js +56 -33
  92. package/dist/collection/components/post-language-switch/switch-variants.js +1 -1
  93. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -0
  94. package/dist/collection/components/post-linkarea/post-linkarea.js +30 -0
  95. package/dist/collection/components/post-list/post-list.css +1 -3
  96. package/dist/collection/components/post-list/post-list.js +4 -3
  97. package/dist/collection/components/post-list-item/post-list-item.js +2 -1
  98. package/dist/collection/components/post-logo/post-logo.css +1 -1
  99. package/dist/collection/components/post-logo/post-logo.js +2 -2
  100. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  101. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +157 -25
  102. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  103. package/dist/collection/components/post-megadropdown/post-megadropdown.js +179 -55
  104. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  105. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +41 -12
  106. package/dist/collection/components/post-menu/post-menu.css +1 -3
  107. package/dist/collection/components/post-menu/post-menu.js +44 -30
  108. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -13
  109. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +16 -10
  110. package/dist/collection/components/post-popover/post-popover.css +1 -3
  111. package/dist/collection/components/post-popover/post-popover.js +23 -16
  112. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  113. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +217 -56
  114. package/dist/collection/components/post-rating/post-rating.css +1 -3
  115. package/dist/collection/components/post-rating/post-rating.js +1 -1
  116. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -3
  117. package/dist/collection/components/post-tab-header/post-tab-header.js +6 -5
  118. package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -3
  119. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  120. package/dist/collection/components/post-tabs/post-tabs.js +6 -14
  121. package/dist/collection/components/post-tag/post-tag.css +1 -3
  122. package/dist/collection/components/post-tag/post-tag.js +2 -2
  123. package/dist/collection/components/post-togglebutton/post-togglebutton.js +3 -3
  124. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  125. package/dist/collection/components/post-tooltip/post-tooltip.js +62 -212
  126. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.css +1 -0
  127. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +230 -0
  128. package/dist/collection/index.js +3 -1
  129. package/dist/collection/utils/attribute-observer.js +6 -5
  130. package/dist/collection/utils/breakpoints.js +21 -15
  131. package/dist/collection/utils/component-on-ready.js +4 -4
  132. package/dist/collection/utils/debounce.js +2 -1
  133. package/dist/collection/utils/environment.js +2 -0
  134. package/dist/collection/utils/event-guard.js +43 -0
  135. package/dist/collection/utils/{is-focusable.js → get-focusable-children.js} +10 -3
  136. package/dist/collection/utils/get-root.js +6 -1
  137. package/dist/collection/utils/index.js +5 -0
  138. package/dist/collection/utils/is-motion-reduced.js +2 -1
  139. package/dist/collection/utils/property-checkers/check-non-empty.js +6 -2
  140. package/dist/collection/utils/property-checkers/check-one-of.js +8 -3
  141. package/dist/collection/utils/property-checkers/check-pattern.js +8 -3
  142. package/dist/collection/utils/property-checkers/check-type.js +11 -6
  143. package/dist/collection/utils/property-checkers/check-url.js +11 -6
  144. package/dist/collection/utils/property-checkers/empty-or.js +5 -2
  145. package/dist/collection/utils/sass-export.js +8 -5
  146. package/dist/components/breakpoints.js +56 -0
  147. package/dist/components/check-non-empty.js +6 -2
  148. package/dist/components/check-one-of.js +8 -3
  149. package/dist/components/check-type.js +11 -6
  150. package/dist/components/event-guard.js +45 -0
  151. package/dist/components/fade.js +6 -2
  152. package/dist/components/get-focusable-children.js +35 -0
  153. package/dist/components/get-root.js +7 -1
  154. package/dist/components/index.browser.js +14 -0
  155. package/dist/components/index.js +3 -1
  156. package/dist/components/index2.js +24 -11
  157. package/dist/components/long-press-event.js +264 -0
  158. package/dist/components/package.js +1 -1
  159. package/dist/components/post-accordion-item2.js +14 -13
  160. package/dist/components/post-accordion2.js +8 -9
  161. package/dist/components/post-avatar2.js +8 -11
  162. package/dist/components/post-back-to-top2.js +41 -20
  163. package/dist/components/post-banner2.js +15 -13
  164. package/dist/components/post-breadcrumb-item2.js +9 -9
  165. package/dist/components/post-breadcrumbs.d.ts +11 -0
  166. package/dist/components/post-breadcrumbs.js +6 -0
  167. package/dist/components/post-breadcrumbs2.js +177 -0
  168. package/dist/components/post-card-control2.js +16 -19
  169. package/dist/components/post-closebutton2.js +7 -2
  170. package/dist/components/post-collapsible-trigger2.js +46 -48
  171. package/dist/components/post-collapsible2.js +13 -10
  172. package/dist/components/post-footer2.js +8 -54
  173. package/dist/components/post-header2.js +174 -51
  174. package/dist/components/post-icon2.js +72 -29
  175. package/dist/components/post-language-option2.js +21 -12
  176. package/dist/components/post-language-switch2.js +44 -45
  177. package/dist/components/{post-breadcrumb.d.ts → post-linkarea.d.ts} +4 -4
  178. package/dist/components/post-linkarea.js +6 -0
  179. package/dist/components/post-linkarea2.js +43 -0
  180. package/dist/components/post-list-item2.js +2 -1
  181. package/dist/components/post-list2.js +5 -4
  182. package/dist/components/post-logo2.js +4 -3
  183. package/dist/components/post-mainnavigation2.js +150 -15
  184. package/dist/components/post-megadropdown-trigger2.js +43 -13
  185. package/dist/components/post-megadropdown2.js +136 -39
  186. package/dist/components/post-menu-item2.js +2 -8
  187. package/dist/components/post-menu-trigger2.js +17 -10
  188. package/dist/components/post-menu2.js +43 -54
  189. package/dist/components/post-popover2.js +46 -15
  190. package/dist/components/post-popovercontainer2.js +921 -111
  191. package/dist/components/post-rating2.js +2 -2
  192. package/dist/components/post-tab-header2.js +8 -6
  193. package/dist/components/post-tab-panel2.js +4 -3
  194. package/dist/components/post-tabs2.js +10 -12
  195. package/dist/components/post-tag2.js +2 -2
  196. package/dist/components/post-togglebutton2.js +4 -3
  197. package/dist/components/post-tooltip-trigger.d.ts +11 -0
  198. package/dist/components/post-tooltip-trigger.js +6 -0
  199. package/dist/components/post-tooltip-trigger2.js +4705 -0
  200. package/dist/components/post-tooltip2.js +34 -4960
  201. package/dist/components/slide.js +9 -9
  202. package/dist/docs.json +567 -252
  203. package/dist/esm/breakpoints-7812702e.js +56 -0
  204. package/dist/esm/check-non-empty-258a56b3.js +13 -0
  205. package/dist/esm/check-one-of-0bee20f5.js +11 -0
  206. package/dist/esm/check-type-37d5d307.js +19 -0
  207. package/dist/esm/check-url-17962bc8.js +17 -0
  208. package/dist/esm/event-guard-538ee077.js +45 -0
  209. package/dist/esm/fade-1f3cacf4.js +11 -0
  210. package/dist/esm/get-root-1b1af46f.js +15 -0
  211. package/dist/esm/index-8f8fe5b0.js +32 -0
  212. package/dist/esm/{index-fb8d6be7.js → index-f4d19816.js} +17 -10
  213. package/dist/esm/index.browser-ff103197.js +14 -0
  214. package/dist/esm/index.js +33 -30
  215. package/dist/esm/loader.js +3 -3
  216. package/dist/esm/long-press-event-04d24397.js +264 -0
  217. package/dist/esm/package-d9237b44.js +3 -0
  218. package/dist/esm/{post-accordion-ee54a3ef.js → post-accordion-fdcf7205.js} +11 -12
  219. package/dist/esm/post-accordion-item-e11e3804.js +62 -0
  220. package/dist/esm/post-accordion-item.entry.js +10 -7
  221. package/dist/esm/post-accordion.entry.js +6 -4
  222. package/dist/esm/{post-avatar-5572fa73.js → post-avatar-d360c6d2.js} +10 -13
  223. package/dist/esm/post-avatar.entry.js +5 -4
  224. package/dist/esm/post-back-to-top-85796c8b.js +94 -0
  225. package/dist/esm/post-back-to-top.entry.js +7 -6
  226. package/dist/esm/post-banner-a3090f67.js +90 -0
  227. package/dist/esm/post-banner.entry.js +11 -9
  228. package/dist/esm/post-breadcrumb-item_2.entry.js +8 -7
  229. package/dist/esm/post-breadcrumbs-15ec5a26.js +118 -0
  230. package/dist/esm/post-breadcrumbs.entry.js +5 -0
  231. package/dist/esm/post-card-control-6142534e.js +267 -0
  232. package/dist/esm/post-card-control.entry.js +6 -5
  233. package/dist/esm/post-closebutton_15.entry.js +13 -10
  234. package/dist/esm/{post-collapsible-trigger-1c7833f8.js → post-collapsible-trigger-68306358.js} +59 -60
  235. package/dist/esm/post-collapsible_2.entry.js +11 -10
  236. package/dist/esm/post-components.js +3 -3
  237. package/dist/esm/{post-footer-b18875e7.js → post-footer-d2a3270e.js} +10 -56
  238. package/dist/esm/post-footer.entry.js +4 -3
  239. package/dist/esm/post-linkarea-64998c67.js +28 -0
  240. package/dist/esm/post-linkarea.entry.js +3 -0
  241. package/dist/esm/{post-menu-item-2906384b.js → post-menu-item-95a0a647.js} +11 -17
  242. package/dist/esm/post-popover-c5f81087.js +133 -0
  243. package/dist/esm/post-popover.entry.js +4 -4
  244. package/dist/esm/{post-rating-95cbdbb8.js → post-rating-7bfedafb.js} +4 -4
  245. package/dist/esm/post-rating.entry.js +3 -3
  246. package/dist/esm/post-tab-header-08033da4.js +32 -0
  247. package/dist/esm/post-tab-header.entry.js +6 -4
  248. package/dist/esm/{post-tab-panel-cafd9e04.js → post-tab-panel-be701793.js} +5 -4
  249. package/dist/esm/post-tab-panel.entry.js +4 -3
  250. package/dist/esm/{post-tabs-beef8eae.js → post-tabs-c69e2842.js} +13 -15
  251. package/dist/esm/post-tabs.entry.js +5 -4
  252. package/dist/esm/post-tag-ebac7f3e.js +45 -0
  253. package/dist/esm/post-tag.entry.js +3 -3
  254. package/dist/esm/post-togglebutton-706e3af0.js +4478 -0
  255. package/dist/esm/post-tooltip-9a195d47.js +71 -0
  256. package/dist/esm/{post-tooltip-b298039a.js → post-tooltip-trigger-7d6f234b.js} +143 -456
  257. package/dist/esm/post-tooltip-trigger.entry.js +5 -0
  258. package/dist/esm/post-tooltip.entry.js +5 -9
  259. package/dist/esm/{slide-3422b8a3.js → slide-cd2850ee.js} +9 -9
  260. package/dist/post-components/index.esm.js +1 -1
  261. package/dist/post-components/p-034715ec.js +1 -0
  262. package/dist/post-components/p-0717fe4c.js +1 -0
  263. package/dist/post-components/p-0889c759.js +1 -0
  264. package/dist/post-components/p-0c03547b.js +1 -0
  265. package/dist/post-components/p-0de8d05f.js +1 -0
  266. package/dist/post-components/p-1373a79b.entry.js +1 -0
  267. package/dist/post-components/{p-4f9746f6.js → p-17dc4170.js} +2 -9
  268. package/dist/post-components/p-181c73d5.js +1 -0
  269. package/dist/post-components/p-1a21fd8d.js +1 -0
  270. package/dist/post-components/p-1ab3eba4.entry.js +1 -0
  271. package/dist/post-components/p-2d6c0670.js +1 -0
  272. package/dist/post-components/p-2dc0a2d0.js +1 -0
  273. package/dist/post-components/p-35ad2e11.entry.js +1 -0
  274. package/dist/post-components/p-368c473a.js +1 -0
  275. package/dist/post-components/p-38f778a7.entry.js +1 -0
  276. package/dist/post-components/p-39a8df3c.entry.js +1 -0
  277. package/dist/post-components/p-3c7f6003.js +1 -0
  278. package/dist/post-components/p-474a41bc.entry.js +1 -0
  279. package/dist/post-components/p-64e3de38.js +1 -0
  280. package/dist/post-components/p-69bc8eaf.entry.js +1 -0
  281. package/dist/post-components/p-6b31a76a.js +1 -0
  282. package/dist/post-components/p-722ffaae.js +1 -0
  283. package/dist/post-components/p-72310bf0.entry.js +1 -0
  284. package/dist/post-components/p-7709c14a.js +1 -0
  285. package/dist/post-components/p-804b61b7.entry.js +1 -0
  286. package/dist/post-components/p-85fdc2d3.js +1 -0
  287. package/dist/post-components/p-89247caa.js +1 -0
  288. package/dist/post-components/p-89dc67c7.entry.js +1 -0
  289. package/dist/post-components/p-8db32dab.js +8 -0
  290. package/dist/post-components/p-8f7f5200.entry.js +1 -0
  291. package/dist/post-components/p-964f9581.js +1 -0
  292. package/dist/post-components/p-9b052461.js +1 -0
  293. package/dist/post-components/{p-c0ae9886.js → p-9e461613.js} +2 -2
  294. package/dist/post-components/p-a52b2d34.js +1 -0
  295. package/dist/post-components/p-ab566526.js +1 -0
  296. package/dist/post-components/p-b648e537.entry.js +1 -0
  297. package/dist/post-components/p-bc33a6d9.js +1 -0
  298. package/dist/post-components/p-bcfdbd0b.entry.js +1 -0
  299. package/dist/post-components/p-beb67979.js +1 -0
  300. package/dist/post-components/p-c41868b1.js +1 -0
  301. package/dist/post-components/p-c65f32b0.js +1 -0
  302. package/dist/post-components/p-c71700a7.js +1 -0
  303. package/dist/post-components/p-cb027003.js +1 -0
  304. package/dist/post-components/p-cc5b1437.js +1 -0
  305. package/dist/post-components/p-ceda889e.entry.js +1 -0
  306. package/dist/post-components/p-d45df336.js +1 -0
  307. package/dist/post-components/p-de4d4274.js +1 -0
  308. package/dist/post-components/p-deb9efcf.entry.js +1 -0
  309. package/dist/post-components/p-e585c6fe.js +1 -0
  310. package/dist/post-components/p-e9f1cc46.entry.js +1 -0
  311. package/dist/post-components/p-ee4e776d.entry.js +1 -0
  312. package/dist/post-components/p-ee7c3bcc.entry.js +1 -0
  313. package/dist/post-components/p-f56482fa.entry.js +1 -0
  314. package/dist/post-components/p-f8c652ce.entry.js +1 -0
  315. package/dist/post-components/post-components.esm.js +1 -1
  316. package/dist/types/animations/collapse.d.ts +2 -2
  317. package/dist/types/animations/fade.d.ts +2 -2
  318. package/dist/types/animations/slide.d.ts +2 -2
  319. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +1 -1
  320. package/dist/types/components/post-avatar/post-avatar.d.ts +1 -1
  321. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +4 -2
  322. package/dist/types/components/post-banner/post-banner.d.ts +5 -5
  323. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +4 -0
  324. package/dist/types/components/{post-breadcrumb/post-breadcrumb.d.ts → post-breadcrumbs/post-breadcrumbs.d.ts} +4 -4
  325. package/dist/types/components/post-card-control/post-card-control.d.ts +3 -3
  326. package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +9 -14
  327. package/dist/types/components/post-footer/post-footer.d.ts +2 -2
  328. package/dist/types/components/post-header/post-header.d.ts +38 -10
  329. package/dist/types/components/post-icon/post-icon.d.ts +11 -7
  330. package/dist/types/components/post-language-option/post-language-option.d.ts +9 -5
  331. package/dist/types/components/post-language-switch/post-language-switch.d.ts +16 -8
  332. package/dist/types/components/post-language-switch/switch-variants.d.ts +1 -1
  333. package/dist/types/components/post-linkarea/post-linkarea.d.ts +5 -0
  334. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +36 -9
  335. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +37 -13
  336. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +9 -1
  337. package/dist/types/components/post-menu/post-menu.d.ts +4 -3
  338. package/dist/types/components/post-menu-item/post-menu-item.d.ts +0 -1
  339. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +4 -3
  340. package/dist/types/components/post-popover/post-popover.d.ts +6 -4
  341. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +40 -14
  342. package/dist/types/components/post-tab-header/post-tab-header.d.ts +1 -1
  343. package/dist/types/components/post-tabs/post-tabs.d.ts +1 -1
  344. package/dist/types/components/post-tag/post-tag.d.ts +1 -1
  345. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +1 -1
  346. package/dist/types/components/post-tooltip/post-tooltip.d.ts +21 -34
  347. package/dist/types/components/post-tooltip-trigger/post-tooltip-trigger.d.ts +46 -0
  348. package/dist/types/components.d.ts +181 -94
  349. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/.config/bindings.angular.d.ts +2 -0
  350. package/dist/types/index.d.ts +5 -3
  351. package/dist/types/popover-fn.d.ts +11 -0
  352. package/dist/types/utils/attribute-observer.d.ts +1 -1
  353. package/dist/types/utils/breakpoints.d.ts +1 -0
  354. package/dist/types/utils/component-on-ready.d.ts +1 -1
  355. package/dist/types/utils/environment.d.ts +2 -0
  356. package/dist/types/utils/event-guard.d.ts +4 -0
  357. package/dist/types/utils/get-focusable-children.d.ts +1 -0
  358. package/dist/types/utils/get-root.d.ts +5 -1
  359. package/dist/types/utils/index.d.ts +5 -0
  360. package/dist/types/utils/property-checkers/check-non-empty.d.ts +3 -1
  361. package/dist/types/utils/property-checkers/check-one-of.d.ts +3 -1
  362. package/dist/types/utils/property-checkers/check-pattern.d.ts +3 -1
  363. package/dist/types/utils/property-checkers/check-type.d.ts +3 -1
  364. package/dist/types/utils/property-checkers/check-url.d.ts +3 -1
  365. package/dist/types/utils/property-checkers/index.d.ts +12 -4
  366. package/dist/types/utils/sass-export.d.ts +5 -1
  367. package/loaders/breakpoints.js +56 -0
  368. package/loaders/check-non-empty.js +6 -2
  369. package/loaders/check-one-of.js +8 -3
  370. package/loaders/check-type.js +11 -6
  371. package/loaders/event-guard.js +45 -0
  372. package/loaders/fade.js +6 -2
  373. package/loaders/get-focusable-children.js +35 -0
  374. package/loaders/get-root.js +7 -1
  375. package/loaders/index.browser.js +14 -0
  376. package/loaders/index.d.ts +6 -2
  377. package/loaders/index.js +8 -5
  378. package/loaders/index2.js +25 -12
  379. package/loaders/long-press-event.js +264 -0
  380. package/loaders/package.js +1 -1
  381. package/loaders/post-accordion-item2.js +15 -14
  382. package/loaders/post-accordion.js +8 -9
  383. package/loaders/post-avatar.js +8 -11
  384. package/loaders/post-back-to-top.js +41 -20
  385. package/loaders/post-banner.js +16 -14
  386. package/loaders/post-breadcrumb-item2.js +9 -9
  387. package/loaders/post-breadcrumbs.d.ts +11 -0
  388. package/loaders/post-breadcrumbs.js +180 -0
  389. package/loaders/post-card-control.js +16 -19
  390. package/loaders/post-closebutton.js +7 -2
  391. package/loaders/post-collapsible-trigger2.js +46 -48
  392. package/loaders/post-collapsible2.js +14 -11
  393. package/loaders/post-footer.js +8 -54
  394. package/loaders/post-header.js +174 -51
  395. package/loaders/post-icon2.js +73 -30
  396. package/loaders/post-language-option.js +22 -13
  397. package/loaders/post-language-switch.js +45 -46
  398. package/loaders/{post-breadcrumb.d.ts → post-linkarea.d.ts} +4 -4
  399. package/loaders/post-linkarea.js +46 -0
  400. package/loaders/post-list-item.js +2 -1
  401. package/loaders/post-list.js +5 -4
  402. package/loaders/post-logo.js +4 -3
  403. package/loaders/post-mainnavigation.js +150 -15
  404. package/loaders/post-megadropdown-trigger.js +43 -13
  405. package/loaders/post-megadropdown.js +136 -39
  406. package/loaders/post-menu-item2.js +2 -8
  407. package/loaders/post-menu-trigger2.js +17 -10
  408. package/loaders/post-menu2.js +43 -54
  409. package/loaders/post-popover.js +46 -15
  410. package/loaders/post-popovercontainer2.js +921 -111
  411. package/loaders/post-rating.js +2 -2
  412. package/loaders/post-tab-header.js +8 -6
  413. package/loaders/post-tab-panel.js +4 -3
  414. package/loaders/post-tabs.js +10 -12
  415. package/loaders/post-tag.js +2 -2
  416. package/loaders/post-togglebutton.js +4 -3
  417. package/loaders/post-tooltip-trigger.d.ts +11 -0
  418. package/loaders/post-tooltip-trigger.js +4708 -0
  419. package/loaders/post-tooltip.js +34 -4960
  420. package/loaders/slide.js +9 -9
  421. package/package.json +41 -32
  422. package/dist/cjs/attribute-observer-10f08c04.js +0 -27
  423. package/dist/cjs/check-non-empty-eeaa8f77.js +0 -11
  424. package/dist/cjs/check-one-of-f4f5d0c0.js +0 -8
  425. package/dist/cjs/check-type-64af82a9.js +0 -16
  426. package/dist/cjs/check-url-3ffdd2fb.js +0 -14
  427. package/dist/cjs/debounce-1151afe3.js +0 -12
  428. package/dist/cjs/fade-35a3633a.js +0 -10
  429. package/dist/cjs/get-root-7a3498ef.js +0 -11
  430. package/dist/cjs/index-5d4e0aed.js +0 -29
  431. package/dist/cjs/post-accordion-item-ecc6749f.js +0 -63
  432. package/dist/cjs/post-back-to-top-60762f8e.js +0 -75
  433. package/dist/cjs/post-banner-9662f22c.js +0 -90
  434. package/dist/cjs/post-breadcrumb-b40732fc.js +0 -111
  435. package/dist/cjs/post-breadcrumb.cjs.entry.js +0 -13
  436. package/dist/cjs/post-card-control-039c9a4b.js +0 -272
  437. package/dist/cjs/post-popover-d0ce9dc6.js +0 -104
  438. package/dist/cjs/post-tab-header-4b6d8d54.js +0 -32
  439. package/dist/cjs/post-tag-ddaaaedc.js +0 -47
  440. package/dist/cjs/post-togglebutton-0984a694.js +0 -3239
  441. package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +0 -3
  442. package/dist/collection/components/post-menu-item/post-menu-item.css +0 -1
  443. package/dist/components/attribute-observer.js +0 -25
  444. package/dist/components/debounce.js +0 -10
  445. package/dist/components/post-breadcrumb.js +0 -6
  446. package/dist/components/post-breadcrumb2.js +0 -168
  447. package/dist/esm/attribute-observer-37fa950a.js +0 -25
  448. package/dist/esm/check-non-empty-58bd6b17.js +0 -9
  449. package/dist/esm/check-one-of-6b3ef8eb.js +0 -6
  450. package/dist/esm/check-type-8828dbe4.js +0 -14
  451. package/dist/esm/check-url-a974431e.js +0 -12
  452. package/dist/esm/debounce-abe98cc2.js +0 -10
  453. package/dist/esm/fade-7fd71785.js +0 -7
  454. package/dist/esm/get-root-7af2e0d1.js +0 -9
  455. package/dist/esm/index-b49c9904.js +0 -24
  456. package/dist/esm/package-4d81f3c2.js +0 -3
  457. package/dist/esm/post-accordion-item-e10452dc.js +0 -61
  458. package/dist/esm/post-back-to-top-1d823c43.js +0 -73
  459. package/dist/esm/post-banner-78480475.js +0 -88
  460. package/dist/esm/post-breadcrumb-aaa77f74.js +0 -109
  461. package/dist/esm/post-breadcrumb.entry.js +0 -5
  462. package/dist/esm/post-card-control-862aa961.js +0 -270
  463. package/dist/esm/post-popover-2432bb3f.js +0 -102
  464. package/dist/esm/post-tab-header-dfea00ea.js +0 -30
  465. package/dist/esm/post-tag-a77e7af6.js +0 -45
  466. package/dist/esm/post-togglebutton-395bf3f0.js +0 -3223
  467. package/dist/post-components/p-0711f76d.entry.js +0 -1
  468. package/dist/post-components/p-095a06f6.entry.js +0 -1
  469. package/dist/post-components/p-0b5a5f32.js +0 -1
  470. package/dist/post-components/p-135fa60f.js +0 -1
  471. package/dist/post-components/p-18e38d8a.js +0 -1
  472. package/dist/post-components/p-2737eaf5.js +0 -1
  473. package/dist/post-components/p-2e1ec074.entry.js +0 -1
  474. package/dist/post-components/p-4202b433.entry.js +0 -1
  475. package/dist/post-components/p-45773f59.js +0 -1
  476. package/dist/post-components/p-4953de7e.js +0 -1
  477. package/dist/post-components/p-4a3f67ab.js +0 -1
  478. package/dist/post-components/p-4f67c5f5.entry.js +0 -1
  479. package/dist/post-components/p-5075c672.entry.js +0 -1
  480. package/dist/post-components/p-515e0f96.js +0 -1
  481. package/dist/post-components/p-5467b223.js +0 -1
  482. package/dist/post-components/p-611b3c41.js +0 -1
  483. package/dist/post-components/p-67036798.entry.js +0 -1
  484. package/dist/post-components/p-6adeaa6c.js +0 -1
  485. package/dist/post-components/p-6d953fb2.js +0 -1
  486. package/dist/post-components/p-6edb0ac5.js +0 -1
  487. package/dist/post-components/p-6f8f39ca.js +0 -1
  488. package/dist/post-components/p-7503a623.js +0 -1
  489. package/dist/post-components/p-761b24c7.entry.js +0 -1
  490. package/dist/post-components/p-77c4c1d2.js +0 -1
  491. package/dist/post-components/p-7cf0c2ad.js +0 -1
  492. package/dist/post-components/p-856c14d6.entry.js +0 -1
  493. package/dist/post-components/p-866bf50a.entry.js +0 -1
  494. package/dist/post-components/p-8d621781.js +0 -1
  495. package/dist/post-components/p-8fe2d72c.entry.js +0 -1
  496. package/dist/post-components/p-9ad5088f.entry.js +0 -1
  497. package/dist/post-components/p-a1d2b90e.js +0 -1
  498. package/dist/post-components/p-a521419d.entry.js +0 -1
  499. package/dist/post-components/p-aa538648.js +0 -1
  500. package/dist/post-components/p-afdbee2f.js +0 -1
  501. package/dist/post-components/p-b02817f2.entry.js +0 -1
  502. package/dist/post-components/p-b095519d.js +0 -1
  503. package/dist/post-components/p-b157dcba.entry.js +0 -1
  504. package/dist/post-components/p-b22656b1.js +0 -1
  505. package/dist/post-components/p-bdbd11cb.js +0 -1
  506. package/dist/post-components/p-c537e196.entry.js +0 -1
  507. package/dist/post-components/p-d4f93f2b.js +0 -1
  508. package/dist/post-components/p-dca4246a.entry.js +0 -1
  509. package/dist/post-components/p-f319b026.js +0 -1
  510. package/dist/post-components/p-f4b7b379.js +0 -1
  511. package/dist/post-components/p-fac66087.entry.js +0 -1
  512. package/dist/post-components/p-fc91cbc2.js +0 -1
  513. package/dist/types/utils/is-focusable.d.ts +0 -1
  514. package/loaders/attribute-observer.js +0 -25
  515. package/loaders/debounce.js +0 -10
  516. package/loaders/post-breadcrumb.js +0 -171
@@ -0,0 +1,266 @@
1
+ 'use strict';
2
+
3
+ /*!
4
+ * long-press-event - v@version@
5
+ * Pure JavaScript long-press-event
6
+ * https://github.com/john-doherty/long-press-event
7
+ * @author John Doherty <www.johndoherty.info>
8
+ * @license MIT
9
+ */
10
+ (function (window, document) {
11
+
12
+ // local timer object based on rAF
13
+ var timer = null;
14
+
15
+ // check if we're using a touch screen
16
+ var hasPointerEvents = (('PointerEvent' in window) || (window.navigator && 'msPointerEnabled' in window.navigator));
17
+ var isTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0));
18
+
19
+ // switch to pointer events or touch events if using a touch screen
20
+ var mouseDown = hasPointerEvents ? 'pointerdown' : isTouch ? 'touchstart' : 'mousedown';
21
+ var mouseUp = hasPointerEvents ? 'pointerup' : isTouch ? 'touchend' : 'mouseup';
22
+ var mouseMove = hasPointerEvents ? 'pointermove' : isTouch ? 'touchmove' : 'mousemove';
23
+ var mouseLeave = hasPointerEvents ? 'pointerleave' : isTouch ? 'touchleave' : 'mouseleave';
24
+
25
+ // track number of pixels the mouse moves during long press
26
+ var startX = 0; // mouse x position when timer started
27
+ var startY = 0; // mouse y position when timer started
28
+ var maxDiffX = 10; // max number of X pixels the mouse can move during long press before it is canceled
29
+ var maxDiffY = 10; // max number of Y pixels the mouse can move during long press before it is canceled
30
+
31
+ // patch CustomEvent to allow constructor creation (IE/Chrome)
32
+ if (typeof window.CustomEvent !== 'function') {
33
+
34
+ window.CustomEvent = function (event, params) {
35
+
36
+ params = params || { bubbles: false, cancelable: false, detail: undefined };
37
+
38
+ var evt = document.createEvent('CustomEvent');
39
+ evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
40
+ return evt;
41
+ };
42
+
43
+ window.CustomEvent.prototype = window.Event.prototype;
44
+ }
45
+
46
+ // requestAnimationFrame() shim by Paul Irish
47
+ window.requestAnimFrame = (function () {
48
+ return window.requestAnimationFrame ||
49
+ window.webkitRequestAnimationFrame ||
50
+ window.mozRequestAnimationFrame ||
51
+ window.oRequestAnimationFrame ||
52
+ window.msRequestAnimationFrame || function (callback) {
53
+ window.setTimeout(callback, 1000 / 60);
54
+ };
55
+ })();
56
+
57
+ /**
58
+ * Behaves the same as setTimeout except uses requestAnimationFrame() where possible for better performance
59
+ * @param {function} fn The callback function
60
+ * @param {int} delay The delay in milliseconds
61
+ * @returns {object} handle to the timeout object
62
+ */
63
+ function requestTimeout(fn, delay) {
64
+
65
+ if (!window.requestAnimationFrame && !window.webkitRequestAnimationFrame &&
66
+ !(window.mozRequestAnimationFrame && window.mozCancelRequestAnimationFrame) && // Firefox 5 ships without cancel support
67
+ !window.oRequestAnimationFrame && !window.msRequestAnimationFrame) return window.setTimeout(fn, delay);
68
+
69
+ var start = new Date().getTime();
70
+ var handle = {};
71
+
72
+ var loop = function () {
73
+ var current = new Date().getTime();
74
+ var delta = current - start;
75
+
76
+ if (delta >= delay) {
77
+ fn.call();
78
+ }
79
+ else {
80
+ handle.value = requestAnimFrame(loop);
81
+ }
82
+ };
83
+
84
+ handle.value = requestAnimFrame(loop);
85
+
86
+ return handle;
87
+ }
88
+
89
+ /**
90
+ * Behaves the same as clearTimeout except uses cancelRequestAnimationFrame() where possible for better performance
91
+ * @param {object} handle The callback function
92
+ * @returns {void}
93
+ */
94
+ function clearRequestTimeout(handle) {
95
+ if (handle) {
96
+ window.cancelAnimationFrame ? window.cancelAnimationFrame(handle.value) :
97
+ window.webkitCancelAnimationFrame ? window.webkitCancelAnimationFrame(handle.value) :
98
+ window.webkitCancelRequestAnimationFrame ? window.webkitCancelRequestAnimationFrame(handle.value) : /* Support for legacy API */
99
+ window.mozCancelRequestAnimationFrame ? window.mozCancelRequestAnimationFrame(handle.value) :
100
+ window.oCancelRequestAnimationFrame ? window.oCancelRequestAnimationFrame(handle.value) :
101
+ window.msCancelRequestAnimationFrame ? window.msCancelRequestAnimationFrame(handle.value) :
102
+ clearTimeout(handle);
103
+ }
104
+ }
105
+
106
+ /**
107
+ * Fires the 'long-press' event on element
108
+ * @param {MouseEvent|PointerEvent|TouchEvent} originalEvent The original event being fired
109
+ * @returns {void}
110
+ */
111
+ function fireLongPressEvent(originalEvent) {
112
+
113
+ clearLongPressTimer();
114
+
115
+ originalEvent = unifyEvent(originalEvent);
116
+
117
+ // fire the long-press event
118
+ var allowClickEvent = this.dispatchEvent(new CustomEvent('long-press', {
119
+ bubbles: true,
120
+ cancelable: true,
121
+
122
+ // custom event data (legacy)
123
+ detail: {
124
+ clientX: originalEvent.clientX,
125
+ clientY: originalEvent.clientY,
126
+ offsetX: originalEvent.offsetX,
127
+ offsetY: originalEvent.offsetY,
128
+ pageX: originalEvent.pageX,
129
+ pageY: originalEvent.pageY
130
+ },
131
+
132
+ // add coordinate data that would typically acompany a touch/click event
133
+ clientX: originalEvent.clientX,
134
+ clientY: originalEvent.clientY,
135
+ offsetX: originalEvent.offsetX,
136
+ offsetY: originalEvent.offsetY,
137
+ pageX: originalEvent.pageX,
138
+ pageY: originalEvent.pageY,
139
+ screenX: originalEvent.screenX,
140
+ screenY: originalEvent.screenY
141
+ }));
142
+
143
+ if (!allowClickEvent) {
144
+ // suppress the next click event if e.preventDefault() was called in long-press handler
145
+ document.addEventListener('click', function suppressEvent(e) {
146
+ document.removeEventListener('click', suppressEvent, true);
147
+ cancelEvent(e);
148
+ }, true);
149
+ }
150
+ }
151
+
152
+ /**
153
+ * consolidates mouse, touch, and Pointer events
154
+ * @param {MouseEvent|PointerEvent|TouchEvent} e The original event being fired
155
+ * @returns {MouseEvent|PointerEvent|Touch}
156
+ */
157
+ function unifyEvent(e) {
158
+ if (e.changedTouches !== undefined) {
159
+ return e.changedTouches[0];
160
+ }
161
+ return e;
162
+ }
163
+
164
+ /**
165
+ * method responsible for starting the long press timer
166
+ * @param {event} e - event object
167
+ * @returns {void}
168
+ */
169
+ function startLongPressTimer(e) {
170
+
171
+ clearLongPressTimer();
172
+
173
+ var el = e.target;
174
+
175
+ // get delay from html attribute if it exists, otherwise default to 1500
176
+ var longPressDelayInMs = parseInt(getNearestAttribute(el, 'data-long-press-delay', '1500'), 10); // default 1500
177
+
178
+ // start the timer
179
+ timer = requestTimeout(fireLongPressEvent.bind(el, e), longPressDelayInMs);
180
+ }
181
+
182
+ /**
183
+ * method responsible for clearing a pending long press timer
184
+ * @param {event} e - event object
185
+ * @returns {void}
186
+ */
187
+ function clearLongPressTimer(e) {
188
+ clearRequestTimeout(timer);
189
+ timer = null;
190
+ }
191
+
192
+ /**
193
+ * Cancels the current event
194
+ * @param {object} e - browser event object
195
+ * @returns {void}
196
+ */
197
+ function cancelEvent(e) {
198
+ e.stopImmediatePropagation();
199
+ e.preventDefault();
200
+ e.stopPropagation();
201
+ }
202
+
203
+ /**
204
+ * Starts the timer on mouse down and logs current position
205
+ * @param {object} e - browser event object
206
+ * @returns {void}
207
+ */
208
+ function mouseDownHandler(e) {
209
+ startX = e.clientX;
210
+ startY = e.clientY;
211
+ startLongPressTimer(e);
212
+ }
213
+
214
+ /**
215
+ * If the mouse moves n pixels during long-press, cancel the timer
216
+ * @param {object} e - browser event object
217
+ * @returns {void}
218
+ */
219
+ function mouseMoveHandler(e) {
220
+
221
+ // calculate total number of pixels the pointer has moved
222
+ var diffX = Math.abs(startX - e.clientX);
223
+ var diffY = Math.abs(startY - e.clientY);
224
+
225
+ // if pointer has moved more than allowed, cancel the long-press timer and therefore the event
226
+ if (diffX >= maxDiffX || diffY >= maxDiffY) {
227
+ clearLongPressTimer();
228
+ }
229
+ }
230
+
231
+ /**
232
+ * Gets attribute off HTML element or nearest parent
233
+ * @param {object} el - HTML element to retrieve attribute from
234
+ * @param {string} attributeName - name of the attribute
235
+ * @param {any} defaultValue - default value to return if no match found
236
+ * @returns {any} attribute value or defaultValue
237
+ */
238
+ function getNearestAttribute(el, attributeName, defaultValue) {
239
+
240
+ // walk up the dom tree looking for data-action and data-trigger
241
+ while (el && el !== document.documentElement) {
242
+
243
+ var attributeValue = el.getAttribute(attributeName);
244
+
245
+ if (attributeValue) {
246
+ return attributeValue;
247
+ }
248
+
249
+ el = el.parentNode;
250
+ }
251
+
252
+ return defaultValue;
253
+ }
254
+
255
+ // hook events that clear a pending long press event
256
+ document.addEventListener(mouseUp, clearLongPressTimer, true);
257
+ document.addEventListener(mouseLeave, clearLongPressTimer, true);
258
+ document.addEventListener(mouseMove, mouseMoveHandler, true);
259
+ document.addEventListener('wheel', clearLongPressTimer, true);
260
+ document.addEventListener('scroll', clearLongPressTimer, true);
261
+ document.addEventListener('contextmenu', clearLongPressTimer, true);
262
+
263
+ // hook events that can trigger a long press event
264
+ document.addEventListener(mouseDown, mouseDownHandler, true); // <- start
265
+
266
+ }(window, document));
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const version = "9.0.0-next.9";
3
+ const version = "10.0.0-next.37";
4
4
 
5
5
  exports.version = version;
@@ -1,11 +1,13 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-010dc207.js');
4
- const _package = require('./package-8e810a59.js');
3
+ const index = require('./index-b60129c4.js');
4
+ const _package = require('./package-8121f093.js');
5
5
  const headingLevels = require('./heading-levels-608d432e.js');
6
- const checkOneOf = require('./check-one-of-f4f5d0c0.js');
6
+ const checkOneOf = require('./check-one-of-75d270b5.js');
7
+ require('./breakpoints-cdf1b747.js');
8
+ const eventGuard = require('./event-guard-efabc84f.js');
7
9
 
8
- const postAccordionCss = ":host{display:block}::slotted(post-accordion-item){display:block}::slotted(post-accordion-item:not(:only-of-type:first-of-type)){margin-top: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)}";
10
+ 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)}";
9
11
  const PostAccordionStyle0 = postAccordionCss;
10
12
 
11
13
  const PostAccordion = class {
@@ -18,7 +20,7 @@ const PostAccordion = class {
18
20
  validateHeadingLevel(newValue = this.headingLevel) {
19
21
  if (!newValue)
20
22
  return;
21
- checkOneOf.checkOneOf(newValue, headingLevels.HEADING_LEVELS, 'The `heading-level` property of the `post-accordion` must be a number between 1 and 6.');
23
+ checkOneOf.checkOneOf(this, 'headingLevel', headingLevels.HEADING_LEVELS, 'The `heading-level` property of the `post-accordion` must be a number between 1 and 6.');
22
24
  this.accordionItems.forEach(item => {
23
25
  item.setAttribute('heading-level', String(newValue));
24
26
  });
@@ -28,10 +30,7 @@ const PostAccordion = class {
28
30
  this.validateHeadingLevel();
29
31
  }
30
32
  collapseToggleHandler(event) {
31
- event.stopPropagation();
32
- const toggledItem = event.target;
33
- const closestParentAccordion = toggledItem.closest('post-accordion');
34
- if (closestParentAccordion === this.host && toggledItem.localName === 'post-accordion-item') {
33
+ eventGuard.eventGuard(this.host, event, { targetLocalName: 'post-accordion-item', delegatorSelector: 'post-accordion' }, () => {
35
34
  const toggledAccordionItem = event.target;
36
35
  const isClosing = this.expandedItems.has(toggledAccordionItem);
37
36
  if (isClosing) {
@@ -42,13 +41,13 @@ const PostAccordion = class {
42
41
  }
43
42
  if (this.multiple || isClosing)
44
43
  return;
45
- // 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
46
45
  Array.from(this.expandedItems.values())
47
46
  .filter(item => item !== toggledAccordionItem)
48
47
  .forEach(item => {
49
48
  item.toggle(false);
50
49
  });
51
- }
50
+ });
52
51
  }
53
52
  /**
54
53
  * Toggles the `post-accordion-item` with the given id.
@@ -94,7 +93,7 @@ const PostAccordion = class {
94
93
  });
95
94
  }
96
95
  render() {
97
- return (index.h(index.Host, { key: 'cfc6280e052937f50bc481fe73cf25ede6e40314', "data-version": _package.version }, index.h("div", { key: '090539a2ebe9d216609a7e56597c5f379d439fb8', class: "accordion" }, index.h("slot", { key: '4ae4095b14b6b9233f1d66c8543d625a77a77e09', onSlotchange: () => this.registerAccordionItems() }))));
96
+ return (index.h(index.Host, { key: '80e15cf7835f213cfee1ca7cf83cc2fd24bba3ff', "data-version": _package.version }, index.h("div", { key: '1cf03d4960115b52394b5cb07cd2286747c728dd', class: "accordion" }, index.h("slot", { key: 'b94328a45a3cba6a8d3b418061036eb8af2cf027', onSlotchange: () => this.registerAccordionItems() }))));
98
97
  }
99
98
  get host() { return index.getElement(this); }
100
99
  static get watchers() { return {
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-b60129c4.js');
4
+ const _package = require('./package-8121f093.js');
5
+ const headingLevels = require('./heading-levels-608d432e.js');
6
+ const index$1 = require('./index-23e36ff7.js');
7
+ require('./breakpoints-cdf1b747.js');
8
+ const eventGuard = require('./event-guard-efabc84f.js');
9
+ const index_browser = require('./index.browser-4af21c17.js');
10
+
11
+ const postAccordionItemCss = ".accordion-item::after{display:block;content:\"\";margin-block-start:calc(var(--post-device-border-width-default)*-1);border-block-end:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke)}.accordion-item:has(.accordion-button:hover)::after{border-color:var(--post-scheme-color-interactive-primary-hover-stroke)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-item:has(.accordion-button:hover)::after{border-color:Highlight}}.accordion-header{color:var(--post-scheme-color-interactive-primary-enabled-fg1);font-size:var(--post-device-font-size-5);margin:0;line-height:var(--post-device-line-height-heading);font-weight:var(--post-device-font-weight-black)}.accordion-button{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;display:flex;position:relative;width:100%;align-items:center;text-align:start;gap:var(--post-device-spacing-gap-7);padding:calc(var(--post-device-spacing-padding-19) + var(--post-device-border-width-default)) calc(var(--post-device-spacing-padding-5) + var(--post-device-border-width-default));cursor:pointer}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-button{background-color:ButtonFace !important}.accordion-button:hover{background-color:Highlight !important}}.accordion-button::before{display:block;position:absolute;content:\"\";inset:0;inset-block-end:auto;border-block-start:var(--post-accordion-button-border-top)}.accordion-button{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}.accordion-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:var(--post-device-border-radius-focus)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-button:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.accordion-button:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:var(--post-device-border-radius-focus)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-button:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.accordion-button slot::slotted(span[slot=header]){flex-grow:1}.accordion-button post-icon{flex:none;width:var(--post-core-dimension-24);aspect-ratio:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}.accordion-button.collapsed{padding-block-start:calc(var(--post-device-spacing-padding-19) + var(--post-device-border-width-default));padding-block-end:calc(var(--post-device-spacing-padding-19) + var(--post-device-border-width-default))}.accordion-button.collapsed post-icon{transform:rotate(-180deg)}.accordion-button:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}.accordion-button>::slotted(.text-truncate){display:block}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-button:hover,.accordion-button:focus-visible{color:Highlight}}.accordion-body{padding-block-start:var(--post-device-spacing-padding-15);padding-block-end:calc(var(--post-device-spacing-padding-block-25) + var(--post-device-border-width-default));padding-inline:var(--post-device-spacing-padding-5)}.logo-container{display:none;width:var(--post-device-sizing-logo-1);aspect-ratio:1}.logo-container.has-image{display:block}.logo-container slot::slotted(img){display:block;width:100%;height:100%;object-fit:cover}.accordion-button>::slotted(:first-child),.accordion-body>::slotted(:first-child){margin-block-start:0 !important}.accordion-button>::slotted(:last-child),.accordion-body>::slotted(:last-child){margin-block-end:0 !important}";
12
+ const PostAccordionItemStyle0 = postAccordionItemCss;
13
+
14
+ const PostAccordionItem = class {
15
+ constructor(hostRef) {
16
+ index.registerInstance(this, hostRef);
17
+ this.id = undefined;
18
+ this.slottedLogo = undefined;
19
+ this.collapsed = false;
20
+ this.headingLevel = undefined;
21
+ }
22
+ validateHeadingLevel() {
23
+ index$1.checkEmptyOrOneOf(this, 'headingLevel', headingLevels.HEADING_LEVELS, 'The `heading-level` property of the `post-accordion-item` must be a number between 1 and 6.');
24
+ }
25
+ componentWillLoad() {
26
+ this.id = this.host.id || `p${index_browser.nanoid(6)}`;
27
+ }
28
+ componentDidLoad() {
29
+ this.validateHeadingLevel();
30
+ }
31
+ // Capture to make sure the "collapsed" property is updated before the event is consumed
32
+ onCollapseToggle(event) {
33
+ eventGuard.eventGuard(this.host, event, { targetLocalName: 'post-collapsible', delegatorSelector: 'post-accordion-item' }, () => {
34
+ this.collapsed = !event.detail;
35
+ });
36
+ }
37
+ /**
38
+ * Triggers the collapse programmatically.
39
+ */
40
+ async toggle(force) {
41
+ return this.collapsible.toggle(force);
42
+ }
43
+ onSlotLogoChange() {
44
+ this.slottedLogo = this.host.querySelector('img[slot="logo"]');
45
+ }
46
+ componentWillRender() {
47
+ this.slottedLogo = this.host.querySelector('img[slot="logo"]');
48
+ }
49
+ render() {
50
+ const headingLevel = this.host.closest('post-accordion')?.getAttribute('heading-level');
51
+ const HeadingTag = `h${headingLevel ?? this.headingLevel ?? 2}`;
52
+ return (index.h(index.Host, { key: '725d3710f7937f82c2382938d15770001e923b61', id: this.id, "data-version": _package.version }, index.h("div", { key: '679d25d8278fbf9ae68546ee50c27a86ded95999', part: "accordion-item", class: "accordion-item" }, index.h("post-collapsible-trigger", { key: '7c2af8dc6a1f5265b4ae2cad066be7d2e0bf6a78', for: `${this.id}--collapse` }, index.h(HeadingTag, { key: 'a10e59a17fdb272fe6308d2ba98f37f90490fab8', class: "accordion-header", id: `${this.id}--header` }, index.h("button", { key: 'e2b527850c8342a8adf99453d0ac330b6a94760f', type: "button", class: `accordion-button${this.collapsed ? ' collapsed' : ''}`, part: "button" }, index.h("span", { key: 'b722a4bc51757546eefa58c7c3ea3a688838298a', class: {
53
+ 'logo-container': true,
54
+ 'has-image': !!this.slottedLogo,
55
+ } }, index.h("slot", { key: '1a42494db72a7b437b1d98fa2e8159d73ece22fa', name: "logo", onSlotchange: this.onSlotLogoChange.bind(this) })), index.h("slot", { key: '049865bb25f833780ef8e27fe8477e06476a2427', name: "header" }), index.h("post-icon", { key: 'da0cf7078e4f51710dbfd39c0afa90465fcb53c6', name: "2051" })))), index.h("post-collapsible", { key: '7c3b268e34d3e4f52820b11a6c090aefbc16e3b9', id: `${this.id}--collapse`, collapsed: this.collapsed, ref: el => (this.collapsible = el) }, index.h("div", { key: '993a7fffbccb557aed2842305f3927e5c3b5047a', class: "accordion-body", part: "body" }, index.h("slot", { key: '580eb87b1cb4f88acd7dddddecaa1c1982b7f6e3' }))))));
56
+ }
57
+ get host() { return index.getElement(this); }
58
+ static get watchers() { return {
59
+ "headingLevel": ["validateHeadingLevel"]
60
+ }; }
61
+ };
62
+ PostAccordionItem.style = PostAccordionItemStyle0;
63
+
64
+ exports.PostAccordionItem = PostAccordionItem;
@@ -2,15 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postAccordionItem = require('./post-accordion-item-ecc6749f.js');
6
- require('./index-010dc207.js');
7
- require('./package-8e810a59.js');
5
+ const postAccordionItem = require('./post-accordion-item-4846fbee.js');
6
+ require('./index-b60129c4.js');
7
+ require('./package-8121f093.js');
8
8
  require('./heading-levels-608d432e.js');
9
- require('./index-5d4e0aed.js');
9
+ require('./index-23e36ff7.js');
10
10
  require('./constants-238701d3.js');
11
- require('./check-one-of-f4f5d0c0.js');
12
- require('./check-type-64af82a9.js');
13
- require('./check-url-3ffdd2fb.js');
11
+ require('./check-one-of-75d270b5.js');
12
+ require('./check-type-cdbf6d29.js');
13
+ require('./check-url-220a286c.js');
14
+ require('./breakpoints-cdf1b747.js');
15
+ require('./event-guard-efabc84f.js');
16
+ require('./index.browser-4af21c17.js');
14
17
 
15
18
 
16
19
 
@@ -2,11 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postAccordion = require('./post-accordion-b9df8522.js');
6
- require('./index-010dc207.js');
7
- require('./package-8e810a59.js');
5
+ const postAccordion = require('./post-accordion-beac7c9f.js');
6
+ require('./index-b60129c4.js');
7
+ require('./package-8121f093.js');
8
8
  require('./heading-levels-608d432e.js');
9
- require('./check-one-of-f4f5d0c0.js');
9
+ require('./check-one-of-75d270b5.js');
10
+ require('./breakpoints-cdf1b747.js');
11
+ require('./event-guard-efabc84f.js');
10
12
 
11
13
 
12
14
 
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-010dc207.js');
4
- const _package = require('./package-8e810a59.js');
5
- const checkNonEmpty = require('./check-non-empty-eeaa8f77.js');
3
+ const index = require('./index-b60129c4.js');
4
+ const _package = require('./package-8121f093.js');
5
+ const checkNonEmpty = require('./check-non-empty-bd99d236.js');
6
+ require('./breakpoints-cdf1b747.js');
6
7
 
7
- 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}";
8
+ const postAvatarCss = "@keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}:host{--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}";
8
9
  const PostAvatarStyle0 = postAvatarCss;
9
10
 
10
11
  // https://docs.gravatar.com/api/avatars/images/
@@ -33,7 +34,7 @@ const PostAvatar = class {
33
34
  this.initials = '';
34
35
  }
35
36
  validateFirstname() {
36
- checkNonEmpty.checkNonEmpty(this.firstname, 'The `firstname` property of the `post-avatar` is required!');
37
+ checkNonEmpty.checkNonEmpty(this, 'firstname');
37
38
  }
38
39
  async getAvatar() {
39
40
  if (this.slottedImage !== null) {
@@ -50,10 +51,9 @@ const PostAvatar = class {
50
51
  }
51
52
  }
52
53
  async getImageByProp(prop, fetchImage) {
53
- var _a;
54
54
  if (!prop)
55
55
  return false;
56
- const imageResponse = (_a = (await this.getStorageItem(prop))) !== null && _a !== void 0 ? _a : { ok: false, url: '' };
56
+ const imageResponse = (await this.getStorageItem(prop)) ?? { ok: false, url: '' };
57
57
  if (!imageResponse.ok) {
58
58
  try {
59
59
  const r = await fetchImage();
@@ -93,20 +93,17 @@ const PostAvatar = class {
93
93
  .trim();
94
94
  }
95
95
  async getStorageItem(keyToken) {
96
- var _a;
97
96
  const key = await this.cryptify(keyToken);
98
- const value = (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.getItem(key);
97
+ const value = window?.sessionStorage?.getItem(key);
99
98
  return value ? JSON.parse(value) : null;
100
99
  }
101
100
  async setStorageItem(keyToken, value) {
102
- var _a;
103
101
  const key = await this.cryptify(keyToken);
104
- (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.setItem(key, value);
102
+ window?.sessionStorage?.setItem(key, value);
105
103
  }
106
104
  async removeStorageItem(keyToken) {
107
- var _a;
108
105
  const key = await this.cryptify(keyToken);
109
- (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.removeItem(key);
106
+ window?.sessionStorage?.removeItem(key);
110
107
  }
111
108
  async cryptify(key) {
112
109
  return await crypto.subtle.digest('SHA-256', new TextEncoder().encode(key)).then(buffer => {
@@ -2,11 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postAvatar = require('./post-avatar-f7236084.js');
6
- require('./index-010dc207.js');
7
- require('./package-8e810a59.js');
8
- require('./check-non-empty-eeaa8f77.js');
5
+ const postAvatar = require('./post-avatar-a36991fb.js');
6
+ require('./index-b60129c4.js');
7
+ require('./package-8121f093.js');
8
+ require('./check-non-empty-bd99d236.js');
9
9
  require('./constants-238701d3.js');
10
+ require('./breakpoints-cdf1b747.js');
10
11
 
11
12
 
12
13
 
@@ -0,0 +1,96 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-b60129c4.js');
4
+ const slide = require('./slide-cd1f09b3.js');
5
+ const _package = require('./package-8121f093.js');
6
+ const checkType = require('./check-type-cdbf6d29.js');
7
+ const checkNonEmpty = require('./check-non-empty-bd99d236.js');
8
+ require('./breakpoints-cdf1b747.js');
9
+
10
+ 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}";
11
+ const PostBackToTopStyle0 = postBackToTopCss;
12
+
13
+ const PostBackToTop = class {
14
+ constructor(hostRef) {
15
+ index.registerInstance(this, hostRef);
16
+ this.handleScroll = () => {
17
+ this.belowFold = this.isBelowFold();
18
+ };
19
+ this.label = undefined;
20
+ this.belowFold = false;
21
+ }
22
+ isBelowFold() {
23
+ return window.scrollY > window.innerHeight;
24
+ }
25
+ /*Watch for changes in belowFold to show/hide the back to top button*/
26
+ watchBelowFold(newValue) {
27
+ if (newValue) {
28
+ slide.slideDown(this.host, this.translateY);
29
+ }
30
+ else {
31
+ slide.slideUp(this.host, this.translateY);
32
+ }
33
+ }
34
+ scrollToTop() {
35
+ window.scrollTo({
36
+ top: 0,
37
+ behavior: 'smooth',
38
+ });
39
+ }
40
+ getSecondPixelValue(parts) {
41
+ for (const part of parts) {
42
+ const pixelValues = part.match(/\b\d+px\b/g);
43
+ if (pixelValues && pixelValues.length > 1) {
44
+ return pixelValues[1];
45
+ }
46
+ }
47
+ }
48
+ animateButton() {
49
+ // Get the back-to-top button top postiion
50
+ const positionTop = window.getComputedStyle(this.host).getPropertyValue('top');
51
+ const buttonElement = this.host.shadowRoot.querySelector('button');
52
+ // Extract the elevation height from the back-to-top button elevation token
53
+ const elevation = getComputedStyle(buttonElement).getPropertyValue('--post-back-to-top-elevation');
54
+ const elevationParts = elevation.split(',');
55
+ const elevationHeight = this.getSecondPixelValue(elevationParts);
56
+ // The translateY is calculated as => -100% (btt button height) - topPosition - elevationHeight
57
+ this.translateY =
58
+ String((-1 * 100) / 100 -
59
+ parseFloat(positionTop.replace('px', '')) -
60
+ parseFloat(elevationHeight.replace('px', ''))) + 'px';
61
+ if (this.belowFold) {
62
+ slide.slideDown(this.host, this.translateY);
63
+ }
64
+ if (!this.belowFold) {
65
+ this.host.style.transform = `translateY(${this.translateY})`;
66
+ }
67
+ }
68
+ // Validate the label
69
+ validateLabel() {
70
+ checkNonEmpty.checkNonEmpty(this, 'label');
71
+ checkType.checkType(this, 'label', 'string');
72
+ }
73
+ // Set the initial state
74
+ componentWillLoad() {
75
+ this.belowFold = this.isBelowFold();
76
+ }
77
+ componentDidLoad() {
78
+ window.addEventListener('scroll', this.handleScroll, false);
79
+ this.animateButton();
80
+ this.validateLabel();
81
+ }
82
+ disconnectedCallback() {
83
+ window.removeEventListener('scroll', this.handleScroll);
84
+ }
85
+ render() {
86
+ return (index.h(index.Host, { key: 'c1ab6c5e7619ad829d64aea16c59a923310cf091', "data-version": _package.version }, index.h("button", { key: '99e10e4d16c8d82521b001c3b3d902d8ba47ee92', class: "back-to-top", "aria-hidden": this.belowFold ? 'false' : 'true', tabindex: this.belowFold ? '0' : '-1', onClick: this.scrollToTop }, index.h("post-icon", { key: '5a6a1b472b45fcc466127ece7091617e4700ee16', "aria-hidden": "true", name: "3026" }), index.h("span", { key: 'c8502e4822347d48034f6a936203e3314c7ae91e', class: "visually-hidden" }, this.label))));
87
+ }
88
+ get host() { return index.getElement(this); }
89
+ static get watchers() { return {
90
+ "belowFold": ["watchBelowFold"],
91
+ "label": ["validateLabel"]
92
+ }; }
93
+ };
94
+ PostBackToTop.style = PostBackToTopStyle0;
95
+
96
+ exports.PostBackToTop = PostBackToTop;
@@ -2,13 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postBackToTop = require('./post-back-to-top-60762f8e.js');
6
- require('./index-010dc207.js');
7
- require('./slide-5d51abe8.js');
8
- require('./package-8e810a59.js');
9
- require('./check-type-64af82a9.js');
10
- require('./check-non-empty-eeaa8f77.js');
5
+ const postBackToTop = require('./post-back-to-top-32aa9017.js');
6
+ require('./index-b60129c4.js');
7
+ require('./slide-cd1f09b3.js');
8
+ require('./package-8121f093.js');
9
+ require('./check-type-cdbf6d29.js');
10
+ require('./check-non-empty-bd99d236.js');
11
11
  require('./constants-238701d3.js');
12
+ require('./breakpoints-cdf1b747.js');
12
13
 
13
14
 
14
15