@swisspost/design-system-components 9.0.0-next.4 → 9.0.0-next.5

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 (297) hide show
  1. package/dist/cjs/check-type-64af82a9.js +16 -0
  2. package/dist/cjs/{index-01f30442.js → index-824d2b71.js} +2 -15
  3. package/dist/cjs/index-e1f32cce.js +10 -18
  4. package/dist/cjs/index.cjs.js +35 -29
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/{package-3f706795.js → package-53892d3d.js} +1 -1
  7. package/dist/cjs/{post-accordion-0391f4c5.js → post-accordion-7f627ffd.js} +1 -1
  8. package/dist/cjs/{post-accordion-item-19ce78d0.js → post-accordion-item-ceb5399f.js} +2 -2
  9. package/dist/cjs/post-accordion-item.cjs.entry.js +4 -3
  10. package/dist/cjs/post-accordion.cjs.entry.js +2 -2
  11. package/dist/cjs/post-alert-5333a23c.js +99 -0
  12. package/dist/cjs/post-alert.cjs.entry.js +4 -3
  13. package/dist/cjs/{post-avatar-ffba1d23.js → post-avatar-a8123d38.js} +1 -1
  14. package/dist/cjs/post-avatar.cjs.entry.js +2 -2
  15. package/dist/cjs/{post-breadcrumb-item-42466f8a.js → post-breadcrumb-item-6e4704e5.js} +2 -2
  16. package/dist/cjs/post-breadcrumb-item.cjs.entry.js +4 -3
  17. package/dist/cjs/{post-card-control-37d6a65a.js → post-card-control-b289ddcf.js} +1 -1
  18. package/dist/cjs/post-card-control.cjs.entry.js +2 -2
  19. package/dist/cjs/post-closebutton_10.cjs.entry.js +25 -0
  20. package/dist/cjs/{post-collapsible-trigger-c843f028.js → post-collapsible-trigger-e4862a5b.js} +4 -3
  21. package/dist/cjs/post-collapsible_2.cjs.entry.js +4 -3
  22. package/dist/cjs/post-components.cjs.js +1 -1
  23. package/dist/cjs/{post-language-option-dab6d431.js → post-language-option-62414842.js} +4 -3
  24. package/dist/cjs/post-language-option.cjs.entry.js +4 -3
  25. package/dist/cjs/{post-popovercontainer-1e6be8ad.js → post-megadropdown-trigger-da912fed.js} +516 -15
  26. package/dist/cjs/post-menu-54fa65d3.js +176 -0
  27. package/dist/cjs/post-menu-item-8c3090b1.js +20 -0
  28. package/dist/cjs/post-menu-item.cjs.entry.js +11 -0
  29. package/dist/cjs/post-menu-trigger-71449876.js +73 -0
  30. package/dist/cjs/post-menu-trigger.cjs.entry.js +12 -0
  31. package/dist/cjs/post-menu.cjs.entry.js +11 -0
  32. package/dist/cjs/{post-popover-4457dd58.js → post-popover-5f639e4f.js} +2 -2
  33. package/dist/cjs/post-popover.cjs.entry.js +2 -2
  34. package/dist/cjs/{post-rating-236273be.js → post-rating-3d166fed.js} +2 -2
  35. package/dist/cjs/post-rating.cjs.entry.js +2 -2
  36. package/dist/cjs/{post-tab-header-bce47e34.js → post-tab-header-03b20f24.js} +2 -2
  37. package/dist/cjs/post-tab-header.cjs.entry.js +2 -2
  38. package/dist/cjs/{post-tab-panel-e25974be.js → post-tab-panel-e5685f3d.js} +2 -2
  39. package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
  40. package/dist/cjs/{post-tabs-dc99bddf.js → post-tabs-e871c911.js} +2 -2
  41. package/dist/cjs/post-tabs.cjs.entry.js +2 -2
  42. package/dist/cjs/{post-tag-a28852a8.js → post-tag-62f31d0e.js} +2 -2
  43. package/dist/cjs/post-tag.cjs.entry.js +2 -2
  44. package/dist/cjs/{post-tooltip-78e4129b.js → post-tooltip-851c342c.js} +3 -3
  45. package/dist/cjs/post-tooltip.cjs.entry.js +4 -3
  46. package/dist/collection/collection-manifest.json +8 -1
  47. package/dist/collection/components/post-alert/post-alert.css +3 -3
  48. package/dist/collection/components/post-header/post-header.css +1 -0
  49. package/dist/collection/components/post-header/post-header.js +103 -0
  50. package/dist/collection/components/post-list/post-list.js +1 -1
  51. package/dist/collection/components/post-list-item/post-list-item.js +1 -1
  52. package/dist/collection/components/post-logo/post-logo.js +1 -1
  53. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -0
  54. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +61 -0
  55. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -0
  56. package/dist/collection/components/post-megadropdown/post-megadropdown.js +137 -0
  57. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -0
  58. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +48 -0
  59. package/dist/collection/components/post-menu/post-menu.css +3 -0
  60. package/dist/collection/components/post-menu/post-menu.js +278 -0
  61. package/dist/collection/components/post-menu-item/post-menu-item.css +1 -0
  62. package/dist/collection/components/post-menu-item/post-menu-item.js +20 -0
  63. package/dist/collection/components/post-menu-trigger/post-menu-trigger.css +1 -0
  64. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +103 -0
  65. package/dist/collection/components/post-popover/post-popover.js +1 -1
  66. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +2 -2
  67. package/dist/collection/components/post-rating/post-rating.js +1 -1
  68. package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
  69. package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
  70. package/dist/collection/components/post-tabs/post-tabs.js +1 -1
  71. package/dist/collection/components/post-tag/post-tag.js +1 -1
  72. package/dist/collection/components/post-tooltip/post-tooltip.js +1 -1
  73. package/dist/collection/index.js +7 -0
  74. package/dist/collection/utils/is-focusable.js +26 -0
  75. package/dist/components/index.js +7 -0
  76. package/dist/components/package.js +1 -1
  77. package/dist/components/post-alert2.js +1 -1
  78. package/dist/components/post-header.d.ts +11 -0
  79. package/dist/components/post-header.js +6 -0
  80. package/dist/components/post-header2.js +235 -0
  81. package/dist/components/post-list-item2.js +1 -1
  82. package/dist/components/post-list2.js +1 -1
  83. package/dist/components/post-logo2.js +1 -1
  84. package/dist/components/post-mainnavigation.d.ts +11 -0
  85. package/dist/components/post-mainnavigation.js +6 -0
  86. package/dist/components/post-mainnavigation2.js +48 -0
  87. package/dist/components/post-megadropdown-trigger.d.ts +11 -0
  88. package/dist/components/post-megadropdown-trigger.js +6 -0
  89. package/dist/components/post-megadropdown-trigger2.js +39 -0
  90. package/dist/components/post-megadropdown.d.ts +11 -0
  91. package/dist/components/post-megadropdown.js +6 -0
  92. package/dist/components/post-megadropdown2.js +67 -0
  93. package/dist/components/post-menu-item.d.ts +11 -0
  94. package/dist/components/post-menu-item.js +6 -0
  95. package/dist/components/post-menu-item2.js +33 -0
  96. package/dist/components/post-menu-trigger.d.ts +11 -0
  97. package/dist/components/post-menu-trigger.js +6 -0
  98. package/dist/components/post-menu-trigger2.js +90 -0
  99. package/dist/components/post-menu.d.ts +11 -0
  100. package/dist/components/post-menu.js +6 -0
  101. package/dist/components/post-menu2.js +201 -0
  102. package/dist/components/post-popover2.js +1 -1
  103. package/dist/components/post-popovercontainer2.js +2 -2
  104. package/dist/components/post-rating2.js +1 -1
  105. package/dist/components/post-tab-header2.js +1 -1
  106. package/dist/components/post-tab-panel2.js +1 -1
  107. package/dist/components/post-tabs2.js +1 -1
  108. package/dist/components/post-tag2.js +1 -1
  109. package/dist/components/post-tooltip2.js +1 -1
  110. package/dist/docs.json +547 -1
  111. package/dist/esm/check-type-8828dbe4.js +14 -0
  112. package/dist/esm/index-e1b64755.js +10 -18
  113. package/dist/esm/{index-642cd1f2.js → index-f8a00dc0.js} +2 -14
  114. package/dist/esm/index.js +22 -23
  115. package/dist/esm/loader.js +1 -1
  116. package/dist/esm/package-d0380f19.js +3 -0
  117. package/dist/esm/{post-accordion-7ef6d6bf.js → post-accordion-b2762084.js} +1 -1
  118. package/dist/esm/{post-accordion-item-d98c612f.js → post-accordion-item-82ef1c4a.js} +2 -2
  119. package/dist/esm/post-accordion-item.entry.js +4 -3
  120. package/dist/esm/post-accordion.entry.js +2 -2
  121. package/dist/esm/post-alert-0679e14b.js +97 -0
  122. package/dist/esm/post-alert.entry.js +4 -3
  123. package/dist/esm/{post-avatar-f743d28e.js → post-avatar-e84c49cb.js} +1 -1
  124. package/dist/esm/post-avatar.entry.js +2 -2
  125. package/dist/esm/{post-breadcrumb-item-e287afe1.js → post-breadcrumb-item-ff752018.js} +2 -2
  126. package/dist/esm/post-breadcrumb-item.entry.js +4 -3
  127. package/dist/esm/{post-card-control-685ca60d.js → post-card-control-53b9ca94.js} +1 -1
  128. package/dist/esm/post-card-control.entry.js +2 -2
  129. package/dist/esm/post-closebutton_10.entry.js +8 -0
  130. package/dist/esm/{post-collapsible-trigger-1eca7350.js → post-collapsible-trigger-34740fa6.js} +3 -2
  131. package/dist/esm/post-collapsible_2.entry.js +4 -3
  132. package/dist/esm/post-components.js +1 -1
  133. package/dist/esm/{post-language-option-92ce480f.js → post-language-option-e2a76752.js} +3 -2
  134. package/dist/esm/post-language-option.entry.js +4 -3
  135. package/dist/esm/{post-popovercontainer-409abba0.js → post-megadropdown-trigger-7e577245.js} +509 -17
  136. package/dist/esm/post-menu-e6337859.js +174 -0
  137. package/dist/esm/post-menu-item-c10a0a93.js +18 -0
  138. package/dist/esm/post-menu-item.entry.js +3 -0
  139. package/dist/esm/post-menu-trigger-5f31ad60.js +71 -0
  140. package/dist/esm/post-menu-trigger.entry.js +4 -0
  141. package/dist/esm/post-menu.entry.js +3 -0
  142. package/dist/esm/{post-popover-a82bae79.js → post-popover-d78547b4.js} +2 -2
  143. package/dist/esm/post-popover.entry.js +2 -2
  144. package/dist/esm/{post-rating-a6513fc9.js → post-rating-d04d0349.js} +2 -2
  145. package/dist/esm/post-rating.entry.js +2 -2
  146. package/dist/esm/{post-tab-header-2bf36bae.js → post-tab-header-6efc530f.js} +2 -2
  147. package/dist/esm/post-tab-header.entry.js +2 -2
  148. package/dist/esm/{post-tab-panel-56ad2836.js → post-tab-panel-d9ecc10e.js} +2 -2
  149. package/dist/esm/post-tab-panel.entry.js +2 -2
  150. package/dist/esm/{post-tabs-895b4e96.js → post-tabs-e98a47e8.js} +2 -2
  151. package/dist/esm/post-tabs.entry.js +2 -2
  152. package/dist/esm/{post-tag-ee91d6a9.js → post-tag-40a65871.js} +2 -2
  153. package/dist/esm/post-tag.entry.js +2 -2
  154. package/dist/esm/{post-tooltip-a4d93fd2.js → post-tooltip-3b1e121c.js} +3 -3
  155. package/dist/esm/post-tooltip.entry.js +4 -3
  156. package/dist/post-components/index.esm.js +1 -1
  157. package/dist/post-components/p-029c91d8.entry.js +1 -0
  158. package/dist/post-components/p-0338f9da.js +1 -0
  159. package/dist/post-components/p-03c850fa.entry.js +1 -0
  160. package/dist/post-components/p-1d8a41d3.js +1 -0
  161. package/dist/post-components/p-2069e764.js +1 -0
  162. package/dist/post-components/p-3705d2b4.js +1 -0
  163. package/dist/post-components/p-3aaea2a7.js +1 -0
  164. package/dist/post-components/p-3b4342e4.entry.js +1 -0
  165. package/dist/post-components/p-3b5bd4a4.entry.js +1 -0
  166. package/dist/post-components/p-3f785d16.entry.js +1 -0
  167. package/dist/post-components/p-40a57111.entry.js +1 -0
  168. package/dist/post-components/p-41f5f626.entry.js +1 -0
  169. package/dist/post-components/p-42c628fd.js +1 -0
  170. package/dist/post-components/{p-5a8157b4.js → p-43451d07.js} +1 -1
  171. package/dist/post-components/p-49a42850.js +1 -0
  172. package/dist/post-components/p-4a3f67ab.js +1 -0
  173. package/dist/post-components/p-4f1a40dd.entry.js +1 -0
  174. package/dist/post-components/p-6e7bde44.js +1 -0
  175. package/dist/post-components/{p-fda6ce34.js → p-70c016ab.js} +1 -1
  176. package/dist/post-components/{p-1a53bc7d.js → p-75514d7d.js} +1 -1
  177. package/dist/post-components/p-76dbca34.entry.js +1 -0
  178. package/dist/post-components/{p-fb7a5867.js → p-77a757d4.js} +1 -1
  179. package/dist/post-components/p-77af2367.entry.js +1 -0
  180. package/dist/post-components/{p-5957a7fa.js → p-7a20605b.js} +1 -1
  181. package/dist/post-components/{p-7b0616c6.js → p-879ae242.js} +1 -1
  182. package/dist/post-components/{p-d37c6cc3.js → p-976c2742.js} +1 -1
  183. package/dist/post-components/p-9cda2b0d.entry.js +1 -0
  184. package/dist/post-components/p-9fab4d3c.js +1 -0
  185. package/dist/post-components/p-a0226aec.js +1 -0
  186. package/dist/post-components/p-aa890e24.entry.js +1 -0
  187. package/dist/post-components/p-ac6d9496.js +1 -0
  188. package/dist/post-components/p-ad6e41d5.entry.js +1 -0
  189. package/dist/post-components/{p-bc7cfb53.js → p-af8cfb8e.js} +1 -1
  190. package/dist/post-components/p-c95813b2.entry.js +1 -0
  191. package/dist/post-components/p-d3814644.entry.js +1 -0
  192. package/dist/post-components/p-d5b02b44.entry.js +1 -0
  193. package/dist/post-components/{p-47279ac4.js → p-e0dc4fac.js} +2 -2
  194. package/dist/post-components/p-f404d0bb.entry.js +1 -0
  195. package/dist/post-components/p-f5b933bc.entry.js +1 -0
  196. package/dist/post-components/p-fbda2556.entry.js +1 -0
  197. package/dist/post-components/{p-2caf9469.js → p-fc2c7222.js} +1 -1
  198. package/dist/post-components/post-components.esm.js +1 -1
  199. package/dist/types/components/post-header/post-header.d.ts +16 -0
  200. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +10 -0
  201. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +23 -0
  202. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +10 -0
  203. package/dist/types/components/post-menu/post-menu.d.ts +47 -0
  204. package/dist/types/components/post-menu-item/post-menu-item.d.ts +4 -0
  205. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +26 -0
  206. package/dist/types/components.d.ts +195 -0
  207. package/dist/types/index.d.ts +7 -0
  208. package/dist/types/utils/is-focusable.d.ts +1 -0
  209. package/loaders/index.d.ts +14 -0
  210. package/loaders/index.js +8 -1
  211. package/loaders/package.js +1 -1
  212. package/loaders/post-alert.js +1 -1
  213. package/loaders/post-header.d.ts +11 -0
  214. package/loaders/post-header.js +238 -0
  215. package/loaders/post-list-item.js +1 -1
  216. package/loaders/post-list.js +1 -1
  217. package/loaders/post-logo.js +1 -1
  218. package/loaders/post-mainnavigation.d.ts +11 -0
  219. package/loaders/post-mainnavigation.js +51 -0
  220. package/loaders/post-megadropdown-trigger.d.ts +11 -0
  221. package/loaders/post-megadropdown-trigger.js +42 -0
  222. package/loaders/post-megadropdown.d.ts +11 -0
  223. package/loaders/post-megadropdown.js +70 -0
  224. package/loaders/post-menu-item.d.ts +11 -0
  225. package/loaders/post-menu-item.js +36 -0
  226. package/loaders/post-menu-trigger.d.ts +11 -0
  227. package/loaders/post-menu-trigger.js +93 -0
  228. package/loaders/post-menu.d.ts +11 -0
  229. package/loaders/post-menu.js +204 -0
  230. package/loaders/post-popover.js +1 -1
  231. package/loaders/post-popovercontainer2.js +2 -2
  232. package/loaders/post-rating.js +1 -1
  233. package/loaders/post-tab-header.js +1 -1
  234. package/loaders/post-tab-panel.js +1 -1
  235. package/loaders/post-tabs.js +1 -1
  236. package/loaders/post-tag.js +1 -1
  237. package/loaders/post-tooltip.js +1 -1
  238. package/package.json +3 -2
  239. package/dist/cjs/post-alert-278229ad.js +0 -98
  240. package/dist/cjs/post-closebutton-372c1276.js +0 -16
  241. package/dist/cjs/post-closebutton.cjs.entry.js +0 -11
  242. package/dist/cjs/post-icon-ca80afce.js +0 -104
  243. package/dist/cjs/post-icon.cjs.entry.js +0 -15
  244. package/dist/cjs/post-list-f2c673ef.js +0 -37
  245. package/dist/cjs/post-list-item-1b6ce0d0.js +0 -22
  246. package/dist/cjs/post-list-item.cjs.entry.js +0 -10
  247. package/dist/cjs/post-list.cjs.entry.js +0 -11
  248. package/dist/cjs/post-logo-ed8e99c0.js +0 -39
  249. package/dist/cjs/post-logo.cjs.entry.js +0 -14
  250. package/dist/cjs/post-popovercontainer.cjs.entry.js +0 -11
  251. package/dist/esm/package-aaf62247.js +0 -3
  252. package/dist/esm/post-alert-2aee0a88.js +0 -96
  253. package/dist/esm/post-closebutton-a951a0ba.js +0 -14
  254. package/dist/esm/post-closebutton.entry.js +0 -3
  255. package/dist/esm/post-icon-29b33e6a.js +0 -102
  256. package/dist/esm/post-icon.entry.js +0 -7
  257. package/dist/esm/post-list-5a17eff9.js +0 -35
  258. package/dist/esm/post-list-item-12ff4b9c.js +0 -20
  259. package/dist/esm/post-list-item.entry.js +0 -2
  260. package/dist/esm/post-list.entry.js +0 -3
  261. package/dist/esm/post-logo-0a072d4b.js +0 -37
  262. package/dist/esm/post-logo.entry.js +0 -6
  263. package/dist/esm/post-popovercontainer.entry.js +0 -3
  264. package/dist/post-components/p-065de04e.entry.js +0 -1
  265. package/dist/post-components/p-0af20b10.entry.js +0 -1
  266. package/dist/post-components/p-13e6577d.js +0 -1
  267. package/dist/post-components/p-16ff4451.entry.js +0 -1
  268. package/dist/post-components/p-2b777f74.js +0 -1
  269. package/dist/post-components/p-3a272de8.entry.js +0 -1
  270. package/dist/post-components/p-3cc61960.js +0 -1
  271. package/dist/post-components/p-49445ef1.entry.js +0 -1
  272. package/dist/post-components/p-6ecb14d1.js +0 -1
  273. package/dist/post-components/p-7986d834.js +0 -1
  274. package/dist/post-components/p-80e5d228.entry.js +0 -1
  275. package/dist/post-components/p-8618ccea.entry.js +0 -1
  276. package/dist/post-components/p-8bd32536.js +0 -1
  277. package/dist/post-components/p-8f36ccda.entry.js +0 -1
  278. package/dist/post-components/p-9753c9c7.entry.js +0 -1
  279. package/dist/post-components/p-9cd82521.js +0 -1
  280. package/dist/post-components/p-a3cc34a3.js +0 -1
  281. package/dist/post-components/p-a514b746.entry.js +0 -1
  282. package/dist/post-components/p-a9efdea5.entry.js +0 -1
  283. package/dist/post-components/p-aae80acd.entry.js +0 -1
  284. package/dist/post-components/p-b60d2ab7.entry.js +0 -1
  285. package/dist/post-components/p-b63a3fc2.entry.js +0 -1
  286. package/dist/post-components/p-ba14d022.js +0 -1
  287. package/dist/post-components/p-be5b0cdb.entry.js +0 -1
  288. package/dist/post-components/p-c79c7d00.entry.js +0 -1
  289. package/dist/post-components/p-cd91c467.entry.js +0 -1
  290. package/dist/post-components/p-d176f664.js +0 -1
  291. package/dist/post-components/p-d528afb2.entry.js +0 -1
  292. package/dist/post-components/p-d793c76b.js +0 -1
  293. package/dist/post-components/p-dd871b55.js +0 -1
  294. package/dist/post-components/p-e1925cd1.entry.js +0 -1
  295. package/dist/post-components/p-fb62c672.js +0 -1
  296. package/dist/post-components/p-fe602d19.entry.js +0 -1
  297. package/dist/post-components/p-ffb26d24.entry.js +0 -1
@@ -1,7 +1,148 @@
1
1
  'use strict';
2
2
 
3
3
  const index = require('./index-e1f32cce.js');
4
- const _package = require('./package-3f706795.js');
4
+ const _package = require('./package-53892d3d.js');
5
+ const index$1 = require('./index-824d2b71.js');
6
+ const checkNonEmpty = require('./check-non-empty-eeaa8f77.js');
7
+ const checkType = require('./check-type-64af82a9.js');
8
+
9
+ const PostClosebutton = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ }
13
+ render() {
14
+ return (index.h(index.Host, { key: 'b7e24245bf8319049c57737d754f566abf70b2ff', "data-version": _package.version }, index.h("button", { key: 'ab26b009632b4050d45eafc4dcab0e8ede55f943', class: "btn btn-icon-close" }, index.h("post-icon", { key: 'fa8da29f6f0795c3f0128c008e2fd8caee272fe5', "aria-hidden": "true", name: "2043" }), index.h("span", { key: 'f55941d6449a08911a2432213cf2f4c2b3f961aa', class: "visually-hidden" }, index.h("slot", { key: '172454f7bbb2fa54f245137c49d4bde0527a1308' })))));
15
+ }
16
+ get host() { return index.getElement(this); }
17
+ };
18
+
19
+ const postIconCss = ":host{display:inline-block;width:1em;height:1em;vertical-align:-0.15em}span{display:block;width:100%;height:100%;fill:currentColor;forced-color-adjust:preserve-parent-color;background-color:currentColor;-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}:host([flip-h]:not([flip-h=false])){scale:-1 1}:host([flip-v]:not([flip-v=false])){scale:1 -1}:host([flip-h][flip-v]:not([flip-h=false],[flip-v=false])){scale:-1}:host([animation]){transform-origin:center}:host([animation=cylon]){animation:icon-animation-cylon .75s ease-in-out infinite alternate}:host([animation=cylon-vertical]){animation:icon-animation-cylon-vertical .75s ease-in-out infinite alternate}:host([animation=spin]){animation:icon-animation-spin 2s linear infinite normal}:host([animation=spin-reverse]){animation:icon-animation-spin 2s linear infinite reverse}:host([animation=fade]){animation:icon-animation-fade .75s ease-in-out infinite alternate}:host([animation=throb]){animation:icon-animation-throb .75s ease-in-out infinite alternate}@keyframes icon-animation-cylon{from{transform:translateX(-25%)}to{transform:translateX(25%)}}@keyframes icon-animation-cylon-vertical{from{transform:translateY(25%)}to{transform:translateY(-25%)}}@keyframes icon-animation-fade{from{opacity:.1}to{opacity:1}}@keyframes icon-animation-spin{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes icon-animation-throb{from{opacity:.5;transform:scale(0.5)}to{opacity:1;transform:scale(1)}}";
20
+ const PostIconStyle0 = postIconCss;
21
+
22
+ const CDN_URL = 'https://unpkg.com/@swisspost/design-system-icons/public/post-icons';
23
+ const ANIMATION_NAMES = [
24
+ 'cylon',
25
+ 'cylon-vertical',
26
+ 'spin',
27
+ 'spin-reverse',
28
+ 'fade',
29
+ 'throb',
30
+ ];
31
+ const ANIMATION_KEYS = [...ANIMATION_NAMES];
32
+ const PostIcon = class {
33
+ constructor(hostRef) {
34
+ index.registerInstance(this, hostRef);
35
+ this.svgStyles = undefined;
36
+ this.svgOutput = undefined;
37
+ this.animation = null;
38
+ this.base = null;
39
+ this.flipH = false;
40
+ this.flipV = false;
41
+ this.name = undefined;
42
+ this.rotate = null;
43
+ this.scale = null;
44
+ }
45
+ validateAnimation(newValue = this.animation) {
46
+ if (newValue !== undefined)
47
+ index$1.checkEmptyOrOneOf(newValue, ANIMATION_KEYS, `The post-icon "animation" prop requires one of the following values: ${ANIMATION_KEYS.join(', ')}.`);
48
+ }
49
+ validateBase(newValue = this.base) {
50
+ index$1.checkEmptyOrType(newValue, 'string', 'The post-icon "base" prop should be a string.');
51
+ }
52
+ validateFlipH(newValue = this.flipH) {
53
+ index$1.checkEmptyOrType(newValue, 'boolean', 'The post-icon "flipH" prop should be a boolean.');
54
+ }
55
+ validateFlipV(newValue = this.flipV) {
56
+ index$1.checkEmptyOrType(newValue, 'boolean', 'The post-icon "flipV" prop should be a boolean.');
57
+ }
58
+ validateName(newValue = this.name) {
59
+ checkNonEmpty.checkNonEmpty(newValue, 'The post-icon "name" prop is required!.');
60
+ checkType.checkType(newValue, 'string', 'The post-icon "name" prop should be a string.');
61
+ }
62
+ validateRotate(newValue = this.rotate) {
63
+ index$1.checkEmptyOrType(newValue, 'number', 'The post-icon "rotate" prop should be a number.');
64
+ }
65
+ validateScale(newValue = this.scale) {
66
+ index$1.checkEmptyOrType(newValue, 'number', 'The post-icon "scale" prop should be a number.');
67
+ }
68
+ componentDidLoad() {
69
+ this.validateBase();
70
+ this.validateName();
71
+ this.validateFlipH();
72
+ this.validateFlipV();
73
+ this.validateScale();
74
+ this.validateRotate();
75
+ this.validateAnimation();
76
+ }
77
+ componentWillRender() {
78
+ this.setPath();
79
+ }
80
+ setPath() {
81
+ var _a, _b, _c, _d;
82
+ // Construct icon path from different possible sources
83
+ const metaBase = (_b = (_a = document.head
84
+ .querySelector('meta[name="design-system-settings"][data-post-icon-base]')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-post-icon-base')) !== null && _b !== void 0 ? _b : null;
85
+ const fileBase = `${(_d = (_c = this.base) !== null && _c !== void 0 ? _c : metaBase) !== null && _d !== void 0 ? _d : CDN_URL}/`.replace(/\/\/$/, '/');
86
+ const fileName = `${this.name}.svg`;
87
+ const filePath = `${fileBase}${fileName}`;
88
+ this.path = new URL(filePath, window.location.origin).toString();
89
+ }
90
+ render() {
91
+ // create inline styles for some properties
92
+ const svgStyles = Object.entries({
93
+ '-webkit-mask-image': `url('${this.path}')`,
94
+ 'mask-image': `url('${this.path}')`,
95
+ 'transform': (this.scale && !isNaN(Number(this.scale)) ? 'scale(' + this.scale + ')' : '') +
96
+ (this.rotate && !isNaN(Number(this.rotate)) ? ' rotate(' + this.rotate + 'deg)' : ''),
97
+ })
98
+ .filter(([_key, value]) => value !== null)
99
+ .reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
100
+ return (index.h(index.Host, { key: '86c61ac92270e1b46ef63e2bb0ff4683a16ca794', "data-version": _package.version }, index.h("span", { key: 'ad856363b96d303912c9085d9d45cb911cbedfc6', style: svgStyles })));
101
+ }
102
+ get host() { return index.getElement(this); }
103
+ static get watchers() { return {
104
+ "animation": ["validateAnimation"],
105
+ "base": ["validateBase"],
106
+ "flipH": ["validateFlipH"],
107
+ "flipV": ["validateFlipV"],
108
+ "name": ["validateName"],
109
+ "rotate": ["validateRotate"],
110
+ "scale": ["validateScale"]
111
+ }; }
112
+ };
113
+ PostIcon.style = PostIconStyle0;
114
+
115
+ const postLogoCss = ":host,.logo{display:inline-block}:host,:host .logo>svg,.logo,.logo .logo>svg{height:100%}.description{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}";
116
+ const PostLogoStyle0 = postLogoCss;
117
+
118
+ const PostLogo = class {
119
+ constructor(hostRef) {
120
+ index.registerInstance(this, hostRef);
121
+ this.url = undefined;
122
+ }
123
+ validateUrl() {
124
+ index$1.checkEmptyOrUrl(this.url, 'The "url" property of the post-logo is invalid');
125
+ }
126
+ componentDidLoad() {
127
+ this.validateUrl();
128
+ this.checkDescription();
129
+ }
130
+ checkDescription() {
131
+ if (!this.host.textContent) {
132
+ console.warn('Be sure to add descriptive text in the post-logo to ensure good accessibility of the component.');
133
+ }
134
+ }
135
+ render() {
136
+ const logoLink = this.url && (typeof this.url === 'string' ? this.url : this.url.href);
137
+ const LogoTag = logoLink ? 'a' : 'span';
138
+ return (index.h(index.Host, { key: '9f23dca4f568ecbcf3d90387b2a9cb4fa1e85a98', "data-version": _package.version, slot: "post-logo" }, index.h(LogoTag, Object.assign({ key: '1b303363d3a4a829d4ab4b38bc40cbd3107b55e9', class: "logo" }, (logoLink ? { href: logoLink } : {})), index.h("span", { key: 'de29d53c4bb663053092b905d32f6597bd9a00d5', class: "description" }, index.h("slot", { key: 'bdfc96e3d9cb9384a61fa8af91c12a4b119f2f3b', onSlotchange: () => this.checkDescription() })), index.h("svg", { key: 'f2d1e0803c7f2f3a7c425dd5ebd57346c8d967e6', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 72 72", "aria-hidden": "true" }, index.h("g", { key: '554a2d4edb796b01969555eccb3f0f34e74f0121', id: "Logo" }, index.h("rect", { key: '7596d8684037b02d015e48539bddda3f44dfcadf', fill: "#ffcc00", x: "0", y: "0", width: "72", height: "72" }), index.h("polygon", { key: 'f79c5e941f7d87de1484a934565cf363b49914d5', fill: "#ff0000", points: "34,32.3 34,19 19.7,19 19.7,29.1 10,29.1 10,42.9 19.7,42.9 19.7,53 34,53 34,39.7 30.6,39.7 30.6,49.8 23.1,49.8 23.1,39.7 13.4,39.7 13.4,32.3 23.1,32.3 23.1,22.2 30.6,22.2 30.6,32.3" }), index.h("path", { key: '7c5babc1703e4f74c08b78916a86c553f8cc6edf', d: "M53.56234,31.10526c0,2.41272-1.99154,4.29475-4.51723,4.29475H45.2v-8.3h3.84511C51.66802,27.1,53.56234,28.78889,53.56234,31.10526z M50.69666,19H36v34h9.2V42.9h5.49666c6.75131,0,11.9971-5.15137,11.9971-11.8057C62.69376,24.39136,57.35099,19,50.69666,19z" }))))));
139
+ }
140
+ get host() { return index.getElement(this); }
141
+ static get watchers() { return {
142
+ "url": ["validateUrl"]
143
+ }; }
144
+ };
145
+ PostLogo.style = PostLogoStyle0;
5
146
 
6
147
  /**
7
148
  * Custom positioning reference element.
@@ -1197,7 +1338,7 @@ function isOverflowElement(element) {
1197
1338
  overflowX,
1198
1339
  overflowY,
1199
1340
  display
1200
- } = getComputedStyle(element);
1341
+ } = getComputedStyle$1(element);
1201
1342
  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
1202
1343
  }
1203
1344
  function isTableElement(element) {
@@ -1214,7 +1355,7 @@ function isTopLayer(element) {
1214
1355
  }
1215
1356
  function isContainingBlock(elementOrCss) {
1216
1357
  const webkit = isWebKit();
1217
- const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
1358
+ const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
1218
1359
 
1219
1360
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
1220
1361
  return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));
@@ -1238,7 +1379,7 @@ function isWebKit() {
1238
1379
  function isLastTraversableNode(node) {
1239
1380
  return ['html', 'body', '#document'].includes(getNodeName(node));
1240
1381
  }
1241
- function getComputedStyle(element) {
1382
+ function getComputedStyle$1(element) {
1242
1383
  return getWindow(element).getComputedStyle(element);
1243
1384
  }
1244
1385
  function getNodeScroll(element) {
@@ -1296,7 +1437,7 @@ function getOverflowAncestors(node, list, traverseIframes) {
1296
1437
  }
1297
1438
 
1298
1439
  function getCssDimensions(element) {
1299
- const css = getComputedStyle(element);
1440
+ const css = getComputedStyle$1(element);
1300
1441
  // In testing environments, the `width` and `height` properties are empty
1301
1442
  // strings for SVG elements, returning NaN. Fallback to `0` in this case.
1302
1443
  let width = parseFloat(css.width) || 0;
@@ -1401,7 +1542,7 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1401
1542
  while (currentIFrame && offsetParent && offsetWin !== currentWin) {
1402
1543
  const iframeScale = getScale(currentIFrame);
1403
1544
  const iframeRect = currentIFrame.getBoundingClientRect();
1404
- const css = getComputedStyle(currentIFrame);
1545
+ const css = getComputedStyle$1(currentIFrame);
1405
1546
  const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
1406
1547
  const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
1407
1548
  x *= iframeScale.x;
@@ -1481,7 +1622,7 @@ function getDocumentRect(element) {
1481
1622
  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
1482
1623
  let x = -scroll.scrollLeft + getWindowScrollBarX(element);
1483
1624
  const y = -scroll.scrollTop;
1484
- if (getComputedStyle(body).direction === 'rtl') {
1625
+ if (getComputedStyle$1(body).direction === 'rtl') {
1485
1626
  x += max(html.clientWidth, body.clientWidth) - width;
1486
1627
  }
1487
1628
  return {
@@ -1557,7 +1698,7 @@ function hasFixedPositionAncestor(element, stopNode) {
1557
1698
  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
1558
1699
  return false;
1559
1700
  }
1560
- return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
1701
+ return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
1561
1702
  }
1562
1703
 
1563
1704
  // A "clipping ancestor" is an `overflow` element with the characteristic of
@@ -1570,12 +1711,12 @@ function getClippingElementAncestors(element, cache) {
1570
1711
  }
1571
1712
  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
1572
1713
  let currentContainingBlockComputedStyle = null;
1573
- const elementIsFixed = getComputedStyle(element).position === 'fixed';
1714
+ const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
1574
1715
  let currentNode = elementIsFixed ? getParentNode(element) : element;
1575
1716
 
1576
1717
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
1577
1718
  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
1578
- const computedStyle = getComputedStyle(currentNode);
1719
+ const computedStyle = getComputedStyle$1(currentNode);
1579
1720
  const currentNodeIsContaining = isContainingBlock(currentNode);
1580
1721
  if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
1581
1722
  currentContainingBlockComputedStyle = null;
@@ -1666,11 +1807,11 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1666
1807
  }
1667
1808
 
1668
1809
  function isStaticPositioned(element) {
1669
- return getComputedStyle(element).position === 'static';
1810
+ return getComputedStyle$1(element).position === 'static';
1670
1811
  }
1671
1812
 
1672
1813
  function getTrueOffsetParent(element, polyfill) {
1673
- if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {
1814
+ if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {
1674
1815
  return null;
1675
1816
  }
1676
1817
  if (polyfill) {
@@ -1722,7 +1863,7 @@ const getElementRects = async function (data) {
1722
1863
  };
1723
1864
 
1724
1865
  function isRTL(element) {
1725
- return getComputedStyle(element).direction === 'rtl';
1866
+ return getComputedStyle$1(element).direction === 'rtl';
1726
1867
  }
1727
1868
 
1728
1869
  const platform = {
@@ -2177,12 +2318,372 @@ const PostPopovercontainer = class {
2177
2318
  }
2178
2319
  }
2179
2320
  render() {
2180
- return (index.h(index.Host, { key: '786ef435ebc0cdb95a15c0327aee75406d4da6e5', "data-version": _package.version }, this.arrow && (index.h("span", { key: '3c343daffb966ee54b9c14eb5659910150be7f3f', class: "arrow", ref: el => {
2321
+ return (index.h(index.Host, { key: '97a63bfbf098bd3463eb75678e54ddcc9e4790b3', "data-version": _package.version }, this.arrow && (index.h("span", { key: 'f6eaa7bd6cd3eb63d15e7d91825365661daae7dd', class: "arrow", ref: el => {
2181
2322
  this.arrowRef = el;
2182
- } })), index.h("slot", { key: 'f2c9fc7c80f794987550388bfe8ad33078685bf1' })));
2323
+ } })), index.h("slot", { key: '414055000891719b74c2c449fec2c87a60b62047' })));
2183
2324
  }
2184
2325
  get host() { return index.getElement(this); }
2185
2326
  };
2186
2327
  PostPopovercontainer.style = PostPopovercontainerStyle0;
2187
2328
 
2329
+ const postListCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */post-list{display:flex;gap:var(--post-list-title-gap);flex-direction:column;align-items:flex-start}post-list>div[role=list]{flex-direction:column;display:flex;gap:var(--post-list-item-gap)}post-list[horizontal]:not([horizontal=false]){flex-direction:row;align-items:baseline}post-list[horizontal]:not([horizontal=false])>div[role=list]{flex-direction:row;align-items:center}post-list>.list-title.visually-hidden{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}post-list>.list-title.visually-hidden:not(caption){position:absolute !important}";
2330
+ const PostListStyle0 = postListCss;
2331
+
2332
+ const PostList = class {
2333
+ constructor(hostRef) {
2334
+ index.registerInstance(this, hostRef);
2335
+ this.titleId = undefined;
2336
+ this.titleHidden = false;
2337
+ this.horizontal = false;
2338
+ }
2339
+ componentWillLoad() {
2340
+ /**
2341
+ * Get the id set on the host element or use a random id by default
2342
+ */
2343
+ this.titleId = `list-${crypto.randomUUID()}`;
2344
+ }
2345
+ componentDidLoad() {
2346
+ this.checkTitle();
2347
+ }
2348
+ checkTitle() {
2349
+ if (!this.titleEl.innerText) {
2350
+ throw new Error('Please provide a title to the list component. Title is mandatory for accessibility purposes.');
2351
+ }
2352
+ }
2353
+ render() {
2354
+ return (index.h(index.Host, { key: '23875f577fa2cbdeac88596616ddd1d5b924f983', "data-version": _package.version }, index.h("div", { key: '3fe8da70bc5c0e7b72c5e8b76a37762deb55fffd', ref: el => (this.titleEl = el), id: this.titleId, class: `list-title${this.titleHidden ? ' visually-hidden' : ''}` }, index.h("slot", { key: '536bec8ddbed178108a921f0b643d6eeb7b58edc' })), index.h("div", { key: 'c6b560206740105afc494050fa4b8608ccf4bd15', role: "list", "aria-labelledby": this.titleId }, index.h("slot", { key: '06272c2a9cc18d2f5440ff1fc0b966929b3ab6a0', name: "post-list-item" }))));
2355
+ }
2356
+ get host() { return index.getElement(this); }
2357
+ };
2358
+ PostList.style = PostListStyle0;
2359
+
2360
+ const postListItemCss = ":host{display:flex}";
2361
+ const PostListItemStyle0 = postListItemCss;
2362
+
2363
+ const PostListItem = class {
2364
+ constructor(hostRef) {
2365
+ index.registerInstance(this, hostRef);
2366
+ }
2367
+ connectedCallback() {
2368
+ this.host.setAttribute('slot', 'post-list-item');
2369
+ }
2370
+ render() {
2371
+ return (index.h(index.Host, { key: '8336f46e5c7d9b6b921582498e1d7e62086b3d4b', role: "listitem" }, index.h("slot", { key: '36ca0d6632ca775793f1db91d747894e0037dca2' })));
2372
+ }
2373
+ get host() { return index.getElement(this); }
2374
+ };
2375
+ PostListItem.style = PostListItemStyle0;
2376
+
2377
+ /* eslint-disable no-undefined,no-param-reassign,no-shadow */
2378
+
2379
+ /**
2380
+ * Throttle execution of a function. Especially useful for rate limiting
2381
+ * execution of handlers on events like resize and scroll.
2382
+ *
2383
+ * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)
2384
+ * are most useful.
2385
+ * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,
2386
+ * as-is, to `callback` when the throttled-function is executed.
2387
+ * @param {object} [options] - An object to configure options.
2388
+ * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds
2389
+ * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed
2390
+ * one final time after the last throttled-function call. (After the throttled-function has not been called for
2391
+ * `delay` milliseconds, the internal counter is reset).
2392
+ * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback
2393
+ * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that
2394
+ * callback will never executed if both noLeading = true and noTrailing = true.
2395
+ * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is
2396
+ * false (at end), schedule `callback` to execute after `delay` ms.
2397
+ *
2398
+ * @returns {Function} A new, throttled, function.
2399
+ */
2400
+ function throttle (delay, callback, options) {
2401
+ var _ref = options || {},
2402
+ _ref$noTrailing = _ref.noTrailing,
2403
+ noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,
2404
+ _ref$noLeading = _ref.noLeading,
2405
+ noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,
2406
+ _ref$debounceMode = _ref.debounceMode,
2407
+ debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;
2408
+ /*
2409
+ * After wrapper has stopped being called, this timeout ensures that
2410
+ * `callback` is executed at the proper times in `throttle` and `end`
2411
+ * debounce modes.
2412
+ */
2413
+ var timeoutID;
2414
+ var cancelled = false;
2415
+
2416
+ // Keep track of the last time `callback` was executed.
2417
+ var lastExec = 0;
2418
+
2419
+ // Function to clear existing timeout
2420
+ function clearExistingTimeout() {
2421
+ if (timeoutID) {
2422
+ clearTimeout(timeoutID);
2423
+ }
2424
+ }
2425
+
2426
+ // Function to cancel next exec
2427
+ function cancel(options) {
2428
+ var _ref2 = options || {},
2429
+ _ref2$upcomingOnly = _ref2.upcomingOnly,
2430
+ upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;
2431
+ clearExistingTimeout();
2432
+ cancelled = !upcomingOnly;
2433
+ }
2434
+
2435
+ /*
2436
+ * The `wrapper` function encapsulates all of the throttling / debouncing
2437
+ * functionality and when executed will limit the rate at which `callback`
2438
+ * is executed.
2439
+ */
2440
+ function wrapper() {
2441
+ for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
2442
+ arguments_[_key] = arguments[_key];
2443
+ }
2444
+ var self = this;
2445
+ var elapsed = Date.now() - lastExec;
2446
+ if (cancelled) {
2447
+ return;
2448
+ }
2449
+
2450
+ // Execute `callback` and update the `lastExec` timestamp.
2451
+ function exec() {
2452
+ lastExec = Date.now();
2453
+ callback.apply(self, arguments_);
2454
+ }
2455
+
2456
+ /*
2457
+ * If `debounceMode` is true (at begin) this is used to clear the flag
2458
+ * to allow future `callback` executions.
2459
+ */
2460
+ function clear() {
2461
+ timeoutID = undefined;
2462
+ }
2463
+ if (!noLeading && debounceMode && !timeoutID) {
2464
+ /*
2465
+ * Since `wrapper` is being called for the first time and
2466
+ * `debounceMode` is true (at begin), execute `callback`
2467
+ * and noLeading != true.
2468
+ */
2469
+ exec();
2470
+ }
2471
+ clearExistingTimeout();
2472
+ if (debounceMode === undefined && elapsed > delay) {
2473
+ if (noLeading) {
2474
+ /*
2475
+ * In throttle mode with noLeading, if `delay` time has
2476
+ * been exceeded, update `lastExec` and schedule `callback`
2477
+ * to execute after `delay` ms.
2478
+ */
2479
+ lastExec = Date.now();
2480
+ if (!noTrailing) {
2481
+ timeoutID = setTimeout(debounceMode ? clear : exec, delay);
2482
+ }
2483
+ } else {
2484
+ /*
2485
+ * In throttle mode without noLeading, if `delay` time has been exceeded, execute
2486
+ * `callback`.
2487
+ */
2488
+ exec();
2489
+ }
2490
+ } else if (noTrailing !== true) {
2491
+ /*
2492
+ * In trailing throttle mode, since `delay` time has not been
2493
+ * exceeded, schedule `callback` to execute `delay` ms after most
2494
+ * recent execution.
2495
+ *
2496
+ * If `debounceMode` is true (at begin), schedule `clear` to execute
2497
+ * after `delay` ms.
2498
+ *
2499
+ * If `debounceMode` is false (at end), schedule `callback` to
2500
+ * execute after `delay` ms.
2501
+ */
2502
+ timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
2503
+ }
2504
+ }
2505
+ wrapper.cancel = cancel;
2506
+
2507
+ // Return the wrapper function.
2508
+ return wrapper;
2509
+ }
2510
+
2511
+ const postHeaderCss = "*,::before,::after{box-sizing:border-box}:host{--global-header-height:72px;--main-header-height:56px;--header-height:calc(var(--global-header-height) + var(--main-header-height))}@media screen and (max-width: 1023.99px){:host{--global-header-height:64px}}.d-flex{display:flex}.space-between{justify-content:space-between}.global-header{background-color:#fc0;display:flex;justify-content:space-between;align-items:center;position:sticky;padding-inline-start:4px;padding-inline-end:12px;height:var(--global-header-height)}@media screen and (max-width: 1023.99px){.global-header{top:0}}@media screen and (min-width: 1024px){.global-header{top:calc((var(--global-header-height) - 24px)*-1)}}slot[name=post-logo]{align-self:flex-end}.global-sub{display:flex;align-items:center;gap:2rem;height:var(--global-header-height)}.align-end{align-items:flex-end}.logo{flex:1 0 auto;height:var(--global-header-height);width:var(--global-header-height);min-height:24px;align-self:flex-end}@media screen and (min-width: 1024px){.logo{height:calc(var(--global-header-height) - var(--header-scroll-top))}}::slotted(ul){margin-block:0;list-style:none;display:flex;padding-left:0;gap:1rem}.title-header,.main-navigation{display:flex;align-items:center;padding-inline:12px;background:#fff}.title-header{height:var(--main-header-height);display:flex;align-items:center}@media screen and (max-width: 1023.99px){.title-header{border-bottom:1px solid #000}}:host(:not(:has([slot=title]))) .title-header{display:none}::slotted(h1){margin:0 !important;font-size:28px !important}.main-navigation{position:sticky;top:24px;height:var(--main-header-height)}@media screen and (min-width: 1024px){.main-navigation{border-bottom:1px solid #000}}@media screen and (max-width: 1023.99px){.main-navigation{display:none;position:absolute;top:var(--header-height);bottom:0;width:100%;background-color:#fff;height:auto}.main-navigation.extended{display:block}}@media screen and (min-width: 1024px){.mobile-toggle{display:none}}";
2512
+ const PostHeaderStyle0 = postHeaderCss;
2513
+
2514
+ const PostHeader = class {
2515
+ constructor(hostRef) {
2516
+ index.registerInstance(this, hostRef);
2517
+ this.scrollParent = null;
2518
+ this.throttledScroll = () => this.handleScrollEvent();
2519
+ this.throttledResize = throttle(50, () => this.handleResize());
2520
+ this.device = null;
2521
+ this.mobileMenuExtended = false;
2522
+ }
2523
+ componentWillRender() {
2524
+ this.scrollParent = this.getScrollParent(this.host);
2525
+ this.scrollParent.addEventListener('scroll', this.throttledScroll, { passive: true });
2526
+ window.addEventListener('resize', this.throttledResize, { passive: true });
2527
+ this.handleResize();
2528
+ this.handleScrollEvent();
2529
+ }
2530
+ handlePostMainNavigationClosed() {
2531
+ this.mobileMenuExtended = false;
2532
+ }
2533
+ handleScrollEvent() {
2534
+ // Credits: "https://github.com/qeremy/so/blob/master/so.dom.js#L426"
2535
+ const st = Math.max(0, this.scrollParent instanceof Document
2536
+ ? this.scrollParent.documentElement.scrollTop
2537
+ : this.scrollParent.scrollTop);
2538
+ this.host.style.setProperty('--header-scroll-top', `${st}px`);
2539
+ }
2540
+ getScrollParent(node) {
2541
+ let currentParent = node.parentElement;
2542
+ while (currentParent) {
2543
+ if (currentParent.nodeName === 'BODY') {
2544
+ return document;
2545
+ }
2546
+ if (this.isScrollable(currentParent)) {
2547
+ return currentParent;
2548
+ }
2549
+ currentParent = currentParent.parentElement;
2550
+ }
2551
+ return document;
2552
+ }
2553
+ isScrollable(node) {
2554
+ if (!(node instanceof HTMLElement || node instanceof SVGElement)) {
2555
+ return false;
2556
+ }
2557
+ const style = getComputedStyle(node);
2558
+ return ['overflow', 'overflow-x', 'overflow-y'].some(propertyName => {
2559
+ const value = style.getPropertyValue(propertyName);
2560
+ return value === 'auto' || value === 'scroll';
2561
+ });
2562
+ }
2563
+ handleResize() {
2564
+ const width = window === null || window === void 0 ? void 0 : window.innerWidth;
2565
+ if (width >= 1024) {
2566
+ this.device = 'desktop';
2567
+ this.mobileMenuExtended = false; // Close any open mobile menu
2568
+ }
2569
+ else if (width >= 600) {
2570
+ this.device = 'tablet';
2571
+ }
2572
+ else {
2573
+ this.device = 'mobile';
2574
+ }
2575
+ }
2576
+ handleMobileMenuToggle() {
2577
+ this.mobileMenuExtended = !this.mobileMenuExtended;
2578
+ }
2579
+ render() {
2580
+ const mainNavClasses = ['main-navigation'];
2581
+ if (this.mobileMenuExtended) {
2582
+ mainNavClasses.push('extended');
2583
+ }
2584
+ return (index.h(index.Host, { key: '5a05f890e66ec97d54fd17ca26436392a4e78e9b', version: _package.version }, index.h("div", { key: '8f9b79cb289d0c613f6d000cf969ce5bf0b3d62a', class: "global-header" }, index.h("div", { key: '0a482fc3153e29917ed2df1fcbf39492a18918ef', class: "global-sub" }, index.h("div", { key: '3d25cc42a1fac21906cb2c487d90de84a9f1d029', class: "logo" }, index.h("slot", { key: '5a14eb7b8f9927083a56e37d53bc4aed3311b6c8', name: "post-logo" })), this.device === 'desktop' && index.h("slot", { key: '21bc41d4a09536a33ee3d7a98424a00d3969718f', name: "audience-navigation" })), index.h("div", { key: '6c8fdc5acc99c165bda366e872ceb32d6918b515', class: "global-sub" }, this.device === 'desktop' && index.h("slot", { key: '88f681de4d63517d73decd436b7084fca410f021', name: "meta-navigation" }), index.h("slot", { key: 'b6e5c1143fb89e2940f464bac95277bc2741a5c8', name: "global-controls" }), this.device === 'desktop' && index.h("slot", { key: '2edb30a148ffaae9f864e9babc03228c63a46314', name: "post-language-switch" }), index.h("div", { key: 'cc0633f19bd9b948fb2456fdc44431984e3a10eb', onClick: () => this.handleMobileMenuToggle(), class: "mobile-toggle" }, index.h("slot", { key: '26fa9aa29cab7e4048c387ee6c49216dc911f209', name: "post-togglebutton" })))), index.h("div", { key: '772afbe63ac2f0ae0527e25c6feac75b02365689', class: "title-header d-flex space-between align-center" }, index.h("slot", { key: '32bf212b1e16df0a2fd7cec6b21a7649458e7660', name: "title" }), index.h("div", { key: '13bf9f2443fa9c48c6f25a0159896995e170b4dc', class: "global-sub" }, index.h("slot", { key: 'a20c9414619c9508600c25ef31d5c14f6178f520', name: "local-controls" }), index.h("slot", { key: 'a87beb7500f4e07396bf4a91ee299a4bebd751bd' }))), index.h("div", { key: '008c9d1a0acf59a9b54facec5e6aec2f483f8ed7', class: mainNavClasses.join(' ') }, (this.device === 'mobile' || this.device === 'tablet') && (index.h("slot", { key: 'e8013ae7c0fe3883a4be405409fd3b35e236cf8c', name: "audience-navigation" })), index.h("slot", { key: '90412d08f0a835714de0a6c635f82aae90abeac2', name: "post-mainnavigation" }), (this.device === 'mobile' || this.device === 'tablet') && (index.h("slot", { key: '31fb4b34ddabda5f87f65a6c841b64f4a9802d50', name: "meta-navigation" })), (this.device === 'mobile' || this.device === 'tablet') && (index.h("slot", { key: 'cfd212a052d0b736d049084f492c614131ae7a32', name: "post-language-switch" })))));
2585
+ }
2586
+ get host() { return index.getElement(this); }
2587
+ };
2588
+ PostHeader.style = PostHeaderStyle0;
2589
+
2590
+ const postMainnavigationCss = "*,::before,::after{box-sizing:border-box}@media screen and (min-width: 1024px){slot[name=back-button],[slot=back-button]{display:none}}@media screen and (min-width: 1024px){h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}}post-mainnavigation{height:100%}:host{height:100%;display:block}.main-navigation{margin-block:0;list-style:none;display:flex;padding-left:0;gap:1rem}@media screen and (max-width: 1023.99px){.main-navigation{flex-direction:column}}.main-navigation>post-list{display:flex;align-items:stretch;gap:1rem;height:100%}@media screen and (max-width: 1023.99px){.main-navigation>post-list{flex-direction:column}}.main-navigation a,.main-navigation post-megadropdown-toggle{height:100%;display:flex;align-items:center}";
2591
+ const PostMainnavigationStyle0 = postMainnavigationCss;
2592
+
2593
+ const PostMainnavigation = class {
2594
+ constructor(hostRef) {
2595
+ index.registerInstance(this, hostRef);
2596
+ this.postToggle = index.createEvent(this, "postToggle", 7);
2597
+ }
2598
+ handleMegadropdownToggled(event) {
2599
+ // Find next element sibling
2600
+ let megalodon;
2601
+ let target = event.target;
2602
+ while (target !== null) {
2603
+ if (target.tagName === 'POST-MEGADROPDOWN') {
2604
+ megalodon = target;
2605
+ break;
2606
+ }
2607
+ target = target.nextElementSibling;
2608
+ }
2609
+ if (megalodon)
2610
+ megalodon.toggle(event.target);
2611
+ }
2612
+ handleBackButtonClick() {
2613
+ this.postToggle.emit();
2614
+ }
2615
+ render() {
2616
+ return (index.h(index.Host, { key: '1c1d1d1c2781f39acc0fd02d3f93f922d801d98f', slot: "post-mainnavigation" }, index.h("div", { key: '1bc1129c65fc03ec72609438bbf28afe5bc5974b', onClick: () => this.handleBackButtonClick(), class: "back-button" }, index.h("slot", { key: '6b1bcc25306f1f959a25b18a6319eb696b0cbc2c', name: "back-button" })), index.h("nav", { key: '0002b55cb82fbf88a69a886c5ec1ba24168c9979', class: "main-navigation" }, index.h("slot", { key: '15e4558c1202f8f83e09dad76441d6bf7e3e16ea' }))));
2617
+ }
2618
+ };
2619
+ PostMainnavigation.style = PostMainnavigationStyle0;
2620
+
2621
+ const postMegadropdownCss = "*,::before,::after{box-sizing:border-box}post-popovercontainer{background-color:#fafafa;width:100%;border-bottom:1px solid #000}@media screen and (max-width: 1023.99px){post-popovercontainer{position:absolute;top:var(--header-height) !important;bottom:0;left:0;width:100%;height:auto}}.megadropdown{display:flex;gap:1rem;padding:1.5rem;border-radius:0 0 3px 3px}@media screen and (max-width: 1023.99px){.megadropdown{flex-direction:column}}.megadropdown post-list{display:flex;flex-direction:column;gap:.5rem}.megadropdown post-list-item{border-bottom:1px solid gray}.megadropdown post-list-item>a{padding-block:.25rem;display:block;text-decoration:none}.back-button{display:none}@media screen and (max-width: 1023.99px){.back-button{display:block}}post-closebutton{margin-left:auto}@media screen and (max-width: 1023.99px){post-closebutton{display:none}}h3{font-size:20px}";
2622
+ const PostMegadropdownStyle0 = postMegadropdownCss;
2623
+
2624
+ const PostMegadropdown = class {
2625
+ constructor(hostRef) {
2626
+ index.registerInstance(this, hostRef);
2627
+ }
2628
+ /**
2629
+ * Show megadropdown
2630
+ * @param element HTMLElement
2631
+ * @returns boolean
2632
+ */
2633
+ async show(element) {
2634
+ return this.popoverRef.show(element);
2635
+ }
2636
+ /**
2637
+ * Hide megadropdown
2638
+ * @returns boolean
2639
+ */
2640
+ async hide() {
2641
+ return this.popoverRef.hide();
2642
+ }
2643
+ /**
2644
+ * Toggle megadropdown
2645
+ * @param element HTMLElement
2646
+ * @param force boolean
2647
+ * @returns boolean
2648
+ */
2649
+ async toggle(element, force) {
2650
+ return this.popoverRef.toggle(element, force !== null && force !== void 0 ? force : undefined);
2651
+ }
2652
+ handleBackButtonClick() {
2653
+ this.hide();
2654
+ }
2655
+ render() {
2656
+ return (index.h(index.Host, { key: '6b30399852561a911c04a79c7c785bb5cf8e68ff', slot: "post-mainnavigation" }, index.h("post-popovercontainer", { key: 'caa196c59c0177948a73c43033f7399344068d77', placement: "bottom", "edge-gap": "0", ref: el => (this.popoverRef = el) }, index.h("div", { key: '7c88bd1ca7fac00b9ab0cb1d73252c6990484fb2', class: "megadropdown" }, index.h("div", { key: '25073177e9c9a05fca93b3b0abbed18f6b2a075b', onClick: () => this.handleBackButtonClick(), class: "back-button" }, index.h("slot", { key: '06a153e974f60476f2796e03afea3ad86c7560ca', name: "back-button" })), index.h("slot", { key: 'ea95044efbd609894dd96b3aa8662756e14711af' })))));
2657
+ }
2658
+ };
2659
+ PostMegadropdown.style = PostMegadropdownStyle0;
2660
+
2661
+ const postMegadropdownTriggerCss = ":host{display:inline-block}";
2662
+ const PostMegadropdownTriggerStyle0 = postMegadropdownTriggerCss;
2663
+
2664
+ const PostMegadropdownTrigger = class {
2665
+ constructor(hostRef) {
2666
+ index.registerInstance(this, hostRef);
2667
+ this.postToggle = index.createEvent(this, "postToggle", 7);
2668
+ this.toggled = false;
2669
+ }
2670
+ handleClick() {
2671
+ this.toggled = !this.toggled;
2672
+ this.postToggle.emit();
2673
+ }
2674
+ render() {
2675
+ return (index.h(index.Host, { key: 'af6dbf6cb97c5f98242e2d3fc31f193d00444b26', slot: "post-megadropdown-trigger" }, index.h("button", { key: '8160075f3dcb5afdd88a375698a61edfdbe8b7a1', "aria-expanded": this.toggled, onClick: () => this.handleClick() }, index.h("slot", { key: 'f5be082b15802582540d9a3320d4bf19ca3d98c3' }))));
2676
+ }
2677
+ };
2678
+ PostMegadropdownTrigger.style = PostMegadropdownTriggerStyle0;
2679
+
2680
+ exports.PostClosebutton = PostClosebutton;
2681
+ exports.PostHeader = PostHeader;
2682
+ exports.PostIcon = PostIcon;
2683
+ exports.PostList = PostList;
2684
+ exports.PostListItem = PostListItem;
2685
+ exports.PostLogo = PostLogo;
2686
+ exports.PostMainnavigation = PostMainnavigation;
2687
+ exports.PostMegadropdown = PostMegadropdown;
2688
+ exports.PostMegadropdownTrigger = PostMegadropdownTrigger;
2188
2689
  exports.PostPopovercontainer = PostPopovercontainer;