@swisspost/design-system-components 9.0.1 → 10.0.0-next.38

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 (568) 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-e1f32cce.js → index-b60129c4.js} +35 -15
  12. package/dist/cjs/index.browser-4af21c17.js +16 -0
  13. package/dist/cjs/index.cjs.js +57 -28
  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-93f142ae.js → package-3e61e6f3.js} +1 -1
  17. package/dist/cjs/{post-accordion-60af96cf.js → post-accordion-e54524be.js} +11 -12
  18. package/dist/cjs/post-accordion-item-86f11a16.js +64 -0
  19. package/dist/cjs/post-accordion-item.cjs.entry.js +10 -6
  20. package/dist/cjs/post-accordion.cjs.entry.js +6 -4
  21. package/dist/cjs/post-avatar-22bfd12e.js +145 -0
  22. package/dist/cjs/post-avatar.cjs.entry.js +14 -0
  23. package/dist/cjs/post-back-to-top-f682ea05.js +96 -0
  24. package/dist/cjs/post-back-to-top.cjs.entry.js +16 -0
  25. package/dist/cjs/post-banner-5c749a94.js +92 -0
  26. package/dist/cjs/post-banner.cjs.entry.js +20 -0
  27. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +18 -0
  28. package/dist/cjs/post-breadcrumbs-76f55ae5.js +120 -0
  29. package/dist/cjs/post-breadcrumbs.cjs.entry.js +13 -0
  30. package/dist/cjs/post-card-control-161a7102.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 +36 -0
  33. package/dist/cjs/{post-collapsible-trigger-3de8fe4e.js → post-collapsible-trigger-6cdf4481.js} +62 -76
  34. package/dist/cjs/post-collapsible_2.cjs.entry.js +11 -7
  35. package/dist/cjs/post-components.cjs.js +2 -2
  36. package/dist/cjs/post-footer-15d78645.js +38 -0
  37. package/dist/cjs/post-footer.cjs.entry.js +12 -0
  38. package/dist/cjs/post-linkarea-095d1928.js +30 -0
  39. package/dist/cjs/post-linkarea.cjs.entry.js +11 -0
  40. package/dist/cjs/post-menu-item-387e079b.js +68 -0
  41. package/dist/cjs/post-popover-388c8091.js +135 -0
  42. package/dist/cjs/post-popover.cjs.entry.js +4 -3
  43. package/dist/cjs/{post-rating-21f9c46d.js → post-rating-246e4d89.js} +4 -4
  44. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  45. package/dist/cjs/post-tab-header-0e9d0e06.js +34 -0
  46. package/dist/cjs/post-tab-header.cjs.entry.js +6 -4
  47. package/dist/cjs/{post-tab-panel-dd58f425.js → post-tab-panel-f952714f.js} +5 -4
  48. package/dist/cjs/post-tab-panel.cjs.entry.js +4 -3
  49. package/dist/cjs/{post-tabs-83191b9a.js → post-tabs-97c30d81.js} +14 -16
  50. package/dist/cjs/post-tabs.cjs.entry.js +5 -4
  51. package/dist/cjs/post-tag-58003cf0.js +47 -0
  52. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  53. package/dist/cjs/post-togglebutton-87c984d8.js +4494 -0
  54. package/dist/cjs/{post-tooltip-782f020b.js → post-tooltip-28e7711a.js} +10 -6
  55. package/dist/cjs/{post-tooltip-trigger-b2aeb636.js → post-tooltip-trigger-cbc53d14.js} +17 -280
  56. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +5 -4
  57. package/dist/cjs/post-tooltip.cjs.entry.js +5 -4
  58. package/dist/cjs/slide-cd1f09b3.js +28 -0
  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 +23 -0
  62. package/dist/collection/collection-manifest.json +22 -3
  63. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  64. package/dist/collection/components/post-accordion/post-accordion.js +8 -10
  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 +30 -16
  67. package/dist/collection/components/post-avatar/post-avatar.css +1 -0
  68. package/dist/collection/components/post-avatar/post-avatar.js +233 -0
  69. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -0
  70. package/dist/collection/components/post-back-to-top/post-back-to-top.js +127 -0
  71. package/dist/collection/components/post-banner/banner-types.js +1 -0
  72. package/dist/collection/components/post-banner/post-banner.css +1 -0
  73. package/dist/collection/components/{post-alert/post-alert.js → post-banner/post-banner.js} +44 -72
  74. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -0
  75. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +96 -0
  76. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -0
  77. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +160 -0
  78. package/dist/collection/components/post-card-control/post-card-control.css +1 -31
  79. package/dist/collection/components/post-card-control/post-card-control.js +20 -24
  80. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -0
  81. package/dist/collection/components/post-closebutton/post-closebutton.js +23 -0
  82. package/dist/collection/components/post-collapsible/post-collapsible.css +1 -1
  83. package/dist/collection/components/post-collapsible/post-collapsible.js +6 -3
  84. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +43 -45
  85. package/dist/collection/components/post-footer/post-footer.css +1 -0
  86. package/dist/collection/components/post-footer/post-footer.js +75 -0
  87. package/dist/collection/components/post-header/post-header.css +1 -0
  88. package/dist/collection/components/post-header/post-header.js +320 -0
  89. package/dist/collection/components/post-icon/post-icon.js +58 -55
  90. package/dist/collection/components/post-language-option/post-language-option.css +1 -0
  91. package/dist/collection/components/post-language-option/post-language-option.js +237 -0
  92. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -0
  93. package/dist/collection/components/post-language-switch/post-language-switch.js +186 -0
  94. package/dist/collection/components/post-language-switch/switch-variants.js +1 -0
  95. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -0
  96. package/dist/collection/components/post-linkarea/post-linkarea.js +30 -0
  97. package/dist/collection/components/post-list/post-list.css +1 -0
  98. package/dist/collection/components/post-list/post-list.js +88 -0
  99. package/dist/collection/components/post-list-item/post-list-item.css +1 -0
  100. package/dist/collection/components/post-list-item/post-list-item.js +26 -0
  101. package/dist/collection/components/post-logo/post-logo.css +1 -1
  102. package/dist/collection/components/post-logo/post-logo.js +2 -2
  103. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -0
  104. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +184 -0
  105. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -0
  106. package/dist/collection/components/post-megadropdown/post-megadropdown.js +275 -0
  107. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -0
  108. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +133 -0
  109. package/dist/collection/components/post-menu/post-menu.css +1 -0
  110. package/dist/collection/components/post-menu/post-menu.js +294 -0
  111. package/dist/collection/components/post-menu-item/post-menu-item.js +8 -0
  112. package/dist/collection/components/post-menu-trigger/post-menu-trigger.css +1 -0
  113. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +120 -0
  114. package/dist/collection/components/post-popover/post-popover.css +1 -31
  115. package/dist/collection/components/post-popover/post-popover.js +16 -13
  116. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -31
  117. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +39 -6
  118. package/dist/collection/components/post-rating/post-rating.css +1 -31
  119. package/dist/collection/components/post-rating/post-rating.js +1 -1
  120. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -31
  121. package/dist/collection/components/post-tab-header/post-tab-header.js +6 -5
  122. package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -3
  123. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  124. package/dist/collection/components/post-tabs/post-tabs.js +7 -15
  125. package/dist/collection/components/post-tag/post-tag.css +1 -31
  126. package/dist/collection/components/post-tag/post-tag.js +2 -2
  127. package/dist/collection/components/post-togglebutton/post-togglebutton.css +1 -0
  128. package/dist/collection/components/post-togglebutton/post-togglebutton.js +74 -0
  129. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  130. package/dist/collection/components/post-tooltip/post-tooltip.js +6 -3
  131. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +14 -14
  132. package/dist/collection/index.js +21 -2
  133. package/dist/collection/utils/attribute-observer.js +6 -5
  134. package/dist/collection/utils/breakpoints.js +52 -0
  135. package/dist/collection/utils/component-on-ready.js +4 -4
  136. package/dist/collection/utils/debounce.js +2 -1
  137. package/dist/collection/utils/environment.js +2 -0
  138. package/dist/collection/utils/event-guard.js +43 -0
  139. package/dist/collection/utils/get-focusable-children.js +33 -0
  140. package/dist/collection/utils/get-root.js +6 -1
  141. package/dist/collection/utils/index.js +5 -0
  142. package/dist/collection/utils/is-motion-reduced.js +2 -1
  143. package/dist/collection/utils/property-checkers/check-non-empty.js +6 -2
  144. package/dist/collection/utils/property-checkers/check-one-of.js +8 -3
  145. package/dist/collection/utils/property-checkers/check-pattern.js +8 -3
  146. package/dist/collection/utils/property-checkers/check-type.js +11 -6
  147. package/dist/collection/utils/property-checkers/check-url.js +11 -6
  148. package/dist/collection/utils/property-checkers/empty-or.js +5 -2
  149. package/dist/collection/utils/sass-export.js +8 -5
  150. package/dist/components/breakpoints.js +56 -0
  151. package/dist/components/check-non-empty.js +6 -2
  152. package/dist/components/check-one-of.js +8 -3
  153. package/dist/components/check-type.js +11 -6
  154. package/dist/components/event-guard.js +45 -0
  155. package/dist/components/fade.js +6 -2
  156. package/dist/components/get-focusable-children.js +35 -0
  157. package/dist/components/get-root.js +15 -0
  158. package/dist/components/index.browser.js +14 -0
  159. package/dist/components/index.js +21 -2
  160. package/dist/components/index2.js +25 -12
  161. package/dist/components/long-press-event.js +264 -0
  162. package/dist/components/package.js +1 -1
  163. package/dist/components/post-accordion-item2.js +37 -18
  164. package/dist/components/post-accordion2.js +8 -9
  165. package/dist/components/post-avatar.d.ts +11 -0
  166. package/dist/components/post-avatar.js +6 -0
  167. package/dist/components/post-avatar2.js +170 -0
  168. package/dist/components/post-back-to-top.d.ts +11 -0
  169. package/dist/components/post-back-to-top.js +6 -0
  170. package/dist/components/post-back-to-top2.js +121 -0
  171. package/dist/components/post-banner.d.ts +11 -0
  172. package/dist/components/post-banner.js +6 -0
  173. package/dist/components/post-banner2.js +127 -0
  174. package/dist/components/post-breadcrumb-item.d.ts +11 -0
  175. package/dist/components/post-breadcrumb-item.js +6 -0
  176. package/dist/components/post-breadcrumb-item2.js +82 -0
  177. package/dist/components/post-breadcrumbs.d.ts +11 -0
  178. package/dist/components/post-breadcrumbs.js +6 -0
  179. package/dist/components/post-breadcrumbs2.js +177 -0
  180. package/dist/components/post-card-control2.js +16 -19
  181. package/dist/components/post-closebutton.d.ts +11 -0
  182. package/dist/components/post-closebutton.js +6 -0
  183. package/dist/components/post-closebutton2.js +39 -0
  184. package/dist/components/post-collapsible-trigger2.js +47 -64
  185. package/dist/components/post-collapsible2.js +17 -12
  186. package/dist/components/post-footer.d.ts +11 -0
  187. package/dist/components/post-footer.js +6 -0
  188. package/dist/components/post-footer2.js +78 -0
  189. package/dist/components/post-header.d.ts +11 -0
  190. package/dist/components/post-header.js +6 -0
  191. package/dist/components/post-header2.js +399 -0
  192. package/dist/components/post-icon2.js +59 -55
  193. package/dist/components/post-language-option.d.ts +11 -0
  194. package/dist/components/post-language-option.js +6 -0
  195. package/dist/components/post-language-option2.js +103 -0
  196. package/dist/components/post-language-switch.d.ts +11 -0
  197. package/dist/components/post-language-switch.js +6 -0
  198. package/dist/components/post-language-switch2.js +145 -0
  199. package/dist/components/post-linkarea.d.ts +11 -0
  200. package/dist/components/post-linkarea.js +6 -0
  201. package/dist/components/post-linkarea2.js +43 -0
  202. package/dist/components/post-list-item.d.ts +11 -0
  203. package/dist/components/post-list-item.js +6 -0
  204. package/dist/components/post-list-item2.js +36 -0
  205. package/dist/components/{post-alert.d.ts → post-list.d.ts} +4 -4
  206. package/dist/components/post-list.js +6 -0
  207. package/dist/components/post-list2.js +54 -0
  208. package/dist/components/post-logo2.js +4 -3
  209. package/dist/components/post-mainnavigation.d.ts +11 -0
  210. package/dist/components/post-mainnavigation.js +6 -0
  211. package/dist/components/post-mainnavigation2.js +183 -0
  212. package/dist/components/post-megadropdown-trigger.d.ts +11 -0
  213. package/dist/components/post-megadropdown-trigger.js +6 -0
  214. package/dist/components/post-megadropdown-trigger2.js +121 -0
  215. package/dist/components/post-megadropdown.d.ts +11 -0
  216. package/dist/components/post-megadropdown.js +6 -0
  217. package/dist/components/post-megadropdown2.js +190 -0
  218. package/dist/components/post-menu-item.d.ts +11 -0
  219. package/dist/components/post-menu-item.js +6 -0
  220. package/dist/components/post-menu-item2.js +27 -0
  221. package/dist/components/post-menu-trigger.d.ts +11 -0
  222. package/dist/components/post-menu-trigger.js +6 -0
  223. package/dist/components/post-menu-trigger2.js +109 -0
  224. package/dist/components/post-menu.d.ts +11 -0
  225. package/dist/components/post-menu.js +6 -0
  226. package/dist/components/post-menu2.js +192 -0
  227. package/dist/components/post-popover2.js +20 -16
  228. package/dist/components/post-popovercontainer2.js +788 -73
  229. package/dist/components/post-rating2.js +2 -2
  230. package/dist/components/post-tab-header2.js +8 -6
  231. package/dist/components/post-tab-panel2.js +4 -3
  232. package/dist/components/post-tabs2.js +11 -13
  233. package/dist/components/post-tag2.js +2 -2
  234. package/dist/components/post-togglebutton.d.ts +11 -0
  235. package/dist/components/post-togglebutton.js +6 -0
  236. package/dist/components/post-togglebutton2.js +62 -0
  237. package/dist/components/post-tooltip-trigger2.js +14 -277
  238. package/dist/components/post-tooltip2.js +7 -3
  239. package/dist/components/slide.js +25 -0
  240. package/dist/docs.json +1977 -287
  241. package/dist/esm/breakpoints-7812702e.js +56 -0
  242. package/dist/esm/check-non-empty-258a56b3.js +13 -0
  243. package/dist/esm/check-one-of-0bee20f5.js +11 -0
  244. package/dist/esm/check-type-37d5d307.js +19 -0
  245. package/dist/esm/check-url-17962bc8.js +17 -0
  246. package/dist/esm/event-guard-538ee077.js +45 -0
  247. package/dist/esm/fade-1f3cacf4.js +11 -0
  248. package/dist/esm/get-root-1b1af46f.js +15 -0
  249. package/dist/esm/index-8f8fe5b0.js +32 -0
  250. package/dist/esm/{index-e1b64755.js → index-f4d19816.js} +35 -15
  251. package/dist/esm/index.browser-ff103197.js +14 -0
  252. package/dist/esm/index.js +33 -23
  253. package/dist/esm/loader.js +3 -3
  254. package/dist/esm/long-press-event-04d24397.js +264 -0
  255. package/dist/esm/package-33ac2576.js +3 -0
  256. package/dist/esm/{post-accordion-bcfe7e61.js → post-accordion-03796d13.js} +11 -12
  257. package/dist/esm/post-accordion-item-d29c49e5.js +62 -0
  258. package/dist/esm/post-accordion-item.entry.js +10 -6
  259. package/dist/esm/post-accordion.entry.js +6 -4
  260. package/dist/esm/post-avatar-639dc17a.js +143 -0
  261. package/dist/esm/post-avatar.entry.js +6 -0
  262. package/dist/esm/post-back-to-top-8099279e.js +94 -0
  263. package/dist/esm/post-back-to-top.entry.js +8 -0
  264. package/dist/esm/post-banner-54834fbf.js +90 -0
  265. package/dist/esm/post-banner.entry.js +12 -0
  266. package/dist/esm/post-breadcrumb-item_2.entry.js +9 -0
  267. package/dist/esm/post-breadcrumbs-caf56014.js +118 -0
  268. package/dist/esm/post-breadcrumbs.entry.js +5 -0
  269. package/dist/esm/post-card-control-b063586b.js +267 -0
  270. package/dist/esm/post-card-control.entry.js +6 -5
  271. package/dist/esm/post-closebutton_15.entry.js +14 -0
  272. package/dist/esm/{post-collapsible-trigger-3168178e.js → post-collapsible-trigger-727bcde1.js} +62 -76
  273. package/dist/esm/post-collapsible_2.entry.js +11 -7
  274. package/dist/esm/post-components.js +3 -3
  275. package/dist/esm/post-footer-16f1a8de.js +36 -0
  276. package/dist/esm/post-footer.entry.js +4 -0
  277. package/dist/esm/post-linkarea-4e4228fb.js +28 -0
  278. package/dist/esm/post-linkarea.entry.js +3 -0
  279. package/dist/esm/post-menu-item-e9dd8173.js +65 -0
  280. package/dist/esm/post-popover-46ede6b5.js +133 -0
  281. package/dist/esm/post-popover.entry.js +4 -3
  282. package/dist/esm/{post-rating-0fd5de37.js → post-rating-8d0d970b.js} +4 -4
  283. package/dist/esm/post-rating.entry.js +3 -3
  284. package/dist/esm/post-tab-header-8224c7c2.js +32 -0
  285. package/dist/esm/post-tab-header.entry.js +6 -4
  286. package/dist/esm/{post-tab-panel-6b1219e0.js → post-tab-panel-dfdeccd3.js} +5 -4
  287. package/dist/esm/post-tab-panel.entry.js +4 -3
  288. package/dist/esm/{post-tabs-b8ff3c5d.js → post-tabs-fabd0569.js} +14 -16
  289. package/dist/esm/post-tabs.entry.js +5 -4
  290. package/dist/esm/post-tag-13994238.js +45 -0
  291. package/dist/esm/post-tag.entry.js +3 -3
  292. package/dist/esm/post-togglebutton-87967c5b.js +4478 -0
  293. package/dist/esm/{post-tooltip-aa745743.js → post-tooltip-eecaa4c7.js} +10 -6
  294. package/dist/esm/{post-tooltip-trigger-ce0b4106.js → post-tooltip-trigger-642cbb22.js} +17 -280
  295. package/dist/esm/post-tooltip-trigger.entry.js +5 -4
  296. package/dist/esm/post-tooltip.entry.js +5 -4
  297. package/dist/esm/slide-cd2850ee.js +25 -0
  298. package/dist/post-components/index.esm.js +1 -1
  299. package/dist/post-components/p-0539071d.js +1 -0
  300. package/dist/post-components/p-0889c759.js +1 -0
  301. package/dist/post-components/p-0dcd25ab.js +1 -0
  302. package/dist/post-components/p-181c73d5.js +1 -0
  303. package/dist/post-components/p-19317b15.js +8 -0
  304. package/dist/post-components/p-1ef9415b.js +1 -0
  305. package/dist/post-components/p-24d0695f.entry.js +1 -0
  306. package/dist/post-components/p-2e50a07d.entry.js +1 -0
  307. package/dist/post-components/p-30eb4d87.js +1 -0
  308. package/dist/post-components/p-46008c18.entry.js +1 -0
  309. package/dist/post-components/p-47ab2c2b.entry.js +1 -0
  310. package/dist/post-components/p-4c049de0.entry.js +1 -0
  311. package/dist/post-components/p-4c4acc32.entry.js +1 -0
  312. package/dist/post-components/p-5d473fcd.js +1 -0
  313. package/dist/post-components/p-5d539b30.js +1 -0
  314. package/dist/post-components/p-64e3de38.js +1 -0
  315. package/dist/post-components/p-6783e509.entry.js +1 -0
  316. package/dist/post-components/p-692ba59d.js +1 -0
  317. package/dist/post-components/p-6933fb57.entry.js +1 -0
  318. package/dist/post-components/p-6b31a76a.js +1 -0
  319. package/dist/post-components/p-72197a6b.js +1 -0
  320. package/dist/post-components/p-722ffaae.js +1 -0
  321. package/dist/post-components/p-7709c14a.js +1 -0
  322. package/dist/post-components/p-77910344.entry.js +1 -0
  323. package/dist/post-components/p-80e5100e.entry.js +1 -0
  324. package/dist/post-components/p-84fbf49c.js +1 -0
  325. package/dist/post-components/p-85fdc2d3.js +1 -0
  326. package/dist/post-components/p-8c09291c.js +1 -0
  327. package/dist/post-components/p-8db32dab.js +8 -0
  328. package/dist/post-components/p-93da1a5f.js +1 -0
  329. package/dist/post-components/p-9b052461.js +1 -0
  330. package/dist/post-components/p-9b8ee310.entry.js +1 -0
  331. package/dist/post-components/{p-3eab790d.js → p-9e461613.js} +2 -2
  332. package/dist/post-components/p-9efb84d3.entry.js +1 -0
  333. package/dist/post-components/p-9fbf2f82.entry.js +1 -0
  334. package/dist/post-components/p-a07f85ee.js +1 -0
  335. package/dist/post-components/p-a25019de.js +1 -0
  336. package/dist/post-components/p-a710ee00.js +1 -0
  337. package/dist/post-components/p-b94e5b4d.entry.js +1 -0
  338. package/dist/post-components/p-c2348d3d.js +1 -0
  339. package/dist/post-components/p-c65f32b0.js +1 -0
  340. package/dist/post-components/p-c6b03446.entry.js +1 -0
  341. package/dist/post-components/p-d0dfd5f9.js +1 -0
  342. package/dist/post-components/p-d45df336.js +1 -0
  343. package/dist/post-components/p-d4890d50.entry.js +1 -0
  344. package/dist/post-components/p-d5210531.entry.js +1 -0
  345. package/dist/post-components/p-dd39c542.entry.js +1 -0
  346. package/dist/post-components/p-df6c8a4c.js +1 -0
  347. package/dist/post-components/p-e068a41e.js +1 -0
  348. package/dist/post-components/p-e585c6fe.js +1 -0
  349. package/dist/post-components/p-f2c4a48d.js +1 -0
  350. package/dist/post-components/p-f31b9b5d.entry.js +1 -0
  351. package/dist/post-components/p-f58252d5.entry.js +1 -0
  352. package/dist/post-components/p-fda767f0.js +1 -0
  353. package/dist/post-components/post-components.esm.js +1 -1
  354. package/dist/types/animations/collapse.d.ts +2 -2
  355. package/dist/types/animations/fade.d.ts +2 -2
  356. package/dist/types/animations/slide.d.ts +2 -0
  357. package/dist/types/components/post-accordion/post-accordion.d.ts +1 -1
  358. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +8 -2
  359. package/dist/types/components/post-avatar/post-avatar.d.ts +51 -0
  360. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +21 -0
  361. package/dist/types/components/post-banner/banner-types.d.ts +2 -0
  362. package/dist/types/components/post-banner/post-banner.d.ts +49 -0
  363. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +20 -0
  364. package/dist/types/components/post-breadcrumbs/post-breadcrumbs.d.ts +30 -0
  365. package/dist/types/components/post-card-control/post-card-control.d.ts +9 -9
  366. package/dist/types/components/post-closebutton/post-closebutton.d.ts +7 -0
  367. package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +9 -14
  368. package/dist/types/components/post-footer/post-footer.d.ts +23 -0
  369. package/dist/types/components/post-header/post-header.d.ts +52 -0
  370. package/dist/types/components/post-icon/post-icon.d.ts +10 -6
  371. package/dist/types/components/post-language-option/post-language-option.d.ts +49 -0
  372. package/dist/types/components/post-language-switch/post-language-switch.d.ts +39 -0
  373. package/dist/types/components/post-language-switch/switch-variants.d.ts +2 -0
  374. package/dist/types/components/post-linkarea/post-linkarea.d.ts +5 -0
  375. package/dist/types/components/post-list/post-list.d.ts +24 -0
  376. package/dist/types/components/post-list-item/post-list-item.d.ts +8 -0
  377. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +46 -0
  378. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +59 -0
  379. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +33 -0
  380. package/dist/types/components/post-menu/post-menu.d.ts +49 -0
  381. package/dist/types/components/post-menu-item/post-menu-item.d.ts +3 -0
  382. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +28 -0
  383. package/dist/types/components/post-popover/post-popover.d.ts +6 -4
  384. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +9 -1
  385. package/dist/types/components/post-tab-header/post-tab-header.d.ts +1 -1
  386. package/dist/types/components/post-tabs/post-tabs.d.ts +1 -1
  387. package/dist/types/components/post-tag/post-tag.d.ts +2 -2
  388. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +15 -0
  389. package/dist/types/components/post-tooltip/post-tooltip.d.ts +1 -0
  390. package/dist/types/components/post-tooltip-trigger/post-tooltip-trigger.d.ts +0 -1
  391. package/dist/types/components.d.ts +603 -50
  392. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/.config/bindings.angular.d.ts +2 -0
  393. package/dist/types/index.d.ts +22 -3
  394. package/dist/types/popover-fn.d.ts +11 -0
  395. package/dist/types/utils/attribute-observer.d.ts +1 -1
  396. package/dist/types/utils/breakpoints.d.ts +12 -0
  397. package/dist/types/utils/component-on-ready.d.ts +1 -1
  398. package/dist/types/utils/environment.d.ts +2 -0
  399. package/dist/types/utils/event-guard.d.ts +4 -0
  400. package/dist/types/utils/get-focusable-children.d.ts +1 -0
  401. package/dist/types/utils/get-root.d.ts +5 -1
  402. package/dist/types/utils/index.d.ts +5 -0
  403. package/dist/types/utils/property-checkers/check-non-empty.d.ts +3 -1
  404. package/dist/types/utils/property-checkers/check-one-of.d.ts +3 -1
  405. package/dist/types/utils/property-checkers/check-pattern.d.ts +3 -1
  406. package/dist/types/utils/property-checkers/check-type.d.ts +3 -1
  407. package/dist/types/utils/property-checkers/check-url.d.ts +3 -1
  408. package/dist/types/utils/property-checkers/index.d.ts +12 -4
  409. package/dist/types/utils/sass-export.d.ts +5 -1
  410. package/loaders/breakpoints.js +56 -0
  411. package/loaders/check-non-empty.js +6 -2
  412. package/loaders/check-one-of.js +8 -3
  413. package/loaders/check-type.js +11 -6
  414. package/loaders/event-guard.js +45 -0
  415. package/loaders/fade.js +6 -2
  416. package/loaders/get-focusable-children.js +35 -0
  417. package/loaders/get-root.js +15 -0
  418. package/loaders/index.browser.js +14 -0
  419. package/loaders/index.d.ts +40 -2
  420. package/loaders/index.js +22 -2
  421. package/loaders/index2.js +25 -12
  422. package/loaders/long-press-event.js +264 -0
  423. package/loaders/package.js +1 -1
  424. package/loaders/post-accordion-item.js +1 -82
  425. package/loaders/post-accordion-item2.js +103 -0
  426. package/loaders/post-accordion.js +8 -9
  427. package/loaders/post-avatar.d.ts +11 -0
  428. package/loaders/post-avatar.js +173 -0
  429. package/loaders/post-back-to-top.d.ts +11 -0
  430. package/loaders/post-back-to-top.js +124 -0
  431. package/loaders/post-banner.d.ts +11 -0
  432. package/loaders/post-banner.js +130 -0
  433. package/loaders/post-breadcrumb-item.d.ts +11 -0
  434. package/loaders/post-breadcrumb-item.js +6 -0
  435. package/loaders/post-breadcrumb-item2.js +82 -0
  436. package/loaders/post-breadcrumbs.d.ts +11 -0
  437. package/loaders/post-breadcrumbs.js +180 -0
  438. package/loaders/post-card-control.js +16 -19
  439. package/loaders/post-closebutton.d.ts +11 -0
  440. package/loaders/post-closebutton.js +42 -0
  441. package/loaders/post-collapsible-trigger2.js +47 -64
  442. package/loaders/post-collapsible2.js +16 -11
  443. package/loaders/post-footer.d.ts +11 -0
  444. package/loaders/post-footer.js +81 -0
  445. package/loaders/post-header.d.ts +11 -0
  446. package/loaders/post-header.js +402 -0
  447. package/loaders/post-icon2.js +59 -55
  448. package/loaders/post-language-option.d.ts +11 -0
  449. package/loaders/post-language-option.js +106 -0
  450. package/loaders/post-language-switch.d.ts +11 -0
  451. package/loaders/post-language-switch.js +148 -0
  452. package/loaders/post-linkarea.d.ts +11 -0
  453. package/loaders/post-linkarea.js +46 -0
  454. package/loaders/post-list-item.d.ts +11 -0
  455. package/loaders/post-list-item.js +39 -0
  456. package/loaders/{post-alert.d.ts → post-list.d.ts} +4 -4
  457. package/loaders/post-list.js +57 -0
  458. package/loaders/post-logo.js +5 -4
  459. package/loaders/post-mainnavigation.d.ts +11 -0
  460. package/loaders/post-mainnavigation.js +186 -0
  461. package/loaders/post-megadropdown-trigger.d.ts +11 -0
  462. package/loaders/post-megadropdown-trigger.js +124 -0
  463. package/loaders/post-megadropdown.d.ts +11 -0
  464. package/loaders/post-megadropdown.js +193 -0
  465. package/loaders/post-menu-item.d.ts +11 -0
  466. package/loaders/post-menu-item.js +6 -0
  467. package/loaders/post-menu-item2.js +27 -0
  468. package/loaders/post-menu-trigger.d.ts +11 -0
  469. package/loaders/post-menu-trigger.js +6 -0
  470. package/loaders/post-menu-trigger2.js +109 -0
  471. package/loaders/post-menu.d.ts +11 -0
  472. package/loaders/post-menu.js +6 -0
  473. package/loaders/post-menu2.js +192 -0
  474. package/loaders/post-popover.js +20 -16
  475. package/loaders/post-popovercontainer2.js +788 -73
  476. package/loaders/post-rating.js +2 -2
  477. package/loaders/post-tab-header.js +8 -6
  478. package/loaders/post-tab-panel.js +4 -3
  479. package/loaders/post-tabs.js +11 -13
  480. package/loaders/post-tag.js +2 -2
  481. package/loaders/post-togglebutton.d.ts +11 -0
  482. package/loaders/post-togglebutton.js +65 -0
  483. package/loaders/post-tooltip-trigger.js +14 -277
  484. package/loaders/post-tooltip.js +7 -3
  485. package/loaders/slide.js +25 -0
  486. package/package.json +45 -33
  487. package/dist/cjs/check-non-empty-eeaa8f77.js +0 -11
  488. package/dist/cjs/check-one-of-f4f5d0c0.js +0 -8
  489. package/dist/cjs/check-type-64af82a9.js +0 -16
  490. package/dist/cjs/fade-35a3633a.js +0 -10
  491. package/dist/cjs/index-824d2b71.js +0 -39
  492. package/dist/cjs/post-accordion-item-744c881d.js +0 -52
  493. package/dist/cjs/post-alert-2a768f58.js +0 -99
  494. package/dist/cjs/post-alert.cjs.entry.js +0 -17
  495. package/dist/cjs/post-card-control-197c8e44.js +0 -272
  496. package/dist/cjs/post-icon-df629079.js +0 -139
  497. package/dist/cjs/post-icon.cjs.entry.js +0 -16
  498. package/dist/cjs/post-logo-7caeb918.js +0 -39
  499. package/dist/cjs/post-logo.cjs.entry.js +0 -15
  500. package/dist/cjs/post-popover-090c3d01.js +0 -131
  501. package/dist/cjs/post-popovercontainer-872681bf.js +0 -2281
  502. package/dist/cjs/post-popovercontainer.cjs.entry.js +0 -11
  503. package/dist/cjs/post-tab-header-422d0f03.js +0 -32
  504. package/dist/cjs/post-tag-c72183f2.js +0 -47
  505. package/dist/collection/components/post-alert/alert-types.js +0 -1
  506. package/dist/collection/components/post-alert/post-alert.css +0 -35
  507. package/dist/components/post-alert.js +0 -6
  508. package/dist/components/post-alert2.js +0 -136
  509. package/dist/esm/check-non-empty-58bd6b17.js +0 -9
  510. package/dist/esm/check-one-of-6b3ef8eb.js +0 -6
  511. package/dist/esm/check-type-8828dbe4.js +0 -14
  512. package/dist/esm/fade-7fd71785.js +0 -7
  513. package/dist/esm/index-69587a51.js +0 -34
  514. package/dist/esm/package-45827c3b.js +0 -3
  515. package/dist/esm/post-accordion-item-8869c90b.js +0 -50
  516. package/dist/esm/post-alert-21fd0068.js +0 -97
  517. package/dist/esm/post-alert.entry.js +0 -9
  518. package/dist/esm/post-card-control-60c132dc.js +0 -270
  519. package/dist/esm/post-icon-2e2e18ad.js +0 -137
  520. package/dist/esm/post-icon.entry.js +0 -8
  521. package/dist/esm/post-logo-f364eb72.js +0 -37
  522. package/dist/esm/post-logo.entry.js +0 -7
  523. package/dist/esm/post-popover-697201cd.js +0 -129
  524. package/dist/esm/post-popovercontainer-2b5f37fb.js +0 -2279
  525. package/dist/esm/post-popovercontainer.entry.js +0 -3
  526. package/dist/esm/post-tab-header-c8898fa2.js +0 -30
  527. package/dist/esm/post-tag-83470f28.js +0 -45
  528. package/dist/post-components/p-08dc45bb.entry.js +0 -1
  529. package/dist/post-components/p-1a48d1b0.js +0 -1
  530. package/dist/post-components/p-2737eaf5.js +0 -1
  531. package/dist/post-components/p-2b61a526.entry.js +0 -1
  532. package/dist/post-components/p-3f5bf5d9.entry.js +0 -1
  533. package/dist/post-components/p-40e5bb56.entry.js +0 -1
  534. package/dist/post-components/p-4a3f67ab.js +0 -1
  535. package/dist/post-components/p-56ca6bb5.js +0 -1
  536. package/dist/post-components/p-58cbb854.entry.js +0 -1
  537. package/dist/post-components/p-5c557e64.js +0 -1
  538. package/dist/post-components/p-5ce2abc9.entry.js +0 -1
  539. package/dist/post-components/p-5f08d625.js +0 -15
  540. package/dist/post-components/p-611b3c41.js +0 -1
  541. package/dist/post-components/p-7069ac74.entry.js +0 -1
  542. package/dist/post-components/p-755b2746.js +0 -1
  543. package/dist/post-components/p-788e64fb.js +0 -1
  544. package/dist/post-components/p-799cf60e.js +0 -1
  545. package/dist/post-components/p-7bbcc8ee.js +0 -1
  546. package/dist/post-components/p-7cdf9571.entry.js +0 -1
  547. package/dist/post-components/p-7e4181ce.entry.js +0 -1
  548. package/dist/post-components/p-9409f729.js +0 -1
  549. package/dist/post-components/p-a07846ea.js +0 -1
  550. package/dist/post-components/p-a4560368.js +0 -1
  551. package/dist/post-components/p-a503cb2c.entry.js +0 -1
  552. package/dist/post-components/p-b095519d.js +0 -1
  553. package/dist/post-components/p-b46e2451.js +0 -1
  554. package/dist/post-components/p-b7207224.js +0 -1
  555. package/dist/post-components/p-bafc0491.js +0 -1
  556. package/dist/post-components/p-c078fd94.entry.js +0 -1
  557. package/dist/post-components/p-c0aebe5e.entry.js +0 -1
  558. package/dist/post-components/p-c7e4acde.js +0 -1
  559. package/dist/post-components/p-ca71a3ff.entry.js +0 -1
  560. package/dist/post-components/p-d582cc10.js +0 -1
  561. package/dist/post-components/p-e49f57c0.entry.js +0 -1
  562. package/dist/post-components/p-eb712f9b.entry.js +0 -1
  563. package/dist/post-components/p-eebd060d.js +0 -1
  564. package/dist/post-components/p-f7cead60.entry.js +0 -1
  565. package/dist/post-components/p-ffd75503.js +0 -1
  566. package/dist/types/components/post-alert/alert-types.d.ts +0 -2
  567. package/dist/types/components/post-alert/post-alert.d.ts +0 -54
  568. package/loaders/post-alert.js +0 -139
@@ -1,18 +1,37 @@
1
1
  export { getAssetPath, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
2
2
  export { P as PostAccordion } from './post-accordion2.js';
3
3
  export { P as PostAccordionItem } from './post-accordion-item2.js';
4
- export { P as PostAlert } from './post-alert2.js';
4
+ export { P as PostAvatar } from './post-avatar2.js';
5
+ export { P as PostBackToTop } from './post-back-to-top2.js';
6
+ export { P as PostBanner } from './post-banner2.js';
7
+ export { P as PostBreadcrumbs } from './post-breadcrumbs2.js';
8
+ export { P as PostBreadcrumbItem } from './post-breadcrumb-item2.js';
5
9
  export { P as PostCardControl } from './post-card-control2.js';
10
+ export { P as PostClosebutton } from './post-closebutton2.js';
6
11
  export { P as PostCollapsible } from './post-collapsible2.js';
7
12
  export { P as PostCollapsibleTrigger } from './post-collapsible-trigger2.js';
13
+ export { P as PostFooter } from './post-footer2.js';
14
+ export { P as PostHeader } from './post-header2.js';
8
15
  export { P as PostIcon } from './post-icon2.js';
16
+ export { P as PostLanguageOption } from './post-language-option2.js';
17
+ export { P as PostLanguageSwitch } from './post-language-switch2.js';
18
+ export { P as PostLinkarea } from './post-linkarea2.js';
19
+ export { P as PostList } from './post-list2.js';
20
+ export { P as PostListItem } from './post-list-item2.js';
9
21
  export { P as PostLogo } from './post-logo2.js';
22
+ export { P as PostMainnavigation } from './post-mainnavigation2.js';
23
+ export { P as PostMegadropdown } from './post-megadropdown2.js';
24
+ export { P as PostMegadropdownTrigger } from './post-megadropdown-trigger2.js';
25
+ export { P as PostMenu } from './post-menu2.js';
26
+ export { P as PostMenuItem } from './post-menu-item2.js';
27
+ export { P as PostMenuTrigger } from './post-menu-trigger2.js';
10
28
  export { P as PostPopover } from './post-popover2.js';
11
29
  export { P as PostPopovercontainer } from './post-popovercontainer2.js';
12
30
  export { P as PostRating } from './post-rating2.js';
13
31
  export { P as PostTabs } from './post-tabs2.js';
14
32
  export { P as PostTabHeader } from './post-tab-header2.js';
15
33
  export { P as PostTabPanel } from './post-tab-panel2.js';
34
+ export { P as PostTag } from './post-tag2.js';
35
+ export { P as PostTogglebutton } from './post-togglebutton2.js';
16
36
  export { P as PostTooltip } from './post-tooltip2.js';
17
37
  export { P as PostTooltipTrigger } from './post-tooltip-trigger2.js';
18
- export { P as PostTag } from './post-tag2.js';
@@ -4,25 +4,38 @@ import { c as checkType } from './check-type.js';
4
4
 
5
5
  function emptyOr(check) {
6
6
  return (...args) => {
7
- const value = args[0];
8
- if (!EMPTY_VALUES.some(v => v === value))
7
+ const component = args[0];
8
+ const prop = args[1];
9
+ const value = component[prop];
10
+ if (!EMPTY_VALUES.some(v => v === value)) {
9
11
  check(...args);
12
+ }
10
13
  };
11
14
  }
12
15
 
13
- function checkPattern(value, pattern, errorMessage) {
14
- if (typeof value !== 'string' || !pattern.test(value))
15
- throw new Error(errorMessage);
16
+ function checkPattern(component, prop, pattern, customMessage) {
17
+ const componentName = component.host.localName;
18
+ const value = component[prop];
19
+ const defaultMessage = `The prop \`${String(prop)}\` of the \`${componentName}\` component must be follow the format \`${pattern}\`.`;
20
+ const message = customMessage || defaultMessage;
21
+ if (typeof value !== 'string' || !pattern.test(value)) {
22
+ throw new Error(message);
23
+ }
16
24
  }
17
25
 
18
- function checkUrl(value, error) {
19
- if (typeof value !== 'string' && !(value instanceof URL))
20
- throw new Error(error);
26
+ function checkUrl(component, prop, customMessage) {
27
+ const componentName = component.host.localName;
28
+ const value = component[prop];
29
+ const defaultMessage = `The prop \`${String(prop)}\` of the \`${componentName}\` component is invalid.`;
30
+ const message = customMessage || defaultMessage;
31
+ if (typeof value !== 'string' && !(value instanceof URL)) {
32
+ throw new Error(message);
33
+ }
21
34
  try {
22
- new URL(value);
35
+ new URL(value, 'https://www.post.ch');
23
36
  }
24
- catch (e) {
25
- throw new Error(error);
37
+ catch {
38
+ throw new Error(message);
26
39
  }
27
40
  }
28
41
 
@@ -31,4 +44,4 @@ const checkEmptyOrPattern = emptyOr(checkPattern);
31
44
  const checkEmptyOrType = emptyOr(checkType);
32
45
  const checkEmptyOrUrl = emptyOr(checkUrl);
33
46
 
34
- export { checkEmptyOrPattern as a, checkEmptyOrType as b, checkEmptyOrOneOf as c, checkEmptyOrUrl as d };
47
+ export { checkEmptyOrPattern as a, checkUrl as b, checkEmptyOrOneOf as c, checkEmptyOrUrl as d, checkEmptyOrType as e };
@@ -0,0 +1,264 @@
1
+ /*!
2
+ * long-press-event - v@version@
3
+ * Pure JavaScript long-press-event
4
+ * https://github.com/john-doherty/long-press-event
5
+ * @author John Doherty <www.johndoherty.info>
6
+ * @license MIT
7
+ */
8
+ (function (window, document) {
9
+
10
+ // local timer object based on rAF
11
+ var timer = null;
12
+
13
+ // check if we're using a touch screen
14
+ var hasPointerEvents = (('PointerEvent' in window) || (window.navigator && 'msPointerEnabled' in window.navigator));
15
+ var isTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0));
16
+
17
+ // switch to pointer events or touch events if using a touch screen
18
+ var mouseDown = hasPointerEvents ? 'pointerdown' : isTouch ? 'touchstart' : 'mousedown';
19
+ var mouseUp = hasPointerEvents ? 'pointerup' : isTouch ? 'touchend' : 'mouseup';
20
+ var mouseMove = hasPointerEvents ? 'pointermove' : isTouch ? 'touchmove' : 'mousemove';
21
+ var mouseLeave = hasPointerEvents ? 'pointerleave' : isTouch ? 'touchleave' : 'mouseleave';
22
+
23
+ // track number of pixels the mouse moves during long press
24
+ var startX = 0; // mouse x position when timer started
25
+ var startY = 0; // mouse y position when timer started
26
+ var maxDiffX = 10; // max number of X pixels the mouse can move during long press before it is canceled
27
+ var maxDiffY = 10; // max number of Y pixels the mouse can move during long press before it is canceled
28
+
29
+ // patch CustomEvent to allow constructor creation (IE/Chrome)
30
+ if (typeof window.CustomEvent !== 'function') {
31
+
32
+ window.CustomEvent = function (event, params) {
33
+
34
+ params = params || { bubbles: false, cancelable: false, detail: undefined };
35
+
36
+ var evt = document.createEvent('CustomEvent');
37
+ evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
38
+ return evt;
39
+ };
40
+
41
+ window.CustomEvent.prototype = window.Event.prototype;
42
+ }
43
+
44
+ // requestAnimationFrame() shim by Paul Irish
45
+ window.requestAnimFrame = (function () {
46
+ return window.requestAnimationFrame ||
47
+ window.webkitRequestAnimationFrame ||
48
+ window.mozRequestAnimationFrame ||
49
+ window.oRequestAnimationFrame ||
50
+ window.msRequestAnimationFrame || function (callback) {
51
+ window.setTimeout(callback, 1000 / 60);
52
+ };
53
+ })();
54
+
55
+ /**
56
+ * Behaves the same as setTimeout except uses requestAnimationFrame() where possible for better performance
57
+ * @param {function} fn The callback function
58
+ * @param {int} delay The delay in milliseconds
59
+ * @returns {object} handle to the timeout object
60
+ */
61
+ function requestTimeout(fn, delay) {
62
+
63
+ if (!window.requestAnimationFrame && !window.webkitRequestAnimationFrame &&
64
+ !(window.mozRequestAnimationFrame && window.mozCancelRequestAnimationFrame) && // Firefox 5 ships without cancel support
65
+ !window.oRequestAnimationFrame && !window.msRequestAnimationFrame) return window.setTimeout(fn, delay);
66
+
67
+ var start = new Date().getTime();
68
+ var handle = {};
69
+
70
+ var loop = function () {
71
+ var current = new Date().getTime();
72
+ var delta = current - start;
73
+
74
+ if (delta >= delay) {
75
+ fn.call();
76
+ }
77
+ else {
78
+ handle.value = requestAnimFrame(loop);
79
+ }
80
+ };
81
+
82
+ handle.value = requestAnimFrame(loop);
83
+
84
+ return handle;
85
+ }
86
+
87
+ /**
88
+ * Behaves the same as clearTimeout except uses cancelRequestAnimationFrame() where possible for better performance
89
+ * @param {object} handle The callback function
90
+ * @returns {void}
91
+ */
92
+ function clearRequestTimeout(handle) {
93
+ if (handle) {
94
+ window.cancelAnimationFrame ? window.cancelAnimationFrame(handle.value) :
95
+ window.webkitCancelAnimationFrame ? window.webkitCancelAnimationFrame(handle.value) :
96
+ window.webkitCancelRequestAnimationFrame ? window.webkitCancelRequestAnimationFrame(handle.value) : /* Support for legacy API */
97
+ window.mozCancelRequestAnimationFrame ? window.mozCancelRequestAnimationFrame(handle.value) :
98
+ window.oCancelRequestAnimationFrame ? window.oCancelRequestAnimationFrame(handle.value) :
99
+ window.msCancelRequestAnimationFrame ? window.msCancelRequestAnimationFrame(handle.value) :
100
+ clearTimeout(handle);
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Fires the 'long-press' event on element
106
+ * @param {MouseEvent|PointerEvent|TouchEvent} originalEvent The original event being fired
107
+ * @returns {void}
108
+ */
109
+ function fireLongPressEvent(originalEvent) {
110
+
111
+ clearLongPressTimer();
112
+
113
+ originalEvent = unifyEvent(originalEvent);
114
+
115
+ // fire the long-press event
116
+ var allowClickEvent = this.dispatchEvent(new CustomEvent('long-press', {
117
+ bubbles: true,
118
+ cancelable: true,
119
+
120
+ // custom event data (legacy)
121
+ detail: {
122
+ clientX: originalEvent.clientX,
123
+ clientY: originalEvent.clientY,
124
+ offsetX: originalEvent.offsetX,
125
+ offsetY: originalEvent.offsetY,
126
+ pageX: originalEvent.pageX,
127
+ pageY: originalEvent.pageY
128
+ },
129
+
130
+ // add coordinate data that would typically acompany a touch/click event
131
+ clientX: originalEvent.clientX,
132
+ clientY: originalEvent.clientY,
133
+ offsetX: originalEvent.offsetX,
134
+ offsetY: originalEvent.offsetY,
135
+ pageX: originalEvent.pageX,
136
+ pageY: originalEvent.pageY,
137
+ screenX: originalEvent.screenX,
138
+ screenY: originalEvent.screenY
139
+ }));
140
+
141
+ if (!allowClickEvent) {
142
+ // suppress the next click event if e.preventDefault() was called in long-press handler
143
+ document.addEventListener('click', function suppressEvent(e) {
144
+ document.removeEventListener('click', suppressEvent, true);
145
+ cancelEvent(e);
146
+ }, true);
147
+ }
148
+ }
149
+
150
+ /**
151
+ * consolidates mouse, touch, and Pointer events
152
+ * @param {MouseEvent|PointerEvent|TouchEvent} e The original event being fired
153
+ * @returns {MouseEvent|PointerEvent|Touch}
154
+ */
155
+ function unifyEvent(e) {
156
+ if (e.changedTouches !== undefined) {
157
+ return e.changedTouches[0];
158
+ }
159
+ return e;
160
+ }
161
+
162
+ /**
163
+ * method responsible for starting the long press timer
164
+ * @param {event} e - event object
165
+ * @returns {void}
166
+ */
167
+ function startLongPressTimer(e) {
168
+
169
+ clearLongPressTimer();
170
+
171
+ var el = e.target;
172
+
173
+ // get delay from html attribute if it exists, otherwise default to 1500
174
+ var longPressDelayInMs = parseInt(getNearestAttribute(el, 'data-long-press-delay', '1500'), 10); // default 1500
175
+
176
+ // start the timer
177
+ timer = requestTimeout(fireLongPressEvent.bind(el, e), longPressDelayInMs);
178
+ }
179
+
180
+ /**
181
+ * method responsible for clearing a pending long press timer
182
+ * @param {event} e - event object
183
+ * @returns {void}
184
+ */
185
+ function clearLongPressTimer(e) {
186
+ clearRequestTimeout(timer);
187
+ timer = null;
188
+ }
189
+
190
+ /**
191
+ * Cancels the current event
192
+ * @param {object} e - browser event object
193
+ * @returns {void}
194
+ */
195
+ function cancelEvent(e) {
196
+ e.stopImmediatePropagation();
197
+ e.preventDefault();
198
+ e.stopPropagation();
199
+ }
200
+
201
+ /**
202
+ * Starts the timer on mouse down and logs current position
203
+ * @param {object} e - browser event object
204
+ * @returns {void}
205
+ */
206
+ function mouseDownHandler(e) {
207
+ startX = e.clientX;
208
+ startY = e.clientY;
209
+ startLongPressTimer(e);
210
+ }
211
+
212
+ /**
213
+ * If the mouse moves n pixels during long-press, cancel the timer
214
+ * @param {object} e - browser event object
215
+ * @returns {void}
216
+ */
217
+ function mouseMoveHandler(e) {
218
+
219
+ // calculate total number of pixels the pointer has moved
220
+ var diffX = Math.abs(startX - e.clientX);
221
+ var diffY = Math.abs(startY - e.clientY);
222
+
223
+ // if pointer has moved more than allowed, cancel the long-press timer and therefore the event
224
+ if (diffX >= maxDiffX || diffY >= maxDiffY) {
225
+ clearLongPressTimer();
226
+ }
227
+ }
228
+
229
+ /**
230
+ * Gets attribute off HTML element or nearest parent
231
+ * @param {object} el - HTML element to retrieve attribute from
232
+ * @param {string} attributeName - name of the attribute
233
+ * @param {any} defaultValue - default value to return if no match found
234
+ * @returns {any} attribute value or defaultValue
235
+ */
236
+ function getNearestAttribute(el, attributeName, defaultValue) {
237
+
238
+ // walk up the dom tree looking for data-action and data-trigger
239
+ while (el && el !== document.documentElement) {
240
+
241
+ var attributeValue = el.getAttribute(attributeName);
242
+
243
+ if (attributeValue) {
244
+ return attributeValue;
245
+ }
246
+
247
+ el = el.parentNode;
248
+ }
249
+
250
+ return defaultValue;
251
+ }
252
+
253
+ // hook events that clear a pending long press event
254
+ document.addEventListener(mouseUp, clearLongPressTimer, true);
255
+ document.addEventListener(mouseLeave, clearLongPressTimer, true);
256
+ document.addEventListener(mouseMove, mouseMoveHandler, true);
257
+ document.addEventListener('wheel', clearLongPressTimer, true);
258
+ document.addEventListener('scroll', clearLongPressTimer, true);
259
+ document.addEventListener('contextmenu', clearLongPressTimer, true);
260
+
261
+ // hook events that can trigger a long press event
262
+ document.addEventListener(mouseDown, mouseDownHandler, true); // <- start
263
+
264
+ }(window, document));
@@ -1,3 +1,3 @@
1
- const version = "9.0.1";
1
+ const version = "10.0.0-next.38";
2
2
 
3
3
  export { version as v };
@@ -2,10 +2,14 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { v as version } from './package.js';
3
3
  import { H as HEADING_LEVELS } from './heading-levels.js';
4
4
  import { c as checkEmptyOrOneOf } from './index2.js';
5
- import { d as defineCustomElement$2 } from './post-collapsible2.js';
6
- import { d as defineCustomElement$1 } from './post-collapsible-trigger2.js';
5
+ import './breakpoints.js';
6
+ import { e as eventGuard } from './event-guard.js';
7
+ import { n as nanoid } from './index.browser.js';
8
+ import { d as defineCustomElement$3 } from './post-collapsible2.js';
9
+ import { d as defineCustomElement$2 } from './post-collapsible-trigger2.js';
10
+ import { d as defineCustomElement$1 } from './post-icon2.js';
7
11
 
8
- const postAccordionItemCss = "post-accordion-item::part(accordion-item),.bg-yellow post-accordion-item::part(accordion-item),.bg-white post-accordion-item::part(accordion-item),.bg-light post-accordion-item::part(accordion-item),.bg-gray post-accordion-item::part(accordion-item),.bg-dark post-accordion-item::part(accordion-item),.bg-black post-accordion-item::part(accordion-item),.bg-primary post-accordion-item::part(accordion-item),.bg-secondary post-accordion-item::part(accordion-item),.bg-success post-accordion-item::part(accordion-item),.bg-warning post-accordion-item::part(accordion-item),.bg-error post-accordion-item::part(accordion-item),.bg-info post-accordion-item::part(accordion-item),.bg-success-background post-accordion-item::part(accordion-item),.bg-warning-background post-accordion-item::part(accordion-item),.bg-error-background post-accordion-item::part(accordion-item),.bg-nightblue post-accordion-item::part(accordion-item),.bg-nightblue-bright post-accordion-item::part(accordion-item),.bg-petrol post-accordion-item::part(accordion-item),.bg-petrol-bright post-accordion-item::part(accordion-item),.bg-coral post-accordion-item::part(accordion-item),.bg-coral-bright post-accordion-item::part(accordion-item),.bg-olive post-accordion-item::part(accordion-item),.bg-olive-bright post-accordion-item::part(accordion-item),.bg-purple post-accordion-item::part(accordion-item),.bg-purple-bright post-accordion-item::part(accordion-item),.bg-aubergine post-accordion-item::part(accordion-item),.bg-aubergine-bright post-accordion-item::part(accordion-item),.accordion-item,.bg-yellow .accordion-item,.bg-white .accordion-item,.bg-light .accordion-item,.bg-gray .accordion-item,.bg-dark .accordion-item,.bg-black .accordion-item,.bg-primary .accordion-item,.bg-secondary .accordion-item,.bg-success .accordion-item,.bg-warning .accordion-item,.bg-error .accordion-item,.bg-info .accordion-item,.bg-success-background .accordion-item,.bg-warning-background .accordion-item,.bg-error-background .accordion-item,.bg-nightblue .accordion-item,.bg-nightblue-bright .accordion-item,.bg-petrol .accordion-item,.bg-petrol-bright .accordion-item,.bg-coral .accordion-item,.bg-coral-bright .accordion-item,.bg-olive .accordion-item,.bg-olive-bright .accordion-item,.bg-purple .accordion-item,.bg-purple-bright .accordion-item,.bg-aubergine .accordion-item,.bg-aubergine-bright .accordion-item{--post-bg-opacity:1;background-color:rgba(var(--post-bg-rgb), var(--post-bg-opacity)) !important;color:var(--post-contrast-color) !important}post-accordion-item::part(accordion-item),.bg-yellow post-accordion-item::part(accordion-item),.bg-white post-accordion-item::part(accordion-item),.bg-light post-accordion-item::part(accordion-item),.bg-gray post-accordion-item::part(accordion-item),.bg-dark post-accordion-item::part(accordion-item),.bg-black post-accordion-item::part(accordion-item),.bg-primary post-accordion-item::part(accordion-item),.bg-secondary post-accordion-item::part(accordion-item),.bg-success post-accordion-item::part(accordion-item),.bg-warning post-accordion-item::part(accordion-item),.bg-error post-accordion-item::part(accordion-item),.bg-info post-accordion-item::part(accordion-item),.bg-success-background post-accordion-item::part(accordion-item),.bg-warning-background post-accordion-item::part(accordion-item),.bg-error-background post-accordion-item::part(accordion-item),.bg-nightblue post-accordion-item::part(accordion-item),.bg-nightblue-bright post-accordion-item::part(accordion-item),.bg-petrol post-accordion-item::part(accordion-item),.bg-petrol-bright post-accordion-item::part(accordion-item),.bg-coral post-accordion-item::part(accordion-item),.bg-coral-bright post-accordion-item::part(accordion-item),.bg-olive post-accordion-item::part(accordion-item),.bg-olive-bright post-accordion-item::part(accordion-item),.bg-purple post-accordion-item::part(accordion-item),.bg-purple-bright post-accordion-item::part(accordion-item),.bg-aubergine post-accordion-item::part(accordion-item),.bg-aubergine-bright post-accordion-item::part(accordion-item),.accordion-item,.bg-yellow .accordion-item,.bg-white .accordion-item,.bg-light .accordion-item,.bg-gray .accordion-item,.bg-dark .accordion-item,.bg-black .accordion-item,.bg-primary .accordion-item,.bg-secondary .accordion-item,.bg-success .accordion-item,.bg-warning .accordion-item,.bg-error .accordion-item,.bg-info .accordion-item,.bg-success-background .accordion-item,.bg-warning-background .accordion-item,.bg-error-background .accordion-item,.bg-nightblue .accordion-item,.bg-nightblue-bright .accordion-item,.bg-petrol .accordion-item,.bg-petrol-bright .accordion-item,.bg-coral .accordion-item,.bg-coral-bright .accordion-item,.bg-olive .accordion-item,.bg-olive-bright .accordion-item,.bg-purple .accordion-item,.bg-purple-bright .accordion-item,.bg-aubergine .accordion-item,.bg-aubergine-bright .accordion-item{--post-contrast-color:#000;--post-focus-color:#1976c8;--post-contrast-color-inverted:#fff;--post-gray-10:hsl(0, 0%, 90%);--post-gray-20:hsl(0, 0%, 80%);--post-gray-40:hsl(0, 0%, 60%);--post-gray-60:hsl(0, 0%, 40%);--post-gray-80:hsl(0, 0%, 20%);--post-yellow:#fc0;--post-white:#fff;--post-light:#faf9f8;--post-gray:#f4f3f1;--post-dark:hsl(0, 0%, 20%);--post-black:#000;--post-primary:hsl(0, 0%, 20%);--post-secondary:hsl(0, 0%, 40%);--post-success:#2c871d;--post-warning:#f49e00;--post-error:#a51728;--post-info:#cce4ee;--post-success-background:#c0debb;--post-warning-background:#fce2b2;--post-error-background:#ffdade;--post-nightblue:#004976;--post-nightblue-bright:#0076a8;--post-petrol:#006d68;--post-petrol-bright:#00968f;--post-coral:#9e2a2f;--post-coral-bright:#e03c31;--post-olive:#716135;--post-olive-bright:#aa9d2e;--post-purple:#80276c;--post-purple-bright:#c5299b;--post-aubergine:#523178;--post-aubergine-bright:#7566a0;--post-contrast-color-rgb:0, 0, 0;--post-contrast-color-inverted-rgb:255, 255, 255;--post-gray-10-rgb:230, 230, 230;--post-gray-20-rgb:204, 204, 204;--post-gray-40-rgb:153, 153, 153;--post-gray-60-rgb:102, 102, 102;--post-gray-80-rgb:51, 51, 51;--post-black-alpha-10-rgba:rgba(0, 0, 0, 0.1);--post-black-alpha-20-rgba:rgba(0, 0, 0, 0.2);--post-black-alpha-40-rgba:rgba(0, 0, 0, 0.4);--post-black-alpha-60-rgba:rgba(0, 0, 0, 0.6);--post-black-alpha-80-rgba:rgba(0, 0, 0, 0.8);--post-white-alpha-10-rgba:rgba(255, 255, 255, 0.1);--post-white-alpha-20-rgba:rgba(255, 255, 255, 0.2);--post-white-alpha-40-rgba:rgba(255, 255, 255, 0.4);--post-white-alpha-60-rgba:rgba(255, 255, 255, 0.6);--post-white-alpha-80-rgba:rgba(255, 255, 255, 0.8);--post-yellow-rgb:255, 204, 0;--post-white-rgb:255, 255, 255;--post-light-rgb:250, 249, 248;--post-gray-rgb:244, 243, 241;--post-dark-rgb:51, 51, 51;--post-black-rgb:0, 0, 0;--post-primary-rgb:51, 51, 51;--post-secondary-rgb:102, 102, 102;--post-success-rgb:44, 135, 29;--post-warning-rgb:244, 158, 0;--post-error-rgb:165, 23, 40;--post-info-rgb:204, 228, 238;--post-success-background-rgb:192, 222, 187;--post-warning-background-rgb:252, 226, 178;--post-error-background-rgb:255, 218, 222;--post-nightblue-rgb:0, 73, 118;--post-nightblue-bright-rgb:0, 118, 168;--post-petrol-rgb:0, 109, 104;--post-petrol-bright-rgb:0, 150, 143;--post-coral-rgb:158, 42, 47;--post-coral-bright-rgb:224, 60, 49;--post-olive-rgb:113, 97, 53;--post-olive-bright-rgb:170, 157, 46;--post-purple-rgb:128, 39, 108;--post-purple-bright-rgb:197, 41, 155;--post-aubergine-rgb:82, 49, 120;--post-aubergine-bright-rgb:117, 102, 160}.accordion-item{--post-bg-rgb:244, 243, 241;border-block:2px solid #666}.bg-yellow .accordion-item{--post-bg-rgb:255, 255, 255}.bg-white .accordion-item{--post-bg-rgb:244, 243, 241}.bg-light .accordion-item{--post-bg-rgb:255, 255, 255}.bg-gray .accordion-item{--post-bg-rgb:255, 255, 255}.bg-dark .accordion-item{--post-bg-rgb:255, 255, 255}.bg-black .accordion-item{--post-bg-rgb:255, 255, 255}.bg-primary .accordion-item{--post-bg-rgb:255, 255, 255}.bg-secondary .accordion-item{--post-bg-rgb:255, 255, 255}.bg-success .accordion-item{--post-bg-rgb:255, 255, 255}.bg-warning .accordion-item{--post-bg-rgb:255, 255, 255}.bg-error .accordion-item{--post-bg-rgb:255, 255, 255}.bg-info .accordion-item{--post-bg-rgb:255, 255, 255}.bg-success-background .accordion-item{--post-bg-rgb:255, 255, 255}.bg-warning-background .accordion-item{--post-bg-rgb:255, 255, 255}.bg-error-background .accordion-item{--post-bg-rgb:255, 255, 255}.bg-nightblue .accordion-item{--post-bg-rgb:255, 255, 255}.bg-nightblue-bright .accordion-item{--post-bg-rgb:255, 255, 255}.bg-petrol .accordion-item{--post-bg-rgb:255, 255, 255}.bg-petrol-bright .accordion-item{--post-bg-rgb:255, 255, 255}.bg-coral .accordion-item{--post-bg-rgb:255, 255, 255}.bg-coral-bright .accordion-item{--post-bg-rgb:255, 255, 255}.bg-olive .accordion-item{--post-bg-rgb:255, 255, 255}.bg-olive-bright .accordion-item{--post-bg-rgb:255, 255, 255}.bg-purple .accordion-item{--post-bg-rgb:255, 255, 255}.bg-purple-bright .accordion-item{--post-bg-rgb:255, 255, 255}.bg-aubergine .accordion-item{--post-bg-rgb:255, 255, 255}.bg-aubergine-bright .accordion-item{--post-bg-rgb:255, 255, 255}.accordion-item+.accordion-item{border-block-start:0}.accordion-header{color:#333;font-size:1rem;font-weight:700;line-height:1.5;margin:0}.accordion-button{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;outline:none;width:100%;position:relative;padding-block:1rem;padding-inline-start:1rem;padding-inline-end:3rem;text-align:start;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms}.accordion-button:focus-visible{outline:2px solid #1976c8}.accordion-button:hover{color:#000;background-color:#e6e6e6}.accordion-button:disabled{opacity:.4;pointer-events:none}.accordion-button::after{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 18.3-.9.9-6.7-6.6-6.6 6.6-.9-.9 7.5-7.6z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 18.3-.9.9-6.7-6.6-6.6 6.6-.9-.9 7.5-7.6z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;content:\"\";display:block;height:1.5rem;width:1.5rem;position:absolute;inset-inline-end:1rem;inset-block-start:50%;transform:translateY(-50%);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}.accordion-button.collapsed::after{transform:translateY(-50%) rotate(-180deg)}.accordion-button>.text-truncate{display:block}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.accordion-button:hover:not(:disabled),.accordion-button:focus-visible:not(:disabled){outline:2px solid Highlight}.accordion-button:disabled{opacity:1 !important}}.accordion-body{padding:.5rem 1rem 1rem;font-weight:400}.accordion-button>*,.accordion-body>:first-child{margin-block-start:0 !important}.accordion-button>*,.accordion-body>:last-child{margin-block-end:0 !important}:host{display:block}.accordion-button{cursor:pointer}.accordion-button>::slotted(.text-truncate){display:block}post-accordion-item::part(accordion-item){--post-bg-rgb:244, 243, 241}.bg-yellow post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-white post-accordion-item::part(accordion-item){--post-bg-rgb:244, 243, 241}.bg-light post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-gray post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-dark post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-black post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-primary post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-secondary post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-success post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-warning post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-error post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-info post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-success-background post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-warning-background post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-error-background post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-nightblue post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-nightblue-bright post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-petrol post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-petrol-bright post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-coral post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-coral-bright post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-olive post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-olive-bright post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-purple post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-purple-bright post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-aubergine post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}.bg-aubergine-bright post-accordion-item::part(accordion-item){--post-bg-rgb:255, 255, 255}:host(:not(:first-of-type)) .accordion-item{border-block-start:0}";
12
+ 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}";
9
13
  const PostAccordionItemStyle0 = postAccordionItemCss;
10
14
 
11
15
  const PostAccordionItem = /*@__PURE__*/ proxyCustomElement(class PostAccordionItem extends HTMLElement {
@@ -14,24 +18,24 @@ const PostAccordionItem = /*@__PURE__*/ proxyCustomElement(class PostAccordionIt
14
18
  this.__registerHost();
15
19
  this.__attachShadow();
16
20
  this.id = undefined;
21
+ this.slottedLogo = undefined;
17
22
  this.collapsed = false;
18
- this.headingLevel = 2;
23
+ this.headingLevel = undefined;
19
24
  }
20
- validateHeadingLevel(newValue = this.headingLevel) {
21
- checkEmptyOrOneOf(newValue, HEADING_LEVELS, 'The `heading-level` property of the `post-accordion-item` must be a number between 1 and 6.');
25
+ validateHeadingLevel() {
26
+ checkEmptyOrOneOf(this, 'headingLevel', HEADING_LEVELS, 'The `heading-level` property of the `post-accordion-item` must be a number between 1 and 6.');
27
+ }
28
+ componentWillLoad() {
29
+ this.id = this.host.id || `p${nanoid(6)}`;
22
30
  }
23
31
  componentDidLoad() {
24
32
  this.validateHeadingLevel();
25
33
  }
26
- componentWillLoad() {
27
- this.id = this.host.id || `a${crypto.randomUUID()}`;
28
- }
29
- // capture to make sure the "collapsed" property is updated before the event is consumed
34
+ // Capture to make sure the "collapsed" property is updated before the event is consumed
30
35
  onCollapseToggle(event) {
31
- if (event.target === this.host &&
32
- event.target.localName === 'post-accordion-item') {
36
+ eventGuard(this.host, event, { targetLocalName: 'post-collapsible', delegatorSelector: 'post-accordion-item' }, () => {
33
37
  this.collapsed = !event.detail;
34
- }
38
+ });
35
39
  }
36
40
  /**
37
41
  * Triggers the collapse programmatically.
@@ -39,10 +43,19 @@ const PostAccordionItem = /*@__PURE__*/ proxyCustomElement(class PostAccordionIt
39
43
  async toggle(force) {
40
44
  return this.collapsible.toggle(force);
41
45
  }
46
+ onSlotLogoChange() {
47
+ this.slottedLogo = this.host.querySelector('img[slot="logo"]');
48
+ }
49
+ componentWillRender() {
50
+ this.slottedLogo = this.host.querySelector('img[slot="logo"]');
51
+ }
42
52
  render() {
43
- var _a;
44
- const HeadingTag = `h${(_a = this.headingLevel) !== null && _a !== void 0 ? _a : 2}`;
45
- return (h(Host, { key: '610dbc5f3a5da823806ce205d26eeab37fc6ea37', id: this.id, "data-version": version }, h("div", { key: '9678dacae2bd8a50644506db46852c006e35f10c', part: "accordion-item", class: "accordion-item" }, h("post-collapsible-trigger", { key: '3c2b300f3c2a4b992678e15a7bf39e46ec033637', for: `${this.id}--collapse` }, h(HeadingTag, { key: 'a9ce98a575f64d9be7f6017d213217801556803d', class: "accordion-header", id: `${this.id}--header` }, h("button", { key: '7149fa70d9a0d004ba16eb4ad17542eff6952575', type: "button", class: `accordion-button${this.collapsed ? ' collapsed' : ''}` }, h("slot", { key: '0a3f01852653f09fcb5a9c8d9a9cde276091ab6d', name: "header" })))), h("post-collapsible", { key: '99f28c099b124010e063b099153dd6ca96020a50', id: `${this.id}--collapse`, collapsed: this.collapsed, ref: el => (this.collapsible = el) }, h("div", { key: '65e6dd8a1975231686836e42d90778a822bc501a', class: "accordion-body" }, h("slot", { key: 'e9ebb2918d7bbe92e2ce82da477b1df4c3146ee2' }))))));
53
+ const headingLevel = this.host.closest('post-accordion')?.getAttribute('heading-level');
54
+ const HeadingTag = `h${headingLevel ?? this.headingLevel ?? 2}`;
55
+ return (h(Host, { key: '725d3710f7937f82c2382938d15770001e923b61', id: this.id, "data-version": version }, h("div", { key: '679d25d8278fbf9ae68546ee50c27a86ded95999', part: "accordion-item", class: "accordion-item" }, h("post-collapsible-trigger", { key: '7c2af8dc6a1f5265b4ae2cad066be7d2e0bf6a78', for: `${this.id}--collapse` }, h(HeadingTag, { key: 'a10e59a17fdb272fe6308d2ba98f37f90490fab8', class: "accordion-header", id: `${this.id}--header` }, h("button", { key: 'e2b527850c8342a8adf99453d0ac330b6a94760f', type: "button", class: `accordion-button${this.collapsed ? ' collapsed' : ''}`, part: "button" }, h("span", { key: 'b722a4bc51757546eefa58c7c3ea3a688838298a', class: {
56
+ 'logo-container': true,
57
+ 'has-image': !!this.slottedLogo,
58
+ } }, h("slot", { key: '1a42494db72a7b437b1d98fa2e8159d73ece22fa', name: "logo", onSlotchange: this.onSlotLogoChange.bind(this) })), h("slot", { key: '049865bb25f833780ef8e27fe8477e06476a2427', name: "header" }), h("post-icon", { key: 'da0cf7078e4f51710dbfd39c0afa90465fcb53c6', name: "2051" })))), h("post-collapsible", { key: '7c3b268e34d3e4f52820b11a6c090aefbc16e3b9', id: `${this.id}--collapse`, collapsed: this.collapsed, ref: el => (this.collapsible = el) }, h("div", { key: '993a7fffbccb557aed2842305f3927e5c3b5047a', class: "accordion-body", part: "body" }, h("slot", { key: '580eb87b1cb4f88acd7dddddecaa1c1982b7f6e3' }))))));
46
59
  }
47
60
  get host() { return this; }
48
61
  static get watchers() { return {
@@ -53,6 +66,7 @@ const PostAccordionItem = /*@__PURE__*/ proxyCustomElement(class PostAccordionIt
53
66
  "collapsed": [1028],
54
67
  "headingLevel": [2, "heading-level"],
55
68
  "id": [32],
69
+ "slottedLogo": [32],
56
70
  "toggle": [64]
57
71
  }, [[2, "postToggle", "onCollapseToggle"]], {
58
72
  "headingLevel": ["validateHeadingLevel"]
@@ -61,7 +75,7 @@ function defineCustomElement() {
61
75
  if (typeof customElements === "undefined") {
62
76
  return;
63
77
  }
64
- const components = ["post-accordion-item", "post-collapsible", "post-collapsible-trigger"];
78
+ const components = ["post-accordion-item", "post-collapsible", "post-collapsible-trigger", "post-icon"];
65
79
  components.forEach(tagName => { switch (tagName) {
66
80
  case "post-accordion-item":
67
81
  if (!customElements.get(tagName)) {
@@ -70,10 +84,15 @@ function defineCustomElement() {
70
84
  break;
71
85
  case "post-collapsible":
72
86
  if (!customElements.get(tagName)) {
73
- defineCustomElement$2();
87
+ defineCustomElement$3();
74
88
  }
75
89
  break;
76
90
  case "post-collapsible-trigger":
91
+ if (!customElements.get(tagName)) {
92
+ defineCustomElement$2();
93
+ }
94
+ break;
95
+ case "post-icon":
77
96
  if (!customElements.get(tagName)) {
78
97
  defineCustomElement$1();
79
98
  }
@@ -2,8 +2,10 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { v as version } from './package.js';
3
3
  import { H as HEADING_LEVELS } from './heading-levels.js';
4
4
  import { c as checkOneOf } from './check-one-of.js';
5
+ import './breakpoints.js';
6
+ import { e as eventGuard } from './event-guard.js';
5
7
 
6
- const postAccordionCss = ":host{display:block}";
8
+ const postAccordionCss = ":host{display:block}::slotted(post-accordion-item){display:block}::slotted(post-accordion-item:not(:only-of-type:first-of-type)){margin-block-start:calc(var(--post-device-border-width-default)*-1)}::slotted(post-accordion-item:not(:only-of-type):first-of-type){--post-accordion-button-border-top:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke)}";
7
9
  const PostAccordionStyle0 = postAccordionCss;
8
10
 
9
11
  const PostAccordion = /*@__PURE__*/ proxyCustomElement(class PostAccordion extends HTMLElement {
@@ -18,7 +20,7 @@ const PostAccordion = /*@__PURE__*/ proxyCustomElement(class PostAccordion exten
18
20
  validateHeadingLevel(newValue = this.headingLevel) {
19
21
  if (!newValue)
20
22
  return;
21
- checkOneOf(newValue, HEADING_LEVELS, 'The `heading-level` property of the `post-accordion` must be a number between 1 and 6.');
23
+ checkOneOf(this, 'headingLevel', 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 = /*@__PURE__*/ proxyCustomElement(class PostAccordion exten
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(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 = /*@__PURE__*/ proxyCustomElement(class PostAccordion exten
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 = /*@__PURE__*/ proxyCustomElement(class PostAccordion exten
94
93
  });
95
94
  }
96
95
  render() {
97
- return (h(Host, { key: 'cfc6280e052937f50bc481fe73cf25ede6e40314', "data-version": version }, h("div", { key: '090539a2ebe9d216609a7e56597c5f379d439fb8', class: "accordion" }, h("slot", { key: '4ae4095b14b6b9233f1d66c8543d625a77a77e09', onSlotchange: () => this.registerAccordionItems() }))));
96
+ return (h(Host, { key: '80e15cf7835f213cfee1ca7cf83cc2fd24bba3ff', "data-version": version }, h("div", { key: '1cf03d4960115b52394b5cb07cd2286747c728dd', class: "accordion" }, h("slot", { key: 'b94328a45a3cba6a8d3b418061036eb8af2cf027', onSlotchange: () => this.registerAccordionItems() }))));
98
97
  }
99
98
  get host() { return this; }
100
99
  static get watchers() { return {
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface PostAvatar extends Components.PostAvatar, HTMLElement {}
4
+ export const PostAvatar: {
5
+ prototype: PostAvatar;
6
+ new (): PostAvatar;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { P as PostAvatar$1, d as defineCustomElement$1 } from './post-avatar2.js';
2
+
3
+ const PostAvatar = PostAvatar$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { PostAvatar, defineCustomElement };