@swisspost/design-system-components 10.0.0-next.40 → 10.0.0-next.42

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 (436) 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 -309
  5. package/dist/cjs/index.cjs.js +0 -70
  6. package/dist/cjs/loader.cjs.js +3 -6
  7. package/dist/cjs/{package-b731881e.js → package-C_aBW878.js} +1 -1
  8. package/dist/cjs/post-accordion_2.cjs.entry.js +177 -10
  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.js +39 -23
  30. package/dist/collection/components/post-accordion-item/post-accordion-item.js +26 -11
  31. package/dist/collection/components/post-avatar/post-avatar.js +12 -9
  32. package/dist/collection/components/post-back-to-top/post-back-to-top.js +4 -3
  33. package/dist/collection/components/post-banner/post-banner.js +18 -9
  34. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +4 -6
  35. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
  36. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +13 -9
  37. package/dist/collection/components/post-card-control/post-card-control.js +33 -16
  38. package/dist/collection/components/post-collapsible/post-collapsible.js +6 -1
  39. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +21 -9
  40. package/dist/collection/components/post-footer/post-footer.js +8 -7
  41. package/dist/collection/components/post-header/post-header.css +1 -1
  42. package/dist/collection/components/post-header/post-header.js +28 -16
  43. package/dist/collection/components/post-icon/post-icon.js +66 -54
  44. package/dist/collection/components/post-language-option/post-language-option.css +1 -1
  45. package/dist/collection/components/post-language-option/post-language-option.js +17 -13
  46. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
  47. package/dist/collection/components/post-language-switch/post-language-switch.js +43 -24
  48. package/dist/collection/components/post-list/post-list.js +12 -3
  49. package/dist/collection/components/post-logo/post-logo.js +3 -4
  50. package/dist/collection/components/post-megadropdown/post-megadropdown.js +12 -6
  51. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +34 -20
  52. package/dist/collection/components/post-menu/post-menu.css +1 -1
  53. package/dist/collection/components/post-menu/post-menu.js +43 -21
  54. package/dist/collection/components/post-menu-item/post-menu-item.css +1 -0
  55. package/dist/collection/components/post-menu-item/post-menu-item.js +11 -1
  56. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +9 -5
  57. package/dist/collection/components/post-popover/post-popover.js +19 -5
  58. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  59. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +44 -16
  60. package/dist/collection/components/post-rating/post-rating.js +25 -5
  61. package/dist/collection/components/post-tab-header/post-tab-header.js +4 -6
  62. package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -6
  63. package/dist/collection/components/post-tabs/post-tabs.js +4 -3
  64. package/dist/collection/components/post-tag/post-tag.js +11 -9
  65. package/dist/collection/components/post-togglebutton/post-togglebutton.js +7 -2
  66. package/dist/collection/components/post-tooltip/post-tooltip.js +24 -6
  67. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +20 -12
  68. package/dist/collection/index.js +1 -37
  69. package/dist/collection/utils/breakpoints.js +38 -45
  70. package/dist/collection/utils/event-from.js +103 -0
  71. package/dist/collection/utils/index.js +1 -1
  72. package/dist/components/index.js +2315 -37
  73. package/{loaders/post-icon2.js → dist/components/p-47N0HfyR.js} +52 -54
  74. package/dist/components/p-8U5GFtQP.js +105 -0
  75. package/{loaders/post-breadcrumb-item2.js → dist/components/p-BGbm-LIm.js} +9 -11
  76. package/dist/components/p-BQFahg8B.js +3 -0
  77. package/dist/components/p-BTDGpxKD.js +31 -0
  78. package/dist/components/{post-menu2.js → p-BTuwEPwo.js} +51 -30
  79. package/dist/{esm/index-ffccd040.js → components/p-CV7fm1rW.js} +1 -1
  80. package/dist/components/p-Cx0AiN2A.js +182 -0
  81. package/dist/components/{post-accordion-item2.js → p-D2S8TlQo.js} +32 -21
  82. package/dist/components/{get-root.js → p-DBHo9yGF.js} +1 -1
  83. package/dist/components/{post-menu-trigger2.js → p-DEBPuQvD.js} +14 -12
  84. package/dist/components/{post-collapsible-trigger2.js → p-DS1BUsT3.js} +25 -14
  85. package/dist/components/{post-accordion2.js → p-Df_aJQyq.js} +41 -28
  86. package/{loaders/post-collapsible2.js → dist/components/p-DrzP02ul.js} +11 -8
  87. package/dist/components/{post-popovercontainer2.js → p-Dzrd8BSS.js} +246 -278
  88. package/dist/components/post-accordion-item.js +1 -1
  89. package/dist/components/post-accordion.js +1 -1
  90. package/dist/components/post-avatar.js +183 -1
  91. package/dist/components/post-back-to-top.js +115 -1
  92. package/dist/components/post-banner.js +120 -1
  93. package/dist/components/post-breadcrumb-item.js +1 -1
  94. package/dist/components/post-breadcrumbs.js +182 -1
  95. package/dist/components/post-card-control.js +322 -1
  96. package/dist/components/post-closebutton.js +37 -1
  97. package/dist/components/post-collapsible-trigger.js +1 -1
  98. package/dist/components/post-collapsible.js +1 -1
  99. package/dist/components/post-footer.js +112 -1
  100. package/dist/components/post-header.js +273 -1
  101. package/dist/components/post-icon.js +1 -1
  102. package/dist/components/post-language-option.js +96 -1
  103. package/dist/components/post-language-switch.js +154 -1
  104. package/dist/components/post-linkarea.js +41 -1
  105. package/dist/components/post-list-item.js +34 -1
  106. package/dist/components/post-list.js +57 -1
  107. package/dist/components/post-logo.js +54 -1
  108. package/dist/components/post-mainnavigation.js +181 -1
  109. package/dist/components/post-megadropdown-trigger.js +132 -1
  110. package/dist/components/post-megadropdown.js +194 -1
  111. package/dist/components/post-menu-item.js +1 -1
  112. package/dist/components/post-menu-trigger.js +1 -1
  113. package/dist/components/post-menu.js +1 -1
  114. package/dist/components/post-popover.js +184 -1
  115. package/dist/components/post-popovercontainer.js +1 -1
  116. package/dist/components/post-rating.js +148 -1
  117. package/dist/components/post-tab-header.js +48 -1
  118. package/dist/components/post-tab-panel.js +50 -1
  119. package/dist/components/post-tabs.js +186 -1
  120. package/dist/components/post-tag.js +82 -1
  121. package/dist/components/post-togglebutton.js +52 -1
  122. package/dist/components/post-tooltip-trigger.js +5218 -1
  123. package/dist/components/post-tooltip.js +110 -1
  124. package/dist/docs.d.ts +8 -0
  125. package/dist/docs.json +416 -116
  126. package/dist/esm/breakpoints-DyVir0ex.js +182 -0
  127. package/dist/esm/event-from-8U5GFtQP.js +105 -0
  128. package/{loaders/get-root.js → dist/esm/get-root-D9QC9-TY.js} +1 -1
  129. package/{loaders/index2.js → dist/esm/index-BWC0gtGU.js} +1 -1
  130. package/dist/esm/{index-f4d19816.js → index-CVhzhVv0.js} +1169 -305
  131. package/dist/esm/index.js +1 -29
  132. package/dist/esm/loader.js +3 -4
  133. package/dist/esm/package-BQFahg8B.js +3 -0
  134. package/dist/esm/post-accordion_2.entry.js +180 -7
  135. package/dist/esm/post-avatar.entry.js +154 -5
  136. package/dist/esm/post-back-to-top.entry.js +89 -6
  137. package/dist/esm/post-banner.entry.js +85 -7
  138. package/dist/esm/post-breadcrumb-item_2.entry.js +65 -5
  139. package/dist/esm/post-breadcrumbs.entry.js +123 -5
  140. package/dist/esm/post-card-control.entry.js +286 -5
  141. package/dist/esm/post-closebutton_15.entry.js +4362 -10
  142. package/dist/esm/post-collapsible_2.entry.js +199 -7
  143. package/dist/esm/post-components.js +5 -5
  144. package/dist/esm/post-footer.entry.js +62 -5
  145. package/dist/esm/post-linkarea.entry.js +27 -3
  146. package/dist/esm/post-popover.entry.js +155 -6
  147. package/dist/esm/post-rating.entry.js +118 -5
  148. package/dist/esm/post-tab-header.entry.js +29 -6
  149. package/dist/esm/post-tab-panel.entry.js +31 -6
  150. package/dist/esm/post-tabs.entry.js +169 -5
  151. package/dist/esm/post-tag.entry.js +53 -5
  152. package/dist/esm/post-tooltip-trigger.entry.js +5199 -5
  153. package/dist/esm/post-tooltip.entry.js +81 -6
  154. package/dist/post-components/index.esm.js +0 -1
  155. package/dist/post-components/p-16a44ba9.entry.js +1 -0
  156. package/dist/post-components/p-1a2f3472.entry.js +1 -0
  157. package/dist/post-components/p-3b0fdc33.entry.js +1 -0
  158. package/dist/post-components/p-4c44a7b6.entry.js +1 -0
  159. package/dist/post-components/p-65b70b56.entry.js +1 -0
  160. package/dist/post-components/p-79551aa5.entry.js +1 -0
  161. package/dist/post-components/p-7ff04db9.entry.js +1 -0
  162. package/dist/post-components/p-8036d63d.entry.js +1 -0
  163. package/dist/post-components/p-8U5GFtQP.js +1 -0
  164. package/dist/post-components/p-9a814dc9.entry.js +1 -0
  165. package/dist/post-components/p-BQFahg8B.js +1 -0
  166. package/dist/post-components/{p-b176309b.js → p-BWC0gtGU.js} +1 -1
  167. package/dist/post-components/{p-6b31a76a.js → p-Bkp2QDth.js} +1 -1
  168. package/dist/post-components/p-CVhzhVv0.js +2 -0
  169. package/dist/post-components/p-DyVir0ex.js +1 -0
  170. package/dist/post-components/p-a2847d8c.entry.js +1 -0
  171. package/dist/post-components/p-b62dfb1e.entry.js +1 -0
  172. package/dist/post-components/p-bd16c322.entry.js +1 -0
  173. package/dist/post-components/p-c25faa09.entry.js +1 -0
  174. package/dist/post-components/p-c949f699.entry.js +1 -0
  175. package/dist/post-components/p-d1db269a.entry.js +1 -0
  176. package/dist/post-components/p-d9e33696.entry.js +1 -0
  177. package/dist/post-components/p-e5f6c467.entry.js +1 -0
  178. package/dist/post-components/p-ecfbdd8d.entry.js +1 -0
  179. package/dist/post-components/p-f06866d2.entry.js +1 -0
  180. package/dist/post-components/post-components.esm.js +1 -1
  181. package/dist/types/components/post-header/post-header.d.ts +1 -0
  182. package/dist/types/components/post-icon/post-icon.d.ts +0 -4
  183. package/dist/types/components/post-language-switch/post-language-switch.d.ts +1 -0
  184. package/dist/types/components/post-tag/post-tag.d.ts +1 -1
  185. package/dist/types/components.d.ts +61 -1
  186. package/dist/types/index.d.ts +10 -37
  187. package/dist/types/stencil-public-runtime.d.ts +29 -1
  188. package/dist/types/utils/breakpoints.d.ts +12 -7
  189. package/dist/types/utils/event-from.d.ts +9 -0
  190. package/dist/types/utils/index.d.ts +1 -1
  191. package/hydrate/index.d.ts +273 -0
  192. package/hydrate/index.js +32002 -0
  193. package/hydrate/index.mjs +31994 -0
  194. package/hydrate/package.json +12 -0
  195. package/package.json +45 -17
  196. package/dist/cjs/app-globals-3a1e7e63.js +0 -5
  197. package/dist/cjs/breakpoints-cdf1b747.js +0 -59
  198. package/dist/cjs/event-guard-efabc84f.js +0 -47
  199. package/dist/cjs/post-accordion-item-5c879102.js +0 -161
  200. package/dist/cjs/post-avatar-4f1681df.js +0 -162
  201. package/dist/cjs/post-back-to-top-abbb4ac4.js +0 -93
  202. package/dist/cjs/post-banner-4d99c51c.js +0 -87
  203. package/dist/cjs/post-breadcrumbs-5ceabb10.js +0 -126
  204. package/dist/cjs/post-card-control-b657aeaa.js +0 -290
  205. package/dist/cjs/post-collapsible-trigger-33f09d6c.js +0 -190
  206. package/dist/cjs/post-footer-022cf408.js +0 -66
  207. package/dist/cjs/post-linkarea-5fbb2e25.js +0 -30
  208. package/dist/cjs/post-menu-item-d4cc4742.js +0 -68
  209. package/dist/cjs/post-popover-b7cd0091.js +0 -150
  210. package/dist/cjs/post-rating-c81d1ac3.js +0 -109
  211. package/dist/cjs/post-tab-header-1db15093.js +0 -34
  212. package/dist/cjs/post-tab-panel-698981b8.js +0 -36
  213. package/dist/cjs/post-tabs-79eab811.js +0 -173
  214. package/dist/cjs/post-tag-66a52727.js +0 -60
  215. package/dist/cjs/post-togglebutton-a6b8b75d.js +0 -4491
  216. package/dist/cjs/post-tooltip-560cf42c.js +0 -74
  217. package/dist/cjs/post-tooltip-trigger-2a54e3e4.js +0 -4685
  218. package/dist/collection/utils/event-guard.js +0 -43
  219. package/dist/components/breakpoints.js +0 -56
  220. package/dist/components/event-guard.js +0 -45
  221. package/dist/components/index2.js +0 -88
  222. package/dist/components/package.js +0 -3
  223. package/dist/components/post-avatar2.js +0 -190
  224. package/dist/components/post-back-to-top2.js +0 -118
  225. package/dist/components/post-banner2.js +0 -121
  226. package/dist/components/post-breadcrumb-item2.js +0 -82
  227. package/dist/components/post-breadcrumbs2.js +0 -184
  228. package/dist/components/post-card-control2.js +0 -325
  229. package/dist/components/post-closebutton2.js +0 -39
  230. package/dist/components/post-collapsible2.js +0 -108
  231. package/dist/components/post-footer2.js +0 -115
  232. package/dist/components/post-header2.js +0 -397
  233. package/dist/components/post-icon2.js +0 -156
  234. package/dist/components/post-language-option2.js +0 -102
  235. package/dist/components/post-language-switch2.js +0 -143
  236. package/dist/components/post-linkarea2.js +0 -43
  237. package/dist/components/post-list-item2.js +0 -36
  238. package/dist/components/post-list2.js +0 -54
  239. package/dist/components/post-logo2.js +0 -57
  240. package/dist/components/post-mainnavigation2.js +0 -183
  241. package/dist/components/post-megadropdown-trigger2.js +0 -121
  242. package/dist/components/post-megadropdown2.js +0 -190
  243. package/dist/components/post-menu-item2.js +0 -27
  244. package/dist/components/post-popover2.js +0 -178
  245. package/dist/components/post-rating2.js +0 -138
  246. package/dist/components/post-tab-header2.js +0 -52
  247. package/dist/components/post-tab-panel2.js +0 -54
  248. package/dist/components/post-tabs2.js +0 -189
  249. package/dist/components/post-tag2.js +0 -88
  250. package/dist/components/post-togglebutton2.js +0 -51
  251. package/dist/components/post-tooltip-trigger2.js +0 -4703
  252. package/dist/components/post-tooltip2.js +0 -102
  253. package/dist/esm/app-globals-0f993ce5.js +0 -3
  254. package/dist/esm/breakpoints-7812702e.js +0 -56
  255. package/dist/esm/event-guard-538ee077.js +0 -45
  256. package/dist/esm/get-root-1b1af46f.js +0 -15
  257. package/dist/esm/package-9374eb90.js +0 -3
  258. package/dist/esm/post-accordion-item-f416bd95.js +0 -158
  259. package/dist/esm/post-avatar-2cb5190b.js +0 -160
  260. package/dist/esm/post-back-to-top-f877d4c6.js +0 -91
  261. package/dist/esm/post-banner-576a5adb.js +0 -85
  262. package/dist/esm/post-breadcrumbs-63223336.js +0 -124
  263. package/dist/esm/post-card-control-2eebe7b4.js +0 -288
  264. package/dist/esm/post-collapsible-trigger-561df34e.js +0 -187
  265. package/dist/esm/post-footer-a270f67b.js +0 -64
  266. package/dist/esm/post-linkarea-456ce63d.js +0 -28
  267. package/dist/esm/post-menu-item-e051284c.js +0 -65
  268. package/dist/esm/post-popover-7c3c9072.js +0 -148
  269. package/dist/esm/post-rating-2c9dd11f.js +0 -107
  270. package/dist/esm/post-tab-header-f90b2f93.js +0 -32
  271. package/dist/esm/post-tab-panel-c19b5e30.js +0 -34
  272. package/dist/esm/post-tabs-0dadedf2.js +0 -171
  273. package/dist/esm/post-tag-b8be3b0c.js +0 -58
  274. package/dist/esm/post-togglebutton-83339cc9.js +0 -4475
  275. package/dist/esm/post-tooltip-3cc82984.js +0 -72
  276. package/dist/esm/post-tooltip-trigger-898c3dbc.js +0 -4683
  277. package/dist/post-components/p-0889c759.js +0 -1
  278. package/dist/post-components/p-104ddc50.js +0 -1
  279. package/dist/post-components/p-13b41e32.entry.js +0 -1
  280. package/dist/post-components/p-1906d77c.js +0 -1
  281. package/dist/post-components/p-19d0e6ea.entry.js +0 -1
  282. package/dist/post-components/p-1b9afb34.entry.js +0 -1
  283. package/dist/post-components/p-1fbffc90.js +0 -1
  284. package/dist/post-components/p-234925fa.js +0 -1
  285. package/dist/post-components/p-23fb976f.entry.js +0 -1
  286. package/dist/post-components/p-24c42ebe.entry.js +0 -1
  287. package/dist/post-components/p-28c19671.js +0 -8
  288. package/dist/post-components/p-37aaa30f.js +0 -1
  289. package/dist/post-components/p-3baf0b40.entry.js +0 -1
  290. package/dist/post-components/p-4390192f.js +0 -1
  291. package/dist/post-components/p-4a071696.js +0 -1
  292. package/dist/post-components/p-4c2d5072.js +0 -1
  293. package/dist/post-components/p-51b6114c.entry.js +0 -1
  294. package/dist/post-components/p-5fb4fc65.js +0 -1
  295. package/dist/post-components/p-64c13aaf.entry.js +0 -1
  296. package/dist/post-components/p-66679f9d.entry.js +0 -1
  297. package/dist/post-components/p-68a98f0b.js +0 -1
  298. package/dist/post-components/p-6a4dc55e.js +0 -1
  299. package/dist/post-components/p-722ffaae.js +0 -1
  300. package/dist/post-components/p-789f9a23.entry.js +0 -1
  301. package/dist/post-components/p-7e6eae42.js +0 -1
  302. package/dist/post-components/p-8117dd0c.js +0 -1
  303. package/dist/post-components/p-814c0c4d.entry.js +0 -1
  304. package/dist/post-components/p-87e0d6fa.js +0 -1
  305. package/dist/post-components/p-988d20f4.js +0 -1
  306. package/dist/post-components/p-9b1e4e52.entry.js +0 -1
  307. package/dist/post-components/p-9e461613.js +0 -2
  308. package/dist/post-components/p-ab44a18c.entry.js +0 -1
  309. package/dist/post-components/p-b2952b0e.entry.js +0 -1
  310. package/dist/post-components/p-c10b2a2f.js +0 -1
  311. package/dist/post-components/p-c80cb846.js +0 -1
  312. package/dist/post-components/p-da4704c1.js +0 -1
  313. package/dist/post-components/p-dc4de84a.entry.js +0 -1
  314. package/dist/post-components/p-e1255160.js +0 -1
  315. package/dist/post-components/p-f1f0ace3.entry.js +0 -1
  316. package/dist/post-components/p-f34fb6c4.entry.js +0 -1
  317. package/dist/post-components/p-f6f914bb.js +0 -1
  318. package/dist/post-components/p-fe7e64cf.entry.js +0 -1
  319. package/dist/post-components/p-fee94252.entry.js +0 -1
  320. package/dist/types/popover-fn.d.ts +0 -11
  321. package/dist/types/utils/event-guard.d.ts +0 -4
  322. package/loader/package.json +0 -11
  323. package/loaders/breakpoints.js +0 -56
  324. package/loaders/event-guard.js +0 -45
  325. package/loaders/fade.js +0 -11
  326. package/loaders/get-focusable-children.js +0 -35
  327. package/loaders/heading-levels.js +0 -3
  328. package/loaders/index.browser.js +0 -14
  329. package/loaders/index.d.ts +0 -108
  330. package/loaders/index.js +0 -39
  331. package/loaders/long-press-event.js +0 -264
  332. package/loaders/package.js +0 -3
  333. package/loaders/post-accordion-item.d.ts +0 -11
  334. package/loaders/post-accordion-item.js +0 -6
  335. package/loaders/post-accordion-item2.js +0 -103
  336. package/loaders/post-accordion.d.ts +0 -11
  337. package/loaders/post-accordion.js +0 -6
  338. package/loaders/post-accordion2.js +0 -126
  339. package/loaders/post-avatar.d.ts +0 -11
  340. package/loaders/post-avatar.js +0 -193
  341. package/loaders/post-back-to-top.d.ts +0 -11
  342. package/loaders/post-back-to-top.js +0 -121
  343. package/loaders/post-banner.d.ts +0 -11
  344. package/loaders/post-banner.js +0 -124
  345. package/loaders/post-breadcrumb-item.d.ts +0 -11
  346. package/loaders/post-breadcrumb-item.js +0 -6
  347. package/loaders/post-breadcrumbs.d.ts +0 -11
  348. package/loaders/post-breadcrumbs.js +0 -187
  349. package/loaders/post-card-control.d.ts +0 -11
  350. package/loaders/post-card-control.js +0 -328
  351. package/loaders/post-closebutton.d.ts +0 -11
  352. package/loaders/post-closebutton.js +0 -42
  353. package/loaders/post-collapsible-trigger.d.ts +0 -11
  354. package/loaders/post-collapsible-trigger.js +0 -6
  355. package/loaders/post-collapsible-trigger2.js +0 -125
  356. package/loaders/post-collapsible.d.ts +0 -11
  357. package/loaders/post-collapsible.js +0 -6
  358. package/loaders/post-footer.d.ts +0 -11
  359. package/loaders/post-footer.js +0 -118
  360. package/loaders/post-header.d.ts +0 -11
  361. package/loaders/post-header.js +0 -400
  362. package/loaders/post-icon.d.ts +0 -11
  363. package/loaders/post-icon.js +0 -6
  364. package/loaders/post-language-option.d.ts +0 -11
  365. package/loaders/post-language-option.js +0 -105
  366. package/loaders/post-language-switch.d.ts +0 -11
  367. package/loaders/post-language-switch.js +0 -146
  368. package/loaders/post-linkarea.d.ts +0 -11
  369. package/loaders/post-linkarea.js +0 -46
  370. package/loaders/post-list-item.d.ts +0 -11
  371. package/loaders/post-list-item.js +0 -39
  372. package/loaders/post-list.d.ts +0 -11
  373. package/loaders/post-list.js +0 -57
  374. package/loaders/post-logo.d.ts +0 -11
  375. package/loaders/post-logo.js +0 -60
  376. package/loaders/post-mainnavigation.d.ts +0 -11
  377. package/loaders/post-mainnavigation.js +0 -186
  378. package/loaders/post-megadropdown-trigger.d.ts +0 -11
  379. package/loaders/post-megadropdown-trigger.js +0 -124
  380. package/loaders/post-megadropdown.d.ts +0 -11
  381. package/loaders/post-megadropdown.js +0 -193
  382. package/loaders/post-menu-item.d.ts +0 -11
  383. package/loaders/post-menu-item.js +0 -6
  384. package/loaders/post-menu-item2.js +0 -27
  385. package/loaders/post-menu-trigger.d.ts +0 -11
  386. package/loaders/post-menu-trigger.js +0 -6
  387. package/loaders/post-menu-trigger2.js +0 -109
  388. package/loaders/post-menu.d.ts +0 -11
  389. package/loaders/post-menu.js +0 -6
  390. package/loaders/post-menu2.js +0 -202
  391. package/loaders/post-popover.d.ts +0 -11
  392. package/loaders/post-popover.js +0 -181
  393. package/loaders/post-popovercontainer.d.ts +0 -11
  394. package/loaders/post-popovercontainer.js +0 -6
  395. package/loaders/post-popovercontainer2.js +0 -3051
  396. package/loaders/post-rating.d.ts +0 -11
  397. package/loaders/post-rating.js +0 -141
  398. package/loaders/post-tab-header.d.ts +0 -11
  399. package/loaders/post-tab-header.js +0 -55
  400. package/loaders/post-tab-panel.d.ts +0 -11
  401. package/loaders/post-tab-panel.js +0 -57
  402. package/loaders/post-tabs.d.ts +0 -11
  403. package/loaders/post-tabs.js +0 -192
  404. package/loaders/post-tag.d.ts +0 -11
  405. package/loaders/post-tag.js +0 -91
  406. package/loaders/post-togglebutton.d.ts +0 -11
  407. package/loaders/post-togglebutton.js +0 -54
  408. package/loaders/post-tooltip-trigger.d.ts +0 -11
  409. package/loaders/post-tooltip-trigger.js +0 -4706
  410. package/loaders/post-tooltip.d.ts +0 -11
  411. package/loaders/post-tooltip.js +0 -105
  412. package/loaders/slide.js +0 -25
  413. package/loaders/switch-variants.js +0 -3
  414. /package/dist/cjs/{fade-72d5ef55.js → fade-nS5zzDQS.js} +0 -0
  415. /package/dist/cjs/{index-2b2b85e5.js → index-DtvYdwe1.js} +0 -0
  416. /package/dist/cjs/{index.browser-4af21c17.js → index.browser-Doj636JV.js} +0 -0
  417. /package/dist/cjs/{long-press-event-6e62d113.js → long-press-event-Q8jMUNXD.js} +0 -0
  418. /package/dist/cjs/{placement-b2bb6ec4.js → placement-qEFR9hmI.js} +0 -0
  419. /package/dist/cjs/{slide-cd1f09b3.js → slide-CbBL7A8w.js} +0 -0
  420. /package/dist/components/{index.browser.js → p-BLchVpF6.js} +0 -0
  421. /package/dist/components/{slide.js → p-BuLMaH5t.js} +0 -0
  422. /package/dist/components/{get-focusable-children.js → p-C35MCWIp.js} +0 -0
  423. /package/dist/components/{long-press-event.js → p-C_2k3G1c.js} +0 -0
  424. /package/dist/components/{switch-variants.js → p-DjIHLduJ.js} +0 -0
  425. /package/dist/components/{fade.js → p-SbIC4aZX.js} +0 -0
  426. /package/dist/components/{heading-levels.js → p-r4txK0AC.js} +0 -0
  427. /package/dist/esm/{fade-1f3cacf4.js → fade-SbIC4aZX.js} +0 -0
  428. /package/dist/esm/{index.browser-ff103197.js → index.browser-BLchVpF6.js} +0 -0
  429. /package/dist/esm/{long-press-event-04d24397.js → long-press-event-C_2k3G1c.js} +0 -0
  430. /package/dist/esm/{placement-8d56605d.js → placement-DRiVosES.js} +0 -0
  431. /package/dist/esm/{slide-cd2850ee.js → slide-BuLMaH5t.js} +0 -0
  432. /package/dist/post-components/{p-c65f32b0.js → p-BLchVpF6.js} +0 -0
  433. /package/dist/post-components/{p-9b052461.js → p-BuLMaH5t.js} +0 -0
  434. /package/dist/post-components/{p-8db32dab.js → p-C_2k3G1c.js} +0 -0
  435. /package/dist/post-components/{p-59a38c23.js → p-DRiVosES.js} +0 -0
  436. /package/dist/post-components/{p-64e3de38.js → p-SbIC4aZX.js} +0 -0
@@ -16,13 +16,14 @@ const ANIMATION_KEYS = [...ANIMATION_NAMES];
16
16
  */
17
17
  export class PostIcon {
18
18
  constructor() {
19
- this.animation = undefined;
20
- this.base = undefined;
19
+ /**
20
+ * When set to `true`, the icon will be flipped horizontally.
21
+ */
21
22
  this.flipH = false;
23
+ /**
24
+ * When set to `true`, the icon will be flipped vertically.
25
+ */
22
26
  this.flipV = false;
23
- this.name = undefined;
24
- this.rotate = undefined;
25
- this.scale = undefined;
26
27
  }
27
28
  validateAnimation() {
28
29
  checkEmptyOrOneOf(this, 'animation', ANIMATION_KEYS);
@@ -39,55 +40,52 @@ export class PostIcon {
39
40
  validateScale() {
40
41
  checkEmptyOrType(this, 'scale', 'number');
41
42
  }
42
- // Construct the icon url from different possible sources
43
+ // Construct the icon URL according to the following rules:
44
+ // - URL = current domain + base[href] + meta[data-post-icon-base] (or component base)
45
+ // - If base[href] is not relative, it's used instead of current domain + base[href]
46
+ // - If meta[data-post-icon-base] (or component base) is not relative, it's used as is
43
47
  getUrl() {
44
- let url;
45
- const file = `${this.name}.svg`;
46
- // the first definition object which defines a domain, will be used to set the domain of the file url
47
- // the first definition object which defines a slug, will be used to set the slug of the file url
48
- const urlDefinitions = [this.getUrlDefinition(this.base, 'both')];
49
- if (IS_BROWSER) {
50
- urlDefinitions.push(this.getUrlDefinition(document.head
51
- .querySelector('meta[name="design-system-settings"][data-post-icon-base]')
52
- ?.getAttribute('data-post-icon-base'), 'relative'));
53
- urlDefinitions.push(this.getUrlDefinition(document.querySelector('base[href]')?.getAttribute('href'), 'both'));
48
+ const fileName = `${this.name}.svg`;
49
+ if (!IS_BROWSER && !this.base) {
50
+ return `${CDN_URL}${fileName}`;
54
51
  }
55
- // in case no definition defines a domain, a relative url is used to load the icon
56
- const origin = urlDefinitions.find(d => d.definesDomain)?.url?.origin;
57
- // in case no definition defines a slug either, the cdn url is used as a fallback
58
- const slug = urlDefinitions.find(d => d.definesSlug)?.url?.pathname;
59
- if (origin && slug) {
60
- url = `${origin}${slug}${file}`;
52
+ const currentDomain = IS_BROWSER ? window.location.origin : '';
53
+ const baseHref = IS_BROWSER
54
+ ? document.querySelector('base[href]')?.getAttribute('href') || ''
55
+ : '';
56
+ const isBaseHrefAbsolute = /^https?:\/\//.test(baseHref);
57
+ const metaIconBase = IS_BROWSER
58
+ ? document
59
+ .querySelector('meta[name="design-system-settings"]')
60
+ ?.getAttribute('data-post-icon-base') || ''
61
+ : '';
62
+ const iconBase = this.base || metaIconBase;
63
+ const isIconBaseAbsolute = /^https?:\/\//.test(iconBase);
64
+ const normalizedBaseHref = normalizeUrl(baseHref);
65
+ const normalizedIconBase = normalizeUrl(iconBase);
66
+ function normalizeUrl(url) {
67
+ if (!url)
68
+ return '';
69
+ return url.endsWith('/') ? url : `${url}/`;
61
70
  }
62
- else if (!origin && slug) {
63
- url = `${slug}${file}`;
71
+ let url;
72
+ if (isIconBaseAbsolute) {
73
+ // If icon base is absolute, use it as is
74
+ url = `${normalizedIconBase}${fileName}`;
64
75
  }
65
- else {
66
- url = `${CDN_URL}${file}`;
76
+ else if (isBaseHrefAbsolute) {
77
+ // If baseHref is absolute, don't use current domain
78
+ url = `${normalizedBaseHref}${normalizedIconBase}${fileName}`;
67
79
  }
68
- return url;
69
- }
70
- getUrlDefinition(url, allow) {
71
- return {
72
- url: this.getUrlObject(url),
73
- definesDomain: allow !== 'relative' ? this.definesDomain(url) : false,
74
- definesSlug: allow !== 'absolute' ? this.definesSlug(url) : false,
75
- };
76
- }
77
- getUrlObject(url) {
78
- if (url) {
79
- url = url?.endsWith('/') ? url : `${url}/`;
80
- return new URL(url, 'https://url.base');
80
+ else if (iconBase || baseHref) {
81
+ // Standard case: domain + baseHref + iconBase
82
+ url = `${currentDomain}${normalizedBaseHref}${normalizedIconBase}${fileName}`;
81
83
  }
82
84
  else {
83
- return null;
85
+ // Fallback to CDN if no paths are specified
86
+ url = `${CDN_URL}${fileName}`;
84
87
  }
85
- }
86
- definesDomain(url) {
87
- return url ? /^https?:\/\//.test(url) : false;
88
- }
89
- definesSlug(url) {
90
- return Boolean(/^\/.+/.test(this.getUrlObject(url)?.pathname));
88
+ return url.replace(/([^:])\/\//g, '$1/');
91
89
  }
92
90
  getStyles() {
93
91
  const url = this.getUrl();
@@ -108,7 +106,7 @@ export class PostIcon {
108
106
  this.validateAnimation();
109
107
  }
110
108
  render() {
111
- return (h(Host, { key: '7fe2d83b8d3c46bf31f451b7b06a8366c49971de', "data-version": version }, h("span", { key: '3b3e474985eef7697e4c05f75fc6abd3e96dbbc9', style: this.getStyles() })));
109
+ return (h(Host, { key: '1427e07f64159df95922a2e79343447675183c3c', "data-version": version }, h("span", { key: 'a83eadbc13d9c5876d135cd5282cfa451951d2fe', style: this.getStyles() })));
112
110
  }
113
111
  static get is() { return "post-icon"; }
114
112
  static get encapsulation() { return "shadow"; }
@@ -126,6 +124,7 @@ export class PostIcon {
126
124
  return {
127
125
  "animation": {
128
126
  "type": "string",
127
+ "attribute": "animation",
129
128
  "mutable": false,
130
129
  "complexType": {
131
130
  "original": "Animation",
@@ -143,11 +142,13 @@ export class PostIcon {
143
142
  "tags": [],
144
143
  "text": "The name of the animation."
145
144
  },
146
- "attribute": "animation",
145
+ "getter": false,
146
+ "setter": false,
147
147
  "reflect": false
148
148
  },
149
149
  "base": {
150
150
  "type": "string",
151
+ "attribute": "base",
151
152
  "mutable": false,
152
153
  "complexType": {
153
154
  "original": "string",
@@ -160,11 +161,13 @@ export class PostIcon {
160
161
  "tags": [],
161
162
  "text": "The base path, where the icons are located (must be a public url).<br/>Leave this field empty to use the default cdn url."
162
163
  },
163
- "attribute": "base",
164
+ "getter": false,
165
+ "setter": false,
164
166
  "reflect": false
165
167
  },
166
168
  "flipH": {
167
169
  "type": "boolean",
170
+ "attribute": "flip-h",
168
171
  "mutable": false,
169
172
  "complexType": {
170
173
  "original": "boolean",
@@ -177,12 +180,14 @@ export class PostIcon {
177
180
  "tags": [],
178
181
  "text": "When set to `true`, the icon will be flipped horizontally."
179
182
  },
180
- "attribute": "flip-h",
183
+ "getter": false,
184
+ "setter": false,
181
185
  "reflect": false,
182
186
  "defaultValue": "false"
183
187
  },
184
188
  "flipV": {
185
189
  "type": "boolean",
190
+ "attribute": "flip-v",
186
191
  "mutable": false,
187
192
  "complexType": {
188
193
  "original": "boolean",
@@ -195,12 +200,14 @@ export class PostIcon {
195
200
  "tags": [],
196
201
  "text": "When set to `true`, the icon will be flipped vertically."
197
202
  },
198
- "attribute": "flip-v",
203
+ "getter": false,
204
+ "setter": false,
199
205
  "reflect": false,
200
206
  "defaultValue": "false"
201
207
  },
202
208
  "name": {
203
209
  "type": "string",
210
+ "attribute": "name",
204
211
  "mutable": false,
205
212
  "complexType": {
206
213
  "original": "string",
@@ -213,11 +220,13 @@ export class PostIcon {
213
220
  "tags": [],
214
221
  "text": "The name/id of the icon (e.g. 1000, 1001, ...)."
215
222
  },
216
- "attribute": "name",
223
+ "getter": false,
224
+ "setter": false,
217
225
  "reflect": true
218
226
  },
219
227
  "rotate": {
220
228
  "type": "number",
229
+ "attribute": "rotate",
221
230
  "mutable": false,
222
231
  "complexType": {
223
232
  "original": "number",
@@ -230,11 +239,13 @@ export class PostIcon {
230
239
  "tags": [],
231
240
  "text": "The number of degree for the css rotate transformation."
232
241
  },
233
- "attribute": "rotate",
242
+ "getter": false,
243
+ "setter": false,
234
244
  "reflect": false
235
245
  },
236
246
  "scale": {
237
247
  "type": "number",
248
+ "attribute": "scale",
238
249
  "mutable": false,
239
250
  "complexType": {
240
251
  "original": "number",
@@ -247,7 +258,8 @@ export class PostIcon {
247
258
  "tags": [],
248
259
  "text": "The number for the css scale transformation."
249
260
  },
250
- "attribute": "scale",
261
+ "getter": false,
262
+ "setter": false,
251
263
  "reflect": false
252
264
  }
253
265
  };
@@ -1 +1 @@
1
- @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)}}post-language-option{display:inline-block}post-language-option 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}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option button{background-color:ButtonFace !important}post-language-option button:hover{background-color:Highlight !important}}post-language-option a{color:var(--post-scheme-color-surface-default-fg);text-decoration:none}post-language-option :is(a,button){cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:2px;text-transform:uppercase}post-language-option :is(a,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}post-language-option :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-language-option :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-language-option:where([variant=list]) :is(a,button){padding-inline:0;width:40px;height:40px;border-radius:2px}post-language-option:where([variant=list]) :is(a,button):hover{color:#504f4b}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option:where([variant=list]) :is(a,button){border:1px solid ButtonBorder;color:ButtonText}}post-language-option:where([variant=list])[active]:not([active=false]) :is(a,button){background-color:#050400 !important;color:#fff;pointer-events:none}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option:where([variant=list])[active]:not([active=false]) :is(a,button){background-color:Highlight !important;color:HighlightText}}post-language-option:where([variant=menu]){min-width:72px}post-language-option:where([variant=menu])[active]:not([active=false]){display:none}post-language-option:where([variant=menu]) :is(a,button){padding-block:13px;padding-inline:16px;box-sizing:border-box;justify-content:flex-start;position:relative}post-language-option:where([variant=menu]) :is(a,button):hover{color:#fff;background-color:#504f4b}
1
+ @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)}}post-language-option{display:inline-block}post-language-option 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}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option button{background-color:ButtonFace !important}post-language-option button:hover{background-color:Highlight !important}}post-language-option button .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}post-language-option a{color:var(--post-scheme-color-surface-default-fg);text-decoration:none}post-language-option :is(a,button){cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-transform:uppercase}post-language-option :is(a,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}post-language-option :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;outline-offset:-2px !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option :is(a,button):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){post-language-option :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;outline-offset:-2px !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option :is(a,button):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}post-language-option:where([variant=list]) :is(a,button){padding-inline:0;width:40px;height:40px;border-radius:2px}post-language-option:where([variant=list]) :is(a,button):hover{color:#504f4b}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option:where([variant=list]) :is(a,button){border:1px solid ButtonBorder;color:ButtonText}}post-language-option:where([variant=list])[active]:not([active=false]) :is(a,button){background-color:#050400 !important;color:#fff;pointer-events:none}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){post-language-option:where([variant=list])[active]:not([active=false]) :is(a,button){background-color:Highlight !important;color:HighlightText}}post-language-option:where([variant=menu]){min-width:72px}post-language-option:where([variant=menu])[active]:not([active=false]){display:none}post-language-option:where([variant=menu]) :is(a,button){padding-block:13px;padding-inline:16px;box-sizing:border-box;justify-content:flex-start;position:relative;border-radius:0}post-language-option:where([variant=menu]) :is(a,button):hover{color:#fff;background-color:#504f4b}post-language-option:where([variant=menu]):first-child :is(a,button){border-start-start-radius:4px;border-start-end-radius:4px}post-language-option:where([variant=menu]):last-child :is(a,button){border-end-start-radius:4px;border-end-end-radius:4px}
@@ -6,13 +6,6 @@ import { SWITCH_VARIANTS } from "../post-language-switch/switch-variants";
6
6
  * @slot default - Slot for placing the content inside the anchor or button.
7
7
  */
8
8
  export class PostLanguageOption {
9
- constructor() {
10
- this.code = undefined;
11
- this.active = undefined;
12
- this.variant = undefined;
13
- this.name = undefined;
14
- this.url = undefined;
15
- }
16
9
  validateCode() {
17
10
  checkRequiredAndType(this, 'code', 'string');
18
11
  }
@@ -51,12 +44,13 @@ export class PostLanguageOption {
51
44
  }
52
45
  render() {
53
46
  const lang = this.code.toLowerCase();
47
+ const role = this.variant === 'menu' ? 'menuitem' : undefined;
54
48
  const emitOnKeyDown = (e) => {
55
49
  if (e.key === 'Enter' || e.key === ' ') {
56
50
  this.emitChange();
57
51
  }
58
52
  };
59
- return (h(Host, { key: 'fe37c9aed573664a2f70b25b5d25e5bb58a23702', "data-version": version }, this.url ? (h("a", { "aria-current": this.active ? 'page' : undefined, "aria-label": this.name, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null))) : (h("button", { "aria-current": this.active ? 'true' : undefined, "aria-label": this.name, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null)))));
53
+ return (h(Host, { key: '9e1364dd3214a5bec9d4fa7e4c794d2d3baa7796', "data-version": version }, this.url ? (h("a", { role: role, "aria-current": this.active ? 'page' : undefined, href: this.url, hrefLang: lang, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null), h("span", { class: "visually-hidden" }, this.name))) : (h("button", { role: role, "aria-current": this.active ? 'true' : undefined, lang: lang, onClick: () => this.emitChange(), onKeyDown: emitOnKeyDown }, h("slot", null), h("span", { class: "visually-hidden" }, this.name)))));
60
54
  }
61
55
  static get is() { return "post-language-option"; }
62
56
  static get originalStyleUrls() {
@@ -73,6 +67,7 @@ export class PostLanguageOption {
73
67
  return {
74
68
  "code": {
75
69
  "type": "string",
70
+ "attribute": "code",
76
71
  "mutable": false,
77
72
  "complexType": {
78
73
  "original": "string",
@@ -85,11 +80,13 @@ export class PostLanguageOption {
85
80
  "tags": [],
86
81
  "text": "The ISO 639 language code, formatted according to [RFC 5646 (also known as BCP 47)](https://datatracker.ietf.org/doc/html/rfc5646). For example, \"de\"."
87
82
  },
88
- "attribute": "code",
83
+ "getter": false,
84
+ "setter": false,
89
85
  "reflect": false
90
86
  },
91
87
  "active": {
92
88
  "type": "boolean",
89
+ "attribute": "active",
93
90
  "mutable": true,
94
91
  "complexType": {
95
92
  "original": "boolean",
@@ -102,11 +99,13 @@ export class PostLanguageOption {
102
99
  "tags": [],
103
100
  "text": "If set to `true`, the language option is considered the current language for the page."
104
101
  },
105
- "attribute": "active",
102
+ "getter": false,
103
+ "setter": false,
106
104
  "reflect": true
107
105
  },
108
106
  "variant": {
109
107
  "type": "string",
108
+ "attribute": "variant",
110
109
  "mutable": false,
111
110
  "complexType": {
112
111
  "original": "SwitchVariant",
@@ -125,11 +124,13 @@ export class PostLanguageOption {
125
124
  "tags": [],
126
125
  "text": "To communicate the variant prop from the parent (post-language-switch) component to the child (post-language-option) component. See parent docs for a description about the property itself."
127
126
  },
128
- "attribute": "variant",
127
+ "getter": false,
128
+ "setter": false,
129
129
  "reflect": false
130
130
  },
131
131
  "name": {
132
132
  "type": "string",
133
+ "attribute": "name",
133
134
  "mutable": false,
134
135
  "complexType": {
135
136
  "original": "string",
@@ -142,11 +143,13 @@ export class PostLanguageOption {
142
143
  "tags": [],
143
144
  "text": "The full name of the language. For example, \"Deutsch\"."
144
145
  },
145
- "attribute": "name",
146
+ "getter": false,
147
+ "setter": false,
146
148
  "reflect": false
147
149
  },
148
150
  "url": {
149
151
  "type": "string",
152
+ "attribute": "url",
150
153
  "mutable": false,
151
154
  "complexType": {
152
155
  "original": "string",
@@ -159,7 +162,8 @@ export class PostLanguageOption {
159
162
  "tags": [],
160
163
  "text": "The URL used for the href attribute of the internal anchor.\nThis field is optional; if not provided, a button will be used internally instead of an anchor."
161
164
  },
162
- "attribute": "url",
165
+ "getter": false,
166
+ "setter": false,
163
167
  "reflect": false
164
168
  }
165
169
  };
@@ -1 +1 @@
1
- :host{display:flex !important;flex-wrap:wrap;gap:.5rem}.post-language-switch-dropdown-container{display:flex;flex-direction:column}.post-language-switch-trigger{cursor:pointer;text-transform:uppercase;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;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-radius:24px;font-size:16px;padding:3px 10px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger{background-color:ButtonFace !important}.post-language-switch-trigger:hover{background-color:Highlight !important}}.post-language-switch-trigger{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.post-language-switch-trigger:not(:disabled):hover,.post-language-switch-trigger.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.post-language-switch-trigger post-icon{height:24px;width:24px}.post-language-switch-trigger[aria-expanded=true]{background-color:#050400;color:#fff}.post-language-switch-trigger[aria-expanded=true] post-icon{transform:rotate(180deg)}.post-language-switch-trigger[aria-expanded=true]:hover{background-color:#504f4b;color:#fff}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger{border:1px solid ButtonBorder}.post-language-switch-trigger[aria-expanded=true] post-icon,.post-language-switch-trigger:hover post-icon{color:HighlightText}}
1
+ :host{display:flex !important;flex-wrap:wrap;gap:.5rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.post-language-switch-dropdown-container{display:flex;flex-direction:column}.post-language-switch-trigger{cursor:pointer;text-transform:uppercase;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;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-radius:24px;font-size:16px;padding:3px 10px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger{background-color:ButtonFace !important}.post-language-switch-trigger:hover{background-color:Highlight !important}}.post-language-switch-trigger{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.post-language-switch-trigger:not(:disabled):hover,.post-language-switch-trigger.pretend-hover{border-color:var(--post-scheme-color-interactive-button-tertiary-hover-stroke);background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.post-language-switch-trigger post-icon{height:24px;width:24px}.post-language-switch-trigger[aria-expanded=true]{background-color:#050400;color:#fff}.post-language-switch-trigger[aria-expanded=true] post-icon{transform:rotate(180deg)}.post-language-switch-trigger[aria-expanded=true]:hover{background-color:#504f4b;color:#fff}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.post-language-switch-trigger{border:1px solid ButtonBorder}.post-language-switch-trigger[aria-expanded=true] post-icon,.post-language-switch-trigger:hover post-icon{color:HighlightText}}post-menu::part(menu){padding-block:0}
@@ -1,15 +1,26 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4
+ r = Reflect.decorate(decorators, target, key, desc);
5
+ else
6
+ for (var i = decorators.length - 1; i >= 0; i--)
7
+ if (d = decorators[i])
8
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
1
11
  import { Host, h } from "@stencil/core";
2
- import { checkRequiredAndType, checkEmptyOrOneOf, eventGuard } from "../../utils/index";
12
+ import { checkRequiredAndType, checkEmptyOrOneOf, EventFrom } from "../../utils/index";
3
13
  import { version } from "../../../../package";
4
14
  import { SWITCH_VARIANTS } from "./switch-variants";
5
15
  import { nanoid } from "nanoid";
6
16
  export class PostLanguageSwitch {
7
17
  constructor() {
8
18
  this.menuId = `p${nanoid(11)}`;
9
- this.caption = undefined;
10
- this.description = undefined;
19
+ this.listSpanId = `list-span-${nanoid(11)}`;
20
+ /**
21
+ * Whether the component is rendered as a list or a menu
22
+ */
11
23
  this.variant = 'list';
12
- this.activeLang = undefined;
13
24
  }
14
25
  get languageOptions() {
15
26
  return Array.from(this.host.querySelectorAll('post-language-option'));
@@ -36,23 +47,21 @@ export class PostLanguageSwitch {
36
47
  * Listen for the postChange event and guard it to run only for events originating from a <post-language-option> element.
37
48
  */
38
49
  handlePostChange(event) {
39
- eventGuard(this.host, event, { targetLocalName: 'post-language-option', delegatorSelector: 'post-language-switch' }, () => {
40
- this.activeLang = event.detail;
41
- // Update the active state in the children post-language-option components
42
- this.languageOptions.forEach(lang => {
43
- if (lang.code && lang.code === this.activeLang) {
44
- lang.setAttribute('active', '');
45
- }
46
- else {
47
- lang.removeAttribute('active');
48
- }
49
- });
50
- // Hides the dropdown when an option has been clicked
51
- if (this.variant === 'menu') {
52
- const menu = this.host.shadowRoot.querySelector('post-menu');
53
- menu.hide();
50
+ this.activeLang = event.detail;
51
+ // Update the active state in the children post-language-option components
52
+ this.languageOptions.forEach(lang => {
53
+ if (lang.code && lang.code === this.activeLang) {
54
+ lang.setAttribute('active', '');
55
+ }
56
+ else {
57
+ lang.removeAttribute('active');
54
58
  }
55
59
  });
60
+ // Hides the dropdown when an option has been clicked
61
+ if (this.variant === 'menu') {
62
+ const menu = this.host.shadowRoot.querySelector('post-menu');
63
+ menu.hide();
64
+ }
56
65
  }
57
66
  /**
58
67
  * Handles cases where the language switch is being rendered before options are available
@@ -65,13 +74,14 @@ export class PostLanguageSwitch {
65
74
  updateChildrenVariant() {
66
75
  this.languageOptions.forEach(el => {
67
76
  el.setAttribute('variant', this.variant);
77
+ el.setAttribute('role', this.variant == 'menu' ? 'menuitem' : 'listitem');
68
78
  });
69
79
  }
70
80
  renderList() {
71
- return (h(Host, { "data-version": version, role: "list", "aria-label": this.caption }, h("div", { class: "post-language-switch-list", role: "group", "aria-label": this.description }, h("slot", null))));
81
+ return (h(Host, { "data-version": version }, h("div", { class: "post-language-switch-list", role: "list", "aria-label": this.caption, "aria-describedby": this.listSpanId }, h("span", { id: this.listSpanId, class: "visually-hidden" }, this.description), h("slot", null))));
72
82
  }
73
83
  renderDropdown() {
74
- return (h(Host, { "data-version": version }, h("post-menu-trigger", { for: this.menuId }, h("button", { class: "post-language-switch-trigger", "aria-label": this.description }, this.activeLang, h("post-icon", { "aria-hidden": "true", name: "chevrondown" }))), h("post-menu", { id: this.menuId, class: "post-language-switch-dropdown-container", "aria-label": this.caption }, h("slot", null))));
84
+ return (h(Host, { "data-version": version }, h("post-menu-trigger", { for: this.menuId }, h("button", { class: "post-language-switch-trigger" }, this.activeLang, h("span", { class: "visually-hidden" }, this.caption), h("span", { class: "visually-hidden" }, this.description), h("post-icon", { "aria-hidden": "true", name: "chevrondown" }))), h("post-menu", { id: this.menuId, class: "post-language-switch-dropdown-container", "aria-label": this.caption, role: "menu" }, h("slot", null))));
75
85
  }
76
86
  render() {
77
87
  return this.variant === 'list' ? this.renderList() : this.renderDropdown();
@@ -92,6 +102,7 @@ export class PostLanguageSwitch {
92
102
  return {
93
103
  "caption": {
94
104
  "type": "string",
105
+ "attribute": "caption",
95
106
  "mutable": false,
96
107
  "complexType": {
97
108
  "original": "string",
@@ -104,11 +115,13 @@ export class PostLanguageSwitch {
104
115
  "tags": [],
105
116
  "text": "A title for the list of language options"
106
117
  },
107
- "attribute": "caption",
118
+ "getter": false,
119
+ "setter": false,
108
120
  "reflect": false
109
121
  },
110
122
  "description": {
111
123
  "type": "string",
124
+ "attribute": "description",
112
125
  "mutable": false,
113
126
  "complexType": {
114
127
  "original": "string",
@@ -121,11 +134,13 @@ export class PostLanguageSwitch {
121
134
  "tags": [],
122
135
  "text": "A descriptive text for the list of language options"
123
136
  },
124
- "attribute": "description",
137
+ "getter": false,
138
+ "setter": false,
125
139
  "reflect": false
126
140
  },
127
141
  "variant": {
128
142
  "type": "string",
143
+ "attribute": "variant",
129
144
  "mutable": false,
130
145
  "complexType": {
131
146
  "original": "SwitchVariant",
@@ -144,7 +159,8 @@ export class PostLanguageSwitch {
144
159
  "tags": [],
145
160
  "text": "Whether the component is rendered as a list or a menu"
146
161
  },
147
- "attribute": "variant",
162
+ "getter": false,
163
+ "setter": false,
148
164
  "reflect": false,
149
165
  "defaultValue": "'list'"
150
166
  }
@@ -184,3 +200,6 @@ export class PostLanguageSwitch {
184
200
  }];
185
201
  }
186
202
  }
203
+ __decorate([
204
+ EventFrom('post-language-option')
205
+ ], PostLanguageSwitch.prototype, "handlePostChange", null);
@@ -7,8 +7,13 @@ import { nanoid } from "nanoid";
7
7
  */
8
8
  export class PostList {
9
9
  constructor() {
10
- this.titleId = undefined;
10
+ /**
11
+ * If `true`, the list title will be hidden. Otherwise, it will be displayed.`
12
+ */
11
13
  this.titleHidden = false;
14
+ /**
15
+ * The list can become horizontal by setting `horizontal="true"` or just `horizontal`
16
+ */
12
17
  this.horizontal = false;
13
18
  }
14
19
  componentWillLoad() {
@@ -43,6 +48,7 @@ export class PostList {
43
48
  return {
44
49
  "titleHidden": {
45
50
  "type": "boolean",
51
+ "attribute": "title-hidden",
46
52
  "mutable": false,
47
53
  "complexType": {
48
54
  "original": "boolean",
@@ -55,12 +61,14 @@ export class PostList {
55
61
  "tags": [],
56
62
  "text": "If `true`, the list title will be hidden. Otherwise, it will be displayed.`"
57
63
  },
58
- "attribute": "title-hidden",
64
+ "getter": false,
65
+ "setter": false,
59
66
  "reflect": false,
60
67
  "defaultValue": "false"
61
68
  },
62
69
  "horizontal": {
63
70
  "type": "boolean",
71
+ "attribute": "horizontal",
64
72
  "mutable": false,
65
73
  "complexType": {
66
74
  "original": "boolean",
@@ -73,7 +81,8 @@ export class PostList {
73
81
  "tags": [],
74
82
  "text": "The list can become horizontal by setting `horizontal=\"true\"` or just `horizontal`"
75
83
  },
76
- "attribute": "horizontal",
84
+ "getter": false,
85
+ "setter": false,
77
86
  "reflect": true,
78
87
  "defaultValue": "false"
79
88
  }
@@ -5,9 +5,6 @@ import { checkEmptyOrUrl } from "../../utils/index";
5
5
  * @slot default - Slot for placing hidden descriptive text. If `url` is set, this text will serve as the accessible name of the link; otherwise, it will be used as the title of the SVG.
6
6
  */
7
7
  export class PostLogo {
8
- constructor() {
9
- this.url = undefined;
10
- }
11
8
  validateUrl() {
12
9
  checkEmptyOrUrl(this, 'url');
13
10
  }
@@ -41,6 +38,7 @@ export class PostLogo {
41
38
  return {
42
39
  "url": {
43
40
  "type": "string",
41
+ "attribute": "url",
44
42
  "mutable": false,
45
43
  "complexType": {
46
44
  "original": "string | URL",
@@ -58,7 +56,8 @@ export class PostLogo {
58
56
  "tags": [],
59
57
  "text": "The URL to which the user is redirected upon clicking the logo."
60
58
  },
61
- "attribute": "url",
59
+ "getter": false,
60
+ "setter": false,
62
61
  "reflect": false
63
62
  }
64
63
  };
@@ -4,6 +4,15 @@ import { version } from "../../../../package";
4
4
  import { breakpoint } from "../../utils/breakpoints";
5
5
  export class PostMegadropdown {
6
6
  constructor() {
7
+ this.device = breakpoint.get('device');
8
+ /**
9
+ * Holds the current visibility state of the dropdown.
10
+ * This state is internally managed to track whether the dropdown is open (`true`) or closed (`false`),
11
+ * and updates automatically when the dropdown is toggled.
12
+ */
13
+ this.isVisible = false;
14
+ /** Holds the current animation class. */
15
+ this.animationClass = null;
7
16
  this.handleClickOutside = (event) => {
8
17
  if (this.device !== 'desktop')
9
18
  return;
@@ -22,9 +31,6 @@ export class PostMegadropdown {
22
31
  }
23
32
  this.hide(false);
24
33
  };
25
- this.device = breakpoint.get('name');
26
- this.isVisible = false;
27
- this.animationClass = null;
28
34
  }
29
35
  breakpointChange(e) {
30
36
  this.device = e.detail;
@@ -34,7 +40,7 @@ export class PostMegadropdown {
34
40
  }
35
41
  disconnectedCallback() {
36
42
  this.removeListeners();
37
- window.removeEventListener('postBreakpoint:name', this.breakpointChange.bind(this));
43
+ window.removeEventListener('postBreakpoint:device', this.breakpointChange.bind(this));
38
44
  if (PostMegadropdown.activeDropdown === this) {
39
45
  PostMegadropdown.activeDropdown = null;
40
46
  }
@@ -92,7 +98,7 @@ export class PostMegadropdown {
92
98
  this.firstFocusableEl?.focus();
93
99
  }
94
100
  connectedCallback() {
95
- window.addEventListener('postBreakpoint:name', this.breakpointChange.bind(this));
101
+ window.addEventListener('postBreakpoint:device', this.breakpointChange.bind(this));
96
102
  }
97
103
  /**
98
104
  * Forces the dropdown to close without animation.
@@ -151,7 +157,7 @@ export class PostMegadropdown {
151
157
  }
152
158
  render() {
153
159
  const containerStyle = this.isVisible ? {} : { display: 'none' };
154
- return (h(Host, { key: 'e860446551f08b3a7088c0bc76a18e6ed41d9222', version: version }, h("div", { key: 'e751ca57df7333a18a53f960d3ef51f76cea1cad', class: `megadropdown-container ${this.animationClass || ''}`, style: containerStyle, onAnimationEnd: () => this.handleAnimationEnd() }, h("div", { key: '75c3196c0b1ba5e1cb2ec18e6252704085c19760', class: "megadropdown" }, h("slot", { key: 'ab81352d1f4114cba1b34aeec5cc3b96074ac20f', name: "megadropdown-title" }), h("div", { key: '05fb088c749a53cd52265b703b7abc54e1be17f0', class: "megadropdown-content" }, h("slot", { key: 'a44dae9c90010501979f1ffc952bf4cc8432b788' })), h("div", { key: 'd7f8ca6f372ca4474852ec36008c8a25802b0d76', onClick: () => this.hide(true), class: "back-button" }, h("slot", { key: 'c2b815a8b4dff84457f22a1b2b6efdd53d14a102', name: "back-button" })), h("div", { key: '36416cd916c6424ee61c7d25f5eff9dff6b9d163', onClick: () => this.hide(true), class: "close-button" }, h("slot", { key: 'a3e3ff53229c9986167f25cf6c7cd78bccbeb635', name: "close-button" }))))));
160
+ return (h(Host, { key: '3e846f475540067d9c58b60f636730a2b38a0aff', version: version }, h("div", { key: '47133c10dc15b7e5641a9fb47a1875ba89581e23', class: `megadropdown-container ${this.animationClass || ''}`, style: containerStyle, onAnimationEnd: () => this.handleAnimationEnd() }, h("div", { key: '8f64dc9ef745ed4434fe00a48f76cc12b96e6443', class: "megadropdown" }, h("slot", { key: '5041727da18956a26ce43f870cde81264431cb23', name: "megadropdown-title" }), h("div", { key: '5ac34fe4ab27de09c9fc825c3999f2294abc624c', class: "megadropdown-content" }, h("slot", { key: 'f8917a15cd28082d0c0d88046f355aa85767255f' })), h("div", { key: '7fdaae11f771b92f11b2ed12be096f2936d9e08b', onClick: () => this.hide(true), class: "back-button" }, h("slot", { key: 'de791c42ef57abbde0ae9d24e1bcdb64b5e873cc', name: "back-button" })), h("div", { key: 'be88c1f94bc3eb7507e5de0a558a87a31936b6a0', onClick: () => this.hide(true), class: "close-button" }, h("slot", { key: '444b996c0001f283279406d00708e4291d5af5bc', name: "close-button" }))))));
155
161
  }
156
162
  static get is() { return "post-megadropdown"; }
157
163
  static get originalStyleUrls() {