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

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 (466) hide show
  1. package/dist/cjs/{index-5d4e0aed.js → index-824d2b71.js} +12 -2
  2. package/dist/cjs/{index-010dc207.js → index-e1f32cce.js} +17 -30
  3. package/dist/cjs/index.cjs.js +26 -50
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/{package-8e810a59.js → package-3ed88bb9.js} +1 -1
  6. package/dist/cjs/{post-accordion-b9df8522.js → post-accordion-9ef382e8.js} +3 -3
  7. package/dist/cjs/post-accordion-item-5f685bee.js +52 -0
  8. package/dist/cjs/post-accordion-item.cjs.entry.js +4 -5
  9. package/dist/cjs/post-accordion.cjs.entry.js +3 -3
  10. package/dist/cjs/post-alert-88adc668.js +99 -0
  11. package/dist/cjs/{post-banner.cjs.entry.js → post-alert.cjs.entry.js} +5 -6
  12. package/dist/cjs/post-card-control-c6e5c427.js +272 -0
  13. package/dist/cjs/post-card-control.cjs.entry.js +3 -3
  14. package/dist/cjs/{post-collapsible-trigger-143cf84a.js → post-collapsible-trigger-1764e6dc.js} +24 -11
  15. package/dist/cjs/post-collapsible_2.cjs.entry.js +4 -7
  16. package/dist/cjs/post-components.cjs.js +2 -2
  17. package/dist/cjs/post-icon-f735da00.js +139 -0
  18. package/dist/cjs/post-icon.cjs.entry.js +16 -0
  19. package/dist/cjs/post-logo-2cd8ae98.js +39 -0
  20. package/dist/cjs/post-logo.cjs.entry.js +15 -0
  21. package/dist/cjs/post-popover-36c854a4.js +131 -0
  22. package/dist/cjs/post-popover.cjs.entry.js +3 -4
  23. package/dist/cjs/{post-togglebutton-0984a694.js → post-popovercontainer-cb4793c1.js} +148 -1106
  24. package/dist/cjs/post-popovercontainer.cjs.entry.js +11 -0
  25. package/dist/cjs/post-rating-d5073d8d.js +88 -0
  26. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  27. package/dist/cjs/post-tab-header-b756d9b1.js +32 -0
  28. package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
  29. package/dist/cjs/{post-tab-panel-60f211a5.js → post-tab-panel-97b79ecd.js} +3 -3
  30. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  31. package/dist/cjs/{post-tabs-1f797ce4.js → post-tabs-834497f2.js} +5 -5
  32. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  33. package/dist/cjs/post-tag-c70fb945.js +47 -0
  34. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  35. package/dist/cjs/post-tooltip-20ebe011.js +69 -0
  36. package/dist/cjs/{post-tooltip-38c839a4.js → post-tooltip-trigger-6f4c9748.js} +507 -557
  37. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +12 -0
  38. package/dist/cjs/post-tooltip.cjs.entry.js +3 -8
  39. package/dist/collection/collection-manifest.json +4 -21
  40. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  41. package/dist/collection/components/post-accordion/post-accordion.js +2 -2
  42. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  43. package/dist/collection/components/post-accordion-item/post-accordion-item.js +10 -24
  44. package/dist/collection/components/post-alert/alert-types.js +1 -0
  45. package/dist/collection/components/post-alert/post-alert.css +35 -0
  46. package/dist/collection/components/{post-banner/post-banner.js → post-alert/post-alert.js} +68 -39
  47. package/dist/collection/components/post-card-control/post-card-control.css +30 -2
  48. package/dist/collection/components/post-card-control/post-card-control.js +8 -8
  49. package/dist/collection/components/post-collapsible/post-collapsible.js +2 -4
  50. package/dist/collection/components/post-icon/post-icon.css +1 -1
  51. package/dist/collection/components/post-icon/post-icon.js +52 -13
  52. package/dist/collection/components/post-logo/post-logo.js +1 -1
  53. package/dist/collection/components/post-popover/post-popover.css +30 -2
  54. package/dist/collection/components/post-popover/post-popover.js +10 -6
  55. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +31 -1
  56. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +180 -52
  57. package/dist/collection/components/post-rating/post-rating.css +29 -1
  58. package/dist/collection/components/post-rating/post-rating.js +1 -1
  59. package/dist/collection/components/post-tab-header/post-tab-header.css +29 -1
  60. package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
  61. package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
  62. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  63. package/dist/collection/components/post-tabs/post-tabs.js +2 -2
  64. package/dist/collection/components/post-tag/post-tag.css +29 -1
  65. package/dist/collection/components/post-tag/post-tag.js +2 -2
  66. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  67. package/dist/collection/components/post-tooltip/post-tooltip.js +60 -213
  68. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.css +1 -0
  69. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +230 -0
  70. package/dist/collection/index.js +3 -20
  71. package/dist/components/index.js +3 -20
  72. package/dist/components/index2.js +1 -1
  73. package/dist/components/package.js +1 -1
  74. package/dist/components/post-accordion-item2.js +12 -30
  75. package/dist/components/post-accordion2.js +1 -1
  76. package/dist/components/{post-list.d.ts → post-alert.d.ts} +4 -4
  77. package/dist/components/post-alert.js +6 -0
  78. package/dist/components/post-alert2.js +136 -0
  79. package/dist/components/post-card-control2.js +3 -3
  80. package/dist/components/post-collapsible-trigger2.js +17 -2
  81. package/dist/components/post-collapsible2.js +3 -5
  82. package/dist/components/post-icon2.js +54 -15
  83. package/dist/components/post-logo2.js +1 -1
  84. package/dist/components/post-popover2.js +35 -8
  85. package/dist/components/post-popovercontainer2.js +136 -41
  86. package/dist/components/post-rating2.js +2 -2
  87. package/dist/components/post-tab-header2.js +2 -2
  88. package/dist/components/post-tab-panel2.js +1 -1
  89. package/dist/components/post-tabs2.js +3 -3
  90. package/dist/components/post-tag2.js +2 -2
  91. package/dist/components/{post-breadcrumb-item.d.ts → post-tooltip-trigger.d.ts} +4 -4
  92. package/dist/components/post-tooltip-trigger.js +6 -0
  93. package/dist/components/post-tooltip-trigger2.js +4968 -0
  94. package/dist/components/post-tooltip2.js +32 -4962
  95. package/dist/docs.json +401 -1776
  96. package/dist/esm/{index-b49c9904.js → index-69587a51.js} +12 -2
  97. package/dist/esm/{index-fb8d6be7.js → index-e1b64755.js} +17 -30
  98. package/dist/esm/index.js +20 -27
  99. package/dist/esm/loader.js +3 -3
  100. package/dist/esm/package-983f957d.js +3 -0
  101. package/dist/esm/{post-accordion-ee54a3ef.js → post-accordion-ad570427.js} +3 -3
  102. package/dist/esm/post-accordion-item-4db0aa2a.js +50 -0
  103. package/dist/esm/post-accordion-item.entry.js +4 -5
  104. package/dist/esm/post-accordion.entry.js +3 -3
  105. package/dist/esm/post-alert-1e9fbdfa.js +97 -0
  106. package/dist/esm/post-alert.entry.js +9 -0
  107. package/dist/esm/post-card-control-ccb189a8.js +270 -0
  108. package/dist/esm/post-card-control.entry.js +3 -3
  109. package/dist/esm/{post-collapsible-trigger-1c7833f8.js → post-collapsible-trigger-45fe328a.js} +22 -9
  110. package/dist/esm/post-collapsible_2.entry.js +4 -7
  111. package/dist/esm/post-components.js +3 -3
  112. package/dist/esm/post-icon-3fc4dd7d.js +137 -0
  113. package/dist/esm/post-icon.entry.js +8 -0
  114. package/dist/esm/post-logo-e6cdea13.js +37 -0
  115. package/dist/esm/post-logo.entry.js +7 -0
  116. package/dist/esm/post-popover-afdf4906.js +129 -0
  117. package/dist/esm/post-popover.entry.js +3 -4
  118. package/dist/esm/{post-togglebutton-395bf3f0.js → post-popovercontainer-b19b7606.js} +149 -1093
  119. package/dist/esm/post-popovercontainer.entry.js +3 -0
  120. package/dist/esm/post-rating-f60024fa.js +86 -0
  121. package/dist/esm/post-rating.entry.js +3 -3
  122. package/dist/esm/post-tab-header-333e15d5.js +30 -0
  123. package/dist/esm/post-tab-header.entry.js +3 -3
  124. package/dist/esm/{post-tab-panel-cafd9e04.js → post-tab-panel-0ddb05a2.js} +3 -3
  125. package/dist/esm/post-tab-panel.entry.js +3 -3
  126. package/dist/esm/{post-tabs-beef8eae.js → post-tabs-ab7853cf.js} +5 -5
  127. package/dist/esm/post-tabs.entry.js +3 -3
  128. package/dist/esm/post-tag-4a7d14b9.js +45 -0
  129. package/dist/esm/post-tag.entry.js +3 -3
  130. package/dist/esm/post-tooltip-c03cd719.js +67 -0
  131. package/dist/esm/{post-tooltip-b298039a.js → post-tooltip-trigger-1fefc8ad.js} +507 -557
  132. package/dist/esm/post-tooltip-trigger.entry.js +4 -0
  133. package/dist/esm/post-tooltip.entry.js +3 -8
  134. package/dist/post-components/index.esm.js +1 -1
  135. package/dist/post-components/p-0a45da5e.entry.js +1 -0
  136. package/dist/post-components/p-12e82863.entry.js +1 -0
  137. package/dist/post-components/p-1386b77d.js +1 -0
  138. package/dist/post-components/p-1528b798.js +1 -0
  139. package/dist/post-components/p-18dc1299.entry.js +1 -0
  140. package/dist/post-components/p-1a8f6c84.entry.js +1 -0
  141. package/dist/post-components/p-256453ca.js +1 -0
  142. package/dist/post-components/p-3272ebad.js +1 -0
  143. package/dist/post-components/p-3596035e.js +1 -0
  144. package/dist/post-components/p-3668f4fa.entry.js +1 -0
  145. package/dist/post-components/p-375845d4.js +1 -0
  146. package/dist/post-components/p-381de59d.entry.js +1 -0
  147. package/dist/post-components/{p-c0ae9886.js → p-3eab790d.js} +1 -1
  148. package/dist/post-components/p-4e68c514.js +1 -0
  149. package/dist/post-components/p-4eb5d9a1.entry.js +1 -0
  150. package/dist/post-components/p-61a7d216.js +1 -0
  151. package/dist/post-components/p-788e64fb.js +1 -0
  152. package/dist/post-components/p-7d5b41d1.js +1 -0
  153. package/dist/post-components/p-82ea24e7.js +1 -0
  154. package/dist/post-components/p-85c4d04f.js +1 -0
  155. package/dist/post-components/p-85c6d001.entry.js +1 -0
  156. package/dist/post-components/p-8e555dda.js +15 -0
  157. package/dist/post-components/p-962a6f36.entry.js +1 -0
  158. package/dist/post-components/p-a76c71bc.js +1 -0
  159. package/dist/post-components/p-a7e8fd41.entry.js +1 -0
  160. package/dist/post-components/p-ac216bd0.entry.js +1 -0
  161. package/dist/post-components/p-b17ecbee.entry.js +1 -0
  162. package/dist/post-components/p-bb4227ad.entry.js +1 -0
  163. package/dist/post-components/p-bc294d0b.js +1 -0
  164. package/dist/post-components/p-d0b3c5d3.entry.js +1 -0
  165. package/dist/post-components/p-d4e148d8.entry.js +1 -0
  166. package/dist/post-components/p-d9809281.js +1 -0
  167. package/dist/post-components/p-eb1e7a49.js +1 -0
  168. package/dist/post-components/p-f35291d5.entry.js +1 -0
  169. package/dist/post-components/p-fc3bfe08.js +1 -0
  170. package/dist/post-components/post-components.esm.js +1 -1
  171. package/dist/types/components/post-accordion/post-accordion.d.ts +1 -1
  172. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +1 -7
  173. package/dist/types/components/post-alert/alert-types.d.ts +2 -0
  174. package/dist/types/components/post-alert/post-alert.d.ts +54 -0
  175. package/dist/types/components/post-card-control/post-card-control.d.ts +7 -7
  176. package/dist/types/components/post-icon/post-icon.d.ts +1 -1
  177. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +31 -13
  178. package/dist/types/components/post-tag/post-tag.d.ts +1 -1
  179. package/dist/types/components/post-tooltip/post-tooltip.d.ts +20 -34
  180. package/dist/types/components/post-tooltip-trigger/post-tooltip-trigger.d.ts +47 -0
  181. package/dist/types/components.d.ts +124 -590
  182. package/dist/types/index.d.ts +3 -20
  183. package/loaders/index.d.ts +4 -38
  184. package/loaders/index.js +4 -21
  185. package/loaders/index2.js +1 -1
  186. package/loaders/package.js +1 -1
  187. package/loaders/post-accordion-item.js +82 -1
  188. package/loaders/post-accordion.js +1 -1
  189. package/loaders/{post-list.d.ts → post-alert.d.ts} +4 -4
  190. package/loaders/post-alert.js +139 -0
  191. package/loaders/post-card-control.js +3 -3
  192. package/loaders/post-collapsible-trigger2.js +17 -2
  193. package/loaders/post-collapsible2.js +3 -5
  194. package/loaders/post-icon2.js +54 -15
  195. package/loaders/post-logo.js +2 -2
  196. package/loaders/post-popover.js +35 -8
  197. package/loaders/post-popovercontainer2.js +136 -41
  198. package/loaders/post-rating.js +2 -2
  199. package/loaders/post-tab-header.js +2 -2
  200. package/loaders/post-tab-panel.js +1 -1
  201. package/loaders/post-tabs.js +3 -3
  202. package/loaders/post-tag.js +2 -2
  203. package/loaders/{post-avatar.d.ts → post-tooltip-trigger.d.ts} +4 -4
  204. package/loaders/post-tooltip-trigger.js +4971 -0
  205. package/loaders/post-tooltip.js +32 -4962
  206. package/package.json +6 -9
  207. package/dist/cjs/attribute-observer-10f08c04.js +0 -27
  208. package/dist/cjs/check-url-3ffdd2fb.js +0 -14
  209. package/dist/cjs/debounce-1151afe3.js +0 -12
  210. package/dist/cjs/get-root-7a3498ef.js +0 -11
  211. package/dist/cjs/post-accordion-item-ecc6749f.js +0 -63
  212. package/dist/cjs/post-avatar-f7236084.js +0 -148
  213. package/dist/cjs/post-avatar.cjs.entry.js +0 -13
  214. package/dist/cjs/post-back-to-top-60762f8e.js +0 -75
  215. package/dist/cjs/post-back-to-top.cjs.entry.js +0 -15
  216. package/dist/cjs/post-banner-9662f22c.js +0 -90
  217. package/dist/cjs/post-breadcrumb-b40732fc.js +0 -111
  218. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +0 -17
  219. package/dist/cjs/post-breadcrumb.cjs.entry.js +0 -13
  220. package/dist/cjs/post-card-control-039c9a4b.js +0 -272
  221. package/dist/cjs/post-closebutton_15.cjs.entry.js +0 -33
  222. package/dist/cjs/post-footer-5f7fdf96.js +0 -84
  223. package/dist/cjs/post-footer.cjs.entry.js +0 -11
  224. package/dist/cjs/post-menu-item-bb0b0b9e.js +0 -74
  225. package/dist/cjs/post-popover-d0ce9dc6.js +0 -104
  226. package/dist/cjs/post-rating-1082197c.js +0 -88
  227. package/dist/cjs/post-tab-header-4b6d8d54.js +0 -32
  228. package/dist/cjs/post-tag-ddaaaedc.js +0 -47
  229. package/dist/cjs/slide-5d51abe8.js +0 -28
  230. package/dist/collection/animations/slide.js +0 -23
  231. package/dist/collection/components/post-avatar/post-avatar.css +0 -3
  232. package/dist/collection/components/post-avatar/post-avatar.js +0 -237
  233. package/dist/collection/components/post-back-to-top/post-back-to-top.css +0 -1
  234. package/dist/collection/components/post-back-to-top/post-back-to-top.js +0 -107
  235. package/dist/collection/components/post-banner/banner-types.js +0 -1
  236. package/dist/collection/components/post-banner/post-banner.css +0 -3
  237. package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +0 -3
  238. package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +0 -161
  239. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +0 -1
  240. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +0 -93
  241. package/dist/collection/components/post-closebutton/post-closebutton.js +0 -12
  242. package/dist/collection/components/post-footer/post-footer.css +0 -1
  243. package/dist/collection/components/post-footer/post-footer.js +0 -75
  244. package/dist/collection/components/post-header/post-header.css +0 -1
  245. package/dist/collection/components/post-header/post-header.js +0 -160
  246. package/dist/collection/components/post-language-option/post-language-option.css +0 -3
  247. package/dist/collection/components/post-language-option/post-language-option.js +0 -215
  248. package/dist/collection/components/post-language-switch/post-language-switch.css +0 -1
  249. package/dist/collection/components/post-language-switch/post-language-switch.js +0 -163
  250. package/dist/collection/components/post-language-switch/switch-variants.js +0 -1
  251. package/dist/collection/components/post-list/post-list.css +0 -3
  252. package/dist/collection/components/post-list/post-list.js +0 -87
  253. package/dist/collection/components/post-list-item/post-list-item.css +0 -1
  254. package/dist/collection/components/post-list-item/post-list-item.js +0 -25
  255. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +0 -1
  256. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +0 -52
  257. package/dist/collection/components/post-megadropdown/post-megadropdown.css +0 -1
  258. package/dist/collection/components/post-megadropdown/post-megadropdown.js +0 -151
  259. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +0 -1
  260. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +0 -104
  261. package/dist/collection/components/post-menu/post-menu.css +0 -3
  262. package/dist/collection/components/post-menu/post-menu.js +0 -280
  263. package/dist/collection/components/post-menu-item/post-menu-item.css +0 -1
  264. package/dist/collection/components/post-menu-item/post-menu-item.js +0 -20
  265. package/dist/collection/components/post-menu-trigger/post-menu-trigger.css +0 -1
  266. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +0 -114
  267. package/dist/collection/components/post-togglebutton/post-togglebutton.css +0 -1
  268. package/dist/collection/components/post-togglebutton/post-togglebutton.js +0 -74
  269. package/dist/collection/utils/breakpoints.js +0 -46
  270. package/dist/collection/utils/is-focusable.js +0 -26
  271. package/dist/components/attribute-observer.js +0 -25
  272. package/dist/components/debounce.js +0 -10
  273. package/dist/components/get-root.js +0 -9
  274. package/dist/components/post-avatar.d.ts +0 -11
  275. package/dist/components/post-avatar.js +0 -6
  276. package/dist/components/post-avatar2.js +0 -173
  277. package/dist/components/post-back-to-top.d.ts +0 -11
  278. package/dist/components/post-back-to-top.js +0 -6
  279. package/dist/components/post-back-to-top2.js +0 -100
  280. package/dist/components/post-banner.d.ts +0 -11
  281. package/dist/components/post-banner.js +0 -6
  282. package/dist/components/post-banner2.js +0 -125
  283. package/dist/components/post-breadcrumb-item.js +0 -6
  284. package/dist/components/post-breadcrumb-item2.js +0 -82
  285. package/dist/components/post-breadcrumb.d.ts +0 -11
  286. package/dist/components/post-breadcrumb.js +0 -6
  287. package/dist/components/post-breadcrumb2.js +0 -168
  288. package/dist/components/post-closebutton.d.ts +0 -11
  289. package/dist/components/post-closebutton.js +0 -6
  290. package/dist/components/post-closebutton2.js +0 -34
  291. package/dist/components/post-footer.d.ts +0 -11
  292. package/dist/components/post-footer.js +0 -6
  293. package/dist/components/post-footer2.js +0 -124
  294. package/dist/components/post-header.d.ts +0 -11
  295. package/dist/components/post-header.js +0 -6
  296. package/dist/components/post-header2.js +0 -276
  297. package/dist/components/post-language-option.d.ts +0 -11
  298. package/dist/components/post-language-option.js +0 -6
  299. package/dist/components/post-language-option2.js +0 -94
  300. package/dist/components/post-language-switch.d.ts +0 -11
  301. package/dist/components/post-language-switch.js +0 -6
  302. package/dist/components/post-language-switch2.js +0 -146
  303. package/dist/components/post-list-item.d.ts +0 -11
  304. package/dist/components/post-list-item.js +0 -6
  305. package/dist/components/post-list-item2.js +0 -35
  306. package/dist/components/post-list.js +0 -6
  307. package/dist/components/post-list2.js +0 -53
  308. package/dist/components/post-mainnavigation.d.ts +0 -11
  309. package/dist/components/post-mainnavigation.js +0 -6
  310. package/dist/components/post-mainnavigation2.js +0 -48
  311. package/dist/components/post-megadropdown-trigger.d.ts +0 -11
  312. package/dist/components/post-megadropdown-trigger.js +0 -6
  313. package/dist/components/post-megadropdown-trigger2.js +0 -91
  314. package/dist/components/post-megadropdown.d.ts +0 -11
  315. package/dist/components/post-megadropdown.js +0 -6
  316. package/dist/components/post-megadropdown2.js +0 -93
  317. package/dist/components/post-menu-item.d.ts +0 -11
  318. package/dist/components/post-menu-item.js +0 -6
  319. package/dist/components/post-menu-item2.js +0 -33
  320. package/dist/components/post-menu-trigger.d.ts +0 -11
  321. package/dist/components/post-menu-trigger.js +0 -6
  322. package/dist/components/post-menu-trigger2.js +0 -102
  323. package/dist/components/post-menu.d.ts +0 -11
  324. package/dist/components/post-menu.js +0 -6
  325. package/dist/components/post-menu2.js +0 -203
  326. package/dist/components/post-togglebutton.d.ts +0 -11
  327. package/dist/components/post-togglebutton.js +0 -6
  328. package/dist/components/post-togglebutton2.js +0 -61
  329. package/dist/components/slide.js +0 -25
  330. package/dist/esm/attribute-observer-37fa950a.js +0 -25
  331. package/dist/esm/check-url-a974431e.js +0 -12
  332. package/dist/esm/debounce-abe98cc2.js +0 -10
  333. package/dist/esm/get-root-7af2e0d1.js +0 -9
  334. package/dist/esm/package-4d81f3c2.js +0 -3
  335. package/dist/esm/post-accordion-item-e10452dc.js +0 -61
  336. package/dist/esm/post-avatar-5572fa73.js +0 -146
  337. package/dist/esm/post-avatar.entry.js +0 -5
  338. package/dist/esm/post-back-to-top-1d823c43.js +0 -73
  339. package/dist/esm/post-back-to-top.entry.js +0 -7
  340. package/dist/esm/post-banner-78480475.js +0 -88
  341. package/dist/esm/post-banner.entry.js +0 -10
  342. package/dist/esm/post-breadcrumb-aaa77f74.js +0 -109
  343. package/dist/esm/post-breadcrumb-item_2.entry.js +0 -8
  344. package/dist/esm/post-breadcrumb.entry.js +0 -5
  345. package/dist/esm/post-card-control-862aa961.js +0 -270
  346. package/dist/esm/post-closebutton_15.entry.js +0 -11
  347. package/dist/esm/post-footer-b18875e7.js +0 -82
  348. package/dist/esm/post-footer.entry.js +0 -3
  349. package/dist/esm/post-menu-item-2906384b.js +0 -71
  350. package/dist/esm/post-popover-2432bb3f.js +0 -102
  351. package/dist/esm/post-rating-95cbdbb8.js +0 -86
  352. package/dist/esm/post-tab-header-dfea00ea.js +0 -30
  353. package/dist/esm/post-tag-a77e7af6.js +0 -45
  354. package/dist/esm/slide-3422b8a3.js +0 -25
  355. package/dist/post-components/p-0711f76d.entry.js +0 -1
  356. package/dist/post-components/p-095a06f6.entry.js +0 -1
  357. package/dist/post-components/p-0b5a5f32.js +0 -1
  358. package/dist/post-components/p-135fa60f.js +0 -1
  359. package/dist/post-components/p-18e38d8a.js +0 -1
  360. package/dist/post-components/p-2e1ec074.entry.js +0 -1
  361. package/dist/post-components/p-4202b433.entry.js +0 -1
  362. package/dist/post-components/p-45773f59.js +0 -1
  363. package/dist/post-components/p-4953de7e.js +0 -1
  364. package/dist/post-components/p-4f67c5f5.entry.js +0 -1
  365. package/dist/post-components/p-4f9746f6.js +0 -15
  366. package/dist/post-components/p-5075c672.entry.js +0 -1
  367. package/dist/post-components/p-515e0f96.js +0 -1
  368. package/dist/post-components/p-5467b223.js +0 -1
  369. package/dist/post-components/p-67036798.entry.js +0 -1
  370. package/dist/post-components/p-6adeaa6c.js +0 -1
  371. package/dist/post-components/p-6d953fb2.js +0 -1
  372. package/dist/post-components/p-6edb0ac5.js +0 -1
  373. package/dist/post-components/p-6f8f39ca.js +0 -1
  374. package/dist/post-components/p-7503a623.js +0 -1
  375. package/dist/post-components/p-761b24c7.entry.js +0 -1
  376. package/dist/post-components/p-77c4c1d2.js +0 -1
  377. package/dist/post-components/p-7cf0c2ad.js +0 -1
  378. package/dist/post-components/p-856c14d6.entry.js +0 -1
  379. package/dist/post-components/p-866bf50a.entry.js +0 -1
  380. package/dist/post-components/p-8d621781.js +0 -1
  381. package/dist/post-components/p-8fe2d72c.entry.js +0 -1
  382. package/dist/post-components/p-9ad5088f.entry.js +0 -1
  383. package/dist/post-components/p-a1d2b90e.js +0 -1
  384. package/dist/post-components/p-a521419d.entry.js +0 -1
  385. package/dist/post-components/p-aa538648.js +0 -1
  386. package/dist/post-components/p-afdbee2f.js +0 -1
  387. package/dist/post-components/p-b02817f2.entry.js +0 -1
  388. package/dist/post-components/p-b157dcba.entry.js +0 -1
  389. package/dist/post-components/p-b22656b1.js +0 -1
  390. package/dist/post-components/p-bdbd11cb.js +0 -1
  391. package/dist/post-components/p-c537e196.entry.js +0 -1
  392. package/dist/post-components/p-d4f93f2b.js +0 -1
  393. package/dist/post-components/p-dca4246a.entry.js +0 -1
  394. package/dist/post-components/p-f319b026.js +0 -1
  395. package/dist/post-components/p-f4b7b379.js +0 -1
  396. package/dist/post-components/p-fac66087.entry.js +0 -1
  397. package/dist/post-components/p-fc91cbc2.js +0 -1
  398. package/dist/types/animations/slide.d.ts +0 -2
  399. package/dist/types/components/post-avatar/post-avatar.d.ts +0 -51
  400. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +0 -19
  401. package/dist/types/components/post-banner/banner-types.d.ts +0 -2
  402. package/dist/types/components/post-banner/post-banner.d.ts +0 -49
  403. package/dist/types/components/post-breadcrumb/post-breadcrumb.d.ts +0 -30
  404. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +0 -16
  405. package/dist/types/components/post-closebutton/post-closebutton.d.ts +0 -7
  406. package/dist/types/components/post-footer/post-footer.d.ts +0 -23
  407. package/dist/types/components/post-header/post-header.d.ts +0 -24
  408. package/dist/types/components/post-language-option/post-language-option.d.ts +0 -45
  409. package/dist/types/components/post-language-switch/post-language-switch.d.ts +0 -31
  410. package/dist/types/components/post-language-switch/switch-variants.d.ts +0 -2
  411. package/dist/types/components/post-list/post-list.d.ts +0 -24
  412. package/dist/types/components/post-list-item/post-list-item.d.ts +0 -8
  413. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +0 -19
  414. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +0 -35
  415. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +0 -25
  416. package/dist/types/components/post-menu/post-menu.d.ts +0 -48
  417. package/dist/types/components/post-menu-item/post-menu-item.d.ts +0 -4
  418. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +0 -27
  419. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +0 -15
  420. package/dist/types/utils/breakpoints.d.ts +0 -11
  421. package/dist/types/utils/is-focusable.d.ts +0 -1
  422. package/loaders/attribute-observer.js +0 -25
  423. package/loaders/debounce.js +0 -10
  424. package/loaders/get-root.js +0 -9
  425. package/loaders/post-accordion-item2.js +0 -102
  426. package/loaders/post-avatar.js +0 -176
  427. package/loaders/post-back-to-top.d.ts +0 -11
  428. package/loaders/post-back-to-top.js +0 -103
  429. package/loaders/post-banner.d.ts +0 -11
  430. package/loaders/post-banner.js +0 -128
  431. package/loaders/post-breadcrumb-item.d.ts +0 -11
  432. package/loaders/post-breadcrumb-item.js +0 -6
  433. package/loaders/post-breadcrumb-item2.js +0 -82
  434. package/loaders/post-breadcrumb.d.ts +0 -11
  435. package/loaders/post-breadcrumb.js +0 -171
  436. package/loaders/post-closebutton.d.ts +0 -11
  437. package/loaders/post-closebutton.js +0 -37
  438. package/loaders/post-footer.d.ts +0 -11
  439. package/loaders/post-footer.js +0 -127
  440. package/loaders/post-header.d.ts +0 -11
  441. package/loaders/post-header.js +0 -279
  442. package/loaders/post-language-option.d.ts +0 -11
  443. package/loaders/post-language-option.js +0 -97
  444. package/loaders/post-language-switch.d.ts +0 -11
  445. package/loaders/post-language-switch.js +0 -149
  446. package/loaders/post-list-item.d.ts +0 -11
  447. package/loaders/post-list-item.js +0 -38
  448. package/loaders/post-list.js +0 -56
  449. package/loaders/post-mainnavigation.d.ts +0 -11
  450. package/loaders/post-mainnavigation.js +0 -51
  451. package/loaders/post-megadropdown-trigger.d.ts +0 -11
  452. package/loaders/post-megadropdown-trigger.js +0 -94
  453. package/loaders/post-megadropdown.d.ts +0 -11
  454. package/loaders/post-megadropdown.js +0 -96
  455. package/loaders/post-menu-item.d.ts +0 -11
  456. package/loaders/post-menu-item.js +0 -6
  457. package/loaders/post-menu-item2.js +0 -33
  458. package/loaders/post-menu-trigger.d.ts +0 -11
  459. package/loaders/post-menu-trigger.js +0 -6
  460. package/loaders/post-menu-trigger2.js +0 -102
  461. package/loaders/post-menu.d.ts +0 -11
  462. package/loaders/post-menu.js +0 -6
  463. package/loaders/post-menu2.js +0 -203
  464. package/loaders/post-togglebutton.d.ts +0 -11
  465. package/loaders/post-togglebutton.js +0 -64
  466. package/loaders/slide.js +0 -25
@@ -1 +0,0 @@
1
- :host{display:inline-block}
@@ -1,114 +0,0 @@
1
- import { h, Host } from "@stencil/core";
2
- import { version } from "../../../../package";
3
- import { checkType, getRoot } from "../../utils/index";
4
- export class PostMenuTrigger {
5
- constructor() {
6
- /**
7
- * Reference to the slotted button within the trigger, if present.
8
- * Used to manage click and key events for menu control.
9
- */
10
- this.slottedButton = null;
11
- this.handleKeyDown = (e) => {
12
- if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
13
- e.preventDefault();
14
- this.handleToggle();
15
- }
16
- };
17
- this.for = undefined;
18
- this.ariaExpanded = false;
19
- }
20
- /**
21
- * Watch for changes to the `for` property to validate its type and ensure it is a string.
22
- * @param forValue - The new value of the `for` property.
23
- */
24
- validateControlFor(forValue = this.for) {
25
- checkType(forValue, 'string', 'The "for" property is required and should be a string.');
26
- }
27
- get menu() {
28
- const ref = this.root.getElementById(this.for);
29
- return ref && ref.localName === 'post-menu' ? ref : null;
30
- }
31
- handleToggle() {
32
- const menu = this.menu;
33
- if (menu && this.slottedButton) {
34
- this.ariaExpanded = !this.ariaExpanded;
35
- this.slottedButton.setAttribute('aria-expanded', this.ariaExpanded.toString());
36
- menu.toggle(this.host);
37
- }
38
- else {
39
- console.warn(`No post-menu found with ID: ${this.for}`);
40
- }
41
- }
42
- componentDidLoad() {
43
- this.root = getRoot(this.host);
44
- this.validateControlFor();
45
- this.slottedButton = this.host.querySelector('button');
46
- // Check if the slottedButton is within a web component
47
- if (!this.slottedButton) {
48
- const webComponent = this.host.querySelector('.menu-trigger-webc');
49
- if (webComponent.shadowRoot) {
50
- const slottedButton = webComponent.shadowRoot.querySelector('button');
51
- if (slottedButton) {
52
- this.slottedButton = slottedButton;
53
- }
54
- }
55
- }
56
- if (this.slottedButton) {
57
- this.slottedButton.setAttribute('aria-haspopup', 'menu');
58
- this.slottedButton.addEventListener('click', () => {
59
- this.handleToggle();
60
- });
61
- this.slottedButton.addEventListener('keydown', this.handleKeyDown);
62
- }
63
- else {
64
- console.warn('No button found within post-menu-trigger');
65
- }
66
- }
67
- render() {
68
- return (h(Host, { key: '64e9e7e6448160c7b52fc732b5107e94e9776678', "data-version": version, "tab-index": "-1" }, h("slot", { key: '711d641147cec0c26c7a3917f9302f1bbbee0d73' })));
69
- }
70
- static get is() { return "post-menu-trigger"; }
71
- static get originalStyleUrls() {
72
- return {
73
- "$": ["post-menu-trigger.scss"]
74
- };
75
- }
76
- static get styleUrls() {
77
- return {
78
- "$": ["post-menu-trigger.css"]
79
- };
80
- }
81
- static get properties() {
82
- return {
83
- "for": {
84
- "type": "string",
85
- "mutable": false,
86
- "complexType": {
87
- "original": "string",
88
- "resolved": "string",
89
- "references": {}
90
- },
91
- "required": true,
92
- "optional": false,
93
- "docs": {
94
- "tags": [],
95
- "text": "ID of the menu element that this trigger is linked to. Used to open and close the specified menu."
96
- },
97
- "attribute": "for",
98
- "reflect": false
99
- }
100
- };
101
- }
102
- static get states() {
103
- return {
104
- "ariaExpanded": {}
105
- };
106
- }
107
- static get elementRef() { return "host"; }
108
- static get watchers() {
109
- return [{
110
- "propName": "for",
111
- "methodName": "validateControlFor"
112
- }];
113
- }
114
- }
@@ -1 +0,0 @@
1
- :host{cursor:pointer;outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host(:focus-visible){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:focus-visible){outline-color:Highlight !important}}:host([aria-pressed=true]) ::slotted([data-showwhen=untoggled]){display:none}:host([aria-pressed=false]) ::slotted([data-showwhen=toggled]){display:none}
@@ -1,74 +0,0 @@
1
- import { Host, h } from "@stencil/core";
2
- import { version } from "../../../../package";
3
- import { checkType } from "../../utils/index";
4
- /**
5
- * @slot default - Slot for the content of the button.
6
- */
7
- export class PostTogglebutton {
8
- constructor() {
9
- this.handleClick = () => {
10
- this.toggled = !this.toggled;
11
- };
12
- this.handleKeydown = (event) => {
13
- // perform a click when enter or spaced are pressed to mimic the button behavior
14
- if (event.key === 'Enter' || event.key === ' ') {
15
- event.preventDefault(); // prevents the page from scrolling when space is pressed
16
- this.host.click();
17
- }
18
- };
19
- this.toggled = false;
20
- }
21
- validateToggled(value = this.toggled) {
22
- checkType(value, 'boolean', 'The "toggled" property of the post-togglebutton must be a boolean.');
23
- }
24
- componentWillLoad() {
25
- this.validateToggled();
26
- // add event listener to not override listener that might be set on the host
27
- this.host.addEventListener('click', () => this.handleClick());
28
- this.host.addEventListener('keydown', (e) => this.handleKeydown(e));
29
- }
30
- render() {
31
- return (h(Host, { key: 'f20b7e5f7cd14c1b0addf12600df27e7e5dab841', slot: "post-togglebutton", "data-version": version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, h("slot", { key: '526540ce9a66fa08f0142e674811fe88e3abcfa6' })));
32
- }
33
- static get is() { return "post-togglebutton"; }
34
- static get encapsulation() { return "shadow"; }
35
- static get originalStyleUrls() {
36
- return {
37
- "$": ["post-togglebutton.scss"]
38
- };
39
- }
40
- static get styleUrls() {
41
- return {
42
- "$": ["post-togglebutton.css"]
43
- };
44
- }
45
- static get properties() {
46
- return {
47
- "toggled": {
48
- "type": "boolean",
49
- "mutable": true,
50
- "complexType": {
51
- "original": "boolean",
52
- "resolved": "boolean",
53
- "references": {}
54
- },
55
- "required": false,
56
- "optional": false,
57
- "docs": {
58
- "tags": [],
59
- "text": "If `true`, the button is in the \"on\" state, otherwise it is in the \"off\" state."
60
- },
61
- "attribute": "toggled",
62
- "reflect": false,
63
- "defaultValue": "false"
64
- }
65
- };
66
- }
67
- static get elementRef() { return "host"; }
68
- static get watchers() {
69
- return [{
70
- "propName": "toggled",
71
- "methodName": "validateToggled"
72
- }];
73
- }
74
- }
@@ -1,46 +0,0 @@
1
- export class Breakpoint {
2
- constructor() {
3
- this.current = {
4
- key: '',
5
- name: '',
6
- };
7
- if (!this.breakpointMap) {
8
- const styles = getComputedStyle(document.documentElement);
9
- const keys = styles.getPropertyValue('--post-breakpoint-keys').split(', ');
10
- const names = styles.getPropertyValue('--post-breakpoint-names').split(', ');
11
- this.breakpointMap = styles
12
- .getPropertyValue('--post-breakpoint-widths')
13
- .split(', ')
14
- .map((width, i) => {
15
- return {
16
- minWidth: Number(width),
17
- key: keys[i],
18
- name: names[i],
19
- };
20
- })
21
- .reverse();
22
- window.addEventListener('resize', () => this.updateHandler(), { passive: true });
23
- }
24
- }
25
- updateHandler(emitEvents = true) {
26
- const calculated = this.breakpointMap.find(({ minWidth }) => innerWidth >= minWidth);
27
- if (this.current.key !== calculated.key) {
28
- this.current.key = calculated.key;
29
- if (emitEvents)
30
- this.dispatchEvent('key');
31
- }
32
- if (this.current.name !== calculated.name) {
33
- this.current.name = calculated.name;
34
- if (emitEvents)
35
- this.dispatchEvent('name');
36
- }
37
- }
38
- dispatchEvent(type) {
39
- window.dispatchEvent(new CustomEvent(`postBreakpoint:${type}`, { detail: this.current[type] }));
40
- }
41
- get(type) {
42
- this.updateHandler(false);
43
- return this.current[type];
44
- }
45
- }
46
- export const breakpoint = new Breakpoint();
@@ -1,26 +0,0 @@
1
- const focusableSelector = `:where(${[
2
- 'button',
3
- 'input:not([type="hidden"])',
4
- '[tabindex]',
5
- 'select',
6
- 'textarea',
7
- '[contenteditable]',
8
- 'a[href]',
9
- 'iframe',
10
- 'audio[controls]',
11
- 'video[controls]',
12
- 'area[href]',
13
- 'details > summary:first-of-type',
14
- ].join(',')})`;
15
- const focusDisablingSelector = `:where(${[
16
- '[inert]',
17
- '[inert] *',
18
- ':disabled',
19
- 'dialog:not([open]) *',
20
- '[popover]:not(:popover-open) *',
21
- 'details:not([open]) > *:not(details > summary:first-of-type)',
22
- 'details:not([open]) > *:not(details > summary:first-of-type) *',
23
- ].join(',')})`;
24
- export const isFocusable = (element) => {
25
- return (element === null || element === void 0 ? void 0 : element.matches(focusableSelector)) && !(element === null || element === void 0 ? void 0 : element.matches(focusDisablingSelector));
26
- };
@@ -1,25 +0,0 @@
1
- const getAttributeObserver = (attribute, handler) => {
2
- /**
3
- * Handle attribute changes and childList changes from the observer
4
- * @param {MutationRecord[]} mutationList
5
- */
6
- const observerHandler = (mutationList) => {
7
- mutationList.forEach(mutation => {
8
- if (mutation.type === 'attributes' && mutation.attributeName === attribute) {
9
- handler(mutation.target);
10
- }
11
- if (mutation.type === 'childList') {
12
- mutation.addedNodes.forEach(node => {
13
- if (node.nodeType === Node.ELEMENT_NODE &&
14
- node.hasAttribute(attribute)) {
15
- handler(node);
16
- }
17
- });
18
- }
19
- });
20
- };
21
- // Initialize a mutation observer for patching accessibility features
22
- return new MutationObserver(observerHandler);
23
- };
24
-
25
- export { getAttributeObserver as g };
@@ -1,10 +0,0 @@
1
- function debounce(callback, timeout = 200) {
2
- let id;
3
- return (...args) => {
4
- if (id)
5
- clearTimeout(id);
6
- id = setTimeout(callback, timeout, ...args);
7
- };
8
- }
9
-
10
- export { debounce as d };
@@ -1,9 +0,0 @@
1
- function getRoot(element) {
2
- const root = element.getRootNode();
3
- if (root instanceof Document || root instanceof ShadowRoot) {
4
- return root;
5
- }
6
- throw new Error('Attempting to access root node before the element is attached to the document or shadow tree.');
7
- }
8
-
9
- export { getRoot as g };
@@ -1,11 +0,0 @@
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;
@@ -1,6 +0,0 @@
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 };
@@ -1,173 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { v as version } from './package.js';
3
- import { c as checkNonEmpty } from './check-non-empty.js';
4
-
5
- const postAvatarCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{--post-avatar-bg:var(--post-scheme-color-interactive-primary-enabled-bg2);--post-avatar-fg:var(--post-scheme-color-interactive-primary-enabled-fg3);display:inline-flex;position:relative;width:var(--post-device-sizing-interactive-icon-size3);height:var(--post-device-sizing-interactive-icon-size3);background-color:var(--post-scheme-color-interactive-primary-enabled-stroke3);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-enabled-stroke3);border-radius:var(--post-device-border-radius-round);font-size:var(--post-device-font-size-8);vertical-align:top;line-height:1}:host::after{display:block;content:\"\";position:absolute;inset:0;z-index:1;border-radius:inherit}*,*::before,*::after{box-sizing:border-box}slot,img,::slotted(img){display:block;width:100%;height:100%}img,::slotted(img){border-radius:var(--post-device-border-radius-round)}::slotted(:not(img)){display:none !important}.initials{display:flex;justify-content:center;align-items:center;position:relative;z-index:2;width:100%;height:100%;background-color:var(--post-avatar-bg);border-radius:var(--post-device-border-radius-round);color:var(--post-avatar-fg);text-transform:uppercase}.initials span{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.initials span:not(caption){position:absolute !important}";
6
- const PostAvatarStyle0 = postAvatarCss;
7
-
8
- // https://docs.gravatar.com/api/avatars/images/
9
- const GRAVATAR_DEFAULT = '404';
10
- const GRAVATAR_RATING = 'g';
11
- const GRAVATAR_SIZE = 80;
12
- const GRAVATAR_BASE_URL = `https://www.gravatar.com/avatar/{email}?s=${GRAVATAR_SIZE}&d=${GRAVATAR_DEFAULT}&r=${GRAVATAR_RATING}`;
13
- var AvatarType;
14
- (function (AvatarType) {
15
- AvatarType["Slotted"] = "slotted";
16
- AvatarType["Image"] = "image";
17
- AvatarType["Initials"] = "initials";
18
- AvatarType[AvatarType["Null"] = null] = "Null";
19
- })(AvatarType || (AvatarType = {}));
20
- const PostAvatar = /*@__PURE__*/ proxyCustomElement(class PostAvatar extends HTMLElement {
21
- constructor() {
22
- super();
23
- this.__registerHost();
24
- this.__attachShadow();
25
- this.firstname = undefined;
26
- this.lastname = undefined;
27
- this.userid = undefined;
28
- this.email = undefined;
29
- this.slottedImage = undefined;
30
- this.avatarType = null;
31
- this.imageUrl = '';
32
- this.imageAlt = '';
33
- this.initials = '';
34
- }
35
- validateFirstname() {
36
- checkNonEmpty(this.firstname, 'The `firstname` property of the `post-avatar` is required!');
37
- }
38
- async getAvatar() {
39
- if (this.slottedImage !== null) {
40
- this.avatarType = AvatarType.Slotted;
41
- }
42
- else {
43
- let imageLoaded = false;
44
- if (!imageLoaded && this.userid)
45
- imageLoaded = await this.getImageByProp(this.userid, this.fetchImageByUserId.bind(this));
46
- if (!imageLoaded && this.email)
47
- imageLoaded = await this.getImageByProp(this.email, this.fetchImageByEmail.bind(this));
48
- if (!imageLoaded)
49
- this.getAvatarByInitials();
50
- }
51
- }
52
- async getImageByProp(prop, fetchImage) {
53
- var _a;
54
- if (!prop)
55
- return false;
56
- const imageResponse = (_a = (await this.getStorageItem(prop))) !== null && _a !== void 0 ? _a : { ok: false, url: '' };
57
- if (!imageResponse.ok) {
58
- try {
59
- const r = await fetchImage();
60
- imageResponse.ok = r.ok;
61
- imageResponse.url = r.url;
62
- this.imageUrl = imageResponse.url;
63
- this.imageAlt = `${this.firstname} ${this.lastname} avatar`;
64
- this.avatarType = AvatarType.Image;
65
- this.setStorageItem(this.userid, JSON.stringify(imageResponse));
66
- }
67
- catch (error) {
68
- this.removeStorageItem(prop);
69
- console.info(`Loading avatar by type "${AvatarType.Image}" failed.`);
70
- }
71
- }
72
- return imageResponse.ok;
73
- }
74
- async fetchImageByUserId() {
75
- return await fetch(PostAvatar.INTERNAL_USERID_IMAGE_SRC.replace('{userid}', encodeURIComponent(this.userid)));
76
- }
77
- async fetchImageByEmail() {
78
- const email = await this.cryptify(this.email);
79
- const imageUrl = GRAVATAR_BASE_URL.replace('{email}', email);
80
- return await fetch(imageUrl);
81
- }
82
- getAvatarByInitials() {
83
- this.initials = this.getInitials();
84
- this.avatarType = AvatarType.Initials;
85
- }
86
- getNames() {
87
- return [this.firstname, this.lastname].filter(n => n);
88
- }
89
- getInitials() {
90
- return this.getNames()
91
- .map(n => n.charAt(0))
92
- .join('')
93
- .trim();
94
- }
95
- async getStorageItem(keyToken) {
96
- var _a;
97
- const key = await this.cryptify(keyToken);
98
- const value = (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.getItem(key);
99
- return value ? JSON.parse(value) : null;
100
- }
101
- async setStorageItem(keyToken, value) {
102
- var _a;
103
- const key = await this.cryptify(keyToken);
104
- (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.setItem(key, value);
105
- }
106
- async removeStorageItem(keyToken) {
107
- var _a;
108
- const key = await this.cryptify(keyToken);
109
- (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.removeItem(key);
110
- }
111
- async cryptify(key) {
112
- return await crypto.subtle.digest('SHA-256', new TextEncoder().encode(key)).then(buffer => {
113
- return Array.from(new Uint8Array(buffer))
114
- .map(bytes => bytes.toString(16).padStart(2, '0'))
115
- .join('');
116
- });
117
- }
118
- onSlotDefaultChange() {
119
- this.slottedImage = this.host.querySelector('img');
120
- this.getAvatar();
121
- }
122
- componentWillRender() {
123
- this.slottedImage = this.host.querySelector('img');
124
- this.getAvatar();
125
- }
126
- componentDidLoad() {
127
- this.validateFirstname();
128
- }
129
- render() {
130
- const initials = this.getNames().reduce((acc, n, i) => {
131
- if (i > 0)
132
- acc.push(h("span", null, " "));
133
- acc.push(n.charAt(0));
134
- acc.push(h("span", null, n.slice(1)));
135
- // eslint-disable-next-line @stencil-community/render-returns-host
136
- return acc;
137
- }, []);
138
- return (h(Host, { "data-version": version }, h("slot", { onSlotchange: this.onSlotDefaultChange.bind(this) }, this.avatarType === 'image' && h("img", { src: this.imageUrl, alt: this.imageAlt }), this.avatarType === 'initials' && h("div", { class: "initials" }, initials))));
139
- }
140
- get host() { return this; }
141
- static get watchers() { return {
142
- "firstname": ["validateFirstname"]
143
- }; }
144
- static get style() { return PostAvatarStyle0; }
145
- }, [1, "post-avatar", {
146
- "firstname": [1],
147
- "lastname": [1],
148
- "userid": [1],
149
- "email": [1],
150
- "slottedImage": [32],
151
- "avatarType": [32],
152
- "imageUrl": [32],
153
- "imageAlt": [32],
154
- "initials": [32]
155
- }, undefined, {
156
- "firstname": ["validateFirstname"]
157
- }]);
158
- PostAvatar.INTERNAL_USERID_IMAGE_SRC = 'https://web.post.ch/UserProfileImage/{userid}.png';
159
- function defineCustomElement() {
160
- if (typeof customElements === "undefined") {
161
- return;
162
- }
163
- const components = ["post-avatar"];
164
- components.forEach(tagName => { switch (tagName) {
165
- case "post-avatar":
166
- if (!customElements.get(tagName)) {
167
- customElements.define(tagName, PostAvatar);
168
- }
169
- break;
170
- } });
171
- }
172
-
173
- export { PostAvatar as P, defineCustomElement as d };
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface PostBackToTop extends Components.PostBackToTop, HTMLElement {}
4
- export const PostBackToTop: {
5
- prototype: PostBackToTop;
6
- new (): PostBackToTop;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1,6 +0,0 @@
1
- import { P as PostBackToTop$1, d as defineCustomElement$1 } from './post-back-to-top2.js';
2
-
3
- const PostBackToTop = PostBackToTop$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { PostBackToTop, defineCustomElement };
@@ -1,100 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { s as slideUp, a as slideDown } from './slide.js';
3
- import { v as version } from './package.js';
4
- import { c as checkType } from './check-type.js';
5
- import { c as checkNonEmpty } from './check-non-empty.js';
6
- import { d as defineCustomElement$1 } from './post-icon2.js';
7
-
8
- const postBackToTopCss = ":host{--post-floating-button-translate-y:calc(-1 * var(--post-core-dimension-112));position:fixed;top:var(--post-device-position-1);right:var(--post-device-position-1)}:host .back-to-top{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;box-shadow:.5px 3px 4px rgba(0,0,0,.1),2px 4px 10px 4px rgba(0,0,0,.12);cursor:pointer;border-radius:var(--post-device-border-radius-round);width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg);display:flex;align-items:center;justify-content:center}:host .back-to-top{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}:host .back-to-top:hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}:host .back-to-top post-icon{height:var(--post-device-sizing-interactive-button-icon-3);width:var(--post-device-sizing-interactive-button-icon-3)}:host .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}";
9
- const PostBackToTopStyle0 = postBackToTopCss;
10
-
11
- const PostBackToTop = /*@__PURE__*/ proxyCustomElement(class PostBackToTop extends HTMLElement {
12
- constructor() {
13
- super();
14
- this.__registerHost();
15
- this.__attachShadow();
16
- this.handleScroll = () => {
17
- this.belowFold = this.isBelowFold();
18
- };
19
- this.label = undefined;
20
- this.belowFold = false;
21
- }
22
- isBelowFold() {
23
- return window.scrollY > window.innerHeight;
24
- }
25
- // Watch for changes in belowFold
26
- watchBelowFold(newValue) {
27
- if (newValue) {
28
- slideUp(this.el, this.translateY);
29
- }
30
- else {
31
- slideDown(this.el, this.translateY);
32
- }
33
- }
34
- scrollToTop() {
35
- window.scrollTo({
36
- top: 0,
37
- });
38
- }
39
- // Validate the label
40
- validateLabel() {
41
- checkType(this.label, 'string', 'The label property of the Back to Top component is required for accessibility purposes. Please ensure it is set.');
42
- checkNonEmpty(this.label, 'The label property of the Back to Top component must not be empty. Please provide a proper text for the label');
43
- }
44
- // Set the initial state
45
- componentWillLoad() {
46
- this.belowFold = this.isBelowFold();
47
- }
48
- componentDidLoad() {
49
- window.addEventListener('scroll', this.handleScroll, false);
50
- this.translateY = window
51
- .getComputedStyle(this.el)
52
- .getPropertyValue('--post-floating-button-translate-y');
53
- if (!this.belowFold) {
54
- this.el.style.transform = `translateY(${this.translateY})`;
55
- }
56
- // Initial load
57
- if (this.belowFold) {
58
- slideUp(this.el, this.translateY);
59
- }
60
- this.validateLabel();
61
- }
62
- disconnectedCallback() {
63
- window.removeEventListener('scroll', this.handleScroll);
64
- }
65
- render() {
66
- return (h(Host, { key: '92d56ff9055c2af38ae47b28c3af20771eed9a39', "data-version": version }, h("button", { key: 'ae305dd5b5a3f8d97553945e547ad45e824e6b7d', class: "back-to-top", "aria-hidden": this.belowFold ? 'false' : 'true', tabindex: this.belowFold ? '0' : '-1', onClick: this.scrollToTop }, h("post-icon", { key: '37792f99d6ef79df4260f6ad1c5780e545f7870a', "aria-hidden": "true", name: "3026" }), h("span", { key: '8768101a26e259c2bd0695a97e6bb4077ad31ae6', class: "visually-hidden" }, this.label))));
67
- }
68
- get el() { return this; }
69
- static get watchers() { return {
70
- "belowFold": ["watchBelowFold"],
71
- "label": ["validateLabel"]
72
- }; }
73
- static get style() { return PostBackToTopStyle0; }
74
- }, [1, "post-back-to-top", {
75
- "label": [1],
76
- "belowFold": [32]
77
- }, undefined, {
78
- "belowFold": ["watchBelowFold"],
79
- "label": ["validateLabel"]
80
- }]);
81
- function defineCustomElement() {
82
- if (typeof customElements === "undefined") {
83
- return;
84
- }
85
- const components = ["post-back-to-top", "post-icon"];
86
- components.forEach(tagName => { switch (tagName) {
87
- case "post-back-to-top":
88
- if (!customElements.get(tagName)) {
89
- customElements.define(tagName, PostBackToTop);
90
- }
91
- break;
92
- case "post-icon":
93
- if (!customElements.get(tagName)) {
94
- defineCustomElement$1();
95
- }
96
- break;
97
- } });
98
- }
99
-
100
- export { PostBackToTop as P, defineCustomElement as d };
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface PostBanner extends Components.PostBanner, HTMLElement {}
4
- export const PostBanner: {
5
- prototype: PostBanner;
6
- new (): PostBanner;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1,6 +0,0 @@
1
- import { P as PostBanner$1, d as defineCustomElement$1 } from './post-banner2.js';
2
-
3
- const PostBanner = PostBanner$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { PostBanner, defineCustomElement };