@swisspost/design-system-components 10.0.0-next.39 → 10.0.0-next.41

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 (454) hide show
  1. package/dist/cjs/breakpoints-DIH5Oaz7.js +186 -0
  2. package/dist/cjs/event-from-AKK8RQrn.js +107 -0
  3. package/dist/cjs/{get-root-8102fecd.js → get-root-DmyBVSJ_.js} +1 -1
  4. package/dist/cjs/{index-b60129c4.js → index-CRMt-jq2.js} +1172 -313
  5. package/dist/cjs/index.cjs.js +0 -72
  6. package/dist/cjs/loader.cjs.js +3 -6
  7. package/dist/cjs/{package-29dc73af.js → package-C2pR6Vs2.js} +1 -1
  8. package/dist/cjs/post-accordion_2.cjs.entry.js +183 -0
  9. package/dist/cjs/post-avatar.cjs.entry.js +151 -8
  10. package/dist/cjs/post-back-to-top.cjs.entry.js +86 -9
  11. package/dist/cjs/post-banner.cjs.entry.js +81 -9
  12. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +62 -8
  13. package/dist/cjs/post-breadcrumbs.cjs.entry.js +119 -7
  14. package/dist/cjs/post-card-control.cjs.entry.js +283 -8
  15. package/dist/cjs/post-closebutton_15.cjs.entry.js +4376 -30
  16. package/dist/cjs/post-collapsible_2.cjs.entry.js +196 -10
  17. package/dist/cjs/post-components.cjs.js +7 -8
  18. package/dist/cjs/post-footer.cjs.entry.js +59 -8
  19. package/dist/cjs/post-linkarea.cjs.entry.js +24 -6
  20. package/dist/cjs/post-popover.cjs.entry.js +151 -8
  21. package/dist/cjs/post-rating.cjs.entry.js +115 -8
  22. package/dist/cjs/post-tab-header.cjs.entry.js +26 -9
  23. package/dist/cjs/post-tab-panel.cjs.entry.js +28 -9
  24. package/dist/cjs/post-tabs.cjs.entry.js +165 -7
  25. package/dist/cjs/post-tag.cjs.entry.js +50 -8
  26. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +5195 -7
  27. package/dist/cjs/post-tooltip.cjs.entry.js +78 -9
  28. package/dist/collection/collection-manifest.json +4 -4
  29. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  30. package/dist/collection/components/post-accordion/post-accordion.js +39 -23
  31. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  32. package/dist/collection/components/post-accordion-item/post-accordion-item.js +26 -12
  33. package/dist/collection/components/post-avatar/post-avatar.js +12 -9
  34. package/dist/collection/components/post-back-to-top/post-back-to-top.js +4 -3
  35. package/dist/collection/components/post-banner/post-banner.js +18 -9
  36. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +4 -6
  37. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
  38. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +13 -9
  39. package/dist/collection/components/post-card-control/post-card-control.js +33 -16
  40. package/dist/collection/components/post-collapsible/post-collapsible.js +6 -1
  41. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +21 -9
  42. package/dist/collection/components/post-footer/post-footer.css +1 -1
  43. package/dist/collection/components/post-footer/post-footer.js +35 -15
  44. package/dist/collection/components/post-header/post-header.css +1 -1
  45. package/dist/collection/components/post-header/post-header.js +28 -16
  46. package/dist/collection/components/post-icon/post-icon.js +66 -54
  47. package/dist/collection/components/post-language-option/post-language-option.css +1 -1
  48. package/dist/collection/components/post-language-option/post-language-option.js +17 -13
  49. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
  50. package/dist/collection/components/post-language-switch/post-language-switch.js +43 -24
  51. package/dist/collection/components/post-linkarea/post-linkarea.js +1 -1
  52. package/dist/collection/components/post-list/post-list.js +13 -4
  53. package/dist/collection/components/post-list-item/post-list-item.js +1 -1
  54. package/dist/collection/components/post-logo/post-logo.js +4 -5
  55. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +1 -1
  56. package/dist/collection/components/post-megadropdown/post-megadropdown.js +12 -6
  57. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +34 -20
  58. package/dist/collection/components/post-menu/post-menu.css +1 -1
  59. package/dist/collection/components/post-menu/post-menu.js +43 -21
  60. package/dist/collection/components/post-menu-item/post-menu-item.css +1 -0
  61. package/dist/collection/components/post-menu-item/post-menu-item.js +11 -1
  62. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +9 -5
  63. package/dist/collection/components/post-popover/post-popover.js +20 -6
  64. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  65. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +44 -16
  66. package/dist/collection/components/post-rating/post-rating.js +26 -6
  67. package/dist/collection/components/post-tab-header/post-tab-header.js +4 -6
  68. package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -6
  69. package/dist/collection/components/post-tabs/post-tabs.js +4 -3
  70. package/dist/collection/components/post-tag/post-tag.js +11 -9
  71. package/dist/collection/components/post-togglebutton/post-togglebutton.js +8 -3
  72. package/dist/collection/components/post-tooltip/post-tooltip.js +25 -7
  73. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +20 -12
  74. package/dist/collection/index.js +1 -37
  75. package/dist/collection/utils/breakpoints.js +38 -45
  76. package/dist/collection/utils/event-from.js +103 -0
  77. package/dist/collection/utils/index.js +1 -1
  78. package/dist/components/index.js +2315 -37
  79. package/dist/components/p-1KLiMO0w.js +3 -0
  80. package/dist/components/p-8U5GFtQP.js +105 -0
  81. package/dist/components/{post-menu2.js → p-BLhBouGz.js} +51 -30
  82. package/dist/{esm/index-ffccd040.js → components/p-CV7fm1rW.js} +1 -1
  83. package/dist/components/{post-menu-trigger2.js → p-CaPj3whI.js} +14 -12
  84. package/dist/components/{post-breadcrumb-item2.js → p-Cpaqct04.js} +9 -11
  85. package/dist/components/p-CtNCtg2z.js +114 -0
  86. package/dist/components/p-Cx0AiN2A.js +182 -0
  87. package/{loaders/post-collapsible-trigger2.js → dist/components/p-D3LhzIrC.js} +25 -14
  88. package/dist/components/{get-root.js → p-DBHo9yGF.js} +1 -1
  89. package/dist/components/p-DQuPPEca.js +31 -0
  90. package/dist/components/{post-accordion2.js → p-DlEtlaNu.js} +42 -29
  91. package/dist/components/{post-collapsible2.js → p-DphlfQse.js} +11 -8
  92. package/dist/components/{post-popovercontainer2.js → p-elg4VvHg.js} +246 -278
  93. package/{loaders/post-icon2.js → dist/components/p-fmA57Ivd.js} +52 -54
  94. package/dist/components/post-accordion-item.js +1 -1
  95. package/dist/components/post-accordion.js +1 -1
  96. package/dist/components/post-avatar.js +183 -1
  97. package/dist/components/post-back-to-top.js +115 -1
  98. package/dist/components/post-banner.js +120 -1
  99. package/dist/components/post-breadcrumb-item.js +1 -1
  100. package/dist/components/post-breadcrumbs.js +182 -1
  101. package/dist/components/post-card-control.js +322 -1
  102. package/dist/components/post-closebutton.js +37 -1
  103. package/dist/components/post-collapsible-trigger.js +1 -1
  104. package/dist/components/post-collapsible.js +1 -1
  105. package/dist/components/post-footer.js +112 -1
  106. package/dist/components/post-header.js +273 -1
  107. package/dist/components/post-icon.js +1 -1
  108. package/dist/components/post-language-option.js +96 -1
  109. package/dist/components/post-language-switch.js +154 -1
  110. package/dist/components/post-linkarea.js +41 -1
  111. package/dist/components/post-list-item.js +34 -1
  112. package/dist/components/post-list.js +57 -1
  113. package/dist/components/post-logo.js +54 -1
  114. package/dist/components/post-mainnavigation.js +181 -1
  115. package/dist/components/post-megadropdown-trigger.js +132 -1
  116. package/dist/components/post-megadropdown.js +194 -1
  117. package/dist/components/post-menu-item.js +1 -1
  118. package/dist/components/post-menu-trigger.js +1 -1
  119. package/dist/components/post-menu.js +1 -1
  120. package/dist/components/post-popover.js +184 -1
  121. package/dist/components/post-popovercontainer.js +1 -1
  122. package/dist/components/post-rating.js +148 -1
  123. package/dist/components/post-tab-header.js +48 -1
  124. package/dist/components/post-tab-panel.js +50 -1
  125. package/dist/components/post-tabs.js +186 -1
  126. package/dist/components/post-tag.js +82 -1
  127. package/dist/components/post-togglebutton.js +52 -1
  128. package/dist/components/post-tooltip-trigger.js +5218 -1
  129. package/dist/components/post-tooltip.js +110 -1
  130. package/dist/docs.d.ts +8 -0
  131. package/dist/docs.json +426 -118
  132. package/dist/esm/breakpoints-DyVir0ex.js +182 -0
  133. package/dist/esm/event-from-8U5GFtQP.js +105 -0
  134. package/{loaders/get-root.js → dist/esm/get-root-D9QC9-TY.js} +1 -1
  135. package/{loaders/index2.js → dist/esm/index-BWC0gtGU.js} +1 -1
  136. package/dist/esm/{index-f4d19816.js → index-CVhzhVv0.js} +1169 -309
  137. package/dist/esm/index.js +1 -31
  138. package/dist/esm/loader.js +3 -4
  139. package/dist/esm/package-1KLiMO0w.js +3 -0
  140. package/dist/esm/post-accordion_2.entry.js +180 -0
  141. package/dist/esm/post-avatar.entry.js +154 -5
  142. package/dist/esm/post-back-to-top.entry.js +89 -6
  143. package/dist/esm/post-banner.entry.js +85 -7
  144. package/dist/esm/post-breadcrumb-item_2.entry.js +65 -5
  145. package/dist/esm/post-breadcrumbs.entry.js +123 -5
  146. package/dist/esm/post-card-control.entry.js +286 -5
  147. package/dist/esm/post-closebutton_15.entry.js +4362 -10
  148. package/dist/esm/post-collapsible_2.entry.js +199 -7
  149. package/dist/esm/post-components.js +5 -5
  150. package/dist/esm/post-footer.entry.js +62 -5
  151. package/dist/esm/post-linkarea.entry.js +27 -3
  152. package/dist/esm/post-popover.entry.js +155 -6
  153. package/dist/esm/post-rating.entry.js +118 -5
  154. package/dist/esm/post-tab-header.entry.js +29 -6
  155. package/dist/esm/post-tab-panel.entry.js +31 -6
  156. package/dist/esm/post-tabs.entry.js +169 -5
  157. package/dist/esm/post-tag.entry.js +53 -5
  158. package/dist/esm/post-tooltip-trigger.entry.js +5199 -5
  159. package/dist/esm/post-tooltip.entry.js +81 -6
  160. package/dist/post-components/index.esm.js +0 -1
  161. package/dist/post-components/p-0d08ab13.entry.js +1 -0
  162. package/dist/post-components/p-1KLiMO0w.js +1 -0
  163. package/dist/post-components/p-1e006e29.entry.js +1 -0
  164. package/dist/post-components/p-3a5bdb7f.entry.js +1 -0
  165. package/dist/post-components/p-4214b85e.entry.js +1 -0
  166. package/dist/post-components/p-50916d48.entry.js +1 -0
  167. package/dist/post-components/p-5f4126d8.entry.js +1 -0
  168. package/dist/post-components/p-62982420.entry.js +1 -0
  169. package/dist/post-components/p-78f4dd12.entry.js +1 -0
  170. package/dist/post-components/p-7a7d237b.entry.js +1 -0
  171. package/dist/post-components/p-80174475.entry.js +1 -0
  172. package/dist/post-components/p-8U5GFtQP.js +1 -0
  173. package/dist/post-components/p-8d5a4218.entry.js +1 -0
  174. package/dist/post-components/p-8e89ccc1.entry.js +1 -0
  175. package/dist/post-components/p-9003674b.entry.js +1 -0
  176. package/dist/post-components/p-925aee3d.entry.js +1 -0
  177. package/dist/post-components/p-9b446561.entry.js +1 -0
  178. package/dist/post-components/p-9ec29527.entry.js +1 -0
  179. package/dist/post-components/{p-b176309b.js → p-BWC0gtGU.js} +1 -1
  180. package/dist/post-components/{p-6b31a76a.js → p-Bkp2QDth.js} +1 -1
  181. package/dist/post-components/p-CVhzhVv0.js +2 -0
  182. package/dist/post-components/p-DyVir0ex.js +1 -0
  183. package/dist/post-components/p-ec764922.entry.js +1 -0
  184. package/dist/post-components/p-fa550b4a.entry.js +1 -0
  185. package/dist/post-components/p-fb46e260.entry.js +1 -0
  186. package/dist/post-components/post-components.esm.js +1 -1
  187. package/dist/types/components/post-footer/post-footer.d.ts +7 -3
  188. package/dist/types/components/post-header/post-header.d.ts +1 -0
  189. package/dist/types/components/post-icon/post-icon.d.ts +0 -4
  190. package/dist/types/components/post-language-switch/post-language-switch.d.ts +1 -0
  191. package/dist/types/components/post-tag/post-tag.d.ts +1 -1
  192. package/dist/types/components.d.ts +61 -1
  193. package/dist/types/index.d.ts +10 -37
  194. package/dist/types/stencil-public-runtime.d.ts +29 -1
  195. package/dist/types/utils/breakpoints.d.ts +12 -7
  196. package/dist/types/utils/event-from.d.ts +9 -0
  197. package/dist/types/utils/index.d.ts +1 -1
  198. package/hydrate/index.d.ts +273 -0
  199. package/hydrate/index.js +32002 -0
  200. package/hydrate/index.mjs +31994 -0
  201. package/hydrate/package.json +12 -0
  202. package/package.json +45 -17
  203. package/dist/cjs/app-globals-3a1e7e63.js +0 -5
  204. package/dist/cjs/breakpoints-cdf1b747.js +0 -59
  205. package/dist/cjs/event-guard-efabc84f.js +0 -47
  206. package/dist/cjs/heading-levels-608d432e.js +0 -5
  207. package/dist/cjs/post-accordion-c433c493.js +0 -105
  208. package/dist/cjs/post-accordion-item-8d5a301d.js +0 -64
  209. package/dist/cjs/post-accordion-item.cjs.entry.js +0 -16
  210. package/dist/cjs/post-accordion.cjs.entry.js +0 -15
  211. package/dist/cjs/post-avatar-421043df.js +0 -162
  212. package/dist/cjs/post-back-to-top-3cca3803.js +0 -93
  213. package/dist/cjs/post-banner-2e99c9d8.js +0 -87
  214. package/dist/cjs/post-breadcrumbs-1be50860.js +0 -126
  215. package/dist/cjs/post-card-control-0bfdad92.js +0 -290
  216. package/dist/cjs/post-collapsible-trigger-4180b218.js +0 -190
  217. package/dist/cjs/post-footer-92adffac.js +0 -48
  218. package/dist/cjs/post-linkarea-26c457b3.js +0 -30
  219. package/dist/cjs/post-menu-item-d0a53c84.js +0 -68
  220. package/dist/cjs/post-popover-36cead3d.js +0 -150
  221. package/dist/cjs/post-rating-f50a9939.js +0 -109
  222. package/dist/cjs/post-tab-header-f47508da.js +0 -34
  223. package/dist/cjs/post-tab-panel-7c51798b.js +0 -36
  224. package/dist/cjs/post-tabs-2debea01.js +0 -173
  225. package/dist/cjs/post-tag-ac62c57f.js +0 -60
  226. package/dist/cjs/post-togglebutton-43c46511.js +0 -4491
  227. package/dist/cjs/post-tooltip-b7dcfb44.js +0 -74
  228. package/dist/cjs/post-tooltip-trigger-904061b6.js +0 -4685
  229. package/dist/collection/utils/event-guard.js +0 -43
  230. package/dist/components/breakpoints.js +0 -56
  231. package/dist/components/event-guard.js +0 -45
  232. package/dist/components/index2.js +0 -88
  233. package/dist/components/package.js +0 -3
  234. package/dist/components/post-accordion-item2.js +0 -103
  235. package/dist/components/post-avatar2.js +0 -190
  236. package/dist/components/post-back-to-top2.js +0 -118
  237. package/dist/components/post-banner2.js +0 -121
  238. package/dist/components/post-breadcrumbs2.js +0 -184
  239. package/dist/components/post-card-control2.js +0 -325
  240. package/dist/components/post-closebutton2.js +0 -39
  241. package/dist/components/post-collapsible-trigger2.js +0 -125
  242. package/dist/components/post-footer2.js +0 -90
  243. package/dist/components/post-header2.js +0 -397
  244. package/dist/components/post-icon2.js +0 -156
  245. package/dist/components/post-language-option2.js +0 -102
  246. package/dist/components/post-language-switch2.js +0 -143
  247. package/dist/components/post-linkarea2.js +0 -43
  248. package/dist/components/post-list-item2.js +0 -36
  249. package/dist/components/post-list2.js +0 -54
  250. package/dist/components/post-logo2.js +0 -57
  251. package/dist/components/post-mainnavigation2.js +0 -183
  252. package/dist/components/post-megadropdown-trigger2.js +0 -121
  253. package/dist/components/post-megadropdown2.js +0 -190
  254. package/dist/components/post-menu-item2.js +0 -27
  255. package/dist/components/post-popover2.js +0 -178
  256. package/dist/components/post-rating2.js +0 -138
  257. package/dist/components/post-tab-header2.js +0 -52
  258. package/dist/components/post-tab-panel2.js +0 -54
  259. package/dist/components/post-tabs2.js +0 -189
  260. package/dist/components/post-tag2.js +0 -88
  261. package/dist/components/post-togglebutton2.js +0 -51
  262. package/dist/components/post-tooltip-trigger2.js +0 -4703
  263. package/dist/components/post-tooltip2.js +0 -102
  264. package/dist/esm/app-globals-0f993ce5.js +0 -3
  265. package/dist/esm/breakpoints-7812702e.js +0 -56
  266. package/dist/esm/event-guard-538ee077.js +0 -45
  267. package/dist/esm/get-root-1b1af46f.js +0 -15
  268. package/dist/esm/heading-levels-5b7b4349.js +0 -3
  269. package/dist/esm/package-8503eaa8.js +0 -3
  270. package/dist/esm/post-accordion-9365faca.js +0 -103
  271. package/dist/esm/post-accordion-item-2dc8e3b7.js +0 -62
  272. package/dist/esm/post-accordion-item.entry.js +0 -8
  273. package/dist/esm/post-accordion.entry.js +0 -7
  274. package/dist/esm/post-avatar-4f73dc4d.js +0 -160
  275. package/dist/esm/post-back-to-top-8f759d32.js +0 -91
  276. package/dist/esm/post-banner-ad979275.js +0 -85
  277. package/dist/esm/post-breadcrumbs-a20336c7.js +0 -124
  278. package/dist/esm/post-card-control-3c77e778.js +0 -288
  279. package/dist/esm/post-collapsible-trigger-5fd0e193.js +0 -187
  280. package/dist/esm/post-footer-3e117b5a.js +0 -46
  281. package/dist/esm/post-linkarea-16a14609.js +0 -28
  282. package/dist/esm/post-menu-item-b1604fe4.js +0 -65
  283. package/dist/esm/post-popover-49096648.js +0 -148
  284. package/dist/esm/post-rating-405bee8f.js +0 -107
  285. package/dist/esm/post-tab-header-b228c217.js +0 -32
  286. package/dist/esm/post-tab-panel-98110b64.js +0 -34
  287. package/dist/esm/post-tabs-44d9313c.js +0 -171
  288. package/dist/esm/post-tag-99cc9616.js +0 -58
  289. package/dist/esm/post-togglebutton-ea73e63f.js +0 -4475
  290. package/dist/esm/post-tooltip-78cd2988.js +0 -72
  291. package/dist/esm/post-tooltip-trigger-bdb21c45.js +0 -4683
  292. package/dist/post-components/p-0889c759.js +0 -1
  293. package/dist/post-components/p-09dd5aa4.js +0 -1
  294. package/dist/post-components/p-0f9322e5.js +0 -8
  295. package/dist/post-components/p-11572299.js +0 -1
  296. package/dist/post-components/p-19a83519.entry.js +0 -1
  297. package/dist/post-components/p-1afb3c43.entry.js +0 -1
  298. package/dist/post-components/p-214cd032.js +0 -1
  299. package/dist/post-components/p-21e5b028.js +0 -1
  300. package/dist/post-components/p-2320305b.js +0 -1
  301. package/dist/post-components/p-247a1668.js +0 -1
  302. package/dist/post-components/p-2523f97b.entry.js +0 -1
  303. package/dist/post-components/p-2bd3a436.js +0 -1
  304. package/dist/post-components/p-2ce8fbf5.js +0 -1
  305. package/dist/post-components/p-2f879f4e.entry.js +0 -1
  306. package/dist/post-components/p-33e26845.entry.js +0 -1
  307. package/dist/post-components/p-38b1c71e.entry.js +0 -1
  308. package/dist/post-components/p-38d59732.js +0 -1
  309. package/dist/post-components/p-3a67f1ff.js +0 -1
  310. package/dist/post-components/p-41450b6c.entry.js +0 -1
  311. package/dist/post-components/p-4c23ed05.entry.js +0 -1
  312. package/dist/post-components/p-57746c40.js +0 -1
  313. package/dist/post-components/p-6313d72e.entry.js +0 -1
  314. package/dist/post-components/p-64e0b0fc.js +0 -1
  315. package/dist/post-components/p-658a2e34.entry.js +0 -1
  316. package/dist/post-components/p-722ffaae.js +0 -1
  317. package/dist/post-components/p-746d3cd3.entry.js +0 -1
  318. package/dist/post-components/p-79a2dad0.entry.js +0 -1
  319. package/dist/post-components/p-7dd1807c.js +0 -1
  320. package/dist/post-components/p-817fbeaf.js +0 -1
  321. package/dist/post-components/p-85950200.js +0 -1
  322. package/dist/post-components/p-8ebecf22.entry.js +0 -1
  323. package/dist/post-components/p-8ed1cb53.entry.js +0 -1
  324. package/dist/post-components/p-91244b25.js +0 -1
  325. package/dist/post-components/p-91675004.js +0 -1
  326. package/dist/post-components/p-94ebc430.js +0 -1
  327. package/dist/post-components/p-95727a4f.entry.js +0 -1
  328. package/dist/post-components/p-9e461613.js +0 -2
  329. package/dist/post-components/p-a844da3a.entry.js +0 -1
  330. package/dist/post-components/p-af900651.js +0 -1
  331. package/dist/post-components/p-b373659e.entry.js +0 -1
  332. package/dist/post-components/p-b500b245.js +0 -1
  333. package/dist/post-components/p-bf182745.entry.js +0 -1
  334. package/dist/post-components/p-c9b6f9e7.entry.js +0 -1
  335. package/dist/post-components/p-cb7d8f67.entry.js +0 -1
  336. package/dist/post-components/p-e1255160.js +0 -1
  337. package/dist/post-components/p-e28eb73a.js +0 -1
  338. package/dist/types/popover-fn.d.ts +0 -11
  339. package/dist/types/utils/event-guard.d.ts +0 -4
  340. package/loader/package.json +0 -11
  341. package/loaders/breakpoints.js +0 -56
  342. package/loaders/event-guard.js +0 -45
  343. package/loaders/fade.js +0 -11
  344. package/loaders/get-focusable-children.js +0 -35
  345. package/loaders/heading-levels.js +0 -3
  346. package/loaders/index.browser.js +0 -14
  347. package/loaders/index.d.ts +0 -108
  348. package/loaders/index.js +0 -39
  349. package/loaders/long-press-event.js +0 -264
  350. package/loaders/package.js +0 -3
  351. package/loaders/post-accordion-item.d.ts +0 -11
  352. package/loaders/post-accordion-item.js +0 -6
  353. package/loaders/post-accordion-item2.js +0 -103
  354. package/loaders/post-accordion.d.ts +0 -11
  355. package/loaders/post-accordion.js +0 -129
  356. package/loaders/post-avatar.d.ts +0 -11
  357. package/loaders/post-avatar.js +0 -193
  358. package/loaders/post-back-to-top.d.ts +0 -11
  359. package/loaders/post-back-to-top.js +0 -121
  360. package/loaders/post-banner.d.ts +0 -11
  361. package/loaders/post-banner.js +0 -124
  362. package/loaders/post-breadcrumb-item.d.ts +0 -11
  363. package/loaders/post-breadcrumb-item.js +0 -6
  364. package/loaders/post-breadcrumb-item2.js +0 -82
  365. package/loaders/post-breadcrumbs.d.ts +0 -11
  366. package/loaders/post-breadcrumbs.js +0 -187
  367. package/loaders/post-card-control.d.ts +0 -11
  368. package/loaders/post-card-control.js +0 -328
  369. package/loaders/post-closebutton.d.ts +0 -11
  370. package/loaders/post-closebutton.js +0 -42
  371. package/loaders/post-collapsible-trigger.d.ts +0 -11
  372. package/loaders/post-collapsible-trigger.js +0 -6
  373. package/loaders/post-collapsible.d.ts +0 -11
  374. package/loaders/post-collapsible.js +0 -6
  375. package/loaders/post-collapsible2.js +0 -108
  376. package/loaders/post-footer.d.ts +0 -11
  377. package/loaders/post-footer.js +0 -93
  378. package/loaders/post-header.d.ts +0 -11
  379. package/loaders/post-header.js +0 -400
  380. package/loaders/post-icon.d.ts +0 -11
  381. package/loaders/post-icon.js +0 -6
  382. package/loaders/post-language-option.d.ts +0 -11
  383. package/loaders/post-language-option.js +0 -105
  384. package/loaders/post-language-switch.d.ts +0 -11
  385. package/loaders/post-language-switch.js +0 -146
  386. package/loaders/post-linkarea.d.ts +0 -11
  387. package/loaders/post-linkarea.js +0 -46
  388. package/loaders/post-list-item.d.ts +0 -11
  389. package/loaders/post-list-item.js +0 -39
  390. package/loaders/post-list.d.ts +0 -11
  391. package/loaders/post-list.js +0 -57
  392. package/loaders/post-logo.d.ts +0 -11
  393. package/loaders/post-logo.js +0 -60
  394. package/loaders/post-mainnavigation.d.ts +0 -11
  395. package/loaders/post-mainnavigation.js +0 -186
  396. package/loaders/post-megadropdown-trigger.d.ts +0 -11
  397. package/loaders/post-megadropdown-trigger.js +0 -124
  398. package/loaders/post-megadropdown.d.ts +0 -11
  399. package/loaders/post-megadropdown.js +0 -193
  400. package/loaders/post-menu-item.d.ts +0 -11
  401. package/loaders/post-menu-item.js +0 -6
  402. package/loaders/post-menu-item2.js +0 -27
  403. package/loaders/post-menu-trigger.d.ts +0 -11
  404. package/loaders/post-menu-trigger.js +0 -6
  405. package/loaders/post-menu-trigger2.js +0 -109
  406. package/loaders/post-menu.d.ts +0 -11
  407. package/loaders/post-menu.js +0 -6
  408. package/loaders/post-menu2.js +0 -202
  409. package/loaders/post-popover.d.ts +0 -11
  410. package/loaders/post-popover.js +0 -181
  411. package/loaders/post-popovercontainer.d.ts +0 -11
  412. package/loaders/post-popovercontainer.js +0 -6
  413. package/loaders/post-popovercontainer2.js +0 -3051
  414. package/loaders/post-rating.d.ts +0 -11
  415. package/loaders/post-rating.js +0 -141
  416. package/loaders/post-tab-header.d.ts +0 -11
  417. package/loaders/post-tab-header.js +0 -55
  418. package/loaders/post-tab-panel.d.ts +0 -11
  419. package/loaders/post-tab-panel.js +0 -57
  420. package/loaders/post-tabs.d.ts +0 -11
  421. package/loaders/post-tabs.js +0 -192
  422. package/loaders/post-tag.d.ts +0 -11
  423. package/loaders/post-tag.js +0 -91
  424. package/loaders/post-togglebutton.d.ts +0 -11
  425. package/loaders/post-togglebutton.js +0 -54
  426. package/loaders/post-tooltip-trigger.d.ts +0 -11
  427. package/loaders/post-tooltip-trigger.js +0 -4706
  428. package/loaders/post-tooltip.d.ts +0 -11
  429. package/loaders/post-tooltip.js +0 -105
  430. package/loaders/slide.js +0 -25
  431. package/loaders/switch-variants.js +0 -3
  432. /package/dist/cjs/{fade-72d5ef55.js → fade-nS5zzDQS.js} +0 -0
  433. /package/dist/cjs/{index-2b2b85e5.js → index-DtvYdwe1.js} +0 -0
  434. /package/dist/cjs/{index.browser-4af21c17.js → index.browser-Doj636JV.js} +0 -0
  435. /package/dist/cjs/{long-press-event-6e62d113.js → long-press-event-Q8jMUNXD.js} +0 -0
  436. /package/dist/cjs/{placement-b2bb6ec4.js → placement-qEFR9hmI.js} +0 -0
  437. /package/dist/cjs/{slide-cd1f09b3.js → slide-CbBL7A8w.js} +0 -0
  438. /package/dist/components/{index.browser.js → p-BLchVpF6.js} +0 -0
  439. /package/dist/components/{slide.js → p-BuLMaH5t.js} +0 -0
  440. /package/dist/components/{get-focusable-children.js → p-C35MCWIp.js} +0 -0
  441. /package/dist/components/{long-press-event.js → p-C_2k3G1c.js} +0 -0
  442. /package/dist/components/{switch-variants.js → p-DjIHLduJ.js} +0 -0
  443. /package/dist/components/{fade.js → p-SbIC4aZX.js} +0 -0
  444. /package/dist/components/{heading-levels.js → p-r4txK0AC.js} +0 -0
  445. /package/dist/esm/{fade-1f3cacf4.js → fade-SbIC4aZX.js} +0 -0
  446. /package/dist/esm/{index.browser-ff103197.js → index.browser-BLchVpF6.js} +0 -0
  447. /package/dist/esm/{long-press-event-04d24397.js → long-press-event-C_2k3G1c.js} +0 -0
  448. /package/dist/esm/{placement-8d56605d.js → placement-DRiVosES.js} +0 -0
  449. /package/dist/esm/{slide-cd2850ee.js → slide-BuLMaH5t.js} +0 -0
  450. /package/dist/post-components/{p-c65f32b0.js → p-BLchVpF6.js} +0 -0
  451. /package/dist/post-components/{p-9b052461.js → p-BuLMaH5t.js} +0 -0
  452. /package/dist/post-components/{p-8db32dab.js → p-C_2k3G1c.js} +0 -0
  453. /package/dist/post-components/{p-59a38c23.js → p-DRiVosES.js} +0 -0
  454. /package/dist/post-components/{p-64e3de38.js → p-SbIC4aZX.js} +0 -0
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "@swisspost/design-system-components/hydrate",
3
+ "description": "PostComponents component hydration app.",
4
+ "main": "index.js",
5
+ "types": "index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "require": "./index.js",
9
+ "import": "./index.mjs"
10
+ }
11
+ }
12
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swisspost/design-system-components",
3
- "version": "10.0.0-next.39",
3
+ "version": "10.0.0-next.41",
4
4
  "description": "A collection of web components built with Stencil JS for the Swiss Post Design System.",
5
5
  "author": "Swiss Post <design-system@post.ch>",
6
6
  "license": "Apache-2.0",
@@ -20,19 +20,47 @@
20
20
  "files": [
21
21
  "dist/",
22
22
  "loader/",
23
- "loaders/"
23
+ "hydrate/"
24
24
  ],
25
+ "type": "module",
25
26
  "main": "dist/index.cjs.js",
26
27
  "module": "dist/index.js",
27
28
  "types": "dist/types/index.d.ts",
28
29
  "collection": "dist/collection/collection-manifest.json",
29
30
  "collection:main": "dist/collection/index.js",
30
31
  "unpkg": "dist/post-components/post-components.esm.js",
32
+ "exports": {
33
+ "./package.json": "./package.json",
34
+ "./post-components.css": "./dist/post-components/post-components.css",
35
+ ".": {
36
+ "types": "./dist/types/index.d.ts",
37
+ "import": "./dist/post-components/post-components.esm.js",
38
+ "require": "./dist/cjs/post-components.cjs.js"
39
+ },
40
+ "./dist/*": {
41
+ "default": "./dist/*"
42
+ },
43
+ "./components/*": {
44
+ "default": "./dist/components/*"
45
+ },
46
+ "./loader": {
47
+ "types": "./loader/index.d.ts",
48
+ "import": "./loader/index.js",
49
+ "require": "./loader/index.cjs.js"
50
+ },
51
+ "./hydrate": {
52
+ "types": "./hydrate/index.d.ts",
53
+ "import": "./hydrate/index.mjs",
54
+ "require": "./hydrate/index.js",
55
+ "default": "./hydrate/index.js"
56
+ }
57
+ },
31
58
  "dependencies": {
32
- "@floating-ui/dom": "1.7.0",
33
- "@oddbird/popover-polyfill": "0.5.2",
34
- "@swisspost/design-system-icons": "10.0.0-next.39",
35
- "@swisspost/design-system-styles": "10.0.0-next.39",
59
+ "@floating-ui/dom": "1.7.2",
60
+ "@oddbird/popover-polyfill": "0.6.0",
61
+ "@swisspost/design-system-icons": "10.0.0-next.41",
62
+ "@swisspost/design-system-styles": "10.0.0-next.41",
63
+ "@swisspost/design-system-eslint": "1.0.1-next.0",
36
64
  "ally.js": "1.4.1",
37
65
  "long-press-event": "2.5.0",
38
66
  "nanoid": "5.1.5"
@@ -41,11 +69,11 @@
41
69
  "@eslint/compat": "1.2.5",
42
70
  "@eslint/js": "9.18.0",
43
71
  "@percy/cli": "1.30.6",
44
- "@percy/cypress": "3.1.2",
45
- "@stencil-community/eslint-plugin": "0.9.0",
46
- "@stencil/angular-output-target": "0.8.4",
47
- "@stencil/core": "4.19.2",
48
- "@stencil/react-output-target": "0.5.3",
72
+ "@percy/cypress": "3.1.6",
73
+ "@stencil-community/eslint-plugin": "0.10.0",
74
+ "@stencil/angular-output-target": "0.10.2",
75
+ "@stencil/core": "4.35.0",
76
+ "@stencil/react-output-target": "=0.8.2",
49
77
  "@stencil/sass": "3.0.12",
50
78
  "@types/jest": "29.5.14",
51
79
  "@types/mock-fs": "4.13.4",
@@ -57,7 +85,8 @@
57
85
  "cypress-axe": "1.6.0",
58
86
  "cypress-storybook": "1.0.0",
59
87
  "eslint": "9.18.0",
60
- "eslint-plugin-react": "7.37.4",
88
+ "eslint-plugin-cypress": "4.2.0",
89
+ "eslint-plugin-react": "7.37.5",
61
90
  "globals": "16.0.0",
62
91
  "mock-fs": "5.5.0",
63
92
  "rimraf": "6.0.1",
@@ -67,8 +96,7 @@
67
96
  "ts-jest": "29.2.5",
68
97
  "ts-node": "10.9.2",
69
98
  "typescript": "5.8.3",
70
- "typescript-eslint": "8.20.0",
71
- "eslint-plugin-cypress": "4.2.0"
99
+ "typescript-eslint": "8.20.0"
72
100
  },
73
101
  "keywords": [
74
102
  "components",
@@ -84,7 +112,7 @@
84
112
  "prebuild": "pnpm clean && pnpm prebuild:script",
85
113
  "build": "stencil build --docs-readme",
86
114
  "postbuild": "pnpm copy:styles:components-react & pnpm copy:styles:components-angular",
87
- "clean": "rimraf dist hydrate loader loaders www src/styles/generated ../components-react/src/components/stencil-generated/ ../components-angular/projects/components/src/lib/stencil-generated/",
115
+ "clean": "rimraf dist hydrate loader loaders www src/styles/generated ../components-react/src/stencil-generated/ ../components-angular/projects/components/src/lib/stencil-generated/",
88
116
  "unit": "stencil test --spec",
89
117
  "unit:watch": "stencil test --spec --watchAll --silent",
90
118
  "unit:updatesnapshot": "stencil test --spec --updateSnapshot",
@@ -94,8 +122,8 @@
94
122
  "lint": "eslint",
95
123
  "lint:fix": "eslint --fix",
96
124
  "generate": "stencil generate",
97
- "prebuild:script": "ts-node prebuild.ts",
98
- "copy:styles:components-react": "copyfiles -f www/build/post-components.css ../components-react/src/components/stencil-generated/",
125
+ "prebuild:script": "node --loader ts-node/esm prebuild.ts",
126
+ "copy:styles:components-react": "copyfiles -f www/build/post-components.css ../components-react/src/stencil-generated/",
99
127
  "copy:styles:components-angular": "copyfiles -f www/build/post-components.css ../components-angular/projects/components/src/lib/stencil-generated/"
100
128
  }
101
129
  }
@@ -1,5 +0,0 @@
1
- 'use strict';
2
-
3
- const globalScripts = () => {};
4
-
5
- exports.globalScripts = globalScripts;
@@ -1,59 +0,0 @@
1
- 'use strict';
2
-
3
- const IS_SERVER = typeof window === 'undefined';
4
- const IS_BROWSER = !IS_SERVER;
5
-
6
- class Breakpoint {
7
- constructor() {
8
- this.current = {
9
- key: '',
10
- name: '',
11
- };
12
- if (IS_BROWSER && !this.breakpointMap) {
13
- const keys = this.getStyles('--post-breakpoint-keys');
14
- const names = this.getStyles('--post-breakpoint-names');
15
- const widths = this.getStyles('--post-breakpoint-widths');
16
- this.breakpointMap = widths
17
- .map((width, i) => ({
18
- minWidth: Number(width),
19
- key: keys[i],
20
- name: names[i],
21
- }))
22
- .reverse();
23
- window.addEventListener('resize', () => this.updateHandler(), { passive: true });
24
- }
25
- }
26
- getStyles(propertyName) {
27
- const styles = getComputedStyle(document.documentElement);
28
- return (styles
29
- .getPropertyValue(propertyName)
30
- ?.split(',')
31
- .map(w => w.trim()) ?? []);
32
- }
33
- updateHandler(emitEvents = true) {
34
- const calculated = this.breakpointMap.find(({ minWidth }) => innerWidth >= minWidth);
35
- if (this.current.key !== calculated.key) {
36
- this.current.key = calculated.key;
37
- if (emitEvents)
38
- this.dispatchEvent('key');
39
- }
40
- if (this.current.name !== calculated.name) {
41
- this.current.name = calculated.name;
42
- if (emitEvents)
43
- this.dispatchEvent('name');
44
- }
45
- }
46
- dispatchEvent(type) {
47
- if (IS_BROWSER) {
48
- window.dispatchEvent(new CustomEvent(`postBreakpoint:${type}`, { detail: this.current[type] }));
49
- }
50
- }
51
- get(type) {
52
- this.updateHandler(false);
53
- return this.current[type];
54
- }
55
- }
56
- const breakpoint = new Breakpoint();
57
-
58
- exports.IS_BROWSER = IS_BROWSER;
59
- exports.breakpoint = breakpoint;
@@ -1,47 +0,0 @@
1
- 'use strict';
2
-
3
- function eventGuard(host, event, options, callback) {
4
- const target = event.target;
5
- if (!target)
6
- return;
7
- if (target.localName === options.targetLocalName) {
8
- if (!options.delegatorSelector || shadowClosest(target, options.delegatorSelector) === host) {
9
- callback();
10
- }
11
- }
12
- }
13
- /**
14
- * Traverses up the DOM (including crossing shadow DOM boundaries) starting from the given element
15
- * to find and return the closest ancestor that matches the specified CSS selector.
16
- * If no matching element is found, returns null.
17
- *
18
- * @param element - The starting element from which the search begins.
19
- * @param selector - The CSS selector used to test each ancestor element.
20
- * @returns The closest matching ancestor element or null if none is found.
21
- */
22
- function shadowClosest(element, selector) {
23
- let currentElement = element;
24
- while (currentElement) {
25
- if (currentElement.matches(selector)) {
26
- return currentElement;
27
- }
28
- const parent = currentElement.parentElement;
29
- if (parent) {
30
- currentElement = parent;
31
- }
32
- else {
33
- const parentNode = currentElement.parentNode;
34
- // When no parentElement exists, check if the current element is inside a shadow DOM.
35
- // If so, move up to the shadow host to continue the search outside the shadow boundary.
36
- if (parentNode instanceof ShadowRoot) {
37
- currentElement = parentNode.host;
38
- }
39
- else {
40
- currentElement = null;
41
- }
42
- }
43
- }
44
- return null;
45
- }
46
-
47
- exports.eventGuard = eventGuard;
@@ -1,5 +0,0 @@
1
- 'use strict';
2
-
3
- const HEADING_LEVELS = [1, 2, 3, 4, 5, 6];
4
-
5
- exports.HEADING_LEVELS = HEADING_LEVELS;
@@ -1,105 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-b60129c4.js');
4
- const _package = require('./package-29dc73af.js');
5
- const headingLevels = require('./heading-levels-608d432e.js');
6
- const index$1 = require('./index-2b2b85e5.js');
7
- require('./breakpoints-cdf1b747.js');
8
- const eventGuard = require('./event-guard-efabc84f.js');
9
-
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)}";
11
- const PostAccordionStyle0 = postAccordionCss;
12
-
13
- const PostAccordion = class {
14
- constructor(hostRef) {
15
- index.registerInstance(this, hostRef);
16
- this.expandedItems = new Set();
17
- this.headingLevel = undefined;
18
- this.multiple = false;
19
- }
20
- validateHeadingLevel() {
21
- index$1.checkRequiredAndOneOf(this, 'headingLevel', headingLevels.HEADING_LEVELS);
22
- this.accordionItems.forEach(item => {
23
- item.setAttribute('heading-level', String(this.headingLevel));
24
- });
25
- }
26
- componentWillLoad() {
27
- this.registerAccordionItems();
28
- }
29
- componentDidLoad() {
30
- this.validateHeadingLevel();
31
- }
32
- collapseToggleHandler(event) {
33
- eventGuard.eventGuard(this.host, event, { targetLocalName: 'post-accordion-item', delegatorSelector: 'post-accordion' }, () => {
34
- const toggledAccordionItem = event.target;
35
- const isClosing = this.expandedItems.has(toggledAccordionItem);
36
- if (isClosing) {
37
- this.expandedItems.delete(toggledAccordionItem);
38
- }
39
- else {
40
- this.expandedItems.add(toggledAccordionItem);
41
- }
42
- if (this.multiple || isClosing)
43
- return;
44
- // Close other open accordion items to ensure only one is open at a time
45
- Array.from(this.expandedItems.values())
46
- .filter(item => item !== toggledAccordionItem)
47
- .forEach(item => {
48
- item.toggle(false);
49
- });
50
- });
51
- }
52
- /**
53
- * Toggles the `post-accordion-item` with the given id.
54
- */
55
- async toggle(id) {
56
- const itemToToggle = this.accordionItems.find(item => item.id === id);
57
- if (!itemToToggle)
58
- throw new Error(`No post-accordion-item found with id #${id}.`);
59
- await itemToToggle.toggle();
60
- }
61
- /**
62
- * Expands all `post-accordion-item`.
63
- *
64
- * If `multiple="true"` is not set and all items are closed, it will open the first one.
65
- * Otherwise, it will keep the opened one.
66
- */
67
- async expandAll() {
68
- if (this.multiple) {
69
- await Promise.all(this.accordionItems.map(item => item.toggle(true)));
70
- }
71
- else if (!this.expandedItems.size) {
72
- await this.accordionItems[0].toggle(true);
73
- }
74
- }
75
- /**
76
- * Collapses all `post-accordion-item`.
77
- */
78
- async collapseAll() {
79
- await Promise.all(this.accordionItems.map(item => item.toggle(false)));
80
- }
81
- registerAccordionItems() {
82
- this.accordionItems = Array.from(this.host.querySelectorAll('post-accordion-item'));
83
- this.accordionItems
84
- .filter(item => {
85
- return !item.collapsed || this.expandedItems.has(item);
86
- })
87
- .forEach((item, index) => {
88
- if (!this.multiple && index !== 0) {
89
- item.setAttribute('collapsed', '');
90
- return;
91
- }
92
- this.expandedItems.add(item);
93
- });
94
- }
95
- render() {
96
- return (index.h(index.Host, { key: '7057a6926f2279f7fc86d7f8539dd3ca884a3d70', "data-version": _package.version }, index.h("div", { key: 'a6d337471d1d16c09d7e6af950d39c58fc6f2880', class: "accordion" }, index.h("slot", { key: '9687babb4b539f6e54468555b4057a2b378e1e10', onSlotchange: () => this.registerAccordionItems() }))));
97
- }
98
- get host() { return index.getElement(this); }
99
- static get watchers() { return {
100
- "headingLevel": ["validateHeadingLevel"]
101
- }; }
102
- };
103
- PostAccordion.style = PostAccordionStyle0;
104
-
105
- exports.PostAccordion = PostAccordion;
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-b60129c4.js');
4
- const _package = require('./package-29dc73af.js');
5
- const headingLevels = require('./heading-levels-608d432e.js');
6
- const index$1 = require('./index-2b2b85e5.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);
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: '4de770633e0c9b9bb92b92a66be9a1481bf0fb3e', id: this.id, "data-version": _package.version }, index.h("div", { key: '4c2b91b25637cbe284442626d02d0ce6496589a4', part: "accordion-item", class: "accordion-item" }, index.h("post-collapsible-trigger", { key: '777f8b222b017b765f265296ad2829a027a99c22', for: `${this.id}--collapse` }, index.h(HeadingTag, { key: 'a646d911ea83c004fbc5490cb1e9dafdf490d09f', class: "accordion-header", id: `${this.id}--header` }, index.h("button", { key: '0c30a665426b98fff997874c365ffc6b97ecc01c', type: "button", class: `accordion-button${this.collapsed ? ' collapsed' : ''}`, part: "button" }, index.h("span", { key: '64edd8541af949f87ad929173c4a5210f892b0b6', class: {
53
- 'logo-container': true,
54
- 'has-image': !!this.slottedLogo,
55
- } }, index.h("slot", { key: 'a3dfd1796d7c3b854980078673a017d58acb97ea', name: "logo", onSlotchange: this.onSlotLogoChange.bind(this) })), index.h("slot", { key: 'd008c9aebfd8431afa4eae1af8646dd7de97916b', name: "header" }), index.h("post-icon", { key: 'ee5150a9cd7693e57f639cf09d9c4f24aae57308', name: "2051" })))), index.h("post-collapsible", { key: '12d2ef55e0e7615619a0a246268e8af3d3d8e712', id: `${this.id}--collapse`, collapsed: this.collapsed, ref: el => (this.collapsible = el) }, index.h("div", { key: 'd2cf362418c50ad56f8dee8e43baabbd976682f9', class: "accordion-body", part: "body" }, index.h("slot", { key: '6792db26a9eab60e113d62e23faf003a6b43685b' }))))));
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;
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const postAccordionItem = require('./post-accordion-item-8d5a301d.js');
6
- require('./index-b60129c4.js');
7
- require('./package-29dc73af.js');
8
- require('./heading-levels-608d432e.js');
9
- require('./index-2b2b85e5.js');
10
- require('./breakpoints-cdf1b747.js');
11
- require('./event-guard-efabc84f.js');
12
- require('./index.browser-4af21c17.js');
13
-
14
-
15
-
16
- exports.post_accordion_item = postAccordionItem.PostAccordionItem;
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const postAccordion = require('./post-accordion-c433c493.js');
6
- require('./index-b60129c4.js');
7
- require('./package-29dc73af.js');
8
- require('./heading-levels-608d432e.js');
9
- require('./index-2b2b85e5.js');
10
- require('./breakpoints-cdf1b747.js');
11
- require('./event-guard-efabc84f.js');
12
-
13
-
14
-
15
- exports.post_accordion = postAccordion.PostAccordion;
@@ -1,162 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-b60129c4.js');
4
- const _package = require('./package-29dc73af.js');
5
- const index$1 = require('./index-2b2b85e5.js');
6
- require('./breakpoints-cdf1b747.js');
7
-
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}";
9
- const PostAvatarStyle0 = postAvatarCss;
10
-
11
- // https://docs.gravatar.com/api/avatars/images/
12
- const GRAVATAR_DEFAULT = '404';
13
- const GRAVATAR_RATING = 'g';
14
- const GRAVATAR_SIZE = 80;
15
- const GRAVATAR_BASE_URL = `https://www.gravatar.com/avatar/{email}?s=${GRAVATAR_SIZE}&d=${GRAVATAR_DEFAULT}&r=${GRAVATAR_RATING}`;
16
- const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
17
- var AvatarType;
18
- (function (AvatarType) {
19
- AvatarType["Slotted"] = "slotted";
20
- AvatarType["Image"] = "image";
21
- AvatarType["Initials"] = "initials";
22
- AvatarType[AvatarType["Null"] = null] = "Null";
23
- })(AvatarType || (AvatarType = {}));
24
- const PostAvatar = class {
25
- constructor(hostRef) {
26
- index.registerInstance(this, hostRef);
27
- this.firstname = undefined;
28
- this.lastname = undefined;
29
- this.userid = undefined;
30
- this.email = undefined;
31
- this.slottedImage = undefined;
32
- this.avatarType = null;
33
- this.imageUrl = '';
34
- this.imageAlt = '';
35
- this.initials = '';
36
- }
37
- validateFirstname() {
38
- index$1.checkRequiredAndType(this, 'firstname', 'string');
39
- }
40
- validateLastname() {
41
- index$1.checkEmptyOrType(this, 'lastname', 'string');
42
- }
43
- validateUserid() {
44
- index$1.checkEmptyOrType(this, 'userid', 'string');
45
- }
46
- validateEmail() {
47
- if (this.email)
48
- index$1.checkEmptyOrPattern(this, 'email', emailPattern);
49
- }
50
- async getAvatar() {
51
- if (this.slottedImage !== null) {
52
- this.avatarType = AvatarType.Slotted;
53
- }
54
- else {
55
- let imageLoaded = false;
56
- if (!imageLoaded && this.userid)
57
- imageLoaded = await this.getImageByProp(this.userid, this.fetchImageByUserId.bind(this));
58
- if (!imageLoaded && this.email)
59
- imageLoaded = await this.getImageByProp(this.email, this.fetchImageByEmail.bind(this));
60
- if (!imageLoaded)
61
- this.getAvatarByInitials();
62
- }
63
- }
64
- async getImageByProp(prop, fetchImage) {
65
- if (!prop)
66
- return false;
67
- const imageResponse = (await this.getStorageItem(prop)) ?? { ok: false, url: '' };
68
- if (!imageResponse.ok) {
69
- try {
70
- const r = await fetchImage();
71
- imageResponse.ok = r.ok;
72
- imageResponse.url = r.url;
73
- this.imageUrl = imageResponse.url;
74
- this.imageAlt = `${this.firstname} ${this.lastname} avatar`;
75
- this.avatarType = AvatarType.Image;
76
- this.setStorageItem(this.userid, JSON.stringify(imageResponse));
77
- }
78
- catch (error) {
79
- this.removeStorageItem(prop);
80
- console.info(`Loading avatar by type "${AvatarType.Image}" failed.`);
81
- }
82
- }
83
- return imageResponse.ok;
84
- }
85
- async fetchImageByUserId() {
86
- return await fetch(PostAvatar.INTERNAL_USERID_IMAGE_SRC.replace('{userid}', encodeURIComponent(this.userid)));
87
- }
88
- async fetchImageByEmail() {
89
- const email = await this.cryptify(this.email);
90
- const imageUrl = GRAVATAR_BASE_URL.replace('{email}', email);
91
- return await fetch(imageUrl);
92
- }
93
- getAvatarByInitials() {
94
- this.initials = this.getInitials();
95
- this.avatarType = AvatarType.Initials;
96
- }
97
- getNames() {
98
- return [this.firstname, this.lastname].filter(n => n);
99
- }
100
- getInitials() {
101
- return this.getNames()
102
- .map(n => n.charAt(0))
103
- .join('')
104
- .trim();
105
- }
106
- async getStorageItem(keyToken) {
107
- const key = await this.cryptify(keyToken);
108
- const value = window?.sessionStorage?.getItem(key);
109
- return value ? JSON.parse(value) : null;
110
- }
111
- async setStorageItem(keyToken, value) {
112
- const key = await this.cryptify(keyToken);
113
- window?.sessionStorage?.setItem(key, value);
114
- }
115
- async removeStorageItem(keyToken) {
116
- const key = await this.cryptify(keyToken);
117
- window?.sessionStorage?.removeItem(key);
118
- }
119
- async cryptify(key) {
120
- return await crypto.subtle.digest('SHA-256', new TextEncoder().encode(key)).then(buffer => {
121
- return Array.from(new Uint8Array(buffer))
122
- .map(bytes => bytes.toString(16).padStart(2, '0'))
123
- .join('');
124
- });
125
- }
126
- onSlotDefaultChange() {
127
- this.slottedImage = this.host.querySelector('img');
128
- this.getAvatar();
129
- }
130
- componentWillRender() {
131
- this.slottedImage = this.host.querySelector('img');
132
- this.getAvatar();
133
- }
134
- componentDidLoad() {
135
- this.validateFirstname();
136
- this.validateLastname();
137
- this.validateUserid();
138
- this.validateEmail();
139
- }
140
- render() {
141
- const initials = this.getNames().reduce((acc, n, i) => {
142
- if (i > 0)
143
- acc.push(index.h("span", null, " "));
144
- acc.push(n.charAt(0));
145
- acc.push(index.h("span", null, n.slice(1)));
146
- // eslint-disable-next-line @stencil-community/render-returns-host
147
- return acc;
148
- }, []);
149
- return (index.h(index.Host, { "data-version": _package.version }, index.h("slot", { onSlotchange: this.onSlotDefaultChange.bind(this) }, this.avatarType === 'image' && index.h("img", { src: this.imageUrl, alt: this.imageAlt }), this.avatarType === 'initials' && index.h("div", { class: "initials" }, initials))));
150
- }
151
- get host() { return index.getElement(this); }
152
- static get watchers() { return {
153
- "firstname": ["validateFirstname"],
154
- "lastname": ["validateLastname"],
155
- "userid": ["validateUserid"],
156
- "email": ["validateEmail"]
157
- }; }
158
- };
159
- PostAvatar.INTERNAL_USERID_IMAGE_SRC = 'https://web.post.ch/UserProfileImage/{userid}.png';
160
- PostAvatar.style = PostAvatarStyle0;
161
-
162
- exports.PostAvatar = PostAvatar;