@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
@@ -0,0 +1,204 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { v as version } from './package.js';
3
+ import { d as defineCustomElement$2 } from './post-popovercontainer2.js';
4
+
5
+ const focusableSelector = `:where(${[
6
+ 'button',
7
+ 'input:not([type="hidden"])',
8
+ '[tabindex]',
9
+ 'select',
10
+ 'textarea',
11
+ '[contenteditable]',
12
+ 'a[href]',
13
+ 'iframe',
14
+ 'audio[controls]',
15
+ 'video[controls]',
16
+ 'area[href]',
17
+ 'details > summary:first-of-type',
18
+ ].join(',')})`;
19
+ const focusDisablingSelector = `:where(${[
20
+ '[inert]',
21
+ '[inert] *',
22
+ ':disabled',
23
+ 'dialog:not([open]) *',
24
+ '[popover]:not(:popover-open) *',
25
+ 'details:not([open]) > *:not(details > summary:first-of-type)',
26
+ 'details:not([open]) > *:not(details > summary:first-of-type) *',
27
+ ].join(',')})`;
28
+ const isFocusable = (element) => {
29
+ return (element === null || element === void 0 ? void 0 : element.matches(focusableSelector)) && !(element === null || element === void 0 ? void 0 : element.matches(focusDisablingSelector));
30
+ };
31
+
32
+ const postMenuCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{display:block}post-popovercontainer{padding:var(--post-menu-padding);background-color:var(--post-menu-bg, #ffffff);border-color:var(--post-menu-bg, #ffffff)}";
33
+ const PostMenuStyle0 = postMenuCss;
34
+
35
+ const PostMenu$1 = /*@__PURE__*/ proxyCustomElement(class PostMenu extends HTMLElement {
36
+ constructor() {
37
+ super();
38
+ this.__registerHost();
39
+ this.__attachShadow();
40
+ this.toggleMenu = createEvent(this, "toggleMenu", 7);
41
+ this.lastFocusedElement = null;
42
+ this.KEYCODES = {
43
+ SPACE: ' ',
44
+ ENTER: 'Enter',
45
+ UP: 'ArrowUp',
46
+ DOWN: 'ArrowDown',
47
+ TAB: 'Tab',
48
+ HOME: 'Home',
49
+ END: 'End',
50
+ ESCAPE: 'Escape'
51
+ };
52
+ this.handleKeyDown = (e) => {
53
+ e.stopPropagation();
54
+ if (e.key === this.KEYCODES.ESCAPE) {
55
+ this.toggle(this.host);
56
+ return;
57
+ }
58
+ if (Object.values(this.KEYCODES).includes(e.key)) {
59
+ this.controlKeyDownHandler(e);
60
+ }
61
+ };
62
+ this.handleClick = (e) => {
63
+ const target = e.target;
64
+ if (['BUTTON', 'A', 'INPUT', 'SELECT', 'TEXTAREA'].includes(target.tagName)) {
65
+ this.toggle(this.host);
66
+ }
67
+ };
68
+ this.placement = 'bottom';
69
+ this.isVisible = false;
70
+ }
71
+ connectedCallback() {
72
+ this.host.addEventListener('keydown', this.handleKeyDown);
73
+ this.host.addEventListener('click', this.handleClick);
74
+ }
75
+ disconnectedCallback() {
76
+ this.host.removeEventListener('keydown', this.handleKeyDown);
77
+ this.host.removeEventListener('click', this.handleClick);
78
+ }
79
+ componentDidLoad() {
80
+ this.popoverRef.addEventListener('postToggle', (event) => {
81
+ this.isVisible = event.detail;
82
+ this.toggleMenu.emit(this.isVisible);
83
+ });
84
+ }
85
+ /**
86
+ * Toggles the menu visibility based on its current state.
87
+ */
88
+ async toggle(target) {
89
+ this.isVisible ? await this.hide() : await this.show(target);
90
+ }
91
+ /**
92
+ * Displays the popover menu, focusing the first menu item.
93
+ *
94
+ * @param target - The HTML element relative to which the popover menu should be displayed.
95
+ */
96
+ async show(target) {
97
+ if (this.popoverRef) {
98
+ await this.popoverRef.show(target);
99
+ this.lastFocusedElement = document.activeElement;
100
+ const menuItems = this.getSlottedItems();
101
+ if (menuItems.length > 0) {
102
+ menuItems[0].focus();
103
+ }
104
+ }
105
+ else {
106
+ console.error('show: popoverRef is null or undefined');
107
+ }
108
+ }
109
+ /**
110
+ * Hides the popover menu and restores focus to the previously focused element.
111
+ */
112
+ async hide() {
113
+ if (this.popoverRef) {
114
+ await this.popoverRef.hide();
115
+ if (this.lastFocusedElement) {
116
+ this.lastFocusedElement.focus();
117
+ }
118
+ }
119
+ else {
120
+ console.error('hide: popoverRef is null or undefined');
121
+ }
122
+ }
123
+ controlKeyDownHandler(e) {
124
+ const menuItems = this.getSlottedItems();
125
+ if (!menuItems.length) {
126
+ return;
127
+ }
128
+ const currentFocusedElement = document.activeElement;
129
+ let currentIndex = menuItems.findIndex(el => el === currentFocusedElement);
130
+ switch (e.key) {
131
+ case this.KEYCODES.UP:
132
+ e.preventDefault();
133
+ currentIndex = (currentIndex - 1 + menuItems.length) % menuItems.length;
134
+ break;
135
+ case this.KEYCODES.DOWN:
136
+ e.preventDefault();
137
+ currentIndex = (currentIndex + 1) % menuItems.length;
138
+ break;
139
+ case this.KEYCODES.HOME:
140
+ currentIndex = 0;
141
+ break;
142
+ case this.KEYCODES.END:
143
+ currentIndex = menuItems.length - 1;
144
+ break;
145
+ case this.KEYCODES.SPACE:
146
+ case this.KEYCODES.ENTER:
147
+ this.toggle(this.host);
148
+ return;
149
+ case this.KEYCODES.TAB:
150
+ this.toggle(this.host);
151
+ break;
152
+ }
153
+ if (menuItems[currentIndex]) {
154
+ menuItems[currentIndex].focus();
155
+ }
156
+ }
157
+ getSlottedItems() {
158
+ const slot = this.host.shadowRoot.querySelector('slot');
159
+ const slottedElements = slot ? slot.assignedElements() : [];
160
+ const menuItems = slottedElements
161
+ .filter(el => el.tagName === 'POST-MENU-ITEM')
162
+ .map(el => {
163
+ const slot = el.shadowRoot.querySelector('slot');
164
+ const assignedElements = slot ? slot.assignedElements() : [];
165
+ return assignedElements.filter(isFocusable);
166
+ })
167
+ .flat();
168
+ return menuItems;
169
+ }
170
+ render() {
171
+ return (h(Host, { key: '4447ff6878a1b0f38b533196466b33217f9499d4', "data-version": version }, h("post-popovercontainer", { key: '918e2b8a662cdb64972cb0729b8b077e1bca5e0a', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '40b04b6c0d65cc3c10f6b8b037ec3ff24d1b907b', class: "popover-container" }, h("slot", { key: 'e836fdb9e29961f3b6c6c13261e8eef0f874cfb6' })))));
172
+ }
173
+ get host() { return this; }
174
+ static get style() { return PostMenuStyle0; }
175
+ }, [1, "post-menu", {
176
+ "placement": [1],
177
+ "isVisible": [32],
178
+ "toggle": [64],
179
+ "show": [64],
180
+ "hide": [64]
181
+ }]);
182
+ function defineCustomElement$1() {
183
+ if (typeof customElements === "undefined") {
184
+ return;
185
+ }
186
+ const components = ["post-menu", "post-popovercontainer"];
187
+ components.forEach(tagName => { switch (tagName) {
188
+ case "post-menu":
189
+ if (!customElements.get(tagName)) {
190
+ customElements.define(tagName, PostMenu$1);
191
+ }
192
+ break;
193
+ case "post-popovercontainer":
194
+ if (!customElements.get(tagName)) {
195
+ defineCustomElement$2();
196
+ }
197
+ break;
198
+ } });
199
+ }
200
+
201
+ const PostMenu = PostMenu$1;
202
+ const defineCustomElement = defineCustomElement$1;
203
+
204
+ export { PostMenu, defineCustomElement };
@@ -96,7 +96,7 @@ const PostPopover$1 = /*@__PURE__*/ proxyCustomElement(class PostPopover extends
96
96
  this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
97
97
  }
98
98
  render() {
99
- return (h(Host, { key: 'aef49582e78865ac209f1983d255b44e4e3a4c0a', "data-version": version }, h("post-popovercontainer", { key: 'cd2db53a82b34ea3c6aa3aab07670c6e198f9360', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'df037f6f7848e0ef87affa73de6a9c2a6af9eade', class: "popover-container" }, h("div", { key: '48c1e44e42c7cc3daf198456f7b49041d86a8e83', class: "popover-content" }, h("slot", { key: '8f4dc6f558bcaa9b83a342fea3a7843c185fc43e' })), h("button", { key: 'e78527134e8e5cbeed240b742aeab7bf0ea41d5b', class: "btn-close", onClick: () => this.hide() }, h("span", { key: 'f56f4c3aa17dd11818d1abd7b422e7c45902c593', class: "visually-hidden" }, this.closeButtonCaption))))));
99
+ return (h(Host, { key: '22964a2be347979d1ebaaec468edfd4b079776ff', "data-version": version }, h("post-popovercontainer", { key: 'a108ed03721a453ce73a850913d93b8bfaf83922', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '943f1a914ada58c3f8b085613b47ed4b7c55e591', class: "popover-container" }, h("div", { key: 'a6a8dec53c9190c48d1b3b217c979d78b2f32995', class: "popover-content" }, h("slot", { key: '555bc4537d6bd62b60186db9700588eb3ec38ac2' })), h("button", { key: 'db0826565312bba9bc48a88cd84636a903eeb94f', class: "btn-close", onClick: () => this.hide() }, h("span", { key: 'aef92ba6e586e02924a09d459e4d753ad18f72f7', class: "visually-hidden" }, this.closeButtonCaption))))));
100
100
  }
101
101
  get host() { return this; }
102
102
  static get style() { return PostPopoverStyle0; }
@@ -2176,9 +2176,9 @@ const PostPopovercontainer = /*@__PURE__*/ proxyCustomElement(class PostPopoverc
2176
2176
  }
2177
2177
  }
2178
2178
  render() {
2179
- return (h(Host, { key: '786ef435ebc0cdb95a15c0327aee75406d4da6e5', "data-version": version }, this.arrow && (h("span", { key: '3c343daffb966ee54b9c14eb5659910150be7f3f', class: "arrow", ref: el => {
2179
+ return (h(Host, { key: '97a63bfbf098bd3463eb75678e54ddcc9e4790b3', "data-version": version }, this.arrow && (h("span", { key: 'f6eaa7bd6cd3eb63d15e7d91825365661daae7dd', class: "arrow", ref: el => {
2180
2180
  this.arrowRef = el;
2181
- } })), h("slot", { key: 'f2c9fc7c80f794987550388bfe8ad33078685bf1' })));
2181
+ } })), h("slot", { key: '414055000891719b74c2c449fec2c87a60b62047' })));
2182
2182
  }
2183
2183
  get host() { return this; }
2184
2184
  static get style() { return PostPopovercontainerStyle0; }
@@ -74,7 +74,7 @@ const PostRating$1 = /*@__PURE__*/ proxyCustomElement(class PostRating extends H
74
74
  }
75
75
  }
76
76
  render() {
77
- return (h(Host, { key: 'e303ed62ef2f76033e0ca9b693dfe447984a92c7', "data-version": version }, h("div", { key: '7e392823716b6d4d243198a66a637001f5f86690', role: "slider", class: "rating", tabindex: "0", "aria-label": this.label, "aria-valuemin": "0", "aria-valuemax": this.stars, "aria-valuenow": this.currentRating, "aria-valuetext": `${this.currentRating} out of ${this.stars}`, "aria-readonly": this.readonly ? 'true' : 'false', onKeyDown: this.keydownHandler, onBlur: this.blurHandler }, Array.from({ length: this.stars }).map((v, i) => (h("div", { key: `star-${v}`, "aria-hidden": "true", class: {
77
+ return (h(Host, { key: '0202a629d68bc85d00fb3ccae63073938fb174d3', "data-version": version }, h("div", { key: '7de2c78d498957dbd988472729fde2ea04162490', role: "slider", class: "rating", tabindex: "0", "aria-label": this.label, "aria-valuemin": "0", "aria-valuemax": this.stars, "aria-valuenow": this.currentRating, "aria-valuetext": `${this.currentRating} out of ${this.stars}`, "aria-readonly": this.readonly ? 'true' : 'false', onKeyDown: this.keydownHandler, onBlur: this.blurHandler }, Array.from({ length: this.stars }).map((v, i) => (h("div", { key: `star-${v}`, "aria-hidden": "true", class: {
78
78
  'star': true,
79
79
  'before-hover': i < this.hoveredIndex,
80
80
  'active': i < Math.round(this.currentRating),
@@ -20,7 +20,7 @@ const PostTabHeader$1 = /*@__PURE__*/ proxyCustomElement(class PostTabHeader ext
20
20
  this.tabId = `tab-${this.host.id || crypto.randomUUID()}`;
21
21
  }
22
22
  render() {
23
- return (h(Host, { key: '3f6c519aeb28ba7f22de7b7bbb04589bc7c9fc59', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '2df9413b24b32956361708d2ef009584ea151c8c' })));
23
+ return (h(Host, { key: 'f105dabe8a61308d5aa361a6aeaad2f938cf7656', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '3abc0c8fab0a0ab1dd538e20831980b4672ae79a' })));
24
24
  }
25
25
  get host() { return this; }
26
26
  static get watchers() { return {
@@ -17,7 +17,7 @@ const PostTabPanel$1 = /*@__PURE__*/ proxyCustomElement(class PostTabPanel exten
17
17
  this.panelId = `panel-${this.host.id || crypto.randomUUID()}`;
18
18
  }
19
19
  render() {
20
- return (h(Host, { key: 'be6aea34d94b371364912bc3b20efb33f844b736', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: 'aa4b546f2461819b47a8b14b326c79cc13f5f3d2' })));
20
+ return (h(Host, { key: '9018d11d85d1ce0b83e74987f8fb96eb1b873a40', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: '45e2214fbeb5d4c2b4e5e35eb5ad74d99033a0a3' })));
21
21
  }
22
22
  get host() { return this; }
23
23
  static get style() { return PostTabPanelStyle0; }
@@ -164,7 +164,7 @@ const PostTabs$1 = /*@__PURE__*/ proxyCustomElement(class PostTabs extends HTMLE
164
164
  nextTab.focus();
165
165
  }
166
166
  render() {
167
- return (h(Host, { key: '8f50b5d2575a248e0a7dc57add5e343e562db015', "data-version": version }, h("div", { key: 'e640efed73aefdb9ff4cd2f138b7bd7a3c64b885', class: "tabs-wrapper", part: "tabs" }, h("div", { key: '2394820f9d187e4d9f123156dec49e5620e0dfcc', class: "tabs", role: "tablist" }, h("slot", { key: 'c2800a38891140881227a01706cfa43095c769ba', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: '836b9b2bf4ba05df3e91bc5d3d71e3f2363dea88', class: "tab-content", part: "content" }, h("slot", { key: 'd6cad1f86d39d854b5595ee467f29474b21965ba', onSlotchange: () => this.moveMisplacedTabs() }))));
167
+ return (h(Host, { key: '3c9d7351fa09531238892f0bd05447379f46fdb4', "data-version": version }, h("div", { key: '1eff106f6324302155e809a58cd3367bb7bdbd76', class: "tabs-wrapper", part: "tabs" }, h("div", { key: 'fc5917d92b577f99fb19fa80ecd1a863ffeaa4d8', class: "tabs", role: "tablist" }, h("slot", { key: 'af35884271ca9d75dbbd113e05fd052c4691c53e', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: '4908774e2306e432af65b94a9dd5e1d257569652', class: "tab-content", part: "content" }, h("slot", { key: 'c0eb44e39b0cffe57c42c51dd74e605e74241f70', onSlotchange: () => this.moveMisplacedTabs() }))));
168
168
  }
169
169
  get host() { return this; }
170
170
  static get style() { return PostTabsStyle0; }
@@ -35,7 +35,7 @@ const PostTag$1 = /*@__PURE__*/ proxyCustomElement(class PostTag extends HTMLEle
35
35
  this.setClasses();
36
36
  }
37
37
  render() {
38
- return (h(Host, { key: '5058456392690e1973575edfe7e8c72f909a80b5', "data-version": version }, h("div", { key: '0995e847c0239d540f1adfb7d1bb8eba3b026a2f', class: this.classes }, this.icon ? h("post-icon", { name: this.icon }) : null, h("div", { key: '7e62db84243af09f7f8aee28cb1a542599e01579', class: "tag-text" }, h("slot", { key: '235b5b43062f41497d246a838e351282d324b060' })))));
38
+ return (h(Host, { key: '01f369b7c6803f710fb0b5eae652d6d1beb340ed', "data-version": version }, h("div", { key: 'bba40e4deaa43e64c9bc32c2ad4a3e3515bdf8dd', class: this.classes }, this.icon ? h("post-icon", { name: this.icon }) : null, h("div", { key: '9addb054f9555c9a97d8825a148958b2e2b863a7', class: "tag-text" }, h("slot", { key: '315cf79690fa489c61edd6ce6b304b94a3866b8c' })))));
39
39
  }
40
40
  get host() { return this; }
41
41
  static get watchers() { return {
@@ -4977,7 +4977,7 @@ const PostTooltip$1 = /*@__PURE__*/ proxyCustomElement(class PostTooltip extends
4977
4977
  }
4978
4978
  render() {
4979
4979
  const popoverClass = `${this.arrow ? ' has-arrow' : ''}`;
4980
- return (h(Host, { key: 'ad55746e219ca6f52779605a16e0002f18062351', "data-version": version$1, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, h("post-popovercontainer", { key: 'd80bf2dbd80cd71ea0d1ce09dd95e362d8f768f3', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, h("slot", { key: 'c58554b173253a65ddba2d06255c955c8223a5ff' }))));
4980
+ return (h(Host, { key: '8e2bd1f11a44a0d39ad797f12b880338d59ea006', "data-version": version$1, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, h("post-popovercontainer", { key: 'ff4fdbf72ca4b95d5f4e925fedbfbcf7e281410f', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, h("slot", { key: '770a98cff11b963ec37559683a27a216250e8bde' }))));
4981
4981
  }
4982
4982
  get host() { return this; }
4983
4983
  static get watchers() { return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swisspost/design-system-components",
3
- "version": "9.0.0-next.4",
3
+ "version": "9.0.0-next.5",
4
4
  "description": "A collection of web components built with Stencil JS for the Swiss Post Design System.",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.cjs.js",
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "@floating-ui/dom": "1.6.8",
28
28
  "@oddbird/popover-polyfill": "0.3.7",
29
- "@swisspost/design-system-styles": "9.0.0-next.4",
29
+ "@swisspost/design-system-styles": "9.0.0-next.5",
30
30
  "ally.js": "1.4.1",
31
31
  "long-press-event": "2.5.0"
32
32
  },
@@ -51,6 +51,7 @@
51
51
  "rimraf": "6.0.1",
52
52
  "rollup-plugin-postcss": "4.0.2",
53
53
  "sass": "1.78.0",
54
+ "throttle-debounce": "5.0.2",
54
55
  "ts-jest": "29.2.4",
55
56
  "typescript": "5.5.4"
56
57
  },
@@ -1,98 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-e1f32cce.js');
4
- const _package = require('./package-3f706795.js');
5
- const fade = require('./fade-35a3633a.js');
6
- const index$1 = require('./index-01f30442.js');
7
- const checkNonEmpty = require('./check-non-empty-eeaa8f77.js');
8
-
9
- const ALERT_TYPES = ['primary', 'success', 'warning', 'danger', 'info', 'gray'];
10
-
11
- const postAlertCss = ".alert-primary,.alert-success,.alert-warning,.alert-danger,.alert-info,.alert-gray,.alert-notification,.alert-error{background-color:rgb(var(--post-bg-rgb)) !important;color:var(--post-contrast-color) !important}.alert-warning,.alert-info,.alert-gray{--post-contrast-color:#000;--post-focus-color:#1976c8;--post-contrast-color-inverted:#fff;--post-gray-10:hsl(0, 0%, 90%);--post-gray-20:hsl(0, 0%, 80%);--post-gray-40:hsl(0, 0%, 60%);--post-gray-60:hsl(0, 0%, 40%);--post-gray-80:hsl(0, 0%, 20%);--post-yellow:#fc0;--post-white:#fff;--post-light:#faf9f8;--post-gray:#f4f3f1;--post-dark:hsl(0, 0%, 20%);--post-black:#000;--post-primary:hsl(0, 0%, 20%);--post-secondary:hsl(0, 0%, 40%);--post-success:#2c871d;--post-warning:#f49e00;--post-error:#a51728;--post-info:#cce4ee;--post-success-background:#c0debb;--post-warning-background:#fce2b2;--post-error-background:#ffdade;--post-contrast-color-rgb:0, 0, 0;--post-contrast-color-inverted-rgb:255, 255, 255;--post-gray-10-rgb:230, 230, 230;--post-gray-20-rgb:204, 204, 204;--post-gray-40-rgb:153, 153, 153;--post-gray-60-rgb:102, 102, 102;--post-gray-80-rgb:51, 51, 51;--post-black-alpha-10-rgba:rgba(0, 0, 0, 0.1);--post-black-alpha-20-rgba:rgba(0, 0, 0, 0.2);--post-black-alpha-40-rgba:rgba(0, 0, 0, 0.4);--post-black-alpha-60-rgba:rgba(0, 0, 0, 0.6);--post-black-alpha-80-rgba:rgba(0, 0, 0, 0.8);--post-white-alpha-10-rgba:rgba(255, 255, 255, 0.1);--post-white-alpha-20-rgba:rgba(255, 255, 255, 0.2);--post-white-alpha-40-rgba:rgba(255, 255, 255, 0.4);--post-white-alpha-60-rgba:rgba(255, 255, 255, 0.6);--post-white-alpha-80-rgba:rgba(255, 255, 255, 0.8);--post-yellow-rgb:255, 204, 0;--post-white-rgb:255, 255, 255;--post-light-rgb:250, 249, 248;--post-gray-rgb:244, 243, 241;--post-dark-rgb:51, 51, 51;--post-black-rgb:0, 0, 0;--post-primary-rgb:51, 51, 51;--post-secondary-rgb:102, 102, 102;--post-success-rgb:44, 135, 29;--post-warning-rgb:244, 158, 0;--post-error-rgb:165, 23, 40;--post-info-rgb:204, 228, 238;--post-success-background-rgb:192, 222, 187;--post-warning-background-rgb:252, 226, 178;--post-error-background-rgb:255, 218, 222}.alert-primary,.alert-success,.alert-danger,.alert-notification,.alert-error{--post-contrast-color:#fff;--post-focus-color:#fff;--post-contrast-color-inverted:#000;--post-dark:#faf9f8;--post-light:hsl(0, 0%, 20%);--post-gray-80:hsl(0, 0%, 90%);--post-gray-60:hsl(0, 0%, 80%);--post-gray-40:hsl(0, 0%, 60%);--post-gray-20:hsl(0, 0%, 40%);--post-gray-10:hsl(0, 0%, 20%);--post-contrast-color-rgb:255, 255, 255;--post-contrast-color-inverted-rgb:0, 0, 0;--post-dark-rgb:250, 249, 248;--post-light-rgb:51, 51, 51;--post-gray-80-rgb:230, 230, 230;--post-gray-60-rgb:204, 204, 204;--post-gray-40-rgb:153, 153, 153;--post-gray-20-rgb:102, 102, 102;--post-gray-10-rgb:51, 51, 51}.alert{position:relative;box-sizing:border-box;min-height:5rem;box-shadow:0 2px 4px 0 rgba(0,0,0,.2);border-radius:4px;padding:1rem 1.25rem;padding-inline-start:5.5rem;margin-block-end:1rem;font-size:1rem;font-weight:400}.alert.no-icon{min-height:3.5rem;padding-inline-start:1.25rem}.alert[class^=pi-],.alert[class*=\" pi-\"]{background-size:3rem;background-position:1.25rem 1rem;background-repeat:no-repeat}.alert[class^=pi-].no-icon,.alert[class*=\" pi-\"].no-icon{background-image:none}.alert::before{content:\"\";display:block}.alert::before,.alert>post-icon{position:absolute;height:3rem;width:3rem;left:1.25rem;top:1rem}.alert.no-icon::before,.alert[class^=pi-]::before,.alert[class*=\" pi-\"]::before{content:unset}.alert.no-icon>post-icon,.alert[class^=pi-]>post-icon,.alert[class*=\" pi-\"]>post-icon{display:none}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.alert{filter:none !important;border:2px solid CanvasText}}.alert:not(.alert-action){display:flex;flex-direction:column;justify-content:center;gap:.25rem}.alert:not(.alert-action) a{font-weight:400}.alert:not(.alert-action) hr{margin-block:.5rem .75rem !important}.alert:not(.alert-action)>:only-child,.alert:not(.alert-action)>post-icon:first-child+:last-child{font-size:1.0625rem;font-weight:700}.alert:not(.alert-action)>*{margin:0}.alert-heading{font-size:1.0625rem;font-weight:700}.alert-dismissible{pointer-events:auto;position:relative;padding-inline-end:4rem}.alert-dismissible>.btn-close{position:absolute;inset-block-start:1rem;inset-inline-end:1.25rem}.alert-dismissible>.btn-close:first-child+:last-child{font-size:1.0625rem;font-weight:700}.alert-action{display:flex;flex-direction:row;align-items:center;gap:1.25rem}.alert-action>.alert-content{flex:1 1 auto}.alert-action>.alert-content{display:flex;flex-direction:column;justify-content:center;gap:.25rem}.alert-action>.alert-content a{font-weight:400}.alert-action>.alert-content hr{margin-block:.5rem .75rem !important}.alert-action>.alert-content>:only-child,.alert-action>.alert-content>post-icon:first-child+:last-child{font-size:1.0625rem;font-weight:700}.alert-action>.alert-content>*{margin:0}.alert-action>.alert-buttons{flex:0 0 auto;display:flex;align-items:center;gap:.5rem}@media (min-width: 780px){.alert-action.alert-dismissible>.btn-close{inset-block-start:calc(50% - 0.75rem)}}@media (max-width: 779.98px){.alert-action{flex-direction:column;align-items:stretch;padding-inline:1.25rem}.alert-action>.alert-content{padding-inline-start:4.25rem;padding-inline-end:2.75rem}.alert-action.no-icon>.alert-content{padding-inline-start:0}.alert-action>.alert-buttons{display:flex}.alert-action>.alert-buttons>.btn,.alert-action>.alert-buttons>::slotted(.btn){flex:1 0 0;width:100%}.alert-action>.alert-buttons>.btn:first-child,.alert-action>.alert-buttons>::slotted(.btn:first-child){margin-inline-start:0}}.alert-fixed-bottom{position:fixed;inset-block-end:0;inset-inline-start:0;inset-inline-end:0;margin-bottom:0;border-radius:0;z-index:1030}@media (min-width: 1440px){.alert-fixed-bottom{padding-inline-end:calc((100% - 1439px) / 2 + 120px + 1.25rem);padding-inline-start:calc(\n (100% - 1439px) / 2 + 120px + 1.25rem + 3rem + 1.25rem\n );background-position-x:calc((100% - 1439px) / 2 + 120px + 1.25rem + 1.5rem)}.alert-fixed-bottom::before{left:calc((100% - 1439px) / 2 + 120px + 1.25rem)}.alert-fixed-bottom.no-icon{padding-inline-start:calc((100% - 1439px) / 2 + 120px + 1.25rem)}.alert-fixed-bottom.alert-dismissible{padding-inline-end:calc(\n (100% - 1439px) / 2 + 120px + 1.25rem + 1.25rem + 1.5rem\n )}.alert-fixed-bottom.alert-dismissible>.btn-close{inset-inline-end:calc((100% - 1439px) / 2 + 120px + 1.25rem)}}.alert-primary{--post-bg-rgb:51, 51, 51}.alert-primary:not(.no-icon,[class^=pi-],[class*=\" pi-\"])::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.533 26.933c-3.333-4.8-5.867-12.667-5.867-18.267 0-4.8-3.867-8.667-8.667-8.667S7.332 3.866 7.332 8.666c0 5.6-2.533 13.467-5.867 18.267L1.998 28h11.333v4h5.333v-4h11.333l.533-1.067zm-13.2 3.734h-2.667V28h2.667zm-14.133-4c3.2-5.067 5.467-12.533 5.467-18 0-4 3.333-7.333 7.333-7.333s7.333 3.333 7.333 7.333c0 5.467 2.267 12.933 5.467 18z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.533 26.933c-3.333-4.8-5.867-12.667-5.867-18.267 0-4.8-3.867-8.667-8.667-8.667S7.332 3.866 7.332 8.666c0 5.6-2.533 13.467-5.867 18.267L1.998 28h11.333v4h5.333v-4h11.333l.533-1.067zm-13.2 3.734h-2.667V28h2.667zm-14.133-4c3.2-5.067 5.467-12.533 5.467-18 0-4 3.333-7.333 7.333-7.333s7.333 3.333 7.333 7.333c0 5.467 2.267 12.933 5.467 18z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.alert-primary:has(>post-icon)::before{content:none}.alert-primary>post-icon{background-color:#333}.alert-success{--post-bg-rgb:44, 135, 29}.alert-success:not(.no-icon,[class^=pi-],[class*=\" pi-\"])::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.667 24.533-7.6-7.6 1.867-1.867 5.733 5.733 12.4-12.4 1.867 1.867z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.667 24.533-7.6-7.6 1.867-1.867 5.733 5.733 12.4-12.4 1.867 1.867z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.alert-success:has(>post-icon)::before{content:none}.alert-success>post-icon{background-color:#2c871d}.alert-warning{--post-bg-rgb:244, 158, 0}.alert-warning:not(.no-icon,[class^=pi-],[class*=\" pi-\"])::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.67 4h2.67v18.67h-2.67zm0 21.33h2.67V28h-2.67z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.67 4h2.67v18.67h-2.67zm0 21.33h2.67V28h-2.67z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.alert-warning:has(>post-icon)::before{content:none}.alert-warning>post-icon{background-color:#f49e00}.alert-danger{--post-bg-rgb:165, 23, 40}.alert-danger:not(.no-icon,[class^=pi-],[class*=\" pi-\"])::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.67 4h2.67v18.67h-2.67zm0 21.33h2.67V28h-2.67z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.67 4h2.67v18.67h-2.67zm0 21.33h2.67V28h-2.67z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.alert-danger:has(>post-icon)::before{content:none}.alert-danger>post-icon{background-color:#a51728}.alert-info{--post-bg-rgb:204, 228, 238}.alert-info:not(.no-icon,[class^=pi-],[class*=\" pi-\"])::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.33 25.33v-16h-4.67V12h2v13.33h-2V28h6.67v-2.67zM14.67 4h2.67v2.67h-2.67z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.33 25.33v-16h-4.67V12h2v13.33h-2V28h6.67v-2.67zM14.67 4h2.67v2.67h-2.67z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.alert-info:has(>post-icon)::before{content:none}.alert-info>post-icon{background-color:#cce4ee}.alert-gray{--post-bg-rgb:244, 243, 241}.alert-gray:not(.no-icon,[class^=pi-],[class*=\" pi-\"])::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M31.986 15.73c-.503.16-1.03.27-1.586.27a5.24 5.24 0 0 1-4.43-2.448c-.73.382-1.547.62-2.427.62a5.257 5.257 0 0 1-5.257-5.258c0-.88.237-1.698.62-2.427a5.24 5.24 0 0 1-2.449-4.43c0-.714.145-1.393.403-2.014C16.574.028 16.29 0 16 0 7.163 0 0 7.163 0 16s7.163 16 16 16 16-7.163 16-16c0-.091-.012-.18-.014-.27M16 30.667c-8.087 0-14.667-6.58-14.667-14.667 0-7.806 6.13-14.207 13.828-14.643a6.54 6.54 0 0 0 2.116 5.56 6.3 6.3 0 0 0-.325 1.997 6.6 6.6 0 0 0 6.59 6.59c.677 0 1.346-.108 1.998-.324a6.54 6.54 0 0 0 5.067 2.15C29.933 24.796 23.639 30.667 16 30.667M11.352 14.17a2.667 2.667 0 1 0-5.333 0 2.667 2.667 0 0 0 5.333 0m-4 0a1.335 1.335 0 1 1 1.334 1.334 1.336 1.336 0 0 1-1.334-1.334m13.981 8.496a2.667 2.667 0 1 0-5.333 0 2.667 2.667 0 0 0 5.333 0m-4 0a1.335 1.335 0 0 1 2.667 0c0 .735-.598 1.333-1.333 1.333a1.335 1.335 0 0 1-1.334-1.333m-7.276-1.829a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 2.667a.667.667 0 1 1 .002-1.335.667.667 0 0 1-.002 1.335m7.772-6a2 2 0 1 0-4 0 2 2 0 0 0 4 0m-2 .666a.667.667 0 1 1 .001-1.334.667.667 0 0 1-.001 1.334M11.505 5.505a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 2.666a.667.667 0 1 1 .001-1.334.667.667 0 0 1-.001 1.334M28.93 18.548a13.2 13.2 0 0 1-4.335 7.357.663.663 0 0 1-.94-.073.666.666 0 0 1 .073-.94 11.84 11.84 0 0 0 3.894-6.61.668.668 0 0 1 1.307.266m-6.668 8.212a.667.667 0 0 1-.295.896c-.837.423-1.722.757-2.63.99a.665.665 0 1 1-.33-1.292 11.7 11.7 0 0 0 2.359-.888.67.67 0 0 1 .896.294M4 15.921a.666.666 0 1 1-1.333 0 13.13 13.13 0 0 1 4.597-9.984.666.666 0 1 1 .867 1.013A11.8 11.8 0 0 0 4 15.92'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M31.986 15.73c-.503.16-1.03.27-1.586.27a5.24 5.24 0 0 1-4.43-2.448c-.73.382-1.547.62-2.427.62a5.257 5.257 0 0 1-5.257-5.258c0-.88.237-1.698.62-2.427a5.24 5.24 0 0 1-2.449-4.43c0-.714.145-1.393.403-2.014C16.574.028 16.29 0 16 0 7.163 0 0 7.163 0 16s7.163 16 16 16 16-7.163 16-16c0-.091-.012-.18-.014-.27M16 30.667c-8.087 0-14.667-6.58-14.667-14.667 0-7.806 6.13-14.207 13.828-14.643a6.54 6.54 0 0 0 2.116 5.56 6.3 6.3 0 0 0-.325 1.997 6.6 6.6 0 0 0 6.59 6.59c.677 0 1.346-.108 1.998-.324a6.54 6.54 0 0 0 5.067 2.15C29.933 24.796 23.639 30.667 16 30.667M11.352 14.17a2.667 2.667 0 1 0-5.333 0 2.667 2.667 0 0 0 5.333 0m-4 0a1.335 1.335 0 1 1 1.334 1.334 1.336 1.336 0 0 1-1.334-1.334m13.981 8.496a2.667 2.667 0 1 0-5.333 0 2.667 2.667 0 0 0 5.333 0m-4 0a1.335 1.335 0 0 1 2.667 0c0 .735-.598 1.333-1.333 1.333a1.335 1.335 0 0 1-1.334-1.333m-7.276-1.829a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 2.667a.667.667 0 1 1 .002-1.335.667.667 0 0 1-.002 1.335m7.772-6a2 2 0 1 0-4 0 2 2 0 0 0 4 0m-2 .666a.667.667 0 1 1 .001-1.334.667.667 0 0 1-.001 1.334M11.505 5.505a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 2.666a.667.667 0 1 1 .001-1.334.667.667 0 0 1-.001 1.334M28.93 18.548a13.2 13.2 0 0 1-4.335 7.357.663.663 0 0 1-.94-.073.666.666 0 0 1 .073-.94 11.84 11.84 0 0 0 3.894-6.61.668.668 0 0 1 1.307.266m-6.668 8.212a.667.667 0 0 1-.295.896c-.837.423-1.722.757-2.63.99a.665.665 0 1 1-.33-1.292 11.7 11.7 0 0 0 2.359-.888.67.67 0 0 1 .896.294M4 15.921a.666.666 0 1 1-1.333 0 13.13 13.13 0 0 1 4.597-9.984.666.666 0 1 1 .867 1.013A11.8 11.8 0 0 0 4 15.92'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.alert-gray:has(>post-icon)::before{content:none}.alert-gray>post-icon{background-color:#f4f3f1}.alert-notification{--post-bg-rgb:51, 51, 51}.alert-notification:not(.no-icon,[class^=pi-],[class*=\" pi-\"])::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.533 26.933c-3.333-4.8-5.867-12.667-5.867-18.267 0-4.8-3.867-8.667-8.667-8.667S7.332 3.866 7.332 8.666c0 5.6-2.533 13.467-5.867 18.267L1.998 28h11.333v4h5.333v-4h11.333l.533-1.067zm-13.2 3.734h-2.667V28h2.667zm-14.133-4c3.2-5.067 5.467-12.533 5.467-18 0-4 3.333-7.333 7.333-7.333s7.333 3.333 7.333 7.333c0 5.467 2.267 12.933 5.467 18z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.533 26.933c-3.333-4.8-5.867-12.667-5.867-18.267 0-4.8-3.867-8.667-8.667-8.667S7.332 3.866 7.332 8.666c0 5.6-2.533 13.467-5.867 18.267L1.998 28h11.333v4h5.333v-4h11.333l.533-1.067zm-13.2 3.734h-2.667V28h2.667zm-14.133-4c3.2-5.067 5.467-12.533 5.467-18 0-4 3.333-7.333 7.333-7.333s7.333 3.333 7.333 7.333c0 5.467 2.267 12.933 5.467 18z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.alert-notification:has(>post-icon)::before{content:none}.alert-notification>post-icon{background-color:#333}.alert-error{--post-bg-rgb:165, 23, 40}.alert-error:not(.no-icon,[class^=pi-],[class*=\" pi-\"])::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.67 4h2.67v18.67h-2.67zm0 21.33h2.67V28h-2.67z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.67 4h2.67v18.67h-2.67zm0 21.33h2.67V28h-2.67z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.alert-error:has(>post-icon)::before{content:none}.alert-error>post-icon{background-color:#a51728}.btn-close{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:var(--post-device-border-radius-round);color:var(--post-gray-80);transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}.btn-close{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.btn-close::before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16.267 16.667 6.667-6.533-.933-1.067-6.667 6.667-6.667-6.667-.933 1.067 6.667 6.533-6.667 6.667 1.067.933 6.533-6.667 6.667 6.667.933-1.067z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16.267 16.667 6.667-6.533-.933-1.067-6.667 6.667-6.667-6.667-.933 1.067 6.667 6.533-6.667 6.667 1.067.933 6.533-6.667 6.667 6.667.933-1.067z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;content:\"\";display:block;height:1.5rem;width:1.5rem}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-close{color:var(--post-contrast-color)}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:var(--post-contrast-color)}.btn-close:disabled{color:var(--post-gray-40)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{color:CanvasText;forced-color-adjust:none}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:Highlight}}.btn-close-white{color:#e6e6e6}.btn-close-white:focus,.btn-close-white:not(:disabled):hover,.btn-close-white.pretend-hover{color:#fff}.btn-close-white:disabled{color:#999}/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{display:block}:host ::slotted(*){margin:0 !important}.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}.visually-hidden:not(caption){position:absolute !important}.alert-heading>::slotted(h1){font-size:inherit !important;font-weight:inherit !important}.alert-heading>::slotted(h2){font-size:inherit !important;font-weight:inherit !important}.alert-heading>::slotted(h3){font-size:inherit !important;font-weight:inherit !important}.alert-heading>::slotted(h4){font-size:inherit !important;font-weight:inherit !important}.alert-heading>::slotted(h5){font-size:inherit !important;font-weight:inherit !important}.alert-heading>::slotted(h6){font-size:inherit !important;font-weight:inherit !important}";
12
- const PostAlertStyle0 = postAlertCss;
13
-
14
- const PostAlert = class {
15
- constructor(hostRef) {
16
- index.registerInstance(this, hostRef);
17
- this.postDismissed = index.createEvent(this, "postDismissed", 7);
18
- this.alertId = crypto.randomUUID();
19
- this.classes = undefined;
20
- this.hasActions = undefined;
21
- this.hasHeading = undefined;
22
- this.onDismissButtonClick = () => this.dismiss();
23
- this.dismissible = false;
24
- this.dismissLabel = undefined;
25
- this.fixed = false;
26
- this.icon = undefined;
27
- this.type = 'primary';
28
- }
29
- validateDismissible(isDismissible = this.dismissible) {
30
- index$1.checkType(isDismissible, 'boolean', 'The post-alert "dismissible" prop should be a boolean.');
31
- setTimeout(() => this.validateDismissLabel());
32
- }
33
- validateDismissLabel(dismissLabel = this.dismissLabel) {
34
- if (this.dismissible) {
35
- checkNonEmpty.checkNonEmpty(dismissLabel, 'Dismissible post-alert\'s require a "dismiss-label" prop.');
36
- }
37
- }
38
- validateFixed(isFixed = this.fixed) {
39
- index$1.checkType(isFixed, 'boolean', 'The post-alert "fixed" prop should be a boolean.');
40
- }
41
- validateIcon(icon = this.icon) {
42
- index$1.checkEmptyOrPattern(icon, /\d{4}|none/, 'The post-alert "icon" prop should be a 4-digits string.');
43
- }
44
- validateType(type = this.type) {
45
- index$1.checkEmptyOrOneOf(type, ALERT_TYPES, `The post-alert requires a type form: ${ALERT_TYPES.join(', ')}`);
46
- }
47
- componentDidLoad() {
48
- this.validateDismissible();
49
- this.validateFixed();
50
- this.validateIcon();
51
- this.validateType();
52
- }
53
- componentWillRender() {
54
- var _a;
55
- this.hasHeading = this.host.querySelectorAll('[slot=heading]').length > 0;
56
- this.hasActions = this.host.querySelectorAll('[slot=actions]').length > 0;
57
- this.classes = `alert alert-${(_a = this.type) !== null && _a !== void 0 ? _a : 'primary'}`;
58
- if (this.dismissible)
59
- this.classes += ' alert-dismissible';
60
- if (this.hasActions)
61
- this.classes += ' alert-action';
62
- if (this.fixed)
63
- this.classes += ' alert-fixed-bottom';
64
- if (this.icon === 'none')
65
- this.classes += ' no-icon';
66
- }
67
- /**
68
- * Triggers alert dismissal programmatically (same as clicking on the close button (×)).
69
- */
70
- async dismiss() {
71
- const dismissal = fade.fadeOut(this.host);
72
- await dismissal.finished;
73
- this.host.remove();
74
- this.postDismissed.emit();
75
- }
76
- render() {
77
- const defaultAlertContent = [
78
- this.hasHeading && (index.h("div", { key: `${this.alertId}-heading`, class: "alert-heading" }, index.h("slot", { key: 'a3404eee0322cc2b50125bf4ca08969e33d15763', name: "heading" }))),
79
- index.h("slot", { key: `${this.alertId}-message` }),
80
- ];
81
- const actionAlertContent = [
82
- index.h("div", { key: `${this.alertId}-content`, class: "alert-content" }, defaultAlertContent),
83
- index.h("div", { key: `${this.alertId}-buttons`, class: "alert-buttons" }, index.h("slot", { key: '50941abd468008cd58a1e05577243d1046a0e20e', name: "actions" })),
84
- ];
85
- return (index.h(index.Host, { key: '99c1e3b4cc943d8be2d5abe7b2b27dce03548d15', "data-version": _package.version }, index.h("div", { key: 'a290771bcc1234684502f524fe6e7e44501fc004', role: "alert", class: this.classes, part: this.classes }, this.dismissible && (index.h("button", { key: '57c9cdbec53430b0fc6e121b5928bb14b86c37e0', class: "btn-close", onClick: this.onDismissButtonClick }, index.h("span", { key: '82d59b6deb736b4053b2b0876c87456c160928ee', class: "visually-hidden" }, this.dismissLabel))), this.icon && this.icon !== 'none' && (index.h("post-icon", { key: `${this.alertId}-icon`, name: this.icon })), this.hasActions ? actionAlertContent : defaultAlertContent)));
86
- }
87
- get host() { return index.getElement(this); }
88
- static get watchers() { return {
89
- "dismissible": ["validateDismissible"],
90
- "dismissLabel": ["validateDismissLabel"],
91
- "fixed": ["validateFixed"],
92
- "icon": ["validateIcon"],
93
- "type": ["validateType"]
94
- }; }
95
- };
96
- PostAlert.style = PostAlertStyle0;
97
-
98
- exports.PostAlert = PostAlert;
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-e1f32cce.js');
4
- const _package = require('./package-3f706795.js');
5
-
6
- const PostClosebutton = class {
7
- constructor(hostRef) {
8
- index.registerInstance(this, hostRef);
9
- }
10
- render() {
11
- 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' })))));
12
- }
13
- get host() { return index.getElement(this); }
14
- };
15
-
16
- exports.PostClosebutton = PostClosebutton;
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const postClosebutton = require('./post-closebutton-372c1276.js');
6
- require('./index-e1f32cce.js');
7
- require('./package-3f706795.js');
8
-
9
-
10
-
11
- exports.post_closebutton = postClosebutton.PostClosebutton;
@@ -1,104 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-e1f32cce.js');
4
- const index$1 = require('./index-01f30442.js');
5
- const _package = require('./package-3f706795.js');
6
- const checkNonEmpty = require('./check-non-empty-eeaa8f77.js');
7
-
8
- 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)}}";
9
- const PostIconStyle0 = postIconCss;
10
-
11
- const CDN_URL = 'https://unpkg.com/@swisspost/design-system-icons/public/post-icons';
12
- const ANIMATION_NAMES = [
13
- 'cylon',
14
- 'cylon-vertical',
15
- 'spin',
16
- 'spin-reverse',
17
- 'fade',
18
- 'throb',
19
- ];
20
- const ANIMATION_KEYS = [...ANIMATION_NAMES];
21
- const PostIcon = class {
22
- constructor(hostRef) {
23
- index.registerInstance(this, hostRef);
24
- this.svgStyles = undefined;
25
- this.svgOutput = undefined;
26
- this.animation = null;
27
- this.base = null;
28
- this.flipH = false;
29
- this.flipV = false;
30
- this.name = undefined;
31
- this.rotate = null;
32
- this.scale = null;
33
- }
34
- validateAnimation(newValue = this.animation) {
35
- if (newValue !== undefined)
36
- index$1.checkEmptyOrOneOf(newValue, ANIMATION_KEYS, `The post-icon "animation" prop requires one of the following values: ${ANIMATION_KEYS.join(', ')}.`);
37
- }
38
- validateBase(newValue = this.base) {
39
- index$1.checkEmptyOrType(newValue, 'string', 'The post-icon "base" prop should be a string.');
40
- }
41
- validateFlipH(newValue = this.flipH) {
42
- index$1.checkEmptyOrType(newValue, 'boolean', 'The post-icon "flipH" prop should be a boolean.');
43
- }
44
- validateFlipV(newValue = this.flipV) {
45
- index$1.checkEmptyOrType(newValue, 'boolean', 'The post-icon "flipV" prop should be a boolean.');
46
- }
47
- validateName(newValue = this.name) {
48
- checkNonEmpty.checkNonEmpty(newValue, 'The post-icon "name" prop is required!.');
49
- index$1.checkType(newValue, 'string', 'The post-icon "name" prop should be a string.');
50
- }
51
- validateRotate(newValue = this.rotate) {
52
- index$1.checkEmptyOrType(newValue, 'number', 'The post-icon "rotate" prop should be a number.');
53
- }
54
- validateScale(newValue = this.scale) {
55
- index$1.checkEmptyOrType(newValue, 'number', 'The post-icon "scale" prop should be a number.');
56
- }
57
- componentDidLoad() {
58
- this.validateBase();
59
- this.validateName();
60
- this.validateFlipH();
61
- this.validateFlipV();
62
- this.validateScale();
63
- this.validateRotate();
64
- this.validateAnimation();
65
- }
66
- componentWillRender() {
67
- this.setPath();
68
- }
69
- setPath() {
70
- var _a, _b, _c, _d;
71
- // Construct icon path from different possible sources
72
- const metaBase = (_b = (_a = document.head
73
- .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;
74
- const fileBase = `${(_d = (_c = this.base) !== null && _c !== void 0 ? _c : metaBase) !== null && _d !== void 0 ? _d : CDN_URL}/`.replace(/\/\/$/, '/');
75
- const fileName = `${this.name}.svg`;
76
- const filePath = `${fileBase}${fileName}`;
77
- this.path = new URL(filePath, window.location.origin).toString();
78
- }
79
- render() {
80
- // create inline styles for some properties
81
- const svgStyles = Object.entries({
82
- '-webkit-mask-image': `url('${this.path}')`,
83
- 'mask-image': `url('${this.path}')`,
84
- 'transform': (this.scale && !isNaN(Number(this.scale)) ? 'scale(' + this.scale + ')' : '') +
85
- (this.rotate && !isNaN(Number(this.rotate)) ? ' rotate(' + this.rotate + 'deg)' : ''),
86
- })
87
- .filter(([_key, value]) => value !== null)
88
- .reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
89
- return (index.h(index.Host, { key: '86c61ac92270e1b46ef63e2bb0ff4683a16ca794', "data-version": _package.version }, index.h("span", { key: 'ad856363b96d303912c9085d9d45cb911cbedfc6', style: svgStyles })));
90
- }
91
- get host() { return index.getElement(this); }
92
- static get watchers() { return {
93
- "animation": ["validateAnimation"],
94
- "base": ["validateBase"],
95
- "flipH": ["validateFlipH"],
96
- "flipV": ["validateFlipV"],
97
- "name": ["validateName"],
98
- "rotate": ["validateRotate"],
99
- "scale": ["validateScale"]
100
- }; }
101
- };
102
- PostIcon.style = PostIconStyle0;
103
-
104
- exports.PostIcon = PostIcon;
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const postIcon = require('./post-icon-ca80afce.js');
6
- require('./index-e1f32cce.js');
7
- require('./index-01f30442.js');
8
- require('./constants-238701d3.js');
9
- require('./check-one-of-f4f5d0c0.js');
10
- require('./package-3f706795.js');
11
- require('./check-non-empty-eeaa8f77.js');
12
-
13
-
14
-
15
- exports.post_icon = postIcon.PostIcon;