@swisspost/design-system-components 9.0.0-next.33 → 9.0.0-next.34

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 (332) hide show
  1. package/dist/cjs/{attribute-observer-6d8b886b.js → attribute-observer-c3a805b2.js} +3 -1
  2. package/dist/cjs/{breakpoints-c6247c71.js → breakpoints-cdf1b747.js} +12 -7
  3. package/dist/cjs/get-root-8102fecd.js +17 -0
  4. package/dist/cjs/{index-d6bf2c66.js → index-b60129c4.js} +2 -2
  5. package/dist/cjs/index.cjs.js +24 -25
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/long-press-event-6e62d113.js +266 -0
  8. package/dist/cjs/{package-3562c265.js → package-3426e8f7.js} +1 -1
  9. package/dist/cjs/{post-accordion-6c5681ba.js → post-accordion-3ac8dca8.js} +5 -5
  10. package/dist/cjs/{post-accordion-item-05a78451.js → post-accordion-item-aace6bc2.js} +5 -5
  11. package/dist/cjs/post-accordion-item.cjs.entry.js +5 -4
  12. package/dist/cjs/post-accordion.cjs.entry.js +4 -3
  13. package/dist/cjs/{post-avatar-6710a77a.js → post-avatar-53abd22f.js} +5 -4
  14. package/dist/cjs/post-avatar.cjs.entry.js +4 -3
  15. package/dist/cjs/{post-back-to-top-d0662842.js → post-back-to-top-b231fc1c.js} +9 -9
  16. package/dist/cjs/post-back-to-top.cjs.entry.js +4 -3
  17. package/dist/cjs/{post-banner-bd97db9c.js → post-banner-e6d14bf1.js} +4 -8
  18. package/dist/cjs/post-banner.cjs.entry.js +4 -3
  19. package/dist/cjs/{post-breadcrumb-36ab841c.js → post-breadcrumb-a929f2a6.js} +30 -22
  20. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +4 -3
  21. package/dist/cjs/post-breadcrumb.cjs.entry.js +4 -4
  22. package/dist/cjs/{post-card-control-155fb433.js → post-card-control-cbee7b86.js} +26 -40
  23. package/dist/cjs/post-card-control.cjs.entry.js +4 -3
  24. package/dist/cjs/post-closebutton_15.cjs.entry.js +5 -5
  25. package/dist/cjs/{post-collapsible-trigger-6601c554.js → post-collapsible-trigger-d1cb592a.js} +24 -41
  26. package/dist/cjs/post-collapsible_2.cjs.entry.js +5 -5
  27. package/dist/cjs/post-components.cjs.js +2 -2
  28. package/dist/cjs/{post-footer-23699aef.js → post-footer-4290dafc.js} +11 -11
  29. package/dist/cjs/post-footer.cjs.entry.js +4 -4
  30. package/dist/cjs/{post-linkarea-8e5e1a9f.js → post-linkarea-f22f4f92.js} +5 -5
  31. package/dist/cjs/post-linkarea.cjs.entry.js +3 -3
  32. package/dist/cjs/{post-menu-item-8dd94792.js → post-menu-item-afabaa61.js} +4 -4
  33. package/dist/cjs/{post-popover-858cbd12.js → post-popover-a4c72d38.js} +16 -14
  34. package/dist/cjs/post-popover.cjs.entry.js +5 -4
  35. package/dist/cjs/{post-rating-ef592484.js → post-rating-b87616fc.js} +4 -14
  36. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  37. package/dist/cjs/{post-tab-header-d785e7fc.js → post-tab-header-45cb6bb4.js} +5 -4
  38. package/dist/cjs/post-tab-header.cjs.entry.js +4 -3
  39. package/dist/cjs/{post-tab-panel-41ea371e.js → post-tab-panel-00d16ba7.js} +4 -4
  40. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  41. package/dist/cjs/{post-tabs-c6f00130.js → post-tabs-2c3a89d0.js} +5 -12
  42. package/dist/cjs/post-tabs.cjs.entry.js +4 -3
  43. package/dist/cjs/{post-tag-d1a1176c.js → post-tag-370a2f4d.js} +3 -3
  44. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  45. package/dist/cjs/{post-togglebutton-02c56b7b.js → post-togglebutton-2c9552e3.js} +935 -460
  46. package/dist/cjs/{post-tooltip-3176e280.js → post-tooltip-4d4d2ea9.js} +39 -296
  47. package/dist/cjs/post-tooltip.cjs.entry.js +5 -4
  48. package/dist/collection/animations/collapse.js +3 -1
  49. package/dist/collection/components/post-accordion/post-accordion.js +1 -3
  50. package/dist/collection/components/post-accordion-item/post-accordion-item.js +0 -2
  51. package/dist/collection/components/post-avatar/post-avatar.js +3 -4
  52. package/dist/collection/components/post-back-to-top/post-back-to-top.js +6 -8
  53. package/dist/collection/components/post-banner/post-banner.js +0 -6
  54. package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +16 -19
  55. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +0 -2
  56. package/dist/collection/components/post-card-control/post-card-control.js +24 -40
  57. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -0
  58. package/dist/collection/components/post-closebutton/post-closebutton.js +12 -2
  59. package/dist/collection/components/post-collapsible/post-collapsible.js +4 -10
  60. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +15 -28
  61. package/dist/collection/components/post-footer/post-footer.js +8 -9
  62. package/dist/collection/components/post-header/post-header.css +1 -1
  63. package/dist/collection/components/post-header/post-header.js +13 -22
  64. package/dist/collection/components/post-icon/post-icon.js +4 -6
  65. package/dist/collection/components/post-language-option/post-language-option.js +1 -10
  66. package/dist/collection/components/post-language-switch/post-language-switch.js +7 -19
  67. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -1
  68. package/dist/collection/components/post-linkarea/post-linkarea.js +2 -2
  69. package/dist/collection/components/post-list/post-list.js +1 -3
  70. package/dist/collection/components/post-list-item/post-list-item.js +1 -2
  71. package/dist/collection/components/post-logo/post-logo.js +1 -2
  72. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  73. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +98 -182
  74. package/dist/collection/components/post-megadropdown/post-megadropdown.js +20 -30
  75. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +36 -37
  76. package/dist/collection/components/post-menu/post-menu.js +45 -53
  77. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +13 -15
  78. package/dist/collection/components/post-popover/post-popover.js +12 -12
  79. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +30 -33
  80. package/dist/collection/components/post-rating/post-rating.js +1 -12
  81. package/dist/collection/components/post-tab-header/post-tab-header.js +2 -3
  82. package/dist/collection/components/post-tab-panel/post-tab-panel.js +2 -3
  83. package/dist/collection/components/post-tabs/post-tabs.js +1 -10
  84. package/dist/collection/components/post-tag/post-tag.js +0 -1
  85. package/dist/collection/components/post-togglebutton/post-togglebutton.js +10 -11
  86. package/dist/collection/components/post-tooltip/post-tooltip.js +36 -32
  87. package/dist/collection/utils/attribute-observer.js +2 -1
  88. package/dist/collection/utils/breakpoints.js +9 -7
  89. package/dist/collection/utils/environment.js +2 -0
  90. package/dist/collection/utils/get-root.js +6 -1
  91. package/dist/collection/utils/index.js +5 -0
  92. package/dist/collection/utils/is-motion-reduced.js +2 -1
  93. package/dist/components/attribute-observer.js +3 -1
  94. package/dist/components/breakpoints.js +12 -8
  95. package/dist/components/get-root.js +7 -1
  96. package/dist/components/long-press-event.js +264 -0
  97. package/dist/components/package.js +1 -1
  98. package/dist/components/post-accordion-item2.js +3 -3
  99. package/dist/components/post-accordion2.js +3 -3
  100. package/dist/components/post-avatar2.js +4 -3
  101. package/dist/components/post-back-to-top2.js +8 -8
  102. package/dist/components/post-banner2.js +2 -6
  103. package/dist/components/post-breadcrumb-item2.js +2 -2
  104. package/dist/components/post-breadcrumb2.js +28 -20
  105. package/dist/components/post-card-control2.js +25 -39
  106. package/dist/components/post-closebutton2.js +8 -3
  107. package/dist/components/post-collapsible-trigger2.js +19 -31
  108. package/dist/components/post-collapsible2.js +9 -12
  109. package/dist/components/post-footer2.js +8 -8
  110. package/dist/components/post-header2.js +15 -23
  111. package/dist/components/post-icon2.js +5 -5
  112. package/dist/components/post-language-option2.js +3 -10
  113. package/dist/components/post-language-switch2.js +9 -18
  114. package/dist/components/post-linkarea2.js +5 -4
  115. package/dist/components/post-list-item2.js +2 -2
  116. package/dist/components/post-list2.js +2 -3
  117. package/dist/components/post-logo2.js +3 -2
  118. package/dist/components/post-mainnavigation2.js +94 -182
  119. package/dist/components/post-megadropdown-trigger2.js +38 -37
  120. package/dist/components/post-megadropdown2.js +21 -30
  121. package/dist/components/post-menu-trigger2.js +15 -15
  122. package/dist/components/post-menu2.js +48 -54
  123. package/dist/components/post-popover2.js +14 -12
  124. package/dist/components/post-popovercontainer2.js +638 -36
  125. package/dist/components/post-rating2.js +2 -12
  126. package/dist/components/post-tab-header2.js +4 -3
  127. package/dist/components/post-tab-panel2.js +3 -3
  128. package/dist/components/post-tabs2.js +3 -10
  129. package/dist/components/post-tag2.js +1 -1
  130. package/dist/components/post-togglebutton2.js +12 -11
  131. package/dist/components/post-tooltip2.js +37 -294
  132. package/dist/docs.json +21 -15
  133. package/dist/esm/{attribute-observer-2f203993.js → attribute-observer-009deee5.js} +3 -1
  134. package/dist/esm/{breakpoints-bbe0c54e.js → breakpoints-7812702e.js} +12 -8
  135. package/dist/esm/get-root-1b1af46f.js +15 -0
  136. package/dist/esm/{index-3419e46d.js → index-f4d19816.js} +2 -2
  137. package/dist/esm/index.js +24 -25
  138. package/dist/esm/loader.js +3 -3
  139. package/dist/esm/long-press-event-04d24397.js +264 -0
  140. package/dist/esm/package-8986a24c.js +3 -0
  141. package/dist/esm/{post-accordion-024451fa.js → post-accordion-577b52a0.js} +5 -5
  142. package/dist/esm/{post-accordion-item-19b996d1.js → post-accordion-item-99053b41.js} +5 -5
  143. package/dist/esm/post-accordion-item.entry.js +5 -4
  144. package/dist/esm/post-accordion.entry.js +4 -3
  145. package/dist/esm/{post-avatar-33aed045.js → post-avatar-2914706c.js} +5 -4
  146. package/dist/esm/post-avatar.entry.js +4 -3
  147. package/dist/esm/{post-back-to-top-7dd43c3b.js → post-back-to-top-4c7b1b47.js} +9 -9
  148. package/dist/esm/post-back-to-top.entry.js +4 -3
  149. package/dist/esm/{post-banner-28d18721.js → post-banner-295fd0f5.js} +4 -8
  150. package/dist/esm/post-banner.entry.js +4 -3
  151. package/dist/esm/{post-breadcrumb-d86fae7b.js → post-breadcrumb-1abfb312.js} +30 -22
  152. package/dist/esm/post-breadcrumb-item_2.entry.js +4 -3
  153. package/dist/esm/post-breadcrumb.entry.js +4 -4
  154. package/dist/esm/{post-card-control-aa043898.js → post-card-control-ad72d4f8.js} +26 -40
  155. package/dist/esm/post-card-control.entry.js +4 -3
  156. package/dist/esm/post-closebutton_15.entry.js +5 -5
  157. package/dist/esm/{post-collapsible-trigger-b1612866.js → post-collapsible-trigger-6b4ece20.js} +24 -41
  158. package/dist/esm/post-collapsible_2.entry.js +5 -5
  159. package/dist/esm/post-components.js +3 -3
  160. package/dist/esm/{post-footer-2ed5e520.js → post-footer-a5105e66.js} +11 -11
  161. package/dist/esm/post-footer.entry.js +4 -4
  162. package/dist/esm/{post-linkarea-802bf774.js → post-linkarea-22f97a88.js} +5 -5
  163. package/dist/esm/post-linkarea.entry.js +3 -3
  164. package/dist/esm/{post-menu-item-d97611d8.js → post-menu-item-9465a1f3.js} +4 -4
  165. package/dist/esm/{post-popover-e51a7a18.js → post-popover-e9b4569c.js} +16 -14
  166. package/dist/esm/post-popover.entry.js +5 -4
  167. package/dist/esm/{post-rating-e1ac47ce.js → post-rating-ae16e3c9.js} +4 -14
  168. package/dist/esm/post-rating.entry.js +3 -3
  169. package/dist/esm/{post-tab-header-06dcbf7f.js → post-tab-header-11f23150.js} +5 -4
  170. package/dist/esm/post-tab-header.entry.js +4 -3
  171. package/dist/esm/{post-tab-panel-75932601.js → post-tab-panel-0f3a952e.js} +4 -4
  172. package/dist/esm/post-tab-panel.entry.js +3 -3
  173. package/dist/esm/{post-tabs-3ef2ea23.js → post-tabs-1192509c.js} +5 -12
  174. package/dist/esm/post-tabs.entry.js +4 -3
  175. package/dist/esm/{post-tag-a3b989e0.js → post-tag-8be0a71c.js} +3 -3
  176. package/dist/esm/post-tag.entry.js +3 -3
  177. package/dist/esm/{post-togglebutton-db251030.js → post-togglebutton-b634fc7c.js} +935 -460
  178. package/dist/esm/{post-tooltip-c256d714.js → post-tooltip-f64bd0cc.js} +39 -296
  179. package/dist/esm/post-tooltip.entry.js +5 -4
  180. package/dist/post-components/index.esm.js +1 -1
  181. package/dist/post-components/p-0f398677.js +1 -0
  182. package/dist/post-components/p-1038fc25.js +1 -0
  183. package/dist/post-components/p-30f94eca.entry.js +1 -0
  184. package/dist/post-components/p-31bb6dc5.entry.js +1 -0
  185. package/dist/post-components/p-32173742.js +1 -0
  186. package/dist/post-components/p-338a2507.js +1 -0
  187. package/dist/post-components/p-36540dd6.entry.js +1 -0
  188. package/dist/post-components/p-3aa766a6.js +1 -0
  189. package/dist/post-components/p-3b0158b3.js +1 -0
  190. package/dist/post-components/p-40db8cd5.js +1 -0
  191. package/dist/post-components/p-44f13ce4.entry.js +1 -0
  192. package/dist/post-components/p-46a9324f.entry.js +1 -0
  193. package/dist/post-components/p-49c5aa99.js +1 -0
  194. package/dist/post-components/p-4cd4a936.entry.js +1 -0
  195. package/dist/post-components/p-548ef2f5.entry.js +1 -0
  196. package/dist/post-components/p-58f453dd.js +1 -0
  197. package/dist/post-components/p-5f54b77f.js +1 -0
  198. package/dist/post-components/p-60bb7f26.js +1 -0
  199. package/dist/post-components/p-60bfa4be.entry.js +1 -0
  200. package/dist/post-components/p-6b31a76a.js +1 -0
  201. package/dist/post-components/p-6ee81c5d.js +1 -0
  202. package/dist/post-components/p-6faad212.entry.js +1 -0
  203. package/dist/post-components/p-722ffaae.js +1 -0
  204. package/dist/post-components/p-74a0b44c.entry.js +1 -0
  205. package/dist/post-components/{p-dbe31632.js → p-78b4c699.js} +1 -1
  206. package/dist/post-components/p-7aa0468b.entry.js +1 -0
  207. package/dist/post-components/p-7afc495e.entry.js +1 -0
  208. package/dist/post-components/p-8db32dab.js +8 -0
  209. package/dist/post-components/p-96034ba4.entry.js +1 -0
  210. package/dist/post-components/p-9aaf9f54.js +1 -0
  211. package/dist/post-components/{p-5c758f41.js → p-9e461613.js} +1 -1
  212. package/dist/post-components/p-ab4073be.js +1 -0
  213. package/dist/post-components/p-abd7eb91.js +8 -0
  214. package/dist/post-components/p-afb8a487.entry.js +1 -0
  215. package/dist/post-components/p-b003b381.js +1 -0
  216. package/dist/post-components/p-b97dea1e.entry.js +1 -0
  217. package/dist/post-components/p-be37cf2a.js +1 -0
  218. package/dist/post-components/p-c31b56ed.js +1 -0
  219. package/dist/post-components/p-ccbb51fe.js +1 -0
  220. package/dist/post-components/p-d3900385.entry.js +1 -0
  221. package/dist/post-components/p-ef49153c.entry.js +1 -0
  222. package/dist/post-components/p-f27e5691.js +1 -0
  223. package/dist/post-components/p-f553019f.entry.js +1 -0
  224. package/dist/post-components/p-ffc1db17.entry.js +1 -0
  225. package/dist/post-components/post-components.esm.js +1 -1
  226. package/dist/types/components/post-avatar/post-avatar.d.ts +1 -1
  227. package/dist/types/components/post-card-control/post-card-control.d.ts +1 -1
  228. package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +4 -14
  229. package/dist/types/components/post-footer/post-footer.d.ts +2 -2
  230. package/dist/types/components/post-header/post-header.d.ts +1 -0
  231. package/dist/types/components/post-icon/post-icon.d.ts +0 -1
  232. package/dist/types/components/post-language-switch/post-language-switch.d.ts +2 -5
  233. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +14 -39
  234. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +1 -1
  235. package/dist/types/components/post-popover/post-popover.d.ts +3 -1
  236. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +1 -1
  237. package/dist/types/components/post-tooltip/post-tooltip.d.ts +6 -1
  238. package/dist/types/components.d.ts +4 -4
  239. package/dist/types/popover-fn.d.ts +11 -0
  240. package/dist/types/utils/environment.d.ts +2 -0
  241. package/dist/types/utils/get-root.d.ts +4 -0
  242. package/dist/types/utils/index.d.ts +5 -0
  243. package/loaders/attribute-observer.js +3 -1
  244. package/loaders/breakpoints.js +12 -8
  245. package/loaders/get-root.js +7 -1
  246. package/loaders/index.js +3 -3
  247. package/loaders/long-press-event.js +264 -0
  248. package/loaders/package.js +1 -1
  249. package/loaders/post-accordion-item2.js +3 -3
  250. package/loaders/post-accordion.js +3 -3
  251. package/loaders/post-avatar.js +4 -3
  252. package/loaders/post-back-to-top.js +8 -8
  253. package/loaders/post-banner.js +2 -6
  254. package/loaders/post-breadcrumb-item2.js +2 -2
  255. package/loaders/post-breadcrumb.js +28 -20
  256. package/loaders/post-card-control.js +25 -39
  257. package/loaders/post-closebutton.js +8 -3
  258. package/loaders/post-collapsible-trigger2.js +19 -31
  259. package/loaders/post-collapsible2.js +9 -12
  260. package/loaders/post-footer.js +8 -8
  261. package/loaders/post-header.js +15 -23
  262. package/loaders/post-icon2.js +5 -5
  263. package/loaders/post-language-option.js +3 -10
  264. package/loaders/post-language-switch.js +9 -18
  265. package/loaders/post-linkarea.js +5 -4
  266. package/loaders/post-list-item.js +2 -2
  267. package/loaders/post-list.js +2 -3
  268. package/loaders/post-logo.js +3 -2
  269. package/loaders/post-mainnavigation.js +94 -182
  270. package/loaders/post-megadropdown-trigger.js +38 -37
  271. package/loaders/post-megadropdown.js +21 -30
  272. package/loaders/post-menu-trigger2.js +15 -15
  273. package/loaders/post-menu2.js +48 -54
  274. package/loaders/post-popover.js +14 -12
  275. package/loaders/post-popovercontainer2.js +638 -36
  276. package/loaders/post-rating.js +2 -12
  277. package/loaders/post-tab-header.js +4 -3
  278. package/loaders/post-tab-panel.js +3 -3
  279. package/loaders/post-tabs.js +3 -10
  280. package/loaders/post-tag.js +1 -1
  281. package/loaders/post-togglebutton.js +12 -11
  282. package/loaders/post-tooltip.js +37 -294
  283. package/package.json +5 -5
  284. package/dist/cjs/debounce-158fd76f.js +0 -13
  285. package/dist/cjs/get-root-7a3498ef.js +0 -11
  286. package/dist/components/debounce.js +0 -11
  287. package/dist/esm/debounce-e54c7131.js +0 -11
  288. package/dist/esm/get-root-7af2e0d1.js +0 -9
  289. package/dist/esm/package-da68ab5a.js +0 -3
  290. package/dist/post-components/p-1376c653.js +0 -1
  291. package/dist/post-components/p-13835969.js +0 -1
  292. package/dist/post-components/p-13fdbaf6.entry.js +0 -1
  293. package/dist/post-components/p-1e2169ae.entry.js +0 -1
  294. package/dist/post-components/p-23e4c270.entry.js +0 -1
  295. package/dist/post-components/p-2641e06b.js +0 -1
  296. package/dist/post-components/p-2d3b16c7.js +0 -1
  297. package/dist/post-components/p-33c35e15.js +0 -1
  298. package/dist/post-components/p-3b247d71.entry.js +0 -1
  299. package/dist/post-components/p-42a5fdf8.js +0 -1
  300. package/dist/post-components/p-4ed7bab6.js +0 -1
  301. package/dist/post-components/p-5aeb3656.js +0 -1
  302. package/dist/post-components/p-5c518421.js +0 -1
  303. package/dist/post-components/p-6db1a2e0.entry.js +0 -1
  304. package/dist/post-components/p-6fe98184.entry.js +0 -1
  305. package/dist/post-components/p-7d731077.entry.js +0 -1
  306. package/dist/post-components/p-7ee47334.entry.js +0 -1
  307. package/dist/post-components/p-8223e97b.js +0 -1
  308. package/dist/post-components/p-8a8376d0.js +0 -1
  309. package/dist/post-components/p-8bb828cf.entry.js +0 -1
  310. package/dist/post-components/p-8e55ddd2.js +0 -1
  311. package/dist/post-components/p-9681efce.js +0 -1
  312. package/dist/post-components/p-96a59372.entry.js +0 -1
  313. package/dist/post-components/p-9748a355.js +0 -1
  314. package/dist/post-components/p-99c8fd43.entry.js +0 -1
  315. package/dist/post-components/p-ac042f7a.entry.js +0 -1
  316. package/dist/post-components/p-c34cacb7.js +0 -1
  317. package/dist/post-components/p-c3a970c5.js +0 -1
  318. package/dist/post-components/p-c4651d32.entry.js +0 -1
  319. package/dist/post-components/p-c9b61d31.entry.js +0 -1
  320. package/dist/post-components/p-d16dd7f9.js +0 -1
  321. package/dist/post-components/p-d81c5908.entry.js +0 -1
  322. package/dist/post-components/p-e1baac59.js +0 -1
  323. package/dist/post-components/p-e2294014.js +0 -15
  324. package/dist/post-components/p-e8ff8122.js +0 -1
  325. package/dist/post-components/p-ed78d04a.entry.js +0 -1
  326. package/dist/post-components/p-f1c0924a.js +0 -1
  327. package/dist/post-components/p-f1db96d0.entry.js +0 -1
  328. package/dist/post-components/p-f7aa917f.entry.js +0 -1
  329. package/dist/post-components/p-f96b80cc.entry.js +0 -1
  330. package/dist/post-components/p-fc91cbc2.js +0 -1
  331. package/dist/post-components/p-fd78716d.js +0 -1
  332. package/loaders/debounce.js +0 -11
@@ -9,42 +9,6 @@ let cardControlIds = 0;
9
9
  * @slot icon - To insert a custom icon into the named `icon` slot.<p>Markup accepted: <a href="https://developer.mozilla.org/en-US/docs/Glossary/Inline-level_content">inline content</a>.<p className="banner banner-sm banner-info">It is only meant for <code>img</code> or <code>svg</code> elements and overrides the `icon` property.</p>
10
10
  */
11
11
  export class PostCardControl {
12
- EVENT_MAP = {
13
- input: 'postInput',
14
- change: 'postChange',
15
- };
16
- KEYCODES = {
17
- SPACE: 'Space',
18
- LEFT: 'ArrowLeft',
19
- UP: 'ArrowUp',
20
- RIGHT: 'ArrowRight',
21
- DOWN: 'ArrowDown',
22
- };
23
- group = {
24
- hosts: [],
25
- members: [],
26
- first: null,
27
- last: null,
28
- checked: null,
29
- focused: null,
30
- };
31
- control;
32
- controlId = `PostCardControl_${cardControlIds++}`;
33
- initialChecked;
34
- hasIcon;
35
- host;
36
- internals;
37
- /**
38
- * An event emitted whenever the components checked state is toggled.
39
- * The event payload (emitted under `event.detail.state`) is a boolean: `true` if the component is checked, `false` if it is unchecked.
40
- */
41
- postInput;
42
- /**
43
- * An event emitted whenever the components checked state is toggled.
44
- * The event payload (emitted under `event.detail.state`) is a boolean: `true` if the component is checked, `false` if it is unchecked.
45
- * <span className="banner banner-sm banner-info">If the component is used with type `radio`, it will only emit this event, when the checked state is changing to `true`.</span>
46
- */
47
- postChange;
48
12
  /**
49
13
  * A public method to reset the controls `checked` and `validity` state.
50
14
  * The validity state is set to `null`, so it's neither valid nor invalid.
@@ -74,6 +38,26 @@ export class PostCardControl {
74
38
  this.controlSetChecked(this.checked);
75
39
  }
76
40
  constructor() {
41
+ this.EVENT_MAP = {
42
+ input: 'postInput',
43
+ change: 'postChange',
44
+ };
45
+ this.KEYCODES = {
46
+ SPACE: 'Space',
47
+ LEFT: 'ArrowLeft',
48
+ UP: 'ArrowUp',
49
+ RIGHT: 'ArrowRight',
50
+ DOWN: 'ArrowDown',
51
+ };
52
+ this.group = {
53
+ hosts: [],
54
+ members: [],
55
+ first: null,
56
+ last: null,
57
+ checked: null,
58
+ focused: null,
59
+ };
60
+ this.controlId = `PostCardControl_${cardControlIds++}`;
77
61
  this.focused = false;
78
62
  this.label = undefined;
79
63
  this.description = null;
@@ -232,14 +216,14 @@ export class PostCardControl {
232
216
  this.hasIcon = Boolean(this.host.querySelector('[slot="icon"]') || this.icon);
233
217
  }
234
218
  render() {
235
- return (h(Host, { key: '6d243226748befc5cdc25f567672859700b04825', "data-version": version, onClick: this.cardClickHandler }, h("div", { key: '0e974eed3c642ca13fa86883c27c0c1e6344d7fd', class: {
219
+ return (h(Host, { key: '9172642a4424a3393c0738feba3a3ef8dcea43e8', "data-version": version, onClick: this.cardClickHandler }, h("div", { key: 'd6e47613dfe9d33647fd2379010275d70cbcbdcb', class: {
236
220
  'card-control': true,
237
221
  'is-checked': this.checked,
238
222
  'is-disabled': this.disabled,
239
223
  'is-focused': this.focused,
240
224
  'is-valid': this.validity !== null && this.validity !== 'false',
241
225
  'is-invalid': this.validity === 'false',
242
- } }, h("input", { key: 'bd2a44b835eef5ad2927b3d39721e430deccaf9d', ref: el => (this.control = el), id: this.controlId, class: "card-control--input", type: this.type, name: this.name, value: this.value, checked: this.checked, "aria-describedby": `${this.controlId}_content`, "aria-disabled": this.disabled, "aria-invalid": this.validity === 'false', onClick: this.controlClickHandler, onInput: this.controlChangeHandler, onChange: this.controlChangeHandler, onFocus: this.controlFocusHandler, onBlur: this.controlFocusHandler, onKeyDown: this.controlKeyDownHandler }), h("label", { key: 'a05fc353909de0be2cde8c306bfdc6e7248a59bf', id: `${this.controlId}_label`, htmlFor: this.controlId, class: "card-control--label" }, this.label, this.description ? (h("div", { class: "card-control--description" }, this.description)) : null), this.hasIcon ? (h("div", { class: "card-control--icon" }, h("slot", { name: "icon" }, this.icon ? h("post-icon", { name: this.icon }) : null))) : null, h("div", { key: '348dc3bea78771041ad19530c7265fba2ea189dd', id: `${this.controlId}_content`, class: "card-control--content" }, h("slot", { key: '7e6198e8e3ec1d2aec677be55c5fe8828198e9d7' })))));
226
+ } }, h("input", { key: '44b0e5d5c2c6a759300979a5c33c2a65afaaa27d', ref: el => (this.control = el), id: this.controlId, class: "card-control--input", type: this.type, name: this.name, value: this.value, checked: this.checked, "aria-describedby": `${this.controlId}_content`, "aria-disabled": this.disabled, "aria-invalid": this.validity === 'false', onClick: this.controlClickHandler, onInput: this.controlChangeHandler, onChange: this.controlChangeHandler, onFocus: this.controlFocusHandler, onBlur: this.controlFocusHandler, onKeyDown: this.controlKeyDownHandler }), h("label", { key: 'fd3106562bfcb5ca0e7e5704272f927bfb201af5', id: `${this.controlId}_label`, htmlFor: this.controlId, class: "card-control--label" }, this.label, this.description ? (h("div", { class: "card-control--description" }, this.description)) : null), this.hasIcon ? (h("div", { class: "card-control--icon" }, h("slot", { name: "icon" }, this.icon ? h("post-icon", { name: this.icon }) : null))) : null, h("div", { key: 'ebfa245a0e2b6e45384586408614ce85494fbc58', id: `${this.controlId}_content`, class: "card-control--content" }, h("slot", { key: '99b406bc58fbfcd054f1b551a453a7ac1f4276f6' })))));
243
227
  }
244
228
  componentDidRender() {
245
229
  this.setHostContext();
@@ -291,7 +275,7 @@ export class PostCardControl {
291
275
  "text": "Defines the text in the control-label."
292
276
  },
293
277
  "attribute": "label",
294
- "reflect": false
278
+ "reflect": true
295
279
  },
296
280
  "description": {
297
281
  "type": "string",
@@ -340,7 +324,7 @@ export class PostCardControl {
340
324
  "optional": false,
341
325
  "docs": {
342
326
  "tags": [],
343
- "text": "Defines the `name` attribute of the control.\n<span className=\"banner banner-sm banner-info\">This is a required property, when the control should participate in a native `form`. If not specified, a native `form` will never contain this controls value.</span>\n<span className=\"banner banner-sm banner-info\">This is a required property, when the control is used with type `radio`.</span>"
327
+ "text": "Defines the `name` attribute of the control.\n<span className=\"mb-4 banner banner-sm banner-info\">This is a required property, when the control should participate in a native `form`. If not specified, a native `form` will never contain this controls value.</span>\n<span className=\"banner banner-sm banner-info\">This is a required property, when the control is used with type `radio`.</span>"
344
328
  },
345
329
  "attribute": "name",
346
330
  "reflect": false,
@@ -0,0 +1 @@
1
+ .btn-icon-close{padding:0;border:unset;min-height:unset;min-width:unset;width:var(--post-device-sizing-notification-1);height:var(--post-device-sizing-notification-1);border-radius:var(--post-device-border-radius-round);background-color:var(--post-scheme-color-interactive-button-tertiary-enabled-bg);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}.btn-icon-close>post-icon{min-width:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);height:var(--post-device-sizing-interactive-icon-size4)}.btn-icon-close:not(:disabled):hover,.btn-icon-close.pretend-hover{cursor:pointer;background-color:var(--post-scheme-color-interactive-button-tertiary-hover-bg);color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-icon-close:not(:disabled):hover,.btn-icon-close.pretend-hover{color:HighlightText !important}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}
@@ -4,10 +4,20 @@ import { version } from "../../../../package";
4
4
  * @slot default - Slot for placing visually hidden label in the close button.
5
5
  */
6
6
  export class PostClosebutton {
7
- host;
8
7
  render() {
9
- return (h(Host, { key: 'c03f50379252ba13992bc3d021989ac07dba9f79', "data-version": version }, h("button", { key: 'e97a86bb6e1eace89a1a3a78fb231047f065dd5e', class: "btn btn-icon-close", type: "button" }, h("post-icon", { key: 'aca522d4c251a8183c91c2bd4d810d0716a2fe13', "aria-hidden": "true", name: "closex" }), h("span", { key: '6873522961b1683d1261163b07ee022f93eed836', class: "visually-hidden" }, h("slot", { key: 'bf4b13356c9a0164f1481d1fedc3a78a53e5f8e0' })))));
8
+ return (h(Host, { key: 'cfa55f799fdf9ad0f3ac1eb296e063b5001de997', "data-version": version }, h("button", { key: '7c8a084f6d7278329ddfb5fc4b2b8f992a185666', class: "btn btn-icon-close", type: "button" }, h("post-icon", { key: 'fc74ccb4f0c4c091a02a41cdef918d6c3b065c8c', "aria-hidden": "true", name: "closex" }), h("span", { key: '98478b013714df6d82c6c2f533ac8ecd2abae778', class: "visually-hidden" }, h("slot", { key: '109e2bca4436986dd037d8c29088cc79395bc200' })))));
10
9
  }
11
10
  static get is() { return "post-closebutton"; }
11
+ static get encapsulation() { return "shadow"; }
12
+ static get originalStyleUrls() {
13
+ return {
14
+ "$": ["post-closebutton.scss"]
15
+ };
16
+ }
17
+ static get styleUrls() {
18
+ return {
19
+ "$": ["post-closebutton.css"]
20
+ };
21
+ }
12
22
  static get elementRef() { return "host"; }
13
23
  }
@@ -7,21 +7,14 @@ import { checkEmptyOrType, isMotionReduced } from "../../utils/index";
7
7
  */
8
8
  export class PostCollapsible {
9
9
  constructor() {
10
+ this.isLoaded = false;
11
+ this.isOpen = true;
10
12
  this.collapsed = false;
11
13
  }
12
- isLoaded = false;
13
- isOpen = true;
14
- host;
15
14
  collapsedChange() {
16
15
  checkEmptyOrType(this, 'collapsed', 'boolean');
17
16
  void this.toggle(!this.collapsed);
18
17
  }
19
- /**
20
- * An event emitted when the collapse element is shown or hidden, before the transition.
21
- *
22
- * The event payload is a boolean: `true` if the collapsible was opened, `false` if it was closed.
23
- */
24
- postToggle;
25
18
  componentDidLoad() {
26
19
  this.collapsedChange();
27
20
  this.isLoaded = true;
@@ -46,6 +39,7 @@ export class PostCollapsible {
46
39
  const isHostRendered = this.host.offsetParent;
47
40
  if (isHostRendered)
48
41
  animation.commitStyles();
42
+ this.updateTriggers();
49
43
  return open;
50
44
  }
51
45
  /**
@@ -56,7 +50,7 @@ export class PostCollapsible {
56
50
  triggers.forEach(trigger => trigger.update());
57
51
  }
58
52
  render() {
59
- return (h(Host, { key: 'a43e25138933a758759b4adcca249757db75cc4b', "data-version": version, tabindex: this.collapsed ? -1 : undefined }, h("slot", { key: '2936f71a6fb3ddedda372e8da4a19dbceecaefa6' })));
53
+ return (h(Host, { key: 'a678bc639dfd7686d8e1bd57ca0f09984a24ab61', "data-version": version, tabindex: this.collapsed ? -1 : undefined }, h("slot", { key: 'e0b88ac152fa09314b4bc01c9abdb11480e2cb4d' })));
60
54
  }
61
55
  static get is() { return "post-collapsible"; }
62
56
  static get encapsulation() { return "shadow"; }
@@ -1,21 +1,17 @@
1
+ import { h, Host } from "@stencil/core";
1
2
  import { version } from "../../../../package";
2
- import { checkNonEmpty, checkType, debounce, getRoot } from "../../utils/index";
3
- import { eventGuard } from "../../utils/event-gua";
3
+ import { checkNonEmpty, checkType, eventGuard, getRoot } from "../../utils/index";
4
4
  export class PostCollapsibleTrigger {
5
5
  constructor() {
6
+ this.observer = new MutationObserver(() => this.setTrigger());
6
7
  this.for = undefined;
7
8
  }
8
- trigger;
9
- observer = new MutationObserver(() => this.setTrigger());
10
- root;
11
- host;
12
9
  /**
13
10
  * Set the "aria-controls" and "aria-expanded" attributes on the trigger to match the state of the controlled post-collapsible
14
11
  */
15
- setAriaAttributes() {
12
+ validateAriaAttributes() {
16
13
  checkNonEmpty(this, 'for');
17
14
  checkType(this, 'for', 'string', 'The post-collapsible-trigger "for" prop should be a id.');
18
- void this.update();
19
15
  }
20
16
  /**
21
17
  * Initiate a mutation observer that updates the trigger whenever necessary
@@ -25,25 +21,12 @@ export class PostCollapsibleTrigger {
25
21
  this.root.addEventListener('postToggle', this.handlePostToggle);
26
22
  this.observer.observe(this.host, { childList: true, subtree: true });
27
23
  }
28
- /**
29
- * Attach a "postToggle" event listener to the root node
30
- * to update the trigger's "aria-expanded" attribute whenever the controlled post-collapsible is toggled
31
- */
32
- componentWillLoad() {
33
- this.root = getRoot(this.host);
34
- }
35
- /**
36
- * Add the "data-version" to the host element and set the trigger
37
- */
38
24
  componentDidLoad() {
39
- this.host.setAttribute('data-version', version);
40
25
  this.setTrigger();
41
26
  if (!this.trigger)
42
27
  console.warn('The post-collapsible-trigger must contain a button.');
28
+ this.validateAriaAttributes();
43
29
  }
44
- /**
45
- * Disconnect the mutation observer
46
- */
47
30
  disconnectedCallback() {
48
31
  this.observer.disconnect();
49
32
  this.root.removeEventListener('postToggle', this.handlePostToggle);
@@ -52,7 +35,7 @@ export class PostCollapsibleTrigger {
52
35
  * Update the "aria-controls" and "aria-expanded" attributes on the trigger button
53
36
  */
54
37
  async update() {
55
- this.debouncedUpdate();
38
+ this.updateAriaAttributes();
56
39
  }
57
40
  /**
58
41
  * Private handler for the 'postToggle' event.
@@ -65,7 +48,7 @@ export class PostCollapsibleTrigger {
65
48
  }
66
49
  });
67
50
  }
68
- debouncedUpdate = debounce(() => {
51
+ updateAriaAttributes() {
69
52
  if (!this.trigger)
70
53
  return;
71
54
  // add the provided id to the aria-controls list
@@ -78,7 +61,7 @@ export class PostCollapsibleTrigger {
78
61
  const isCollapsed = this.collapsible?.collapsed;
79
62
  const newAriaExpanded = isCollapsed !== undefined ? !isCollapsed : undefined;
80
63
  this.trigger.setAttribute('aria-expanded', `${newAriaExpanded}`);
81
- });
64
+ }
82
65
  /**
83
66
  * Toggle the post-collapsible controlled by the trigger
84
67
  */
@@ -104,9 +87,13 @@ export class PostCollapsibleTrigger {
104
87
  return;
105
88
  this.trigger = trigger;
106
89
  this.trigger.addEventListener('click', () => this.toggleCollapsible());
107
- this.setAriaAttributes();
90
+ this.updateAriaAttributes();
91
+ }
92
+ render() {
93
+ return (h(Host, { key: 'cd703fe34b8c82afc5956b58724d36b06054bc0b', "data-version": version }, h("slot", { key: '5abe4ba2b8922b941cc8aebbc7039e34e1853855' })));
108
94
  }
109
95
  static get is() { return "post-collapsible-trigger"; }
96
+ static get encapsulation() { return "shadow"; }
110
97
  static get properties() {
111
98
  return {
112
99
  "for": {
@@ -124,7 +111,7 @@ export class PostCollapsibleTrigger {
124
111
  "text": "Link the trigger to a post-collapsible with this id"
125
112
  },
126
113
  "attribute": "for",
127
- "reflect": false
114
+ "reflect": true
128
115
  }
129
116
  };
130
117
  }
@@ -153,7 +140,7 @@ export class PostCollapsibleTrigger {
153
140
  static get watchers() {
154
141
  return [{
155
142
  "propName": "for",
156
- "methodName": "setAriaAttributes"
143
+ "methodName": "validateAriaAttributes"
157
144
  }];
158
145
  }
159
146
  }
@@ -1,6 +1,6 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { version } from "../../../../package";
3
- import { breakpoint } from "../../utils/breakpoints";
3
+ import { breakpoint } from "../../utils/index";
4
4
  /**
5
5
  * @slot grid-{1|2|3|4}-title - Slot for the accordion headers (mobile).
6
6
  * @slot grid-{1|2|3|4} - Slot for the accordion bodies (mobile) and the grid cells (tablet, desktop).
@@ -12,15 +12,17 @@ import { breakpoint } from "../../utils/breakpoints";
12
12
  */
13
13
  export class PostFooter {
14
14
  constructor() {
15
+ this.breakpointChange = (e) => {
16
+ this.isMobile = e.detail === 'mobile';
17
+ };
15
18
  this.label = undefined;
16
19
  this.isMobile = breakpoint.get('name') === 'mobile';
17
20
  }
18
- host;
19
21
  connectedCallback() {
20
- window.addEventListener('postBreakpoint:name', this.breakpointChange.bind(this));
22
+ window.addEventListener('postBreakpoint:name', this.breakpointChange);
21
23
  }
22
- breakpointChange(e) {
23
- this.isMobile = e.detail === 'mobile';
24
+ disconnectedCallback() {
25
+ window.removeEventListener('postBreakpoint:name', this.breakpointChange);
24
26
  }
25
27
  renderAccordion() {
26
28
  return (h("div", { class: "footer-grid" }, h("post-accorddion", { "heading-level": "3", multiple: true }, h("post-accordion-item", { collapsed: true }, h("span", { slot: "header" }, h("slot", { name: "grid-1-title" })), h("slot", { name: "grid-1" })), h("post-accordion-item", { collapsed: true }, h("span", { slot: "header" }, h("slot", { name: "grid-2-title" })), h("slot", { name: "grid-2" })), h("post-accordion-item", { collapsed: true }, h("span", { slot: "header" }, h("slot", { name: "grid-3-title" })), h("slot", { name: "grid-3" })), h("post-accordion-item", { collapsed: true }, h("span", { slot: "header" }, h("slot", { name: "grid-4-title" })), h("slot", { name: "grid-4" })))));
@@ -29,10 +31,7 @@ export class PostFooter {
29
31
  return (h("div", { class: "footer-grid" }, h("div", null, h("slot", { name: "grid-1" })), h("div", null, h("slot", { name: "grid-2" })), h("div", null, h("slot", { name: "grid-3" })), h("div", null, h("slot", { name: "grid-4" }))));
30
32
  }
31
33
  render() {
32
- return (h(Host, { key: '14370a1cfd730a0b0353c88c95f265aefb57c480', "data-version": version }, h("footer", { key: '7208e9d465eb0b469887e7cfae66674db2092dbd' }, h("h2", { key: 'b392c866326374ae27704baaba0dd28c3001ee62', class: "visually-hidden" }, this.label), h("div", { key: '13411ad6e0b55ee17cf9bf77b155aa1c2810f057', class: "footer-container" }, this.isMobile ? this.renderAccordion() : this.renderGrid(), h("div", { key: '4815ae94cd43eca92482ad3c93f107243b26890e', class: "footer-column" }, h("div", { key: 'edc787dc5fc96169c323f15254b6088024a6f19d', class: "footer-socialmedia" }, h("slot", { key: '0971e342ac6f3913c408a535ce0746080e3f57af', name: "socialmedia" })), h("div", { key: 'da583c9ed819181bf2732277f4e6ee22df2e3022', class: "footer-app" }, h("slot", { key: 'b6dab5cfa1f4dc9c049f24d3e08416ef5a27e0aa', name: "app" }))), h("div", { key: '53a5c04129d24dfb64eedd46e95b5c78142a3fd7', class: "footer-businesssectors" }, h("slot", { key: '470f4294778b8978bf6eb168e2b47ff29ef43d07', name: "businesssectors" })), h("div", { key: '45d734ded794352b951f2891bbdba081e05a99d5', class: "footer-meta" }, h("slot", { key: '4d0da53c2eb79e111f0f05278a0972f046eebfa9', name: "meta" })), h("div", { key: 'f95fb7ed3cc09218a3d4a554c619b6f379d5135d', class: "footer-copyright" }, h("slot", { key: '9cdcec805152413693dced0f0d55ac1b1121c70e', name: "copyright" }))))));
33
- }
34
- disconnectedCallback() {
35
- window.removeEventListener('postBreakpoint:name', this.breakpointChange.bind(this));
34
+ return (h(Host, { key: '4058ba0a63a666b82d274d1c35397c97d280ba49', "data-version": version }, h("footer", { key: '27adf1e2a1439fd69efd6e571fcdd6851304c92a' }, h("h2", { key: '1ca0cd955ec5e6d315521eb5c28c5963ed44856d', class: "visually-hidden" }, this.label), h("div", { key: '27a6f520dee9d6294fa3cd4ebc6fd5062ac327ce', class: "footer-container" }, this.isMobile ? this.renderAccordion() : this.renderGrid(), h("div", { key: '5607004d5e3ea553a86d476ca459b3b3632ef12d', class: "footer-column" }, h("div", { key: 'cd4727970358ffad4ca28fffaccc8a5eab4dec27', class: "footer-socialmedia" }, h("slot", { key: '92e105af21b69640a07c2d35c24bff6aae84abb6', name: "socialmedia" })), h("div", { key: '904b787df3f192593408d99857e213143cec6706', class: "footer-app" }, h("slot", { key: '2f4ab14e20737c6035c175e58982464fe6987724', name: "app" }))), h("div", { key: 'c85b261b4ae0cb1e27f424f460fa2838e1174fb0', class: "footer-businesssectors" }, h("slot", { key: 'c66baa3a1b689d881db68448b9d72d47acd11c7c', name: "businesssectors" })), h("div", { key: '4eebc88279f29eef028766c1fcb90effc1aaf1ca', class: "footer-meta" }, h("slot", { key: 'd689d7c14af01dc13c7f9f0fd170f3974150b9aa', name: "meta" })), h("div", { key: '36f87386755a4ae1186109b46609c6ad9c1d5041', class: "footer-copyright" }, h("slot", { key: 'c37231f795b1a5a407f83aeaf8a8b093713b8db1', name: "copyright" }))))));
36
35
  }
37
36
  static get is() { return "post-footer"; }
38
37
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- *,::before,::after{box-sizing:border-box}:host{z-index:1020;position:relative;--global-header-top: calc( (var(--post-global-header-height) - var(--post-global-header-reduced-height)) * -1 );--local-header-top: calc( -1 * (var(--post-local-header-height) - var(--post-main-navigation-height)) + var(--post-global-header-reduced-height) );--logo-height: calc(var(--post-global-header-height) - var(--post-header-scroll-top));--global-controls-top: calc(min((var(--post-header-scroll-top) / 4), 20px) * -1)}:host:has(.global-sub>*:not(.logo):focus-within),:host:has(.local-sub:focus-within){--global-header-top: 0;--local-header-top: var(--post-global-header-height);--logo-height: var(--post-global-header-height);--global-controls-top: 0}:host(:not(:has([slot=title]))) .local-header{padding-block-start:0}:host(:not(:has([slot=title]))) .local-sub{display:none}.d-flex{display:flex}.space-between{justify-content:space-between}.global-header{background-color:#fc0;display:flex;justify-content:space-between;position:sticky;padding-inline:4px;height:var(--post-global-header-height)}@media screen and (max-width: 1023.98px){.global-header{z-index:3;inset-block-start:0}}@media screen and (min-width: 1024px){.global-header{z-index:5;padding-inline-end:12px;inset-block-start:var(--global-header-top);transition:inset-block-start .2s ease-in-out}}.global-sub{display:flex;align-items:center;gap:24px}@media screen and (min-width: 1024px){.global-sub:not(:has(.logo)){position:relative;transition:inset-block-start .2s ease-in-out;inset-block-start:var(--global-controls-top)}}.align-end{align-items:flex-end}.logo{flex:1 0 auto;height:var(--post-global-header-height);width:var(--post-global-header-height);min-height:var(--post-global-header-reduced-height);align-self:flex-end}@media screen and (min-width: 1024px){.logo{transition:height .2 ease-in-out;height:var(--logo-height)}}::slotted(ul){margin-block:0 !important;list-style:none;display:flex;padding-inline-start:0;gap:1rem;flex-shrink:0 !important}.local-header{display:flex;position:sticky;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;min-height:var(--post-local-header-min-height);background:#fff;transition:box-shadow .2s ease-in-out}.local-header::after{content:"";position:absolute;width:100%;height:1px;background-color:#e1e0dc;inset-block-end:-1px;z-index:1}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.local-header::after{background-color:Highlight}}@media screen and (min-width: 1024px){.local-header{z-index:3;inset-block-start:var(--local-header-top);padding-block-start:18px;box-shadow:var(--post-device-elevation-300);transition:box-shadow .2s ease-in-out,inset-block-start .2s ease-in-out}}@media screen and (max-width: 1023.98px){.local-header{z-index:2;inset-block-start:var(--post-global-header-height);padding-block:8px;flex-wrap:wrap;gap:12px}.local-header.local-header-mobile-extended::after{inset-block-end:0}.local-header:not(.local-header-mobile-extended){box-shadow:var(--post-device-elevation-300)}}.local-sub{margin-inline-end:8px}@media screen and (max-width: 1023.98px){.local-sub{margin-inline-end:4px}}::slotted(.list-inline){margin:0 !important;z-index:3 !important;position:relative !important}@media screen and (min-width: 1024px){.mobile-toggle{display:none}}.navigation{width:100%}@media screen and (min-width: 1024px){.navigation{inset-block-start:var(--post-global-header-reduced-height)}.navigation::before{display:block;content:"";position:absolute;inset:0;z-index:2;background:#fff}}@media screen and (max-width: 1023.98px){.navigation{position:sticky;z-index:1;inset-inline:0;inset-block-start:var(--post-header-height)}.mobile-menu{background-color:#fafafa}::slotted(post-mainnavigation),.navigation-footer{display:none;flex-direction:column;padding-block:16px 24px;padding-inline:32px}.navigation.extended ::slotted(post-mainnavigation),.navigation.extended .navigation-footer{display:flex}.navigation.extended>div{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;height:calc(min(var(--header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height))}.navigation.extended.megadropdown-open>div{overflow-y:hidden}.navigation.extended ::slotted(post-mainnavigation){flex-grow:1 !important}::slotted(post-mainnavigation){gap:32px}.navigation-footer{background-color:#f0efed;gap:24px}}@media screen and (max-width: 599.98px){::slotted(post-mainnavigation),.navigation-footer{padding-inline:16px}}
1
+ *,::before,::after{box-sizing:border-box}:host{z-index:1020;position:relative;--global-header-top: calc( (var(--post-global-header-height) - var(--post-global-header-reduced-height)) * -1 );--local-header-top: calc( -1 * (var(--post-local-header-height) - var(--post-main-navigation-height)) + var(--post-global-header-reduced-height) );--logo-height: calc(var(--post-global-header-height) - var(--post-header-scroll-top, 0px));--global-controls-top: calc(min((var(--post-header-scroll-top) / 4), 20px) * -1)}:host:has(.global-sub>*:not(.logo):focus-within),:host:has(.local-sub:focus-within){--global-header-top: 0;--local-header-top: var(--post-global-header-height);--logo-height: var(--post-global-header-height);--global-controls-top: 0}:host(:not(:has([slot=title]))) .local-header{padding-block-start:0}:host(:not(:has([slot=title]))) .local-sub{display:none}.d-flex{display:flex}.space-between{justify-content:space-between}.global-header{background-color:#fc0;display:flex;justify-content:space-between;position:sticky;padding-inline:4px;height:var(--post-global-header-height)}@media screen and (max-width: 1023.98px){.global-header{z-index:3;inset-block-start:0}}@media screen and (min-width: 1024px){.global-header{z-index:5;padding-inline-end:12px;inset-block-start:var(--global-header-top);transition:inset-block-start .2s ease-in-out}}.global-sub{display:flex;align-items:center;gap:24px}@media screen and (min-width: 1024px){.global-sub:not(:has(.logo)){position:relative;transition:inset-block-start .2s ease-in-out;inset-block-start:var(--global-controls-top)}}.align-end{align-items:flex-end}.logo{flex:1 0 auto;height:var(--post-global-header-height);width:var(--post-global-header-height);min-height:var(--post-global-header-reduced-height);align-self:flex-end}@media screen and (min-width: 1024px){.logo{transition:height .2 ease-in-out;height:var(--logo-height)}}::slotted(ul){margin-block:0 !important;list-style:none;display:flex;padding-inline-start:0;gap:1rem;flex-shrink:0 !important}.local-header{display:flex;position:sticky;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;min-height:var(--post-local-header-min-height);background:#fff;transition:box-shadow .2s ease-in-out}.local-header::after{content:"";position:absolute;width:100%;height:1px;background-color:#e1e0dc;inset-block-end:-1px;z-index:1}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.local-header::after{background-color:Highlight}}@media screen and (min-width: 1024px){.local-header{z-index:3;inset-block-start:var(--local-header-top);padding-block-start:18px;box-shadow:var(--post-device-elevation-300);transition:box-shadow .2s ease-in-out,inset-block-start .2s ease-in-out}}@media screen and (max-width: 1023.98px){.local-header{z-index:2;inset-block-start:var(--post-global-header-height);padding-block:8px;flex-wrap:wrap;gap:12px}.local-header.local-header-mobile-extended::after{inset-block-end:0}.local-header:not(.local-header-mobile-extended){box-shadow:var(--post-device-elevation-300)}}.local-sub{margin-inline-end:8px}@media screen and (max-width: 1023.98px){.local-sub{margin-inline-end:4px}}::slotted(.list-inline){margin:0 !important;z-index:3 !important;position:relative !important}@media screen and (min-width: 1024px){.mobile-toggle{display:none}}.navigation{width:100%}@media screen and (min-width: 1024px){.navigation{inset-block-start:var(--post-global-header-reduced-height)}.navigation::before{display:block;content:"";position:absolute;inset:0;z-index:2;background:#fff}}@media screen and (max-width: 1023.98px){.navigation{position:sticky;z-index:1;inset-inline:0;inset-block-start:var(--post-header-height)}.mobile-menu{background-color:#fafafa}::slotted(post-mainnavigation),.navigation-footer{display:none;flex-direction:column;padding-block:16px 24px;padding-inline:32px}.navigation.extended ::slotted(post-mainnavigation),.navigation.extended .navigation-footer{display:flex}.navigation.extended>div{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;height:calc(min(var(--header-scroll-parent-height, 100dvh),100dvh) - var(--post-header-height))}.navigation.extended.megadropdown-open>div{overflow-y:hidden}.navigation.extended ::slotted(post-mainnavigation){flex-grow:1 !important}::slotted(post-mainnavigation){gap:32px}.navigation-footer{background-color:#f0efed;gap:24px}}@media screen and (max-width: 599.98px){::slotted(post-mainnavigation),.navigation-footer{padding-inline:16px}}
@@ -14,13 +14,6 @@ import { eventGuard } from "../../utils/event-gua";
14
14
  * @slot post-mainnavigation - Has a default slot because it's only meant to be used in the `<post-header>`.
15
15
  */
16
16
  export class PostHeader {
17
- firstFocusableEl;
18
- lastFocusableEl;
19
- mobileMenu;
20
- mobileMenuAnimation;
21
- throttledResize = throttle(50, () => this.handleResize());
22
- scrollParentResizeObserver;
23
- localHeaderResizeObserver;
24
17
  get scrollParent() {
25
18
  const frozenScrollParent = document.querySelector('[data-post-scroll-locked]');
26
19
  if (frozenScrollParent)
@@ -35,7 +28,6 @@ export class PostHeader {
35
28
  }
36
29
  return document.body;
37
30
  }
38
- host;
39
31
  lockBody(newValue, _oldValue, propName) {
40
32
  const scrollParent = this.scrollParent;
41
33
  const mobileMenuExtended = propName === 'mobileMenuExtended' ? newValue : this.mobileMenuExtended;
@@ -48,11 +40,16 @@ export class PostHeader {
48
40
  this.host.removeEventListener('keydown', this.keyboardHandler);
49
41
  }
50
42
  }
51
- /**
52
- * An event emitted when the device has changed
53
- */
54
- postUpdateDevice;
55
43
  constructor() {
44
+ this.throttledResize = throttle(50, () => this.handleResize());
45
+ this.megedropdownStateHandler = (event) => {
46
+ eventGuard(this.host, event, {
47
+ targetLocalName: 'post-megadropdown',
48
+ delegatorSelector: 'post-header',
49
+ }, () => {
50
+ this.megadropdownOpen = event.detail.isVisible;
51
+ });
52
+ };
56
53
  this.device = null;
57
54
  this.mobileMenuExtended = false;
58
55
  this.megadropdownOpen = false;
@@ -74,10 +71,12 @@ export class PostHeader {
74
71
  document.addEventListener('postToggleMegadropdown', this.megedropdownStateHandler);
75
72
  this.host.addEventListener('click', this.handleLinkClick);
76
73
  this.handleResize();
77
- this.handleScrollEvent();
78
74
  this.handleScrollParentResize();
79
75
  this.lockBody(false, this.mobileMenuExtended, 'mobileMenuExtended');
80
76
  }
77
+ componentWillRender() {
78
+ this.handleScrollEvent();
79
+ }
81
80
  componentDidRender() {
82
81
  this.getFocusableElements();
83
82
  this.handleLocalHeaderResize();
@@ -123,14 +122,6 @@ export class PostHeader {
123
122
  });
124
123
  }
125
124
  }
126
- megedropdownStateHandler = (event) => {
127
- eventGuard(this.host, event, {
128
- targetLocalName: 'post-megadropdown',
129
- delegatorSelector: 'post-header',
130
- }, () => {
131
- this.megadropdownOpen = event.detail.isVisible;
132
- });
133
- };
134
125
  // Get all the focusable elements in the post-header mobile menu
135
126
  getFocusableElements() {
136
127
  // Get elements in the correct order (different as the DOM order)
@@ -242,7 +233,7 @@ export class PostHeader {
242
233
  return (h("div", { class: navigationClasses.join(' '), style: { '--header-navigation-current-inset': `${mobileMenuScrollTop}px` } }, h("div", { class: "mobile-menu", ref: el => (this.mobileMenu = el) }, h("slot", { name: "post-mainnavigation" }), (this.device === 'mobile' || this.device === 'tablet') && (h("div", { class: "navigation-footer" }, h("slot", { name: "meta-navigation" }), h("slot", { name: "post-language-switch" }))))));
243
234
  }
244
235
  render() {
245
- return (h(Host, { key: 'd4e9cc7d4e61f9c6223651b73fdab93e44f868f2', version: version }, h("div", { key: 'be40a49df865621d9a31808d468a2bb342803600', class: "global-header" }, h("div", { key: '776d797b9235211bd283fb0ecb29722f2776f2cd', class: "global-sub" }, h("div", { key: '3e89049f43d0de844674db985c3c9e55d510f054', class: "logo" }, h("slot", { key: 'c96d915df7930d15c316e8761c0cf24ed6b44b95', name: "post-logo" }))), h("div", { key: '8aa06d67efef853e2a913c23703a73e38f2ec779', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: 'cdd0b21cd9c6be0ec5a3aeb29b3b29b3034897a0', name: "meta-navigation" }), h("slot", { key: 'da4c5e8c6db482b031ba3b7ae1cf91f112bda75f', name: "global-controls" }), this.device === 'desktop' && h("slot", { key: '8980fdfa5f5e90d3786b5727ff6a9368dea709c6', name: "post-language-switch" }), h("div", { key: '013e2ad6b5bfd6b61f42b1d6c33c9ac6f0af98c0', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, h("slot", { key: 'cdac00dcf2cfb182bc8cefe0181054fac65c64be', name: "post-togglebutton" })))), h("div", { key: '0bdaa1b3fe2b9a460c7437b950afe8ce4c2237af', class: 'local-header ' + (this.mobileMenuExtended ? 'local-header-mobile-extended' : '') }, h("slot", { key: '1adc944fce891f85deb00dd40ad58dc0402491a9', name: "title" }), h("div", { key: '70f9a42f940b231a6e0dd89ee8e67d34f3b98eb6', class: "local-sub" }, h("slot", { key: 'd0106f5ec6ed548e1dbd5ca7f78b1ac5bcf5d2d4', name: "local-controls" }), h("slot", { key: '62e91cc83b232238ac3dcc1166f4a006754c95c9' })), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
236
+ return (h(Host, { key: 'd8b43333c00a612a3a37479750874a1efaf6a855', "data-version": version }, h("div", { key: 'b270fb139cc8730a774785c5535fb3bcdd60c59c', class: "global-header" }, h("div", { key: 'b3161c4b26a1be4707fa6c7360e6779547b7ab30', class: "global-sub" }, h("div", { key: '44ecddd8f91c86d1af0075718b63e6bf034a25b7', class: "logo" }, h("slot", { key: 'de5208255d0cf59707092c984b0fec33d317d38d', name: "post-logo" }))), h("div", { key: '199dc1da25d817b488d5c3402779130c360e0f9a', class: "global-sub" }, this.device === 'desktop' && h("slot", { key: '1337f13908a826022a1bf2a8a1a2e2bfe323900b', name: "meta-navigation" }), h("slot", { key: '2b6fbbcedc8f1803e388fdbcbcd637d6a2605c87', name: "global-controls" }), this.device === 'desktop' && h("slot", { key: '2861c1a0f7639678edd0f584d8f98665fcf84fb0', name: "post-language-switch" }), h("div", { key: '06e2d9a4abe3a804f25ffa303f6f9ed5b7c01b60', onClick: () => this.toggleMobileMenu(), class: "mobile-toggle" }, h("slot", { key: '772407e65d3d8f642c1e80fd8cb42b425eed4848', name: "post-togglebutton" })))), h("div", { key: '7b7a3da2a8cc848632c2e45badc52e23958a6faa', class: 'local-header ' + (this.mobileMenuExtended ? 'local-header-mobile-extended' : '') }, h("slot", { key: '96e4d68bfe0504cc09d57a8b11dabb9139d780f6', name: "title" }), h("div", { key: '240fae6f0f9d2a192a7b94110a9c4571856de90a', class: "local-sub" }, h("slot", { key: '14fd77af7dca02157248bf95d7d253d5f14e9f1e', name: "local-controls" }), h("slot", { key: '6dfac25cb64401123638ddfc6b94bbe89ae78249' })), this.device === 'desktop' && this.renderNavigation()), this.device !== 'desktop' && this.renderNavigation()));
246
237
  }
247
238
  static get is() { return "post-header"; }
248
239
  static get encapsulation() { return "shadow"; }
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import { checkNonEmpty, checkType, checkEmptyOrType, checkEmptyOrOneOf } from "../../utils/index";
2
+ import { IS_BROWSER, checkNonEmpty, checkType, checkEmptyOrType, checkEmptyOrOneOf } from "../../utils/index";
3
3
  import { version } from "../../../../package";
4
4
  const CDN_URL = `https://unpkg.com/@swisspost/design-system-icons@${version}/public/post-icons/`;
5
5
  const ANIMATION_NAMES = [
@@ -24,8 +24,6 @@ export class PostIcon {
24
24
  this.rotate = null;
25
25
  this.scale = null;
26
26
  }
27
- isSSR = typeof window === 'undefined';
28
- host;
29
27
  validateAnimation(newValue = this.animation) {
30
28
  if (newValue !== undefined)
31
29
  checkEmptyOrOneOf(this, 'animation', ANIMATION_KEYS);
@@ -56,7 +54,7 @@ export class PostIcon {
56
54
  // the first definition object which defines a domain, will be used to set the domain of the file url
57
55
  // the first definition object which defines a slug, will be used to set the slug of the file url
58
56
  const urlDefinitions = [this.getUrlDefinition(this.base, 'both')];
59
- if (!this.isSSR) {
57
+ if (IS_BROWSER) {
60
58
  urlDefinitions.push(this.getUrlDefinition(document.head
61
59
  .querySelector('meta[name="design-system-settings"][data-post-icon-base]')
62
60
  ?.getAttribute('data-post-icon-base'), 'relative'));
@@ -120,7 +118,7 @@ export class PostIcon {
120
118
  this.validateAnimation();
121
119
  }
122
120
  render() {
123
- return (h(Host, { key: '60f27d2a489e5649aa6ff06a771a146f1b83480d', "data-version": version }, h("span", { key: 'd1e7fe17b1c4b522bf091f248dfe51f838b87896', style: this.getStyles() })));
121
+ return (h(Host, { key: 'b3c3efcc03f423a248e231b4b4c5d79c93ae25a6', "data-version": version }, h("span", { key: 'd73d4df11fcccb96d5346f3f8c3e18602bb8d484', style: this.getStyles() })));
124
122
  }
125
123
  static get is() { return "post-icon"; }
126
124
  static get encapsulation() { return "shadow"; }
@@ -228,7 +226,7 @@ export class PostIcon {
228
226
  "text": "The name/id of the icon (e.g. 1000, 1001, ...)."
229
227
  },
230
228
  "attribute": "name",
231
- "reflect": false
229
+ "reflect": true
232
230
  },
233
231
  "rotate": {
234
232
  "type": "number",
@@ -12,7 +12,6 @@ export class PostLanguageOption {
12
12
  this.name = undefined;
13
13
  this.url = undefined;
14
14
  }
15
- host;
16
15
  validateCode() {
17
16
  checkType(this, 'code', 'string');
18
17
  }
@@ -37,14 +36,6 @@ export class PostLanguageOption {
37
36
  this.postLanguageOptionInitiallyActive.emit(this.code);
38
37
  }
39
38
  }
40
- /**
41
- * An event emitted when the language option is clicked. The payload is the ISO 639 code of the language.
42
- */
43
- postChange;
44
- /**
45
- * An event emitted when the language option is initially active. The payload is the ISO 639 code of the language.
46
- */
47
- postLanguageOptionInitiallyActive;
48
39
  /**
49
40
  * Selects the language option programmatically.
50
41
  */
@@ -65,7 +56,7 @@ export class PostLanguageOption {
65
56
  this.emitChange();
66
57
  }
67
58
  };
68
- return (h(Host, { key: '404caa6a507637810b672c5decf4e3af300733ac', "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)))));
59
+ return (h(Host, { key: '3a6b9a8f63c90f431a13c1df529a2e4716ede5d8', "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)))));
69
60
  }
70
61
  static get is() { return "post-language-option"; }
71
62
  static get originalStyleUrls() {
@@ -1,17 +1,19 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import { checkEmptyOrOneOf, checkType } from "../../utils/index";
2
+ import { checkEmptyOrOneOf, checkType, eventGuard } from "../../utils/index";
3
3
  import { version } from "../../../../package";
4
4
  import { SWITCH_VARIANTS } from "./switch-variants";
5
5
  import { nanoid } from "nanoid";
6
- import { eventGuard } from "../../utils/event-gua";
7
6
  export class PostLanguageSwitch {
8
7
  constructor() {
8
+ this.menuId = `p${nanoid(11)}`;
9
9
  this.caption = undefined;
10
10
  this.description = undefined;
11
11
  this.variant = 'list';
12
12
  this.activeLang = undefined;
13
13
  }
14
- host;
14
+ get languageOptions() {
15
+ return Array.from(this.host.querySelectorAll('post-language-option'));
16
+ }
15
17
  validateCaption() {
16
18
  checkType(this, 'caption', 'string');
17
19
  }
@@ -29,7 +31,6 @@ export class PostLanguageSwitch {
29
31
  // Initially set variants and active language
30
32
  // Handles cases where the language-switch is rendered after the language-options have been rendered
31
33
  this.updateChildrenVariant();
32
- this.updateActiveLanguage();
33
34
  }
34
35
  /**
35
36
  * Listen for the postChange event and guard it to run only for events originating from a <post-language-option> element.
@@ -60,30 +61,17 @@ export class PostLanguageSwitch {
60
61
  handleInitiallyActive(event) {
61
62
  this.activeLang = event.detail;
62
63
  }
63
- get languageOptions() {
64
- return this.host.querySelectorAll('post-language-option');
65
- }
66
- get activeLanguageOption() {
67
- return this.host.querySelector('post-language-option[active]:not([active="false"])');
68
- }
69
- handleSlotChange() {
70
- this.updateActiveLanguage();
71
- }
72
- updateActiveLanguage() {
73
- this.activeLang = this.activeLanguageOption.getAttribute('code');
74
- }
75
64
  // Update post-language-option variant to have the correct style
76
65
  updateChildrenVariant() {
77
66
  this.languageOptions.forEach(el => {
78
67
  el.setAttribute('variant', this.variant);
79
68
  });
80
69
  }
81
- menuId = `p${nanoid(11)}`;
82
70
  renderList() {
83
- 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", { onSlotchange: () => this.handleSlotChange() }))));
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))));
84
72
  }
85
73
  renderDropdown() {
86
- 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", { onSlotchange: () => this.handleSlotChange() }))));
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))));
87
75
  }
88
76
  render() {
89
77
  return this.variant === 'list' ? this.renderList() : this.renderDropdown();
@@ -1 +1 @@
1
- post-linkarea{display:contents;cursor:pointer}
1
+ :host{display:contents;cursor:pointer}
@@ -3,7 +3,6 @@ import { version } from "../../../../package";
3
3
  const INTERACTIVE_ELEMENTS = ['a'].join(',');
4
4
  const INTERACTIVE_ELEMENTS_SELECTOR = `:where(${INTERACTIVE_ELEMENTS})`;
5
5
  export class PostLinkarea {
6
- host;
7
6
  dispatchClick({ ctrlKey, shiftKey, altKey, metaKey }) {
8
7
  const interactiveElement = this.host.querySelector(`[data-link]${INTERACTIVE_ELEMENTS_SELECTOR}`) ??
9
8
  this.host.querySelector(INTERACTIVE_ELEMENTS_SELECTOR);
@@ -13,9 +12,10 @@ export class PostLinkarea {
13
12
  interactiveElement.dispatchEvent(new MouseEvent('click', { ctrlKey, shiftKey, altKey, metaKey }));
14
13
  }
15
14
  render() {
16
- return (h(Host, { key: 'c27bb1e548eecbef9b981ebadea8a9a30a06a89c', "data-version": version, onClick: e => this.dispatchClick(e), tabindex: "0" }, h("slot", { key: '9e5bd5c6032ed87bc2c6e9eed96dc79f19295325' })));
15
+ return (h(Host, { key: '56e4b032fa8976cc120bff5f1c36d55167e54e98', "data-version": version, onClick: (e) => this.dispatchClick(e), tabindex: "0" }, h("slot", { key: '25568fab2a47d765757c00fbee4f2999c1da16d1' })));
17
16
  }
18
17
  static get is() { return "post-linkarea"; }
18
+ static get encapsulation() { return "shadow"; }
19
19
  static get originalStyleUrls() {
20
20
  return {
21
21
  "$": ["post-linkarea.scss"]
@@ -11,8 +11,6 @@ export class PostList {
11
11
  this.titleHidden = false;
12
12
  this.horizontal = false;
13
13
  }
14
- host;
15
- titleEl;
16
14
  componentWillLoad() {
17
15
  /**
18
16
  * Get the id set on the host element or use a random id by default
@@ -28,7 +26,7 @@ export class PostList {
28
26
  }
29
27
  }
30
28
  render() {
31
- return (h(Host, { key: '085a63d7b4cc85461f2c8fd0c7b9d9f48f42055a', "data-version": version }, h("div", { key: 'd13a66ba16b71eff1a86666b04ca2f41957962e1', ref: el => (this.titleEl = el), id: this.titleId, class: `list-title${this.titleHidden ? ' visually-hidden' : ''}` }, h("slot", { key: '0270bcd71c8a3a34390b98b6374a1a2f06e0d606' })), h("div", { key: 'de04b08bf94900435c53f972c8fcd0798c8a5faf', role: "list", "aria-labelledby": this.titleId }, h("slot", { key: 'f7aa9976b3283ee4da3d32d84b36e2549c29e80f', name: "post-list-item" }))));
29
+ return (h(Host, { key: 'b003aa61735359b6a1d95aad8d29c609d5bb3c8b', "data-version": version }, h("div", { key: '2f69a2c72dd357767735e10d16f1b7586da6d5a3', ref: el => (this.titleEl = el), id: this.titleId, class: `list-title${this.titleHidden ? ' visually-hidden' : ''}` }, h("slot", { key: '3982783d438519673a676323339a013d3edb84db' })), h("div", { key: 'b8a91c4430774f019cc46aa19393e2a1566204a5', role: "list", "aria-labelledby": this.titleId }, h("slot", { key: '378a51785c4d52df8ae422657a16e8295b405149', name: "post-list-item" }))));
32
30
  }
33
31
  static get is() { return "post-list"; }
34
32
  static get originalStyleUrls() {