@swisspost/design-system-components 9.0.0-next.1 → 9.0.0-next.10

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 (451) hide show
  1. package/dist/cjs/check-type-64af82a9.js +16 -0
  2. package/dist/cjs/check-url-3ffdd2fb.js +14 -0
  3. package/dist/cjs/debounce-1151afe3.js +12 -0
  4. package/dist/cjs/get-root-7a3498ef.js +11 -0
  5. package/dist/cjs/{index-01f30442.js → index-5d4e0aed.js} +4 -27
  6. package/dist/cjs/{index-c15bd800.js → index-f1b08cdb.js} +45 -16
  7. package/dist/cjs/index.browser-2f65f583.js +15 -0
  8. package/dist/cjs/index.cjs.js +51 -24
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/{package-c7d01968.js → package-aaec3cba.js} +1 -1
  11. package/dist/cjs/{post-accordion-e29956c4.js → post-accordion-85bf5e0a.js} +3 -3
  12. package/dist/cjs/post-accordion-item-957b3464.js +64 -0
  13. package/dist/cjs/post-accordion-item.cjs.entry.js +7 -4
  14. package/dist/cjs/post-accordion.cjs.entry.js +3 -3
  15. package/dist/cjs/post-avatar-58540591.js +148 -0
  16. package/dist/cjs/post-avatar.cjs.entry.js +13 -0
  17. package/dist/cjs/post-back-to-top-db5c7d01.js +75 -0
  18. package/dist/cjs/post-back-to-top.cjs.entry.js +15 -0
  19. package/dist/cjs/post-banner-727866d5.js +91 -0
  20. package/dist/cjs/post-banner.cjs.entry.js +19 -0
  21. package/dist/cjs/post-breadcrumb-cacca682.js +111 -0
  22. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +17 -0
  23. package/dist/cjs/post-breadcrumb.cjs.entry.js +13 -0
  24. package/dist/cjs/post-card-control-f5d72ddc.js +272 -0
  25. package/dist/cjs/post-card-control.cjs.entry.js +3 -3
  26. package/dist/cjs/post-closebutton_15.cjs.entry.js +34 -0
  27. package/dist/cjs/{post-collapsible-trigger-32549d33.js → post-collapsible-trigger-067d1f4c.js} +14 -26
  28. package/dist/cjs/post-collapsible_2.cjs.entry.js +8 -4
  29. package/dist/cjs/post-components.cjs.js +2 -2
  30. package/dist/cjs/post-footer-beeb36c8.js +84 -0
  31. package/dist/cjs/post-footer.cjs.entry.js +11 -0
  32. package/dist/cjs/post-menu-item-e0e214b9.js +69 -0
  33. package/dist/cjs/{post-popover-cfc1b31b.js → post-popover-7acbdf17.js} +4 -4
  34. package/dist/cjs/post-popover.cjs.entry.js +3 -3
  35. package/dist/cjs/{post-rating-b9b8b6f3.js → post-rating-ac1b9b3c.js} +4 -4
  36. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  37. package/dist/cjs/post-tab-header-a3d28719.js +33 -0
  38. package/dist/cjs/post-tab-header.cjs.entry.js +4 -3
  39. package/dist/cjs/{post-tab-panel-300a0618.js → post-tab-panel-4562e265.js} +5 -4
  40. package/dist/cjs/post-tab-panel.cjs.entry.js +4 -3
  41. package/dist/cjs/{post-tabs-b06f799b.js → post-tabs-80f65e1d.js} +9 -7
  42. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  43. package/dist/cjs/post-tag-5741a78d.js +47 -0
  44. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  45. package/dist/cjs/{post-popovercontainer-c0b86b11.js → post-togglebutton-245e33f1.js} +1082 -21
  46. package/dist/cjs/{post-tooltip-8d7e64f6.js → post-tooltip-cefce5e1.js} +31 -19
  47. package/dist/cjs/post-tooltip.cjs.entry.js +6 -4
  48. package/dist/cjs/slide-5d51abe8.js +28 -0
  49. package/dist/collection/animations/slide.js +23 -0
  50. package/dist/collection/collection-manifest.json +21 -3
  51. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  52. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  53. package/dist/collection/components/post-accordion-item/post-accordion-item.js +26 -9
  54. package/dist/collection/components/post-avatar/post-avatar.css +3 -0
  55. package/dist/collection/components/post-avatar/post-avatar.js +237 -0
  56. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -0
  57. package/dist/collection/components/post-back-to-top/post-back-to-top.js +107 -0
  58. package/dist/collection/components/post-banner/banner-types.js +1 -0
  59. package/dist/collection/components/post-banner/post-banner.css +3 -0
  60. package/dist/collection/components/{post-alert/post-alert.js → post-banner/post-banner.js} +41 -69
  61. package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +3 -0
  62. package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +161 -0
  63. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -0
  64. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +93 -0
  65. package/dist/collection/components/post-card-control/post-card-control.css +1 -1
  66. package/dist/collection/components/post-card-control/post-card-control.js +8 -8
  67. package/dist/collection/components/post-closebutton/post-closebutton.js +12 -0
  68. package/dist/collection/components/post-collapsible/post-collapsible.js +5 -3
  69. package/dist/collection/components/post-footer/post-footer.css +1 -0
  70. package/dist/collection/components/post-footer/post-footer.js +75 -0
  71. package/dist/collection/components/post-header/post-header.css +1 -0
  72. package/dist/collection/components/post-header/post-header.js +172 -0
  73. package/dist/collection/components/post-icon/post-icon.js +22 -30
  74. package/dist/collection/components/post-language-option/post-language-option.css +3 -0
  75. package/dist/collection/components/post-language-option/post-language-option.js +219 -0
  76. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -0
  77. package/dist/collection/components/post-language-switch/post-language-switch.js +163 -0
  78. package/dist/collection/components/post-language-switch/switch-variants.js +1 -0
  79. package/dist/collection/components/post-list/post-list.css +3 -0
  80. package/dist/collection/components/post-list/post-list.js +88 -0
  81. package/dist/collection/components/post-list-item/post-list-item.css +1 -0
  82. package/dist/collection/components/post-list-item/post-list-item.js +25 -0
  83. package/dist/collection/components/post-logo/post-logo.js +2 -2
  84. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -0
  85. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +52 -0
  86. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -0
  87. package/dist/collection/components/post-megadropdown/post-megadropdown.js +158 -0
  88. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -0
  89. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +104 -0
  90. package/dist/collection/components/post-menu/post-menu.css +3 -0
  91. package/dist/collection/components/post-menu/post-menu.js +280 -0
  92. package/dist/collection/components/post-menu-item/post-menu-item.js +8 -0
  93. package/dist/collection/components/post-menu-trigger/post-menu-trigger.css +1 -0
  94. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +114 -0
  95. package/dist/collection/components/post-popover/post-popover.css +1 -1
  96. package/dist/collection/components/post-popover/post-popover.js +1 -1
  97. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  98. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +26 -6
  99. package/dist/collection/components/post-rating/post-rating.css +1 -1
  100. package/dist/collection/components/post-rating/post-rating.js +1 -1
  101. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
  102. package/dist/collection/components/post-tab-header/post-tab-header.js +3 -2
  103. package/dist/collection/components/post-tab-panel/post-tab-panel.js +3 -2
  104. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  105. package/dist/collection/components/post-tabs/post-tabs.js +6 -4
  106. package/dist/collection/components/post-tag/post-tag.css +1 -1
  107. package/dist/collection/components/post-tag/post-tag.js +2 -2
  108. package/dist/collection/components/post-togglebutton/post-togglebutton.css +1 -0
  109. package/dist/collection/components/post-togglebutton/post-togglebutton.js +74 -0
  110. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  111. package/dist/collection/components/post-tooltip/post-tooltip.js +28 -12
  112. package/dist/collection/index.js +20 -2
  113. package/dist/collection/utils/breakpoints.js +46 -0
  114. package/dist/collection/utils/get-focusable-children.js +27 -0
  115. package/dist/components/debounce.js +10 -0
  116. package/dist/components/get-root.js +9 -0
  117. package/dist/components/index.browser.js +13 -0
  118. package/dist/components/index.js +20 -2
  119. package/dist/components/index2.js +1 -1
  120. package/dist/components/package.js +1 -1
  121. package/dist/components/post-accordion-item2.js +33 -13
  122. package/dist/components/post-accordion2.js +1 -1
  123. package/dist/components/post-avatar.d.ts +11 -0
  124. package/dist/components/post-avatar.js +6 -0
  125. package/dist/components/post-avatar2.js +173 -0
  126. package/dist/components/post-back-to-top.d.ts +11 -0
  127. package/dist/components/post-back-to-top.js +6 -0
  128. package/dist/components/post-back-to-top2.js +100 -0
  129. package/dist/components/post-banner.d.ts +11 -0
  130. package/dist/components/post-banner.js +6 -0
  131. package/dist/components/post-banner2.js +126 -0
  132. package/dist/components/post-breadcrumb-item.d.ts +11 -0
  133. package/dist/components/post-breadcrumb-item.js +6 -0
  134. package/dist/components/post-breadcrumb-item2.js +82 -0
  135. package/dist/components/post-breadcrumb.d.ts +11 -0
  136. package/dist/components/post-breadcrumb.js +6 -0
  137. package/dist/components/post-breadcrumb2.js +168 -0
  138. package/dist/components/post-card-control2.js +3 -3
  139. package/dist/components/post-closebutton.d.ts +11 -0
  140. package/dist/components/post-closebutton.js +6 -0
  141. package/dist/components/post-closebutton2.js +34 -0
  142. package/dist/components/post-collapsible-trigger2.js +2 -17
  143. package/dist/components/post-collapsible2.js +6 -4
  144. package/dist/components/post-footer.d.ts +11 -0
  145. package/dist/components/post-footer.js +6 -0
  146. package/dist/components/post-footer2.js +124 -0
  147. package/dist/components/post-header.d.ts +11 -0
  148. package/dist/components/post-header.js +6 -0
  149. package/dist/components/post-header2.js +279 -0
  150. package/dist/components/post-icon2.js +24 -28
  151. package/dist/components/post-language-option.d.ts +11 -0
  152. package/dist/components/post-language-option.js +6 -0
  153. package/dist/components/post-language-option2.js +98 -0
  154. package/dist/components/post-language-switch.d.ts +11 -0
  155. package/dist/components/post-language-switch.js +6 -0
  156. package/dist/components/post-language-switch2.js +135 -0
  157. package/dist/components/post-list-item.d.ts +11 -0
  158. package/dist/components/post-list-item.js +6 -0
  159. package/dist/components/post-list-item2.js +35 -0
  160. package/dist/components/{post-alert.d.ts → post-list.d.ts} +4 -4
  161. package/dist/components/post-list.js +6 -0
  162. package/dist/components/post-list2.js +54 -0
  163. package/dist/components/post-logo2.js +2 -2
  164. package/dist/components/post-mainnavigation.d.ts +11 -0
  165. package/dist/components/post-mainnavigation.js +6 -0
  166. package/dist/components/post-mainnavigation2.js +48 -0
  167. package/dist/components/post-megadropdown-trigger.d.ts +11 -0
  168. package/dist/components/post-megadropdown-trigger.js +6 -0
  169. package/dist/components/post-megadropdown-trigger2.js +91 -0
  170. package/dist/components/post-megadropdown.d.ts +11 -0
  171. package/dist/components/post-megadropdown.js +6 -0
  172. package/dist/components/post-megadropdown2.js +100 -0
  173. package/dist/components/post-menu-item.d.ts +11 -0
  174. package/dist/components/post-menu-item.js +6 -0
  175. package/dist/components/post-menu-item2.js +27 -0
  176. package/dist/components/post-menu-trigger.d.ts +11 -0
  177. package/dist/components/post-menu-trigger.js +6 -0
  178. package/dist/components/post-menu-trigger2.js +102 -0
  179. package/dist/components/post-menu.d.ts +11 -0
  180. package/dist/components/post-menu.js +6 -0
  181. package/dist/components/post-menu2.js +204 -0
  182. package/dist/components/post-popover2.js +2 -2
  183. package/dist/components/post-popovercontainer2.js +10 -7
  184. package/dist/components/post-rating2.js +2 -2
  185. package/dist/components/post-tab-header2.js +4 -3
  186. package/dist/components/post-tab-panel2.js +3 -2
  187. package/dist/components/post-tabs2.js +7 -5
  188. package/dist/components/post-tag2.js +2 -2
  189. package/dist/components/post-togglebutton.d.ts +11 -0
  190. package/dist/components/post-togglebutton.js +6 -0
  191. package/dist/components/post-togglebutton2.js +61 -0
  192. package/dist/components/post-tooltip2.js +29 -17
  193. package/dist/components/slide.js +25 -0
  194. package/dist/docs.json +1870 -283
  195. package/dist/esm/check-type-8828dbe4.js +14 -0
  196. package/dist/esm/check-url-a974431e.js +12 -0
  197. package/dist/esm/debounce-abe98cc2.js +10 -0
  198. package/dist/esm/get-root-7af2e0d1.js +9 -0
  199. package/dist/esm/{index-0b56fc28.js → index-6bfe6554.js} +45 -16
  200. package/dist/esm/index-b49c9904.js +24 -0
  201. package/dist/esm/index.browser-51485f85.js +13 -0
  202. package/dist/esm/index.js +28 -19
  203. package/dist/esm/loader.js +3 -3
  204. package/dist/esm/package-2ee42825.js +3 -0
  205. package/dist/esm/{post-accordion-3a7b3f3c.js → post-accordion-3bf30525.js} +3 -3
  206. package/dist/esm/post-accordion-item-6683fbed.js +62 -0
  207. package/dist/esm/post-accordion-item.entry.js +7 -4
  208. package/dist/esm/post-accordion.entry.js +3 -3
  209. package/dist/esm/post-avatar-3ddb4c79.js +146 -0
  210. package/dist/esm/post-avatar.entry.js +5 -0
  211. package/dist/esm/post-back-to-top-15ee2771.js +73 -0
  212. package/dist/esm/post-back-to-top.entry.js +7 -0
  213. package/dist/esm/post-banner-fc407f6e.js +89 -0
  214. package/dist/esm/post-banner.entry.js +11 -0
  215. package/dist/esm/post-breadcrumb-6252b112.js +109 -0
  216. package/dist/esm/post-breadcrumb-item_2.entry.js +8 -0
  217. package/dist/esm/post-breadcrumb.entry.js +5 -0
  218. package/dist/esm/post-card-control-cb3dfc60.js +270 -0
  219. package/dist/esm/post-card-control.entry.js +3 -3
  220. package/dist/esm/post-closebutton_15.entry.js +12 -0
  221. package/dist/esm/{post-collapsible-trigger-8d7e027b.js → post-collapsible-trigger-b727bf7e.js} +11 -23
  222. package/dist/esm/post-collapsible_2.entry.js +8 -4
  223. package/dist/esm/post-components.js +3 -3
  224. package/dist/esm/post-footer-7a03a9bb.js +82 -0
  225. package/dist/esm/post-footer.entry.js +3 -0
  226. package/dist/esm/post-menu-item-3e168ecd.js +66 -0
  227. package/dist/esm/{post-popover-972c5ea7.js → post-popover-bff5cffd.js} +4 -4
  228. package/dist/esm/post-popover.entry.js +3 -3
  229. package/dist/esm/{post-rating-cca784ae.js → post-rating-ce595a65.js} +4 -4
  230. package/dist/esm/post-rating.entry.js +3 -3
  231. package/dist/esm/post-tab-header-c864586f.js +31 -0
  232. package/dist/esm/post-tab-header.entry.js +4 -3
  233. package/dist/esm/{post-tab-panel-633a5e6b.js → post-tab-panel-800425b8.js} +5 -4
  234. package/dist/esm/post-tab-panel.entry.js +4 -3
  235. package/dist/esm/{post-tabs-74ded897.js → post-tabs-e5aa8b08.js} +9 -7
  236. package/dist/esm/post-tabs.entry.js +3 -3
  237. package/dist/esm/post-tag-fc3df50a.js +45 -0
  238. package/dist/esm/post-tag.entry.js +3 -3
  239. package/dist/esm/{post-popovercontainer-2485b7d9.js → post-togglebutton-101dd3bd.js} +1069 -22
  240. package/dist/esm/{post-tooltip-0457467f.js → post-tooltip-e8484aea.js} +31 -19
  241. package/dist/esm/post-tooltip.entry.js +6 -4
  242. package/dist/esm/slide-3422b8a3.js +25 -0
  243. package/dist/post-components/index.esm.js +1 -1
  244. package/dist/post-components/p-02bb5231.js +1 -0
  245. package/dist/post-components/p-0e216cc4.js +2 -0
  246. package/dist/post-components/p-11880d55.js +1 -0
  247. package/dist/post-components/p-1489d777.entry.js +1 -0
  248. package/dist/post-components/p-19707347.entry.js +1 -0
  249. package/dist/post-components/p-1d3acbfd.js +1 -0
  250. package/dist/post-components/p-24476696.js +1 -0
  251. package/dist/post-components/p-25f6efab.entry.js +1 -0
  252. package/dist/post-components/p-27ad2d1f.js +1 -0
  253. package/dist/post-components/p-29626238.entry.js +1 -0
  254. package/dist/post-components/p-339488ba.entry.js +1 -0
  255. package/dist/post-components/p-3de1151e.js +1 -0
  256. package/dist/post-components/p-413d1fff.js +1 -0
  257. package/dist/post-components/p-47095b84.entry.js +1 -0
  258. package/dist/post-components/p-4a3f67ab.js +1 -0
  259. package/dist/post-components/p-515e0f96.js +1 -0
  260. package/dist/post-components/p-5467b223.js +1 -0
  261. package/dist/post-components/p-5959f2bd.js +1 -0
  262. package/dist/post-components/p-5b0703a4.entry.js +1 -0
  263. package/dist/post-components/p-618b8929.js +1 -0
  264. package/dist/post-components/p-66c8d0a2.entry.js +1 -0
  265. package/dist/post-components/p-6e6e5447.entry.js +1 -0
  266. package/dist/post-components/p-80b282a2.js +1 -0
  267. package/dist/post-components/p-86a1ad40.js +1 -0
  268. package/dist/post-components/p-97647d03.entry.js +1 -0
  269. package/dist/post-components/p-98f1d284.js +1 -0
  270. package/dist/post-components/p-9e287cb5.js +1 -0
  271. package/dist/post-components/{p-41094063.js → p-a3694196.js} +1 -1
  272. package/dist/post-components/p-adc79d26.entry.js +1 -0
  273. package/dist/post-components/p-b22656b1.js +1 -0
  274. package/dist/post-components/p-bcf94111.entry.js +1 -0
  275. package/dist/post-components/p-bd87a2b5.entry.js +1 -0
  276. package/dist/post-components/p-bec07e51.js +1 -0
  277. package/dist/post-components/p-bec09df9.entry.js +1 -0
  278. package/dist/post-components/p-d1d9c9a5.js +1 -0
  279. package/dist/post-components/p-d4f93f2b.js +1 -0
  280. package/dist/post-components/p-db2ac0a2.entry.js +1 -0
  281. package/dist/post-components/p-e93a4bd0.entry.js +1 -0
  282. package/dist/post-components/p-eed26f43.js +1 -0
  283. package/dist/post-components/p-f35d5d4a.entry.js +1 -0
  284. package/dist/post-components/p-fa6c79b8.entry.js +1 -0
  285. package/dist/post-components/{p-01a8fe6a.js → p-faf15ec1.js} +3 -3
  286. package/dist/post-components/p-fc09ac69.js +1 -0
  287. package/dist/post-components/p-fc91cbc2.js +1 -0
  288. package/dist/post-components/p-ffcd735f.js +1 -0
  289. package/dist/post-components/post-components.esm.js +1 -1
  290. package/dist/types/animations/slide.d.ts +2 -0
  291. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +7 -1
  292. package/dist/types/components/post-avatar/post-avatar.d.ts +51 -0
  293. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +19 -0
  294. package/dist/types/components/post-banner/banner-types.d.ts +2 -0
  295. package/dist/types/components/post-banner/post-banner.d.ts +49 -0
  296. package/dist/types/components/post-breadcrumb/post-breadcrumb.d.ts +30 -0
  297. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +16 -0
  298. package/dist/types/components/post-card-control/post-card-control.d.ts +7 -7
  299. package/dist/types/components/post-closebutton/post-closebutton.d.ts +7 -0
  300. package/dist/types/components/post-footer/post-footer.d.ts +23 -0
  301. package/dist/types/components/post-header/post-header.d.ts +33 -0
  302. package/dist/types/components/post-icon/post-icon.d.ts +3 -6
  303. package/dist/types/components/post-language-option/post-language-option.d.ts +45 -0
  304. package/dist/types/components/post-language-switch/post-language-switch.d.ts +31 -0
  305. package/dist/types/components/post-language-switch/switch-variants.d.ts +2 -0
  306. package/dist/types/components/post-list/post-list.d.ts +24 -0
  307. package/dist/types/components/post-list-item/post-list-item.d.ts +8 -0
  308. package/dist/types/components/post-logo/post-logo.d.ts +1 -1
  309. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +19 -0
  310. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +36 -0
  311. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +25 -0
  312. package/dist/types/components/post-menu/post-menu.d.ts +48 -0
  313. package/dist/types/components/post-menu-item/post-menu-item.d.ts +3 -0
  314. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +27 -0
  315. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +4 -0
  316. package/dist/types/components/post-tag/post-tag.d.ts +1 -1
  317. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +15 -0
  318. package/dist/types/components.d.ts +570 -44
  319. package/dist/types/index.d.ts +20 -2
  320. package/dist/types/utils/breakpoints.d.ts +11 -0
  321. package/dist/types/utils/get-focusable-children.d.ts +1 -0
  322. package/dist/types/utils/get-root.d.ts +1 -1
  323. package/loaders/debounce.js +10 -0
  324. package/loaders/get-root.js +9 -0
  325. package/loaders/index.browser.js +13 -0
  326. package/loaders/index.d.ts +38 -2
  327. package/loaders/index.js +20 -2
  328. package/loaders/index2.js +1 -1
  329. package/loaders/package.js +1 -1
  330. package/loaders/post-accordion-item.js +1 -81
  331. package/loaders/post-accordion-item2.js +103 -0
  332. package/loaders/post-accordion.js +1 -1
  333. package/loaders/post-avatar.d.ts +11 -0
  334. package/loaders/post-avatar.js +176 -0
  335. package/loaders/post-back-to-top.d.ts +11 -0
  336. package/loaders/post-back-to-top.js +103 -0
  337. package/loaders/post-banner.d.ts +11 -0
  338. package/loaders/post-banner.js +129 -0
  339. package/loaders/post-breadcrumb-item.d.ts +11 -0
  340. package/loaders/post-breadcrumb-item.js +6 -0
  341. package/loaders/post-breadcrumb-item2.js +82 -0
  342. package/loaders/post-breadcrumb.d.ts +11 -0
  343. package/loaders/post-breadcrumb.js +171 -0
  344. package/loaders/post-card-control.js +3 -3
  345. package/loaders/post-closebutton.d.ts +11 -0
  346. package/loaders/post-closebutton.js +37 -0
  347. package/loaders/post-collapsible-trigger2.js +2 -17
  348. package/loaders/post-collapsible2.js +5 -3
  349. package/loaders/post-footer.d.ts +11 -0
  350. package/loaders/post-footer.js +127 -0
  351. package/loaders/post-header.d.ts +11 -0
  352. package/loaders/post-header.js +282 -0
  353. package/loaders/post-icon2.js +24 -28
  354. package/loaders/post-language-option.d.ts +11 -0
  355. package/loaders/post-language-option.js +101 -0
  356. package/loaders/post-language-switch.d.ts +11 -0
  357. package/loaders/post-language-switch.js +138 -0
  358. package/loaders/post-list-item.d.ts +11 -0
  359. package/loaders/post-list-item.js +38 -0
  360. package/loaders/{post-alert.d.ts → post-list.d.ts} +4 -4
  361. package/loaders/post-list.js +57 -0
  362. package/loaders/post-logo.js +3 -3
  363. package/loaders/post-mainnavigation.d.ts +11 -0
  364. package/loaders/post-mainnavigation.js +51 -0
  365. package/loaders/post-megadropdown-trigger.d.ts +11 -0
  366. package/loaders/post-megadropdown-trigger.js +94 -0
  367. package/loaders/post-megadropdown.d.ts +11 -0
  368. package/loaders/post-megadropdown.js +103 -0
  369. package/loaders/post-menu-item.d.ts +11 -0
  370. package/loaders/post-menu-item.js +6 -0
  371. package/loaders/post-menu-item2.js +27 -0
  372. package/loaders/post-menu-trigger.d.ts +11 -0
  373. package/loaders/post-menu-trigger.js +6 -0
  374. package/loaders/post-menu-trigger2.js +102 -0
  375. package/loaders/post-menu.d.ts +11 -0
  376. package/loaders/post-menu.js +6 -0
  377. package/loaders/post-menu2.js +204 -0
  378. package/loaders/post-popover.js +2 -2
  379. package/loaders/post-popovercontainer2.js +10 -7
  380. package/loaders/post-rating.js +2 -2
  381. package/loaders/post-tab-header.js +4 -3
  382. package/loaders/post-tab-panel.js +3 -2
  383. package/loaders/post-tabs.js +7 -5
  384. package/loaders/post-tag.js +2 -2
  385. package/loaders/post-togglebutton.d.ts +11 -0
  386. package/loaders/post-togglebutton.js +64 -0
  387. package/loaders/post-tooltip.js +28 -16
  388. package/loaders/slide.js +25 -0
  389. package/package.json +9 -6
  390. package/dist/cjs/post-accordion-item-dc4d1801.js +0 -51
  391. package/dist/cjs/post-alert-106c34ac.js +0 -98
  392. package/dist/cjs/post-alert.cjs.entry.js +0 -16
  393. package/dist/cjs/post-card-control-69769d1a.js +0 -272
  394. package/dist/cjs/post-icon-221d976f.js +0 -104
  395. package/dist/cjs/post-icon.cjs.entry.js +0 -15
  396. package/dist/cjs/post-logo-e6cb079f.js +0 -39
  397. package/dist/cjs/post-logo.cjs.entry.js +0 -14
  398. package/dist/cjs/post-popovercontainer.cjs.entry.js +0 -11
  399. package/dist/cjs/post-tab-header-43310d08.js +0 -32
  400. package/dist/cjs/post-tag-d7ac3cbb.js +0 -47
  401. package/dist/collection/components/post-alert/alert-types.js +0 -1
  402. package/dist/collection/components/post-alert/post-alert.css +0 -7
  403. package/dist/components/post-alert.js +0 -6
  404. package/dist/components/post-alert2.js +0 -136
  405. package/dist/esm/index-f41b763f.js +0 -46
  406. package/dist/esm/package-bc6404e2.js +0 -3
  407. package/dist/esm/post-accordion-item-55d1e771.js +0 -49
  408. package/dist/esm/post-alert-6c908130.js +0 -96
  409. package/dist/esm/post-alert.entry.js +0 -8
  410. package/dist/esm/post-card-control-9fff6efc.js +0 -270
  411. package/dist/esm/post-icon-d59ad345.js +0 -102
  412. package/dist/esm/post-icon.entry.js +0 -7
  413. package/dist/esm/post-logo-a1487634.js +0 -37
  414. package/dist/esm/post-logo.entry.js +0 -6
  415. package/dist/esm/post-popovercontainer.entry.js +0 -3
  416. package/dist/esm/post-tab-header-dd2cb68e.js +0 -30
  417. package/dist/esm/post-tag-f60a71fd.js +0 -45
  418. package/dist/post-components/p-0e0c11f9.entry.js +0 -1
  419. package/dist/post-components/p-124fe6c8.js +0 -1
  420. package/dist/post-components/p-15c6739e.entry.js +0 -1
  421. package/dist/post-components/p-2180e02d.entry.js +0 -1
  422. package/dist/post-components/p-22ec06ae.entry.js +0 -1
  423. package/dist/post-components/p-26bbd8e5.entry.js +0 -1
  424. package/dist/post-components/p-2b43665d.js +0 -1
  425. package/dist/post-components/p-2d1f85f4.js +0 -1
  426. package/dist/post-components/p-464ce10a.entry.js +0 -1
  427. package/dist/post-components/p-51eff367.js +0 -1
  428. package/dist/post-components/p-586f7f53.entry.js +0 -1
  429. package/dist/post-components/p-65031b20.entry.js +0 -1
  430. package/dist/post-components/p-6d9c46f4.js +0 -1
  431. package/dist/post-components/p-6f12f3e5.js +0 -1
  432. package/dist/post-components/p-718eb560.js +0 -1
  433. package/dist/post-components/p-78407640.entry.js +0 -1
  434. package/dist/post-components/p-79a40235.entry.js +0 -1
  435. package/dist/post-components/p-7ab513fc.js +0 -1
  436. package/dist/post-components/p-9cba7d2f.js +0 -1
  437. package/dist/post-components/p-9eb27378.entry.js +0 -1
  438. package/dist/post-components/p-a528acc4.js +0 -1
  439. package/dist/post-components/p-aa8e43c3.js +0 -1
  440. package/dist/post-components/p-b68c86a7.js +0 -1
  441. package/dist/post-components/p-b8db0e0a.entry.js +0 -1
  442. package/dist/post-components/p-bcd5843c.entry.js +0 -1
  443. package/dist/post-components/p-c21b810d.js +0 -1
  444. package/dist/post-components/p-c386219b.js +0 -1
  445. package/dist/post-components/p-d2f9de94.js +0 -2
  446. package/dist/post-components/p-deb4131c.js +0 -1
  447. package/dist/post-components/p-e7c67ff0.entry.js +0 -1
  448. package/dist/post-components/p-f10e2bb1.entry.js +0 -1
  449. package/dist/types/components/post-alert/alert-types.d.ts +0 -2
  450. package/dist/types/components/post-alert/post-alert.d.ts +0 -54
  451. package/loaders/post-alert.js +0 -139
@@ -0,0 +1,280 @@
1
+ import { h, Host, } from "@stencil/core";
2
+ import { version } from "../../../../package";
3
+ import { getFocusableChildren } from "../../utils/get-focusable-children";
4
+ import { getRoot } from "../../utils/index";
5
+ export class PostMenu {
6
+ constructor() {
7
+ this.lastFocusedElement = null;
8
+ this.KEYCODES = {
9
+ SPACE: ' ',
10
+ ENTER: 'Enter',
11
+ UP: 'ArrowUp',
12
+ DOWN: 'ArrowDown',
13
+ TAB: 'Tab',
14
+ HOME: 'Home',
15
+ END: 'End',
16
+ ESCAPE: 'Escape',
17
+ };
18
+ this.handleKeyDown = (e) => {
19
+ e.stopPropagation();
20
+ if (e.key === this.KEYCODES.ESCAPE) {
21
+ this.toggle(this.host);
22
+ return;
23
+ }
24
+ if (Object.values(this.KEYCODES).includes(e.key)) {
25
+ this.controlKeyDownHandler(e);
26
+ }
27
+ };
28
+ this.handleClick = (e) => {
29
+ const target = e.target;
30
+ if (['BUTTON', 'A', 'INPUT', 'SELECT', 'TEXTAREA'].includes(target.tagName)) {
31
+ this.toggle(this.host);
32
+ }
33
+ };
34
+ this.placement = 'bottom';
35
+ this.isVisible = false;
36
+ }
37
+ connectedCallback() {
38
+ this.root = getRoot(this.host);
39
+ this.host.addEventListener('keydown', this.handleKeyDown);
40
+ this.host.addEventListener('click', this.handleClick);
41
+ }
42
+ disconnectedCallback() {
43
+ this.host.removeEventListener('keydown', this.handleKeyDown);
44
+ this.host.removeEventListener('click', this.handleClick);
45
+ }
46
+ componentDidLoad() {
47
+ this.popoverRef.addEventListener('postToggle', (event) => {
48
+ this.isVisible = event.detail;
49
+ this.toggleMenu.emit(this.isVisible);
50
+ });
51
+ }
52
+ /**
53
+ * Toggles the menu visibility based on its current state.
54
+ */
55
+ async toggle(target) {
56
+ this.isVisible ? await this.hide() : await this.show(target);
57
+ }
58
+ /**
59
+ * Displays the popover menu, focusing the first menu item.
60
+ *
61
+ * @param target - The HTML element relative to which the popover menu should be displayed.
62
+ */
63
+ async show(target) {
64
+ if (this.popoverRef) {
65
+ await this.popoverRef.show(target);
66
+ this.lastFocusedElement = this.root.activeElement; // Use root's activeElement
67
+ const menuItems = this.getSlottedItems();
68
+ if (menuItems.length > 0) {
69
+ menuItems[0].focus();
70
+ }
71
+ }
72
+ else {
73
+ console.error('show: popoverRef is null or undefined');
74
+ }
75
+ }
76
+ /**
77
+ * Hides the popover menu and restores focus to the previously focused element.
78
+ */
79
+ async hide() {
80
+ if (this.popoverRef) {
81
+ await this.popoverRef.hide();
82
+ if (this.lastFocusedElement) {
83
+ this.lastFocusedElement.focus();
84
+ }
85
+ }
86
+ else {
87
+ console.error('hide: popoverRef is null or undefined');
88
+ }
89
+ }
90
+ controlKeyDownHandler(e) {
91
+ const menuItems = this.getSlottedItems();
92
+ if (!menuItems.length) {
93
+ return;
94
+ }
95
+ let currentIndex = menuItems.findIndex(el => {
96
+ // Check if the item is currently focused within its rendered scope (document or shadow root)
97
+ return el === getRoot(el).activeElement;
98
+ });
99
+ switch (e.key) {
100
+ case this.KEYCODES.UP:
101
+ e.preventDefault();
102
+ currentIndex = (currentIndex - 1 + menuItems.length) % menuItems.length;
103
+ break;
104
+ case this.KEYCODES.DOWN:
105
+ e.preventDefault();
106
+ currentIndex = (currentIndex + 1) % menuItems.length;
107
+ break;
108
+ case this.KEYCODES.HOME:
109
+ currentIndex = 0;
110
+ break;
111
+ case this.KEYCODES.END:
112
+ currentIndex = menuItems.length - 1;
113
+ break;
114
+ case this.KEYCODES.SPACE:
115
+ case this.KEYCODES.ENTER:
116
+ this.toggle(this.host);
117
+ return;
118
+ case this.KEYCODES.TAB:
119
+ this.toggle(this.host);
120
+ break;
121
+ default:
122
+ break;
123
+ }
124
+ if (menuItems[currentIndex]) {
125
+ menuItems[currentIndex].focus();
126
+ }
127
+ }
128
+ getSlottedItems() {
129
+ const slot = this.host.shadowRoot.querySelector('slot');
130
+ const slottedElements = slot ? slot.assignedElements() : [];
131
+ return (slottedElements
132
+ // If the element is a slot, get the assigned elements
133
+ .flatMap(el => (el instanceof HTMLSlotElement ? el.assignedElements() : el))
134
+ // Filter out elements that have a 'menuitem' role
135
+ .filter(el => el.getAttribute('role') === 'menuitem')
136
+ // For each menu item, get any focusable children (e.g., buttons, links)
137
+ .flatMap(el => Array.from(getFocusableChildren(el))));
138
+ }
139
+ render() {
140
+ return (h(Host, { key: '68c4661d3ab9256dadbbe3243247456c090b728e', "data-version": version }, h("post-popovercontainer", { key: 'b6cb0624239e0ed5aeadac63ffb1b1f7fb0e873e', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '608f677ae715eb09ed46fde9912241dc35673e06', class: "popover-container", part: "popover-container" }, h("slot", { key: '83f84b7b29b4d7c9d4e0924026ca7469c1f0cfb0' })))));
141
+ }
142
+ static get is() { return "post-menu"; }
143
+ static get encapsulation() { return "shadow"; }
144
+ static get originalStyleUrls() {
145
+ return {
146
+ "$": ["post-menu.scss"]
147
+ };
148
+ }
149
+ static get styleUrls() {
150
+ return {
151
+ "$": ["post-menu.css"]
152
+ };
153
+ }
154
+ static get properties() {
155
+ return {
156
+ "placement": {
157
+ "type": "string",
158
+ "mutable": false,
159
+ "complexType": {
160
+ "original": "Placement",
161
+ "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
162
+ "references": {
163
+ "Placement": {
164
+ "location": "import",
165
+ "path": "@floating-ui/dom",
166
+ "id": "../../node_modules/.pnpm/@floating-ui+dom@1.6.8/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Placement"
167
+ }
168
+ }
169
+ },
170
+ "required": false,
171
+ "optional": true,
172
+ "docs": {
173
+ "tags": [],
174
+ "text": "Defines the placement of the tooltip according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.\nTooltips are automatically flipped to the opposite side if there is not enough available space and are shifted\ntowards the viewport if they would overlap edge boundaries."
175
+ },
176
+ "attribute": "placement",
177
+ "reflect": false,
178
+ "defaultValue": "'bottom'"
179
+ }
180
+ };
181
+ }
182
+ static get states() {
183
+ return {
184
+ "isVisible": {}
185
+ };
186
+ }
187
+ static get events() {
188
+ return [{
189
+ "method": "toggleMenu",
190
+ "name": "toggleMenu",
191
+ "bubbles": true,
192
+ "cancelable": true,
193
+ "composed": true,
194
+ "docs": {
195
+ "tags": [],
196
+ "text": "Emits when the menu is shown or hidden.\nThe event payload is a boolean: `true` when the menu was opened, `false` when it was closed."
197
+ },
198
+ "complexType": {
199
+ "original": "boolean",
200
+ "resolved": "boolean",
201
+ "references": {}
202
+ }
203
+ }];
204
+ }
205
+ static get methods() {
206
+ return {
207
+ "toggle": {
208
+ "complexType": {
209
+ "signature": "(target: HTMLElement) => Promise<void>",
210
+ "parameters": [{
211
+ "name": "target",
212
+ "type": "HTMLElement",
213
+ "docs": ""
214
+ }],
215
+ "references": {
216
+ "Promise": {
217
+ "location": "global",
218
+ "id": "global::Promise"
219
+ },
220
+ "HTMLElement": {
221
+ "location": "global",
222
+ "id": "global::HTMLElement"
223
+ }
224
+ },
225
+ "return": "Promise<void>"
226
+ },
227
+ "docs": {
228
+ "text": "Toggles the menu visibility based on its current state.",
229
+ "tags": []
230
+ }
231
+ },
232
+ "show": {
233
+ "complexType": {
234
+ "signature": "(target: HTMLElement) => Promise<void>",
235
+ "parameters": [{
236
+ "name": "target",
237
+ "type": "HTMLElement",
238
+ "docs": "- The HTML element relative to which the popover menu should be displayed."
239
+ }],
240
+ "references": {
241
+ "Promise": {
242
+ "location": "global",
243
+ "id": "global::Promise"
244
+ },
245
+ "HTMLElement": {
246
+ "location": "global",
247
+ "id": "global::HTMLElement"
248
+ }
249
+ },
250
+ "return": "Promise<void>"
251
+ },
252
+ "docs": {
253
+ "text": "Displays the popover menu, focusing the first menu item.",
254
+ "tags": [{
255
+ "name": "param",
256
+ "text": "target - The HTML element relative to which the popover menu should be displayed."
257
+ }]
258
+ }
259
+ },
260
+ "hide": {
261
+ "complexType": {
262
+ "signature": "() => Promise<void>",
263
+ "parameters": [],
264
+ "references": {
265
+ "Promise": {
266
+ "location": "global",
267
+ "id": "global::Promise"
268
+ }
269
+ },
270
+ "return": "Promise<void>"
271
+ },
272
+ "docs": {
273
+ "text": "Hides the popover menu and restores focus to the previously focused element.",
274
+ "tags": []
275
+ }
276
+ }
277
+ };
278
+ }
279
+ static get elementRef() { return "host"; }
280
+ }
@@ -0,0 +1,8 @@
1
+ import { h, Host } from "@stencil/core";
2
+ import { version } from "../../../../package";
3
+ export class PostMenuItem {
4
+ render() {
5
+ return (h(Host, { key: '1cd717c2bbc991b33acba0bbfa5d5a2412f6dcc7', role: "menuitem", "data-version": version }, h("slot", { key: 'fe09373b79d299f21ebfdf596bab4d4bc30a9060' })));
6
+ }
7
+ static get is() { return "post-menu-item"; }
8
+ }
@@ -0,0 +1 @@
1
+ :host{display:inline-block}
@@ -0,0 +1,114 @@
1
+ import { h, Host } from "@stencil/core";
2
+ import { version } from "../../../../package";
3
+ import { checkType, getRoot } from "../../utils/index";
4
+ export class PostMenuTrigger {
5
+ constructor() {
6
+ /**
7
+ * Reference to the slotted button within the trigger, if present.
8
+ * Used to manage click and key events for menu control.
9
+ */
10
+ this.slottedButton = null;
11
+ this.handleKeyDown = (e) => {
12
+ if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
13
+ e.preventDefault();
14
+ this.handleToggle();
15
+ }
16
+ };
17
+ this.for = undefined;
18
+ this.ariaExpanded = false;
19
+ }
20
+ /**
21
+ * Watch for changes to the `for` property to validate its type and ensure it is a string.
22
+ * @param forValue - The new value of the `for` property.
23
+ */
24
+ validateControlFor(forValue = this.for) {
25
+ checkType(forValue, 'string', 'The "for" property is required and should be a string.');
26
+ }
27
+ get menu() {
28
+ const ref = this.root.getElementById(this.for);
29
+ return ref && ref.localName === 'post-menu' ? ref : null;
30
+ }
31
+ handleToggle() {
32
+ const menu = this.menu;
33
+ if (menu && this.slottedButton) {
34
+ this.ariaExpanded = !this.ariaExpanded;
35
+ this.slottedButton.setAttribute('aria-expanded', this.ariaExpanded.toString());
36
+ menu.toggle(this.host);
37
+ }
38
+ else {
39
+ console.warn(`No post-menu found with ID: ${this.for}`);
40
+ }
41
+ }
42
+ componentDidLoad() {
43
+ this.root = getRoot(this.host);
44
+ this.validateControlFor();
45
+ this.slottedButton = this.host.querySelector('button');
46
+ // Check if the slottedButton is within a web component
47
+ if (!this.slottedButton) {
48
+ const webComponent = this.host.querySelector('.menu-trigger-webc');
49
+ if (webComponent.shadowRoot) {
50
+ const slottedButton = webComponent.shadowRoot.querySelector('button');
51
+ if (slottedButton) {
52
+ this.slottedButton = slottedButton;
53
+ }
54
+ }
55
+ }
56
+ if (this.slottedButton) {
57
+ this.slottedButton.setAttribute('aria-haspopup', 'menu');
58
+ this.slottedButton.addEventListener('click', () => {
59
+ this.handleToggle();
60
+ });
61
+ this.slottedButton.addEventListener('keydown', this.handleKeyDown);
62
+ }
63
+ else {
64
+ console.warn('No button found within post-menu-trigger');
65
+ }
66
+ }
67
+ render() {
68
+ return (h(Host, { key: '5bdaebd0c1f46fda5804c0e8d39ab3e714b523c5', "data-version": version, "tab-index": "-1" }, h("slot", { key: 'ffee26535991d712f44cb1859a5976ec89ad772a' })));
69
+ }
70
+ static get is() { return "post-menu-trigger"; }
71
+ static get originalStyleUrls() {
72
+ return {
73
+ "$": ["post-menu-trigger.scss"]
74
+ };
75
+ }
76
+ static get styleUrls() {
77
+ return {
78
+ "$": ["post-menu-trigger.css"]
79
+ };
80
+ }
81
+ static get properties() {
82
+ return {
83
+ "for": {
84
+ "type": "string",
85
+ "mutable": false,
86
+ "complexType": {
87
+ "original": "string",
88
+ "resolved": "string",
89
+ "references": {}
90
+ },
91
+ "required": true,
92
+ "optional": false,
93
+ "docs": {
94
+ "tags": [],
95
+ "text": "ID of the menu element that this trigger is linked to. Used to open and close the specified menu."
96
+ },
97
+ "attribute": "for",
98
+ "reflect": false
99
+ }
100
+ };
101
+ }
102
+ static get states() {
103
+ return {
104
+ "ariaExpanded": {}
105
+ };
106
+ }
107
+ static get elementRef() { return "host"; }
108
+ static get watchers() {
109
+ return [{
110
+ "propName": "for",
111
+ "methodName": "validateControlFor"
112
+ }];
113
+ }
114
+ }
@@ -1,3 +1,3 @@
1
1
  /*!
2
2
  * Copyright 2021 by Swiss Post, Information Technology
3
- */.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:4px;color:var(--post-gray-80);transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}.btn-close{outline-style:none !important;outline-offset:2px !important;outline-width:2px !important;outline-color:var(--post-focus-color) !important}.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-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: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,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.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}*{box-sizing:border-box}:host{--post-contrast-color: #fff;--post-bg-rgb: 51, 51, 51;display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{display:flex;align-items:self-start;padding:.5em;min-width:160px;max-width:280px}@media(max-width: 599.98px){.popover-container{max-width:100%}}.popover-content{padding:.5em;flex-grow:1}.btn-close{color:inherit}
3
+ */.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:#000;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:var(--post-core-dimension-24);width:var(--post-core-dimension-24)}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:#000}.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}*{box-sizing:border-box}:host{display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{display:flex;align-items:self-start;padding:.5em;min-width:160px;max-width:280px;max-width:100%}.popover-content{padding:.5em;flex-grow:1}.btn-close{color:inherit}
@@ -88,7 +88,7 @@ export class PostPopover {
88
88
  this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
89
89
  }
90
90
  render() {
91
- return (h(Host, { key: '6fe379d071ec88a76f99cc10f0fdce0b2f079fbd', "data-version": version }, h("post-popovercontainer", { key: '3a5e2896e87e3f2d32c0ad9b1d80327cc585f289', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '46834ef6a3893fe8823776d8feb20a2fb328e3bc', class: "popover-container" }, h("div", { key: '9d61b678c2613e84efc0df805cbb67fbe3d06991', class: "popover-content" }, h("slot", { key: '1cfef5daaea3f6370869a3ae648ff36e2dddd82a' })), h("button", { key: 'c7a2e12ece46ee63d8004d99427c8c6febc2dc17', class: "btn-close", onClick: () => this.hide() }, h("span", { key: '1aee8ffe06b5c4c9bade0185a8832328410fbe4a', class: "visually-hidden" }, this.closeButtonCaption))))));
91
+ return (h(Host, { key: 'c2f53a7ac9d6bbcca8c220d9b8a5ed0dda360cf9', "data-version": version }, h("post-popovercontainer", { key: 'fa5a32cfd4263fcabed5405f2b6bb2ab0ca93c9a', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '4799da001d006a47d93be1393618744a0b393841', class: "popover-container" }, h("div", { key: '7a28ea59e07591c8b835dd10157bc5e9b85793c6', class: "popover-content" }, h("slot", { key: '1ba6533577817d1fc2b7762654b5639596b16422' })), h("button", { key: 'f1446964325e49b79bc0fe26a05bb4f12a140c61', class: "btn-close", onClick: () => this.hide() }, h("span", { key: 'dd056bb988df548e8cae61ba226c1d9e124bc32b', class: "visually-hidden" }, this.closeButtonCaption))))));
92
92
  }
93
93
  static get is() { return "post-popover"; }
94
94
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- @layer polyfill{@supports not selector(:popover-open){[popover]:not(.\:popover-open){display:none}}}:where(post-popovercontainer){box-shadow:.5px 3px 4px rgba(0,0,0,.1),2px 4px 10px 4px rgba(0,0,0,.12);position:fixed;z-index:1060;width:max-content;margin:0;padding:0;box-sizing:border-box;color:var(--post-contrast-color);background-color:rgb(var(--post-bg-rgb));border:2px solid rgba(0,0,0,0);border-radius:4px;overflow:visible}:where(post-popovercontainer) .arrow{position:absolute;width:.5825rem;height:.5825rem;background-color:inherit;rotate:45deg;pointer-events:none;z-index:-1}:where(post-popovercontainer) .arrow.top{border-left:2px solid rgba(0,0,0,0);border-top:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.right{border-right:2px solid rgba(0,0,0,0);border-top:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.left{border-left:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.bottom{border-right:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0)}
1
+ @layer polyfill{@supports not selector(:popover-open){[popover]:not(.\:popover-open){display:none}}}:where(post-popovercontainer){box-shadow:.5px 3px 4px rgba(0,0,0,.1),2px 4px 10px 4px rgba(0,0,0,.12);background:var(--post-current-palette-bg);color:var(--post-current-palette-fg);position:fixed;z-index:1060;width:max-content;margin:0;padding:0;box-sizing:border-box;border:2px solid rgba(0,0,0,0);border-radius:4px;overflow:visible}:where(post-popovercontainer)[tooltip]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}:where(post-popovercontainer) .arrow{position:absolute;width:.5825rem;height:.5825rem;background-color:inherit;rotate:45deg;pointer-events:none;z-index:-1}:where(post-popovercontainer) .arrow.top{border-left:2px solid rgba(0,0,0,0);border-top:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.right{border-right:2px solid rgba(0,0,0,0);border-top:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.left{border-left:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.bottom{border-right:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0)}
@@ -15,6 +15,7 @@ const SIDE_MAP = {
15
15
  export class PostPopovercontainer {
16
16
  constructor() {
17
17
  this.placement = 'top';
18
+ this.edgeGap = 8;
18
19
  this.arrow = false;
19
20
  }
20
21
  componentDidLoad() {
@@ -86,11 +87,12 @@ export class PostPopovercontainer {
86
87
  this.clearAutoUpdate = autoUpdate(this.eventTarget, this.host, this.calculatePosition.bind(this));
87
88
  }
88
89
  async calculatePosition() {
90
+ const gap = this.edgeGap;
89
91
  const middleware = [
90
92
  flip(),
91
93
  inline(),
92
94
  shift({
93
- padding: 8,
95
+ padding: gap,
94
96
  // Prevents shifting away from the anchor too far, while shifting as far as possible
95
97
  // https://floating-ui.com/docs/shift#limiter
96
98
  limiter: limitShift({
@@ -100,14 +102,14 @@ export class PostPopovercontainer {
100
102
  size({
101
103
  apply({ availableWidth, elements }) {
102
104
  Object.assign(elements.floating.style, {
103
- maxWidth: `${availableWidth - 16}px`,
105
+ maxWidth: `${availableWidth - gap * 2}px`,
104
106
  });
105
107
  },
106
108
  }),
107
- offset(this.arrow ? 12 : 8), // 4px outside of element to account for focus outline + ~arrow size
109
+ offset(this.arrow ? gap + 4 : gap), // 4px outside of element to account for focus outline + ~arrow size
108
110
  ];
109
111
  if (this.arrow) {
110
- middleware.push(arrow({ element: this.arrowRef, padding: 8 }));
112
+ middleware.push(arrow({ element: this.arrowRef, padding: gap }));
111
113
  }
112
114
  const { x, y, middlewareData, placement: currentPlacement, } = await computePosition(this.eventTarget, this.host, {
113
115
  placement: this.placement || 'top',
@@ -135,9 +137,9 @@ export class PostPopovercontainer {
135
137
  }
136
138
  }
137
139
  render() {
138
- return (h(Host, { key: 'daf21d119057a14c2c2f68b8068901ab698beae3', "data-version": version }, this.arrow && (h("span", { key: '4f5cfb1422217f9ef71732cdfc0c97b6b29e4809', class: "arrow", ref: el => {
140
+ return (h(Host, { key: '844302edb3852f99229d4f4ccacf82cd78588435', "data-version": version }, this.arrow && (h("span", { key: 'ae293d24ef24282bfcaeb7f545653a563e5246d5', class: "arrow", ref: el => {
139
141
  this.arrowRef = el;
140
- } })), h("slot", { key: 'f6e4beefb8e365dbf20a0a5019cceaac4ecb73a4' })));
142
+ } })), h("slot", { key: '61dd3072a5217099028e3dd4b22fa845ea2f5970' })));
141
143
  }
142
144
  static get is() { return "post-popovercontainer"; }
143
145
  static get originalStyleUrls() {
@@ -176,6 +178,24 @@ export class PostPopovercontainer {
176
178
  "reflect": false,
177
179
  "defaultValue": "'top'"
178
180
  },
181
+ "edgeGap": {
182
+ "type": "number",
183
+ "mutable": false,
184
+ "complexType": {
185
+ "original": "number",
186
+ "resolved": "number",
187
+ "references": {}
188
+ },
189
+ "required": false,
190
+ "optional": true,
191
+ "docs": {
192
+ "tags": [],
193
+ "text": "Gap between the edge of the page and the popover"
194
+ },
195
+ "attribute": "edge-gap",
196
+ "reflect": false,
197
+ "defaultValue": "8"
198
+ },
179
199
  "arrow": {
180
200
  "type": "boolean",
181
201
  "mutable": false,
@@ -1,3 +1,3 @@
1
1
  /*!
2
2
  * Copyright 2021 by Swiss Post, Information Technology
3
- */:host{display:inline-block}.rating{display:flex;flex-wrap:wrap;overflow:hidden;margin:0 -0.25rem;border-radius:4px}.rating .star{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fff;position:relative;width:2rem;height:2rem;cursor:pointer}.rating .star .stroke,.rating .star .fill{display:block;width:100%;height:100%;transition:all ease 100ms}.rating .star .stroke{position:absolute;inset:auto;z-index:1;color:var(--post-rating-star-stroke)}.rating .star .fill{margin:1px;width:calc(100% - 2px);height:calc(100% - 2px);color:var(--post-rating-star-fill)}.rating .star.before-hover{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fc0}.rating .star.active{--post-rating-star-stroke: hsl(0, 0%, 20%);--post-rating-star-fill: #fc0}.rating .star.hover{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fc0}.rating .star.after-active{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: hsl(0, 0%, 80%)}.rating :focus{outline:none}.rating:focus-visible{outline-offset:2px;outline:2px solid #1976c8}.rating[aria-readonly=true] .star,.rating[aria-disabled=true] .star{cursor:default}.rating[aria-disabled=true] .star{--post-rating-star-stroke: hsl(0, 0%, 60%);--post-rating-star-fill: #fff}.rating[aria-disabled=true] .star.active{cursor:default;--post-rating-star-stroke: hsl(0, 0%, 60%);--post-rating-star-fill: hsl(0, 0%, 90%)}
3
+ */:host{display:inline-block}.rating{display:flex;flex-wrap:wrap;overflow:hidden;margin:0 calc(var(--post-core-dimension-4)*-1);border-radius:4px}.rating .star{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fff;position:relative;width:2rem;height:2rem;cursor:pointer}.rating .star .stroke,.rating .star .fill{display:block;width:100%;height:100%;transition:all ease 100ms}.rating .star .stroke{position:absolute;inset:auto;z-index:1;color:var(--post-rating-star-stroke)}.rating .star .fill{margin:1px;width:calc(100% - 2px);height:calc(100% - 2px);color:var(--post-rating-star-fill)}.rating .star.before-hover{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fc0}.rating .star.active{--post-rating-star-stroke: hsl(0, 0%, 20%);--post-rating-star-fill: #fc0}.rating .star.hover{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: #fc0}.rating .star.after-active{--post-rating-star-stroke: hsl(0, 0%, 40%);--post-rating-star-fill: hsl(0, 0%, 80%)}.rating :focus{outline:none}.rating:focus-visible{outline-offset:var(--post-core-dimension-2);outline:var(--post-core-dimension-2) solid #1976c8}.rating[aria-readonly=true] .star,.rating[aria-disabled=true] .star{cursor:default}.rating[aria-disabled=true] .star{--post-rating-star-stroke: hsl(0, 0%, 60%);--post-rating-star-fill: #fff}.rating[aria-disabled=true] .star.active{cursor:default;--post-rating-star-stroke: hsl(0, 0%, 60%);--post-rating-star-fill: hsl(0, 0%, 90%)}
@@ -64,7 +64,7 @@ export class PostRating {
64
64
  }
65
65
  }
66
66
  render() {
67
- return (h(Host, { key: '0a4972eeedcda4d4f772db0407ba2a6279f5d797', "data-version": version }, h("div", { key: 'a9ab9daaa3f9e1e421f28267057b99a1a2e235ee', 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: {
67
+ return (h(Host, { key: 'bb4ab7c2ae609e8e288c62516be93f0b96926eff', "data-version": version }, h("div", { key: '0176474611f998938aef0b267c118478d6623fbc', 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: {
68
68
  'star': true,
69
69
  'before-hover': i < this.hoveredIndex,
70
70
  'active': i < Math.round(this.currentRating),
@@ -1,3 +1,3 @@
1
- .tab-title[role=tab]{display:inline-block;cursor:pointer;position:relative;box-sizing:border-box;padding:1rem;transition:background-color 100ms;border-right:1px solid rgba(0,0,0,0);border-left:1px solid rgba(0,0,0,0);outline-color:currentColor;opacity:.7;color:var(--post-contrast-color);text-decoration:none;background-color:rgba(0,0,0,0)}.tab-title[role=tab]:focus{background-color:unset;color:var(--post-contrast-color)}.tab-title[role=tab]:hover{opacity:1;background-color:rgba(var(--post-contrast-color-rgb), 0.6);color:var(--post-contrast-color-inverted)}.tab-title[role=tab]:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:rgba(var(--post-contrast-color-rgb), 0.6);color:var(--post-contrast-color-inverted);box-shadow:none}.tab-title[role=tab]:focus-visible::after{content:"";display:block;position:absolute;top:2px;right:1px;bottom:0;left:1px;box-shadow:0 0 0 1px #fff,0 0 0 2px #333}.tab-title[role=tab].active{z-index:1;border-right-color:#ccc;border-left-color:#ccc;opacity:1;background-color:var(--post-contrast-color-inverted);color:var(--post-contrast-color);font-weight:700}.tab-title[role=tab].active::before{content:"";display:block;position:absolute;top:0;right:-1px;left:-1px;height:.25rem;background-color:#fc0}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.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]) .tab-title[role=tab]:hover{background-color:rgba(255,255,255,.2)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.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]) .tab-title[role=tab]:focus-visible{background-color:rgba(255,255,255,.2)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title[role=tab]{opacity:1;border-left-color:Canvas;border-right-color:Canvas;color:LinkText}.tab-title[role=tab]:hover,.tab-title[role=tab]:focus,.tab-title[role=tab]:focus-within,.tab-title[role=tab]:focus-visible{outline:2px solid Highlight;outline-offset:-0.25rem}.tab-title[role=tab].active{border-left-color:ButtonText;border-right-color:ButtonText;color:Highlight}.tab-title[role=tab].active::before{background-color:Highlight}}.bg-yellow .tab-title{background-color:#fc0}.bg-yellow .tab-title.active{background-color:#fc0}.bg-yellow .nav-item{background-color:#fc0}.bg-white .tab-title{background-color:#fff}.bg-white .tab-title.active{background-color:#fff}.bg-white .nav-item{background-color:#fff}.bg-light .tab-title{background-color:#faf9f8}.bg-light .tab-title.active{background-color:#faf9f8}.bg-light .nav-item{background-color:#faf9f8}.bg-gray .tab-title{background-color:#f4f3f1}.bg-gray .tab-title.active{background-color:#f4f3f1}.bg-gray .nav-item{background-color:#f4f3f1}.bg-dark .tab-title{background-color:#333}.bg-dark .tab-title.active{background-color:#333}.bg-dark .nav-item{background-color:#333}.bg-black .tab-title{background-color:#000}.bg-black .tab-title.active{background-color:#000}.bg-black .nav-item{background-color:#000}.bg-primary .tab-title{background-color:#333}.bg-primary .tab-title.active{background-color:#333}.bg-primary .nav-item{background-color:#333}.bg-secondary .tab-title{background-color:#666}.bg-secondary .tab-title.active{background-color:#666}.bg-secondary .nav-item{background-color:#666}.bg-success .tab-title{background-color:#2c871d}.bg-success .tab-title.active{background-color:#2c871d}.bg-success .nav-item{background-color:#2c871d}.bg-warning .tab-title{background-color:#f49e00}.bg-warning .tab-title.active{background-color:#f49e00}.bg-warning .nav-item{background-color:#f49e00}.bg-error .tab-title{background-color:#a51728}.bg-error .tab-title.active{background-color:#a51728}.bg-error .nav-item{background-color:#a51728}.bg-info .tab-title{background-color:#cce4ee}.bg-info .tab-title.active{background-color:#cce4ee}.bg-info .nav-item{background-color:#cce4ee}.bg-success-background .tab-title{background-color:#c0debb}.bg-success-background .tab-title.active{background-color:#c0debb}.bg-success-background .nav-item{background-color:#c0debb}.bg-warning-background .tab-title{background-color:#fce2b2}.bg-warning-background .tab-title.active{background-color:#fce2b2}.bg-warning-background .nav-item{background-color:#fce2b2}.bg-error-background .tab-title{background-color:#ffdade}.bg-error-background .tab-title.active{background-color:#ffdade}.bg-error-background .nav-item{background-color:#ffdade}.bg-nightblue .tab-title{background-color:#004976}.bg-nightblue .tab-title.active{background-color:#004976}.bg-nightblue .nav-item{background-color:#004976}.bg-nightblue-bright .tab-title{background-color:#0076a8}.bg-nightblue-bright .tab-title.active{background-color:#0076a8}.bg-nightblue-bright .nav-item{background-color:#0076a8}.bg-petrol .tab-title{background-color:#006d68}.bg-petrol .tab-title.active{background-color:#006d68}.bg-petrol .nav-item{background-color:#006d68}.bg-petrol-bright .tab-title{background-color:#00968f}.bg-petrol-bright .tab-title.active{background-color:#00968f}.bg-petrol-bright .nav-item{background-color:#00968f}.bg-coral .tab-title{background-color:#9e2a2f}.bg-coral .tab-title.active{background-color:#9e2a2f}.bg-coral .nav-item{background-color:#9e2a2f}.bg-coral-bright .tab-title{background-color:#e03c31}.bg-coral-bright .tab-title.active{background-color:#e03c31}.bg-coral-bright .nav-item{background-color:#e03c31}.bg-olive .tab-title{background-color:#716135}.bg-olive .tab-title.active{background-color:#716135}.bg-olive .nav-item{background-color:#716135}.bg-olive-bright .tab-title{background-color:#aa9d2e}.bg-olive-bright .tab-title.active{background-color:#aa9d2e}.bg-olive-bright .nav-item{background-color:#aa9d2e}.bg-purple .tab-title{background-color:#80276c}.bg-purple .tab-title.active{background-color:#80276c}.bg-purple .nav-item{background-color:#80276c}.bg-purple-bright .tab-title{background-color:#c5299b}.bg-purple-bright .tab-title.active{background-color:#c5299b}.bg-purple-bright .nav-item{background-color:#c5299b}.bg-aubergine .tab-title{background-color:#523178}.bg-aubergine .tab-title.active{background-color:#523178}.bg-aubergine .nav-item{background-color:#523178}.bg-aubergine-bright .tab-title{background-color:#7566a0}.bg-aubergine-bright .tab-title.active{background-color:#7566a0}.bg-aubergine-bright .nav-item{background-color:#7566a0}[class*=bg-] .tab-title.active:focus::after{background-color:rgba(255,255,255,.2)}@supports selector(*:focus-visible){[class*=bg-] .tab-title.active:focus::after{background-color:unset}[class*=bg-] .tab-title.active:focus-visible::after{background-color:rgba(255,255,255,.2)}}/*!
1
+ .tab-title[role=tab]{display:inline-block;cursor:pointer;position:relative;box-sizing:border-box;padding:1rem;transition:background-color 100ms;border-right:1px solid rgba(0,0,0,0);border-left:1px solid rgba(0,0,0,0);outline-color:currentColor;opacity:.7;color:var(--post-contrast-color);text-decoration:none;background-color:rgba(0,0,0,0)}.tab-title[role=tab]:focus{background-color:unset;color:var(--post-contrast-color)}.tab-title[role=tab]:hover{opacity:1;background-color:rgba(var(--post-contrast-color-rgb), 0.6);color:var(--post-contrast-color-inverted)}.tab-title[role=tab]:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:rgba(var(--post-contrast-color-rgb), 0.6);color:var(--post-contrast-color-inverted);box-shadow:none}.tab-title[role=tab]:focus-visible::after{content:"";display:block;position:absolute;top:2px;right:1px;bottom:0;left:1px;box-shadow:0 0 0 1px #fff,0 0 0 2px #333}.tab-title[role=tab].active{z-index:1;border-right-color:#ccc;border-left-color:#ccc;opacity:1;background-color:var(--post-contrast-color-inverted);color:var(--post-contrast-color);font-weight:700}.tab-title[role=tab].active::before{content:"";display:block;position:absolute;top:0;right:-1px;left:-1px;height:var(--post-core-dimension-4);background-color:#fc0}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:hover{background-color:rgba(255,255,255,.2)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:focus-visible{background-color:rgba(255,255,255,.2)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title[role=tab]{opacity:1;border-left-color:Canvas;border-right-color:Canvas;color:LinkText}.tab-title[role=tab]:hover,.tab-title[role=tab]:focus,.tab-title[role=tab]:focus-within,.tab-title[role=tab]:focus-visible{outline:var(--post-core-dimension-2) solid Highlight;outline-offset:calc(var(--post-core-dimension-4)*-1)}.tab-title[role=tab].active{border-left-color:ButtonText;border-right-color:ButtonText;color:Highlight}.tab-title[role=tab].active::before{background-color:Highlight}}/*!
2
2
  * Copyright 2021 by Swiss Post, Information Technology
3
3
  */:host{display:block}.tab-title{padding:0;overflow:visible;border:0;background:none;color:inherit;font:inherit;-webkit-user-select:none;user-select:none;appearance:button}
@@ -1,6 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { version } from "../../../../package";
3
3
  import { checkNonEmpty } from "../../utils/index";
4
+ import { nanoid } from "nanoid";
4
5
  /**
5
6
  * @slot default - Slot for the content of the tab header.
6
7
  */
@@ -13,10 +14,10 @@ export class PostTabHeader {
13
14
  checkNonEmpty(newValue, 'The "panel" prop is required for the post-tab-header.');
14
15
  }
15
16
  componentWillLoad() {
16
- this.tabId = `tab-${this.host.id || crypto.randomUUID()}`;
17
+ this.tabId = `tab-${this.host.id || nanoid(6)}`;
17
18
  }
18
19
  render() {
19
- return (h(Host, { key: '35077e5514ffd19a4fb27bc3a4c1d9d19072768b', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '67b09864a209c00c677e1c279240d9b4ca289faa' })));
20
+ return (h(Host, { key: '9b12878498f63da83113c081f81a749b4ee47ef4', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '3a2e7f3657110d707b49af911e9dd3a4ef323e36' })));
20
21
  }
21
22
  static get is() { return "post-tab-header"; }
22
23
  static get encapsulation() { return "shadow"; }
@@ -1,5 +1,6 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { version } from "../../../../package";
3
+ import { nanoid } from "nanoid";
3
4
  /**
4
5
  * @slot default - Slot for placing the content of the tab panel.
5
6
  */
@@ -10,10 +11,10 @@ export class PostTabPanel {
10
11
  }
11
12
  componentWillLoad() {
12
13
  // get the id set on the host element or use a random id by default
13
- this.panelId = `panel-${this.host.id || crypto.randomUUID()}`;
14
+ this.panelId = `panel-${this.host.id || nanoid(6)}`;
14
15
  }
15
16
  render() {
16
- return (h(Host, { key: '2d01a8e7f06e45b4750e63584a3c52232dee4dd5', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: 'b51e2f112791ac22df43ebb537208c65aebe3d03' })));
17
+ return (h(Host, { key: '9e8f9c5dc0c1c3d1b7e63cbb9e9cbb0cf116da9b', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: '3ece42346845324cfa0fb9af5721efab2b71e2f1' })));
17
18
  }
18
19
  static get is() { return "post-tab-panel"; }
19
20
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- .tabs-wrapper{position:relative;padding-top:1rem;border:0;background-color:rgba(var(--post-contrast-color-rgb), 0.02)}.tabs-wrapper::after{content:"";position:absolute;bottom:0;width:100%;height:1px;background-color:#ccc}.tabs-wrapper .tabs{background-color:rgba(0,0,0,0) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tabs-wrapper::after{background-color:ButtonBorder}}.tabs{margin:0;padding:0;list-style:none;display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;white-space:nowrap}.tabs::after{content:"";display:block;flex:1 0 auto;width:1rem}.tab-content{padding-top:1rem}.bg-yellow .tabs-wrapper{background-color:#fc0}.bg-white .tabs-wrapper{background-color:#fff}.bg-light .tabs-wrapper{background-color:#faf9f8}.bg-gray .tabs-wrapper{background-color:#f4f3f1}.bg-dark .tabs-wrapper{background-color:#333}.bg-black .tabs-wrapper{background-color:#000}.bg-primary .tabs-wrapper{background-color:#333}.bg-secondary .tabs-wrapper{background-color:#666}.bg-success .tabs-wrapper{background-color:#2c871d}.bg-warning .tabs-wrapper{background-color:#f49e00}.bg-error .tabs-wrapper{background-color:#a51728}.bg-info .tabs-wrapper{background-color:#cce4ee}.bg-success-background .tabs-wrapper{background-color:#c0debb}.bg-warning-background .tabs-wrapper{background-color:#fce2b2}.bg-error-background .tabs-wrapper{background-color:#ffdade}.bg-nightblue .tabs-wrapper{background-color:#004976}.bg-nightblue-bright .tabs-wrapper{background-color:#0076a8}.bg-petrol .tabs-wrapper{background-color:#006d68}.bg-petrol-bright .tabs-wrapper{background-color:#00968f}.bg-coral .tabs-wrapper{background-color:#9e2a2f}.bg-coral-bright .tabs-wrapper{background-color:#e03c31}.bg-olive .tabs-wrapper{background-color:#716135}.bg-olive-bright .tabs-wrapper{background-color:#aa9d2e}.bg-purple .tabs-wrapper{background-color:#80276c}.bg-purple-bright .tabs-wrapper{background-color:#c5299b}.bg-aubergine .tabs-wrapper{background-color:#523178}.bg-aubergine-bright .tabs-wrapper{background-color:#7566a0}:host{display:block}
1
+ .tabs-wrapper{position:relative;padding-top:1rem;border:0;background-color:rgba(var(--post-contrast-color-rgb), 0.02)}.tabs-wrapper::after{content:"";position:absolute;bottom:0;width:100%;height:1px;background-color:#ccc}.tabs-wrapper .tabs{background-color:rgba(0,0,0,0) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tabs-wrapper::after{background-color:ButtonBorder}}.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;white-space:nowrap;margin-block:0;padding-inline-start:0;list-style:none}.tabs::after{content:"";display:block;flex:1 0 auto;width:1rem}.tab-content{padding-top:1rem}:host{display:block}